Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
the theory behind 'gamultiobj' function

Subject: the theory behind 'gamultiobj' function

From: hailiang shen

Date: 24 Feb, 2009 15:47:37

Message: 1 of 4

Hi everyone,
Can any one tell me the theory behind the 'gamultiobj' function? Is it using the NSGA-II algorithm? I see Deb(2002) is referenced.
Thanks,
Hailiang

Subject: the theory behind 'gamultiobj' function

From: Alan Weiss

Date: 24 Feb, 2009 15:57:06

Message: 2 of 4

hailiang shen wrote:
> Hi everyone,
> Can any one tell me the theory behind the 'gamultiobj' function? Is it using the NSGA-II algorithm? I see Deb(2002) is referenced.
> Thanks,
> Hailiang

 From the MATLAB demo "Multiobjective Genetic Algorithm Options":
http://www.mathworks.com/products/gads/demos.html?file=/products/demos/shipping/gads/gamultiobjoptionsdemo.html

"The multiobjective GA function GAMULTIOBJ uses a controlled elitist
genetic algorithm (a variant of NSGA-II [1])"

Sorry this isn't so obvious in the documentation, it's on my "to-do" list.

Alan Weiss
MATLAB mathematical toolbox documentation

Subject: the theory behind 'gamultiobj' function

From: hailiang shen

Date: 24 Feb, 2009 17:02:42

Message: 3 of 4

Thanks Alan for the reply.
In NSGA-II, it firstly selects the individuals with the best rank from fronts (first 1 then 2, etc. ). Suppose the population size is 100, the number of the individuals in fronts with rank <= 10 is 97, and the number of individuals in the 11th front is 5. We will select the 3 individuals with the bigger distance.

In 'gamultiobj', do you i) first take the best rank? e.g. select 10 individuals with the best rank. and then ii) take the bigger distance? How do you calculate the distance in the subsequent fronts.

Hailiang

Subject: the theory behind 'gamultiobj' function

From: Alan Weiss

Date: 24 Feb, 2009 20:02:32

Message: 4 of 4

hailiang shen wrote:
> Thanks Alan for the reply.
> In NSGA-II, it firstly selects the individuals with the best rank from fronts (first 1 then 2, etc. ). Suppose the population size is 100, the number of the individuals in fronts with rank <= 10 is 97, and the number of individuals in the 11th front is 5. We will select the 3 individuals with the bigger distance.
>
> In 'gamultiobj', do you i) first take the best rank? e.g. select 10 individuals with the best rank. and then ii) take the bigger distance? How do you calculate the distance in the subsequent fronts.
>
> Hailiang

Hailiang, if you want to understand all the gory details of the
implementation, then I suggest you look at the code. All the code is
M-files, you can look at the files with, say, edit gamultiobj.m. When
you come across a subroutine you want to examine, select it and press
control-D.

Alan Weiss
MATLAB mathematical toolbox documentation

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us