STK: a Small (Matlab/Octave) Toolbox for Kriging
 STK_PARETOFIND finds non-dominated rows in an array

 CALL: [NDPOS, DRANK] = stk_paretofind (X)

    returns the indices NDPOS such that X(NDPOS, :) contains all non-
    dominated rows of X, sorted in (ascending) lexical order. A row
    X(i, :) is said to dominate another row X(j, :) if

       X(i, k) <= X(j, k)    for all k in {1, 2, ..., d}

    and

       X(i, k) < X(j, k)     for at least one such k,

    where d is the number of columns.  In other words: smaller is better.
    For each row X(i, :),  DRANK(i) is equal to zero if the row is non-
    dominated, and equal to the smallest j such that X(i, :) is dominated
    by X(NDPOS(j), :) otherwise.

 See also: sortrows, stk_isdominated, stk_dominatedhv