Solver ปัญหาการขนส่ง โดย Excel ไวกว่า แม่นกว่า ประยุกต์ง่ายกว่า

ความเป็นมา

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

บริษัทผลิตน้ำอัดลม มีโรงงานอยู่5แห่ง และ ต้องส่งสินค้าให้ลูกค้าทั้ง5แห่ง ตามภูมิภาคต่างๆ ซึ่งมีข้อจำกัดด้านDemandของลูกค้า ข้อจำกัดด้านSupplyของโรงงานผลิต และ ต้นทุนการขนส่งในแต่ละเส้นทาง มีจุดประสงค์เพื่อลดต้นทุนรวมให้น้อยที่สุด ดังตารางที่1 นี้

ตารางที่1  ต้นทุนการขนส่งในแต่ละเส้นทาง และข้อจำกัดทั้งหมด

  ลูกค้า1 ลูกค้า2 ลูกค้า3 ลูกค้า4 ลูกค้า5 จำนวนที่โรงงานผลิตได้
โรงงาน1 14 47 16 23 49 300
โรงงาน2 24 32 24 13 19 800
โรงงาน3 21 41 11 50 10 700
โรงงาน4 34 17 21 39 28 400
โรงงาน5 11 13 46 34 44 200
จำนวนที่ลูกค้าสั่ง 500 250 300 500 600  

ใช้โปรแกรม Excel เมื่อเปิดโปรแกรมขึ้นมาให้คุณ Add in ส่วนของ Solver มาก่อน วิธีคือ

1.คลิกที่ตัวเลือกของ Excel ดังรูปด้านล่าง

2.เข้าไปที่ Add in แล้วหาชื่อ Solver Add-in ทำตามขั้นตอนในรูปด้านล่าง แล้วทำการกดตกลง 

 

3.เมื่อโหลดเสร็จแล้ว ให้คุณไปดูที่ข้อมูล เครื่องมือSolver จะขึ้นมาอยู่ขวามือสุด ดังรูปด้านล่าง

 

มาเริ่มทำ Transportation Problem กันเลยดีกว่า

1.นำข้อมูลในตารางไปพิมพ์ลงExcel   ดังรูปด้านล่าง

โดยที่เราจะเว้นช่อง C13:G17 หรือช่องสีเหลืองให้ว่างไว้  ช่องรวมสินค้าที่จะส่ง หรือ H13 ใช้คำสั่ง =SUM(C13:G13) แล้วทำแบบนี้กับ H14 H15 H16 H17 ก็คือเป็นช่องที่รวมปริมาณสินค้าที่จะขนส่งจริงของโรงงานแต่ละโรงงาน ตามรูปด้านล่าง

ในขณะที่ช่อง หรือ C18 ใช้คำสั่ง=SUM(C13:C17)แล้วทำแบบนี้กับ D18 E18 F18 G18 ก็คือเป็นช่องที่รวมปริมาณสินค้าที่จะขนส่งถือมือลูกค้าตามแผน ตามรูปด้านล่าง

 

2. พิมพ์ “ต้นทุนรวม” ไว้ด้านล่างดังรูปด้านล่าง โดยกำหนดให้ช่อง C21 เป็นช่องที่จะแสดงต้นทุนที่ได้จากการคำนวณ

สูตรในช่อง C21 คือ =SUMPRODUCT(C3:G7,C13:G17) ตามรูปด้านล่าง

 

เพิ่มข้อจำกัดด้านจำนวนสินค้าที่ลูกค้าต้องการและข้อจำกัดด้านจำนวนสินค้าที่โรงงานผลิตได้ตามรูปด้านล่าง

 

3.คลิกเลือก Data> Solver ตามที่เคยเพิ่มไว้ก่อนหน้านี้ จะปรากฏหน้าต่าง  Solver Parameters  ตามรูปด้านล่าง

 

จากนั้นตั้งค่าใน Solver Parameters ดังต่อไปนี้

4. Set Target Cell ให้เลือกช่องที่ต้องการหาค่าที่ดีที่สุดคือ ช่อง C21 โดยการคลิกเลือกตามลำดับ ในรูปด้านล่าง

 

5. To: เลือกจุดประสงค์การหาค่าดีที่สุดในครั้งนี้ คือ Min

6. By Changing Cells คือ ตัวแปรตัดสินใจ ให้เลือกช่องที่เว้นว่างไว้ หรือ ช่องสีเหลือง 

7.1 Subject to the Constraints: คลิกที่Add 

7.2 Subject to the Constraints: เลือกช่องรวมสินค้าที่ได้รับ $C$18:$G$18 ตามรูปด้านล่าง

7.3 Subject to the Constraints: เลือกช่องจำนวนสินค้าที่ลูกค้าสั่ง $C$8:$G$8  ตามรูปด้านล่าง

7.4 Subject to the Constraints: กำหนดให้ สินค้าที่ได้รับของลูกค้าแต่ละรายมีค่าเท่ากับจำนวนสินค้าที่ลูกค้าสั่ง แล้วกดปุ่ม Add ตามรูปด้านล่าง

