problem with multiobjective optimization

5 ビュー (過去 30 日間)
justin 2012 年 7 月 22 日
I am tring to use the gamultiobj ( ) for a multiobjective optimization problem. The problem is that when you find a solution and then keep everything fixed and only change LB or UB (while they are still lower bound and upper bound of solution and even solution that was found in previous step), then the new set of solution are tototally different; it does not include your older solution.
I understand that there is a Pareto optimal set but i think algorithm should not work based on LB and UB. so the if 3 is in solutions that have range of -10 to 10 , then they should be also available in solution set with LB=-5 and UB=5 as well. However, it does not work. my guess is that GA has some properties that i do not understand. if so, how can i solve this problem in matlab? is there any method to solve it ?

回答 (2 件)

Alan Weiss
Alan Weiss 2012 年 7 月 23 日
There are several potential issues. When you change your problem you probably rerun gamultiobj from random points. You can give the old solutions that satisfy the new constraints as initial values, if you like, using the InitialPopulation option.
Also, gamultiobj is random. If you run it twice with the same parameters, you might get two different solutions.
Tolerances can affect the solution. You can try setting a low value of the TolFun tolerance, such as 1e-12. and see if it makes a difference.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

Mario CASTRO GAMA 2013 年 2 月 20 日
If understood your question correctly, this is related to the Selection between generations.
There is one option from the GAOPTIMSET that states the number of individuals that are resilient 'EliteCount' or dominant between generations.
The other option related with the selection is 'SelectionFcn' but these are based on selection using random numbers, threesholds or subsets.
best regards

Community Treasure Hunt

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

Start Hunting!

Translated by