物流规划问题 2
您再次为一家厨房烤箱制造商提供咨询,帮助规划其物流。本次您要制定接下来 6 个月(1 月至 6 月)的计划。仍有两个仓库位置(New York 和 Atlanta),以及四个区域客户位置(East、South、Midwest、West)。每个仓库向各区域客户的运输成本见下表。您的目标是确定从各仓库向各客户的发运数量,使总成本最低。
| Customer | New York | Atlanta |
|---|---|---|
| East | $211 | $232 |
| South | $232 | $212 |
| Midwest | $240 | $230 |
| West | $300 | $280 |
我们已为您创建了一个名为 costs 的 Python 字典,包含模型中的成本信息,以及三个列表 months、warehouse 和 customers。costs 已为您打印输出,您也可以在控制台中查看这些列表。此外,模型也已为您初始化。
本练习是课程的一部分
Python 供应链分析
练习说明
- 在模型中定义决策变量:先使用列表推导式遍历
months、warehouse和customers列表以创建键的列表。再使用该键列表配合LpVariable.dicts()来定义所需变量。 - 定义目标函数:将 6 个月内、针对每个仓库与客户组合的所有运输成本相加。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Define decision variables
key = [(m, w, ____) for m in months for w in warehouse for c in customers]
var_dict = LpVariable.dicts('num_of_shipments',
key,
lowBound=____, cat=____)
# Use the LpVariable dictionary variable to define objective
model += lpSum([costs[(w, c)] * ____[(____, ____, ____)]
for m in months for w in warehouse for c in customers])