The GA Procedure

Initialize Call

call Initialize ( option, size <,option, size> …) ;

The Initialize call creates the initial solution generation. The inputs to the Initialize subroutine are as follows:


is a string that specifies an initialization option.


is the number of solutions to create by using a given option.

The Initialize subroutine must be called to create the first solution generation, and can be used to reinitialize a solution population during the optimization process. The available options and their effect are as follows:


generate uniformly distributed solutions —for integer and real encoded segments for which SetBounds has been called, segment elements will be uniformly distributed between the upper and lower bounds. If no bounds have been specified for an integer or real encoded segment, then the elements will be set to 0. For Boolean encoded segments the elements will be randomly assigned 0 or 1, and for sequence encoded segments random sequences will be generated.


read solutions from the data set specified in a FIRSTGEN= option. If the data set has more observations than requested, the extra observations are ignored.


read solutions from the data set specified in a FIRSTGEN= option, if one was specified. If none was specified or the data set has fewer observations than requested, fill in the remaining solution population by using the '_uniform_' option.


bring forward the best solutions from the current generation. This option cannot be used for the first initialization.


Any string not matching the preceding options is interpreted to be a user-defined initialization routine. See the section Defining a User Initialization Routine for information about defining an initialization subroutine.

After the Initialize call, the current solution population size is the sum of the population sizes specified for each option. The following rules also apply to the option specifications:

  1. All options must be literal quoted strings.

  2. No option type can be specified more than once in the same Initialize call. No more than one user initialization routine can be specified.

  3. 'default' cannot be specified in combination with the '_uniform_' or '_dataset_' options.

  4. If the '_uniform_' option is specified, the solution encoding must include at least one segment that is either Boolean or sequential, or that has bounds specified with a SetBounds call.