choosing an efficient solver e.g., active-set​,sqp,inter​ior-point and Setting of fmincon function

2 views (last 30 days)
I am solving a multi-objective optimization problem using `epsilon-constraint` method. I have some questions regarding to choosing an efficient solver e.g., active-set,sqp,interior-point. problem parameters are as follows:
  • The problem has 3 linear objective functions.
  • The decision vector (X) contains 400 variables.
  • only 77 elements of the decision vector are used in the objective function. Other elements of the decision vector along those 77 elements (totally 400) are used in the constraints of the problem.
  • The problem contains several linear and nonlinear constraints in equality and inequality type.Linear constraints are written in Matrix format and nonlinear constraints are written in separate constraint file.
Now for multi objective structure assume a for loop that finds the minimum of the main objective function (lest say first objective function) with set of constraints using fmincon. In each iteration, parts of constraints are renewed (based on other 2 objective functions). The pseudo code is as follows
for it=1:N
[Xtemp(:,h2), FLAG] = fmincon(@(X)myFS(X,Dat,g_Index, f_Index),X,A,B,[],[],VLB,...
VUB,@(X)myCon(X,Dat,eps_index ,consF_Index, h1 ,h2 ,e2, e3),options);
end
The above code is not the exact approach of solving a multi objective problem. But it is just saying that fmincon should solve a particular optimization at each iteration. So, sometimes it cannot solve the optimization and returns exit flag 0,-2 or 2 and this makes the overall optimization process so long.
using Active-set algorithm, I am getting very wrong answers. Using SQP algorithm, I am getting exit flag 0,1,2,-2. All answers are correct (with exit flag of 0,1,2). Answers regarding to exit flag -2 is natural as there might not be a feasible solution for some renewed constraints, so they are excluded. Interior-point algorithm returns only 0 flagged solutions that are all incorrect. But the results come very fast.
As Interior-point algorithm is designed for large scale programs, is there any way to set the options of fmincon or do something else that employ Interior-point algorithm within fmincon for my problem?
For some Pareto points I am getting exit flag -2 , which means there is not any feasible solution. As said earlier, it's expected from the nature of the problem. But it takes ages for fmincon to determine the Exit-Flag: -2 (sometimes 0 too).
Is there any option that I can set to leave this infeasible point faster and also get my other 0,1,2, flagged solutions like before?
I couldn't do this , because I can only set options for one time and all Pareto points should use the same option.

Answers (0)

Community Treasure Hunt

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

Start Hunting!