บทที่ 3 กำหนดการเชิงเส้น : การแก้ปัญหาด้วยวิธีซิมเพล็กซ์ (Simplex Method) (ต่อ) Operations Research โดย อ. สุรินทร์ทิพ ศักดิ์ภูวดล
การแก้ปัญหากรณี หาค่าต่ำสุด แนวทางที่ 1 การดำเนินการเหมือนวิธีหาค่าสูงสุด แต่พยายามหาตัวแปรเปลี่ยนที่ทำให้ค่าสมการเป้าหมายลดลงเร็วที่สุด การพิจารณาค่าต่ำสุดคือ ดูว่าสัมประสิทธิ์ C1,C2,C3 ในตารางว่ามีค่าเป็น ลบ และ 0 หมดรึยัง ถ้ายังมีค่าบวกอยู่เราก็ดำเนินการจนกว่าจะได้ค่าต่ำสุด
จงหาค่าต่ำสุดของ Z = -3X1-2X2+5X3 ข้อจำกัด X1+2X2+X3 <=430 3X1 +2X3 <= 450 X1+4X2 <= 420 X1,X2,X3 >= 0 1) รูปแบบสมการขยายคือ Z+3X1+2X2-5X3 = 0 X1+2X2+X3 + X4 = 430 3X1 +2X3 + X5 = 450 X1+4X2 + X6 = 420
ตารางผลลัพธ์เบื้องต้น ตัวแปรมูลฐาน Z X1 X2 X3 X4 X5 X6 b อัตราส่วน 1 3 2 -5 0 0 0 X4 X5 X6 1 2 1 3 0 2 1 4 0 1 0 0 0 1 0 0 0 1 430 450 420 430/1 450/3 *** 420/1 2) ให้ X1, X2, X3 = 0, Z=0 , X4 = 430, X5=450, X6=420 3) สัมประสิทธิ์จากสมการเป้าหมายยังเป็น + 4) ตัวแปรเพิ่ม (ตัวแปรเข้า) เลือกค่า X1 หรือ X2 หรือ X3 ที่เป็นค่า + มากที่สุด ดังนั้นตัวแปรเข้าคือ X1 ตัวแปรลด (ตัวแปรออก) เลือกอัตราส่วนที่น้อยที่สุดคือ 450/3 ดังนั้นตัวแปรออกคือ X5 สัมประสิทธิ์ของจุดหมุนคือ 3
ตารางผลลัพธ์รอบที่ 1 ตัวแปรมูลฐาน Z X1 X2 X3 X4 X5 X6 b อัตราส่วน 1 0 2 -7 0 -1 0 -450 X4 X1 X6 0 2 1/3 1 0 2/3 0 4 -2/3 1 -1/3 0 0 1/3 0 0 -1/3 1 280 150 270 280/2 270/4*** 3) สัมประสิทธิ์จากสมการเป้าหมายยังเป็น + ยังต้องดำเนินการต่อไป 4) ตัวแปรเพิ่ม (ตัวแปรเข้า) เลือกค่า X2ที่เป็นค่า + มากที่สุด ดังนั้นตัวแปรเข้าคือ X2 ตัวแปรลด (ตัวแปรออก) เลือกอัตราส่วนที่น้อยที่สุดคือ 270/4 ดังนั้นตัวแปรออกคือ X6 สัมประสิทธิ์ของจุดหมุนคือ 4
ตารางผลลัพธ์รอบที่ 2 ตัวแปรมูลฐาน Z X1 X2 X3 X4 X5 X6 b 1 0 0 -20/3 0 0 -20/3 0 -5/6 -1/2 -585 X4 X1 X2 0 0 2/3 1 0 2/3 0 1 -1/6 1 -1/6 -1/2 0 1/3 0 0 -1/12 1/4 145 150 67.5 ผลลัพธ์คือ X1 = 150, X2=67.5, X3=0, X4 = 145, X5=0, X6=0 และค่าต่ำสุดของ Z คือ = -585 จากตาราง ค่าสัมประสิทธิ์ของตัวแปรในสมการเป้าหมายในตารางเป็น 0 และ – ผลลัพธ์ที่ได้คือคำตอบที่ต้องการ
Big-M Method กรณี การใช้วิธี Simplex ธรรมดาไม่สามารถหาผลลัพธ์ได้ จำเป็นที่จะต้องใช้วิธีอื่นเช่น Big-M Method หรือ Two-phase Method ขั้นตอนของ Big-M Method มีดังนี้ ขั้นที่ 1 เขียนรูปแบบปัญหาเดิมให้อยู่ในรูปแบบมาตรฐาน คือ เขียนข้อจำกัดให้อยู่ในรูปสมการที่สมมูลกัน ขั้นที่ 2 เติมตัวแปรเทียม (R) เข้าทางซ้ายของสมการที่ได้จากข้อจำกัดเดิม ซึ่งอยู่ในรูป >= หรือ = , และ R >= 0
ขั้นที่ 3 กำหนดค่า M ที่เป็นบวก และมีค่ามากๆให้เป็นสัมประสิทธิ์ของ R ในสมการเป้าหมาย ขั้นที่ 4 ให้ตัวแปรเทียม(R) เป็นคำตอบมูลฐานเริ่มต้นที่เป็นไปได้และในสมการเป้าหมายมีตัวแปรเทียมอยู่ ต้องทำสัมประสิทธิ์ของ R ในสมการเป้าหมาย 0 แล้วจึงสร้างตาราง Simplex เริ่มต้น
ขั้นที่ 5 พิจารณาตัวแปรเข้า และตัวแปรออก เพื่อปรับปรุงค่าของตัวแปรให้ได้ผลตามเป้าหมาย โดยใช้หลักการ Simplex
ตัวแปรเพิ่มใน Simplex Method รูปสมการหรืออสมการ ตัวแปรเพิ่ม <= +S >= -S+R = +R S = slack variable (ตัวแปรขาด) R = artificial variable (ตัวแปรเทียม)
หลักการหาคำตอบ ในการแก้ปัญหากำหนดการเชิงเส้นที่อาศัยตัวแปรเทียม (Artificial Variables :R) เป็นคำตอบเริ่มต้นนั้น ถ้าปัญหานั้นมีคำตอบ ค่าตัวแปรเทียม(R)ในตารางสุดท้ายของ Simplex จะเป็น 0 เสมอ และถ้าค่าตัวแปรเทียม(R)ไม่เป็น 0 แสดงว่าปัญหานั้นไม่มีคำตอบ เพราะข้อจำกัดบางข้อจำกัดไม่เป็นจริง การหาค่าสูงสุด(Maximize) จะได้คำตอบที่ดีที่สุดเมื่อ สัมประสิทธิ์ตัวแปรเปลี่ยน (Decision variable) และตัวแปรขาด(slack variable) จากสมการเป้าหมาย จะต้องมีค่าเป็น บวก หรือ 0 การหาค่าต่ำสุด(Minimize) จะได้คำตอบที่ดีที่สุดเมื่อ สัมประสิทธิ์ตัวแปรเปลี่ยน (Decision variable) และตัวแปรขาด(slack variable) จากสมการเป้าหมาย จะต้องมีค่าเป็น ลบ หรือ 0 สำหรับตัวแปรเทียมเมื่อออกจากการเป็นตัวแปรมูลฐานแล้ว จะไม่มีการพิจารณาเข้าเป็นตัวแปรมูลฐานอีก
จงหาค่าสูงสุดของ Z= 3X1 +5X2
ขั้นที่ 1 เขียนสมการให้อยู่ในรูปแบบมาตรฐาน สมการขยาย Z- 3X1 - 5X2 = 0 X1 +S1 = 4 2X2 +S2 = 12 3X1 + 2X2 = 18 X1,X2 >=0, S1,S2>=0 ขั้นที่ 2 ให้ R >= 0 บวกเข้าทางซ้ายของสมการข้อจำกัด จะได้ 3X1 + 2X2 + R = 18
ขั้นที่ 3 ถ้าสมการเป้าหมายต้องการค่าสูงสุด จะกำหนด (+M) เท่าของ R ในทางซ้ายของสมการเป้าหมาย เปลี่ยนสมการเป้าหมายการหาค่าสูงสุดของของ Z- 3X1 -5X2= 0 เป็น Z- 3X1 -5X2 + MR =0 เมื่อ M เป็นค่าบวกมากๆ ดังนั้นค่าสูงสุดของ Z จะมีได้ก็ต่อเมื่อ R=0 จะได้ สมการขยาย Z- 3X1 -5X2 +MR = 0 X1 +S1 = 4 2X2 +S2 = 12 3X1 + 2X2 +R = 18 X1,X2 >=0, S1,S2>=0, R>=0
ขั้นที่ 4 คำตอบมูลฐานเริ่มต้นที่เป็นไปได้คือ (X1,X2,S1,S2,R)=(0,0,4,12,18) แทนค่า R= 18-3X1-2X2 ในสมการเป้าหมาย จะได้ Z- 3X1-5X2+M(18-3X1-2X2) = 0 Z- 3X1-5X2+18M-3MX1-2MX2 = 0 Z-(3M+3)X1-(2M+5)X2 = -18M ดังนั้น สมการขยาย Z-(3M+3)X1-(2M+5)X2 = -18M X1 +S1 = 4 2X2 +S2 = 12 3X1 + 2X2 +R = 18
ตัวแปรมูลฐาน Z X1 X2 S1 S2 R b อัตราส่วน 1 -3M-3 -2M-5 0 0 0 -18M S1 ขั้นที่ 5 สร้างตาราง Simplex เริ่มต้น (ตารางผลลัพธ์เบื้องต้น) ตัวแปรมูลฐาน Z X1 X2 S1 S2 R b อัตราส่วน 1 -3M-3 -2M-5 0 0 0 -18M S1 S2 R 1 0 0 2 3 2 1 0 0 0 1 0 0 0 1 4 12 18 4/1= 4 *** - 18/3 = 6
สร้างตารางผลลัพธ์รอบที่ 1 ตัวแปรมูลฐาน Z X1 X2 S1 S2 R b อัตราส่วน 1 0 -2M-5 3M+3 0 0 -6M+12 X1 S2 R 1 0 0 2 1 0 0 0 1 0 -3 0 1 4 12 6 - 12/2=6 6/2=3 ***
สร้างตารางผลลัพธ์รอบที่ 2 ตัวแปรมูลฐาน Z X1 X2 S1 S2 R b อัตราส่วน 1 0 0 -9/2 0 M+5/2 27 X1 S2 X2 1 0 0 1 1 0 0 3 1 -1 -3/2 0 1/2 4 6 3 4/1 = 4 6/3 = 2*** -
สร้างตารางผลลัพธ์รอบที่ 3 ตัวแปรมูลฐาน Z X1 X2 S1 S2 R b 1 0 0 0 3/2 M+1 36 X1 S1 X2 1 0 0 1 0 -1/3 1/3 1 1/3 -1/3 0 1/2 0 2 6 เมื่อพิจารณาสัมประสิทธิ์ตัวแปรเปลี่ยน (Decision variable) และตัวแปรขาด(slack variable) มีค่าเป็น บวก หรือ 0 ทุกตัว ผลลัพธ์คือ X1=2, X2=6, S1=2, S2=0, R=0 และ Z=36
จงหาค่าต่ำสุดของ Z = 4X1 +X2
ขั้นที่ 1 เขียนสมการให้อยู่ในรูปแบบมาตรฐาน สมการขยาย Z -4X1 - X2 = 0 3X1 + X2 = 3 4X1 + 3X2 – S1 = 6 X1 + 2X2 +S2 = 3 X1,X2 >= 0 S1,S2 >= 0 ขั้นที่ 2 ให้ R1,R2 >= 0 บวกเข้าทางซ้ายของสมการข้อจำกัด จะได้ 3X1 +X2 +R1 = 3 4X1 +3X2 – S1 +R2 = 6
ขั้นที่ 3 ถ้าสมการเป้าหมายต้องการค่าต่ำสุด จะกำหนด (-M) เท่าของ R ในทางซ้ายของสมการเป้าหมาย เปลี่ยนสมการเป้าหมายการหาค่าต่ำสุดของ Z -4X1 - X2 = 0 เป็น Z -4X1 - X2 -MR1-MR2 = 0 เมื่อ M เป็นค่าบวกมากๆ จะได้สมการขยาย Z -4X1 - X2 -MR1-MR2 = 0 3X1 +X2 +R1 = 3 4X1 +3X2 – S1 +R2 = 6 X1 +2X2 +S2 = 3 X1,X2 >= 0 S1,S2 >= 0 R1,R2 >= 0
R2 = 6 - 4X1 -3X2 + S1 ในสมการเป้าหมาย ขั้นที่ 4 คำตอบมูลฐานเริ่มต้นที่เป็นไปได้คือ (X1,X2,S1,R1,R2,S2)=(0,0,0,3,6,3) จากนั้นทำสัมประสิทธิ์ของ R ในสมการเป้าหมายเป็น 0 โดย แทนค่า R1 = 3-3X1-X2 R2 = 6 - 4X1 -3X2 + S1 ในสมการเป้าหมาย จาก Z -4X1 - X2 -MR1-MR2 = 0 จะได้ Z -4X1 - X2 -M(3-3X1-X2 ) -M(6 - 4X1 -3X2 + S1) = 0 Z- 4X1-X2-3M+3MX1+MX2 -6M + 4MX1+3MX2-MS1 = 0 Z+(7M-4)X1+(4M-1)X2-MS1 = 9M
3X1 +X2 +R1 = 3 4X1 +3X2 – S1 +R2 = 6 X1 +2X2 +S2 = 3 ดังนั้นจะได้สมการขยายดังนี้ Z+(7M-4)X1+(4M-1)X2-MS1 = 9M 3X1 +X2 +R1 = 3 4X1 +3X2 – S1 +R2 = 6 X1 +2X2 +S2 = 3
ตัวแปรมูลฐาน Z X1 X2 S1 R1 R2 S2 b อัตราส่วน 1 7M-4 4M-1 -M 0 0 0 9M ขั้นที่ 5 สร้างตาราง Simplex เริ่มต้น (ตารางผลลัพธ์เบื้องต้น) ตัวแปรมูลฐาน Z X1 X2 S1 R1 R2 S2 b อัตราส่วน 1 7M-4 4M-1 -M 0 0 0 9M R1 R2 S2 3 1 4 3 1 2 0 1 0 0 -1 0 1 0 0 0 0 1 3 6 3/3= 1 *** 6/4
สร้างตารางผลลัพธ์รอบที่ 1 ตัวแปรมูลฐาน Z X1 X2 S1 R1 R2 S2 b อัตรา ส่วน 1 0 (5M+1)/3 -M (4-7M)/3 0 0 4+2M X1 R2 S2 1 1/3 0 5/3 0 1/3 0 0 -1 -4/3 1 0 0 -1/3 0 1 2 3 6/5 *** 6/5
สร้างตารางผลลัพธ์รอบที่ 2 ตัวแปรมูลฐาน Z X1 X2 S1 R1 R2 S2 b อัตรา ส่วน 1 0 0 1/5 8/5-M -1/5-M 0 18/5 X1 X2 S2 1 0 0 1 1/5 3/5 -1/5 0 -3/5 -4/5 3/5 0 1 1 -1 1 3/5 6/5 3 - 0***
สร้างตารางผลลัพธ์รอบที่ 3 ตัวแปรมูลฐาน Z X1 X2 S1 R1 R2 S2 b 1 0 0 0 7/5-M -M -1/5 18/5 X1 X2 S1 1 0 0 1 0 2/5 0 -1/5 0 -1/5 0 3/5 1 1 -1 1 3/5 6/5 พิจารณา สัมประสิทธิ์ตัวแปรเปลี่ยน (Decision variable) และตัวแปรขาด(slack variable) จะต้องมีค่าเป็น ลบ และ 0 ทุกตัว ผลลัพธ์คือ X1= 3/5, X2= 6/5, S1=0, S2=0, R1=0, R2=0, Z=18/5