problem with multiobjective optimization
5 ビュー (過去 30 日間)
I am tring to use the gamultiobj ( http://www.mathworks.com/help/toolbox/gads/gamultiobj.html ) 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 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.
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.