You are on page 1of 77

โปรแกรมโลจิ ติก ์เบื้องต้น

อ.ดร.ภัทรพง ์ ภาคภูมิ

15 มีนาคม พ. . 2563
2

Copyright © 2019 ภัทรพง ์ ภาคภูมิ


ารบัญ
0.1 ประม ลการ อน . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1 บทนำ 9

2 แบบจำลองการตัด ินใจ Decision model 11


2.1 linear model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 ปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็ม . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1 job scheduling problem (JSP) [10] [3] . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 knapsack problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3 Lot­Sizing problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.4 network flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.5 assignment problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.6 ปัญ าการเดินทางของเซล ์แมน travelling salesman problem . . . . . . . . . . 32

3 ธิ ีการ าคำตอบที่ดีที่ ุด Optimization solution method 37


3.1 ปัญ ากำ นดการเชิงเ ้น . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1.1 ิธี การ าคำตอบที่ ดี ที่ ุด ำ รับ ปัญ ากำ นดการเชิง เ ้น optimization solution
method for lp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1.2 ิธีพิ ูจน์คำตอบที่ดีที่ ุด ำ รับปัญ ากำ นดการเชิงเ ้น . . . . . . . . . . . . . . . 37
3.2 ปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็ม . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.1 การ าคำตอบที่ดีที่ ุด ำ รับปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็ม . . . . . . . . 37
3.2.2 การผ่อนคลายและการพิ ูจน์ค่าที่ดีที่ ุด . . . . . . . . . . . . . . . . . . . . . . 38
3.2.3 ิธีการ branch­and­bound . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4 Cutting Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 ธิ ีฮิ ริ ติก ์ Heuristic methods 47


4.1 ธิ ีฮิ ริ ติก ์ ำ รับปัญ าการเดินทางของเซล ์แมน . . . . . . . . . . . . . . . . . . . . . . 48
4.1.1 แบบการ ร้างทั ร์ tour contruction . . . . . . . . . . . . . . . . . . . . . . . 48
4.1.2 แบบการปรับปรุงทั ร์ tour improvement . . . . . . . . . . . . . . . . . . . . 49
4.2 ขั้นตอน ิธีเชิงพันธุกรรม Genetic algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 50

5 Special Topic ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ VRP 57


5.1 Heuristic methods for CVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1.1 Clarke and Wright saving algorithm . . . . . . . . . . . . . . . . . . . . . . 63

3
4 ารบัญ

6 Special Topic ปัญ าการ างแผนจัด างตู้คอนเทนเนอร์ภายในเรือ นิ ค้า 69


6.1 รูปแบบของปัญ า . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
0.1. ประมวลการ อน 5

0.1 ประม ลการ อน


ประจำภาคปลาย ปีการ ึก า 2560
1. คณะ ิ กรรม า ตร์ าขา ิชา ิ กรรมอุต า การ
2. ร ั ิชา 02206337 ชื่อ ิชา โปรแกรมโลจิ ติก ์เบื้องต้น (Introduction to Logistics Program)
3. จำน น 3 น่ ยกิต (บรรยาย 3 ชม. ึก าด้ ยตั เอง 6 ชม.) นิ ิตเข้าเรียน 3 ชั่ โมงต่อ ัปดา ์และ ึก าด้ ยตั เอง
นอก ้องเรียนเป็นเ ลา 6 ชั่ โมงต่อ ัปดา ์
4. คำอธิบายราย ิชา
แบบจำลองการตัด ินใจ ิธีการ าคำตอบที่ดีที่ ุด ิธีฮิ ริ ติก ์ ิธีเมต้าฮิ ริ ติก ์ ขั้นตอน ิธีเชิงพันธุกรรม ปัญ า
การจัดเ ้นทาง ำ รับยานพา นะ ปัญ าการ างแผนจัด างตู้คอนเทนเนอร์ภายในเรือ ินค้า
Decision model. Optimization solution method. Heuristic method. Meta­heuristic method. Genetic
algorithm. Vehicle routing problem. Containership storage planning problem.
5. ั ข้อ ิชา
(a) Decision model
(b) Linear Programming
(c) Mixed Integer Linear Programming
(d) Heuristic Algorithms
(e) Metaheuristic Algorithms
(f) Genetic Algorithm
(g) Vehicle Routing Problems
(h) Containership Storage Planning Problem
(i) Other Selected Topics
6. มาตรฐานผลการเรียนรู้จาก ลัก ูตร ู่ราย ิชา
(a) คุณธรรม จริยธรรม
i. มี ินัย ตรงต่อ เ ลา รับ ผิด ชอบต่อ ตนเองและ ังคม เคารพกฎระเบียบและข้อ บังคับ ต่าง ๆ ขององค์กร
และ ังคม
ประเมินจากการตรงต่อเ ลาของนิ ิตในการเข้าเรียน การ ่งงานที่ได้รับมอบ มายตามกำ นดเ ลา
และการแต่งกายที่ถูกต้องตามระเบียบม า ิทยาลัย
ุ่มตร จเช็คการเข้าเรียนและการแต่งกายด้ ยค ามน่าจะเป็น นึ่งใน อง 5%
(b) ค ามรู้
i. มี ค ามรู้ และค ามเข้าใจทางคณิต า ตร์ พื้น ฐาน ิทยา า ตร์ พื้น ฐาน ิ กรรมพื้น ฐาน และ เ ร ฐ­
า ตร์ เพื่อ การประยุกต์ ใช้ กับ งานทางด้าน ิ กรรม า ตร์ ที่ เกี่ย ข้อง และการ ร้างน ัตกรรมทาง
เทคโนโลยี
ประเมิน ผล ัมฤทธิ์ ทางการเรียนและการปฏิบัติ ของนิ ิต เช่น การทด อบย่อย การ อบกลางภาค
การ อบปลายภาค
อบย่อย 10% อบกลางภาค 20% อบปลายภาค 25%
6 ารบัญ

ii. มี ค ามรู้ และค ามเข้าใจเกี่ย กับ ลัก การที่ าคัญ ทั้ง ในเชิง ทฤ ฎี และปฏิบัติ ในเนื้อ าของ าขา ิชา
เฉพาะด้านทาง ิ กรรม และทางด้านโลจิ ติก ์ ามารถนาไปประยุกต์ใช้ในการ างแผนและแก้ปัญ า
ในกิจกรรมด้านโลจิ ติก ์ได้
ประเมินจากการ อบภาคทฤ ฎีและปฏิบัติในราย ิชาที่เกี่ย ข้อง
ประเมินจากรายงานของนิ ิต และการนำเ นอ น้าชั้นเรียน
รายงานและการนำเ นอ น้าชั้นเรียน 5%
iii. ามารถบูรณาการค ามรู้ใน าขา ิชาที่ ึก ากับค ามรู้ใน า ตร์อื่น ๆ ที่เกี่ย ข้อง
iv. ามารถ ิเคราะ ์ และแก้ไขปัญ า ด้ ย ิธี การที่ เ มาะ ม ร มถึง การประยุกต์ ใช้ เครื่องมือ ที่ เ มาะ ม
เช่น โปรแกรมคอมพิ เตอร์ เป็นต้น
v. ามารถใช้ค ามรู้และทัก ะใน าขา ิชาของตน ในการประยุกต์แก้ไขปัญ าในงานจริงได้
เยี่ยมชม ถานประกอบการเพื่อ ึก าดูงานจริง 3%
(c) ทัก ะทางปัญญา
i. มีค ามคิดอย่างมี ิจารณญาณที่ดี
ประเมินผลจากการแก้ ถานการณ์ที่ เกิดขึ้นในระ ่างการเรียน การ อน เช่น การแก้ปัญ าโจทย์
การตอบซักถามคำถาม 5 %
ประเมินผลจากการทำรายงานและงานที่ได้รับมอบ มาย 15%
ii. ามารถร บร ม ึก า ิเคราะ ์ และ รุปประเด็นปัญ าและค ามต้องการ
iii. ามารถคิด ิเคราะ ์ และแก้ไขปัญ าด้าน ิ กรรมได้ อย่างมี ระบบ ร มถึง การใช้ ข้อมูล ประกอบการ
ตัด ินใจในการทำงานได้อย่างมีประ ิทธิภาพ
iv. ามารถ ืบค้นข้อมูลและแ ง าค ามรู้เพิ่มเติมได้ด้ ยตนเอง เพื่อการเรียนรู้ตลอดชี ิต และทันต่อการ
เปลี่ยนแปลงทางองค์ค ามรู้และเทคโนโลยีใ ม่ๆ
(d) ทัก ะค าม ัมพันธ์ระ ่างบุคคลและค ามรับผิดชอบ
i. ามารถ ื่อ ารกับ กลุ่ม คนที่ ลาก ลาย และ ามารถ นทนาทั้ง ภา าไทยและภา าต่างประเท ได้
อย่างมี ประ ิทธิภาพ ามารถใช้ค ามรู้ใน าขา ิชาชีพมา ื่อ ารต่อ ังคมได้ในประเด็นที่เ มาะ ม
การแ ดงค ามคิดเ ็นจากการถาม ตอบในชั้นเรียน 2%
ii. ามารถเป็น ผู้ ริเริ่ม แ ดงประเด็น ในการแก้ไข ถานการณ์ เชิง ร้าง รรค์ ทั้ง ่ นตั และ ่ นร ม พร้อม
ทั้ง แ ดงจุดยืน อย่างพอเ มาะทั้ง ของตนเองและของกลุ่ม ร มทั้ง ใ ้ ค ามช่ ยเ ลือ และอำน ยค าม
ะด ก ในการแก้ไขปัญ า ถานการณ์ต่าง ๆ
iii. ามารถ างแผนและรับ ผิด ชอบในการพัฒนาการเรียนรู้ ทั้ง ของตนเอง และ อดคล้องกับ ทาง ิชาชีพ
อย่างต่อเนื่อง
iv. รู้จัก บทบาท น้าที่ และมี ค ามรับ ผิด ชอบในการทำงานตามที่ มอบ มาย ทั้ง งานบุคคลและงานกลุ่ม
ามารถปรับตั และทำงานร่ มกับผู้อื่นทั้งในฐานะผู้นำและผู้ตามได้อย่างมีประ ิทธิภาพ ามารถ างตั
ได้อย่างเ มาะ มกับค ามรับผิดชอบ
(e) ทัก ะการ ิเคราะ ์เชิงตั เลข การ ื่อ าร และการใช้เทคโนโลยี าร นเท
i. มีทัก ะในการใช้คอมพิ เตอร์ ำ รับการทำงานที่เกี่ย ข้องกับ ิชาชีพได้เป็นอย่างดี
ค ามถูกต้องของคำตอบที่เกิดจากการ ใช้คอมพิ เตอร์ในการประม ลผล
อบใช้คอมพิ เตอร์ 10%
ii. ามารถประยุกต์ใช้เทคโนโลยี าร นเท และการ ื่อ าร ที่ทัน มัยได้อย่างเ มาะ มและมีประ ิทธิภาพ
0.1. ประมวลการ อน 7

7. ธิ ีการ อน
การบรรยาย อภิปราย ึก าค้นค ้าด้ ยตนเอง การทำการบ้าน การทำงานกลุ่ม

8. อุปกรณ์ ื่อการ อน Slides, whiteboard, computer

9. การ ัดผล ัมฤทธิ์ในการเรียน

(a) classroom and homework 35 %


i. CC การเข้าเรียน 5 %
่งเป็น selfie ใ ้รูปและเ ลาชัดเจนและ identifiable กลับด้านใ ้อ่านได้ การ ่งรูปผิดเป็นเจตนา
ทำทุจริตและ ่งผลใ ้เกรดลดลง 1 ประจุในแต่ละครั้งที่ทำ
ii. IN classroom individual assignment 15 %
iii. GW classroom group work 15 %
นิ ิต ที่ ลาเรียนใ ้ ่ง ไฟล์ แจ้ง การลาเรียน โดยต้องแจ้ง ล่ ง น้า ก่อนเ ลา 3 ัน ยกเ ้น เ ตู ุด ิ ัย
คะแนน CC ันนั้นจะไม่นำมาคิด
่ นงาน IN และ GW ต้องทำงาน ลังจากลาภายใน 7 ัน โดย าโจทย์ที่ใกล้เคียงกันมา present
ใ ้อ.ในชั่ โมง office hour ที่นัด มายไ ้

(b) exams and quizzes 65 %


i. HQ อบย่อย 10%
ii. CQ อบโดยใช้คอมพิ เตอร์ 10 %
iii. MID อบกลางภาค 20%
iv. FIN การ อบไล่ 25 % (cumulative) นิ ิต ที่ ลา อบ ต้องแจ้ง ล่ ง น้า ก่อนเ ลา 7 ัน ยกเ ้น เ ตู
ุด ิ ัย ต้องตาม อบภายใน 7 ัน โดยโจทย์ใ ม่จะมีค ามยากขึ้นมาก

10. การประเมินผลการเรียน อิงกลุ่มและอิงเกณฑ์ดังนี้

(a) A 80+
(b) B 70+
(c) C 60+
(d) D 50+

11. เอก ารอ่านประกอบ


(Required) Introduction to Operations Research, Frederick S. Hillier, Gerald J. Lieberman, (10th Ed)
2015

12. ชั่ โมงเรียน จันทร์และพุธ เ ลา 9:00­10:30 ้อง 9202

13. แลปคอมพิ เตอร์ พฤ ั บดี เ ลา 16:00­18:00 ้อง 8404


แลปคอมพิ เตอร์ ลัง อบกลางภาค พุธ เ ลา 9:00­10:30 ้อง 8302
8 ารบัญ

14. office hours จันทร์ และพุธ เ ลา 8­9 และ พุธ เ ลา 15 ­16 (by appointment only นัด เ ลาเข้า พบ ลัง เรียน
เท่านั้น) คำถาม รือข้อ ง ัยต่างๆ ที่เกี่ย กับการเรียนการ อนใ ้ถามโดยตรงกับอ.ผู้ อนระ ่างเรียน ลังเรียน
รือที่ภาค ิชาเท่านั้น
15. ตารางเรียนโดยประมาณ
(a) Decision model
ัปดา ์ที่ 1­2
(b) Linear Programming
ัปดา ์ที่ 3
(c) Mixed Integer Linear Programming
ัปดา ์ที่ 4­7 ( อบกลางภาค ัปดา ์ถัดไป)
(d) Heuristic Algorithms
ัปดา ์ที่ 8­9
(e) Metaheuristic Algorithms
ัปดา ์ที่ 10
(f) Genetic Algorithm
ัปดา ์ที่ 11
(g) Vehicle Routing Problems
ัปดา ์ที่ 12
(h) Containership Storage Planning Problem
ัปดา ์ที่ 13
(i) Other Selected Topics
ัปดา ์ที่ 14­15
บทที่ 1
บทนำ
ำ รับ ปัญ าโลจิ ติก ์ การ าคำตอบเชิง ปริมาณด้ ย ลัก การทางคณิต า ตร์ ที่ เป็น คำตอบที่ ดี ที่ ุด รือ คำตอบที่ เ มาะ
มในระยะเ ลาที่เ มาะ ม เริ่มได้ด้ ยการ ร้างแบบจำลองทางคณิต า ตร์ เพื่อจำลอง ถานการณ์ ซึ่ง ามารถแบ่งได้เป็น
ลายแบบ ตามแต่ลัก ณะของปัญ าและ ัตถุประ งค์ของงานเช่น

