Minizinc Получение и доставка модели в задаче, аналогичной задаче «Маршрут транспортного средства».

Я новичок в Minizinc и хочу решить обнаруженную мной проблему VRM здесь.

Мне нужно добавить пару функций, но одна из них, с которой я действительно борюсь, - это зависимости между службами самовывоза и доставки. Некоторые узлы (узлы доставки) необходимо посещать только после того, как ранее были посещены некоторые другие узлы (узлы приема).

Я думал добавить ввод для приоритета следующим образом:

array[1..n_orders div 2, 1..2] of int: precedences = [| 1, 3 | 2, 4 | 5, 10 | 7, 8 | 6, 9 |];

По сути, он говорит, что узел 3 должен быть посещен после узла 1, узел 4 после узла 2 и так далее ...

есть идеи как это сделать?


person vbgd    schedule 05.07.2020    source источник


Ответы (1)


Кажется, что основной приоритет можно установить, ограничив

constraint forall(i in index_set1of2(precedences)) (
    DepartureTimes[precedences[i,1]] < DepartureTimes[precedences[i,2]]
)
person Dekker1    schedule 05.07.2020