1. Home
  2. FPARETOSET procedure

FPARETOSET procedure

Forms the Pareto optimal set of non-dominated groups (W. van den Berg).


PRINT = string token Controls whether to print the groups (groups); default grou
PLOT = string token Controls whether to plot the data, using different coloured points to indicate the groups (data); default data
NGROUPS = scalar Number of groups to form; default 1
GROUPS = factor Saves the group allocations
TITLE = text Title for the plot; default * i.e. none
LABELS = text, variate or factor Labels for the items; default * i.e. none


DATA = variates Data variates, defining the properties of the items
SIGN = scalars Value by which to multiply each DATA variate: for example, this can be set to set to -1 if the variate is to be minimized instead of being maximized; default 1
TITLE = texts Title to use for the axis of each DATA variate in the plot; if unset, its identifier is used


FPARETOSET is useful when you want to select an item according to several different properties. Often there will be no uniquely optimal item: one item may be best according to one property, while others are best according to other properties. One way to assist with the decision is to form the set of non-dominated items (i.e. those that are not dominated by any other item). An item is said to dominate another item, if it has at least one property that is better than that item, while its other properties are at least as good. The non-dominated items form the Pareto optimal set, which includes the item that would be selected as best according to any weighting that may be chosen for the properties. See, for example, Goldberg (1989) pages 197-201 for more details.

The process can be extended to form a hierarchy over the items. You can form a second set by removing the non-dominated items, and finding the items that are now non-dominated. You can then form a third set of items, consisting of those that are non-dominated once the first two sets have been removed, and so on, until you reach the set of items that do not dominate any other item.

The properties of the items are specified in variates (one for each property) by the DATA parameter. By default, it is assumed that the maximum value of each property is best, but you can set the SIGN parameter to minus one (or any other negative value) if you want to minimize it instead. The NGROUPS option defines the number of non-dominated sets to form, and the GROUPS option can save a factor indicating the set to which each item is allocated. (The GROUPS factor will thus have NGROUPS plus one levels.)

By default, FPARETOSET prints the DATA variates and group allocations, but you can suppress that by setting option PRINT=*. It also plots the data in a scatter-plot matrix, using different coloured points to indicate the groups; this can be suppressed by setting PLOT=*. The LABELS option can supply labels for the items to use in the printed output and graph. The TITLE option can supply a title for the graph, and the TITLE parameter can supply a title to use for the axis of each DATA variate in the plot.


Parameters: DATA, SIGN, TITLE.

Action with RESTRICT

Restricted units of the DATA variates are ignored.


Goldberg, D.E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley.

See also


Commands for: Calculations and manipulation.


CAPTION    'FPARETOSET examples',\
           '1) Accidents and widget cost, Goldberg (1989), pages 197-198.';\
VARIATE    [VALUES= 2,4,8,9,7] Cost
VARIATE    [VALUES=10,6,4,5,8] Accidents
FPARETOSET [NGROUPS=1; LABELS=!t(A,B,C,D,E)] Cost,Accidents; SIGN=-1,-1
CAPTION    '2) Two functions, Goldberg (1989), pages 199-200.';\
VARIATE    [VALUES=-5,-4.9...5] t
CALCULATE  F21 =  t ** 2
CALCULATE  F22 = (t - 2 ) ** 2
FPARETOSET [NGROUPS=1] F21,F22; SIGN=-1,-1; TITLE='t~^{2}','(t - 2)~^{2}'

Updated on March 8, 2019

Was this article helpful?