開始使用免費開始

邏輯式限制條件練習 2

你在一個卡車配送中心工作,需要決定在 6 個客戶地點中要派車到哪些地點。你的目標是讓卡車行駛的距離最短。

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

已為你建立字典 dist 與清單 cust,分別包含每個客戶地點的距離與名稱。這些輸入已在主控台列印出來供你參考。

本練習屬於課程

Python 的供應鏈分析

檢視課程

練習說明

  • 更新限制條件,讓模型至少選擇 1 個地點。
  • 新增限制條件:如果選擇地點 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))
編輯並執行程式碼