我有一个适用于车辆路径问题的线性优化模型,该模型具有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))
提前谢谢!