1. linear model
2. mixed integer linear model
3. non­linear model
4. nonlinear mixed integer model

รูปที่ 1.1: motivation ำ รับปัญ าการ างแผนจัด างตู้คอนเทนเนอร์ภายในเรือ ินค้า

ิธีการ าคำตอบที่ดีที่ ุดของแบบจำลองทางคณิต า ตร์มี ลาย ิธีเช่น


1. linear model
(a) graphical method
(b) simplex method
(c) interior point method
2. integer linear model และ mixed integer linear model

9
10 บทที่ 1. บทนำ

(a) branch­and­bound method


(b) cutting plane algorithm
3. non­linear model
(a) gradient descent algorithm
4. nonlinear mixed integer model
(a)
ธิ ีการ าคำตอบด้ ย ิธีดังต่อไปนี้ไม่ ามารถแ ดงได้ ่าคำตอบที่ได้เป็น ิธีการ าคำตอบที่ดีที่ ุด แต่มีค ามนิยมเพราะ
ใน ลายกรณื ามารถ าคำตอบที่ดีได้อย่างร ดเร็

1. heuristic เรียก ิธีการ าคำตอบที่ใช้เฉพาะปัญ า เช่น ิธีการ greedy รือ nearest neighbor ำ รับปัญ า การ
เดินทางของเซลแมน ิธีการ Clarke and Wright saving algorithm ำ รับปัญ า vehicle routing algorithm
2. meta­heuristic เรียก ิธีการ าคำตอบที่ใช้กับ ลาก ลายปัญ า โดยมี ลักการ ำ รับการประยุกต์ใช้ ใน ลายครั้ง
ลักการเ ล่านี้เป็นการลองเลียน ลักธรรมชาติ เช่น genetic algorithm, similated annealing, และ ant colony
optimization

โดยมี ิธี hybrid คือการผ มผ านของ อง ิธีใ ญ่ๆข้างต้น


ใบบทต่อ ไปนี้ นิ ิต จะได้ ร้างแบบจำลองจาก ถานการณ์ จริง รือ ถานการณ์ จำลอง ึก ากระบ นการ าคำตอบกับ
ตั อย่างปัญ าขนาดย่อมๆ และเขียนโปรแกรมคอมพิ เตอร์เพื่อ าคำตอบของปัญ าทั้งขนาดเล็กและขนาดใ ญ่
บทที่ 2
แบบจำลองการตัด ินใจ Decision model
ใบบทนี้นิ ิตจะได้ ร้างแบบจำลองจาก ถานการณ์จริง รือ ถานการณ์จำลอง
เราจะใช้แบบจำลองการตัด ินใจค บคู่ไปกับการเขียนโปรแกรม GAMS (General Algebraic Modelling Systems) [4]
ซึ่งมีลัก ณะตามตั อย่าง 2.0.1 โดยในขั้นต้นนี้จะเป็นโมเดลที่ไม่ซับซ้อน ตั แปร ค่าพารามิเตอร์ มการข้อจำกัด และอื่นๆ
จะเขียนออกมาตรงไปตรงมาในขั้นตอนเดีย ซึ่งจะทำได้กับโมเดลที่มีขนาดเล็กและไม่ซับซ้อนเช่นในตั อย่างดังต่อไปนี้

ตั อย่าง 2.0.1. ตั อย่าง GAMS code ำ รับปัญ าโจน ์ชา ไร่ Jones the Farmer.gms 2.1.2

รูปที่ 2.1: โค๊ดโปรแกรม GAMS ของปัญ าชา ไร่โจน ์ Jones the Farmer

1. ใ ้ ตั แปรที่ เป็น บ ก(และ ูนย์) เป็น positive variable เช่น x1 และ x2 จากนั้น ตามด้ ยค าม มายของตั แป
รนั้นๆ (optional)

2. จบคำ ั่ง(แต่งตั้งตั แปร)ด้ ย semicolon

11
12 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

3. ค่า มการเป้า มาย objective function z ต้องกำ นดใ ้เป็นตั แปรฟรีเ มอ (free variable) ซึ่งเขียน ั้นๆได้ ่า
variable
4. ถ้าเราแยกใ ้คำ ั่งแต่งตั้งตั แปร x1 และ x2 จะได้ดังนี้ (ต้องมี semicolon ทั้ง องแ ่ง)

5. การแต่งตั้งข้อจำกัด constraints ก็ทำได้ในลัก ณะคล้ายกับตั แปร

6. จากนั้นต้องเขียนบอก มการ­อ มการของข้อจำกัดแต่ละตั ที่จะใช้ โดยจะต้องมีไข่ปลา องฟองเ มอ และ = e =


แทนเครื่อง มาย =, = l = แทนเครื่อง มาย ≤, และ = g = แทนเครื่อง มาย ≥ ค รเ ้น รรคตามค ามเ มาะ
ม การจัดรูปที่ดีแบบจะช่ ยใ ้อ่านได้ง่ายขึ้น

7. เราใ ้ ชื่อ โมเดลเป็น ชื่อ ได้ ก็ได้ ที่ ไม่ ซ้ำ กับ คำที่ GAMS ง นไ ้ ­ reserved (คำที่ ง นไ ้ เช่น positive, variable,
equation, model, etc.) และตามด้ ยชื่อของข้อจำกัดทั้ง มดที่เราต้องการในโมเดลข้างใน slash ถ้าเราเอาทุกข้อ
จำกัดที่มีทั้ง มดตั้งแต่ต้นเรา ามารถใช้คำ ่า all แทนได้

8. solve statement แ ดงถึงรูปแบบโมเดลที่เ มาะ ม(ในที่นี้คือกำ นดการเชิงเ ้น linear program:lp) และทิ ทาง
min รือ max ของปัญ า (sense) ตามรูปแบบดังนี้
13

9. รือดังนี้
ในตั อย่างถัดไป การเขียนโมเดลใน GAMS จะแยกค่าพารามิเตอร์และ index ออกจากตั โมเดล ลักเพื่อ ง่ายต่อการ
ปรับค่าต่างๆนั้นในภาย ลัง รือเมื่อโมเดลมีค ามซับซ้อนขึ้น
ตั อย่าง 2.0.2. ตั อย่าง GAMS code ำ รับปัญ า transport.gms [4]

1. Sets เป็นการใ ้ชื่อของเซ็ต และใ ้ มาชิก ในตั อย่างนี้คือเซ็ต i และเซ็ต j โดยเซ็ต i มี มาชิก องตั คือ seattle กับ
san­diego ังเกต ่าชื่อของ มาชิกแต่ละตั จะต้องเขียนติดเป็นคำเดีย กัน

2. การกำ นดพารามิเตอร์และใ ้ค่าของพารามิเตอร์ใน นึ่งมิติ

3. เรา ามารถใช้ table ในการกำ นดพารามิเตอร์และใ ้ค่าของพารามิเตอร์ใน องมิติ

4. scalar ใช้เพื่อกำ นดพารามิเตอร์ ูนย์มิติ เรา ามารถใ ้ค่าพารามิเตอร์ในรูปของ มการได้


5. การกำ นดตั แปร และการกำ นดตั แปรที่มีค่าบ ก รือ ูนย์
14 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

รูปที่ 2.2: ่ นแรกของโค๊ดโปรแกรม GAMS ของปัญ า transport.gms

รูปที่ 2.3: ่ นที่ องของโค๊ดโปรแกรม GAMS ของปัญ า transport.gms

2.1 linear model


แบบจำลองเชิงเ ้นมีคุณ มบัติ 4 ประการ [1]
แบบฝึก ัด 2.1.1. [14] บริ ัท Giapetto’s Woodcarving ผลิตของเล่นไม้ องอย่างคือ ุ่นท ารและรถไฟ ุ่นท ารขาย
ในราคา 27 ดอลลาร์ ต่อชิ้นและใช้ ัตถุดิบ 10 ดอลลาร์ การผลิต ุ่นแต่ละตั เพิ่มต้นทุนแปรผันและ overhead 14 ดอลลาร์
รถไฟขายในราคา 21 ดอลลาร์ ต่อ ชิ้น และใช้ ัตถุดิบ 9 ดอลลาร์ การรถไฟแต่ละอัน เพิ่ม ต้นทุน แปรผัน และ overhead 10
ดอลลาร์ การผลิต ุ่น ท ารและรถไฟใช้ แรงงาน องประเภทคือ ช่างไม้ และช่างตกแต่ง ุ่น ท ารแต่ละตั ใช้ การตกแต่ง 2
2.1. LINEAR MODEL 15

ชั่ โมง และแรงงานช่างไม้ 1 ชั่ โมง รถไฟแต่ละตั ใช้ การตกแต่ง 1 ชั่ โมง และแรงงานช่างไม้ 1 ชั่ โมง ในแต่ละ ัปดา ์
บริ ัท Giapetto’s Woodcarving ามารถ า ัตถุดิบได้อย่างเพียงพอ แต่มีแรงงานตกแต่ง 100 ชั่ โมงและแรงงานช่างไม้
80 ชั่ โมง รถไฟมี demand ไม่จำกัดแต่ ุ่นท ารขายได้ไม่เกิน 40 ตั ต่อ ัปดา ์ บริ ัท Giapetto’s Woodcarving ต้องการ
ได้กำไรต่อ ัปดา ์ที่ ูงที่ ุด (รายได้­ต้นทุน) จงเขียนโมเดลทางคณิต า ตร์เป็นกำ นดการเชิงเ ้นจำลอง ถานการณ์ที่ บริ ัท
Giapetto’s Woodcarving จะใช้ ากำไรที่ ูง ุด
ิธีทำ
เรา ามารถกำ นดใ ้ x1 แทนจำน นการผลิต ุ่นท าร x2 แทนจำน นการผลิต ุ่นรถไฟ ข้อมูลร มกันทั้ง มดจะได้
แบบจำลองทางคณิต า ตร์ ดังนี้

max z= 3x1 + 2x2 (ต้องการกำไร ูงที่ ุด) (2.1a)


s.t. 2x1 + x2 ≤ 100 (งานตกแต่ง) (2.1b)
x1 + x2 ≤ 80 (งานไม้) (2.1c)
x1 ≤ 40 (demand ของ ุ่นท าร) (2.1d)
x1 , x 2 ≥ 0

รูปที่ 2.4: โค๊ดโปรแกรม GAMS ของปัญ า giapetto.gms

แบบฝึก ัด 2.1.2. [14] โจนาชา ไร่ต้องการ าปริมาณพื้นที่ที่เ มาะ ม ที่จะปลูกข้า โพดและธัญพืช ำ รับปีการเพาะปลูก
นี้ พื้นที่ ปลูก ธัญพืช 1 เอเคอร์ ใ ้ ผลผลิต 25 บุ ชเชลและใช้ แรงงาน 10 ชั่ โมงต่อ ัปดา ์ พื้นที่ ปลูก ข้า โพด 1 เอเคอร์ ใ ้
ผลผลิต 10 บุชเชลและใช้แรงงาน 4 ชั่ โมงต่อ ัปดา ์ ธัญพืช 1 บุชเชลขายได้ในราคา 4 ดอลลาร์ ข้า โพด 1 บุชเชลขายได้
ในราคา 3 ดอลลาร์ พื้นที่เพาะปลูกมีอยู่ทั้ง ิ้นอยู่ 7 เอเคอร์และมีแรงงานอยู่ 40 ชั่ โมงต่อ ัปดา ์ รัฐบาลกำ นดใ ้ชา น
แต่ละรายต้องมี ผลผลิต ข้า โพดอย่างน้อย 30 บุ ชเชลในฤดูกาลนี้ ใ ้ x1 เป็น ปริมาณพื้นที่ เพาะปลูก ของข้า โพด และ x2
เป็นปริมาณพื้นที่เพาะปลูกของธัญพืช ใช้ตั แปรตัด ินใจนี้ในการ ร้างกำน ดการเชิงเ ้นที่จะ า คำตอบใ ้กับโจนาเพื่อที่จะ
ารายได้ที่ ูงที่ ุดจากข้า โพดและธัญพืชนี้
ิธีทำ เรา ามารถนำข้อมูลข้างต้นมาเขียนลงมนตารางได้ดังนี้
จากตาราง 2.1 เราจะได้กำ นดการเชิงเ ้นดังนี้
16 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

ตารางที่ 2.1: ข้อมูลปัญ าโจนาชา ไร่


ปริมาณปลูก ผลผลิตแรงงาน รายได้ต่อบุชเชอร์
น่ ย (เอเคอร์) (บุชเชล)
(ชั่ โมง) (ดอลลาร์)
ข้า โพด x1 10x1 4x1 3
ธัญพืช x2 25x2 10x2 4
ข้อจำกัด/ค ามต้องการ ≤7 10x1 ≥ 30 ≤ 40 max

max z = cx (2.3a)
s.t. Ax ≤ b (2.3b)
x≥ 0, and xi integer for some i (2.3c)

รูปที่ 2.5: แบบจำลองกำ นดการเชิงเ ้นผ มจำน นเต็ม

max z= 30x1 + 100x2 (ต้องการรายได้ ูงที่ ุด) (2.2a)


s.t. x1 + x2 ≤ 7 (ข้อจำกัดทางพื้นที่) (2.2b)
10x1 ≥ 30 (ผลผลิตข้า โพดขั้นต่ำ) (2.2c)
4x1 + 10x2 ≤ 40 (ข้อจำกัดทางแรงงาน) (2.2d)
x1 , x 2 ≥ 0 (2.2e)

2.2 ปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็ม


ปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็ม (mixed integer linear model) ามารถจัดใ ้อยู่ในรูปแบบโดยทั่ ไปได้ดังรูปที่
2.3 ต่อไปนี้
ตั แปรตัด ินใจที่เป็นจำน นเต็มได้แก่ปริมาณพนักงาน จำน นชิ้นงานที่ต้องผลิต (ในบางกรณีจำน นนี้ใ ้เป็นจำน น­
จริงได้)

2.2.1 job scheduling problem (JSP) [10] [3]


การจัดตารางเ ลางานเป็นกระบ นการที่มนุ ย์ทำในทุกๆ ัน การ างแผนงานในชี ิตแต่ละ ันมักจะทำโดยใช้ประ บการณ์
ในการ างแผน ในเชิงทฤ ฎีทาง ิทยา า ตร์ การจัดตารางเ ลางานทำโดยการแบ่งงานออกเป็นชิ้นๆ โดยต้องใช้ต้นทุนในการ
ทำงานแต่ละชิ้นในช่ งเ ลาต่างๆ การจัด ตารางเ ลางานเพื่อ เพิ่ม ประ ิทธิภาพจึง เป็น ิ่ง ำคัญต่อ ธุรกิจ เช่นในกระบ นการ
ผลิต รือในระบบการบริการ
การจัดตารางเ ลางานที่เรียก ่า job shop scheduling คือการ าลำดับของกระบ นการ ำ รับงาน n งาน บนเครื่อง­
จักร m เครื่อง โดยมีเป้า มายตาม มการ ัตถุประ งค์ เช่นเพื่อใ ้การผลิตมีต้นทุนต่ำ ุด ตั อย่างของการจัดตารางเ ลางาน
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 17

