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.
Een programma voor een complexe activiteit wordt verkregen door een het plannen systeem gebruikend een methode van op beperking-gebaseerde herhaalde reparatie. Een vooraf bepaald eerste programma wordt vaak hersteld, reparaties die tijdens elke herhaling slechts aan gedeelten van het programma worden gemaakt die een beperkingsschending veroorzaken, tot een aanvaardbaar programma wordt verkregen. Aangezien de reparaties aan het programma slechts aan reparatie overtreden beperkingen worden gemaakt, eerder dan aan het volledige programma, worden de programmastoringen geminimaliseerd, daardoor verminderend problemen met de dynamische prestaties van het het plannen systeem en het minimaliseren van verstoring aan de vlotte verrichting van de activiteit. Alle beperkingen op de het plannen activiteit kunnen worden geƫvalueerd gelijktijdig om een oplossing te veroorzaken die dichtbij optimaal met betrekking tot alle beperkingen is. In het bijzonder kunnen de voor consumptie geschikte middelbeperkingen gelijktijdig met andere beperkingen zoals bijvoorbeeld, opnieuw te gebruiken middelbeperkingen, tijdelijke beperkingen, staatsbeperkingen, mijlpaalbeperkingen en preventieve beperkingen worden geƫvalueerd. Het het plannen systeem van de uitvinding is veel sneller dan vorige het plannen systemen die, bijvoorbeeld, constructieve het plannen methode gebruiken. Het systeem van de uitvinding kan ook gemakkelijk worden gewijzigd om beperkingen toe te voegen te schrappen of te wijzigen. Wegens de minimalisering van programmastoring, het koppelen van alle beperkingen, snelheid van verrichting, en gemak van wijziging, is het het plannen systeem van de uitvinding bijzonder nuttig om toepassingen te plannen die het frequente en snelle opnieuw programmeren vereisen.