optimization maximize minimize

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด

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

การทำ Optimization ด้วยการหาอนุพันธ์

เวลาเรามีฟังก์ชันอะไรซักอย่าง แล้วอยากจะหาว่าจุดสูงสุดหรือจุดต่ำสุดในช่วงที่สนใจอยู่ที่ตำแหน่งไหน? เราจะทำยังไงกับมันได้บ้าง?

ก่อนจะไปหาค่าที่ทำให้เกิด “จุดสูงสุด” หรือ “จุดต่ำสุด” เราไปรู้จักอีกคำนึงก่อน นั่นก็คือ Critical Value หรือ ค่า x ที่ทำให้เกิดจุดวกกลับ (Extreme Point) ของเส้นกราฟซะก่อน

optimization maximize minimize

ซึ่งจุดวกกลับก็จะมี 2 ลักษณะอีกคือ

  • ถ้าความชันของกราฟเปลี่ยนจากบวก ไป0 แล้ว ไปลบ แสดงว่าจุดวกกลับนั้นเป็นแบบตัว A ซึ่งก็น่าจะทำให้เกิดจุดต่ำสูงสุด
  • ถ้าความชันของกราฟเปลี่ยนจากลบ ไป0 แล้ว ไปบวก แสดงว่าจุดวกกลับนั้นเป็นแบบตัว U ซึ่งก็น่าจะทำให้เกิดจุดต่ำสุด

แปลว่าถ้าเราหาสมการของอนุพันธ์ได้ แล้วเอามาเทียบกับค่า 0 ก็จะสามารถแก้สมการหาได้ว่า x ค่าใดทำให้เกิดความชันเป็น 0 บ้าง ซึ่งก็คือค่าที่ทำให้เกิดจุดวกกลับนั่นเอง

จาก y=x^3-10x^2

เมื่อ Diff แล้วจะได้แบบนี้

y'=3x^2-20x

เดี๋ยวผมลอง Plot กราฟดู

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 1

จะเห็นชัดเลยว่าจุดวกกลับนั้นมีค่า y’ เป็น 0 จริงๆ

ดังนั้นเราเอา 3x^2-20x=0 แล้วแก้สมการ

แยกตัวประกอบเทียบกับ 0

x(3x-20)=0

จะได้ว่า

  • x=0 หรือ
  • 3x-20=0 ซึ่ง x=20/3 = 6.667 นั่นเอง

ทีนี้ถ้าเราอยากจะ Test ว่า จุดที่เราแก้สมการมาได้ เช่น x=0, x= 6.6667 นั้น จุดไหนเป็นประเภทจุดวกกลับแบบไหน เป็นแบบจุดสูงสุด หรือ ต่ำสุด โดยไม่อยาก Plot กราฟออกมา หรือไม่อยากจะมานั่งดูค่าบริเวณใกล้เคียง เราก็สามารถทดสอบได้จากการหาค่า y” ที่จุด x นั้นๆ นั่นเอง

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 2
  • ถ้าค่า y” ที่ x นั้นๆ มากกว่า 0 =ความชัน (y’) มีอัตราการเปลี่ยนแปลงเป็นบวก (แปลว่า ความชันเพิ่มจาก – 0 + ) แสดงว่าเป็นจุดวกกลับแบบต่ำสุด (ชันจาก – 0 + คล้าย กับว่าถึงเวลาที่เป็นขาขึ้นแล้วนั่นเอง )
  • ถ้าค่า y” ที่ x นั้นๆ น้อยกว่า 0 =ความชัน (y’) มีอัตราการเปลี่ยนแปลงเป็นลบ (แปลว่า ความชันเพิ่มจาก + 0 – ) แสดงว่าเป็นจุดวกกลับแบบสูงสุด

ในกรณีตัวอย่างของเรา ที่จุดที่แก้สมการมาได้ 2 ตัว

  • ที่จุด x=0 , y” =-20 ซึ่งเป็นลบ แสดงว่าเป็นจุดวกกลับแบบจุดสูงสุด
  • ที่จุด x=6.667, y”=20 ซึ่งเป็นบวก แสดงว่าเป็นจุดวกกลับแบบจุดต่ำสุด

