กลับมาดูปัญหาอาหารอีกครั้ง
คุณกำลังตรวจสอบข้อมูลทางการเงินให้กับเกษตรกรรายหนึ่ง ซึ่งขอให้ช่วยพิจารณาสูตรอาหารของสุกรและลดต้นทุนหากเป็นไปได้ สูตรอาหารที่ใช้ต้นทุนต่ำที่สุดในปัจจุบันอ้างอิงตามคำแนะนำของสัตวแพทย์ โดยกำหนดให้มีโปรตีนอย่างน้อย 17% ไขมันอย่างน้อย 2% และน้ำหนักอาหารรวม 7 ปอนด์ ตามข้อกำหนดด้านล่าง
| อาหาร | ต้นทุน ($/ปอนด์) | โปรตีน (%) | ไขมัน (%) |
|---|---|---|---|
| ข้าวโพด | 0.11 | 10 | 2.5 |
| ถั่วเหลือง | 0.28 | 40 | 1 |
มีข้อมูลว่าตัวเลข 7 ปอนด์นั้นเป็นค่าที่ปัดเศษมา และอาจลดลงได้ถึง 6.6 ปอนด์ โจทย์ต้องการให้ดูว่าการเปลี่ยนเงื่อนไขด้านน้ำหนักหรือไขมันทีละอย่างส่งผลต่อต้นทุนขั้นต่ำอย่างไร โดยจะแก้ปัญหาเดิมก่อน แล้วตรวจสอบค่า slack และ shadow price
ได้นำเข้า pulp ให้แล้ว และกำหนด model พร้อมตัวแปร C และ S สำหรับข้าวโพดและถั่วเหลืองไว้ให้เรียบร้อย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การหาค่าที่เหมาะสมที่สุดใน Python เบื้องต้น
คำแนะนำการฝึกหัด
- แสดงค่า slack ของเงื่อนไข Weight
- ตรวจสอบว่า shadow price ของเงื่อนไข Weight มีค่ามากกว่า 0 หรือไม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
model.constraints['Weight'] = C + S >= 7
model.solve()
print(f"Status: {LpStatus[model.status]}\n")
# Print the slack of the weight constraint
print("The slack of the Weight constraint is {}",
____.constraints['Weight'].____)
# Check if the shadow price is greater than 0
if ____.constraints['Weight'].____ > 0:
print('Tightening the constraint will increase minimum cost')