Маршрутизация транспортных средств с несколькими временными окнами на узел - PullRequest
0 голосов
/ 15 мая 2019

У меня есть рабочая линейная модель оптимизации для задачи маршрутизации транспортного средства с ограничениями по пропускной способности в Python (docplex).Теперь я хочу добавить ограничения на перерывы два раза в день.Моя идея состоит в том, чтобы добавить узел для первого разрыва и узел для второго разрыва, которые являются единственными узлами, которые можно посетить в определенное временное окно:

Depot -> 0-9
Node first break -> 2-2,5
Node second break -> 5-6
Other nodes ->  0-2 & 2,5-5 & 6-8,5

Это кажется немного неудобным илиэто хороший способ реализовать это?И есть ли у кого-нибудь пример в Python / docplex?

Ввод:

n = Number of Clients
N = List of Nodes
V = List of nodes plus depot
Q = Vehicle Capacity
q = Demands per Client Dictionary

A = All Possible Roads (eg. [(0,1),(1,2),(2,3),(3,0),(2,0)])
c = All Distances Dictionary (eg. {(0, 1): 90, (1,2): 50, …})

Цель:

# Objective: Maximize Profit (profit - cost)
mdl.maximize(mdl.sum(q[i]*x[i,j] - c[i,j]*x[i,j] for i,j in A))

Заранее спасибо!

...