อย่างไรก็ตาม จุดวกกลับสามารถมีได้หลายแบบ และมีได้หลายจุดด้วย เรามารู้จักคำศัพท์ที่เกี่ยวข้องกันนิดนึง

  • จุดวกกลับที่เป็นประเภทสูงสุดทั้งหมด เรียกว่าเป็น จุดสูงสุดสัมพัทธ์ (Relative Maximum หรือ Local Maximum)
    • ในกราฟ y คือจุดที่ x=0,y=0
    • ในกราฟ y’ ไม่มี เพราะไม่มีจุกวกกลับรูปตัว A เลย
  • จุดวกกลับที่เป็นประเภทต่ำสุดทั้งหมด เรียกว่าเป็น จุดต่ำสุดสัมพัทธ์ (Relative Minimum หรือ Local Minimum)
    • ในกราฟ y คือ จุดที่ x=6.667, y=-148.148
    • ในกราฟ y’ คือ จุด x=3.333, y’= -33.33
  • คำว่าสัมพัทธ์ พูดง่ายๆ ก็คือ เมื่อลองเทียบกับบริเวณข้างๆ แล้วเป็นยังไง

ทีนี้มาดูแบบสัมบูรณ์กันบ้าง

  • แต่ถ้าจุดใดที่ฟังก์ชันมีค่ามากที่สุดจริงๆ เมื่อเทียบกับทุกจุด แบบนี้เรียกว่า จุดสูงสุดสัมบูรณ์ (Absolute Maximum หรือ Global Maximum)
    • ในกราฟ y ไม่มี เพราะ x เพิ่มขึ้นเรื่อยๆ แล้ว y ก็เพิ่มขึ้นไปจนถึง infinity
  • แต่ถ้าจุดใดที่ฟังก์ชันมีค่าน้อยที่สุดจริงๆ เมื่อเทียบกับทุกจุด แบบนี้เรียกว่า จุดต่ำสุดสัมบูรณ์ (Absolute Minimum หรือ Global Minimum)
    • ในกราฟ y ไม่มี เพราะ x ลดลงเรื่อยๆ แล้ว y ก็ลดลงไปจนถึง -infinity
    • ในกราฟ y’ คือ จุด x=3.333, y’= -33.33
    • จะเห็นว่าจุดที่เป็น Absolute Max/Min ก็จะเป็น Relative Max/min ด้วยเสมอ แต่ในทางกลับกันไม่ใช่นะ

นอกจากวิธีนี้แล้ว การหาค่าจุดสูงสุดต่ำสุดด้วยเครื่องมืออื่นๆ ก็มีดังนี้

หาค่าจุดสูงสุดต่ำสุดด้วยเครื่องมืออื่นๆ

ใช้ Excel Solver

หากจะใช้ Excel ทำ Optimization เราจะใช้ Solver Add-in มาทำ เพราะมันเป็นเครื่องมือที่มีมากับ Excel อยู่แล้ว และเก่งกว่า Goal Seek ตรงที่หาค่า Min, Max ได้ และใส่ข้อจำกัดหรือ Constrain ได้ด้วย

วิธีการเรียกใช้ Solver ให้ไปที่ File -> Excel Options -> Add-in -> Go… -> ติ๊ก Solver Addin

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 4

เช่น เราสามารถให้ Solver ทำการ

  • Set Objective : หาค่า y (B3) น้อยสุด (Min)
  • By Changing Variable Cell : โดยที่ให้เปลี่ยนค่า x (A3) ไปเรื่อยๆ
  • Subject to the Constraints : โดยมีข้อจำกัดคือ x>=0
เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 5

Solving Method ให้เลือก GRG Nonlinear เพราะเราก็ได้เห็นแล้วว่าสมการระหว่างค่า x กับ y นั้นเป็นเส้นโค้ง ไม่ใช่เส้นตรง

พอกด Solve : จะได้ว่า Solver ก็สามารถหาค่า x ที่ทำให้ y ต่ำสุดได้ 6.667 เช่นกัน

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 6

หรือจะทำอีกแบบนึงคือ Solve หาค่า x ที่ทำให้ y’ เป็น 0 (Value of : 0) โดยที่ x>=0.1 ก็ได้เช่นกัน พอ Solve ก็จะได้คำตอบเดียวกัน

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 7
เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 8

