Sind alle scheduling-Probleme NP-Hart?

Ich weiß, es gibt einige scheduling-Probleme gibt, sind NP-hart/NP-vollständige ... aber keiner von Ihnen erklärte in einer Weise zu zeigen, diese situation ist auch NP.

Wenn Sie eine Reihe von Aufgaben beschränkt sich auf eine startAfter, startBy, und Dauer alle versuchen, eine einzelne Ressource ... können Sie lösen, einen Zeitplan oder erkennen, dass es nicht gelöst werden kann, ohne eine erschöpfende Suche?

Wenn die Antwort "sorry pal, aber das ist NP-vollständig" was wäre die beste Heuristik(s?) verwenden und gibt es Möglichkeiten, um die Zeit verringern, die es nimmt, um a) zu lösen, einen Zeitplan und b) zu identifizieren, ein unauflöslicher Zeitplan.

Habe ich umgesetzt (in prolog) eine grundlegende Konfliktlösung Ziel durch Rekursion implementiert, dass ein "kleinsten Fenster first" - Heuristik. Diese findet tatsächlich die Lösungen ziemlich schnell, aber ist außergewöhnlich langsam auf der Suche nach ungültigen Zeitpläne. Gibt es eine Möglichkeit dies zu überwinden?

Yay für compound Fragen!

  • Denkst du, du wirst noch mehr hinzufügen-Einschränkungen zu diesem problem? Wenn dem so ist, sieht es aus wie ein timetabling-problem, was ist 'normal' gelöst über contraint programming en.wikipedia.org/wiki/Constraint_programming oder auch lineare Programmierung en.wikipedia.org/wiki/Linear_programming werfen Sie einen Blick auf die open-source-Projekt namens unitime.org (constraint programming) und ilog ist der constraint-solver (sehr teuer, aber sehr schnell).
InformationsquelleAutor Reed Debaets | 2010-01-29
Schreibe einen Kommentar