Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Genetic Algorithms > Utilities > pareto_filter

pareto_filter

A function which extracts non dominated solution from a set

Syntax

[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)

See also

  • 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
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:25 CET 2017