เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

แบบฝึกหัดข้อจำกัดเชิงตรรกะ 2

คุณทำงานที่ศูนย์กระจายสินค้าด้านการขนส่ง และต้องตัดสินใจว่าจะส่งรถบรรทุกไปยังลูกค้าสถานที่ใดบ้างจากทั้งหมด 6 แห่ง โดยมีเป้าหมายเพื่อลดระยะทางที่รถบรรทุกต้องเดินทาง

สถานที่ ระยะทาง
A 86
B 95
C 205
D 229
E 101
F 209

ได้สร้างดิกชันนารี dist และลิสต์ cust ไว้ให้แล้ว โดยเก็บข้อมูลระยะทางและชื่อของสถานที่ลูกค้าแต่ละแห่ง ซึ่งข้อมูลเหล่านี้ถูกแสดงผลใน console ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Supply Chain Analytics ด้วย 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))
แก้ไขและรันโค้ด