เช่น การ างแผนการผลิต และค บคุม การ างแผนและการจัด ตารางเ ลางานใน ่ งโซ่ อุปทาน และการจัด ตารางเ ลางาน
ของรถไฟรางเดี่ย เป็นต้น
โครง ร้างของปัญ า [8] ในที่นี้จะ ึก าปัญ าที่มีโครง ร้างในลัก ณะดังต่อไปนี้
ใ ้เซ็ตของงานเป็น J = {1, 2, . . . , n} เซ็ตของเครื่องจักร M = {1, 2, . . . , m} แต่ละงานมีกระบ นการซึ่งต้องทำ
บนเครื่องจักรตามที่กำ นดมาแล้ เช่นกระบ นการที่ i ของงาน j แทนโดย oij ทำบนเครื่องจักร uij ∈ M ลำดับขั้นตอน
กระบ นการของแต่ละงานเป็นไปตามที่ได้ถูกกำ นดไ ้แล้ โดยมี ัตถุประ งค์เพื่อจัดตารางเ ลางาน n งานลงบนเครื่องจักร
m เครื่อง และในที่นี้จะมีข้อพิจารณาดังต่อไปนี้

• กระบ นการที่ i ของงาน j ใช้เ ลา pij > 0 น่ ย

• ทำแต่ละกระบ นการเพียง 1 ครั้งเท่านั้น

• ไม่มีการ ยุดพักใน ระ ่างดำเนินการกระบ นการ

• กระบ นการ องอันใดๆไม่ ามารถทำซ้อนกันได้

• เ ลา ำ รับการ setup ไม่ขึ้นอยู่กับเครื่องจักร รือลำดับของงาน

• เครื่องจักรทุกเครื่อง ามารถทำงานได้ตลอดเ ลา

ใ ้นิ ิต ึก าตังอย่างจากข้อมูลดังต่อไปนี้ตามรูปที่ 2.6 ในขอบเขต มมติฐานที่ใ ้

รูปที่ 2.6: ข้อมูลของปัญ า ft06 [10]

แต่ละงาน job j มีเ ลาที่ต้อง ่งงาน due date dj ≥ 0 มีน้ำ นักของงานเป็น wj เพื่อบ่งบอกค าม ำคัญ ัมพัทธ์
มี เ ลาที่ เริ่ม ต้นงานได้ relase date rj ≥ 0 ใ ้ มการ ัตถุประ งค์ เป็น ผลร มถ่ งน้ำ นัก ของงานที่ ล่าช้า tardiness tj
= max {0, cj − dj } เมื่อ cj คือ เ ลาที่ งาน j เ ร็จ ปัญ านี้ เรียก ่า Job Shop Scheduling Problem with Total
Weighted Tardiness Objective (JSPTWT)
แบบจำลองทางคณิต า ตร์ ามารถเขียนได้ดังนี้
18 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

n
!
min w j tj (2.4a)
j=1

s.t. sij + pij ≤ si+1,j ∀j ∈ J, ∀i ∈ M \ {m} (2.4b)


sij + pij ≤ skl ∨ skl + pkl ≤ sij ∀j, l ∈ J, ∀i, k ∈ M \ {m} (2.4c)
with j ̸= l, and uij = ukl
tj ≥ smj + pmj − dj ∀j ∈ J (2.4d)
tj ≥ 0 ∀j ∈ J (2.4e)
s1j ≥ rj ∀j ∈ J (2.4f)
แบบฝึก ัด 2.2.1. ใ ้ค าม มายของ มการ (2.4b) (2.4c) (2.4d) และ (2.4e)
แบบฝึก ัด 2.2.2. เขียน (2.4c) ใ ม่ในรูปแบบ linear constraints (hint: apply the M­method)
แบบฝึก ัด 2.2.3. เขียน GAMS code ของ job scheduling problem (2.4)
การ า feasible solution ามารถ าได้โดยกฏ FCFS ดัง ิธีตามรูปที่ 2.7

รูปที่ 2.7: การ า feasible solution โดยกฏ FCFS

คำตอบที่ดีที่ ุดของปัญ า (2.4) ามารถ าได้โดยการใช้ซอฟแ ร์ GAMS และ optimization software อื่นๆ คำตอบ
ที่ดีได้เป็นไปตามรูปที่ 2.10 ดังต่อไปนี้
คำตอบที่ดีที่ ุดของปัญ า (2.4) ตาม มการ ัตถุประ งค์อื่นๆเช่น minimum makespan เป็นไปตามรูปที่ 2.11 และ
ตาม ัตถุประ งค์ FCFS เป็นไปตามรูปที่ 2.9 ดังต่อไปนี้
แบบฝึก ัด 2.2.4. อภิปรายคำตอบตามรูปทั้ง าม JSPTWT02 JSPTWT03 JSPTWT04 ของปัญ า ft06 (2.4) ในกลุ่ม
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 19

รูปที่ 2.8: feasible solution โดยกฏ FCFS

รูปที่ 2.9: คำตอบของปัญ า ft06 (2.4) ตามตถุประ งค์ FCFS [10]

2.2.2 knapsack problem


ปัญ านี้ได้แรงบันดาลใจมาจากการเลือกของใ ่กระเป๋าเดินทางก่อนเดินทางข้ามทะเลทราย โดยมีข้อจำกัดคือน้ำ นักบรรทุก
และใ ้ได้มูลค่าโดยร ม ูง ุด ใ ้น้ำ นักของ i เป็น ai และมูลค่าเป็น ci น้ำ นัก ูง ุดที่รับได้เป็น b จะได้แบบจำลองทาง
ตณิต า ตร์ดังรูปที่ 2.12

แบบฝึก ัด 2.2.5. แก้ปัญ า linear relaxation ของปัญ า knapsack ในรูปที่ 2.13


20 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

รูปที่ 2.10: คำตอบที่ดีที่ ุดของปัญ า ft06 (2.4) ตาม มการ ัตถุประ งค์ TWT [10]

รูปที่ 2.11: คำตอบที่ดีที่ ุดของปัญ า ft06 (2.4) ตาม มการ ัตถุประ งค์ minimum makespan [10]

ตั อย่าง 2.2.1. ในการเตรียมตั ำ รับการเดินป่า Josie Camper เลือกของระ ่าง ี่ชิ้น โดยมีน้ำ นักและ benefit ตาม
ตารางที่ 2.2 ดังต่อไปนี้
ตารางที่ 2.2: weights and benefits of items for Josie Camper knapsack
item น้ำ นัก (lbs) benefit
1 5 16
2 7 22
3 4 12
4 3 8

ถ้ากระเป๋า knapsack ของ Josie Camper รองรับได้ทั้ง มด 14 lbs จงแก้ปัญ านี้ เพื่อใ ้ได้ benefit ูงที่ ุด
ิธีทำ !
แบบฝึก ัด 2.2.6. NASA พิจารณาเลือก ัตถุ ามชิ้นเพื่อนำไปในอ กา พร้อมกับยาน โดยมีน้ำ นักและ benefit ตามตาราง
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 21

max z = cx (2.5a)
s.t. ax ≤ b (2.5b)
xj ∈ {0, 1} (2.5c)

รูปที่ 2.12: แบบจำลองทางคณิต า ตร์ของปัญ า knapsack

รูปที่ 2.13: ตั อย่างปัญ า knapsack 1: motivation และการแก้ด้ ย Excel solver

รูปที่ 2.14: ตั อย่างปัญ า knapsack 2

max 5x1 + 8x2 + 3x3 + 2x4 + 7x5 + 9x6 + 4x7 (2.6a)


s.t. 7x1 + 8x2 + 4x3 + 10x4 + 4x5 + 6x6 + 4x7 ≤ 22 (2.6b)
xj ∈ {0, 1} (2.6c)

รูปที่ 2.15: แบบจำลองทางคณิต า ตร์ของปัญ า knapsack ในรูปที่ 2.13

ที่ 2.3 ดังต่อไปนี้


ถ้า ามารถเลือก ัตถุได้ ลายชิ้น และ space shuttle รองรับได้ทั้ง มด 26 lbs จงแก้ปัญ านี้ เพื่อใ ้ได้ benefit ูง
ที่ ุด

แบบฝึก ัด 2.2.7. ในการย้าย อพัก เข้า ม าลัย นิ ิต ใ ม่ ต้องเลือกขนย้ายเฟอร์นิเจอร์ ระ ่าง ้า ชิ้น โดยมี ปริมาตรและ
มูลค่า ตามตารางที่ 2.4 ดังต่อไปนี้
22 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

รูปที่ 2.16: branch­and­bound method ำ รับปัญ าตามตารางที่ 2.2

ตารางที่ 2.3: weights and benefits of items for NASA space flight
item น้ำ นัก (lbs) benefit
1 10 3
2 15 4
3 17 5

ถ้ารถขนของ ามารถรองรับได้ทั้ง มด 1100 cubic ft นิ ิตใ ม่ค รขนย้าย ิ่งใดบ้าง

แบบฝึก ัด 2.2.8. ในการลงทุนโครงการระ ่าง 4 โครงการ โดยมี NPV และมูลค่า cash outflow ที่เ ลาที่ 0 ใน น่ ยล้าน
ดอลลาร์ ตามตารางที่ 2.5 ดังต่อไปนี้
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 23

ตารางที่ 2.4: ปริมาตรและมูลค่าของเฟอร์นิเจอร์แต่ละชิ้น


item มูลค่า ($) ปริมาตร (cubic ft.)
เตียงนอน 60 800
โต๊ะกินข้า 48 600
เครื่องเ ียง 14 300
โซฟา 31 400
ที ี 10 200

ตารางที่ 2.5: มูลค่า cash outflow และ NPV ของโครงการลงทุน


โครงการ cash outflow at time 0 ($) NPV ($)
1 3 5
2 5 8
3 2 3
4 4 7

ถ้ามีเงินลงทุนทั้ง มด 6 ล้านดอลลาร์ที่เ ลาที่ 0 าการลงทุนเพื่อใ ้ได้ NPV ูงที่ ุด


24 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

2.2.3 Lot­Sizing problem


[13] ในปัจจุบันบริ ัทขนาดกลางและขนาดใ ญ่ ลายแ ่งได้ใช้คอมพิ เตอร์ในการ างแผนการผลิต เพื่อการติดตามการจัด
ซื้อ และติดตามข้อมูล การผลิต ของแต่ละผลิตภัณฑ์ ในเ ลาจริง และเพื่อ การ างแผนการกระจาย ินค้า ซึ่ง ิ่ง เ ล่า นี้ มี ค าม
ำคัญ ยิ่ง แต่ กระนั้น ผลลัพธ์ ที่ ุด ยอดก ่า ามารถได้ จากการนำเครื่องมือ เ ล่า นี้ เพื่อ การ ร้างระบบที่ าการ างแผนที่ ใ ้
ผลประโยชน์ ที่ ดี ที่ ุด ตั อย่างเช่น บริ ัท Kellogg ได้ พัฒนาระบบเพื่อ การ างแผนการผลิต และการกระจาย ินค้า ที่ ใ ้ ผล
ประโยชน์ที่ดีที่ ุด ำ รับ cereal และธุรกิจอา าร ะด กบริโภค การ างแผนระบบนี้เป็นการ างแผนการจัดการในระยะ
ั้น เพื่อ าการไ ลของผลิตภัณฑ์ ที่ ดี ที่ ุด และเพื่อ การ างแผนระยะกลางในการบริ ารต้นทุน การใช้ ระบบนี้ ทำใ ้ บริ ัท
Kellogg ลดต้นทุนการจัดการระบบปีละ 4 ล้านดอลลาร์ และลดงบประมาณจากการร บร มระบบเข้า ูนย์กลางได้ปีละ 40
ล้านดอลลาร์
ระบบนี้ของบริ ัท Kellogg ใช้ชื่อ ่า Kellogg Planning System (KPS) ได้ใช้โปรแกรมคณิต า ต์ที่เป็นระบบเชิงเ ้น
เท่านั้น ไม่ได้คำนึงถึงเ ลาการเตรียมการผลิตและการ ่อกล่องผลิตภัณฑ์ รือ set­up times ในการพัฒนาระบบในขั้นที่ ูง
ขึ้นใช้ระบบ มการเชิงเ ้นผ มจำน นเต็ม รือ mixed integer linear program เพื่อพิจารณา set­up times ร มเข้ากับ
ระบบ ิ่งที่ได้จะเป็นระบบขนาดใ ญ่ที่มีค ามซับซ้อนและยากในการ าคำตอบที่ดีที่ ุด รือแม้กระทั้งคำตอบที่ใกล้เคียงกับ
คำตอบที่ดีที่ ุด การปรับ ูตร มการใ ม่อาจมีผลต่อการ าคำตอบที่ร ดเร็ ขึ้น
ตั อย่างปัญ าการผลิต เบื้องต้น ในการผลิต จักรยานแข่ง คุณภาพ ูง ต้องใช้ ัตถุดิบ และเครื่องจักรพิเ เนื่องการ
demand ที่เป็นไปตามฤดูกาล economy of scale และค่า set­up cost ที่ ูง โรงงานจะผลิตอย่างมากเดือนละ 1 batch
เท่านั้น
ใ ้ปัญ าตั อย่างนี้มี set­up cost 5000 ยูโร และต้นทุนต่อ น่ ยคันละ 100 ยูโร ผลิต 1 คันจึงมีต้นทุนร ม 5100 ยูโร
และ 10 คันมีต้นทุนเป็น 6000 ยูโร ตามลัก ณะของรูปที่ 2.17
รูปที่ 2.17: ลัก ณะของ fixed­charge problem

การพยากรณ์ปริมาณค ามต้องการของผลิตภัณฑ์ในปีนี้เป็นไปตามตารางรูปที่ 2.18


รูปที่ 2.18: พยากรณ์ปริมาณค ามต้องการของผลิตภัณฑ์

โดยใ ้ ต๊อกเริ่ม ต้น เป็น จักรยาน 200 คัน ของต้น ปี ปัจจุบัน ค่า เก็บ จักรยานข้ามเดือนเฉลี่ย คัน ละ 5 ยูโรซึ่ง ร มถึง ค่า
อาคารและค่าเก็บรัก า พื้นที่จัดเก็บมีเพียงพอกับจำน น การ างแผนการผลิตต้องใ ้เป็นไปตามค ามต้องการผลิตภัณฑ์ของ
ลูกค้า โดยจะ างแผนถึงเดือน ิง าคม
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 25

บางคำตอบของปัญ า เนื่องจาก economy of scale ถ้าโรงงานจะเลือกผลิตทั้ง มดในเดือนแรก ( ำ รับปริมาณค าม


ต้องการผลิตภัณฑ์จนถึงเดือน ิง าคมคือ 7200 คัน) จะต้องผลิต 7000 คันในเดือนแรก ใ ้ผลลัพธ์เป็นไปตามรูปที่ 2.19

รูปที่ 2.19: คำตอบของปัญ าที่เลือกผลิตครั้งเดีย ในเดือนแรก

ต้นทุนการผลิตที่เลือกตามแบบรูปที่ 2.19 คือเลือกต้นทุนการผลิตที่ต่ำที่ ุด โดยจะมีต้นทุนร มเป็น 859,000 ยูโร


