How to solve multiobjective optimization problem?
Show older comments
Dear all,
How can I solve the attched multiobjective optimization problem?
2 Comments
Walter Roberson
on 21 Jun 2020
possibly a change of variables so that the logs on the right hand side of the st equations became linear variables (might require introducing a new variable to link 1-v1 and v1 in linear ways)? If that can be done then all those log(constant) in the st equations become just numeric constants in an A*x<=b linear inequality setup and it could be handled as a single objective system.
You cannot use fmincon for this because min() is not differentiateable as required by most of the minimizers. ga() or patternsearch()
Rajkumar Verma
on 21 Jun 2020
Accepted Answer
More Answers (1)
Walter Roberson
on 21 Jun 2020
0 votes
Is there any way to solve without making linear combination?
You could use ga with nonlinear inequalities.
There is another approach. You can do two seaches, one with the objective log(1-v1), and the other with objective log(v2). For each of those searches, the objective is continuous, so you can use fmincon() for each of them. Then take results that correspond to the search with the lower objective.
If you do this then you could use fmincon() with nonlinear constraints.
I have a suspicion that either the st on log(1-v1) or the st on log(v2) turn out to be equalities rather than inequalities, but I have not tested for that.
1 Comment
Walter Roberson
on 22 Jun 2020
Separate fmincon works quite well, by the way. I did extensive search on the entire solution space and verified that the results from fmincon are within tolerance of the minimum possible.
Categories
Find more on Multiobjective Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!