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

การหาค่าเหมาะที่สุดแบบเชิงเส้นสำหรับบิสกิต

ยินดีด้วย! ธุรกิจบิสกิตของคุณเติบโตขึ้น ตอนนี้มีโรงอบขนมสองแห่ง คือ \(A\) และ \(B\) เพื่อช่วยส่งบิสกิตทั่วประเทศ

โรงอบขนมแต่ละแห่งผลิตบิสกิตได้วันละ 100 ชิ้น โดยต้นทุนการผลิตที่โรงอบ \(A\) เท่ากับ \(1.5\) เท่าของปริมาณ \(q\) และที่โรงอบ \(B\) เท่ากับ \(1.75q\)

ราคากำหนดด้วยสมการ \(150 - q\)

ธุรกิจกำลังไปได้ดี และมีคำสั่งซื้อล่วงหน้าแล้ว 140 ชิ้นสำหรับวันนี้ เป้าหมายคือการหาค่าสูงสุดของกำไรในวันนี้ ควรผลิตบิสกิตจำนวนเท่าใดในแต่ละโรงอบขนม?

minimize, Bounds และ LinearConstraint ถูกโหลดไว้ให้แล้ว และฟังก์ชันรายได้ R ถูกกำหนดไว้แล้วเช่นกัน

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

การหาค่าที่เหมาะสมที่สุดใน Python เบื้องต้น

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดฟังก์ชันต้นทุน C โดยใช้ q[0] สำหรับปริมาณการผลิตที่โรงอบ \(A\) และ q[1] สำหรับโรงอบ \(B\)
  • กำหนดฟังก์ชัน profit
  • กำหนด bounds และ constraints สำหรับปัญหาการหาค่าเหมาะที่สุด
  • ดำเนินการหาค่าเหมาะที่สุด แล้วบันทึกผลลัพธ์ไว้ใน result

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

def R(q):
    return (150 - q[0] - q[1]) * (q[0] + q[1])

# Define the cost function
def C(q): 
  return ____

# Define the profit function
def profit(q): 
  return ____

# Define the bounds and constraints
bounds = Bounds(____, ____) 
constraints = LinearConstraint([1, 1], ____) 

# Perform optimization
result = ____(lambda q: ____,                 
                  [50, 50],              
                  bounds=bounds,
                  constraints=constraints)

print(result.message)
print(f'The optimal number of biscuits to bake in bakery A is: {result.x[0]:.2f}')
print(f'The optimal number of biscuits to bake in bakery B is: {result.x[1]:.2f}')
print(f'The bakery company made: ${-result.fun:.2f}')
แก้ไขและรันโค้ด