开始使用免费开始使用

逻辑约束 练习 2

您在一家卡车配送中心工作,需要决定卡车要驶往的 6 个客户地点中的哪些。您的目标是最小化卡车行驶的距离。

Location Distance
A 86
B 95
C 205
D 229
E 101
F 209

已为您创建字典 dist 和列表 cust,分别包含每个客户地点的距离和名称。这些输入已在控制台中打印出来,供您查看。

本练习是课程的一部分

Python 供应链分析

查看课程

练习说明

  • 更新约束,使模型至少选择一个地点。
  • 添加约束:如果选择地点 A,则必须同时选择地点 D。
  • 添加约束:如果选择地点 B,则必须同时选择地点 E。

交互式实操练习

通过完成这段示例代码来试试这个练习。

model = LpProblem("Loading Truck Problem", LpMinimize)
x = LpVariable.dicts('ship_', cust, cat='Binary')
model += lpSum([dist[i]*x[i] for i in cust])

# Define Constraint
model += ____ + ____ + ____ + ____ + ____ + ____ >= ____
model += ____ - ____ <= ___
model += ____ - ____ <= 0

model.solve()
for i in cust:
    print("{} status {}".format(i, x[i].varValue))
编辑并运行代码