Change language to:
English - 日本語 - Português - Русский

See the recommended documentation of this function

Aide de Scilab >> Algorithmes génétiques > Algorithms > optim_moga

optim_moga

multi-objective genetic algorithm

Calling Sequence

`[pop_opt,fobj_pop_opt,pop_init,fobj_pop_init] = optim_moga(ga_f,pop_size,nb_generation,p_mut,p_cross,Log,param)`

Arguments

ga_f

the function to be optimized. The header of the function is the following :

`y = f(x)`

or

`y = list(f,p1,p2,...)`
pop_size

the size of the population of individuals (default value: 100).

nb_generation

the number of generations (equivalent to the number of iterations in classical optimization) to be computed (default value: 10).

p_mut

the mutation probability (default value: 0.1).

p_cross

the crossover probability (default value: 0.7).

Log

if %T, will call the output function at the end of each iteration, see `"output_func"` under `param` variable below.

param

a list of parameters.

• 'codage_func': the function which will perform the coding and decoding of individuals (default function: coding_ga_identity).

• 'init_func': the function which will perform the initialization of the population (default function: init_ga_default).

• 'dimension', 'minbounds' and 'maxbounds': parameters used by the initialization function to define the initial population.

• 'crossover_func': the function which will perform the crossover between two individuals (default function: crossover_ga_default).

• 'mutation_func': the function which will perform the mutation of one individual (default function: mutation_ga_default).

• 'selection_func': the function whcih will perform the selection of individuals at the end of a generation (default function: selection_ga_elitist).

• 'nb_couples': the number of couples which will be selected so as to perform the crossover and mutation (default value: 100).

• 'pressure': the value the efficiency of the worst individual (default value: 0.05).

• "output_func": a callback function called after each generation if `Log` is %T (default function `output_moga_default`).

pop_opt

the population of optimal individuals.

fobj_pop_opt

the set of multi-objective function values associated to pop_opt (optional).

pop_init

the initial population of individuals (optional).

fobj_pop_init

the set of multi-objective function values associated to pop_init (optional).

Description

• This function implements the classical "Multi-Objective Genetic Algorithm". For a demonstration: see SCI/modules/genetic_algorithms/examples/MOGAdemo.sce.

Examples

```function f=deb_1(x)
f1_x1 = x(1);
g_x2  = 1 + 9 * sum((x(2:\$)-x(1)).^2) / (length(x) - 1);
h     = 1 - sqrt(f1_x1 / g_x2);

f(1,1) = f1_x1;
f(1,2) = g_x2 * h;
endfunction

PopSize     = 100;
Proba_cross = 0.5;
Proba_mut   = 0.3;
NbGen       = 4;
NbCouples   = 110;
Log         = %T;
nb_disp     = 10; // Nb point to display from the optimal population
pressure    = 0.1;

ga_params = init_param();