- بحوث العمليات 4

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

‫ﺑﺤﻮث اﻟﻌﻤﻠﯿﺎت‬

‫اﻟﺒﺮﻣﺠﺔ اﻟﺨﻄﯿﺔ‬

‫اﻟﻤﺤﺎﺿﺮة اﻟﺮاﺑﻌﺔ‪ :‬طﺮق ﺣﻞ اﻟﺒﺮﻣﺠﺔ اﻟﺨﻄﯿﺔ‬

‫اﻟﻄﺮﻳﻘﺔ اﻟﺒﯿﺎﻧﯿﺔ ‪1-‬‬

‫طﺮﻳﻘﺔ اﻟﺴﻤﺒﻠﻜﺲ ‪2-‬‬


‫طﺮق ﺣﻞ اﻟﺒﺮﻣﺠﺔ اﻟﺨﻄﯿﺔ‪:‬‬
‫ھﻨﺎك ﻋﺪة طﺮق ﻻﯾﺠﺎد اﻟﺤﻞ اﻻﻣﺜﻞ ﻟﻨﻤﺎذج اﻟﺒﺮﻣﺠﺔ اﻟﺨﻄﯿﺔ وھﻲ ‪:‬‬

‫أ‪ -‬اﻟﻄﺮﯾﻘﺔ اﻟﺒﯿﺎﻧﯿﺔ ‪:‬‬

‫ﺗﻌﺘﺒﺮ ﻣﻦ اﺳﮭﻞ اﻟﻄﺮق ﻻﯾﺠﺎد اﻟﺤﻞ اﻻﻣﺜﻞ اذا ﻛﺎن ﻋﺪد اﻟﻤﺘﻐﯿﺮات ﻓﻲ اﻟﻤﺴﺄﻟﺔ ﻻﯾﺰﯾﺪ ﻋﻠﻰ ﻣﺘﻐﯿﺮﯾﻦ وﯾﻤﻜﻦ ﺗﻠﺨﯿﺺ ﺧﻄﻮات ھﺬه اﻟﻄﺮﯾﻘﺔ ﺑﻤﺎ‬
‫ﯾﻠﻲ‪:‬‬

