Nonlinear multiobjective optimization - Gamultiobj - Options
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dear all,
I am doing a nonlinear multi-objective optimization using gamultiobj. I know during optimization Matlab always finds some points as possible points of the pareto front and tries to evaluate the objetives around those points.
I am writting the evaluated objectives into a text file.The attached image shows the results. I can see that the red points could be the possible candidates for pareto. Also, technically they match my expected results. But suddenly Matlab evaluates a point which is quite far from the points and are infeasible for objective functions and my optimization ends up with error.
My question is:
What parameter should I change in otimitazion options to let the algorithm understand the evaluated points could be possible points and does not look for a global infeasible point thereafter.
Best regards,
ahmad
0 commentaires
Réponses (1)
Thiago Henrique Gomes Lobato
le 3 Mai 2020
If you write your optimization problem like this:
x = gamultiobj(fun,nvars)
You're basically telling the optimizer that you have an unconstrained problem, so it could test every possible value and, due to mutation, it is expected that some of them may be very far away from the optimum. If your function is unfeasible in some point, you have to explicitely say it to the function. This can be done using the other input arguments of the function:
x = gamultiobj(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)
Were A and b deals with unequality constrains, Aeq and beq equality constrains, lb and ub bounds and nonlcon non-linear constrains. You have then to verify what are the feasibility requirements of your function and then give it to the optimizer. In your case probably bounds would already be enough, so you could write the function as
x = gamultiobj(fun,nvars,[],[],[],[],lb,ub)
Voir également
Catégories
En savoir plus sur Multiobjective Optimization dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!