บทที่ 5 - Suan Sunandha Rajabhat University · Web viewต วแบบแก ป...
Transcript of บทที่ 5 - Suan Sunandha Rajabhat University · Web viewต วแบบแก ป...
บทท 5ตวแบบแกปญหากำาหนดการ
เชงเสน
5.1 ความนำากำาหนดการเชงเสน (Linear Programming)
กำ�หนดก�รเชงเสนเปนหลกก�รอย�งหนงทชวยในก�รตดสนใจของฝ�ยจดก�รองคก�รธรกจทตองเผชญกบปญห�ก�รแบงสรร ปนสวนทรพย�กรทมอยอย�งจำ�กดใหเกดประโยชนม�กทสด ทรพย�กรเหล�นหม�ยถง เงน วตถดบ เครองจกร สถ�นท เวล� แรงง�น
กำ�หนดก�ร (Programming ) ไมไดมคว�มเกยวของกบก�รเขยนโปรแกรมคอมพวเตอรอย�งใดเลย แตหม�ยถง ก�รทำ�ใหเหม�ะสมทสด (Optimization) เชงเสน (Linear) เปนคำ�ขย�ยคว�มเพอใหเข�ใจตวแบบท�งคณตศ�สตร ซงตวแบบนนมลกษณะของสมก�รเสนตรง ทแสดงคว�มสมพนธระหว�งตวแปร ก�รนำ�คว�มรเรองกำ�หนดก�รเชงเสนไปใชประกอบดวยขนตอน 2 ขนตอน คอ ขนท 1 สร�งตวแบบของกำ�หนดก�รเชงเสนจ�กร�ยละเอยดทมอย
ขนท 2 แกสมก�ร หรอ อสมก�รทสร�งไวแลวนนดวยก�รห�ค�ทตองก�รทร�บ
5.2 การสรางตวแบบกำาหนดการเชงเสน5.2.1 ขนท 1 สรางตวแบบของกำาหนดการเชง
เสน ในก�รสร�งตวแบบของกำ�หนดก�รเชงเสนน ตองรวบรวมร�ยละเอยดทงหมดทมอย กำ�หนดปญห�ทเกดขนใหชดเจน แลวกำ�หนดสญลกษณตวไมทร�บค� หรอตวแปร ทตองก�รทร�บค� คว�มสมพนธระหว�งตวแปรตองเปนคว�มสมพนธทเปนปฏภ�คโดยตรง เมอพจ�รณ�แลวดำ�เนนก�รดงตอไปนคอ ก. สรางสมการวตถประสงค (Objective Function) สมก�รวตถประสงคนตองมลกษณะเปนสมก�รแบบเสนตรง โดยมวตถประสงคทตองก�รห�ค�ทเหม�ะสม ซงอ�จจะเปนตำ�สด หรอสงสดกได ตองเปนสมก�รวตถประสงคเดยวคอ ตองก�รห�กำ�ไรสงสด หรอตองก�รห�ตนทนหรอค�ใชจ�ยตำ�สด สมก�รวตถประสงค เปนสมก�รทแสดงคว�มสมพนธระหว�งตวแปรทตองก�รทร�บค�กำ�ไรหรอตนทน หรอ ค�ใชจ�ย
รปแบบของสมก�รโดยทวไป คอ Y = c1X1 + c2X2 + c3X3 + …+ cnXn cj คอสมประสทธของตวแปร Xj ในฟงกชนวตถประสงค ซงมค�คงท j = 1, 2, 3, …, n ข. เขยนขอจำากด (Constraints)
เนองจ�กร�ยละเอยดทมอยนนจะมท�งเลอกปฏบตไดหล�ยท�ง ซงประกอบ ดวยทรพย�กรมจำ�กด เชน จำ�นวนชวโมงเครองจกรมจำ�กด วตถดบมจำ�กด หรอแรงง�นมจำ�กด ตองรวบรวมดว�ปญห�ทเกดขนนนมขดจำ�กดอย�งใดบ�ง แลวนำ�ขอจำ�กดเหล�นม�สร�งในรปสมก�รแบบเสนตรง (Linear Equation) หรอ อสมก�รแบบเสนตรง (Linear Inequality) รปแบบของสมก�ร หรออสมก�รแบบเสนตรงไดแก a11X1 + a12X2 + …+ a1nXn (=, , ) b1 a21X1 + a22X2 + …+ a2nXn (=, , ) b2 am1X1 + am2X2 + …+ amnXn (=, , ) bm Xj คอ ตวแปรทจะห�ค�, j = 1, 2, 3, …, n aij คอสมประสทธของตวแปรในฟงกชนขอจำ�กด (Constraints) i = 1,2,3, …, m และ j = 1, 2, 3, …, n bi ปรม�ณทรพย�กรทมอย ซงมค�เปนค�คงทและเปนจำ�นวนบวก i = 1, 2, 3, …, m
ค. พจารณาใหตวแปรทกตวมคาไมตดลบ (Non-negative) ตวแปรทกตวมค�เท�กบศนยหรอม�กกว�ศนย ก�รใหค�ตวแปรทกตวทกำ�หนดขนม�นนมค�ไมตดลบ ถอเปนขอจำ�กดไมตดลบ (Non-negativity Restriction) เชน X i 0; i = 1, 2, 3, …, n
5.2.2 ขนท 2 แกสมการหรออสมการทสรางขน เมอผ�นขนตอนทหนงคอ สร�งตวแบบแลว ตอไปกห�ค�ตวแปร โดยค�ของตวแปรทกตวจะตองสอดคลองกบขอจำ�กดทกขอ (เมอนำ�ค�ทห�ไดไปแทน ในสมก�ร หรออสมก�ร แลวทำ�ใหสมก�รหรออสมก�รนนเปนจรง) ก�รห�ค�ของตวแปรมอยหล�ยแบบแตทเร�จะศกษ�ในตอนนมสองแบบ คอแบบใชกราฟ และแบบวธซมเพลกซ
5.3 การวเคราะหโปรแกรมเชงเสน โดยกราฟก�รวเคร�ะหโปรแกรมเชงเสน แบบกร�ฟ มดำ�ดบขนตอนก�ร
เพอห� ท�งเลอกต�มเงอนไขทตองก�รโดย ทำ�ต�มลำ�ดบ ดงน1- อ�นโจทยทงขอ2- กำ�หนดตวไมทร�บค� หรอ ตวแปร3- เขยนฟงกชนวตถประสงค4- เขยนขอจำ�กด5- เขยนกร�ฟของขอจำ�กด6- ห�จดมมของขอบเขตทมคำ�ตอบทเปนไปได7- ประเมนฟงกชนวตถประสงค ณ จดมมทเปนไปไดทงหมด
ตวอยาง เกยวกบการแกปญหาโปรแกรมเชงเสนตวอยางท 1 ช�วไรคนหนงมท 10 ไร เพอก�รเพ�ะปลกออย
และข�วโพด เข�ตองทำ�ก�รเพ�ะปลกอย�งนอย 7 ไร แตเข�มเงนทนทจะใชจ�ยอยเพยง 1,200 บ�ท และแตก�รปลกออยแตละไรตองใชเงน 200 บ�ท สวนก�รปลกข�วโพดแตละไรตองใชเงน
100 บ�ท นอกจ�กนช�วไรยงตองทำ�ก�รเพ�ะปลกใหเสรจสนภ�ยใน 12 ชม. โดยตองใชเวล� 1 ชม. ในก�รปลกออยแตละไร และใชเวล� 2 ชม. ในก�รปลกข�วโพดแตละไร ถ�ออยมกำ�ไรเปน 500 บ�ทตอไร และข�วโพดมกำ�ไร 300 บ�ท ตอไร จะตองปลกพชแตละชนดอย�งละกไรเพอใหไดกำ�ไรสงสด
1. การกำาหนดตวไมทราบคา (ตวแปร) ในกรณนคำ�ถ�มคอ ควรจะปลกออยกไร และปลกข�วโพดกไร ให X = จำ�นวนไรของออย และ Y = จำ�นวนไรของข�วโพด
2. เขยนฟงกชนวตถประสงค วตถประสงค คอก�รทำ�ใหไดกำ�ไรสงสด แตละไรของออยไดกำ�ไร 500 บ�ท และแตละไร ของข�วโพดไดกำ�ไร 300 บ�ท จะไดสมก�ร
Max. Profit = 500x + 300y
3. เขยนขอจำากด ขอจำ�กดด�นแรก คอขอจำ�กดเกยวกบ จำ�นวนไร ม “ ” 2 ประก�ร คอ
1. ช�วไรมทจะทำ�ก�รเพ�ะปลกไดเพยง 10 ไร ดงนนจำ�นวนไรทงหมดจะตองนอยกว� หรอเท�กบ 10
2. ช�วไรจะตองปลกอย�งนอย 7 ไร ขอจำ�กดด�นทสอง คอ ขอจำ�กดเกยวกบ ค�ใชจ�ย“ ”
ช�วไรมเงนค�ใชจ�ยในก�รเพ�ะปลกเพยง 1,200 บ�ท ขอจำ�กดด�นทส�ม คอ ขอจำ�กดเกยวกบ เวล�“ ”
ก�รเพ�ะปลกจะตองทำ�ใหเสรจภ�ยใน 12 ชม.
ดงนน ส�ม�รถเขยนฟงกชนขอจำ�กดไดดงน จำ�นวนไร x + y ≤ 10 ; x + y ≥ 7 ค�ใชจ�ย 200x + 100y ≤ 1200เวล� x + 2y ≤ 12โดยทจะเกดขอจำ�กดเพมเตม คอ x ≥ 0 และ y ≥ 0 เพร�ะเร�ไมส�ม�รถเพ�ะปลกเปนจำ�นวนไรทเปนลบได 4. เขยนกราฟของขอจำากด
ขนแรกตองห�ค�ของระยะตด (Intercept) บนแกน X และ Y
ด�น ขอจำ�กด ระยะตดบนแกนX Y
จำ�นวนไร x + y ≤ 10 10 10x + y ≥ 7 7 7
ค�ใชจ�ย 200x + 100y ≤ 1200
1200/200=6
1200/100=12
เวล� x + 2y ≤ 12 12 12/2=6
ตอไปขนแรกเร�กสร�งกร�ฟของขอจำ�กดด�นจำ�นวนไร โดยขอจำ�กดขอแรกของด�น จำ�นวนไรม 10 เปนทงระยะตดบนแกน x และบนแกน y
พลอตจด (10,0) และ (0,10) บนแกน X และแกน Y และ
เชอมจดดวยเสนตรง ตอไปกพจ�รณ�ว�ด�นใดของเสนจะเปนด�นทจะมคำ�ตอบของอสมก�ร เลอกจดทไมอยบนเสนตรง ในกรณนจดกำ�เนดจะเปนจดทง�ยทสดทจะใชทดสอบได ซงจดกำ�เนดกสอดคลองกบขอจำ�กด
ณ จดกำ�เนด ไมมจำ�นวนไรทถกทำ�ก�รเพ�ะปลก แตช�วไรมทพอทจะทำ�ก�รเพ�ะปลกหรอไม คำ�ตอนคอม ดงนน จดกำ�เนดจงอยท�งด�นทถกตองของเสนตรงน เร�จงแรเง�จดทงหมดทอยใน Quadrant ท 1 ซงอยในด�นเดยวกนกบจดกำ�เนด จำ�นวนไรทตำ�ของขอจำ�กด มค�ระยะตดแบนแกน x และบนแกน y เปน 7 ทงค
ในกรณน จดกำ�เนดไมเปนคำ�ตอบของขอจำ�กดน ณ จดกำ�เนด ช�วไรไมมก�รปลกสงใดเลย ตอในขอจำ�กดนกล�วว�ช�วไรตองก�รปลกพชอย�งนอย 7 ไร ถ�จดกำ�เนดไมอยในด�นทถกตอง อกด�นหนงกเปนด�นทถกตอง ขอบเขตทจะมคำ�ตอบทเปนไปไดจะลดลงเปนพนททแรเง�ข�งบนน โดยทวไป ถ�ตวไมทร�บค�ทงคอยบนด�นเดยวกน และมค�สมประสทธทงหมดมค�เปนบวก เสนตรงจะมค�ระยะตดบนแกน x และแกน y เปนบวกเชนเดยวกน และด�นทไปท�งจดกำ�เนดจะนอยกว�ด�นทออกไปท�งตรงกนข�มกบจดกำ�เนด ตอไปกเขยนกร�ฟของขอจำ�กดด�นค�ใชจ�ย ซงมค�ระยะตดบนแกน X เปน 6 และระยะตดบนแกน y เปน 12
เนองจ�กขอจำ�กดนเปน นอยกว�“ ” ด�นทอยท�งเดยวกบจดกำ�เนดจงถกแรเง�
สดท�ยกถงขอจำ�กดด�นเวล� ซงมระยะตดบนแกน X เปน 12 และระยะตดบนแกน Y เปน 6
5. หาจดมมทเปนไปได
จดมมทเปนไปไดเปนจดทอยทมมของพนททถกแรเง� ในก�รห�จดตดเหล�นน เร�ตองดสมก�รทเกยวของกบเสนทตดกน ณ จดนน ๆ
เร�แกระบบสมก�รเหล�นพรอม ๆ กน
x = 5เร�แทนค� x นลงในสมก�ร x + y = 7 จะได
y = 2ดงนน A = (5, 2)
x = 4เร�แทนค� x นลงในสมก�ร x + 2y = 12 จะได
แลวจะได y = 4ดงนน B = (4, 4)
ถ�เร�นำ� 2 สมก�รม�ลบกน จะได y = 5ถ�แทนค� y ในสมก�ร x + y = 7 เร�จะได x = 2ดงนน C = (2, 5)
เร�จะเหนว�ไมมจดมมทเปนไปไดใดเลยทอยในขอจำ�กดของจำ�นวนไรทมค�ม�ก เนองจ�กช�วไรมทแค 10 ไร ซงจะเปนขอจำ�กดทเรยกว�ขอจำ�กดแบบไมจำ�เปน จำ�นวนไรทม�กทสดทจะทำ�ก�รเพ�ะปลกคอ 8 ไร โดยปลกพชอย�งละ 4 ไร ถ�ทำ�ใหสอดคลองกบขอจำ�กดอน ๆ ช�วไรจะถกจำ�กดใหปลกไดนอยกว� 10 ไรอยแลว
6. ประเมนฟงกชนวตถประสงค ทำ�โดยพจ�รณ�จดมมทเปนไปไดทกจด
A = (5, 2)
Profit = 500(5) + 300(2) = 2500 + 600 = 3100บ�ท
B = (4, 4) Profit = 500(4) + 300(4) = 2000 + 1200 = 3200 บ�ท
C = (2, 5) Profit = 500(2) +300(5) = 1000 + 1500 = 2500 บ�ท
จะเหนว� จดทไดกำ�ไรสงสด คอจด B ดงนน ในก�รเพ�ะปลกเพอใหไดกำ�ไรสงสด คอ 3,200 บ�ท
ตองปลกออยและข�วโพด อย�งละ 4 ไร
ตวอยางท 2ผถลงทองคำ�มแหลงแรทอง แหลง คอ แหลง ก และ แหลง ข. ในก�รทำ�ใหโรงถลงทำ�ง�นตอเนองกน อย�งนอยจะตองมแรทอง 3 ตน ในก�รถลงแตละวน แรทองจ�กแหลง ก. ตองใชเงนในก�รถลง 20 บ�ทตอตน และแรทองจ�กแหลง ข. ตองใชเงนในก�รถลง 10 บ�ท ตอตน ค�ใชจ�ยรวมในแตละวนจะตองนอยกว�วนละ 80 บ�ท นอกจ�กนกฎกระทรวงอตส�หกรรม ยงกำ�หนดว� ปรม�ณของแรทองจ�กแหลง ข. ไมส�ม�รถเกนสองเท�ของแรทองจ�กแหลง ก. ถ�แรทองจ�กแหลง ก. ไดทองคำ�หนก 2 บ�ทตอตน และแรทองจ�กแหลง ข. ไดทองคำ�หนก 3 บ�ทตอตน ในแตละวนจะตองถลงแรทองจ�กแหลงแรทงสองแหลงกตน เพอใหไดปรม�ณทองคำ�ม�กทสด ต�มขอจำ�กดทกล�วม�แลว
1. กำาหนดตวไมทราบคา (ตวแปร)
ในกรณนเข�ตองก�รห�จำ�นวนตนของแรทองจ�กแหลง 2 แหลง ทควรจะนำ�ม�ถลงในแตละวนเพอใหไดปรม�ณทองคำ�สงทสด ให X = จำ�นวนตนของแรทองจ�กแหลง ก และ Y = จำ�นวนตนของแรทองจ�กแหลง ข
2. เขยนฟงกชนวตถประสงค วตถประสงค คอก�รทำ�ใหปรม�ณทองคำ�สงสด เนองจ�กแตละตนของแรทองจ�กแหลง ก ใหทองคำ�หนก 2 บ�ท และแตละตนของแรทองจ�กแหลง ข ใหทองคำ�หนก 3 บ�ท ฟงกชนวตถประสงคจะเปนดงน
Max. ปรม�ณทองคำ� = 2x + 3y3. เขยนขอจำากดหลงจ�กไดกำ�หนดตวแปรและฟงกชนวตถประสงคแลว ก
คำ�นงถงขอจำ�กด ซงมดงตอไปนด�นก�รถลง x + y ≥ 3 ; ด�นค�ใชจ�ย 20x +
10y ≤ 80ด�นกฎกระทรวง y ≤ 2x ; โดยทจะเกดขอจำ�กด
เพมเตม คอ x ≥ 0 และ y ≥ 0 เนองจ�กไมส�ม�รถถลงจำ�นวนตนของแรทองทเปนลบได
4. เขยนกราฟของขอจำากด เมอเร�เขยนกร�ฟของขอจำ�กดแรก
x + y ≥ 3 ค�ระยะตดบนแกน X และบนแกน Y เปน 3 ทงค
เนองจ�กเปนขอจำ�กดค� “ม�กกว� ” ด�นของเสนตรงทค� x และ y ม�กขนจะเปนด�นทถกตอง และมขอบเขตไมจำ�กด
ในขอจำ�กดตอไป 20x + 10y ≤ 80ระยะตดบนแกน X เปน 80/20 = 4 และ ระยะตดบนแกน Y เปน 80/10 = 8 มเงนเพยงพอทจะถลงแรทอง 4 ตนจ�กแหลง ก. ถ�เร�ไมถลงแรทองจ�กแหลง ข. เลย ในขณะทถ�เร�ใชแรทองจ�กแหลง ข. เท�นน จะมเงนพอทจะถลงแรทองได 8 ตน
เนองจ�กขอจำ�กดนเปน “นอยกว� ” จดทอยบนด�นทค� x และ y มค�นอยลงควรจะถกแรเง� ชดของจดทสอดคลองกบขอจำ�กดทงคนจะถกแรเง�ดงรปข�งบนนสดท�ยมขอจำ�กดด�นกฎกระทรวง y ≤ 2xจ�กสมก�รแบบน ระยะตดบนแกน X และบนแกน Y ต�งกอยทจด (0,0) ดงนนเร�ตองพลอตจดอนอกอย�งนอย 1 จด ถ�เร�
ให x = 4 แลว จ�ก y = 2x เร�จะไดค� y = 8 พลอตจด (4,8) และล�กเสนตรงเชอมกบจด (0,0) จะไดดงน
เพอห�ว�ด�นใดของเสนตรงเปนด�นใด ใหสงเกตว�ค� x จะอยบนด�นทใหญกว�ของอสมก�ร และค� y จะอยบนด�นทเลกกว� ดงนนเร�แรเง�ด�นของเสนตรงทมค� y นอยกว�ค� 2x
4. หาจดมมทเปนไปไดเร�จะเขยนสมก�รไวใกลเสนตรงทม�จ�กสมก�รนน ๆ
เมอเร�เหนค� y เร�ส�ม�รถแทนไดดวย 2x และสมก�รแรกกล�ยเปน
x + 2x = 3
3x = 3 x = 1
ถ� x = 1 และ y = 2x แลว y = 2 ดงนนA = (1, 2)
ในทำ�นองเดยวกน เมอเร�เหน y เร�ส�ม�รถแทนทดวย 2x
และสมก�รแรกกล�ยเปน20x + 10(2x) = 80
20x + 20x = 80 40x = 80 x = 2
ถ� x = 2 และ y = 2x แลว y = 4 ดงนนB = (2, 4)
C เปนระยะตดบนแกน X สำ�หรบ x + y = 3 ดงนนC = (3, 0)
D เปนระยะตดบนแกน X สำ�หรบ 20x + 10y = 80 ดงนน
D = (4, 0)5. พจารณาฟงกชนวตถประสงค ท (1, 2) เร�ไดทองคำ�หนก 2(1) + 3(2) = 8 บ�ท
ท (2, 4) เร�ไดทองคำ�หนก 2(2) + 3(4) = 16 บ�ทท (3, 0) เร�ไดทองคำ�หนก 2(3) + 3(0) = 6 บ�ทท (4, 0) เร�ไดทองคำ�หนก 2(4) + 3(0) = 8 บ�ท
ปรม�ณทองคำ�ทไดม�กทสดคอ 16 บ�ท โดยก�รถลงแรทอง 2 ตนจ�กแหลง ก และแร ทอง 4 ตนจ�กแหลง ข
ตวอยางท 3 สำ�นกพมพแหงหนงไดรบคำ�สงซอหนงสอเรยน 600 เลม จ�กนครปฐม และ 400 เลมจ�กร�ชบร สำ�นกพมพมหนงสออยในคลงทกำ�แพงแสน 700 เลม และท เพชรบร 800 เลม ถ�ก�รสงหนงสอจ�กกำ�แพงแสนไปยงนครปฐมตองเสยค�สง 5 บ�ท แตตองเสยค�สง 10 บ�ทห�กสงไปทร�ชบร ถ�สงจ�กเพชรบร ไปยงนครปฐมตองเสยค�สง 15 บ�ท แตตองเสยค�สง 4 บ�ทห�กสงไปทร�ชบร จะตองสงหนงสอกเลมจ�กคลงแตละแหง ไปยงนครปฐมและร�ชบรต�มทไดรบก�รสงดวยก�รเสยค�ใชจ�ยนอยทสด
1. กำาหนดตวแปร หลงจ�กอ�นโจทยแลวเร�จะพบว�เข�ตองก�รทร�บว�จะสงหนงสอกเลมจ�กคลงแตละแหงไปยงแตละแหงทสงซอ จะเหนว�มตวไมทร�บค� หรอตวแปร 4 ตว ให x = จำ�นวนหนงสอจ�กกำ�แพงแสนไปนครปฐม ; y = จำ�นวนหนงสอจ�กกำ�แพงแสนไปร�ชบร z = จำ�นวนหนงสอจ�กเพชรบรไปนครปฐม ; w = จำ�นวนหนงสอจ�กเพชรบรไปร�ชบร
2. เขยนฟงกชนวตถประสงคกรณนมวตถประสงคเพอลดค�ใชจ�ยในก�รสงหนงสอให
นอยทสด Min.Cost = 5x + 10y + 15z + 4w3. เขยนขอจำากด
ขอจำ�กดสองประก�รแรกเกยวกบก�รสงซอ นครปฐม x + z = 600 ……………………………..(1)
ร�ชบร y + w = 400 ……………………………..(2)
ขอจำ�กดเหล�นเปนสมก�ร นครปฐมสงซอหนงสอ 600 เลม เข�ตองก�รไดหนงสอ 600 เลม ไมม�กหรอนอยกว�น ถ�เข�ไดหนงสอนอยกว� 600 เลม นกเรยนบ�งคนจะไมมหนงสอเรยน แตถ�เข�ไดหนงสอม�กกว� 600 เลม เข�กจะพดว� เร�สง“หนงสอเพยง 600 เลมเท�นน เร�จะไมจ�ยค�หนงสอทเกนม�” ทำ�นองเดยวกนร�ชบรตองก�รหนงสอ 400 เลม ดงนน เร�กส�ม�รถแกสมก�รเหล�น เพอใหไดค� z และ w ในเทอมของ x และ y ดงน
จ�ก (1) z = 600 – x ……………………………..(3)จ�ก (1) w = 400 – y ……………………………..(4)ขอจำ�กด 2 ประก�รตอไปเกยวกบจำ�นวนหนงสอมหนงสอในคลงกำ�แพงแสนเพยง 700 เลม x + y <
700 ……………………………..(5)มหนงสอในคลงเพชรบรเพยง 800 เลม z + w <
800 ……………………………..(6) จ�ก (6) ถ�เร�แทนค� z และ w เร�กจะไดขอจำ�กดนในรปของ x และ y
600 - x + 400 - y < 800 1000 - x – y < 800 200 < x + y หรอ x + y > 200
……………………………..(7)จำ�นวนหนงสอทสงทงหมด 1,000 เลม แตมหนงสอทเพชรบรเพยง 800 เลม อย�งนอยตองม 200 เลมทสงม�จ�ก กำ�แพงแสน
ดงนนจะมขอจำ�กดเพมเตม ดงน x > 0; y > 0; z > 0; w > 0 เมอเร�แทนค�ใน (3) และ (4) จะได
600 - x > 0 ; 400 - y > 0 หรอ600 > x; 400 > yหรอ x < 600……………………………..(8) y < 400……………………………..(9)สรปขอจำ�กดโดยใชเฉพ�ะ x และ y จะไดดงน
x + y < 700x + y > 200
x < 600y < 400
x > 0 ; y > 0 4. เขยนกราฟของขอจำากด
5. หาจดมมทเปนไปได
จดมมทเปนไปได มดงน (0, 400), (0, 200), (200, 0), (600, 0), (600, 100), (300, 400)
เร�พจ�รณ�ฟงกชนวตถประสงค ณ จดมมทเปนไปไดทกจด ค�ในจดจะบอกเร�ว�มหนงสอถกสงจ�กกำ�แพงแสนไปนครปฐม และร�ชบรกเลม เมอเร�ทร�บแลวเร�กส�ม�รถพจ�รณ�ไดว�จะ
สงหนงสอจ�กเพชรบรกเลม โดยเร�จะสงหนงสอจ�กเพชรบรไปเพอใหครบต�มทลกค�สง
6. ประเมนฟงกชนวตถประสงคทจดมมทเปนไปไดทงหมด
จ�กฟงกชนวตถประสงค Cost = 5x + 10y + 15z + 4w
ใชเฉพ�ะ x และ y โดยแทนค� z = 600 - x และ w = 400 – y จ�ก (3) และ (4)
จะได Cost = 5x + 10y + 15(600 - x) + 4(400 - y)
= 5x + 10y + 9000 - 15x + 1600 - 4y
= 10600 - 10x + 6y
ก�รสงหนงสอจำ�นวนม�กจ�กกำ�แพงแสนไปนครปฐม จะทำ�ใหประหยดกว�ก�รสงจ�กกำ�แพงแสนไปยงร�ชบร ดงนน ก�รสงหนงสอจ�กกำ�แพงแสนไปยงนครปฐมใหม�ก และสงหนงสอจ�กกำ�แพงแสนไปยงร�ชบรใหนอย จะทำ�ใหประหยดทสด
จด (0, 400)Cost = 10600 - 10(0) + 6(400) =10600 - 0 +
2400 = 13000 บ�ทจด (0, 200) Cost = 10600 - 10(0) + 6(200) = 10600 - 0 +
1200 = 11800 บ�ทจด (200, 0)
Cost = 10600 - 10(200) + 0 = 10600 - 2000 + 0 = 8600 บ�ท
จด (600, 0)Cost = 10600 - 10(600) + 6(0) = 10600 -
6000 + 0 = 4600 บ�ทจด (600, 100)Cost =10600 - 10(600) + 6(100) = 10600 -
6000 + 600= 5200 บ�ทจด (300, 400)Cost = 10600 - 10(300) + 6(400) = 10600 -
3000 + 2400= 10000 บ�ทจะพบว�ท จด (600,0) มค�สงนอยทสดคอ 4,600 บ�ท
โดยก�รสงหนงสอทงหมดทนครปฐมสงไปจ�กกำ�แพงแสน ซงมค�ใชจ�ยนอยกว� และสงหนงสอทงหมดทร�ชบรสงไปจ�กเพชรบร ซงร�ค�กถกกว�เชนกน
5.4 ปญหาลกษณะพเศษของกำาหนดการเชงเสน
จ�กก�รเรยนรก�รสร�งตวแบบกำ�หนดก�รเชงเสน และก�รแกปญห�เพอห�คำ�ตอบทเหม�ะสมของตวแบบม�แลว ห�กเร�ส�ม�รถห�คำ�ตอบทเปนไปไดของปญห�เพยง 1 คำ�ตอบ เร�เรยกตวแบบกำ�หนดก�รเชงเสนนนว�เปนตวแบบทมคำ�ตอบทเปนไปได (Feasible) ตวแบบกำ�หนดก�รเชงเสนยงมลกษณะพเศษอกหล�ยประก�รไดแก
5.4.1 ปญหาไมมคำาตอบ (Infeasible)
ตวแบบกำ�หนดก�รเชงเสนทสร�งขนบ�งครงไมส�ม�รถห�ค�ตวแปรทสอดคลองกบขอจำ�กดทกำ�หนดขนไดทกขอ ซงกคอเร�ไมส�ม�รถห�คำ�ตอบได เชน ตวอยาง Maximize Z = 5 x1 + 4x2 ภ�ยใตขอจำ�กด 2x1 + x2 ≤ 40 2x1 +3x2 ≤ 48 x1 ≥ 20 ; x2 ≥ 20
จ�กกร�ฟข�งบนจะเหนไดว�เร�ไมส�ม�รถห�พนทรวมทงหมดของฟงกชนขอจำ�กดได แสดงว�ปญห�นเร�ไมส�ม�รถห�บรเวณทห�คำ�ตอบได ซงกหม�ยถงเร�ไมส�ม�รถห�คำ�ตอบจ�กปญห�นได
5.4.2. ปญหาทคำาตอบไมมขอบเขต (Unbounded) ตวแบบของปญห�กำ�หนดก�รเชงเสน ซงฟงกชนขอจำ�กดไมทำ�ใหเกดขอบเขตของคำ�ตอบ หรออกนยหนงค�ของฟงกชนวตถประสงคมค�ม�กเท�ใดกไมมขดจำ�กด หรอมค�เพมขนไมมท
สนสด โดยทยงทำ�ใหฟงกชนขอจำ�กดเปนจรงเสมอ เร�เรยกตวแบบในลกษณะเชนนว� ปญห�ทมคำ�ตอบทไมมขอบเขต เชน ตวอยาง Maximize P = 4x1 +2x2 ภ�ยใตขอจำ�กด X1 ≥ 4 X2 ≤ 2 X1 ≥ 0 และ X2 ≥ 0
เร�ส�ม�รถเขยนกร�ฟของฟงกชนวตถประสงค (หรอ เสนกำ�ไรในกรณเกยวกบกำ�ไรสงสด) โดยก�รสมมตค�ของ P เปน 12, 20, 28, … แลวเขยนกร�ฟของเสนกำ�ไรน จะเหนว�เมอกร�ฟยงไปท�งขว� ค�ของ P จะยงม�กขนเรอย ๆ โดยเสนกร�ฟเหล�นจะขน�นกน เนองจ�กทกเสนมคว�มชน (Slope) เท�กน จ�กกร�ฟจะเหนว�ฟงกชนวตถประสงคมค�เพมขนโดยไมมขอบเขตจำ�กด ปญห�นจงเปนปญห�ทมคำ�ตอบไมมขอบเขต
หมายเหตสมก�รเสนตรงทอยในรป y = mx + bเมอ m คอ คว�มชน (Slope) ของเสนตรง ถ� Slope มค�เปนบวก เสนตรงจะเอยงขว�
และ ถ� Slope มค�เปนลบ เสนตรงจะเอยงซ�ย B คอ ระยะตดบนแกน Y (y-intercept) ดงนน จ�ก P = 4x1 +2x2 ส�ม�รถเขยนใหอย
ใน Slope-intercept Form ไดเปน x2 = -2x1 + P
ตวอยาง Maximize Z = 2x1+ 5x2 ภ�ยใตขอจำ�กด x1 + x2 ≥ 20 2x1+ 5x2 ≥ 60 X1 ≥ 0 และ X2 ≥ 0
เร�ส�ม�รถเขยนกร�ฟของฟงกชนวตถประสงค โดยก�รสมมตค�ของ Z เปน 50, 70, 80, … แลวเขยนกร�ฟของฟงกชนน จะเหนว�เมอกร�ฟยงไปท�งขว� ค�ของ Z จะยงม�กขนเรอย ๆ โดยเสนกร�ฟเหล�นจะขน�นกน เนองจ�กทกเสนมคว�มชน (Slope) เท�กน
จ�กกร�ฟจะเหนว�ฟงกชนวตถประสงคมค�เพมขนโดยไมมขอบเขตจำ�กด ปญห�นจงเปนปญห�ทมคำ�ตอบไมมขอบเขต (Unbounded)
5.4.3 ปญหาทมฟงกชนขอจำากดมากเกนความจำาเปน (Redundancy)
ปญห�ข�งอย�งกำ�หนดขอจำ�กดม�ม�กเกนคว�มจำ�เปน ขอจำ�กดบ�งประก�รไมมผลกระทบตอบรเวณทห�คำ�ตอบได เร�ส�ม�รถนำ�เอ�ฟงกชนขอจำ�กดเชนนออกจ�กตวแบบได โดยไมมผลทำ�ใหบรเวณทห�คำ�ตอบไดเปลยนแปลงไป และไมมผลกระทบตอคำ�ตอบทดทสด ตวอย�งเชน
ตวอยาง Maximize Z = 10x1 + 13x2 ภ�ยใตขอกำ�หนด 3x1 + 4x2 ≤ 48 3x1 +x2 ≤ 30 x1 ≤30 ; x2 ≤40 x1 ≥ 0 และ x2 ≥ 0
จ�กกร�ฟจะเหนไดว�ฟงกชนขอจำ�กด x1 ≤30 และ x2 ≤40 เปนฟงกชนขอจำ�กดทส�ม�รถนำ�ออกจ�กตวแบบกำ�หนดก�รเชงเสนไดเลย โดยไมมผลกระทบตอบรเวณทห�คำ�ตอบได เรยกฟงกชนขอจำ�กดแบบน ว�ฟงกชนขอจำ�กดเกนคว�มจำ�เปน หรอซำ�ซอน (Redundancy)
5.4.4 ปญหาทมคำาตอบทดทสดหลายคำาตอบ (Multiple Optimal Solutions) ในบ�งปญห�อ�จมคำ�ตอบทเหม�ะสมทสดม�กกว�หนงคำ�ตอบ นนคอมค�ของ x1 และx2 หล�ยค�ททำ�ใหค�ของ Z เท�กน
ตวอยาง Maximize Z = 40x1 + 30x2 ภ�ยใตขอจำ�กด x1 + 2x2 ≤ 40 4x1 + 3x2 ≤ 120 x1≥ 0 และ x2≥ 0
จ�กกร�ฟจะเหนไดว� กร�ฟของฟงกชนวตถประสงคกบกร�ฟของสม�ก�ร 4x1 +3x2 = 120 ทบกน และบรเวณทห�คำ�ตอบไดจะเปนสวนของเสนตรง BC ดงนนทกจดทอยบนสวนของเสนตรง BC นจะเปนคำ�ตอบททำ�ใหฟงกชนวตถประสงคมค�สงสดเท�กน ลองทดสอบทจด C (30, 0) ซงมค� x1 =30 และ x2 = 0 จะใหค� Z = 40x30 + 30x0 = 1200 ทจด B (24, 8) X1 + 2X2 = 40
………………….(1) 4X1 + 3X2 = 120
………………….(2) จ�ก (1) X1 = 40-2X2
………………….(3) แทนค� X1 ใน (2) 4(40 – 2X2) + 3X2 = 120 160 – 8X2 + 3X2 = 120
5X2 = 40 X2 = 8 แทนค� X2 ใน (3) X2 = 40 – 2x8 = 24แทนค� x1 และ x2 ในฟงกชนวตถประสงค จะใหค� Z = 40x24 + 30x8 = 960 + 240 = 1200ขอสงเกต จ�กฟงกชนวตถประสงค Maximize Z = 40X1 + 30X2 ทำ�เปน Slope Intercept Form X2 = X1 + Z …………………….(4) จ�กอสมก�รขอจำ�กด 4X1 + 3X2 ≤ 120 ทำ�เปนสมก�ร 4X1 + 3X2 = 120 ทำ�เปน Slope Intercept Form
X2 = X1 + 40 …………………….(5) จะเหนว�เสนตรง (4) และ (5) ม Slope เท�กน จงสรปไดว� ห�กฟงกชนวตถประสงค และฟงกชนขอจำ�กดบ�งประก�รม Slope เท�กน ปญห�นนจะมคำ�ตอบทดทสดไดหล�ยคำ�ตอบ
5.5 การแกปญหากำาหนดการเชงเสนดวยวธซมเพลกซ (Simplex Method)
วธซมเพลกซเปนวธทมประสทธภ�พม�กในก�รแกปญห�กำ�หนดก�รเชงเสน ซงเปนกระบวนก�รท�งพชคณตทประกอบดวยก�รกระทำ�ซำ� ๆ กนเพอใหไดคำ�ตอบทดทสด Simplex ไมไดแปลว�ง�ย (Simple) โดยทฤษฎแลววธนเปนวธทมประสทธภ�พม�กและส�ม�รถแกปญห�ทซบซอนม�กได แมว�จะมตวแปรหล�ยรอยหรอหล�ยพนตวกได แตตองใชคอมพวเตอรชวย วธก�รคำ�นวณของวธซมเพลกซจะประกอบไปดวยเรอง Matrix Algebra และก�รห� Inverse Matrix ในก�รแกปญห�
ในก�รใชวธซมเพลกซ เร�ตองเปลยนปญห�ทกำ�หนดให ใหอยในรปม�ตรฐ�น (Standard Form) กอน โดยตองมก�รแปลงอสมก�ร ใหเปนสมก�ร โดยก�รเพมตวแปรแบบ Slack, Surplus และ/หรอ Artificial เข�ไป และสวนทอยท�งด�นขว�ของขอจำ�กดแตละอย�งตองไมตดลบ ถ�ของเดมตดลบ ตองนำ� -1 ไปคณทงสองข�ง ก�รทำ�ซมเพลกซมเป�หม�ยทจะห�คำ�ตอบทเปนไปไดทดทสดของปญห�กำ�หนดก�รเชงเสนทกำ�หนดใหนนเอง
5.5.1 การแปลงอสมการใหเปนสมการอสมก�รชนดทมเครองหม�ย ≤ หรอ ≥ ส�ม�รถแปลงเปน
สมก�รได โดยก�รใสตวแปรแบบ Slack (หรอ Surplus) ซงมค� ≥ 0 เข�ไปได ท�งขว�มอของสมก�รตองไมตดลบ (ถ�ตดลบตองนำ� -1 คณทงสองข�ง และเครองหม�ย ≤ ตองเปลยนเปน ≥ (≥ ตองเปลยนเปน ≤)
จากขอจำากดแบบ ≤ โดยปกตท�งขว�มอของขอจำ�กดจะแทนขอจำ�กดของทรพย�กรทมอย และท�งด�นซ�ยมอจะแทนก�รใชทรพย�กรทมจำ�กดนโดยกจกรรม (ตวแปร) ต�ง ๆ ตวแบบ Slack จะแทนปรม�ณทรพย�กรทมและเหลอจ�กก�รใชโดยกจกรรมต�ง ๆ
ตวอยางเชน จ�กขอจำ�กด 7X1 + 34X2 ≤ 125 เกยวกบก�รใชทรพย�กร จะเหมอนกบ 7x1 + 34x2 + s1 = 125 เมอ s1 ≥ 0
เมอ s1 แทนปรม�ณของทรพย�กรทไมถกใช หรอเหลอจ�กก�รใช
จากขอจำากดแบบ ≥ โดยปกตจะกำ�หนดคว�มตองก�รทนอยทสด ในกรณนตวแปรแบบ Surplus จะแทนปรม�ณของด�นซ�ยทเกนจ�กคว�มตองก�รนอยทสด
ตวอยางเชน จ�กขอจำ�กด 7x1 + 34x2 ≥ 125
จะเหมอนกบ 7x1 + 34x2 - s1 = 125 เมอ s1 ≥ 0 เมอ s1 แทนปรม�ณของทรพย�กรทมก�รผลตเกนจ�กคว�ม
ตองก�รนอยทสด
5.5.2 ข นตอนของวธ ซ ม เพล กซ (Simplex Algorithm)
ขนท 1 เขยนฟงกชนวตถประสงค และ อสมก�รทแสดงถงขอจำ�กดของปญห�
ขนท 2 ฟงกชนวตถประสงคควรเปนแบบห�ค�สงสด ถ�เปนแบบห�ค�ตำ�สด ใหแปลงเปนแบบห�ค�สงสด ดงน
Minimize Z = -(Maximize Z) หรอ Minimize Z = Maximize -Z
แลวเปลยนอสมก�รเปนสมก�รโดยก�รใสตวแปรแบบ ใหไดสมก�รในรปแบบม�ตรฐ�นของกำ�หนดก�รเชงเสน
ขนท 3 สร�งต�ร�งซมเพลกซเร มตน (Initial Simplex Table) และใสค�ต�ง ๆ ลงในต�ร�ง โดย
ต�ร�งนจะชวยเร�ในก�รคำ�นวณต�มกระบวนก�รซมเพลกซ โดยต�ร�งนจะบอกสง ตอไปนแกเร�
1.ตวแปรทอยในคำ�ตอบ(ในคอลมน Basic Variable ทไมไดเปน Slack Variable)
2.กำ�ไรทอยในคำ�ตอบ3.ค�ตวแปรทอยในคำ�ตอบททำ�ใหเกดกำ�ไรสงสด
รปแบบของต�ร�งซมเพลกซ จะเปนดงน
Cj
CoefficientMatri
x
SlackVariable
Value of
Basic variable
Basic
Variable
s
Coefficient
ofBasic Variable
Minimum
* * * 0 0 0Xj x
1
x2
x3
s1
s2
s3
XB YB CBRatio
* * * 1 0 0 * s1 0* * * 0 1 0 * s2 0* * * 0 0 1 * s3 0
Zj=Σ(
XjCB)Zj - Cj
Basic Variable (ตวแปรมลฐาน)Basic Variable หม�ยถงตวแปรทสมประสทธของมน
ทำ�ใหเกด Identity Matrix เชน จ�กต�ร�งข�งบนน ดในคอลมน s1, s2, s3 จะเหนว�
สมประสทธของของมนทำ�ใหเกด Identity Matrix ดงน
เร�จงใส s1, s2, s3 ไวในคอลมน Basic Variables เมอเร�ทำ�ต�มวธซมเพลกซ หลงจ�กก�รนำ�ตวแปรอนแตละตวเข�ม�เปน Basic Variable แลว ตวแปรทงหมดในคอลมนนจะตองทำ�ใหเกด Identity Matrix เสมอ
ขนท 4 คำ�นวณ Zj และ Zj - Cj ถ�ทกค�ของ Zj - Cj ≥ 0 แสดงว�เร�ไดค�สงสดแลว และหยดก�รคำ�นวณได แตถ�ยงมค�ทตดลบแสดงว�ค�ทไดยงไมใชค�ทดทสด จงตอง ทำ� ขนท 5 ตอไป
ขนท 5 เลอกตวแปรทจะนำ�เข�เปน Basic Variable โดยดจ�กคอลมนทมค� Zj - Cj ลบม�กทสด และจะเรยกคอลมนนว� Pivot Column
ขนท 6 เลอกตวแปรทจะนำ�ออกไป ใหคำ�นวณห�ค� Ratio โดยนำ�ค�ในคอลมน XB ตง และ ห�รดวยค�ใน Pivot Column ทสอดคลองกนทกแถว (Row) แลวเลอกแถวทมค� Ratio ทมค�เปนบวกนอยทสดเพอทจะนำ�ตวแปรนนออกไป แถวทมค�
Ratio นอยทสด นเรยกว� Pivot Row (หรอ Key Row หรอ Pivot Equation) และค�ทอยในตำ�แหนงท Pivot Column และ Pivot Row ตดกน เรยกว� Pivot Element
ขนท 7 คำ�นวณห�ค�ต�ง ๆ ของ Pivot Row ทจะเข�ม�แทนท โดยใชสตรตอไปน
New pivot row = old pivot row/pivot elementขนท 8 คำ�นวณห�ค�ต�ง ๆ ของ Row อน ๆ ทเหลอ โดยใช
สตรตอไปน All other row = old row – (corresponding
pivot column coefficient) x (new pivot row)ขนท 9 คำ�นวณห�ค�ของ Zj โดยใชสตร Zj=Σ(XjCB) และ
ห�ค�ของ Zj - Cj แตละตวขนท 10 ถ�ค�ของ Zj - Cj ยงมค�ทตดลบอย แสดงว�เร�
ยงไมไดค�ทดทสด ใหกลบไปทำ�ต�มขนท 5 อกขนท 11 ถ�ทกค�ของ Zj - Cj ≥ 0 แสดงว�เร�ไดค�สงสด
แลว และหยดก�รคำ�นวณได
ตวอยาง การแกปญหากำาหนดการเชงเสนโดยวธซมเพลกซ
ตวอยาง บรษท เอบซเซร�มค จำ�กด เปนบรษททผลตตกต� แจกน และแกวนำ� ในก�รผลตตองใชทรพย�กร คอ ดน และแรงง�นในก�รขนรป และก�รเคลอบ ซงมร�ยละเอยดดงน
ทรพย�กร
ตกต� แจกน แกว
ดน 8 กโลกรม
6 กโลกรม
1 กโลกรม
ก�รขนรป
2 ชวโมง
1.5 ชวโมง
0.5 ชวโมง
ก�รเคลอบ
4 ชวโมง 2 ชวโมง 1.5
ชวโมง ปจจบนบรษทมดนอย 48 กโลกรม และมชวโมงก�รทำ�ง�นในก�รขนรป 8 ชวโมง และก�รเคลอบ 20 ชวโมง ขอมลด�นก�รตล�ดระบว� ตกต�ข�ยตวละ 60 บ�ท แจกนข�ยใบละ 30 บ�ท และแกวข�ยใบละ 20 บ�ท ฝ�ยก�รตล�ดเชอว�ตกต�และแกวมคว�มตองก�รไมจำ�กด แตแจกนอย�งม�กข�ยไดไมเกน 5 ใบ อย�กทร�บว�บรษทจะผลตอะไรอย�งละเท�ไร จงจะทำ�ใหมร�ยไดสงสด วธทำา ให x1 เปน จำ�นวนตกต� x2 เปน จำ�นวนแจกน x3 เปน จำ�นวนแกว Linear Programming Model คอ Maximize Z = 60x1 + 30x2 + 20x3 ภ�ยใตขอจำ�กด 8x1 + 6x2 + x3 ≤
48 4x1 + 2x2 + 1.5x3 ≤
20 2x1 + 1.5x2 + 0.5x3 ≤
8 x2 ≤ 5
ขนท 1 เปลยนอสมก�รเปนสมก�รโดยก�รเพมตวแปร Slack คอ s1, s2, s3 และ s4 จะไดดงน Maximize Z = 60x1 + 30x2 + 20x3 + 0s1+ 0s2 + 0s3 + 0s4 ภ�ยใตขอจำ�กด 8x1 + 6x2 + x3 + s1 = 48 4x1 + 2x2 +1.5x3 +s2 = 20 2x1 +1.5x2 + 0.5 x3 +s3 = 8 x2 +s4 = 5
ขนท 2 ทำ�ต�ร�งซมเพลกซเรมตน ไดดงนInitial Simplex Table
Cj
Coefficient
Matrix
SlackVariabl
e
Value of
Basic
variable
Basic
Variable
s
Coefficient ofBasic Variable
Minimum
60
30
20 0 0 0 0
Xj x1
x2
x3
s1
s2
s3
s4
XB YB CBRati
o 8 6 1 1 0 0 0 48 s1 04 2 1 0 1 0 0 20 s2 0
21.5
.5 0 0 1 0 8 s3 0
0 1 0 0 0 0 1 5 s4 0Zj=Σ(Xj
CB)Zj - Cj
ขนท 3 ห�ค�ของ Zj =Σ(XjCB) จะได ค� Z ทตรงกบ Column x1 =
(8x0)+(4x0)+(2x0)+(0x0) = 0ค� Z ทตรงกบ Column x2 =
(6x0)+(2x0)+(1.5x0)+(1x0) = 0ค� Z ทตรงกบ Column x3 =
(1x0)+(1.5x0)+(.5x0)+(0x0) = 0ค� Z ทตรงกบ Column s1 =
(1x0)+(0x0)+(0x0)+(0x0) = 0ค� Z ทตรงกบ Column s2 =
(0x0)+(1x0)+(0x0)+(0x0) = 0ค� Z ทตรงกบ Column s3 =
(0x0)+(0x0)+(1x0)+(0x0) = 0ค� Z ทตรงกบ Column s4 =
(0x0)+(0x0)+(0x0)+(1x0) = 0ค� Z ทตรงกบ Column XB =
(48x0)+(20x0)+(8x0)+(5x0) = 0
ห�ค�ของ Zj - Cj จะไดค� Z - Cj ทตรงกบ Column x1 = 0 - 60 =
-60ค� Z - Cj ทตรงกบ Column x2 = 0 - 30 =
-30ค� Z - Cj ทตรงกบ Column x3 = 0 – 20 =
-20ค� Z - Cj ทตรงกบ Column s1 = 0 - 0 = 0
ค� Z - Cj ทตรงกบ Column s2 = 0 - 0 = 0ค� Z - Cj ทตรงกบ Column s3 = 0 - 0 = 0ค� Z - Cj ทตรงกบ Column s4 = 0 - 0 = 0
นำ�ค� Zj และ Z - Cj ใสลงในต�ร�งซมเพลกซเรมตน ทเร�ทำ�ไว จะไดดงน
Initial Simplex Table
Cj
Coefficient
Matrix
SlackVariabl
e
Value of
Basic variable
Basic
Variable
s
Coefficient ofBasic Variable
Minimum
60
30
20 0 0 0 0
Xj x1
x2
x3
s1
s2
s3
s4
XB YB CBRati
o 8 6 1 1 0 0 0 48 s1 0 48/8
=6
4 21.5
0 1 0 0 20 s2 0 20/4=5
Pivot Row 1
(2)
1.5
.5 0 0 1 0 8 s3 0 8/2
=4
0 1 0 0 0 0 1 5 s4 0 5/0 = --
Zj=Σ(XjCB) 0 0 0 0 0 0 0 0
Zj - Cj
-60
-30
-20
0 0 0 0
พจ�รณ�ค�ของ Zj - Cj ถ�ทกค�มค� ≥ 0 แสดงว�เร�ไดคำ�ตอบทดทสดแลว กจบ ก�รคำ�นวณและตอบได แตเนองจ�กค�ของ Zj - Cj ในต�ร�งยงมค�ทตดลบ แสดงว�คำ�ตอบทไดยงไมเปนคำ�ตอบท ดทสด จงตองทำ�ซำ�ครงท 1 (First Iteration) ในขนท 4 ตอไป
ขนท 4 พจ�รณ�ตวแปรทจะนำ�เข�เปนตวแปร Basic Variable โดยดค� Zj - Cj ในคอลมนทม ค�ตดลบม�กทสด ซงจะไดค� -60 ซงอยในคอลมน x1 แสดงว�เร�จะนำ�ตวแปร x1 เข� ม�เปน Basic Variable เร�เรยก Column นว� Pivot Column
ขนท 5 พจ�รณ�ตวแปรทจะนำ�ออกไป โดยก�รคำ�นวณห�ค�ในคอลมน Minimum Ratio ซง ทำ�ได โดยนำ�ค�ในคอลมน XB ห�รดวยค�ใน Pivot Column ทสอดคลองกนในแตละ แถว ดงน
ค� Ratio ทตรงกบแถว s1 = 48/8 = 6ค� Ratio ทตรงกบแถว s2 = 20/4 = 5ค� Ratio ทตรงกบแถว s3 = 8/2 = 4
Pivot Column
ค� Ratio ทตรงกบแถว s4 = 5/0 = -- (ห�ค�ไมได)พจ�รณ�ค� Ratio ทนอยทสด โดยพจ�รณ�เฉพ�ะค�ทเปน
บวก (ไมรวม 0 หรอตดลบ) ซงไดแก 4 ซงตรงกบแถว s3 แสดงว�เร�จะนำ� s3 ออกไป และเร�เรยก Row นว� Pivot Row 1 ค�ทอยในชองทตดกนของ Pivot Column และ Pivot Row 1 เรยกว� Pivot Element ซงในทนมค�เปน 2 ตอจ�กนเร�กทำ�ต�ร�งใหม โดยทำ�ในขนตอนท 6 ตอไป
ขนท 6 คำ�นวณห�ค�ต�ง ๆ New Pivot Row 1 ทจะเข�ม�แทนท Pivot Row 1 เดมโดยใชสตร
New pivot row = old pivot row/pivot elementมวธคำ�นวณ ดงน
ค�ทตรงกบ Column x1 = 2/2 = 1ค�ทตรงกบ Column x2 = 1.5/2 = .75ค�ทตรงกบ Column x3 = .5/2 = .25ค�ทตรงกบ Column s1 = 0/2 = 0ค�ทตรงกบ Column s2 = 0/2 = 0 ค�ทตรงกบ Column s3 = 1/2 = .5
ค�ทตรงกบ Column s4 = 0/2 = 0ค�ทตรงกบ Column XB = 8/2 = 4
นอกจ�กน ตรง Column YB ใหใส x1
ตรง Column CB ใหใส 60 (สมประสทธของ x1 ในฟงกชนวตถประสงค)
ขนท 7 คำ�นวณห�ค�ต�ง ๆ ของ Row อน ๆ ทเหลอ โดยใชสตรตอไปน
All other row = old row – (corresponding pivot column coefficient)x (new pivot row)
ในแถวท 1 (S1)ค�ทตรงกบ Column x1 = 8 – (8x1) = 0ค�ทตรงกบ Column x2 = 6 – (8x.75) = 0ค�ทตรงกบ Column x3 = 1 – (8x.25) = -1ค�ทตรงกบ Column s1 = 1 – (8x0) = 1ค�ทตรงกบ Column s2 = 0 – (8x0) = 0
ค�ทตรงกบ Column s3 = 0 – (8x.5) = -4ค�ทตรงกบ Column s4 = 0 – (8x0) = 0ค�ทตรงกบ Column XB = 48 – (8x4) = 16
ในแถวท 2 (S2)ค�ทตรงกบ Column x1 = 4 – (4x1) = 0ค�ทตรงกบ Column x2 = 2 – (4x.75) = -1ค�ทตรงกบ Column x3 = 1.5 – (4x.25) = .5ค�ทตรงกบ Column s1 = 0 – (4x0) = 0ค�ทตรงกบ Column s2 = 1 – (4x0) = 1ค�ทตรงกบ Column s3 = 0 – (4x.5) = -2ค�ทตรงกบ Column s4 = 0 – (4x0) = 0ค�ทตรงกบ Column XB = 20 – (4x4) = 4
ในแถวท 4 (S4)ค�ทตรงกบ Column x1 = 0 – (0x 1) = 0ค�ทตรงกบ Column x2 = 1 – (0x.75) = 1ค�ทตรงกบ Column x3 = 0 – (0x.25) = 0ค�ทตรงกบ Column s1 = 0 – (0x0) = 0ค�ทตรงกบ Column s1 = 0 – (0x0) = 0ค�ทตรงกบ Column s3 = 0 – (0x.5) = 0ค�ทตรงกบ Column s4 = 1 – (0x0) = 1ค�ทตรงกบ Column XB = 5 – (0x4) = 5
นำ�ค�ทห�ไดใสลงในต�ร�ง First Iteration จะไดดงน First Iteration Table
Cj
Coefficient
Matrix
SlackVariabl
e
Value of
Basic
Vari
Coefficient of
Minimum
Basic variable
ables
Basic Variable
60
30
20 0 0 0 0
Xj x1
x2
x3
s1
s2
s3
s4
XB YB CBRati
o 0 0 -
1 1 0 -4 0 16 s1 0 16/-
1=- -
Pivot Row 2 0 -
1
(.5)
0 1 -2 0 4 s2 0 4/.5
=8
New Pivot Row 1
1.75
.25
0 0 .5 0 4 x1 60 4/.25
=16
0 1 0 0 0 0 1 5 s4 0 5/0= --
Zj=Σ(XjCB)
60
45
15 0 0 3
0 0 240
Zj - Cj 0 15
-5 0 0 3
0 0ขนท 8 ห�ค�ของ Zj =Σ(XjCB) จะได ค� Z ทตรงกบ Column x1 =
(0x0)+(0x0)+(1x60) +(0x0) = 60ค� Z ทตรงกบ Column x2 =
(0x0)+(-1x0)+(.75x60) +(1x0) = 45ค� Z ทตรงกบ Column x3 = (-
1x0)+(.5x0)+(.25x60) +(0x0) = 15
ค� Z ทตรงกบ Column s1 = (1x0)+(0x0)+(0x60) +(0x0) = 0
ค� Z ทตรงกบ Column s2 = (0x0)+(1x0)+(0x60) +(0x0) = 0
ค� Z ทตรงกบ Column s3 = (-4x0)+(-2x0)+(.5x60) +(0x0) = 30
ค� Z ทตรงกบ Column s4 = (0x0)+(0x0)+(0x60)+(1x0) = 0
ค� Z ทตรงกบ Column XB = (16x0)+(4x0)+(4x60) +(5x0) = 240ห�ค�ของ Zj - Cj จะได
ค� Z - Cj ทตรงกบ Column x1 = 60 – 60 = 0ค� Z - Cj ทตรงกบ Column x2 = 45 - 30 = 15ค� Z - Cj ทตรงกบ Column x3 = 15 - 20 = -5ค� Z - Cj ทตรงกบ Column s1 = 0 - 0 = 0ค� Z - Cj ทตรงกบ Column s2 = 0 - 0 = 0ค� Z - Cj ทตรงกบ Column s3 = 30 - 0 = 30ค� Z - Cj ทตรงกบ Column s4 = 0 - 0 = 0
นำ�ค� Zj และ Z - Cj ใสลงในต�ร�งทเร�ทำ�ไวพจ�รณ�ค�ของ Zj - Cj ถ�ทกค�มค� ≥ 0 แสดงว�เร�ไดคำ�
ตอบทดทสดแลว กจบก�รคำ�นวณ และตอบได แตเนองจ�กค�ของ Zj - Cj ยงมค�ทตดลบ แสดงว�คำ�ตอบทไดยงไมเปนคำ�ตอบท ดทสด จงตองทำ�ซำ�ครงท 2 (Second Iteration) ในขนท 9 ตอไป
ขนท 9 พจ�รณ�ตวแปรทจะนำ�เข�เปนตวแปร Basic Variable โดยดค� Zj - Cj ในคอลมนทมค� ตดลบม�กทสด ซง
จะไดค� -5 ซงอยในคอลมน x3 แสดงว�เร�จะนำ�ตวแปร x3 เข�ม� เปน Basic Variable เร�เรยก Column นว� Pivot Column
ขนท 10 พจ�รณ�ตวแปรทจะนำ�ออกไป โดยก�รคำ�นวณห�ค�ในคอลมน Minimum Ratio ซง ทำ�ได โดยนำ�ค�ในคอลมน XB ห�รดวยค�ใน Pivot Column ทสอดคลองกนในแตละแถว ดงน
ค� Ratio ทตรงกบแถว s1 = 16/-1 = -16ค� Ratio ทตรงกบแถว s2 = 4/.5 = 8ค� Ratio ทตรงกบแถว s3 = 4/.25 = 16ค� Ratio ทตรงกบแถว s4 = 5/0 = --
(ห�ค�ไมได)พจ�รณ�ค� Ratio ทนอยทสด โดยพจ�รณ�เฉพ�ะค�ทเปน
บวก (ไมรวม 0 หรอ ตดลบ) ซงไดแก 8 และตรงกบแถว s2 แสดงว�เร�จะนำ� s2 ออกไป เร�จะเรยก Row นว� Pivot Row 2 ค�ทอยในชองทตดกนของ Pivot Column และ Pivot Row 2 เรยกว� Pivot Element ซงในทนมค�เปน .5 ตอจ�กนเร�กทำ�ต�ร�งใหม เปน Second Iteration Table โดยทำ�ในขนตอนท 11 ตอไป
ขนท 11 คำ�นวณห�ค�ต�ง ๆ ของ New Pivot Row 2 ทจะเข�ม�แทนท Pivot Row 2 เดมโดยใชสตร
New pivot row = old pivot row/pivot element
มวธคำ�นวณ ดงนค�ทตรงกบ Column x1 = 0/.5 = 0ค�ทตรงกบ Column x2 = -1/.5 = -2
ค�ทตรงกบ Column x3 = .5/.5 = 1ค�ทตรงกบ Column s1 = 0/.5 = 0ค�ทตรงกบ Column s2 = 1/.5 = 2 ค�ทตรงกบ Column s3 = -2/.5 = -4ค�ทตรงกบ Column s4 = 0/.5 = 0ค�ทตรงกบ Column XB = 4/.5 = 8
นอกจ�กน ตรง Column YB ใหใส x3
ตรง Column CB ใหใส 20 (สมประสทธของ x3 ในฟงกชนวตถประสงค)
ขนท 12 คำ�นวณห�ค�ต�ง ๆ ของ Row อน ๆ ทเหลอ โดยใชสตรตอไปน
All other row = old row – (corresponding pivot column coefficient)x (new pivot row)
ในแถวท 1 (S1)ค�ทตรงกบ Column x1 = 0 – (-1x0) = 0ค�ทตรงกบ Column x2 = 0 – (-1x-2) = -2ค�ทตรงกบ Column x3 = -1 – (-1x1) = 0ค�ทตรงกบ Column s1 = 1 – (-1x0) = 1ค�ทตรงกบ Column s2 = 0 – (-1x2) = 2ค�ทตรงกบ Column s3 = -4 – (-1x-4) = -8ค�ทตรงกบ Column s4 = 0 – (-1x0) = 0ค�ทตรงกบ Column XB = 16 – (-1x8) = 24
ในแถวท 3 (x1)ค�ทตรงกบ Column x1 = 1 – (.25x0) = 1ค�ทตรงกบ Column x2 = .75 – (.25x-2) = 1.25
ค�ทตรงกบ Column x3 = .25 – (.25x1) = 0ค�ทตรงกบ Column s1 = 0 – (.25x0) = 0ค�ทตรงกบ Column s2 = 0 – (.25x2) = -.5ค�ทตรงกบ Column s3 = .5 – (.25x-4) = 1.5ค�ทตรงกบ Column s4 = 0 – (.25x0) = 0ค�ทตรงกบ Column XB = 4 – (.25x8) = 2
ในแถวท 4 (S4)ค�ทตรงกบ Column x1 = 0 – (0x0) = 0ค�ทตรงกบ Column x2 = 1 – (0x-2) = 1ค�ทตรงกบ Column x3 = 0 – (0x1) = 0ค�ทตรงกบ Column s1 = 0 – (0x0) = 0ค�ทตรงกบ Column s1 = 0 – (0x2) = 0ค�ทตรงกบ Column s3 = 0 – (0x-4) = 0ค�ทตรงกบ Column s4 = 1 – (0x0) = 1ค�ทตรงกบ Column XB = 5 - (0x8) = 5
นำ�ค�ทห�ไดใสลงในต�ร�ง Second Iteration จะไดดงน
Second Iteration Table
Cj Coefficient
MatrixSlack
Variable
Value of
Basic variable
Basic
Variables
Coefficient ofBasic Variable
Minimum
6 30 2 0 0 0 0
0 0Xj x
1
x2 x3
s1
s2
s3 s4
XB YB CBRati
o 0 -2 0 1 2 -8 0 24 s1 0
New Pivot Row
20 -2 1 0 2 -4 0 8 x3 20
11.25
0 0-.5
1.5 0 2 x1 60
0 1 0 0 0 0 1 5 s4 0Zj=Σ(X
jCB)60
35
20 0 1
010 0 280
Zj - Cj 0 5 0 0 10
10 0
ขนท 13 ห�ค�ของ Zj =Σ(XjCB) จะได ค� Z ทตรงกบ Column x1 =
(0x0)+(0x20)+(1x60)+(0x0) = 60ค� Z ทตรงกบ Column x2 = (-
2x0)+(-2x20)+(1.25x60)+(1x0) = 35ค� Z ทตรงกบ Column x3 =
(0x0)+(1x20)+(0x60)+(0x0) = 20
ค� Z ทตรงกบ Column s1 = (1x0)+(0x20)+(0x60)+(0x0) = 0
ค� Z ทตรงกบ Column s2 = (2x0)+(2x20)+(-.5x60)+(0x0) = 10
ค� Z ทตรงกบ Column s3 = (-8x0)+(-4x20)+(1.5x60)+(0x0) = 10
ค� Z ทตรงกบ Column s4 = (0x0)+(0x20)+(0x60)+(1x0) = 0
ค� Z ทตรงกบ Column XB = (24x0)+(8x20)+(2x60)+(5x0) = 280
ห�ค�ของ Zj - Cj จะไดค� Z - Cj ทตรงกบ Column x1 = 60 – 60 = 0ค� Z - Cj ทตรงกบ Column x2 = 35 – 30 = 5ค� Z - Cj ทตรงกบ Column x3 = 20 – 20 = 0ค� Z - Cj ทตรงกบ Column s1 = 0 – 0 = 0ค� Z - Cj ทตรงกบ Column s2 = 10 – 0 = 10ค� Z - Cj ทตรงกบ Column s3 = 10 – 0 = 10ค� Z - Cj ทตรงกบ Column s4 = 0 – 0 = 0
นำ�ค� Zj และ Z - Cj ใสลงในต�ร�ง Second Iteration ทเร�ทำ�ไว แลวพจ�รณ�ค�ของ Zj - Cj จะเหนว�ทกค�มค� ≥ 0 แสดงว�เร�ไดคำ�ตอบทดทสดแลว
คำ�ตอบคอ จะไดค� x1 = 2, x2 = 0, x3 = 8 และค�สงสดของ Z = 280
นนแสดงว� เร�ควรผลตตกต� 2 ตว แกว 8 ใบ และไมจำ�เปนตองผลตแจกนเลย
5.5.3 ความรเพมเตมเกยวกบการแกปญหาตวแบบกำาหนดการเชงเสนดวยวธซมเพลกซ
5.5.3.1 กรณ ฟงกชนวตถประสงคเปนแบบใหหาคาตำาสด ใหแปลงเปนแบบห�ค�สงสด ดงน
Minimize Z = -(Maximize Z) หรอ Minimize Z = Maximize -Z
ตวอยางเชน Minimize Z = 6x1 - 2x2 ภ�ยใตขอจำ�กด -3x1 + 2x2 ≤ 2 5x1 - 4x2 ≤ 5 x1, x2 + ≤ 0 เปลยน ฟงกชนวตถประสงคเปน Maximize -Z = -6x1 + 2x2
แลวกห�คำ�ตอบทดทสดดวยวธซมเพลกซ เหมอนกบเร�ห�ค�สงสดของ Z หรอ Maximize Z = -6x1 + 2x2 + 0s1+ 0s2 ทกประก�ร เมอไดผลลพธแลว ตองเปลยนกลบเปน Minimize ต�มทโจทยตองก�ร เนองจ�กห�กค� –Z ม�กขน ค� Z ยอมมค�นอยลง ตวอย�ง เชน
เมอได Maximize –Z = 1 ตองเปลยนเปน Minimize Z = -1 เปนตน
5.5.3.2 ในกรณทคาทตดลบมากทสด ในแถว Zj – Cj มเหมอนกนเกน 1 ค� (Tie) ใหเลอกค�ใดค�หนง เพอใหได Pivot Column
5.5.3.3 ในกรณทคา Ratio มเหมอนกนเกน 1 คา (Tie) ใหเลอกค�ใดค�หนงเพอใหได Pivot Row
5.5.3.4 กรณคำาตอบไมมขอบเขต (Unbounded Solution)
ถ�ม Pivot Column ซงจะเปนคอลมนทเร�จะนำ�ตวแปรนนเข�เปน Basic Variable แตเร�ไมส�ม�รถห�ตวแปรทจะเอ�ออกจ�ก Basic Variable ได โดยเร�ห�ค� Ratio ทนอยทสดทมค�เปนบวกไมได เนองจ�กสมประสทธใน Pivot Column มค�เปนลบ และ/หรอ 0 หมดทกตว แสดงว� Basic Variable ส�ม�รถเพมค�ไดไมมทสนสด หรอบรเวณทห�คำ�ตอบทเปนไปไดไมถกลอมดวยฟงกชนขอจำ�กด ซงทำ�ใหค�ฟงกชนวตถประสงคสงขนอย�งไมมทสนสด หรอคำ�ตอบไมมขอบเขต (Unbounded)
5.5.3.5 กรณคำาตอบมคำาตอบทดทสดหลายคำาตอบ (Multiple Optimal Solution)
ก�รพจ�รณ�ปญห�ทมคำ�ตอบทดทสดไดหล�ยคำ�ตอบ ถ�เปนก�รแกปญห�ดวยกร�ฟ สงเกตไดจ�กก�รทเสนตรงฟงกชนวตถประสงคเลอนไปทบซอนกบสวนของฟงกชนขอจำ�กด แตก�รแกปญห�โดยวธซมเพลกซ สงเกตไดโดยก�รดจำ�นวนของ 0 ในแถว Zj - Cj ในต�ร�งสดท�ยของซมเพลกซ ถ�จำ�นวน 0 มม�กกว�จำ�นวน Basic Variables แสดงว�ปญห�นนส�ม�รถมคำ�ตอบทดทสดไดหล�ยคำ�ตอบ