‫‪ -1‬ﻧﺮﺳﻢ ﻣﺤﻮري اﻓﻘﻲ وﻋﻤﻮدي ﻓﯿﻤﺜﻞ اﻟﻤﺘﻐﯿﺮ اﻻول ﺑﺎﻟﻤﺤﻮر اﻟﺴﯿﻨﻲ واﻟﻤﺘﻐﯿﺮ اﻟﺜﺎﻧﻲ ﺑﺎﻟﻤﺤﻮر اﻟﺼﺎدي‪.‬‬
‫‪ -2‬رﺳﻢ ﻣﻌﺎدﻟﺔ ﻛﻞ ﻗﯿﺪ ﺑﺈﻋﻄﺎء ﻗﯿﻢ ﻻﺣﺪ اﻟﻤﺘﻐﯿﺮات واﯾﺠﺎد ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ اﻻﺧﺮ‪.‬‬
‫‪ -3‬ﺗﺤﺪﯾﺪ ﻣﻨﻄﻘﺔ اﻟﺤﻞ ﻟﻜﻞ ﻗﯿﺪ ‪ ،‬ﺛﻢ ﺗﺤﺪﯾﺪ اﻟﻤﻨﻄﻘﺔ اﻟﻤﺸﺘﺮﻛﺔ ﻟﺠﻤﯿﻊ وﺿﻤﻦ اﻟﺮﺑﻊ اﻻول ﻻن اﻟﻤﺘﻐﯿﺮات ﻣﻮﺟﺒﺔ‪.‬‬
‫‪ -4‬اﺧﺘﯿﺎر اﻟﻨﻘﺎد اﻟﻤﺘﻄﺮﻓﺔ )‪ (Extreme Points‬ﻓﻲ ﻣﻨﻄﻘﺔ اﻟﺤﻞ ﻋﺪا ﻧﻘﻄﺔ اﻻﺻﻞ ﺛﻢ ﺗﻌﯿﯿﻦ اﺣﺪاﺛﯿﺎت ﻛﻞ ﻧﻘﻄﺔ‪.‬‬
‫‪ -5‬ﺗﻌﻮﯾﺾ ﻗﯿﻢ اﺣﺪاﺛﯿﺎت اﻟﻨﻘﺎط اﻟﻤﺘﻄﺮﻓﺔ ﻓﻲ داﻟﺔ اﻟﮭﺪف وﻧﺨﺘﺎر اﻛﺒﺮ ﻗﯿﻤﺔ اذا ﻛﺎﻧﺖ داﻟﺔ اﻟﮭﺪف ‪ Max‬و اﺻﻐﺮ اذا ﻛﺎﻧﺖ داﻟﺔ اﻟﮭﺪف ‪.Min‬‬
‫‪600‬‬
‫•‬

‫‪X2‬‬
‫‪400‬‬

‫اﻟﺤﻞ‪:‬‬
‫‪ -1‬ﻧﺮﺳﻢ اﻟﻤﺤﻮرﯾﻦ‬
‫‪200‬‬
‫‪ -2‬رﺳﻢ ﻣﻌﺎدﻟﺔ ﻛﻞ ﻗﯿﺪ‪:‬‬
‫‪ -‬اﻟﻘﯿﺪ اﻻول‪:‬‬
‫‪X1=0 , X2 = 450‬‬ ‫)‪(0,450‬‬
‫‪X2 = 0, X1 = 450‬‬ ‫)‪(450,0‬‬
‫‪ -‬اﻟﻘﯿﺪ اﻟﺜﺎﻧﻲ‪:‬‬
‫‪X1=0 , X2 = 600‬‬ ‫)‪(0,600‬‬
‫‪0‬‬ ‫‪200‬‬ ‫‪X2 = 0, X1 = 300‬‬ ‫)‪(300,0‬‬
‫‪400‬‬ ‫‪600‬‬
‫‪X1‬‬
‫‪ -3‬ﺗﺤﺪﯾﺪ ﻣﻨﻄﻘﺔ اﻟﺤﻞ‬
‫‪600‬‬

‫‪ -4‬اﺧﺘﯿﺎر اﻟﻨﻘﺎط اﻟﻤﺘﻄﺮﻓﺔ‬

‫‪X2‬‬ ‫‪A‬‬ ‫‪ -5‬ﺗﻌﻮﯾﺾ اﺣﺪاﺛﯿﺎت اﻟﻨﻘﺎط ﻓﻲ داﻟﺔ اﻟﮭﺪف‬


‫‪400‬‬

‫‪B‬‬ ‫اﻟﻨﻘﻄﺔ‬ ‫‪X1‬‬ ‫‪X2‬‬ ‫‪3X1+4X2‬‬ ‫‪Z‬‬


‫‪A‬‬ ‫‪0‬‬ ‫‪450‬‬ ‫‪4*450‬‬ ‫‪1800‬‬
‫‪200‬‬ ‫‪B‬‬ ‫‪150‬‬ ‫‪300‬‬ ‫‪3*150+4*300‬‬ ‫‪1650‬‬
‫ﻣﻨﻄﻘﺔ اﻟﺤﻞ‬ ‫‪C‬‬ ‫‪300‬‬ ‫‪0‬‬ ‫‪3*300‬‬ ‫‪900‬‬
‫اﻟﻤﻤﻜﻦ‬
‫‪D‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬

‫‪C‬‬
‫‪0‬‬
‫‪D‬‬ ‫‪200‬‬ ‫‪400‬‬ ‫‪600‬‬
‫‪X1‬‬
‫‪6‬‬
‫•‬

‫‪X2‬‬
‫‪4‬‬

‫اﻟﺤﻞ‪:‬‬
‫‪ -1‬ﻧﺮﺳﻢ اﻟﻤﺤﻮرﯾﻦ‬
‫‪ -2‬رﺳﻢ ﻣﻌﺎدﻟﺔ ﻛﻞ ﻗﯿﺪ‪:‬‬
‫‪2‬‬ ‫‪ -‬اﻟﻘﯿﺪ اﻻول‪:‬‬
‫‪X1=0 , X2 = 4‬‬ ‫)‪(0,4‬‬
‫‪X2 = 0, X1 = 1‬‬ ‫)‪(1,0‬‬
‫‪ -‬اﻟﻘﯿﺪ اﻟﺜﺎﻧﻲ‪:‬‬
‫‪X1=0 , X2 = 2‬‬ ‫)‪(0,2‬‬
‫‪X2 = 0, X1 = 3‬‬ ‫)‪(3,0‬‬
‫‪0‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪ -‬اﻟﻘﯿﺪ اﻟﺜﺎﻟﺚ‪:‬‬
‫‪X1‬‬ ‫‪X1=2 , X2 = 0‬‬ ‫)‪(2,0‬‬
‫‪ -‬اﻟﻘﯿﺪ اﻟﺮاﺑﻊ‪:‬‬
‫‪X1=0 , X2 = 3‬‬ ‫)‪(0,3‬‬
‫‪6‬‬

‫‪ -3‬ﺗﺤﺪﯾﺪ ﻣﻨﻄﻘﺔ اﻟﺤﻞ‬


‫‪X2‬‬ ‫‪ -4‬اﺧﺘﯿﺎر اﻟﻨﻘﺎط اﻟﻤﺘﻄﺮﻓﺔ‬
‫‪4‬‬
‫‪ -5‬ﺗﻌﻮﯾﺾ اﺣﺪاﺛﯿﺎت اﻟﻨﻘﺎط ﻓﻲ داﻟﺔ اﻟﮭﺪف‬
‫‪A‬‬ ‫‪B‬‬

‫‪2‬‬ ‫اﻟﻨﻘﻄﺔ‬ ‫‪X1‬‬ ‫‪X2‬‬ ‫‪Z‬‬


‫‪A‬‬ ‫¼‬ ‫‪3‬‬ ‫‪25/4‬‬
‫‪D‬‬
‫‪B‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪8‬‬
‫‪C‬‬
‫‪C‬‬ ‫‪2‬‬ ‫‪2/3‬‬ ‫‪10/3‬‬
‫‪0‬‬ ‫‪D‬‬ ‫‪3/5‬‬ ‫‪8/5‬‬ ‫‪21/5‬‬
‫‪2‬‬ ‫‪4‬‬ ‫‪6‬‬
‫‪X1‬‬
‫أ‪ -‬اﻟﻄﺮﯾﻘﺔ اﻟﻤﺒﺴﻄﺔ )اﻟﺴﻤﺒﻠﻜﺲ( ‪Simplex Method‬‬
‫ﻋﻨﺪﻣﺎ ﯾﺤﺘﻮي ﻋﻠﻰ ﻧﻤﻮذج اﻟﺒﺮﻣﺠﺔ اﻟﺨﻄﯿﺔ ﻋﻠﻰ اﻛﺜﺮ ﻣﻦ ﻣﺘﻐﯿﺮﯾﻦ ﻻﯾﻤﻜﻦ اﺳﺘﺨﺪام اﻟﻄﺮﯾﻘﺔ اﻟﺒﯿﺎﻧﯿﺔ ‪ ،‬ﻟﺬا ﺗﺴﺘﻌﻤﻞ ھﺬه اﻟﻄﺮﯾﻘﺔ ﻟﺤﻞ اﻟﺒﺮﻣﺠﺔ‬
‫اﻟﺨﻄﯿﺔ ﻋﻠﻰ ﺷﻜﻞ ﺧﻄﻮات ﻣﺘﻜﺮرة‪.‬ﺣﯿﺚ ﺗﺒﺪا ﺑﺤﻞ اوﻟﻲ اﺳﺎﺳﻲ ﻣﻘﺒﻮل وﺗﻄﻮﯾﺮ ھﺬا اﻟﺤﻞ ﺑﻌﺪة ﺧﻄﻮات ﻟﻠﻮﺻﻮل اﻟﻰ اﻟﺤﻞ اﻻﻣﺜﻞ‪ .‬ان ھﺬه‬
‫اﻟﻄﺮﯾﻘﺔ ﺗﺴﺘﺨﺪم ﻧﻮﻋﯿﻦ ﻣﻦ اﻟﻤﺘﻐﯿﺮات ھﻤﺎ‪:‬‬
‫• اﻟﻤﺘﻐﯿﺮات اﻻﺳﺎﺳﯿﺔ ‪:Basic Variables‬‬
‫ھﻲ اﻟﻤﺘﻐﯿﺮات اﻟﺘﻲ ﺗﻜﻮن ﻣﻌﺎﻣﻼﺗﮭﺎ واﺣﺪ )‪ (1‬ﻓﻲ اﺣﺪ اﻟﻘﯿﻮد وﺻﻔﺮا ﻓﻲ اﻟﻤﻌﺎدﻻت اﻻﺧﺮى ‪ ،‬واﻟﺘﻲ ﺗﻀﺎف ﻟﻠﻘﯿﻮد ﺑﺎﺷﺎرة ﻣﻮﺟﺒﺔ ﻟﻐﺮض‬
‫اﻟﻤﻮازﻧﺔ واﻟﺘﻲ ﻧﺒﺪا ﺑﮭﺎ اﻟﺤﻞ ﻓﻲ اول ﺧﻄﻮة ﻣﻦ طﺮﯾﻘﺔ اﻟﺴﻤﺒﻠﻜﺲ‪.‬‬
‫• اﻟﻤﺘﻐﯿﺮات ﻏﯿﺮ اﻻﺳﺎﺳﯿﺔ ‪:Non-Bassic Variable‬‬
‫وھﻲ اﻟﻤﺘﻐﯿﺮات اﻟﺘﻲ ﺗﻜﻮن ﻣﻌﺎﻣﻼﺗﮭﺎ اي ﻗﯿﻤﺔ ﻏﻲ داﻟﺔ اﻟﮭﺪف ﺳﻮاء ﻛﺎﻧﺖ ﻣﻮﺟﺒﺔ او ﺳﺎﻟﺒﺔ‪ ،‬ﻛﻤﺎ ان ﻣﻌﺎﻣﻼﺗﮭﺎ ﻓﻲ اﻟﻘﯿﻮد ﻗﺪ ﺗﺎﺧﺬ اي ﻗﯿﻤﺔ‬
‫ﺳﻮاء ﻛﺎﻧﺖ ﻣﻮﺟﺒﺔ او ﺳﺎﻟﺒﺔ‪.‬‬
‫ﺧﻄﻮات اﻟﺤﻞ ﺑﻄﺮﯾﻘﺔ اﻟﺴﻤﺒﻠﻜﺲ‪:‬‬
‫‪ -1‬ﺗﺤﻮﯾﻞ اﻟﻤﺴﺎﻟﺔ اﻟﻰ اﻟﺼﯿﻐﺔ اﻟﻘﯿﺎﺳﯿﺔ‬
‫‪ -2‬ﺗﻀﺎف )ﻣﺘﻐﯿﺮات اﺻﻄﻨﺎﻋﯿﺔ( ﻟﻠﻘﯿﻮد ﺑﺤﺎﻟﺔ اﻛﺒﺮ اوﯾﺴﺎي )≥( او ﻓﻲ ﺣﺎﻟﺔ ﯾﺴﺎوي )=(‪.‬‬
‫‪ -3‬ﺗﻜﻮﯾﻦ ﺟﺪول اﻟﺴﻤﺒﻠﻜﺲ وذﻟﻚ ﺑﻮﺿﻊ اﻟﻤﺘﻐﯿﺮات اﻻﺳﺎﺳﯿﺔ اﻟﻤﻤﺜﻠﺔ ﺑﺎﻟﻤﺘﻐﯿﺮات اﻟﻤﺮﻧﺔ )‪ (slacks‬واﻟﻤﺘﻐﯿﺮات اﻻﺻﻄﻨﺎﻋﯿﺔ اﻟﻤﻀﺎﻓﺔ ﺑﺎﺷﺎرة‬
‫ﻣﻮﺟﺒﺔ ﻟﻠﻘﯿﻮد ﻋﻠﻰ اﻟﺼﻔﻮف وﺟﻤﯿﻊ اﻟﻤﺘﻐﯿﺮات ﻓﻲ اﻟﻤﺴﺎﻟﺔ ﺑﻀﻤﻨﮭﺎ اﻻﺳﺎﺳﯿﺔ ﻋﻠﻰ اﻻﻋﻤﺪة‪.‬‬
‫‪ -4‬ﺗﺤﻮﯾﻞ داﻟﺔ اﻟﮭﺪف اﻟﻰ ﻣﻌﺎدﻟﺔ ﺻﻔﺮﯾﺔ ووﺿﻊ ﻣﻌﺎﻣﻼت اﻟﻤﺘﻐﯿﺮات ﺗﺤﺖ اﺳﻤﺎء ﺗﻠﻚ اﻟﻤﺘﻐﯿﺮات ﻓﻲ اﻟﺼﻒ اﻻول ﻣﻦ ﺟﺪول اﻟﺴﻤﺒﻠﻜﺲ‬
‫)اﻟﺬي ﯾﻤﺜﻞ ﻣﻌﺎﻣﻼت داﻟﺔ اﻟﮭﺪف(‬
‫‪ -5‬ﺗﺤﺪﯾﺪ اﻟﻤﺘﻐﯿﺮ اﻟﺪاﺧﻞ اﻟﺬي ﯾﻤﺜﻞ اﻟﻤﺘﻐﯿﺮ اﻟﻤﻘﺎﺑﻞ ﻻﻛﺒﺮ ﻣﻌﺎﻣﻞ ﻣﺴﺒﻮق ﺑﺎﺷﺎرة ﺳﺎﻟﺒﺔ ﻓﻲ ﺻﻒ داﻟﺔ اﻟﮭﺪف ﻋﻨﺪﻣﺎ ﺗﻜﻮن داﻟﺔ اﻟﮭﺪف ‪Max‬‬
‫واﻛﺒﺮ ﻣﻌﺎﻣﻞ ﻣﻮﺟﺐ اذا ﻛﺎﻧﺖ داﻟﺔ اﻟﮭﺪف ‪.Min‬‬
‫‪ -6‬ﺗﺤﺪﯾﺪ اﻟﻤﺘﻐﯿﺮ اﻟﺨﺎرج‪ :‬وذﻟﻚ ﺑﻘﺴﻤﺔ ﻗﯿﻢ ﻋﻤﻮد اﻟﺤﻞ )‪ (Solution‬ﻋﻠﻰ ﻋﻤﻮد اﻟﻤﺘﻐﯿﺮ اﻟﺪاﺧﻞ واﺧﺘﯿﺎر اﺻﻐﺮ ﻧﺎﺗﺞ ﻗﺴﻤﺔ ﻣﻮﺟﺐ ﺑﻌﺪ اھﻤﺎل‬
‫ﻣﻮاﺗﺞ اﻟﻘﺴﻤﺔ ﻏﯿﺮ اﻟﻤﺤﺪدة او ﺳﺎﻟﺒﺔ‪.‬‬
‫‪ -7‬ﻗﺴﻤﺔ ﺻﻒ اﻟﻤﺘﻐﯿﺮ اﻟﺨﺎرج ﻋﻠﻰ ﻗﯿﻤﺔ اﻟﻤﺤﻮر)‪ (Pivot‬اﻟﺘﻲ ﺗﻤﺜﻞ ﻧﻘﻄﺔ ﺗﻘﺎطﻊ ﺻﻒ اﻟﻤﺘﻐﯿﺮ اﻟﺨﺎرج ﻣﻊ ﻋﻤﻮد اﻟﻤﺘﻐﯿﺮ اﻟﺪاﺧﻞ واﻟﻤﺆﺷﺮ‬
‫ﺑﺪاﺋﺮة ﻓﻲ اﻟﻤﺜﺎل اﻟﻘﺎدم‪.‬‬
‫‪ -8‬ﺟﻌﻞ ﻗﯿﻢ ﻋﻤﻮد اﻟﻤﺘﻐﯿﺮ اﻟﺪاﺧﻞ اﺻﻔﺎرا ﻣﺎ ﻋﺪا اﻟﺼﻔﻮف اﻻﺧﺮى‪ ،‬وذﻟﻚ ﺑﻀﺮب ﺻﻒ اﻟﻤﺘﻐﯿﺮ اﻟﺨﺎرج ﺑﻘﯿﻤﺔ ﻣﻌﯿﻨﺔ واﺿﺎﻓﺘﮭﺎ ﻟﻠﺼﻒ‬
‫اﻟﻤﻨﺎظﺮ ﻓﻲ اﻟﺠﺪول اﻟﺴﺎﺑﻖ ﻻﯾﺠﺎد اﻟﺼﻒ ﻓﻲ اﻟﺠﺪول اﻟﺘﺎﻟﻲ وھﻜﺬا ﻟﺠﻤﯿﻊ اﻟﺼﻔﻮف ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻧﺘﺎﺋﺞ اﻟﺠﺪول اﻟﺘﺎﻟﻲ‪.‬‬
‫‪ -9‬ﻓﺎذا ظﮭﺮت ﻗﯿﻢ ﺻﻒ ‪ Z‬ﻣﻮﺟﺒﺔ ﻓﻲ داﻟﺔ اﻟﮭﺪف ‪ Max‬اوﺳﺎﻟﺒﺔ ﻓﻲ داﻟﺔ اﻟﮭﺪف ‪ Min‬ﻓﺎن اﻟﺤﻞ ھﻮ اﻻﻣﺜﻞ وﻣﺎ ﻋﺪا ذﻟﻚ ﺗﻌﺎد اﻟﺨﻄﻮات‬
‫)‪(8-5‬‬
‫ﻣﺜﺎل‪:‬اوﺟﺪ اﻟﺤﻞ اﻻﻣﺜﻞ ﻟﻨﻤﻮذج اﻟﺒﺮﻣﺠﺔ اﻟﺨﻄﯿﺔ ﺑﻄﺮﯾﻘﺔ اﻟﺴﻤﺒﻠﻜﺲ‬

‫•‬

‫ﺗﺤﻮﯾﻞ اﻟﻤﺘﺒﺎﯾﻨﺎت اﻟﻰ ﻣﻌﺎدﻻت‬


Basic Var Solu
Basic Var Solu
Basic Var Solu
‫ﻣﺜﺎل‪:‬اوﺟﺪ اﻟﺤﻞ اﻻﻣﺜﻞ ﻟﻨﻤﻮذج اﻟﺒﺮﻣﺠﺔ اﻟﺨﻄﯿﺔ ﺑﻄﺮﯾﻘﺔ اﻟﺴﻤﺒﻠﻜﺲ‬

‫•‬
Basic Var Solu
Thank you

You might also like