Contact

Follow

  • medium-logo-black-transparent
  • Black Twitter Icon

66 95-460-8830

©2017 by Coraline

Please reload

Recent Posts

ทำความรู้จัก Optimization: ตอนที่ 1

January 28, 2018

 

ทำความรู้จัก Optimization: ตอนที่ 1

 

วิชา Optimization จะมีเรียนอยู่ในสาย Operations Research เป็นศาสตร์แห่งการมองหาจุดสมดุล ซึ่งอาจจะเป็นจุดสูงสุด ต่ำสุด หรือเหมาะสมที่สุด ภายใต้ข้อจำกัดต่างๆ

 

ตัวอย่างเช่น การวางแผนซื้อสินค้า เราควรซื้อสินค้าทั้งหมดกี่ชิ้น เมื่อมีข้อจำกัดเรื่องขนาดของ Warehouse, Demand ต่อเดือน, ราคาค่าขนส่งต่อรอบ และวงเงินที่ซื้อได้ต่อรอบ

 

ถามว่า แล้วไม่มี Optimization ได้มั้ย คำตอบคือ ได้ เพียงแต่เราจะไม่มีความชัดเจนว่า จำนวนที่เราสั่งนั้น มีคุ้มค่าจริงๆ แล้วหรือยัง

 

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

 

โดยหลักการแล้ว การทำ Optimization จะต้องออกแบบสมการ หรือ Model ตั้งต้น โดยมีขั้นตอนดังนี้

  1. ระบุตัวแปรที่เราต้องตัดสินใจ (Decision Variables)

  2. ระบุเป้าหมายที่ต้องการ (Objective Function)

  3. ระบุข้อจำกัดต่างๆ ออกมาให้รูปแบบของ Constraints

รูปแบบของ Optimization Model คือ

 

 

ดูแบบนี้อาจจะไม่เข้าใจ เรามาดูที่ตัวอย่างกันดีกว่าค่ะ

 

ตัวอย่าง

 

บริษัทผลิตช็อคโกแลตยี่ห้อหนึ่งผลิตช็อคโกแลต 2 สูตร ได้แก่ สูตร A และสูตร B โดยทั้ง 2 สูตรใช้ปริมาณนม กับโกโก้ต่างๆ กัน ทั้งนี้ราคาขายของทั้ง 2 สูตรก็ไม่เท่ากัน ดังนี้

  • สูตร A 1 ชิ้น ใช้ นม 1 ยูนิต + โกโก้ 3 ยูนิต ขายได้กำไร 6 บาทต่อ 1 ชิ้น

  • สูตร B 1 ชิ้น ใช้ นม 1 ยูนิต + โกโก้ 2 ยูนิต ขายได้กำไร 5 บาทต่อ 1 ชิ้น

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

 

วิธีทำ

 

1. ระบุตัวแปรที่ต้องตัดสินใจ ในที่นี้ คือ

 

  • จำนวนที่ผลิต A = x

  • จำนวนที่ผลิต B = y

 

**หมายเหตุ ตัวแปรนี้ เป็นตัวแปรที่มีผลต่อเป้าหมายของเรา โดยเราจะให้ตัวสมการเป็นตัวบอกว่า เท่าไหร่จึงจะเหมาะสม

 

2. ระบุเป้าหมายที่ต้องการ คือ ต้องการกำไรสูงที่สุด เมื่อขาย A 1 ชิ้น ได้กำไร 6 บาท ขาย B 1 ชิ้น ได้กำไร 5 บาท เขียนเป็นสมการ คือ

 

6x + 5 y

 

3. ระบุข้อจำกัดต่างๆ ออกมาให้รูปแบบของ Constraints

  • สูตร A 1 ชิ้น ใช้ นม 1 ยูนิต + สูตร B 1 ชิ้น ใช้ นม 1 ยูนิต แต่มีนมทั้งหมดเหลืออยู่ 5 ยูนิต

 