ำ รับการผลิตที่ใ ้ต้นทุนการเก็บรัก าต่ำ ุดคือเลือกที่จะผลิตทุกเดือนตามค ามต้องการในแต่ละเดือน จะได้คำตอบ
ตามรูปที่ 2.20 โดยจะมีต้นทุนร มเป็น 740,000 ยูโร ค่าเก็บรัก าจะคิดจากค่าเฉลี่ยของ ต๊อค องเดือนติดกัน ่งผล ุดท้าย
เป็นค่าเก็บ 50% ใน ต๊อคเริ่มต้นและเดือน ุดท้าย บ ก 100% ใน ต๊อคของเดือนที่เ ลือ

รูปที่ 2.20: คำตอบของปัญ าที่เลือกผลิตทุกเดือน

คำตอบ 740,000 ยูโรลดต่ำลงจาก 859,000 ยูโรอย่างมาก แต่จะมีคำตอบที่ต่ำก ่านี้ รือไม่ ามารถ าได้จากการลอง
ผิดลองถูก แต่คำตอบที่ดีที่ ุดที่มีจะเป็นคำตอบที่ดีที่ ุดของปัญ า รือไม่จะต้องใช้ ิธีการตร จ อบที่มีระบบก ่าการลองผิด
ลองถูกนี้ ิธีนั้นคือการ ร้างแบบจำลองทางคณิต า ตร์ ซึ่งจะได้ตามรูป 2.21 ดังต่อไปนี้
การ ร้างแบบจำลองทางคณิต า ตร์ นี้ ทำใ ้ ได้ แบบจำลองทางคณิต า ตร์ เชิง เ ้น ผ มจำน นเต็ม ซึ่ง ามารถใช้ กระ­
บ นการแก้ปัญ านี้ได้โดย ิธี branch­and­bound และ/ รือ branch­and­cut ซึ่งจะได้กล่า ถึงในบทถัดๆไป

NT
! T −1
N!
h
mincost := (pxt + qyt ) + hst + sN T (2.7a)
t=1 t=1
2
s.t. st−1 + xt = dt + st for all t = 1, . . . , N T (2.7b)
s0 = sini , sN T = 0
NT
!
xt ≤ ( dk )yt for all t = 1, . . . , N T (2.7c)
k=1

xt , st ≥ 0, yt ∈ {0, 1} for all t = 1, . . . , N T (2.7d)

รูปที่ 2.21: แบบจำลองทางคณิต า ตร์ของปัญ าเบื้องต้น


26 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

รูปที่ 2.22: คำตอบที่ดีที่ ุดของปัญ า

กระบ นการนี้จะ ามารถใ ้คำตอบที่ดีที่ ุด ซึ่งเป็นไปตามรูป 2.22 ดังต่อไปนี้


คำตอบที่ดีที่ ุดนี้ใ ้ค่าต้นทุนเป็น 736,000 ยูโร ซึ่งน้อยก ่าคำตอบเดิมที่มีคือ 740,000 ยูโร ไม่มากนัก
ปัญ า Multi­item Capacitated Lot­Sizing (MICLS)
ปัญ าการผลิต Multi­item Capacitated Lot­Sizing มี setup cost เป็น fixed­charge problem ผลิตภัณฑ์ N I
ชนิด ใน N T ช่ งเ ลา โดยมีต้นทุนการผลิต, holding cost, และ setup cost
กำ นดใ ้ indexes เป็นดังนี้
i = 1, . . . , N I เป็น products ทั้ง มด
t = 1, . . . , N T เป็นช่ งเ ลาทั้ง มด
โดยมีตั แปรตัด ินใจเป็น
xt คือปริมาณการผลิตของ product i ในช่ งเ ลา t
i

sit คือปริมาณ invetory ของ product i ในท้ายช่ งเ ลา t


yti คือตั แปรตัด ินใจผลิต รือไม่ผลิต product i ในช่ งเ ลา t
และพารามิเตอร์เป็น
pt คือต้นทุนการผลิตต่อ น่ ยของ product i ในช่ งเ ลา t
i

hit คือต้นทุน holding cost ต่อ น่ ยของ product i ในท้ายช่ งเ ลา t


qti คือ setup cost of product i ในช่ งเ ลา t
dit คือ demand ของ product i ในช่ งเ ลา t
จะได้โมเดลทางคณิต า ตร์เป็นดังนี้

!!
min (pit xit + qti yti + hit sit ) (2.8a)
i t

s.t. sit−1 + xit = dit + sit ∀i, t (2.8b)


xit ≤ Mti yti ∀i, t (2.8c)
! !
αik xit + β ik yti ≤ Lkt ∀t, k (2.8d)
i i

xit ≥ 0, sit ≥ 0, yti ∈ {0, 1} (2.8e)


แบบฝึก ัด 2.2.9. เขียน GAMS code ของ Uncapacitated Lot­Sizing problem
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 27

2.2.4 network flows


ในทุก ัน ของชี ิต เครือ ข่าย networks มี อยู่ ทุก ที่ ทุก นแ ่ง เช่น ายไฟ ่ง ไฟฟ้า เครือ ข่ายโทร ัพท์ ่ง ัญญาณ ระบบ
ทาง ล งเชื่อมโยงการจราจร ายรถไฟที่มีจุดเชื่อมต่อตามชุม าย การบริการทางการบิน การผลิตและเครือข่ายการกระจาย
ินค้า ในตั อย่างทั้ง มดนี้มี ัตถุประ งค์เพื่อการเคลื่อนย้าย ัตถุ (ตั ตน entity) จากจุด นึ่งไปยังอีกจุด นึ่งในรูปแบบที่มี
ประ ิทธิภาพ ูง ุด เนื้อ าในบทนี้จะเน้นการ ร้างแบบจำลองทางคณิต า ตร์และเรียนรู้ ิธีการ ลาก ลาย เพื่อ าคำตอบ
ของแบบจำลองนั้น ในที่นี่ปัญ าที่ต้องการคำตอบคือ ามปัญ าพื้นฐานดังต่อไปนี้

1. ปัญ าต้นทุนการ ่งผ่านที่น้อยที่ ุด Minimum cost flow problem (MCFP) ปัญ านี้เป็นปัญ าพื้นฐานที่ ุดของ
ปัญ าเครือ ข่าย คือ การ าเ ้น ทางการ ่ง ของผ่านเครือ ข่ายใ ้ ได้ ตามปริมาณที่ ต้องการ demand ในแต่ละ node
โดยใ ้มีต้นทุนต่ำ ุด ตั อย่างของปัญ านี้คือการกระจาย ินค้าจากโรงงานไปยังโกดัง รือจากโกดังไปยังผู้ขายปลีก
การ ่ง ผ่าน ัตถุดิบ รือ ชิ้น ่ นในระ ่างการผลิต ไปตาม ถานี การผลิต ต่างๆในระบบการผลิต การเดิน ทางของ
รถยนต์ไปตามระบบการขน ่งในเมือง การ ่งผ่าน ัญญาณโทร ัพท์ไปตาม ถานีเชื่อมต่อ ัญญาณ
ั กรณ์ ำ รับปัณ านี้ใ ้ G = (N, A) เป็นเครือข่ายที่มีทิ ทาง N มี n nodes และ A มี m arcs ทางเชื่อมต่อ

ที่มีทิ ทาง แต่ละ arc (i, j) ∈ A มีต้นทุน cij การขน ่งต่อ น่ ย และ capacity uij ขอบเขตบนในการ ่งผ่าน
และ lij ขอบเขตล่างในการ ่งผ่าน ใ ้ b(i) แทน demand และ supply ของแต่ละ node ใน node i ที่ b(i) > 0
จะเป็น supply node ่ น node i ที่ b(i) < 0 จะเป็น demand node ่ น node i ที่ b(i) = 0 จะเป็น
transshipment node ใ ้ xij แทนปริมาณการ ่งผ่านบน arc (i, j) ∈ A จะได้แบบจำลองทางคณิต า ตร์ดัง
ต่อไปนี้

!
min cij xij (2.9a)
(i,j)∈A
! !
subject to xij − xji = b(i) (2.9b)
j:(i,j)∈A j:(j,i)∈A

lij ≤ xij ≤ uij for all (i, j) ∈ A (2.9c)

รูปที่ 2.23: แบบจำลองทางคณิต า ตร์ของปัญ า MCFP


"n
โดยที่ i=1 b(i) = 0
"n
แบบฝึก ัด 2.2.10. จงใ ้เ ตุผลของข้อบังคับ i=1 b(i) = 0

ในรูปของเมทริกซ์ (2.9) จะเขียนได้ดังนี้

min cx (2.10a)
subject to N x = b, (2.10b)
l≤x≤u (2.10c)

รูปที่ 2.24: แบบจำลองทางคณิต า ตร์ของปัญ า MCFP ในรูปแบบเมทริกซ์


28 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

ตั อย่าง 2.2.2. ปัญ า transport ตามตั อย่างที่ 2.0.2 เป็นปัญ าต้นทุนการ ่งผ่านที่น้อยที่ ุด Minimum cost
flow problem
ตั อย่าง 2.2.3. พิจารณาปัญ าการขน ่งและการกระจาย ินค้าดังต่อไปนี้ [7]
บริ ัท กระจาย ินค้า จำกัด (บกจ) จะผลิต ผลิตภัณฑ์ ใ ม่ ที่ โรงงาน องแ ่ง และ ่ง ผลิตภัณฑ์ ไปยัง คลัง เก็บ รัก า
(warehouse) องแ ่ง โครงข่าย ำ รับการขน ่งเป็น ไปตามภาพที่ 2.25 โดย F1 และ F2 คือโรงงานทั้ง องแ ่ง
W1 และ W2 คือคลังเก็บรัก าทั้ง องแ ่ง ่ น DC คือ ูนย์กระจาย ินค้า ปริมาณผลิตภัณฑ์ที่จะขน ่งจาก โรงงาน
F1 และ F2 องแ ่ง แ ดงทางซ้ายมือ และ ปริมาณผลิตภัณฑ์ ที่ จะจัด เก็บ ที่ คลัง เก็บ รัก า W1 และ W2 แ ดงทาง
ข ามือ ลูก รแ ดงเ ้น ทาง ่ง ผ่านที่ เป็น ไปได้ ดัง นั้น จึง ่ง ผ่านจาก F1 ไปยัง W1 ได้ โดยตรง ่ นการ ่ง ผ่านจาก
F1 ไปยัง W2 ามารถทำได้โดย ามเ ้นทางที่เป็นไปได้คือ F 1 → DC → W 2, F 1 → F 2 → DC →
W 2, และ F 1 → W 1 → W 2 ค่าขน ่งต่อ น่ ยแ ดงทางด้านข้างของลูก ร ปริมาณทางด้านข้างของ F 1 →
F 2 และ DC → W 2, คือปริมาณ ูง ุดที่ ามารถ ่งผ่านลิ้งค์นี้ได้ ่ นเ ้นทางอื่นไม่มีข้อจำกัดทางด้านปริมาณ
การขน ่งขั้น ูง ุด
ิ่งที่ต้องตัด ินใจคือปริมาณผลิตภัณฑ์ที่จะ ่งผ่านในแต่ละเ ้นทาง เพื่อใ ้เป็นไปตาม ัตถุประ งค์ของต้นทุนร มที่
น้อยที่ ุด
รูปที่ 2.25: โครงข่ายของปัญ าการขน ่งและการกระจาย ินค้า ตั อย่างที่ 2.2.3
$900 ต่อ น่ ย
ผลิต 50 น่ ย F 1 W1 ต้องการ 30 น่ ย
$40
0ต
่อ
น่ ย

$200 ต่อ น่ ย ูง ุด 10 น่ ย DC $200 ต่อ น่ ย $300 ต่อ น่ ย


$10
น่ ย 0ต
่อ ูง ุด ่อ
0ต 80 น่ ย
$30 น่ ย

ผลิต 40 น่ ย F 2 W2 ต้องการ 60 น่ ย

ธิ ีทำ
ปัญ านี้ เป็น ปัญ าการขน ่ง ที่ เป็น ปัญ าต้นทุน การ ่ง ผ่านที่ น้อยที่ ุด (MCFP) โดย ามารถพิ จรณาได้ ดัง ต่อ ไปนี้
เครือข่ายการกระจาย ำ รับ บกจ. ที่แ ดงตามรูปที่ 2.25 ามารถแปลงเป็น เครือข่ายการกระจาย ำ รับปัญ า
ต้นทุนการ ่งผ่านที่น้อยที่ ุด Minimum cost flow problem ได้ตามรูปที่ 2.26 ดังต่อไปนี้
ค่าพารามิเตอร์ตามรูปที่ 2.25 ใ ้ค่า bi , cij , และ uij ดังในรูปที่ 2.26 ค่า bi ในรูปที่ 2.26 แ ดงใน งเล็บใ ญ่ใน
แต่ละโ นด โ นดที่เป็น supply มีค่า bi > 0 คือโ นด A และ B แทนโรงงานทั้ง องแ ่ง ่ นโ นดที่เป็น demand
มีค่า bi < 0 คือโ นด D และ E แทนคลัง ินค้า warehouse ทั้ง องแ ่ง โ นดที่เป็นโ ลด ่งผ่าน transshipment
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 29

มีค่า bi = 0 คือโ นด C ในที่นี้แทน ูนย์กระจาย ินค้า ค่า cij แ ดงอยู่ด้านข้างของแต่ละลิ้งค์ ในตั อย่างนี้มี อง
ทางเชื่อมที่มีขีดจำกัดในการ ่งไม่เกินค่าที่ใ ้ คือ uAB = 10 และ uCE = 80 ่ นทางเชื่อมอื่นๆ uij = ∞

รูปที่ 2.26: โครงข่ายของปัญ าต้นทุนการ ่งผ่านที่น้อยที่ ุด ของตั อย่างที่ 2.2.3


bA = [50] [−30]
cAD = 9
A D

[0]
2 (uAB = 10) C 2 3

3 (u
C
1
E
=
80
)

B E
[40] [−60]

แบบจำลองเชิงเ ้นที่ได้จะเป็นไปตาม (2.11) ดังนี้

max z= 2xAB + 4xAC +9xAD + 3xBC +xCE + 3xDE +2xED (2.11a)


s.t. xAB + xAC +xAD = 50 (2.11b)
−xAB + xBC = 40 (2.11c)
− xAC − xBC +xCE =0 (2.11d)
−xAD + xDE −xED = −30 (2.11e)
−xCE − xDE +xED = −60 (2.11f)
and

xAB ≤ 10, xCE ≤ 80, all xij ≥ 0. (2.12)

รูปที่ 2.27: แบบจำลองทางคณิต า ตร์ของปัญ าต้นทุนการ ่งผ่านที่น้อยที่ ุด (MCFP) ในรูปที่ 2.26

!
30 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

แบบฝึก ัด 2.2.11. แก้ ปัญ าต้นทุน การ ่ง ผ่านที่ น้อยที่ ุด (MCFP) ข้างต้น ตามตั อย่างที่ 2.2.3 รูป ที่ 2.25 ด้ ย
โปรแกรม GAMS

