2014-06-27 11 views
5

Ist es möglich, Beziehungen zwischen Jobs (in diesem Fall Services) in jsprit zu behandeln?Ähnliche Stellen in JSprit

Zum Beispiel muss ein Job gleichzeitig mit einem oder mehreren Jobs gestartet werden. Oder ein Job darf nicht vor dem Ende eines anderen Jobs starten (normale Sequenz).

Wenn nicht, kennen Sie andere Java-Bibliotheken, die solche Einschränkungen verarbeiten können?

Vielen Dank!

Antwort

10

Ja, Sie können solche Beziehungen mit jsprit behandeln. Es ist ein bisschen Codierung, aber - denke ich - einfach zu implementieren. Um es zu illustrieren, habe ich Ihnen fünf Beispiele vorbereitet, die auf den Vehicle Routing Problems (VRP) basieren, die von Christofides-Mingozzi-Toths * (erste Benchmark-Instanz) entwickelt wurden. Folgen Sie den Links hinter den einzelnen Überschriften und Sie gelangen zum Code. Beachten Sie, dass die erste Aktivität in einer Route mit einem Dreieck markiert ist. Die Labels bezeichnen JobIds.

noConstraints

noConstraintsAtAll

capacityConstraints

enter image description here

job 13 and 21 in same route

enter image description here

job 13 and 21 in same route AND 21 before 13

enter image description here

job 13 and 21 in same route AND 13 right after 21

enter image description here

Besuchen http://jsprit.github.io/ und Sie zu einer Reihe von Codebeispiele und Dokumente erhalten.

* N. Christofides, A. Mingozzi und P. Toth. Das Vehicle-Routing-Problem. In N. Christofides, A. Mingozzi, P. Toth, und C. Sandi, Herausgeber, Kombinatorische Optimierung. John Wiley, Chichester, 1979.