7.5 Subject to the Constraints: 

  กำหนดข้อจำกัดรวมสินค้าที่จะส่งโดยคลิกที่ ลำดับที่ 1 แล้วเลือกช่วง $H$13:$H$17 ตามลำดับที่ 2

  กำหนดจำนวนที่โรงงานผลิตได้โดยคลิกที่ ลำดับที่ 3 แล้วเลือกช่วง=$H$3:$H$7 ตามลำดับที่ 4

  เลือกเงื่อนไขว่า สินค้าที่จะส่งต้องน้อยกว่าเท่ากับจำนวนที่โรงงานผลิต โดยเลือก ≤ ตามลำดับที่ 5

  คลิกปุ่ม Add

7.6 Subject to the Constraints: 

  กำหนด non-negative restrictions โดยคลิกลำดับที่ 1 แล้วเลือกช่วง $C$13:$G$17 ที่เป็นตัวแปรตัดสินใจ

  กำหนดให้ลำดับที่ 3 เป็น ≥ เพื่อให้ตัวแปรตัดสินใจทั้งหมดมีค่ามากกว่าเท่ากับ 0 (ไม่ติดลบ)

  กำหนดให้ลำดับที่ 4 มีค่าเป็น 0

  คลิกปุ่ม OK เพื่อสิ้นสุดการกำหนดข้อจำกัด

 หมายเหตุ จริงๆแล้วขั้นตอนกำหนด non-negative restrictions นี้อาจไม่ต้องทำก็ได้ ท่านสามารถคลิกถูกในตำแหน่งที่แสดงไว้ในรูปด้านล่างได้เลย

8. เลือกวิธีการที่เหมาะสม สำหรับปัญหาการขนส่งนี้เป็นตัวแบบกำหนดการเชิงเส้น (linear programming model) ซึ่งเหมาะที่จะเลือกใช้วิธี Simplex LP ในการแก้ปัญหา ดังนั้นให้คลิกเลือกตามลำดับในรูปด้านล่าง

 

9. กด Solver ได้เลย 

10. หลังจากกดปุ่ม Solve จะมีหน้าต่าง Solver Results ขึ้นมา เราสามารถคลิกเลือกว่าจะให้โปรแกรมแสดงReports แบบไหนบ้าง ซึ่งReportsพวกนี้จะแสดงคำตอบ ผลการวิเคราะห์ความไว ดูว่าต้นทุนการขนส่งสามารถเพิ่มหรือลดได้อีกหรือไม่อย่างไร ใช้ทรัพยากรจนเต็มความจุแล้วหรือยัง ถ้าคุณไม่ต้องการแสดงผลเหล่านั้นก็ไม่ต้องเลือกเลยก็ได้ แล้วข้ามกด OK ได้เลย ดังรูปด้านล่าง

 

11.คำตอบจะออกมาตามที่เราได้Setค่าไว้นั้นเอง ดังรูปด้านล่าง

 

จากรูปนี้ เราจะได้แผนการขนส่งว่า

กำหนดให้โรงงาน1 ส่งสินค้าไปลูกค้า1 จำนวน 300 ชิ้น

กำหนดให้โรงงาน2 ส่งสินค้าไปลูกค้า4 จำนวน 500 ชิ้น และ ส่งสินค้าไปลูกค้า5 จำนวน 200 ชิ้น

กำหนดให้โรงงาน3 ส่งสินค้าไปลูกค้า3 จำนวน 300 ชิ้น และ ส่งสินค้าไปลูกค้า5 จำนวน 400 ชิ้น

กำหนดให้โรงงาน4 ส่งสินค้าไปลูกค้า2 จำนวน 250 ชิ้น

กำหนดให้โรงงาน5 ส่งสินค้าไปลูกค้า1 จำนวน 200 ชิ้น

โดยมีต้นทุนรวมน้อยที่สุดเท่ากับ 28,250 บาท

 

อาจจะดูหลายขั้นตอนไปนิด แต่ค่าที่ได้นั้น รับประกันความแม่นยำ ทำบ่อยๆใช้เวลา5นาทีก็ได้คำตอบละ เร็วยิ่งกว่าวิธีกระจายต้นทุนสะอีก ถ้าคุณมีคอมพิวเตอร์ มีโปรแกรมExcel ผมว่าวิธีก็เป็นอีกวิธีที่น่าลอง เหมาะสำหรับ ผู้บริหาร วิศวกร IE อย่างมากมาย

 นอกจากนี้ยังสามารถนำไปใช้ได้กับอีกหลายกรณีในการขนส่ง เช่น

- กรณีที่มีการห้ามส่งสินค้าในบางช่องทาง

- กรณีที่มีการกำหนดการจัดส่งขั้นต่ำในบางช่องทาง

- กรณีปัญหาการพักสินค้าระหว่างทาง

 

หวังว่าจะเป็นประโยชน์กับผู้ได้เข้ามาอ่านครับ

 

ข้อมูลอ้างอิงจาก

รศ. สุทธิมา ชำนาญ , Quantitative Analysis for Management and Making. กรุงเทพมหานคร: วิทยพัฒน์, 2551.