Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Português - 日本語 - Русский

Aide de Scilab >> Algorithmes génétiques > Utilities > pareto_filter

# pareto_filter

A function which extracts non dominated solution from a set

### Calling Sequence

`[F_out,X_out,Ind_out] = pareto_filter(F_in,X_in)`

### Arguments

F_in

the set of multi-objective function values from which we want to extract the non dominated solutions.

X_in

the associated values in the parameters space.

F_out

the set of non dominated multi-objective function values.

X_out

the associated values in the parameters space.

Ind_out

the set of indexes of the non dominated individuals selected from the set X_in.

### Description

• This function applies a Pareto filter to extract non dominated solutions from a set of values.

### Examples

```function Res=min_bd_deb_1(n)
if ~isdef('n','local') then n = 10; end;
Res = zeros(n,1);
endfunction

function Res=max_bd_deb_1(n)
if ~isdef('n','local') then n = 10; end;
Res = ones(n,1);
endfunction

function f=get_opti_deb_1(x)
f1_x1 = x(1);
g_x2  = 1;
h     = 1 - sqrt(f1_x1 / g_x2);

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

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

Max = max_bd_deb_1(2);
Min = min_bd_deb_1(2);

X_in = list();
for i=1:100
X_in(i) = (Max - Min) .* rand(size(Max,1),size(Max,2)) + Min;
F_in(i,:) = deb_1(X_in(i));
end

[F_out, X_out, Ind_out] = pareto_filter(F_in, X_in)```

• optim_moga — multi-objective genetic algorithm
• optim_nsga — A multi-objective Niched Sharing Genetic Algorithm
• optim_nsga2 — A multi-objective Niched Sharing Genetic Algorithm version 2