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

การกำหนดขอบเขต (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)
แก้ไขและรันโค้ด