2. ปัญ าเ ้นทางเชื่อมที่ ั้นที่ ุด shortest path problem (SPP) เป็นปัญ าเครือข่ายที่มีค ามซับซ้อนน้อยที่ ุด คือ
การ าเ ้น ทางจาก source node s ไป sink node t ที่ มี ต้นทุน ร มน้อยที่ ุด โดยมี ต้นทุน การเดิน ทาง cij จาก
node i ไปยัง node j
ตั อย่าง 2.2.4. พิจารณาปัญ าเ ้นทางเชื่อมที่ ั้นที่ ุด (SPP) ดังต่อไปนี้ [14] Joe Cougar อา ัยอยู่ ณ ม านคร
นิ ยอร์ค แต่ ต้องการเดิน ทางไปยัง แอลเลเพื่ อ ตามค ามฝัน ในการเป็น ดารา Joe มี ต้นทุน ที่ จำกัด จึง ตัด ิน ใจพัก
ระ ่างทางในแต่ละคืนที่บ้านของเพื่อนๆ Joe มีเพื่อนในเมือง Columbus, Nashville, Louseville, Kansas City,
Omaha, Dallas, San Anthonio, และ Denver ภายใน 1 คืนจากม านครนิ ยอร์ค Joe Cougar ามารถไปถึงยัง
Columbus, Nashville, รือ Louseville ภายใน 2 คืน Joe Cougar ามารถไปถึงยัง Kansas City, Omaha, รือ
Dallas และภายใน 3 คืน Joe Cougar ามารถไปถึงยัง San Anthonio รือ Denver ในคืนที่ 4 เขา ามารถไปถึง
ยัง Los Angeles เพื่อประ ยัดค่าน้ำมัน Joe Cougar จะ างแผนการนอนที่ใดในแต่ละคืน โดยการเลือกเ ้นทางที่
ั้นที่ ุด แผนที่ร มเป็นไปตามภาพที่ 2.28
รูปที่ 2.28: กราฟแ ดงปัญ าเ ้นทางเชื่อมที่ ั้นที่ ุด shortest path problem

แบบฝึก ัด 2.2.12. แก้ปัญ าเ ้นทางเชื่อมที่ ั้นที่ ุด shortest path problem ข้างต้นด้ ยโปรแกรม GAMS

3. ปัญ าปริมาณ ่งผ่านที่มากที่ ุด maximum flow problem (MFP) ปัญ านี้เ มือนปัญ าเติมเต็มของปัญ าเ ้น
ทางเชื่อมที่ ั้นที่ ุด shortest path problem เพราะปัญ าเ ้นทางเชื่อมที่ ั้นที่ ุด shortest path problem ไม่มี
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 31

การจำกัดปริมาณการขน ่งจาก i ไป j แต่ปัญ าปริมาณ ่งผ่านที่มากที่ ุดนี้จำกัดใ ้ปริมาณการขน ่งร มจาก i ไป j


เป็น uij
ตั อย่าง 2.2.5. พิจารณาปัญ าปริมาณ ่งผ่านที่มากที่ ุด (MFP) ดังต่อไปนี้ [14]
Sunco Oil ต้องการ ่งน้ำมันใ ้ได้ปริมาณ ูงที่ ุด (ต่อชั่ โมง) ผ่านท่อ ่งจากแ ล่ง so ไปยังปลายทาง si ตามรูปที่
2.29 โดยระ ่างทางจะต้องผ่าน ถานีที่ 1, 2, และ 3 แต่ละทางเชื่อมมีพารามิเตอร์ต่างๆที่แตกต่างกัน ปริมาณการ
่งผ่านน้ำมัน ูง ุดใน น่ ยล้านบาเรลต่อชั่ โมงแ ดงตามตารางที่ 2.6 ตั เลขแต่ละตั แ ดงคือปริมาณค าม ามารถ
ในการ ่ง ูง ุดของแต่ละทางเชื่อม (arc capacity) ร้างแบบจำลองเชิงเ ้นเพื่อ าปริมาณการ ่งผ่านที่ ูงที่ ุดจาก
node so ไปยัง node si โดยใ ้ a0 เป็นเ ้นทางเชื่อมจำลอง
ตารางที่ 2.6: arc capacities ำ รับปัญ าปริมาณ ่งผ่านที่มากที่ ุด (MFP)
Arc Capacity
(so, 1) 2
(so, 2) 3
(1, 2) 3
(1, 3) 4
(3, si) 1
(2, si) 2

รูปที่ 2.29: กราฟแ ดงตั อย่าง a feasible flow ของปัญ าปริมาณ ่งผ่านที่มากที่ ุด (MFP)

(0)4 (0)1

(2)2 (2)3 (2)2


so 1 2 si
(0)3
a0 (2)

แบบฝึก ัด 2.2.13. แก้ปัญ าปริมาณ ่งผ่านที่มากที่ ุด (MFP) ข้างต้นด้ ยโปรแกรม GAMS


ทฤ ฎี 2.2.1. Max Flow ­ Min Cut Theorem [6] ปริมาณ ่งผ่านที่มากที่ ุด MFP เท่ากับประมาณร ม capacity
ของเ ้นตัด so จาก si ที่น้อยที่ ุด

ปัญ าเครือข่ายอื่นๆที่ ำคัญมีดังต่อไปนี้

• ปัญ าการมอบ มายงาน assignment problem


32 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

• ปัญ าการขน ่ง transportation problem

• ปัญ าการไ ลแบบทั่ ไป generalized flow problem

• ปัญ าการ ่งผ่าน multicommodity flow problem

• ปัญ าการ minimum spanning tree problem

• ปัญ าการจับคู่ matching problem

2.2.5 assignment problem


แบบจำลองทางคณิต า ตร์ ำ รับปัญ า assignment problem เป็นดังต่อไปนี้

m !
! n
max z= cij xij (2.13a)
i=1 j=1
!n
s.t. xij = 1 (2.13b)
j=1
!m
tij xij ≤ T (2.13c)
i=1

x ∈ {0, 1}m×n

2.2.6 ปัญ าการเดินทางของเซล ์แมน travelling salesman problem


ปัญ าการเดินทางของเซล ์แมน เป็นปัญ าที่ในปี 1937 Merrill M. Flood ได้จากเพื่อนร่ มงาน ิจัยแล้ นำมา คิดค้น า ิธี
าคำตอบ [9] ตั อย่างรูปแบบของปัญ า

รูปที่ 2.30: ตั อย่างกราฟแ ดงปัญ าการเดินทางของเซล ์แมน 1


2

1 7 2

12 1
10 3 4 9 5 8

11

3 6 4

ซึ่งตั อย่างดังกล่า มีแบบจำลองทางคณิต า ตร์ดังต่อไปนี้


2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 33

!!
max z= cij xij (2.14a)
i j
!
s.t. xij = 1 (2.14b)
j
!
xij = 1 (2.14c)
i

xij ∈ {0, 1}

ามารถเขียนโค๊ด GAMS ได้ดังนี้


แบบฝึก ัด 2.2.14. แก้ปัญ าต่อไปนี้ด้ ยโปรแกรม GAMS
รูปที่ 2.31: ตั อย่างกราฟแ ดงปัญ าการเดินทางของเซล ์แมน 2
12

1 6 2

12 12
10 13 8 9 8 8

11

3 6 4

แบบฝึก ัด 2.2.15. าเ ้น ทางที่ ดี ที่ ุด และ ิจารณ์ ผลที่ ได้ และ ิธี การ ของปัญ าการเดิน ทางของเซล ์ แมนที่ มี ระยะทาง
ระ ่างเมืองดังต่อไปนี้
รูปที่ 2.32: ระยะทางระ ่างเมืองของปัญ าการเดินทางของเซล ์แมน 01

ิธีทำ
!
34 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

รูปที่ 2.33: โค๊ดโปรแกรม GAMS ำ รับปัญ าการเดินทางของเซล ์แมนทที่มีระยะทางระ ่างเมืองตามรูป 2.32

รูปที่ 2.34: solution ของโค๊ดโปรแกรม GAMS ำ รับปัญ าการเดินทางของเซล ์แมนทที่มีระยะทางระ ่างเมืองตามรูป


2.32

รูปที่ 2.35: ระยะทางระ ่างเมืองของปัญ าการเดินทางของเซล ์แมน 02

ิธีทำ
2.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 35

รูปที่ 2.36: โค๊ดโปรแกรม GAMS ำ รับปัญ าการเดินทางของเซล ์แมนทที่มีระยะทางระ ่างเมืองตามรูป 2.35

รูปที่ 2.37: solution 1 ของโค๊ดโปรแกรม GAMS ำ รับปัญ าการเดินทางของเซล ์แมนทที่มีระยะทางระ ่างเมืองตาม


รูป 2.35

!
36 บทที่ 2. แบบจำลองการตัด ินใจ DECISION MODEL

รูปที่ 2.38: solution 2 ของโค๊ดโปรแกรม GAMS ำ รับปัญ าการเดินทางของเซล ์แมนทที่มีระยะทางระ ่างเมืองตาม


รูป 2.35

รูปที่ 2.39: ระยะทางระ ่างเมืองของปัญ าการเดินทางของเซล ์แมน 03

รูปที่ 2.40: ระยะทางระ ่างเมืองของปัญ าการเดินทางของเซล ์แมน 04

แบบฝึก ัด 2.2.16. แก้ ปัญ า TSP เช่น เดีย กัน กับ แบบฝึก ัด 2.2.15 โดยใ ้ ปัญ ามี ขนาดที่ ใ ญ่ ขึ้น และใช้ การ ุ่ม เลือก
ระยะทางระ ่างเมือง
บทที่ 3
ธิ ีการ าคำตอบที่ดีที่ ุด Optimization solution
method
``Beauty is the first test: there is no permanent place in the world for ugly mathematics.''
Feng Jin, Shiji Song, and Cheng Wu
การ าคำตอบที่ดีที่ ุดประกอบด้ ย อง ่ น ่ นแรกคือการ าคำตอบที่ดีที่ ุด ่ นที่ องคือการยืนยัน ่าคำตอบนั้น
เป็นคำตอบที่ดีที่ ุด

3.1 ปัญ ากำ นดการเชิงเ ้น


3.1.1 ธิ ีการ าคำตอบที่ดีที่ ุด ำ รับปัญ ากำ นดการเชิงเ ้น optimization solution method
for lp
นึ่งใน ิธี ลักของการ าคำตอบที่ดีที่ ุด ำ รับปัญ ากำ นดการเชิงเ ้น คือ ิธี revised simplex ซึ่งใช้เมตริกซ์ในการคำ
น นในแต่ละขั้นตอนของ ิธีการซิมเพล็ก ผู้อ่าน ามารถ าตั อย่างได้ใน ภาคผน กของ [1]

3.1.2 ิธีพิ ูจน์คำตอบที่ดีที่ ุด ำ รับปัญ ากำ นดการเชิงเ ้น


เรา ามารถพิ ูจน์ ่าคำตอบที่มีเป็นคำตอบที่ดีที่ ุด ำ รับปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็มได้ ลาย ิธี เช่น

1. ใช้ ิธีการ simplex ตาม 3.1.1ในภาคผน กของ [1] า optimality condition เช่นการแ ดง ่า reduced cost เป็น
ไม่เป็นค่าลบ
2. ใช้ strong duality theorem
3. ใช้ complementarity slackness condition

3.2 ปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็ม


3.2.1 การ าคำตอบที่ดีที่ ุด ำ รับปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็ม
ิธี ลักของการ าคำตอบที่ดีที่ ุด ำ รับปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็มคือ ิธี branch­and­bound ซึ่งอาจจะลด
เ ลาของกระบ นการได้โดย ิธีการ cutting plane ซึ่งทั้ง อง ิธีนี้อา ัย ลักการผ่อนคลายของปัญ า

37
38 บทที่ 3. วิธีการ าคำตอบที่ดีที่ ุด OPTIMIZATION SOLUTION METHOD

3.2.2 การผ่อนคลายและการพิ ูจน์ค่าที่ดีที่ ุด


กำ นดปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็มดังนี้

max z = c′ x (3.1a)
s.t. Ax ≤ b (3.1b)
x≥ 0, and xi are integer for some i (3.1c)
ในกระบ นการ าคำตอบที่ ดี ที่ ุด optimal solution ของปัญ า (3.1) ถ้า เราจะได้ คำตอบที่ เป็น ไปได้ feasible
solution x̄1 , x̄2 , x̄3 , . . . , x̄s โดยที่ z̄1 ≤ z̄2 ≤ z̄3 ≤ · · · ≤ z̄s ≤ z ∗ เมื่อ จำน นดัง กล่า เป็น คู่ กัน ตาม
ลำดับ เราจะได้ ่าแต่ละตั ของ x̄i ใ ้ขอบเขตล่าง lobwer bound ของปัญ าเป็น z̄i
ขอบเขตบน ของปัญ าคือค่า w̄j ใดๆที่ z ∗ ≤ w̄j
เราจะได้ ่า z̄i ≤ z ∗ ≤ w̄j และเมื่อเรา ามารถ าค่าที่ i และ j ซึ่งมี z̄i = w̄j เราจะได้คำตอบที่ดีที่ ุดของปัญ า
(3.1)

Primal Bounds ขอบเขตจากปัญ า ลัก


ทุกค่าที่เป็นไปได้ของปัญ า (3.1) ใ ้ขอบเขตล่าง

Dual Bounds ขอบเขตจากปัญ าคู่ค บ


การ าขอบเขตบนมี ค ามซับ ซ้อนก ่า การ าขอบเขตล่าง ิธี การที่ ำคัญ ในการ าขอบเขตบนคือ การผ่อนคลายปัญ า
relaxation แล้ าคำตอบ ที่ดีที่ ุดของปัญ าที่ผ่อนคลายนัน้
นิยาม 3.2.1. a relaxation
ปัญ า (RP) zR = max {f (x) : x ∈ T ⊆ Rn } เป็นปัญ าผ่อนคลายของ (IP) z = max {c(x) : x ∈ X ⊆
Rn } ถ้า

1. X ⊆ T และ
2. f (x) ≥ c(x) ในทุก x ∈ X
ทฤ ฎี 3.2.1. ถ้าปัญ า RP เป็นปัญ าผ่อนคลายของปัญ า IP เราจะได้ ่า z R ≥ z
พิ ูจน์. LTR
ทฤ ฎี 3.2.2. ปัญ า RMIP เป็นปัญ าผ่อนคลายของปัญ า MIP
พิ ูจน์. LTR
แบบฝึก ัด 3.2.1. จง าขอบเขตบนและขอบเขตล่างของปัญ าต่อไปนี้
max z= 4x1 − x2
s.t. 7x1 − 2x2 ≤ 14
x2 ≤ 3
2x1 − 2x2 ≤ 40
x1 , x2 ∈ Z+2
3.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 39

ทฤ ฎี 3.2.3. ถ้าแบบจำลองทางคณิต า ตร์ของปัญ า นึ่ง ามารถเขียนได้เป็น P1 และ P2 โดยที่ P1 ⊂ P2 นั่นคือ แบบ


จำลอง P1 ดีก ่าแบบจำลอง P2 เราจะได้ ่า z1LP ≤ z2LP
พิ ูจน์. LTR
ทฤ ฎี 3.2.4. 1. ถ้าปัญ าผ่อนคลายของ RP infeasible so as IP
2. if x∗ is an optimal solution of RP, feasible to IP and f (x∗ ) = c(x∗ ) then x∗ is an optimal solution
of IP
พิ ูจน์. LTR
แบบฝึก ัด 3.2.2. พิจารณาคำตอบ x∗ = (1, 1, 0, 0) ของปัญ าต่อไปนี้
max z= 7x1 + 4x2 + 5x3 + 2x4
s.t. 3x1 + 3x2 + 4x3 + 2x4 ≤ 6
x ∈ B4

