The GA Procedure

SetMut Call

call SetMut type<, seg><, pname, pvalue><, pname, pvalue>…) ;

The SetMut call sets the mutation operator. The inputs to the SetMut subroutine are as follows:

type  

is the name of the mutation operator to be applied.

seg

is optional, and specifies a segment of the solution to which the operator should be applied. If seg is not specified, then it defaults to a value of 1. seg needs to be specified only if multisegment encoding is used.

pname

is optional, and specifies the name of a particular property to be set for the mutation operator.

pvalue

specifies the value to be assigned to the corresponding property name.

The SetMut routine is used to assign a standard mutation operator. For multisegment encoding, the operator can be assigned to a particular solution segment with the seg parameter; otherwise a default segment of 1 is assumed. You can set different mutation operators for different segments with multiple SetMut calls. When a mutation event occurs, all the operators will applied to the same solution. If more than one SetMut call is made for the same segment, then the last call nullifies any previous call for that segment. Also, a SetMutRoutine call nullifies all previous SetMut calls, and a SetMut call nullifies a previous SetMutRoutine call. Properties for the chosen mutation operator can be set with optional pname-pvalue pairs. It is also possible to set or reset operator properties with a SetProperty call.

The accepted values for type and the corresponding properties are summarized in Table 4.5. See the section Mutation Operators for a full description of the available operators.

Table 4.5: Mutation Operator Types and Properties

type

encodings

properties

’delta

real, integer

'delta'

   

'nchange'

’invert’

sequence

 

’null’

all encodings

 

’swap’

sequence

'nswap'

’uniform’

real, integer, Boolean

'nchange'

   

'pchange'