Извините, это не конкретный вопрос. Поскольку я новичок в Jsprit, мне нужна концептуальная помощь в том, как начать решать проблему.
Мой пример:
Я начал с того, что у меня было только одно транспортное средство с начальной и конечной позициями. Есть несколько позиций самовывоза с приоритетами и только одна позиция склада для доставки. Транспортное средство должно двигаться 1 день, затем 2 дня перерыва, чем еще один день с заданным временем начала/окончания для каждого дня. Начальная/конечная позиции определяются в день (1 и 4). Транспортное средство может вернуться в конечную позицию в 1-й день с грузом, но на 4-й день последней позицией должно быть депо для разгрузки (и возврата пустым).
Я хочу забрать как можно больше предметов, основываясь на приоритете и ограничении загрузки транспортных средств 2d, если будет слишком много пикапов, они будут проигнорированы. Транспортное средство может возвращаться в депо для разгрузки несколько раз в день. Я также подумал об изменении приоритетов подбора предметов перед началом 4-го дня.
- Любые идеи?
- Есть ли преимущество/разница между определением пунктов самовывоза и доставок по отдельности вместо использования отгрузок?
- Думал определить 2 машины вместо определения перерыва, но не хочу выгружаться в первый день. Я читал это можно сделать с помощью 2-х драйверов, глядя на API и настройки драйверов не знаю как. https://discuss.graphhopper.com/t/3-questions-endlocation-and-multiple-vehicles/414/8 Класс Driver имеет свойство home, но это строка, разрывы могут быть определены только для транспортного средства.
- Должен ли я запускать решатель дважды и удалять пикапы уже в моем первом маршруте, прежде чем запускать его на 4-й день? + объединить результаты потом?
- Как реализовать ограничение на загрузку только в том случае, если нагрузка достигает 85%?
- Как реализовать ограничение, согласно которому последней позицией на 4-й день должно быть депо перед возвратом в конечную позицию (даже ‹85%, если все пикапы сделаны)?