3.2.3 ิธีการ branch­and­bound


ธิ ีการ branch­and­bound คือการแก้ ปัญ ากำ นดการเชิงเ ้น ผ มจำน นเต็ม โดยการแบ่ง เป็น ปัญ าย่อยและการผ่อน
ข้อจำกัดการเป็นจำน นเต็มของตั แปร ซึ่งปัญ าย่อยที่มีการผ่อนข้อจำกัดการเป็นจำน นเต็มของตั แปรนั้นเราจะแก้ได้โดย
ิธี simplex โดยปัญ าใ ญ่จะถูกแบ่งเป็นปัญ าย่อย องปัญ าด้ ยการเพิ่มข้อจำกัด เช่นการเพิ่มข้อจำกัด x1 ≤ 5 และ
x1 ≥ 6

ตั อย่าง 3.2.1. พิจรณาปัญ า MIP ต่อไปนี้


max z= 5x1 + 2x2 (3.4a)
s.t. 3x1 + x2 ≤ 12 (3.4b)
x1 + x2 ≤ 5 (3.4c)
x1 , x2 ≥ 0; x1 , x2 integer
เราได้คำตอบที่ดีที่ ุดของปัญ ากำ นดการเชิงเ ้นผ่อนคลายเป็น z̄ = 20.5 และ x̄ = (3.5, 1.5) ซึ่ง ามารถดูได้
จากรูป 3.1 ดังต่อไปนี้
ตั อย่าง 3.2.2. พิจรณาปัญ า MIP ต่อไปนี้
max z= 4x1 + 5x2 (3.5a)
s.t. 3x1 + 2x2 ≤ 10 (3.5b)
x1 + 4x2 ≤ 11 (3.5c)
3x1 + 3x2 ≤ 13 (3.5d)
x1 , x2 ≥ 0; x1 , x2 integer
เราได้คำตอบที่ดีที่ ุดของปัญ ากำ นดการเชิงเ ้นผ่อนคลายเป็น z̄ = 18.7 และ x̄ = (1.8, 2.3) ซึ่ง ามารถดูได้
จากรูป 3.2 ดังต่อไปนี้
40 บทที่ 3. วิธีการ าคำตอบที่ดีที่ ุด OPTIMIZATION SOLUTION METHOD

รูปที่ 3.1: กราฟแ ดงคำตอบที่ดีที่ ุดของปัญ าผ่อนคลายของ (3.4)

x2

12

11

10

1 2 3 4 5 x1
3.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 41

รูปที่ 3.2: กราฟแ ดงคำตอบที่ดีที่ ุดของปัญ าผ่อนคลายของ (3.5)

x2

1 2 3 4 5 6 7 8 9 10 x1

รูปที่ 3.3: กราฟแ ดงคำตอบที่ดีที่ ุดของปัญ าผ่อนคลายของ (3.5) x̄ = (1.8, 2.3), z̄ = 18.7

x2

1 2 3 4 5 6 7 8 9 10 x1
42 บทที่ 3. วิธีการ าคำตอบที่ดีที่ ุด OPTIMIZATION SOLUTION METHOD

รูปที่ 3.4: กราฟแ ดงคำตอบที่ดีที่ ุดของปัญ าย่อยของ (3.5) x1 ≤ 1,x̄ = (1, 2.5), z̄ = 16.5

x2

1 2 3 4 5 6 7 8 9 10 x1

รูปที่ 3.5: กราฟแ ดงคำตอบที่ดีที่ ุดของปัญ าย่อยของ (3.5) x1 ≥ 2,x̄ = (2, 2), z̄ = 18

x2

1 2 3 4 5 6 7 8 9 10 x1
3.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 43

รูปที่ 3.6: กราฟแ ดงคำตอบที่ดีที่ ุดของปัญ าย่อยของ (3.5) x1 ≤ 1 x2 ≤ 2 และ ,x̄ = (1, 2), z̄ = 14

x2

1 2 3 4 5 6 7 8 9 10 x1

รูปที่ 3.7: กราฟแ ดงคำตอบที่ดีที่ ุดของปัญ าย่อยของ (3.5) x1 ≤ 1 และ x2 ≥ 3 infeasible

x2

1 2 3 4 5 6 7 8 9 10 x1
44 บทที่ 3. วิธีการ าคำตอบที่ดีที่ ุด OPTIMIZATION SOLUTION METHOD

การแก้ ปัญ ากำ นดการเชิง เ ้น ด้ ย ิธี branch­and­bound มี ค ามช้า เร็ ในการ าคำตอบที่ ดี ที่ ุด ขึ้น อยู่ กับ ลัก
เกณฑ์ในการเลือก ตั แปรที่จะแตกกิ่ง( ร้างปัญ าย่อย) และการเลือกลำดับกิ่งที่จะแก้(เลือกลำดับปัญ าย่อยที่จะแก้) ในที่นี้
เราใช้ ลักการแตกกิ่งโดยเลือกตั แปรแรก ุดที่เป็นท นิยิม และ เลือกลำดับกิ่งที่จะแก้ในแน ระนาบจากซ้ายไปข า (ถ้า
กิ่งซ้ายคือ x1 ≤ 3 กิ่งข าจะเป็น x1 ≥ 4)
รูปที่ 3.8: กราฟแ ดงขั้นตอนการแก้ปัญ า (3.5) โดย ิธี branch­and­bound

x̄ = (1.8, 2.3) P0 z̄ = 18.7

x1 ≤ 1 x1 ≥ 2

x̄ = (1, 2.5) P1 z̄ = 16.5 x̄ = (2, 2) P2 z̄ = 18

x2 ≤ 2 x2 ≥ 3

x̄ = (1, 2) P3 z̄ = 14 P4 infeasible

ถ้าเราใช้ ลักเกณฑ์ที่การทำ branch­and­bound ที่ต่างกัน จะ ่งผลต่อเ ลาในการแก้ปัญ า เช่นถ้าเราเลือก ใช้ ลัก


การแตกกิ่งโดยเลือกตั แปรท้าย ุดที่เป็นท นิยิม และ เลือกลำดับกิ่งที่จะแก้ในแน ระนาบจากซ้ายไปข า เราจะได้กราฟ
การแตกกิ่งแ ดงการแก้ปัญ าดังนี้
รูปที่ 3.9: กราฟแ ดงขั้นตอนการแก้ปัญ า (3.5) โดย ิธี branch­and­bound

x̄ = (1.8, 2.3) P0 z̄ = 18.7

x2 ≤ 2 x2 ≥ 3

x̄ = (2, 2) P1 z̄ = 18 P2 infeasible

แบบฝึก ัด 3.2.3. ใ ้ผู้อ่านลองตร จ อบการคำน นตามรูป 3.9 ด้ ยตั เอง


3.2. ปัญ ากำ นดการเชิงเ ้นผ มจำนวนเต็ม 45

3.2.4 Cutting Planes


ถึงแม้ ่าเรา ามารถแก้ปัญ ากำ นดการเชิงเ ้นผ มจำน นเต็มได้ด้ ย ิธี branch­and­bound แต่เ ลาที่ใช้ในการแก้ปัญ า
อาจจะเป็น เ ลาที่ นานมาก เกิน เ ลาที่ เ มาะ ม ำ รับ ค ามเป็น จริง เช่น ถ้า เราจะ างแผนการผลิต รือ การจัดการ ่ง ของ
ประจำ ันในตอนเช้าของทุก ัน เราอาจจะต้องการใช้เ ลาในการ าคำตอบที่ดีที่ ุดไม่เกิน นึ่งถึง องชั่ โมง ซึ่งถ้าเราใช้แต่ ิธี
branch­and­bound เ ลา นึ่งถึง องชั่ โมงนั้นอาจจะไม่เพียงพอ ิธี cutting planes เป็นอีก ิธี นึ่งที่ช่ ยใ ้เ ลาในการ
าคำตอบลดลง ถ้าเราทำได้อย่างเ มาะ ม
นิยาม 3.2.2. Convex Set
นิยาม 3.2.3. Convex Combination S ของ feasible points x ∈ X คือ
! !
S = {y|y = nj=1 λj xj , where nj=1 λj = 1, λj ≥ 0, and xj ∈ X}

นิยาม 3.2.4. Convex Hull ของ คือเซต Convex Combination ของ feasible points x ∈ X
บทแทรก 3.2.1. Convex Hull ของปัญ ากำ นดการเชิงเ ้นเป็น Convex Set
ธิ ี cutting planes คือการเพิ่ม มการ( รืออ มการ)ข้อจำกัดลงในปัญ า เพื่อใ ้คำตอบของ relaxed mixed integer
program ที่ไม่เป็นจำน นเต็มโดนตัดออก ดังตั อย่างในภาพที่ 3.10
รูปที่ 3.10: กราฟแ ดงคำตอบที่ดีที่ ุด x̄ = (1.8, 2.3) ของปัญ าผ่อนคลายของ 3.5 ที่โดนตัดออกโดย cutting plane

x2

1 2 3 4 5 6 7 8 9 10 x1

ซึ่งถ้าเราพิจารณาคำตอบที่เป็นจำน นเต็มทั้ง มด เราจะได้ตามกราฟ ดังนี้


ค ามต้องการที่เรามีคือต้องการ า มการ( รืออ มการ)ข้อจำกัดที่ตัด ่ นที่เกินออก เราจะเรียก ่ นที่เ ลือ ่า Convex
Hull รือ convex combination ของ feasible points ดังภาพ
ตั อย่าง 3.2.3. จง าคำตอบที่ดีที่ ุดของ RMIP และ มการข้อจำกัดที่แบ่งคำตอบนั้นออกจากคำตอบที่ดีที่ ุดของ MIP
46 บทที่ 3. วิธีการ าคำตอบที่ดีที่ ุด OPTIMIZATION SOLUTION METHOD

รูปที่ 3.11: กราฟแ ดงคำตอบของปัญ า 3.5 และเ ้น iso­profit

x2

1 2 3 4 5 6 7 8 9 10 x1

รูปที่ 3.12: กราฟ convex hull ของ feasible points ของปัญ า 3.5 และเ ้น iso­profit

x2

1 2 3 4 5 6 7 8 9 10 x1
บทที่ 4
ิธีฮิ ริ ติก ์ Heuristic methods
``According to the No Free Lunch Theorem, all algorithms equal to the randomly blind search if no
problem information is known.''
Feng Jin, Shiji Song, and Cheng Wu
A heuristic method is a procedure that is likely to discover a very good feasible solution, but not
necessarily an optimal solution, for the specific problem being considered. No guarantee can be given
about the quality of the solution obtained, but a well­designed heuristic method usually can provide a
solution that is at least nearly optimal (or conclude that no such solutions exist). The procedure also
should be sufficiently efficient to deal with very large problems. The procedure often is a full­fledged
iterative algorithm, where each iteration involves conducting a search for a new solution that might be
better than the best solution found previously. When the algorithm is terminated after a reasonable time,
the solution it provides is the best one that was found during any iteration.
Heuristic methods often are based on relatively simple common­sense ideas for how to search for
a good solution. These ideas need to be carefully tailored to fit the specific problem of interest. Thus,
heuristic methods tend to be ad hoc in nature. That is, each method usually is designed to fit a specific
problem type rather than a variety of applications.
For many years, this meant that an OR team would need to start from scratch to develop a heuristic
method to fit the problem at hand, whenever an algorithm for finding an optimal solution was not
available. This all has changed in relatively recent years with the development of powerful metaheuristics.
A metaheuristic is a general solution method that provides both a general structure and strategy guidelines
for developing a specific heuristic method to fit a particular kind of problem. Metaheuristics have become
one of the most important techniques in the toolkit of OR practitioners.
The nature of metaheuristics: A metaheuristic is a general kind of solution method that orchestrates
the interaction between local improvement procedures and higher level strategies to create a process
that is capable of escaping from local optima and performing a robust search of a feasible region.
ิธีฮิ ริ ติก ์เป็น ิธีการ าคำตอบปํญ า optimization ที่นิยมใช้กับปัญ าที่มีค ามซับซ้อน ไม่ ามารถ าคำตอบโดย
ิธีทางคณิต า ตร์ได้ทันค ามต้องการ
ิธี ทางคณิต า ตร์ มี ิธี ซิ ม เพลกซ์ ิธี branch and bound และ ิธี cutting plane เป็นต้น ่ น ิธี ฮิ ริ ติ ก ์ ่ น
ใ ญ่ จะเป็นการเลียนแบบ ถานการณ์ ธรรมชาติ เช่น ิธี ก้ นของมด ant colony optimization ิธี การ มุน ของอานุ ภาค
particle swarn ิธีการพันธุกรรม Genetic Algorithms และ ิธีตะกละมูมมาม greedy algorithm เป็นต้น ิธีฮิ ริ ติก ์ที่
ดีต้องมีค ามร ดเร็ แต่ ิธีฮิ ริ ติก ์ นั้นมีข้อด้อยคือไม่มีกระบ นการตรา จ อบ ่า คำตอบที่ได้ ่าคำตอบใดที่ได้เป็นคำตอบ
ที่ดีที่ ุด ซึ่งเรา ามารถแก้ไขได้โดยใช้ ิธีผ ม (hybrid)คือการร ม ิธีฮิ ริ ติก ์ กับ ิธีการทางคณิต า ตร์ เข้าด้ ยกัน

47
48 บทที่ 4. วิธีฮิวริ ติก ์ HEURISTIC METHODS

4.1 ิธีฮิ ริ ติก ์ ำ รับปัญ าการเดินทางของเซล ์แมน


มบัติ รือลัก ณะของ ิธีฮิ ริ ติก ์คือ าคำตอบได้ร ดเร็ และ ามารถ าได้ ลายคำตอบ แต่ไม่ ามารถประกัน ่าจะได้
คำตอบที่ดีที่ ุด

4.1.1 แบบการ ร้างทั ร์ tour contruction


nearest neightbor O(n2 )
1. เริ่มต้นจากเมืองใดเมือง นึ่ง ( ุ่มเมืองเริ่มต้น)
2. ออกเดินทางไปยังเมืองที่ใกล้ที่ ุด
3. ทำต่อจนครบ tour

greedy algorithm O(n2 log2 n)


1. เรียงลำดับระยะทางระ ่างเมืองจากน้อย ุดไปมาก ุด
2. เลือกการเดินทางเพิ่มใ ่ใน tour เริ่มจากเ ้นที่ ั้นที่ ุด
3. ทำต่อไปเรื่อยๆโดยไล่จากเ ้นถัดๆไปที่เพิ่มใ ่ tour ได้
4. ทำจนครบ tour
แบบฝึก ัด 4.1.1. ใช้ ิธีการฮิ ริ ติก ์ตาม nearest neightbor และ greedy algorithm กับปัญ า TSP ที่มีขนาด 10 เมือง
ที่ได้ระยะทางระ ่างเมืองที่เป็น symmetry จาก โค๊ดโปรแกรม GAMS ตามตั อย่างรูปที่ 4.1 ดังต่อไปนี้
รูปที่ 4.1: การ ุ่มระยะทางระ ่างเมืองของปัญ าการเดินทางของเซล ์แมนที่มี 10 เมือง

