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

## See Also

- optim_moga
- optim_nsga
- optim_nsga2