ใช้เว็บ Wolfram Alpha

เขียนสิ่งที่ต้องการรู้ในเว็บ Wolfram Alpha ซึ่งเป็นเว็บด้านการคำนวณทางคณิตศาสตร์โดยเฉพาะ บอกเลยว่าโคตรโกง!! เพียงแค่ใส่สมการแล้วมันแก้ให้เลยแบบนี้ก็ได้

3x^2-20x=0

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 9

เอาจริงๆ ใส่สมการดังเดิมแบบนี้ไปเลยยังได้ minimize maximize y=x^3-10x^2

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 10

ตัวอย่างเชิงประยุกต์ : ออกแบบภาชนะที่ต้นทุนต่ำสุด

ถ้าต้องทำทรงกระบอกบรรจุน้ำปริมาตร 1 ลิตรพอดี (แบบมีฝาปิดด้วย) ควรจะทำทรงกระบอกรัศมี (r) เท่าไหร่ สูง (h) เท่าไร่ จึงจะประหยัดวัตถุดิบที่ใช้ผลิตมากที่สุด

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 11

จะเห็นว่าการที่จะประหยัดวัตถุดิบให้ได้มากที่สุด ก็คือ ต้องทำให้พื้นที่ผิวน้อยที่สุดนั่นเอง (นี่แหละคือการ Optimization)

พื้นที่ผิว

ซึ่งพื้นที่ผิวคิดจาก พื้นที่ฝาและก้น รวมกับพื้นที่ผิวทรงกระบอกด้านข้าง

พื้นที่ฝาและก้น : เป็นพื้นที่วงกลม 2 อัน ฝาปิดบนกับฐานข้างล่าง

= PI()*r^2 * 2 อัน

พื้นที่ผิวรอบๆ : มาจากทรงกระบอกด้านข้าง = เส้นสอบรูปวงกลม *ความสูง

=2*PI()*r*h
พื้นที่ผิวรวม A(r,h) = 2* PI()*r^2 + 2*PI()*r*h

ปริมาตร

ปริมาตร V = PI()*r^2 *h

ย้ายข้างให้เหลือ h ตัวเดียว

h = V/(PI()*r^2)

เราเอา h ที่เป็นข้อจำกัดนี่ เข้าไปแทนในสมการพื้นที่ A ซะ เพื่อให้ฟังก์ชันของพื้นที่เขียนอยู่ในรูปแบบของ r ตัวเดียว

พื้นที่ผิวรวม A(r) = 2* PI()*r^2 + 2*PI()*r* V/(PI()*r^2)

ตัดไปตัดมา จะได้ว่า

A(r) = 2* PI()*r^2 + 2V/r

หากเรา diff หา A’ จะได้ว่า

A'(r) = 4* PI()*r - 2V/r^2

ถ้าเรา Solve หา r ที่ทำให้ A'(r) เป็น 0 จะได้ว่า

4* PI()*r = 2V/r^2
V = 2 * PI()* r^3
r = (V / 2 * PI() )^(1/3)

V ในที่นี้ที่เราต้องการปริมาตรคือ 1000 cm3 ก็แทนค่าเลย

r  = (1000 / (2 * PI()))^(1/3) = 5.419261 m นั่นเอง

ส่วนความสูง h เรารู้ความสัมพันธ์ของมันอยู่แล้ว ก็แทนค่าตัวแปรเลย

h = V/(PI()*r^2) = 1000/(PI()*5.419261^2) = 10.83852 cm

หากเราลอง Plot กราฟด้วย Excel ที่ V=1000 จะได้เห็นภาพ ดังนี้

เรียน Calculus ด้วย Excel ตอนที่ 3 : Optimization หาจุดสูงสุด จุดต่ำสุด 12

ที่ r ประมาณ 5.4 ทำให้ Aต่ำสุดจริงๆ เพราะว่า

A’ อยู่ที่ประมาณ 0 ส่วน A” มีค่าเป็น + แสดงว่า A’กำลังชันขึ้น แสดงว่าเป็นจุดวกกลับแบบต่ำสุดนั่นเอง

สารบัญ Calculus