What's New in SAS/OR 9.2

The GA Procedure

The GA procedure solves optimization problems through the use of genetic algorithms. The procedure uses functions and call routines to set parameters such as crossover operators and mutation probabilities for genetic algorithm optimization. In SAS/OR 9.2, the routines that are used to specify procedure-supplied mutation and crossover operators (SetMut and SetCross), objective functions (SetObj), and selection options (SetSel) have been revised to a more flexible and readable form. The operator type is now specified as a parameter in these routines instead of being incorporated into the name of a separate call routine. Parameters for each operator type are now specified as property name-value pairs.

Note: Several call routines that were available in SAS/OR 9.1.3 have been replaced by new call routines and are not available in SAS/OR 9.2. Table 2 lists the routines and their replacements.


Table 1.2: PROC GA Routines Replaced in SAS/OR 9.2
New Routine Routines Replaced
Cross callCrossSimple call, Cross2Point call, CrossUniform call,
 CrossArithmetic call, CrossHeuristic call, CrossOrder call,
 CrossPMatch call, CrossCycle call
Mutate callMutDelta call, MutUniform call, MutSwap call, MutInvert call
SetCross callSetCrossSimple call, SetCross2Point call, SetCrossUniform call,
 SetCrossArithmetic call, SetCrossHeuristic call,
 SetCrossOrder call, SetCrossPMatch call, SetCrossCycle call
SetMut callSetMutRoutine call, SetMutDelta call, SetMutUniform call,
 SetMutSwap call, SetMutInvert call
SetObj callSetObjTSP call
SetSel callSetSelTournament call, SetSelDuel call

In addition, the following new routines are provided:

The Boolean encoding has been modified so that 0/1 values can be read from and written to solution segments directly, instead of requiring the PackBits and UnpackBits routines. In addition, each Boolean value is represented by one variable in a LASTGEN= or FIRSTGEN= data set, similar to the other encodings.

If the FIRSTGEN= data set has a field named "OBJECTIVE," then in the Initialize call, the value of that field (if nonmissing) is used as the initial objective value for the solution represented by that observation.

The default crossover and mutation probabilities have been changed to 0.

New options have been implemented for the Initialize call and the ReEvaluate call.

New in SAS/OR 9.2, the option LIBRARY= specifies an external library of routines. The NOVALIDATE= and NOVALIDATEWARNING= options control the level of feasibility checks performed by the GA procedure.

Previous Page | Next Page | Top of Page