Research Article

Selection and Penalty Strategies for Genetic Algorithms Designed to Solve Spatial Forest Planning Problems

Algorithm 1

Pseudocode for the genetic algorithm, plus fitness and penalty evaluation functions. The canonical genetic algorithm mimics evolution via three basic operations: selection, recombination, and mutation. Fitness evaluation consists of calculating net present value and then levying penalties. This algorithm displays the dynamic penalty approach, which is modeled after strategic oscillation. For each constraint , the penalty coefficient is increased (decreased) according to a running tally on the number of consecutive generations in which the population is infeasible (feasible). For the static penalty approach, the penalty coefficient remains constant across generations.
Canonical Genetic Algorithm
Initialize_Population()
Evaluate_Fitness( )
While (! Termination_Criteria)
Selection( )
Recombination( )
Mutation( )
Evaluate_Fitness( )
Evaluate_Fitness( )
Calculate_NPV( )
Calculate_Penalty( )
Calculate_Penalty( )
For (All constraints )
If (Percent_Infeas( ) ≥ )
Infeas_Count++
Feas_Count = 0
Else
Infeas_Count = 0
Feas_Count++
If (Infeas_Count ≥ )
If (Feas_Count ≥ )
For (All solutions in )