gamultiobj's options

3 views (last 30 days)
Tony Cheng
Tony Cheng on 17 Jan 2017
Commented: Tony Cheng on 14 Feb 2017
Hi guys,
I am using a PC with 2014b and run the MOGA files. Now two questions appear:
The first is:
The option set for gamultiobj is
options_moga = gaoptimset(@gamultiobj) .
If the parameters in gamultiobj are set according to its syntax without options_moga , i.e., like this:
gamultiobj( AIM1 , 9 , ...
A_inequation , power_constraint , ...
AEQ_modify , BEQ_modify , ...
lower_bound , upper_bound , ...
nonliear_constraint );
the PC run the file for round 100 seconds and the results seem right, because they are quite similar to the those from fmincon.
But , if the parameters in gamultiobj are set according to its syntax with options_moga , i.e., like this:
gamultiobj( AIM1 , 9 , ...
A_inequation , power_constraint , ...
AEQ_modify , BEQ_modify , ...
lower_bound , upper_bound , ...
nonliear_constraint , options_moga ) ;
the PC run the file for round 20 seconds only and the results are not right, because they are quite far from those by fmincon.
Could u pls tell me why it behaves like this?
The second is:
the 9 unknowns set by gamultiobj is a 1*9 rank vector, but if they are used in fmincon, they are a 9*1 column vector. Is it right?
Thanks so much for these two questions!

Accepted Answer

Alan Weiss
Alan Weiss on 18 Jan 2017
I do not understand at all what you are asking in your first question, sorry.
For the second question, ga and gamultiobj require population members to be row vectors. In contrast, fmincon does not care whether the x0 argument is a row vector, column vector, or array, as explained here.
Alan Weiss
MATLAB mathematical toolbox documentation
  5 Comments
Tony Cheng
Tony Cheng on 13 Feb 2017
All right!
Thank you very much, Walter!
Tony Cheng
Tony Cheng on 14 Feb 2017
Hi Walter,
Could you tell me the time consumed in testing the settings with and without optimoptions(@gamultiobj)?
If optimoptions(@gamultiobj) is explicitly given in gamultiobj like this gamultiobj( AIM1 , 9 , ... A_inequation , power_constraint , ... AEQ_modify , BEQ_modify , ... lower_bound , upper_bound , ... nonliear_constraint , gaoptimset(@gamultiobj) ) ;
then it uses for about 15 seconds.
If gamultiobj( AIM1 , 9 , ... A_inequation , power_constraint , ... AEQ_modify , BEQ_modify , ... lower_bound , upper_bound , ... nonliear_constraint );
then it cost about 110 seconds to finish the codes.
The results from these two settings are quite different. The former setting produces smaller values which looks like wrong, while the latter produces larger ones which looks like right.
I am using 2014b.
Thanks man!

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB 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!