การกำหนดขอบเขต (Bounds)
ปัญหาที่มีขอบเขตจำกัด (Bound-constrained) คือปัญหาที่ตัวแปรถูกจำกัดให้อยู่ในช่วงค่าหนึ่งๆ
สมมติว่าคุณกำลังบริหารร้านกาแฟและต้องสั่งซื้อเมล็ดกาแฟ 2 ชนิด ได้แก่ b[0] และ b[1] โดยต้องการลดต้นทุนให้น้อยที่สุด ซัพพลายเออร์กำหนดปริมาณสั่งขั้นต่ำ 2 หน่วยต่อเมล็ดกาแฟแต่ละชนิด และสั่งได้สูงสุดไม่เกิน 100 หน่วยต่อชนิด
โหลด minimize และ Bounds จาก scipy.optimize ให้แล้ว พร้อมกับฟังก์ชันวัตถุประสงค์
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การหาค่าที่เหมาะสมที่สุดใน Python เบื้องต้น
คำแนะนำการฝึกหัด
- กำหนดค่าขอบเขตล่างและขอบเขตบนสำหรับ
b[0]และb[1]เป็นbounds - ใช้
scipyเพื่อหาค่าต่ำสุด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def objective_function(b):
return (b[0] - 6)**2 + (b[1] - 8)**2 + 3
# Set the bounds of your problem
bounds = ____
x0 = [10, 5]
# Find the minimum
result = ____(____)
print(result.x)