A schedule for a complex activity is obtained by a
scheduling system using a method of constraint-based iterative repair. A predetermined initial schedule is iteratively repaired, repairs being made during each iteration only to portions of the schedule that produce a constraint violation, until an acceptable schedule is obtained. Since repairs are made to the schedule only to repair violated constraints, rather than to the entire schedule, schedule perturbations are minimized, thereby reducing problems with the dynamic performance of the
scheduling system and minimizing disruption to the smooth operation of the activity. All constraints on the scheduling activity can be evaluated simultaneously to produce a solution that is near optimal with respect to all constraints. In particular, consumable
resource constraints can be evaluated simultaneously with other constraints such as, for example, reusable
resource constraints, temporal constraints, state constraints,
milestone constraints and preemptive constraints. The
scheduling system of the invention is much quicker than previous scheduling systems that use, for example, constructive scheduling method. The
system of the invention can also be easily modified to add, delete or modify constraints. Because of the minimization of schedule perturbation,
coupling of all constraints, speed of operation, and ease of modification, the scheduling
system of the invention is particularly useful for scheduling applications that require frequent and rapid rescheduling.