A MOVE operator moves a task to the first earlier or later time at which its resource needs can be satisfied and uses the critical path method to reschedule all of the task's temporal dependents. At each step of the iterative repair search, one operator is applied to the current schedule, selected according to the following rules. If more than one applies, that is, if several different pool reassignments are possible, one is selected at random. After an operator is applied, the number of constraint violations of the resulting schedule is determined. If denotes the number of constraint violations removed by the repair, then the new schedule is accepted with probability , where T is the current computational temperature that is gradually decreased throughout the search.
Search stops when all constraint are satisfied.
Short schedules are obtained by running the algorithm several times and selecting the shortest of the resulting conflict-free schedules. Zhang and Dietterich's treated entire schedules as states in the sense of reinforcement learning. The problem was treated as episodic, each episode starting with the same critical path schedule that the iterative repair algorithm would start with and ending when a schedule was found that did not violate any constraint. The rewards were designed to promote the quick construction of conflict-free schedules of short duration. This encouraged the agent to find conflict-free schedules quickly, that is, with a small number of repairs to .