ใ ้คำตอบเป็นเมืองเริ่มต้นถึงเมือง ิ้น ุดและกลับมายังเมืองเริ่มต้น (เป็นเ ้นตรง) พร้อมระยะทางระ ่างเมืองบนเ ้น


ลูก รและระยะร มที่ node ุดท้ายตามตั อย่างรูปที่ 4.2
แบบฝึก ัด 4.1.2. เลือกจุดที่น่า นใจ points of interest 6 จุดในม า ิทยาเก ตร า ตร์ ิทยาเขตกำแพงแ น ำ รับพา
แฟนซ้อนมอเตอไซค์เที่ย ในยามเย็น
ิธีการ heuristics แบบการ ร้าง tour อีก ิธี นึ่งเป็นดังนี้
4.1. วิธีฮิวริ ติก ์ ำ รับปัญ าการเดินทางของเซล ์แมน 49

รูปที่ 4.2: ตั อย่างคำตอบของปัญ าการเดินทางของเซล ์แมนที่เริ่มจากเมืองที่ อง


!
5 8 12 14 10 !
2 1 4 3 ... 2 = 154

Nearest Insertion Heuristics O(n2 )


1. เลือก องเมืองที่มีระยะทางระ ่างกันที่ ั้นที่ ุดแล้ ร้าง subtour จาก องเมืองนี้
2. เลือกเมืองนอกเ นือจากเมืองที่มีใน subtour ที่มีระยะทางไปยังเมืองที่ใน subtour ที่ ั้นที่ ุด
3. ร้าง subtour โดยเพิ่มเมืองใ ม่นี้เข้าไปโดยใ ้มีค่าการเพิ่มเมืองที่ ั้นที่ ุด
4. ทำซ้ำจนครบ tour

Convex Hull O(n2 log2 n)


1. ร้าง subtour จาก Convex Hull ของ node เมือง องมิติ
2. เลือกเมืองนอกเ นือจากเมืองที่มีใน subtour ที่มีระยะทางไปยังเมืองที่ใน subtour ที่ ั้นที่ ุด
3. ร้าง subtour โดยเพิ่มเมืองใ ม่นี้เข้าไปโดยใ ้มีค่าการเพิ่มเมืองที่ ั้นที่ ุด
4. ทำซ้ำจนครบ tour

4.1.2 แบบการปรับปรุงทั ร์ tour improvement


2­opt and 3­opt
1. เริ่มจาก tour ที่ มบูรณ์แล้ เลือกเ ้นเชื่อม องเ ้นใดๆ( รือ าม)มาทด อบ ลับเ ้นทาง เพื่อใ ้ได้ tour ที่ ั้นลง
2. ทำไปเรื่อยๆจนไม่ทีคู่ที่ ามารถปรับปรุง tour ได้

แบบฝึก ัด 4.1.3. จงใ ้เ ตุผล ่า 2­opt รือ 3­opt าคำตอบได้ดีก ่ากัน

Lin­Kernighan
Tabu­Search
Simulated Annealing
Genetic Algorithms
แบบฝึก ัด 4.1.4. แก้ปัญ า TSP ต่อไปนี้ด้ ย ิธีฮิ ริ ติก ์
แบบฝึก ัด 4.1.5. แก้ปัญ า TSP ต่อไปนี้ด้ ย ิธีฮิ ริ ติก ์
50 บทที่ 4. วิธีฮิวริ ติก ์ HEURISTIC METHODS

รูปที่ 4.3: ตั อย่างกราฟแ ดงปัญ าการเดินทางของเซล ์แมน 1


2

1 7 2

12 1
10 3 4 9 5 8

11

3 6 4

รูปที่ 4.4: ตั อย่างกราฟแ ดงปัญ าการเดินทางของเซล ์แมน 2


12

1 6 2

12 12
10 13 8 9 8 8

11

3 6 4

แบบฝึก ัด 4.1.6. แก้ปัญ า TSP ต่อไปนี้ด้ ย ิธีฮิ ริ ติก ์


้าปีผ่านไป มาชิกในกลุ่มได้พบรักแท้และต้องการจัดงานแต่งงานเพื่อเริ่ม ร้างครอบครั นึ่งใน น้าที่ที่นิ ิตได้รับคือทำการ
แจกบัตรงานแต่งงานกับ แขกจำน น 10 คนโดยมี เ ้น ทางการเดิน ทางเป็น ไปตามข้อมูล ที่ ได้ ของแต่ละกลุ่ม จงใช้ ิธี การแก้
ปัญ า TSP แบบต่างๆเพื่อ าเ ้นทางที่ ั้นที่ ุด อธิบาย ิธีการ าคำตอบ และ ิเครา ์คำตอบที่ได้ของแต่ละ ิธี
แบบฝึก ัด 4.1.7. เลือก ิธีการแล้ แก้ปัญ า TSP ในแบบฝึก ัดที่ 4.1.6 โดยคอมพิ เตอร์

4.2 ขั้นตอน ิธีเชิงพันธุกรรม Genetic algorithm


ขั้นตอน ิธีเชิงพันธุกรรมเป็น ิธีการ metaheuristic นั่นคือเป็น ิธีการที่มีรูปแบบก ้างๆ ำ รับการพัฒนา ิธีการ heuristic
ำ รับปัญ าเฉพาะด้าน มีขั้นตอน ิธีการเลียนแบบธรรมชาติของการ ืบทอดพันธุกรรมของ ิ่งมีชี ิต ดังต่อไปนี้

1. เลือกกลุ่มประชากรเริ่มต้น
2. า fitness function
3. เลือกประชากรกลุ่มเจริญพันธุ์ mating pool
4.2. ขั้นตอนวิธีเชิงพันธุกรรม GENETIC ALGORITHM 51

4. ผ ม mating with crossover


5. กลายพันธุ์ mutation
6. ทำซ้ำ

รูปที่ 4.5: ขั้นตอน ิธีเชิงพันธุกรรม 1

รูปที่ 4.6: ขั้นตอน ิธีเชิงพันธุกรรม 2

รูปที่ 4.7: ขั้นตอน ิธีเชิงพันธุกรรม 3

รูปที่ 4.8: ขั้นตอน ิธีเชิงพันธุกรรม 4

ตั อย่าง 4.2.1.
52 บทที่ 4. วิธีฮิวริ ติก ์ HEURISTIC METHODS

รูปที่ 4.9: ขั้นตอน ิธีเชิงพันธุกรรม 5

รูปที่ 4.10: ขั้นตอน ิธีเชิงพันธุกรรม 6

ในการ าธิตการประยุกต์แก้ปัญ าโดย ิธีการพันธุกรรม นิ ิต ามารถ ึก าได้โดยการทำแบบฝึก ัดปัญ า Max One


ดังต่อไปนี้
ใ ้ชุดเลข ุ่มทั้ง มดที่เ ลือในบทที่ 4 นี้เป็นเลข ุ่มระ ่าง 0 ถึง 1 (unless stated otherwise)
แบบฝึก ดั 4.2.1. แก้ปัญ า Max One ด้ ย GA โดยทำ 2 iteration ใ ้ประชากรมีขนาดเป็น 6 และขนาดของ ตริงเป็น
10 โดยใ ก้ าร ุ่มเลือกประชากรเริ่มต้นเป็นไปดังนี้ตามรูปที่ 4.11

รูปที่ 4.11: ข้อมูล ำ รับประชากรเริ่มต้น


4.2. ขั้นตอนวิธีเชิงพันธุกรรม GENETIC ALGORITHM 53

แบบฝึก ัด 4.2.2. า fitness function ที่เ มาะ ม จากนั้น าค่าของแต่ละ individual


แบบฝึก ัด 4.2.3. า ิธีใช้ roulette wheel ในการเลือกประชากรใ ่ mating pool ที่เ มาะ ม โดยใ ้การ ุ่มเลือกเป็น
ไปดังนี้ตามรูปที่ 4.12

รูปที่ 4.12: ข้อมูล ำ รับ ุ่มเลือก mating pool

ดู hint ของการใช้ roulette wheelตามรูปที่ 4.13

รูปที่ 4.13: Hint ของการใช้ roulette wheel


54 บทที่ 4. วิธีฮิวริ ติก ์ HEURISTIC METHODS

แบบฝึก ัด 4.2.4. เลือกการ cross over โดย ุ่มโอกา เกิดในแต่ละคู่เป็น 20% จากเลข ุ่มตามรูปที่ 4.14 และเลือกตำแ น่ง
เริ่ม­ ิ้น ุดการ cross over ของแต่ละคู่(ถ้าเกิด)จากการ ุ่มตามรูปที่ 4.15

รูปที่ 4.14: ข้อมูล ำ รับ ุ่มเลือกการ crossover

รูปที่ 4.15: ข้อมูล ำ รับ ุ่มเลือกตำแ น่ง crossover (ถ้าเกิด)


4.2. ขั้นตอนวิธีเชิงพันธุกรรม GENETIC ALGORITHM 55

แบบฝึก ัด 4.2.5. เลือกการ mutate ของแต่ละยีน ์โดยใ ้โอกา เป็น 10% ใช้การ ุ่มในการเกิดตามรูปที่ 4.16 จากนั้น า
ค่า fitness โดยร มของประชากรใ ม่ และค่าของคำตอบที่ดีที่ ุด แล้ เปรียบเทียบกับของเก่า
รูปที่ 4.16: โอกา การกลายพันธุ์

ข้อมูลเลข ุ่มรูปที่ 4.17 ดังต่อไปนี้เพื่อแบบฝึก ัดที่ 4.2.1 ใน ่ นที่เ ลือ


รูปที่ 4.17: เลข ุ่ม ำ รับแบบฝึก ัดที่ 4.2.1 ใน iteration ที่ อง

แบบฝึก ัด 4.2.6. แก้ปัญ า TSP ในขนาดที่เ มาะ ม ด้ ย ิธีการ heuristic และ metaheuristic ปรับค่าพารามิเตอร์ใ ้
เ มาะ ม ิเครา ์และ ิจารณ์ผลที่ได้
1. เลือกขนาดของปํญ าที่เ มาะ มโดยใช้โค๊ดที่ปรับขนาดได้ง่าย (ในที่นี้ใ ้ใช้เมือง 10 เมือง)
2. generate พารามิเตอร์ (ระยะทางระ ่างเมือง) (ในที่นี้ใ ้ใช้ระยะทางของแต่ละกลุ่มที่เคยทำกับเมือง 10 เมืองนั้น)
3. ทำฮิ ริ ติก ์ (ทำ nearest nbhd กับ greedy)
4. ทำเมตาฮิ ริ ติก ์ (ทำ GA)
5. บันทึกผล เปรียบเทียบ ิเคราะ ์ ิจารณ์ (เปรียบเทียบผลโดยเทียบเ ลา รือจำน น iteration)
6. รุปผล
ิธีทำ ใช้ option seed เท่ากับเลขประจำกลุ่มตลอดการ ุ่ม
ามารถใช้โค๊ดที่มีกับข้อ 1 และข้อ 2 อาจจะปรับแก้เล็กน้อย
ข้อ 3 ใ ้เลือก นึ่ง รือ อง ิธีจาก section 4.1
ข้อ 3 ใ ้ใช้ GA !
56 บทที่ 4. วิธีฮิวริ ติก ์ HEURISTIC METHODS

ตารางที่ 4.1: การทำ crossover เมื่อ ร้าง offsprings ำ รับ GA on TSP


Parents
1 2 3 4 5 6 7 8 9

9 8 7 6 5 4 3 2 1

Offspring 1
6 7 8

9 5 4 3 2 6 7 8 1

Offspring 2
4 3 2

1 5 6 7 8 4 3 2 9

ตารางที่ 4.2: การทำ mutation เมื่อ ร้าง offsprings ำ รับ GA on TSP


1 2 3 4 5 6 7 8 9

1 2 8 4 5 6 7 3 9
บทที่ 5
Special Topic ปัญ าการจัดเ ้นทาง ำ รับยาน
พา นะ VRP
ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ รือ Vehicle routing problem มีลัก ณะดังต่อไปนี้

1. จัดรถบรรทุกจำน น k คัน ำ รับ ่ง ินค้าใ ้ลูกค้า n แ ่ง


2. รถทุกคันต้องออกจาก ูนย์กระจาย ินค้าและกลับมายัง ูนย์กระจาย ินค้าเมื่อ ่งของเ ร็จครบรอบแล้
3. ลูกค้าแ ่งที่ i มี demand เป็น di
4. ่ง ินค้าตามข้อจำกัดโดยใ ้มีต้นทุนที่ต่ำที่ ุด

57
58 บทที่ 5. SPECIAL TOPIC ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ VRP

ค ามแตกต่างของข้อจำกัดต่างๆ ทำใ ้มีปัญ าการจัดเ ้นทาง ำ รับยานพา นะ ลาก ลายแบบ ดังนี้

1. รถบรรทุกมีข้อจำกัดในการขน ่ง คือมี capacity จัดเป็นปัญ า Capacitated Vehicle Routing Problem (CVRP)


2. ปัญ า CVRP ที่ minimize ระยะทางร ม จัดเป็นปัญ า Distance­constrained Capacitated Vehicle Routing
Problem (DCVRP)
3. ปัญ า CVRP ที่ รับ ของจากลูกค้า อีก กลุ่ม เพื่อ นำของกลับ เรียก ่า Vehicle Routing Problem with Backhaul
(VRPB)
4. ปัญ า CVRP ที่ ่งของตามช่ งเ ลาที่ตกลงกันก่อนจัด ่งเรียก ่า Vehicle Routing Problem with Time Windows
(VRPTW)
5. ปัญ า CVRP ที่ทั้งรับของ และ ่งของ เรียก ่า Vehicle Routing Problem with Pickup and Delivery (VRPPD)
6. ปัญ าร มกัน ระ ่าง VRPB และ VRPTW เรียก ่า Vehicle Routing Problem with Backhaul and Time
Windows (VRPBTW)
7. ปัญ าร มกันระ ่าง VRPTW และ VRPPD เรียก ่า Vehicle Routing Problem with Pickup and Delivery and
Time Windows (VRPPDTW)
ค ามเชื่อมโยงเป็นไปดังรูปที่ 5.1
59

ย่อ

1. รถมี capacity (CVRP)


2. minimize ระยะทางร ม (DCVRP)
3. ่งเ ร็จแล้ ขากลับรับ ินค้า (VRPB)
4. มีช่ งเ ลาจัด ่ง (VRPTW)
5. ทั้งรับ และ ่งของ (VRPPD)
6. VRPB + VRPTW ขากลับรับ ินค้า + ช่ งเ ลาจัด ่ง เรียก ่า (VRPBTW)
7. VRPTW + VRPPD มีช่ งเ ลาจัด ่ง + ทั้งรับและ ่ง เรียก ่า (VRPPDTW)
ค ามเชื่อมโยงเป็นไปดังรูปที่ 5.1
60 บทที่ 5. SPECIAL TOPIC ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ VRP

รูปที่ 5.1: ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ VRP ในรูปแบบต่างๆและการเชื่อมโยง


61

รูปที่ 5.2: ตั อย่างปัญ าการจัดเ ้นทาง ำ รับยานพา นะ แบบ cluster


62 บทที่ 5. SPECIAL TOPIC ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ VRP

แบบจำลองทางคณิต า ตร์ ำ รับ CVRP เป็นดังรูปที่ 5.3 ดังต่อไปนี้

รูปที่ 5.3: แบบจำลองทางคณิต า ตร์ ำ รับ CVRP [12]

