What’s New in SAS/OR 9.2 |
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 1.2 lists the routines and their replacements.
New Routine |
Routines Replaced |
Cross call |
CrossSimple call, Cross2Point call, CrossUniform call, |
CrossArithmetic call, CrossHeuristic call, CrossOrder call, |
|
CrossPMatch call, CrossCycle call |
|
Mutate call |
MutDelta call, MutUniform call, MutSwap call, MutInvert call |
SetCross call |
SetCrossSimple call, SetCross2Point call, SetCrossUniform call, |
SetCrossArithmetic call, SetCrossHeuristic call, |
|
SetCrossOrder call, SetCrossPMatch call, SetCrossCycle call |
|
SetMut call |
SetMutRoutine call, SetMutDelta call, SetMutUniform call, |
SetMutSwap call, SetMutInvert call |
|
SetObj call |
SetObjTSP call |
SetSel call |
SetSelTournament call, SetSelDuel call |
In addition, the following new routines are provided:
Objective function
ReadCompare call
SetCompareRoutine call
SetObjFunc call
SetProperty call
ShellSort call
Shuffle call
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.
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.