Is there an Optimization tool like intlinprog that includes nonlinear constraints?

조회 수: 3 (최근 30일)
Doug Rank
Doug Rank 2018년 10월 4일
편집: Matt J 2018년 10월 5일
I have a program that uses the genetic algorithm in matlab to optimize the solution. Historically, I have used intlinprog before running the ga() to make sure a feasible solution exists (the solution is constrained to be binary and has linear constraints. So I would make a call like this:
solvable = intlinprog(ones(1, nVars),1:nVars,A,b,[],[],zeros(1, nVars),ones(1, nVars));
However, now I need to include nonlinear constraints. Is there a similar solver to intlinprog or a way to include nonlinear constraints to check for a feasible solution?
(To be clear - I am not asking whether or not I can include nonlinear constraints in the genetic algorithm; I am aware that I can.)

답변 (1개)

Matt J
Matt J 2018년 10월 4일
편집: Matt J 2018년 10월 4일
You could do a preliminary run of ga() with a constant, artificial fitness function like f(x)=0. That would be a way of scouting for a feasible solution without incurring the computational costs of your actual fitness function.
  댓글 수: 7
Doug Rank
Doug Rank 2018년 10월 5일
These are interesting and creative approaches. Unfortunately the nonlinear constraints are not smooth.
The ultimate goal is to save time for a user if the program is called with infeasible constraints instead of spending a few hours hunting for something that doesn't exist. Unfortunately, I cannot risk the check failing if a feasible solution does in fact exist.
Thank you for your interest and dedication to this challenge. I will keep these ideas in mind should I need something similar.
Matt J
Matt J 2018년 10월 5일
편집: Matt J 2018년 10월 5일
Unfortunately, I cannot risk the check failing if a feasible solution does in fact exist.
Well, unfortunately, I don't think you'll be able to avoid that risk. There is no general and guaranteed way of finding a point that satisfies an arbitrary set of nonlinear (in)equalities or verifying if one exists. If there were, nonlinear equation solvers like fsolve wouldn't need an initial guess as input and would never be in danger of getting stuck in local minima.
If you describe the particulars of your nonlinear constraints, maybe the forum could suggest custom solutions for that particular family.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Direct Search에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by