ามารถเขียนโค๊ด GAMS ได้ดังนี้


5.1. HEURISTIC METHODS FOR CVRP 63

5.1 Heuristic methods for CVRP


5.1.1 Clarke and Wright saving algorithm
1. จัดเ ้นทาง 1 เ ้นทางไปกลับ ำ รับ 1 เป้า มาย destination ต่อ 1 เ ้นทาง
2. คำน นค่าลดต้นทุนจากการร มเ ้นทาง ทุกคู่ แล้ เรียงลำดับจากมาก ุด
3. ร มเ ้นทางทีละเ ้นตามลำดับจาก ูง ุดไปต่ำ ุดเท่าที่เป็นไปได้จน มด
64 บทที่ 5. SPECIAL TOPIC ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ VRP

ตั อย่าง 5.1.1. จากระยะทางตามตารางที่ 5.1 และ demand ตามตารางที่ 5.2 า savings ของแต่ละ link แล้ ลำดับลงใน
ตารางที่ 5.3 จากนั้นใช้ Clarke and Wright saving heuristic าคำตอบฮิ ริ ติก โดยที่ใ ้นถบรรทุกแต่ละคันมี capacity
เป็น 23 น่ ย
5.1. HEURISTIC METHODS FOR CVRP 65

ตารางที่ 5.1: ระยะทาง (ใต้เ ้นทแยง)


1 2 3 4 5 6 7 8 9 10
1 ­ ­ ­ ­ ­ ­ ­ ­ ­
2 25
3 43 29
4 57 34 52
5 43 43 72 45
6 61 68 96 71 27
7 29 49 72 71 36 40
8 41 66 81 95 65 66 31
9 48 72 89 99 65 62 31 11
10 71 91 114 108 65 46 43 46 36
66 บทที่ 5. SPECIAL TOPIC ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ VRP

ตารางที่ 5.2: ปริมาณ ินค้าที่ต้อง ่งแก่ลูกค้าในแต่ละจุด


ลูกค้า 2 3 4 5 6 7 8 9 10
ปริมาณ 4 6 5 4 7 3 5 4 4

ตารางที่ 5.3: ระยะประ ยัด savings list

link savings link savings link savings


(6,10) 86 (4,6) 47 (4,7) 15
5.1. HEURISTIC METHODS FOR CVRP 67

ิธีทำ !
ตารางที่ 5.4: ระยะทาง (ใต้เ ้นทแยง) และระยะประ ยัด (เ นือเ ้นทแยง)
1 2 3 4 5 6 7 8 9 10
1 ­ ­ ­ ­ ­ ­ ­ ­ ­
2 25 39 48 25 18 5 0 1 5
3 43 29 48 14 8 0 3 2 23
4 57 34 52 55 47 15 3 6 20
5 43 43 72 45 77 36 19 26 49
6 61 68 96 71 27 50 36 47 86
7 29 49 72 71 36 40 39 46 57
8 41 66 81 95 65 66 31 78 66
9 48 72 89 99 65 62 31 11 83
10 71 91 114 108 65 46 43 46 36
68 บทที่ 5. SPECIAL TOPIC ปัญ าการจัดเ ้นทาง ำ รับยานพา นะ VRP
บทที่ 6
Special Topic ปัญ าการ างแผนจัด างตู้
คอนเทนเนอร์ภายในเรือ ินค้า
Containership storage planning problem [11]
การค้าทางทะเลคิดเป็น 80% ของการค้าระ ่างประเท ทั้ง มด และเป็นการขน ่งที่มีประ ิทธิภาพมากที่ ุดทาง นึ่ง
90% ของ ินค้า แยกชิ้น ที่ ขน ่ง ระ ่างประเท ขน ่ง ด้ ยตู้ คอนเทนเนอร์ ในปีค . 2016 มี การขน ่ง ร มทั้ง ิ้น ประมาณ
140 ล้าน Twenty­foot Equivalent Units (TEUs) เรือขนตู้ ิน ค้า มัย ใม่ ามารถบรรทุก ได้ ถึง 20,000 TEUs โดยมี ลำ
ใ ญ่ ุดคือ OOCL Hong Kong ที่ขนได้ถึง 21413 TEUs การขน ่งที่ใกล้เต็มขีดจำกัด capacity ทำใ ้เกิด economy of
scale

69
70 บทที่ 6. SPECIAL TOPIC ปัญ าการวางแผนจัดวางตู้คอนเทนเนอร์ภายในเรือ ินค้า

รูปที่ 6.1: iduna 1

รูปที่ 6.2: iduna 2


71

รูปที่ 6.3: OOCL Hong Kong


72 บทที่ 6. SPECIAL TOPIC ปัญ าการวางแผนจัดวางตู้คอนเทนเนอร์ภายในเรือ ินค้า

รูปที่ 6.4: msc­gulsun 1

รูปที่ 6.5: msc­gulsun 2


73

รูปที่ 6.6: msc­gulsun 3

รูปที่ 6.7: madrid­maersk 1


74 บทที่ 6. SPECIAL TOPIC ปัญ าการวางแผนจัดวางตู้คอนเทนเนอร์ภายในเรือ ินค้า

รูปที่ 6.8: madrid­maersk 2

6.1 รูปแบบของปัญ า
พิจารณาเรือ เดิน ทางตามเ ้น ทางการค้า ที่ มี ท่าเรือ N ท่าเรือ ใ ้ ตู้ ทั้ง มดมี ขนาดเท่า กัน และงดการพิจารณาน้ำ นัก และ
มดุลของการบรรทุก โดย ามารถพิจารณา มมติใ ้เรือมี bay เดีย ที่มี R แถ C คอลัมน์ แถ ที่ 1 อยู่ล่าง ุด คอลัมน์ที่ 1
อยู่ซ้าย ุด
ใ ้ N = {1, . . . , N }
C = {1, . . . , C}
R = {1, . . . , R}
โดย ัญลัก ณ์ดังกล่า เป็นไปตาม [2] และ [5] การยกตู้คอนเทนเนอร์ขึ้นลงตามเ ้นทางการเดินเรือเป็นไปตาม N × N
เมทริกซ์ T โดย มาชิก ในตำแ น่ง i, j แทนจำน นตู้ ที่มาจากท่าเรือ ที่ i ไปยัง ท่าเรือ ที่ j ดัง นั้น T จึง เป็น เมตริ กซ์ ที่
ามเ ลี่ยมบนเป็นค่าบ ก มี มมติฐานคือเมตริกซ์ T เป็นเมตริกซ์ที่ feasible นั่นคือ
ประพจน์ 6.1.1.
i
" N
"
Tkj ≤ R · C ∀i ∈ N : i < N (6.1)
k=1 j=i+1

การเดิน เรือ เริ่ม จากท่าเรือ ที่ 1 ไปยัง ท่าเรือ ที่ 2, 3, . . . , N ตามลำดับ ในแต่ละท่าเรือ ที่ i = 1, 2, . . . , N − 1 ตู้
คอนเทนเนอร์ ถานีปลายทาง i ถูกยกออกจากเรือ และ ยกตู้คอนเทนเนอร์ ถานีปลายทาง j = i + 1, . . . , N เข้าเรือ ตู้
คอนเทนเนอร์ ถานีปลายทาง j เรียก ่า j­container ณ ถานี N ตู้ที่เ ลือทั้ง มดถูกยกออก
6.1. รูปแบบของปัญ า 75

แบบจำลองทางคณิต า ตร์[11]
ใ ้ตั แปรตัด ินใจเป็น

∀i, j ∈ N โดย i ≤ N − 2 และ i < j; ∀r ∈ R; ∀c ∈ C,



⎨1, ถ้าเมื่อออกจากท่าเรือ i ตู้ j­container อยู่ในตำแ น่ง (r, c)
xijrc = (6.2a)
⎩0, otherwise

∀i, j ∈ N โดย 1 < i < N และ i < j; ∀r ∈ R; ∀c ∈ C,



⎨1, ถ้าตู้ j­container ที่อยู่ในตำแ น่ง (r, c) ลังท่าเรือ i − 1 ถูกขยับโดยไม่เพิ่มมูลค่าที่ท่าเรือ i
yijrc = (6.3a)
⎩0, otherwise

จากท่าเรือ N − 1 ไปยังท่าเรือ N จะมีแต่ N­container ไม่มีการโยกขยับตู้ ินค่าโดยไม่เพิ่มมูลค่าที่ท่าเรือ N และ


ตำแ น่งของการ างตู่จากท่าเรือ N − 1 ไปยังท่าเรือ N ไม่มีค าม ำคัญต่อปัญ า จึงไม่ต้องพิจารณาตั แปร x(N −1)N rc
รือ yN N rc
กำ นดการเชิงเ ้นจำน นเต็มจำลองปัญ าการเรียงตู้คอนเทนเนอร์เป็นดังต่อไปนี้

N
" −1 N "
" R "
C
min yijrc (6.4a)
i=2 j=i+1 r=1 c=1
st xi−1 irc − xijrc ≤ yijrc (6.4b)
∀i, j ∈ N : 1 < i ≤ N − 2, i < j; ∀r ∈ R; ∀c ∈ C,
N
" N
"
xi−1 ir−1 c + yijr−1 c ≤ xi−1 irc + yijrc (6.4c)
j=i+1 j=i+1
∀i ∈ N : 1 < i < N ; ∀r ∈ R : r > 1; ∀c ∈ C,
R "
" C
x1jrc = T1j ∀j ∈ N : j > 1 (6.4d)
r=1 c=1
"R " C
(xijrc − xi−1 jrc ) = Tij ∀i, j ∈ N : 1 < i ≤ N − 2, i < j, (6.4e)
r=1 c=1
N
"
xijrc ≤ 1 ∀i ∈ N : i ≤ N − 2; ∀r ∈ R; ∀c ∈ C. (6.4f)
j=i+1
76 บทที่ 6. SPECIAL TOPIC ปัญ าการวางแผนจัดวางตู้คอนเทนเนอร์ภายในเรือ ินค้า

รูปที่ 6.9: ตั อย่างการจัดเรียงตู้คอนเทนเนอร์ที่ท่าเรือที่ 2 และ 3

ตั อย่าง 6.1.1. ึก ารูปแบบการจัด างตู้คอนเทนเนอร์ตามรูปที่ 6.7 จะช่ ยเพิ่มค ามเข้าใจในแบบจำลองทางคณิต า ตร์


และเข้าใจในรูปแบบต่างๆของการขยับตู้คอนเทนเนอร์โดยไม่เพิ่มมูลค่ามากยิ่งขึ้น รูปที่ 6.7 แ ดงการจัดเรียงตู้ ณ ท่าเรือที่
2 และท่าเรือที่ 3 แต่ละตารางแทนตู้คอนเทนเนอร์ 1 ตู้ โดยตั เลขแ ดงท่าเรือปลายทางของตู้ ตาราง ีเทาคือตู้ที่มีการขยับ
ณ ท่าเรือที่ 3 เนื่องจากตำแ น่ง (3, 1) มีการเปลี่ยนปลายทางของตู้ระ ่างท่าเรือที่ 2 และ 3 แ ดง ่าจะต้องมีการขยับตู้ใน
ตำแ น่งนี้ที่ท่าเรือที่ 3 และ มการข้อจำกัด (6.4b) ทำใ ้ y3531 = 1
จากนั้นใ ้ดู 6­container ที่ตำแ น่ง (4, 1) ณ ท่าเรือที่ 2 ที่จะต้องถูกขยับ ณ ท่าเรือที่ 3 เพื่อจะได้นำ 5­container
ออก แต่ ณ ท่าเรือที่ 3 ในตำแ น่ง (4,1) นี้ก็ยังคงเป็นตู้ 6­container (ซึ่งอาจจะเป็นตู้เดิม รือตู้อื่น) ทำใ ้ มการข้อจำกัด
(6.4b) ไม่จำกัด ถาณการณ์ในกรณีนี้ แต่ถูกบังคับโดยข้อจำกัด (6.4c) เนื่องจากมีการขยับกองที่ 1 ชั้น 3 ณ ท่าเรือที่ 3 ตู้ด้าน
บนจากนี้ในช่อง (4,1) จะต้องมีจุด มายปลายทางเป็นท่าเรือที่ 3 รือมิฉนั้นจะต้องถูกขยับเช่นดังในกรณีนี้ นอกจากนั้นข้อ
จำกัด (6.4c) บ่งชี้การขยับที่ไม่เพิ่มมูลค่าอันเนื่องมาจากการขยับตู้ที่ต้องลง ณ ท่าเรือจุด มาย
ุดท้ายใ ้พิจารณาคอนเทนเนอร์ในตำแ น่งที่ (4, 3) ณ ท่าเรือที่ 2 เนื่องจากมี 3­container ณ ท่าเรือที่ 2 ในตำแ น่ง
(3, 3) จึงต้องมีการขยับตู้ทั้ง มดด้านบนตู้ 3­container นี้เพราะตู้เ ล่านั้นทั้ง มดมีปลายทาง ลังจากท่าเรือที่ 3
บรรณานุกรม
[1] ภัทรพง ์ ภาคภูมิ. การวิจัยการดำเนินงาน ำ รับวิศวกร. คณะ ิ กรรม า ตร์ กำแพงแ น ม.เก ตร า ตร์, 2019.
[2] Mordecai Avriel, Michal Penn, Naomi Shpirer, and Smadar Witteboon. Stowage planning for container
ships to reduce the number of shifts. Annals of Operations Research, 76:55­­71, 1998.
[3] Kenneth R Baker and Dan Trietsch. Principles of sequencing and scheduling. John Wiley & Sons, 2013.
[4] GAMS Development Corporation. General Algebraic Modeling System (GAMS) Release 25.1.3.
Washington, DC, USA, 2016.
[5] Ding Ding and Mabel C Chou. Stowage planning for container ships: A heuristic algorithm to reduce
the number of shifts. European Journal of Operational Research, 246(1):242­­249, 2015.
[6] Lester Randolph Ford Jr and Delbert Ray Fulkerson. Flows in networks. Princeton university press,
2015.
[7] S Frederick, LIEBERMAN HILLIER, and J GERALD. Introduction to operations research. MCGRAW­HILL
EDUCATION, 2014.
[8] Simon French. Sequencing and scheduling. An Introduction to the Mathematics of the Job­shop,
1982.
[9] Saul I Gass and Arjang A Assad. An annotated timeline of operations research: An informal history,
volume 75. Springer Science & Business Media, 2005.
[10] Jens Kuhpfahl. Job shop scheduling with consideration of due dates: Potentials of local search
based solution techniques. Springer, 2015.
[11] Consuelo Parreño­Torres, Ramon Alvarez­Valdes, and Francisco Parreño. Solution strategies for a
multiport container ship stowage problem. Mathematical Problems in Engineering, 2019, 2019.
[12] Tantikorn Pichpibul and Ruengsak Kawtummachai. An improved clarke and wright savings algorithm
for the capacitated vehicle routing problem. ScienceAsia, 38(3):307­­318, 2012.
[13] Yves Pochet and Laurence A Wolsey. Production planning by mixed integer programming. Springer
Science & Business Media, 2006.
[14] Wayne L Winston and Jeffrey B Goldberg. Operations research: applications and algorithms,
volume 3. Thomson Brooks/Cole Belmont, 2004.

77

You might also like