Patent ID: 8250007

Claim:
A computerized method of generating operations for a genetic algorithm, comprising the steps of: (a) randomly selecting first and second parent chromosomes from a population of a plurality of chromosomes; (b) calculating a backward free float value of a set of activities; (c) calculating a forward free float value of the set of activities; (d) randomly selecting a cut point activity; (e) forming first and second child chromosomes by randomly selecting either a forward path or a backward path, wherein if the forward path has been selected, then implementing the steps of: (f) copying start times of the set of activities to respective left sides of cut points of the first and second parent chromosomes into corresponding left-hand portions of the first and second child chromosomes; (g) determining start times of the activities of right-hand parts of the first and second child chromosomes by forwardly applying the backward free float values of the corresponding start times of the second and first parent chromosomes, respectively, to finish times of preceding activities in the left-hand portions of the first and second child chromosomes; and (h) determining feasibility of resultant chromosomes, whereby a resultant chromosome is determined infeasible if the forward path results in durations of offspring chromosomes that exceed a duration of an extension scheme; and if the backward path has been selected, then implementing the steps of: (i) copying the start times of the set of activities to respective right sides of the cut points of the first and second parent chromosomes into corresponding right-hand portions of the first and second child chromosomes; (j) determining start times of the activities of the left-hand parts of the first and second child chromosomes by backwardly applying the forward free float values of the corresponding start times of the second and first parent chromosomes, respectively, to the start times of following activities in the right hand parts of the first and second child chromosomes, whereby the start times are determined based on the finish times; and (k) resetting the start times of the set of activities such that a starting point of the set of activities is set for a day zero if the backward path results in a negative start time of any of the set of activities.