การหาค่าสูงสุด
การหาค่าเหมาะสมแบบไม่มีข้อจำกัด (unconstrained optimization) คือการหาค่าสูงสุดหรือค่าต่ำสุดของฟังก์ชันที่ไม่มีเงื่อนไขหรือข้อจำกัดใดๆ บนตัวแปรนำเข้า
สมมติว่ากำลังจะเปิดตัวผลิตภัณฑ์ใหม่ในบริษัทคุกกี้ของคุณ และต้องการหาวิธีเพิ่มรายได้ให้สูงสุด รายได้สามารถสร้างโมเดลได้ด้วยฟังก์ชันวัตถุประสงค์นี้ โดยที่ R คือรายได้ที่เกิดขึ้นเมื่อตั้งราคาที่ x
R = -(x**2) + 3*x - 5
แก้ปัญหาการหาค่าสูงสุดนี้โดยใช้ minimize_scalar() จาก SciPy ซึ่งโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การหาค่าที่เหมาะสมที่สุดใน Python เบื้องต้น
คำแนะนำการฝึกหัด
- กำหนดฟังก์ชันวัตถุประสงค์ใหม่ที่เป็นค่าลบของฟังก์ชันวัตถุประสงค์เดิม
- หาค่าสูงสุดของฟังก์ชันที่กลับเครื่องหมายแล้ว
- แสดงค่าที่เหมาะสมที่สุดให้ครบสองตำแหน่งทศนิยม
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the new objective function
def negated_function(x):
____
# Maximize the negated function
result = ____
# Print the result
print(f"The maximum is {____} in two decimals")