วิธีการค้นหาแบบครอบคลุม (Exhaustive Search)
คุณได้นำฟังก์ชันวัตถุประสงค์มาใช้และแสดงผลลัพธ์เป็นกราฟแล้ว แต่การหาค่าที่เหมาะสมที่สุดยังต้องอาศัยการมองดูจากกราฟเท่านั้น วิธีที่แม่นยำกว่าคือการใช้วิธีการค้นหาแบบครอบคลุม (exhaustive search method)
ในแบบฝึกหัดนี้ คุณยังคงทำงานให้กับบริษัทสื่อที่จัดพิมพ์นิตยสาร แต่คราวนี้จะมุ่งเน้นไปที่การหาวิธี เพิ่มกำไรให้สูงสุด แทนการลดต้นทุน โปรดจำไว้ว่าหน่วยของกำไรและปริมาณเป็นหน่วยพัน ดังนั้น q ที่มีค่า 1 หมายถึงนิตยสาร 1,000 เล่ม และกำไร 5 หมายถึง $5,000
อาร์เรย์ quantity จากแบบฝึกหัดก่อนหน้าและฟังก์ชัน profit() สำหรับการ optimize ได้ถูกเตรียมไว้ให้แล้ว
ได้นำเข้า numpy ให้แล้วในชื่อ np
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การหาค่าที่เหมาะสมที่สุดใน Python เบื้องต้น
คำแนะนำการฝึกหัด
- คำนวณกำไรสำหรับทุกปริมาณโดยใช้ฟังก์ชัน
profit()ที่เตรียมไว้ให้ แล้วบันทึกผลลัพธ์ลงในprofits - หาค่ากำไรสูงสุดด้วยเมธอดของอาร์เรย์ที่เหมาะสม แล้วบันทึกลงใน
max_profit - หาปริมาณที่เหมาะสมที่สุดสำหรับการเพิ่มกำไรสูงสุด โดยบันทึก index ของค่ากำไรสูงสุดไว้ใน
max_indexจากนั้นใช้ค่านี้ subsetquantity - แสดงผลลัพธ์โดยเติม f-string ให้สมบูรณ์ และอย่าลืมคูณค่ากำไรและปริมาณด้วย
1000
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Calculate the profit for every quantity
profits = ____
# Find the maximum profit
max_profit = ____
# Find the optimal quantity
max_profit_ind = ____
optimal_quantity = ____
# Print the results
print(f"You need to print {____} magazines to make the maximum profit of ${____}.")