1x+1y ≤ 5

 

  • สูตร A 1 ชิ้น ใช้ โกโก้ 3 ยูนิต + สูตร B 1 ชิ้น ใช้ โกโก้ 2 ยูนิต แต่มีโกโก้ทั้งหมดเหลืออยู่ 12 ยูนิต

 

3x+2y ≤ 12

 

  • จำนวนที่ผลิตต้องเป็นจำนวนเต็ม

 

x ≥ 0, จำนวนเต็ม

y ≥ 0, จำนวนเต็ม

 

 

**หมายเหตุ ตัวเลขที่กำหนดชัดเจนในที่นี้ เช่น นม 1 ยูนิต หรือ โกโก้ 3 ยูนิต เรียกว่า Parameter หรือตัวแปรคงที่

 

หากเรานำข้อจำกัดมาเขียนกราฟ จะได้กราฟดังรูปนี้

 

 

 

เราจะพบว่า จุดตัดระหว่างข้อจำกัดปริมาณนมกับโกโก้ คือ กราฟที่แรงเงา ดังนั้น คำตอบจะอยู่ในส่วนพื้นที่ ที่แรงเงา โดยนำจำนวนเต็มที่เกิดขึ้นมาแทนที่ x กับ y ในสมการเป้าหมาย

                                      6*(0)+5*(0) = 0               ............(1)

 

                                      6*(0)+5*(5) = 25             ............(2)

  

                                      6*(2)+5*(3) = 27             ............(3)

 

                                      6*(4)+5*(0) = 24             ............(4)

 

จะได้คำตอบว่า เราควรผลิต A จำนวน 2 ชิ้น และ B จำนวน 3 ชิ้น เพื่อให้ได้กำไรสูงสุด (เท่ากับ 27 บาท) โดยใช้นมทั้งหมด 5 ยูนิต และ โกโก้ทั้งหมด 12 ยูนิต ตามข้อกำจัด

อย่างไรก็ตาม การทำ Optimization แบบวาดกราฟ มีข้อจำกัดเรื่องจำนวนตัวแปร ที่อาจทำได้แค่ 2 ตัวแปร และเมื่อมี Constraint มากขึ้น อาจสร้างความลำบากในการคำนวณได้ จึงต้องอาศัยตัวช่วยอื่น ไม่ว่าจะเป็นการใช้โปรแกรม Computer มาคำนวณ แต่การจะใช้โปรแกรมมาคำนวณนั้น ถือว่าเป็นการใช้เครื่องมือเพื่อแก้ปัญหา โดยจำเป็นจะต้องขึ้น Optimization Model ให้ได้เสียก่อน เพื่อสามารถระบุให้ได้ว่า อะไรคือ Objective Function, Decision Variable, Constraints หรือแม้แต่ Parameter อื่นๆ และเมื่อ Model มีความซับซ้อนมากขึ้น ต้องมีการเลือกวิธีการแก้ปัญหาในรูปแบบต่างๆ เช่น Linear, Convex, Dynamic, Integer programming ซึ่งเป็นเทคนิคที่ต้องศึกษาเชิงลึก

 

ในบางกรณีเมื่อปัญหามี Constraint จำนวนมาก อาจต้องมีการทำ Relaxation หรือตัด Constraint ที่ไม่สำคัญออก เพื่อให้สามารถแก้ปัญหานั้นได้

 

สำหรับบทความนี้ ขอจบเพียงเท่านี้ก่อน ในตอนหน้า เราจะมาแก้ปัญหา Optimization ด้วย Excel กัน เพื่อให้เห็นภาพของการทำ Optimization ให้มากขึ้น และคุณจะเข้าใจว่า ทำไมศาสตร์นี้ ถึงมีประโยชน์ยิ่งนัก

 

#BigData

#DataScience

#Optimization

#ProductivityImprovement

 

#Coraline ให้คำปรึกษาการทำ Data Science and Data Modeling เพื่อเพิ่มศักยภาพของธุรกิจ

 

 

 

 

Share on Facebook
Share on Twitter
Please reload

Please reload