You are on page 1of 28

‫ﻣﺠﻠﻪ ﻣﺪلﺳﺎزي ﭘﯿﺸﺮﻓﺘﻪ رﯾﺎﺿﯽ‪ ،‬دوره ‪ ،4‬ﺷﻤﺎره ‪ ،1‬ﺑﻬﺎر و ﺗﺎﺑﺴﺘﺎن ‪1393‬‬

‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ‬


‫اﺳﺎس روش ﺷﻤﺎرش ﺿﻤﻨﯽ و روش دوﮔﺎن‬
‫***‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ*‪ ،‬ﻋﯿﺴﯽ ﻧﺨﻌﯽ ﮐﻤﺎل آﺑﺎدي‪ ،**1‬ﻣﺤﻤﺪ ﻓﺘﺤﯽ‬
‫* داﻧﺸﺠﻮي دﮐﺘﺮي ﺗﺤﻘﯿﻖ در ﻋﻤﻠﯿﺎت‪ ،‬ﻣﺮﮐﺰ ﺗﺤﺼﯿﻼت ﺗﮑﻤﯿﻠﯽ ﭘﯿﺎم ﻧﻮر ﺗﻬﺮان‪ ،‬ﺗﻬﺮان‬
‫** ﮔﺮوه ﺻﻨﺎﯾﻊ‪ ،‬داﻧﺸﮕﺎه ﺗﺮﺑﯿﺖ ﻣﺪرس و داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‪ ،‬ﺳﻨﻨﺪج‬
‫*** ﮔﺮوه ﺑﺮق‪ ،‬داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‪ ،‬ﺳﻨﻨﺪج‬
‫ﺗﺎرﯾﺦ ﭘﺬﯾﺮش‪1394/2/5 :‬‬ ‫ﺗﺎرﯾﺦ درﯾﺎﻓﺖ‪1393/5/2 :‬‬

‫ﭼﮑﯿﺪه‪ :‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﮐﺎرﺑﺮدﻫﺎي ﻓﺮاوان ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ازﺟﻤﻠﻪ ﮐﺎرﺑﺮد آن در‬
‫ﺗﺮاﻓﯿﮏ‪ ،‬ﺣﻤﻞوﻧﻘﻞ و اﻗﺘﺼﺎد‪ ،‬ﺣﻞ اﯾﻦ ﻣﺴﺌﻠﻪ از اﻫﻤﯿﺖ ﺧﺎﺻﯽ ﺑﺮﺧﻮردار اﺳﺖ‪ .‬روشﻫﺎي‬
‫ﻣﺘﺪاول ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﺗﺒﺪﯾﻞ آن ﺑﻪ ﺗﮏ ﺳﻄﺤﯽ ﺑﺮ اﺳﺎس ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ﮐﺎروش –‬
‫ﮐﺎﻫﻦ – ﺗﺎﮐﺮ و ﯾﺎ ﺗﻮاﺑﻊ ﺟﺮﯾﻤﻪ اﺳﺖ‪ .‬اﻣﺎ ﻣﺪلﻫﺎي ﺣﺎﺻﻞ از اﯾﻦ روشﻫﺎ ﺑﺴﯿﺎر ﭘﯿﭽﯿﺪه و‬
‫ﺑﻪﺻﻮرت ﻏﯿﺮﺧﻄﯽ ﻇﺎﻫﺮ ﻣﯽﺷﻮﻧﺪ ﺑﻪﻃﻮريﮐﻪ ﺣﻞ آنﻫﺎ ﺧﻮد ﯾﮏ ﭼﺎﻟﺶ ﺟﺪي ﺑﻪﺣﺴﺎب‬
‫ﻣﯽآﯾﺪ‪ .‬در اﯾﻦ ﻣﻘﺎﻟﻪ‪ ،‬دو روش ﺑﺮاي ﺣﻞ اﯾﻦ ﻣﺴﺌﻠﻪ اراﺋﻪ ﻣﯽﺷﻮد ﮐﻪ روش اول ﯾﮏ روش‬
‫اﺑﺘﮑﺎري ﺟﺪﯾﺪ ﺑﻮده و روش دوم ﺑﺮ اﺳﺎس ﻗﻀﺎﯾﺎ و رواﺑﻂ ﺑﯿﻦ ﻣﺴﺌﻠﻪ اوﻟﯿﻪ و دوﮔﺎن ‪ ،‬ﻣﺴﺌﻠﻪ‬
‫ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ را ﺗﮏ ﺳﻄﺤﯽ ﻣﯽﮐﻨﺪ‪ .‬ﺑﺮاي اﺛﺒﺎت ﮐﺎراﯾﯽ روشﻫﺎي اراﺋﻪﺷﺪه ﭼﻨﺪ‬
‫ﻣﺜﺎل ﻋﺪدي ﺣﻞﺷﺪه و ﻣﻘﺎﯾﺴﻪاي ﻧﯿﺰ ﺑﯿﻦ ﻧﺘﺎﯾﺞ ﺣﺎﺻﻞ از اﯾﻦ روشﻫﺎ ﺑﺎ ﻧﺘﺎﯾﺞ ﺑﻪدﺳﺖآﻣﺪه‬
‫از روشﻫﺎي دﯾﮕﺮ ﺻﻮرت ﻣﯽﮔﯿﺮد ﮐﻪ ﮐﺎرا ﺑﻮدن روشﻫﺎي اراﺋﻪﺷﺪه را ﻧﺸﺎن ﻣﯽدﻫﺪ‪.‬‬
‫واژهﻫﺎي ﮐﻠﯿﺪي‪ :‬ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ‪ ،‬ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ﮐﺎروش – ﮐﺎﻫﻦ – ﺗﺎﮐﺮ‪،‬‬
‫روش ﺷﻤﺎرش ﺿﻤﻨﯽ‪ ،‬ﻣﺴﺌﻠﻪ دوﮔﺎن‪.‬‬

‫رده ﺑﻨﺪي رﯾﺎﺿﯽ )‪ 90B08:(2010‬و ‪90C04‬‬

‫‪ -1‬آدرس اﻟﮑﺘﺮوﻧﯿﮑﯽ ﻧﻮﯾﺴﻨﺪه ﻣﺴﺌﻮل ﻣﻘﺎﻟﻪ‪ :‬ﻋﯿﺴﯽ ﻧﺨﻌﯽ ﮐﻤﺎل آﺑﺎدي ‪nakhai@modares.ac.ir‬‬
‫‪28‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫‪ -1‬ﻣﻘﺪﻣﻪ‬
‫ﺗﺮاﮐﻢ ﺗﺮاﻓﯿﮏ‪ ،‬آﻟﻮدﮔﯽ ﻣﺤﯿﻂزﯾﺴﺖ و آﻟﻮدﮔﯽ ﻫﻮا‪ ،‬اﻓﺰاﯾﺶ ﺗﺄﺧﯿﺮﻫﺎي ﺗﺮاﻓﯿﮏ و ﻣﺪﯾﺮﯾﺖ‬
‫ﻣﺼﺮف اﻧﺮژي از ﻣﺴﺎﺋﻞ ﺟﺪي در ﻣﺪﯾﺮﯾﺖ ﺣﻤﻞوﻧﻘﻞ ﻧﻮاﺣﯽ ﻣﺮﮐﺰي و ﭘﺮﺗﺮاﮐﻢ ﺷﻬﺮﻫﺎي‬
‫ﺑﺰرگ ﻣﺎﻧﻨﺪ ﺷﻬﺮ ﺗﻬﺮان اﺳﺖ‪ .‬ﺑﻪ ﻋﻠﺖ ﻫﺰﯾﻨﻪ ﺑﺎﻻي ﮔﺴﺘﺮش ﺧﯿﺎﺑﺎنﻫﺎي ﻣﻮﺟﻮد ﺑﻪﻣﻨﻈﻮر‬
‫اﻓﺰاﯾﺶ ﻇﺮﻓﯿﺖ ﺳﺎﻣﺎﻧﻪ ﺣﻤﻞوﻧﻘﻞ ﺷﻬﺮي ازﯾﮏﻃﺮف و ﺗﻤﺮﮐﺰ ﺑﺮ ﺗﻮﺳﻌﻪ ﻫﻮﺷﻤﻨﺪ ﺳﺎزي‬
‫در ﺳﺎﻣﺎﻧﻪﻫﺎي ﺣﻤﻞوﻧﻘﻞ از ﻃﺮف دﯾﮕﺮ‪ ،‬ﺑﺮﻧﺎﻣﻪ رﯾﺰان ﻣﺪﯾﺮﯾﺖ ﺣﻤﻞوﻧﻘﻞ ﺷﻬﺮي را ﻗﺎدر‬
‫ﻣﯽﺳﺎزد ﮐﻪ ﻇﺮﻓﯿﺖ ﻫﺎي ﻣﻮﺟﻮد را ﺑﻬﺘﺮ ﻣﺪﯾﺮﯾﺖ ﻧﻤﻮده و وﺳﺎﯾﻞ ﻧﻘﻠﯿﻪ را ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ‬
‫ﺗﺮﺟﯿﺤﺎت ﻣﺘﻔﺎوت آنﻫﺎ ازﻟﺤﺎظ ﻣﯿﺰان اﯾﺠﺎد آﻟﻮدﮔﯽ و ﻣﺼﺮف اﻧﺮژي‪ ،‬اﻧﺘﺨﺎب زﻣﺎن‬
‫ﻣﻨﺎﺳﺐ‪ ،‬ﮐﺎﻫﺶ ﺗﺄﺧﯿﺮﻫﺎ‪ ،‬رواﻧﯽ ﺗﺮدد و از اﯾﻦ ﻗﺒﯿﻞ‪ ،‬ﺑﻪ ﺷﮑﻞ ﻣﺆﺛﺮي ﺑﺮ اﺳﺘﻔﺎده از ﻇﺮﻓﯿﺖ‬
‫و ﻓﻀﺎي در دﺳﺘﺮس ﻫﺪاﯾﺖ ﻧﻤﻮد‪ .‬در اﯾﻦﮔﻮﻧﻪ ﻣﺪﯾﺮﯾﺖ‪ ،‬از ﯾﮏﺳﻮ ﻣﻮﺿﻮع درآﻣﺪ ﺣﺎﺻﻞ از‬
‫ﺻﺪور ﻣﺠﻮز ﺗﺮدد داراي اﻫﻤﯿﺖ ﺑﻮده و از ﺳﻮي دﯾﮕﺮ ﻣﺸﮑﻼت ﻧﺎﺷﯽ از ازدﺣﺎم ﺧﻮدروﻫﺎ‪،‬‬
‫ﮐﻤﺒﻮد ﻇﺮﻓﯿﺖ ﺗﺮدد و ﺗﻮﻗﻔﮕﺎﻫﯽ و ﻧﯿﺰ ﻫﺰﯾﻨﻪﻫﺎي ﻧﺎﺷﯽ از اﻓﺰاﯾﺶ آﻟﻮدﮔﯽ و ﻫﺪر رﻓﺘﻦ‬
‫ﺳﺮﻣﺎﯾﻪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ اﻧﺮژي اﻫﻤﯿﺖ ﻣﯽﯾﺎﺑﺪ‪ .‬اﻣﺮوزه اﯾﻦ ﻧﻮع ﻣﺴﺎﺋﻞ را ﻣﯽﺗﻮان ﺑﻪﺻﻮرت‬
‫ﯾﮏ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﭼﻨﺪ ﺳﻄﺤﯽ ﻣﺪلﺑﻨﺪي ﻧﻤﻮد‪ .‬در اﯾﻦ ﻣﻘﺎﻟﻪ ﻫﺪف اراﺋﻪ روشﻫﺎﯾﯽ‬
‫ﻣﺆﺛﺮ ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ‪ ،‬ﺑﻪﻋﻨﻮان ﺣﺎﻟﺘﯽ ﺧﺎص از ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي‬
‫ﭼﻨﺪ ﺳﻄﺤﯽ ﻣﯽﺑﺎﺷﺪ‪.‬‬
‫ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﯾﮏ ﻣﺴﺌﻠﻪ از ﻧﻮع ﺑﺮﻧﺎﻣﻪرﯾﺰي رﯾﺎﺿﯽ ﺑﻮده ﮐﻪ ﺷﺎﻣﻞ ﯾﮏ‬
‫ﻣﺴﺌﻠﻪ ﺑﻬﯿﻨﻪﺳﺎزي در ﻣﺤﺪودﯾﺖﻫﺎﯾﺶ اﺳﺖ‪ .‬ﺑﻪﻋﺒﺎرﺗﯽ دﯾﮕﺮ اﯾﻦ ﻣﺴﺌﻠﻪ ﺷﺎﻣﻞ دو ﺳﻄﺢ‬
‫اﺳﺖ ﮐﻪ ﺗﺼﻤﯿﻢﮔﯿﺮﻧﺪه ﺳﻄﺢ اول ﺗﺼﻤﯿﻢ ﺧﻮد را ﺑﺮ ﺳﻄﺢ دوم اﻋﻤﺎل ﮐﺮده‪ ،‬ﻋﮑﺲاﻟﻌﻤﻞ‬
‫ﺳﻄﺢ دوم را ﻣﺸﺎﻫﺪه ﻧﻤﻮده و ﻗﺼﺪ دارد ﮐﻪ ﺗﺎﺑﻊ ﻫﺪف ﺧﻮد را ﺑﻬﯿﻨﻪ ﮐﻨﺪ‪ .‬ﺗﺼﻤﯿﻢﮔﯿﺮﻧﺪه‬
‫ﺳﻄﺢ دوم ﻧﯿﺰ ﺗﺼﻤﯿﻢ ﺳﻄﺢ اول را ﻣﺸﺎﻫﺪه ﮐﺮده و ﯾﮏ ﺗﺼﻤﯿﻢ ﻣﻨﻄﻘﯽ را در ﺟﻬﺖ ﺑﻬﯿﻨﻪ‬
‫ﻧﻤﻮدن ﺗﺎﺑﻊ ﻫﺪﻓﺶ اﺗﺨﺎذ ﻣﯽﻧﻤﺎﯾﺪ‪.‬‬
‫ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﯾﮏ ﻣﺴﺌﻠﻪ ‪ NP – hard‬اﺳﺖ ]‪ .[1‬اﻣﺎ ﺑﺎاﯾﻦوﺟﻮد ﺑﻪ دﻟﯿﻞ‬
‫ﮐﺎرﺑﺮدﻫﺎي ﻓﺮاوان آن در ﻋﻤﻞ روشﻫﺎي زﯾﺎدي ﺑﺮاي ﺣﻞ آن اراﺋﻪﺷﺪه اﺳﺖ‪ .‬روشﻫﺎي ﺣﻞ‬
‫اﯾﻦ ﻣﺴﺌﻠﻪ را ﻣﯽﺗﻮان ﺑﻪ ﭘﻨﺞ دﺳﺘﻪ روشﻫﺎي ﮐﻠﯽ‪ ،‬روشﻫﺎي ﺷﻤﺎرﺷﯽ‪ ،‬روشﻫﺎي ﻣﺘﻨﺎﻇﺮ‬
‫ﮐﺮدن ﺳﻄﺢ دوم‪ ،‬روشﻫﺎي ﻓﺎزي‪ ،‬روشﻫﺎي ﻓﺮا اﺑﺘﮑﺎري ﺗﻘﺴﯿﻢﺑﻨﺪي ﮐﺮد ]‪.[1‬‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪29‬‬

‫‪ -1-1‬روشﻫﺎي ﮐﻠﯽ‬
‫ﺟﻮابﻫﺎي ﺑﻬﯿﻨﻪ ﻫﻤﻮاره ﻣﯽﺗﻮاﻧﻨﺪ ﻣﺤﻠﯽ ﯾﺎ ﺳﺮاﺳﺮي ﺑﺎﺷﻨﺪ‪ ،‬ﺟﻮابﻫﺎي ﺑﻬﯿﻨﻪ ﻣﺤﻠﯽ ﺗﻨﻬﺎ در‬
‫ﯾﮏ ﺑﺎزه ﻣﺤﺪود و ﺑﻪاﺻﻄﻼح در ﯾﮏ ﻫﻤﺴﺎﯾﮕﯽ ﺑﻬﯿﻨﻪاﻧﺪ‪ .‬اﻣﺎ ﺟﻮابﻫﺎي ﺳﺮاﺳﺮي در ﮐﻞ‬
‫ﻧﺎﺣﯿﻪ ﺷﺪﻧﯽ‪ ،‬ﺑﻬﯿﻨﻪاﻧﺪ‪ .‬آن دﺳﺘﻪ از اﻟﮕﻮرﯾﺘﻢﻫﺎﯾﯽ ﮐﻪ در ﺟﻮابﻫﺎي ﺑﻬﯿﻨﻪ ﻣﺤﻠﯽ ﮔﺮﻓﺘﺎر‬
‫ﻧﺸﺪه و ﺟﻮابﻫﺎي ﺳﺮاﺳﺮي ﺑﻪ دﺳﺖ ﻣﯽآورﻧﺪ روشﻫﺎي ﺳﺮاﺳﺮي ﯾﺎ ﮐﻠﯽ ﻣﯽﺑﺎﺷﻨﺪ‪ .‬در‬
‫ﺳﺎل ‪ 1994‬ﯾﮏ روش ﮐﻠﯽ ﺑﺮ اﺳﺎس اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ اراﺋﻪ ﺷﺪ ﮐﻪ در آن ﺟﻮابﻫﺎي ﺳﻄﺢ‬
‫اول ﺑﻪﻃﻮر ﺗﺼﺎدﻓﯽ از ﺑﯿﻦ ﻣﺠﻤﻮﻋﻪ ﺟﻮابﻫﺎ اﻧﺘﺨﺎبﺷﺪه و ﺳﻄﺢ دوم ﺑﻨﺎ ﺑﺮ روشﻫﺎي ﺧﻄﯽ‬
‫ﺣﻞﺷﺪه اﺳﺖ‪ .‬ﻫﻤﭽﻨﯿﻦ ﻫﺮ ﮐﺮوﻣﺰوم ﺷﺪﻧﯽ ﯾﮏ ﺟﻮاب ﺷﺪﻧﯽ ﻣﺴﺌﻠﻪ اﺳﺖ ﻧﻪ ﯾﮏ ﻧﻘﻄﻪ‬
‫راﺳﯽ درﻧﺘﯿﺠﻪ در اﯾﻦ روش ﻣﻨﻄﻘﻪي ﺟﻮاب ﺑﺰرگﺗﺮ اﺳﺖ ]‪.[2‬‬

‫‪ -2-1‬روشﻫﺎي ﺷﻤﺎرﺷﯽ‬
‫در روشﻫﺎي ﺷﻤﺎرﺷﯽ اﯾﺪه ﮐﻠﯽ اﯾﻦ اﺳﺖ ﮐﻪ ﻧﻘﻄﻪ ﺑﻬﯿﻨﻪ ﯾﮑﯽ از ﻧﻘﺎط را ﺳﯽ اﺳﺖ‪ .‬اﯾﻦ‬
‫دﺳﺘﻪ از روشﻫﺎ ﻣﺨﺘﺺ ﻣﺴﺎﺋﻞ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ ﻫﺴﺘﻨﺪ و ﺟﻮاب ﺑﻬﯿﻨﻪ دﻗﯿﻖ را‬
‫ﺑﻪ دﺳﺖ ﻣﯽآورﻧﺪ اﻣﺎ ﺑﻪ ﻋﻠﺖ ﭘﯿﭽﯿﺪﮔﯽ ﻣﺤﺎﺳﺒﺎﺗﯽ ﺑﺎﻻ‪ ،‬ﻣﻘﺎﻻت ﻣﺤﺪودي در اﯾﻦ زﻣﯿﻨﻪ‬
‫اراﺋﻪﺷﺪه اﺳﺖ ﮐﻪ ﺑﻪ ﺗﻌﺪادي از آنﻫﺎ اﺷﺎره ﻣﯽﺷﻮد‪ .‬ﺑﺮ ﻣﺒﻨﺎي ﺷﻤﺎرش ﺿﻤﻨﯽ روﺷﯽ‬
‫اراﺋﻪﺷﺪه اﺳﺖ ﮐﻪ از ﯾﮏ ﻧﻘﻄﻪ ﺷﺪﻧﯽ ﺷﺮوع ﮐﺮده اﻣﺎ اﻟﺰاﻣﺎً ﺑﻪ ﯾﮏ ﺟﻮاب ﺑﻬﯿﻨﻪ ﺳﺮاﺳﺮي‬
‫ﻧﻤﯽرﺳﺪ؛ ﺑﻠﮑﻪ ﻣﻤﮑﻦ اﺳﺖ در ﯾﮏ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺤﻠﯽ ﻣﺘﻮﻗﻒ ﺷﻮد ]‪ .[3‬در ﺳﺎلﻫﺎي اﺧﯿﺮ‬
‫ﻧﯿﺰ ﯾﮏ روش ﮐﻠﯽ ﺷﻤﺎرﺷﯽ ﺑﺮاي اﯾﻦ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ اراﺋﻪ ﺷﺪ ﮐﻪ ﺟﻮاب‬
‫دﻗﯿﻖ ﻣﺴﺌﻠﻪ را ﺑﻪ دﺳﺖ ﻣﯽآورد ]‪.[4‬‬

‫‪ -3-1‬روشﻫﺎي ﻣﺘﻨﺎﻇﺮ ﮐﺮدن ﺳﻄﺢ دوم‬


‫در اﯾﻦ روشﻫﺎ ﻣﺴﺌﻠﻪ ﺗﻮﺳﻂ ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ‪ KKT‬ﯾﺎ ﺗﺎﺑﻊ ﺟﺮﯾﻤﻪ ﺟﺎﯾﮕﺰﯾﻦ ﻣﯽﺷﻮد ﺑﻪ‪-‬‬
‫ﻃﻮريﮐﻪ ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم ﺑﻪ ﻣﺤﺪودﯾﺖﻫﺎﯾﯽ ﺑﺮاي ﻣﺴﺌﻠﻪ اﺻﻠﯽ ﺗﺒﺪﯾﻞ ﻣﯽﮔﺮدد‪ .‬اﯾﻦ دﺳﺘﻪ‬
‫از روشﻫﺎ ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ در ﻫﺮ دو ﺣﺎﻟﺖ ﺧﻄﯽ و ﻏﯿﺮﺧﻄﯽ ﺑﮑﺎر‬
‫ﮔﺮﻓﺘﻪ ﻣﯽﺷﻮﻧﺪ‪ .‬در ‪ 2007‬روﺷﯽ اراﺋﻪ ﺷﺪ ﮐﻪ اﺑﺘﺪا ﺑﺎ اﺳﺘﻔﺎده از ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ‪KKT‬‬
‫ﻣﺴﺌﻠﻪ را ﺗﮏ ﺳﻄﺤﯽ ﻧﻤﻮده و ﺳﭙﺲ ﻣﺤﺪودﯾﺖﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﮑﻤﻞ زاﺋﺪ ﮐﻪ ﺑﺎﻋﺚ ﻏﯿﺮ‪-‬‬
‫ﺧﻄﯽ ﺷﺪن ﻣﺴﺌﻠﻪ ﻣﯽﺷﻮد را ﺑﺎ ﯾﮏ ﺗﺎﺑﻊ ﺟﺮﯾﻤﻪ ﺑﻪ ﺗﺎﺑﻊ ﻫﺪف ﺳﻄﺢ اول اﺿﺎﻓﻪ ﻣﯽﻧﻤﻮد؛ و‬
‫ﺑﻪاﯾﻦﺗﺮﺗﯿﺐ ﻣﺴﺌﻠﻪ ﺧﻄﯽ ﺷﺪه و ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢﻫﺎي ﺧﻄﯽ ﻗﺎﺑﻞﺣﻞ ﻣﯽﺑﺎﺷﺪ ]‪ .[5‬در‬
‫‪30‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫ﺳﺎل ‪ 2011‬اﻟﮕﻮرﯾﺘﻤﯽ ﺑﺮ اﺳﺎس ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ‪ KKT‬ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ در ﺣﺎﻟﺘﯽ ﮐﻪ‬


‫ﺳﻄﺢ اول و دوم ﻏﯿﺮﺧﻄﯽ ﻫﺴﺘﻨﺪ ‪،‬ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊﻫﺎي ﺟﺮﯾﻤﻪ‪ ،‬اراﺋﻪ ﺷﺪ ]‪ .[6‬در ‪2012‬‬
‫روﺷﯽ اراﺋﻪ ﺷﺪ ﮐﻪ ﺑﻌﺪ از اﻋﻤﺎل ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ‪ KKT‬ﺑﻪﻣﻨﻈﻮر ﺧﻄﯽﺳﺎزي ﻣﺴﺌﻠﻪ‬
‫ﻏﯿﺮﺧﻄﯽ ﺣﺎﺻﻞ‪ ،‬از ﻣﺘﻐﯿﺮﻫﺎي ﺑﺎﯾﻨﺮي اﺳﺘﻔﺎده ﮐﺮده و ﺳﭙﺲ ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢﻫﺎي‬
‫ﺧﻄﯽ ﺟﻮاﺑﯽ دﻗﯿﻖ ﺑﺮاي ﻣﺴﺌﻠﻪ اراﺋﻪ ﻣﯽﻧﻤﻮد ]‪ .[7‬در ‪2012‬روﺷﯽ اراﺋﻪ ﺷﺪ ﮐﻪ ﺑﺎ ﻣﻌﺮﻓﯽ‬
‫ﺷﺮاﯾﻂ ﺟﺪﯾﺪي ﺑﺮاي ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ‪ ،KKT‬در ﺣﺎﻟﺘﯽ ﮐﻪ ﺳﻄﺢ اول ﻣﺴﺌﻠﻪ ﻏﯿﺮﺧﻄﯽ ﺑﻮد‪،‬‬
‫آن را ﺣﻞ ﻧﻤﻮد ]‪.[8‬‬

‫‪ -4-1‬روشﻫﺎي ﻓﺎزي‬
‫اﯾﺪه ﮐﻠﯽ در اﯾﻦ دﺳﺘﻪ از روشﻫﺎ ﺗﻌﺮﯾﻒ ﺗﺎﺑﻊ ﺗﻌﻠﻖ ﺑﺮاي ﺗﺎﺑﻊ ﻫﺪفﻫﺎ‪ ،‬ﻣﺤﺪودﯾﺖﻫﺎ‪،‬‬
‫ﻣﺘﻐﯿﺮﻫﺎ و ﯾﺎ ﺗﺮﮐﯿﺒﯽ از آنﻫﺎ در ﻫﺮﮐﺪام از ﺳﻄﺢﻫﺎي ﻣﺴﺌﻠﻪ اﺳﺖ‪ .‬در ‪ 2007‬ﯾﮏ روش‬
‫ﻓﺎزي ﺑﺮ اﺳﺎس ﺗﺎﺑﻊ ﺗﻌﻠﻖ ﺑﺮاي ﺗﺎﺑﻊ ﻫﺪفﻫﺎي ﻫﺮ ﺳﻄﺢ و ﻣﺘﻐﯿﺮﻫﺎي ﺳﻄﺢ اول را اراﺋﻪ ﺷﺪ‬
‫]‪ .[9‬در ‪ 2009‬روﺷﯽ اراﺋﻪ ﺷﺪ ﮐﻪ ﺑﺎ ﺗﻌﺮﯾﻒ ﺗﺎﺑﻊ ﺗﻌﻠﻖﻫﺎﯾﯽ ﺑﺮاي ﺗﺎﺑﻊ ﻫﺪفﻫﺎي ﺳﻄﺢ اول و‬
‫دوم‪ ،‬ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ را ﺣﻞ ﻧﻤﻮد ]‪ .[10‬در ‪ 2012‬ﻧﯿﺰ روﺷﯽ ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ‬
‫دوﺳﻄﺤﯽ ﺧﻄﯽ در ﺣﺎﻟﺖ ﻓﺎزي اراﺋﻪ ﺷﺪ ]‪.[11‬‬

‫‪ -5-1‬روشﻫﺎي ﻓﺮا اﺑﺘﮑﺎري‬

‫اﺧﯿﺮاً اﺑﺪاع روشﻫﺎي ﻓﺮا اﺑﺘﮑﺎري ﺑﺮاي ﺣﻞ ﻣﺴﺎﺋﻞ ‪ NP-hard‬ﮔﺴﺘﺮشﯾﺎﻓﺘﻪ اﺳﺖ‪ .‬ازﺟﻤﻠﻪ‬
‫اﯾﻦ روشﻫﺎ ﻣﯽﺗﻮان ﺑﻪ ﺟﺴﺘﺠﻮي ﻣﻤﻨﻮع‪ ،‬اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ‪ ،‬ﺷﺒﮑﻪﻫﺎي ﻋﺼﺒﯽ‪ ،‬اﻟﮕﻮرﯾﺘﻢ‬
‫ﭘﺮﻧﺪﮔﺎن و اﻟﮕﻮرﯾﺘﻢ ﻣﻮرﭼﮕﺎن اﺷﺎره ﮐﺮد‪ .‬اﯾﻦ دﺳﺘﻪ از روشﻫﺎ ﺟﺰو روشﻫﺎي دﻗﯿﻖ ﻧﯿﺴﺘﻨﺪ‬
‫و ﯾﮏ ﺟﻮاب ﺗﻘﺮﯾﺒﯽ از ﺟﻮاب ﺑﻬﯿﻨﻪ اراﺋﻪ ﻣﯽدﻫﻨﺪ ﮐﻪ درﻋﯿﻦﺣﺎل داراي ﭘﯿﭽﯿﺪﮔﯽ‬
‫ﻣﺤﺎﺳﺒﺎﺗﯽ ﻣﻨﺎﺳﺒﯽ ﻫﺴﺘﻨﺪ‪ .‬در ‪ 2008‬روﺷﯽ اراﺋﻪ ﺷﺪ ﮐﻪ اﺑﺘﺪا ﺑﺎ اﺳﺘﻔﺎده از ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ‬
‫‪ KKT‬ﻣﺴﺌﻠﻪ را ﺗﮏ ﺳﻄﺤﯽ ﮐﺮده و ﺳﭙﺲ ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﯾﮏ ﺟﻮاب ﺑﻬﯿﻨﻪ‬
‫ﺗﻘﺮﯾﺒﯽ را ﺑﺮاي ﻣﺴﺌﻠﻪ ﺑﻪ دﺳﺖ آورد‪ .‬در اﯾﻦ روش ﺑﺎ اﺳﺘﻔﺎده از روش ﺳﯿﻤﭙﻠﮑﺲ ﻣﻘﺎدﯾﺮ‬
‫ﺷﺪﻧﯽ ﺑﺮاي اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﺑﻪدﺳﺖآﻣﺪه و ﺳﭙﺲ ﺟﻮاب ﺑﻬﯿﻨﻪ اراﺋﻪﺷﺪه اﺳﺖ ]‪ .[12‬در‬
‫‪ 2010‬ﯾﮏ روش ﺷﺒﮑﻪ ﻋﺼﺒﯽ ﺟﺪﯾﺪ ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ اراﺋﻪ‬
‫ﺷﺪ ﮐﻪ داراي ﭘﺎﯾﺪاري ﻟﯿﺎﭘﺎﻧﻮف ﺑﻮد ]‪ .[13‬ﻫﻤﭽﻨﯿﻦ ﯾﮏ اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ‬
‫دوﺳﻄﺤﯽ ﻓﺎزي اراﺋﻪ ﮔﺮدﯾﺪ ]‪ .[14‬در ‪ 2012‬ﯾﮏ اﻟﮕﻮرﯾﺘﻢ ﺗﺮﮐﯿﺒﯽ ﻫﻮﺷﻤﻨﺪ ﺑﺮ اﺳﺎس‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪31‬‬

‫اﻟﮕﻮرﯾﺘﻢ ذرات اﻧﺒﻮه ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ دوﺳﻄﺤﯽ ﻏﯿﺮﺧﻄﯽ اراﺋﻪ ﺷﺪ ﮐﻪ اﺑﺘﺪا ﺑﻬﺘﺮﯾﻦ ﻧﻘﺎط‬
‫ﺷﺪﻧﯽ ﺳﻄﺢ دوم را ﺑﻪﻋﻨﻮان ﺟﻤﻌﯿﺖ اوﻟﯿﻪ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﺳﭙﺲ ﺑﺎ اﺳﺘﻔﺎده از ﺟﺴﺘﺠﻮي‬
‫ﺧﻄﯽ ﺳﻌﯽ در ﯾﺎﻓﺘﻦ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﯽﻧﻤﺎﯾﺪ ]‪ .[15‬در ‪ 2013‬روﺷﯽ دﯾﮕﺮ ﺑﺮاي ﺗﮏ ﺳﻄﺤﯽ‬
‫ﻧﻤﻮدن ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺑﺮ اﺳﺎس اﻟﮕﻮرﯾﺘﻢ ذرات اﻧﺒﻮه اراﺋﻪﺷﺪه اﺳﺖ ]‪.[16‬‬
‫اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﯾﮑﯽ از ﻣﻬﻢﺗﺮﯾﻦ اﻟﮕﻮرﯾﺘﻢﻫﺎي ﻓﺮا اﺑﺘﮑﺎري اﺳﺖ و ﺑﻪ اﯾﻦ ﺻﻮرت ﻋﻤﻞ ﻣﯽ‪-‬‬
‫ﮐﻨﺪ ﮐﻪ اﺑﺘﺪا ﺗﻌﺪادي ﺟﻮاب ﺷﺪﻧﯽ ﺑﻪﻃﻮر ﺗﺼﺎدﻓﯽ در ﻧﻈﺮ ﮔﺮﻓﺘﻪﺷﺪه و در اداﻣﻪ ﺑﺮ اﺳﺎس‬
‫ﻣﻘﺎدﯾﺮ ﺗﺎﺑﻊ ﻫﺪف ﻫﺮﮐﺪام از ﺟﻮابﻫﺎي ﺷﺪﻧﯽ‪ ،‬ﺗﻌﺪادي از آنﻫﺎ را ﮐﻪ داراي ﻣﻘﺎدﯾﺮ ﺑﻬﺘﺮي‬
‫ﻫﺴﺘﻨﺪ اﻧﺘﺨﺎب و ﺑﺎﻫﻢ ﺗﺮﮐﯿﺐ ﮐﺮده و ﺟﻤﻌﯿﺖ ﺟﺪﯾﺪي ﭘﺪﯾﺪ ﻣﯽآورﻧﺪ‪ .‬در ﻣﺮﺣﻠﻪ ﺑﻌﺪي‬
‫ﺟﻤﻌﯿﺖ اوﻟﯿﻪ ﺗﺮﮐﯿﺒﯽ از واﻟﺪﻫﺎ‪ ،‬ﻓﺮزﻧﺪان و ﺟﻤﻌﯿﺖ اوﻟﯿﻪ اﺳﺖ و اﯾﻦ روﻧﺪ ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺑﻪ‬
‫ﯾﮑﯽ از ﻣﻌﯿﺎرﻫﺎي ﺗﻮﻗﻒ ارﺿﺎ ﺷﻮد اداﻣﻪ ﻣﯽﯾﺎﺑﺪ‪ .‬ﻣﻌﯿﺎر ﺗﻮﻗﻒ ﻣﯽﺗﻮاﻧﺪ ﺗﻌﺪاد ﺗﮑﺮارﻫﺎي از‬
‫ﻗﺒﻞ ﺗﻌﯿﯿﻦﺷﺪه‪ ،‬ﺗﮑﺮار ﺑﻬﺘﺮﯾﻦ ﺟﻮابﻫﺎ و ﯾﺎ زﻣﺎن اﺟﺮاي اﻟﮕﻮرﯾﺘﻢ ﺑﺎﺷﺪ‪.‬‬
‫در اﯾﻦ ﻣﻘﺎﻟﻪ ﻫﺪف اراﺋﻪ دو روش ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ اﺳﺖ‪.‬‬
‫روشﻫﺎي اراﺋﻪﺷﺪه در دﺳﺘﻪﻫﺎي اول و دوم از روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ‬
‫ﻗﺮار ﻣﯽﮔﯿﺮﻧﺪ‪ .‬در روش اول ﺑﺎ ﯾﮏ اﯾﺪه اﺑﺘﮑﺎري ﺗﺎﺑﻊ ﻫﺪف ﺳﻄﺢ دوم در ﻗﺎﻟﺐ ﻣﺘﻐﯿﺮي‬
‫ﺟﺪﯾﺪ ﺑﻪ ﺗﺎﺑﻊ ﻫﺪف ﺳﻄﺢ اول اﺿﺎﻓﻪﺷﺪه و ﺑﻪاﯾﻦﺗﺮﺗﯿﺐ ﯾﮏ ﻣﺤﺪودﯾﺖ ﺟﺪﯾﺪ ﺑﻪ ﻣﺴﺌﻠﻪ‬
‫اﺿﺎﻓﻪﺷﺪه و ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﻣﯽﮔﺮدد‪ .‬در اداﻣﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺧﻄﯽ ﺑﻮدن ﻣﺴﺌﻠﻪ ﺣﺎﺻﻞ‪،‬‬
‫ﻣﯽﺗﻮان ﻧﻘﻄﻪ ﺑﻬﯿﻨﻪ را در ﻣﯿﺎن ﻧﻘﺎط راﺳﯽ ﺟﺴﺘﺠﻮ ﮐﺮد‪ .‬در روش دوم ﺳﻌﯽ ﻣﯽﺷﻮد ﮐﻪ ﺑﺎ‬
‫اﺳﺘﻔﺎده از ﻗﻀﺎﯾﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﺴﺎﺋﻞ اوﻟﯿﻪ و دوﮔﺎن‪ ،‬ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم را ﺗﻮﺳﻂ ﻣﺤﺪودﯾﺖ‪-‬‬
‫ﻫﺎي ﻣﺴﺎﺋﻞ اوﻟﯿﻪ و دوﮔﺎن ﺣﺬف ﮐﺮده‪ ،‬ﺗﺎ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺗﮏ ﺳﻄﺤﯽ ﮔﺮدد‪.‬‬
‫در اداﻣﻪ‪ ،‬ﻣﺴﺌﻠﻪ ﺣﺎﺻﻞ ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﺳﺎده ﺣﻞ ﻣﯽﮔﺮدد‪ .‬از ﻣﺰاﯾﺎي دو‬
‫روش اراﺋﻪﺷﺪه ﺳﺎدﮔﯽ ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﺣﺎﺻﻞ ﺑﻌﺪ از اﻋﻤﺎل روشﻫﺎي ﻣﺬﮐﻮر اﺳﺖ‬
‫ﺑﻪﻃﻮريﮐﻪ ﺑﺮﺧﻼف دﯾﮕﺮ روشﻫﺎ ﮐﻪ ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﺣﺎﺻﻞ ﮐﺎﻣﻼً ﻏﯿﺮﺧﻄﯽ ﻣﯽﺷﻮد‪،‬‬
‫در روش اول ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﺣﺎﺻﻞ ﺧﻄﯽ و در روش دوم ﺗﻨﻬﺎ ﯾﮏ ﻣﺤﺪودﯾﺖ ﻏﯿﺮ‪-‬‬
‫ﺧﻄﯽ وﺟﻮد دارد‪ .‬در اداﻣﻪ اﺑﺘﺪا در ﺑﺨﺶ دوم ﺗﻌﺮﯾﻒ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ‬
‫اراﺋﻪ ﻣﯽﮔﺮدد‪ .‬در ﺑﺨﺶ ﺳﻮم روش ﭘﯿﺸﻨﻬﺎدي اول و ﻗﻀﺎﯾﺎي ﻣﺮﺑﻮﻃﻪ ﺗﻮﺿﯿﺢ داده ﻣﯽﺷﻮد‪.‬‬
‫در ﺑﺨﺶ ﭼﻬﺎرم ﭼﻨﺪ ﻗﻀﯿﻪ ﻣﺮﺑﻮط ﺑﻪ ﻣﺴﺎﺋﻞ اوﻟﯿﻪ و دوﮔﺎن ﺑﯿﺎن ﺧﻮاﻫﺪ ﺷﺪ و ﺳﭙﺲ روش‬
‫‪32‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫دوم اراﺋﻪﺷﺪه و ﻣﺮاﺣﻞ اﺟﺮاي اﻟﮕﻮرﯾﺘﻢ ﺧﻮاﻫﺪ آﻣﺪ‪ .‬در ﺑﺨﺶ ﭘﻨﺠﻢ ﻣﺜﺎلﻫﺎي اﺳﺘﺎﻧﺪارد ﺑﺎ‬
‫اﺳﺘﻔﺎده از روشﻫﺎي ﭘﯿﺸﻨﻬﺎدي ﺣﻞ ﻣﯽﮔﺮدﻧﺪ و ﻧﺘﺎﯾﺞ ﻣﺤﺎﺳﺒﺎﺗﯽ اراﺋﻪ ﻣﯽﺷﻮد و ﻧﯿﺰ‬
‫ﻣﻘﺎﯾﺴﻪاي ﺑﯿﻦ ﻧﺘﺎﯾﺞ ﺣﺎﺻﻠﻪ ﺑﺎ ﻧﺘﺎﯾﺞ روشﻫﺎي دﯾﮕﺮ ﺻﻮرت ﻣﯽﮔﯿﺮد‪ .‬درﻧﻬﺎﯾﺖ در ﺑﺨﺶ‬
‫ﺷﺸﻢ ﻧﺘﯿﺠﻪﮔﯿﺮيﻫﺎ و ﺟﻬﺖﮔﯿﺮيﻫﺎي آﯾﻨﺪه اراﺋﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬

‫‪ -2‬ﺗﻌﺮﯾﻒ ﻣﺴﺌﻠﻪ دوﺳﻄﺤﯽ ﺧﻄﯽ‬


‫ﻓﺮم ﮐﻠﯽ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ ﺑﻪﺻﻮرت زﯾﺮ اﺳﺖ‪:‬‬

‫‪min aT x  bT y‬‬
‫‪x‬‬

‫‪s.t min‬‬ ‫‪cT x  d T y‬‬


‫‪y‬‬ ‫)‪(1‬‬
‫‪s.t‬‬ ‫‪Ax  By d r ,‬‬
‫‪x, y t .‬‬
‫‪a, c  R n1 . b,d  R n2 , A  R mun1 . B  R mun2 , r  R m , x  R n1 , y  R n2‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1‬ﻣﺠﻤﻮﻋﻪ ﻣﺤﺪودﯾﺖﻫﺎ ﺑﻪﺻﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﻣﯽﺷﻮد‪:‬‬
‫} ‪S {( x, y ) | Ax  By d r , x, y t‬‬ ‫)‪(2‬‬
‫ﺗﻌﺮﯾﻒ ‪ :2‬ﺗﺼﻮﯾﺮ ‪ S‬ﺑﺮ ﻓﻀﺎي ﺳﻄﺢ اول ﻋﺒﺎرت اﺳﺖ از‪:‬‬
‫} ‪S ( x) { y | By d r  Ax , x, y t‬‬ ‫)‪(3‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 3‬ﻣﺠﻤﻮﻋﻪ ﺷﺪﻧﯽ ﻣﺴﺌﻠﻪ ﻋﺒﺎرت اﺳﺖ از‪:‬‬

‫‪IR‬‬ ‫‪^ x, y  S, y‬‬ ‫` ‪y x‬‬ ‫)‪(4‬‬


‫ﮐﻪ در آن )‪ y(x‬ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم ﺑﻪ ازاي ﻣﻘﺪار ﺛﺎﺑﺖ ‪ x‬اﺳﺖ‪.‬‬

‫ﺗﻌﺮﯾﻒ ‪ x, y : 4‬را ﯾﮏ ﻧﻘﻄﻪ ﺷﺪﻧﯽ ﮔﻮﯾﯿﻢ ﻫﺮﮔﺎه ‪ x, y  IR .‬‬


‫ ‬ ‫ ‬
‫ﺗﻌﺮﯾﻒ ‪ x * , y* : 5‬ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ اﺳﺖ ﻫﺮﮔﺎه داﺷﺘﻪ ﺑﺎﺷﯿﻢ‪:‬‬

‫ ‬ ‫ ‬
‫‪f x * .y* d f x, y  x, y  IR‬‬ ‫)‪(5‬‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪33‬‬

‫‪ -3‬روش ﺷﻤﺎرش ﺿﻤﻨﯽ‬


‫ﺗﻌﺮﯾﻒ ‪ :٦‬ﻫﺮﮔﺎه ﯾﮏ ﯾﺎ ﭼﻨﺪ ﻣﺤﺪودﯾﺖ از ﻣﺤﺪودﯾﺖﻫﺎي ﯾﮏ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي رﯾﺎﺿﯽ را‬
‫ﺣﺬف ﮐﻨﯿﻢ ﯾﮏ ﻓﺮم آزادﺷﺪه از آن ﻣﺴﺌﻠﻪ ﺑﻪ دﺳﺖ ﻣﯽآﯾﺪ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ :٧‬اﮔﺮ ‪ X‬ﯾﮏ ﻣﺠﻤﻮﻋﻪ از ﺑﺎﻻ ﮐﺮاندار ﺑﺎﺷﺪ آﻧﮕﺎه ﮐﻮﭼﮏﺗﺮﯾﻦ ﮐﺮان ﺑﺎﻻي ‪ X‬را‬
‫ﺑﺎ ﻧﻤﺎد ) ‪ Sup ( X‬ﻧﻤﺎﯾﺶ داده و آن را ﺳﻮﭘﺮﻣﻢ ﻣﺠﻤﻮﻋﻪ ‪ X‬ﮔﻮﯾﯿﻢ و دارﯾﻢ‪:‬‬
‫‪xX Sup( X ) t x‬‬ ‫)‪(6‬‬
‫ﺗﻌﺮﯾﻒ ‪ :٨‬اﮔﺮ ‪ X‬ﯾﮏ ﻣﺠﻤﻮﻋﻪ از ﭘﺎﯾﯿﻦ ﮐﺮاندار ﺑﺎﺷﺪ آﻧﮕﺎه ﺑﺰرگﺗﺮﯾﻦ ﮐﺮان ﭘﺎﯾﯿﻦ ‪ X‬را‬
‫ﺑﺎ ﻧﻤﺎد ) ‪ Inf ( X‬ﻧﻤﺎﯾﺶ داده و آن را اﯾﻨﻔﯿﻤﻢ ﻣﺠﻤﻮﻋﻪ ‪ X‬ﮔﻮﯾﯿﻢ و دارﯾﻢ‪:‬‬
‫‪xX Inf ( X ) d x‬‬ ‫)‪(7‬‬
‫ﺗﻌﺮﯾﻒ ‪ :٩‬ﻧﻘﻄﻪ ‪ p‬ﯾﮏ ﻧﻘﻄﻪ ﺣﺪي ﻣﺠﻤﻮﻋﻪ ‪ X‬اﺳﺖ ﻫﺮﮔﺎه ﻫﺮ ﻫﻤﺴﺎﯾﮕﯽ ‪ p‬ﺷﺎﻣﻞ‬
‫ﻧﻘﻄﻪاي ﭼﻮن ‪ q  X‬ﻏﯿﺮ از ‪ p‬ﺑﺎﺷﺪ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ X :10‬ﻣﺠﻤﻮﻋﻪاي ﺑﺴﺘﻪ اﺳﺖ ﻫﺮﮔﺎه ﻫﺮ ﻧﻘﻄﻪ ﺣﺪي ‪ X‬ﯾﮏ ﻧﻘﻄﻪ از ‪ X‬ﺑﺎﺷﺪ‪.‬‬
‫ﻗﻀﯿﻪ‪ :1‬اﮔﺮ ‪ X‬ﻣﺠﻤﻮﻋﻪاي ﻧﺎﺗﻬﯽ و از ﺑﺎﻻ ﮐﺮاندار ﺑﺎﺷﺪ و ) ‪ a sup( X‬در اﯾﻦ ﺻﻮرت‬
‫‪a H  X‬‬ ‫ﺑﺮاي ﻫﺮ ﻋﺪد ﻣﺜﺒﺖ ﮐﻮﭼﮏ دﻟﺨﻮاه ﻣﺎﻧﻨﺪ ‪ ε‬دارﯾﻢ‪:‬‬
‫ﻗﻀﯿﻪ ‪ :2‬اﮔﺮ ‪ X‬ﻣﺠﻤﻮﻋﻪاي ﻧﺎﺗﻬﯽ و از ﭘﺎﯾﯿﻦ ﮐﺮاندار ﺑﺎﺷﺪ و ) ‪ a inf( X‬در اﯾﻦ‬
‫‪a H  X‬‬ ‫ﺻﻮرت ﺑﺮاي ﻫﺮ ﻋﺪد ﻣﺜﺒﺖ ﮐﻮﭼﮏ دﻟﺨﻮاه ﻣﺎﻧﻨﺪ ‪ ε‬دارﯾﻢ‪:‬‬
‫ﻗﻀﯿﻪ ‪ : 3‬ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ ‪ X‬ﻣﺠﻤﻮﻋﻪاي ﻧﺎﺗﻬﯽ‪ ،‬ﺑﺴﺘﻪ و ﮐﺮاندار اﺳﺖ‪ .‬ﻗﺮار ﻣﯽدﻫﯿﻢ‬
‫) ‪ b inf( X ) ، a sup( X‬آﻧﮕﺎه‬
‫ب( ‪. b  X‬‬ ‫اﻟﻒ( ‪a  X‬‬
‫اﺛﺒﺎت‪ :‬اﻟﻒ( ﺑﻪ ﺑﺮﻫﺎن ﺧﻠﻒ ﻓﺮض ﮐﻨﯿﻢ ﮐﻪ ‪ . a  X‬در اﯾﻦ ﺻﻮرت‪ ،‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺧﺎﺻﯿﺖ‬
‫ﺳﻮﭘﺮﻣﻢ ﺑﻮدن ‪ ، a‬ﺑﻪ ازاي ﻫﺮ ! ‪  h‬ﻧﻘﻄﻪاي ﻣﺎﻧﻨﺪ ‪ x  X‬ﻫﺴﺖ ﮐﻪ ‪a  h  x  a‬‬
‫زﯾﺮا در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ‪ a  h‬ﯾﮏ ﮐﺮان ﺑﺎﻻي ‪ X‬ﺧﻮاﻫﺪ ﺑﻮد و اﯾﻦ ﺑﺎ ﺧﺎﺻﯿﺖ ﺳﻮﭘﺮﻣﻢ‬
‫ﺑﻮدن ‪  a‬در ﺗﻨﺎﻗﺾ اﺳﺖ‪ .‬ﻟﺬا ‪  a‬ﯾﮏ ﻧﻘﻄﻪ ﺣﺪي ‪ X‬ﻣﯽﺑﺎﺷﺪ و ﭼﻮن ‪ X‬ﺑﺴﺘﻪ اﺳﺖ‪،‬‬
‫ﺷﺎﻣﻞ ﻫﺮ ﻧﻘﻄﻪ ﺣﺪي ﺧﻮد اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ ‪. a  X‬‬
‫‪34‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫ب( ﺑﻪ ﺑﺮﻫﺎن ﺧﻠﻒ ﻓﺮض ﮐﻨﯿﻢ ﮐﻪ ‪ . b  X‬در اﯾﻦ ﺻﻮرت‪ ،‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺧﺎﺻﯿﺖ اﯾﻨﻔﯿﻤﻢ‬
‫ﺑﻮدن ‪ ، b‬ﺑﻪ ازاي ﻫﺮ ! ‪ k‬ﻧﻘﻄﻪاي ﻣﺎﻧﻨﺪ ‪ x  X‬ﻫﺴﺖ ﮐﻪ ‪ b  x  b  k‬زﯾﺮا در‬
‫ﻏﯿﺮ اﯾﻦ ﺻﻮرت ‪ b  k‬ﯾﮏ ﮐﺮان ﭘﺎﯾﯿﻦ ‪ X‬ﺧﻮاﻫﺪ ﺑﻮد و اﯾﻦ ﺑﺎ ﺧﺎﺻﯿﺖ اﯾﻨﻔﯿﻤﻢ ﺑﻮدن ‪ b‬‬
‫در ﺗﻨﺎﻗﺾ اﺳﺖ‪ .‬ﻟﺬا ‪ b‬ﯾﮏ ﻧﻘﻄﻪ ﺣﺪي ‪ X‬ﻣﯽﺑﺎﺷﺪ و ﭼﻮن ‪ X‬ﺑﺴﺘﻪ اﺳﺖ‪ ،‬ﺷﺎﻣﻞ ﻫﺮ‬
‫ﻧﻘﻄﻪ ﺣﺪي ﺧﻮد اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ ‪. b  X‬‬
‫ﻧﺘﯿﺠﻪ ‪ :1‬اﮔﺮ ‪ X‬ﻣﺠﻤﻮﻋﻪاي ﻧﺎﺗﻬﯽ‪ ،‬ﺑﺴﺘﻪ و ﮐﺮاندار ﺑﺎﺷﺪ آﻧﮕﺎه‪:‬‬
‫) ‪min( X ) inf( X ), max( X ) sup( X‬‬
‫ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ )‪ (1‬را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ‪ ،‬ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ ﻣﺠﻤﻮﻋﻪ‬
‫ﻣﺤﺪودﯾﺖﻫﺎ‪ ، X ،‬ﮐﺮاندار ﺑﺎﺷﺪ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻓﺮم ﻣﺴﺌﻠﻪ‪ X ،‬ﺑﺴﺘﻪ اﺳﺖ‪ .‬ﻗﺮار ﻣﯽدﻫﯿﻢ‬
‫‪ . z cx  dy‬ﭼﻮن در ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم ‪ x‬ﺛﺎﺑﺖ ﺑﻮده و ﺗﻮﺳﻂ ﺳﻄﺢ اول ﺗﻌﯿﯿﻦ ﻣﯽ‪-‬‬
‫ﮔﺮدد ﺑﻨﺎﺑﺮاﯾﻦ ﺗﻨﻬﺎ ﻣﺘﻐﯿﺮ ﺳﻄﺢ دوم ‪ y‬اﺳﺖ‪ .‬در اﯾﻦ ﺻﻮرت دارﯾﻢ‪:‬‬
‫‪1‬‬
‫‪y‬‬ ‫) ‪( z  cx‬‬
‫‪d‬‬
‫ﺑﺎ ﺟﺎﯾﮕﺬاري راﺑﻄﻪ اﺧﯿﺮ در ﻣﺴﺌﻠﻪ )‪ ،(1‬ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺑﻪﺻﻮرت زﯾﺮ ﺗﮏ‬
‫ﺳﻄﺤﯽ ﻣﯽﮔﺮدد‪.‬‬
‫‪b‬‬
‫ ‪min ax‬‬ ‫)‪( z  cx‬‬
‫‪d‬‬
‫‪B‬‬
‫‪s.t Ax  ( z  cx) d b,‬‬ ‫)‪(8‬‬
‫‪d‬‬
‫‪xt‬‬
‫ﻣﺴﺌﻠﻪ ﻓﻮق ﯾﮏ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪ رﯾﺰي ﺗﮏ ﺳﻄﺤﯽ ﺧﻄﯽ اﺳﺖ و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨﮑﻪ ﻧﻘﻄﻪ ﺑﻬﯿﻨﻪ‬
‫ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪ رﯾﺰي ﺧﻄﯽ ﯾﮑﯽ از ﻧﻘﺎط راﺳﯽ اﺳﺖ‪ ،‬ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﮐﺎﻓﯽ اﺳﺖ ﮐﻪ‬
‫ﻧﻘﺎط راﺳﯽ ﺑﺎ روش ﺷﻤﺎرش ﺿﻤﻨﯽ ﺑﻪ دﺳﺖ آورده ﺷﻮﻧﺪ‪ .‬اﻣﺎ ﭼﻮن ‪ z‬ﻫﻤﺎن ﺗﺎﺑﻊ ﻫﺪف‬
‫ﺳﻄﺢ دوم اﺳﺖ‪ ،‬ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺎﯾﺪ ﻣﯿﻨﯿﻤﻢ ﮔﺮدد و ﺑﻪاﯾﻦﺗﺮﺗﯿﺐ ﻣﺤﺪودﯾﺘﯽ ﺟﺪﯾﺪ ﺑﻪ ﻣﺴﺌﻠﻪ‬
‫اﺿﺎﻓﻪ ﻣﯽﺷﻮد‪ .‬اﯾﻦ ﻣﺤﺪودﯾﺖ ﺟﺪﯾﺪ )ﻣﯿﻨﯿﻤﻢ ﺷﺪن ‪ ( z‬ﺑﺎﻋﺚ ﺣﺬف ﺑﺮﺧﯽ از ﻧﻘﺎط راﺳﯽ‬
‫ﻣﯽﮔﺮدد‪ .‬ﺑﻪﻋﺒﺎرﺗﯽدﯾﮕﺮ ﺗﻨﻬﺎ ﻧﻘﺎط راﺳﯽ ﮐﻪ ﻣﯿﻨﯿﻤﻢ ﺑﻮدن ‪ z‬را ارﺿﺎ ﻣﯽﮐﻨﻨﺪ در ﻣﺠﻤﻮﻋﻪ‬
‫ﻧﻘﺎط راﺳﯽ ﺷﺪﻧﯽ ﻗﺮار ﻣﯽﮔﯿﺮﻧﺪ‪ .‬ﺗﺸﺨﯿﺺ اﯾﻦ ﻧﻘﺎط ﺑﻪ ﮐﻤﮏ ﻗﻀﺎﯾﺎي اراﺋﻪﺷﺪه در اﯾﻦ‬
‫ﺑﺨﺶ اﻣﮑﺎنﭘﺬﯾﺮ اﺳﺖ‪ .‬درﻧﻬﺎﯾﺖ ﺑﺎ ﺑﻪ دﺳﺖ آوردن ﻧﻘﺎط راﺳﯽ ﺷﺪﻧﯽ و ﯾﺎﻓﺘﻦ ﻣﻘﺪار ﺗﺎﺑﻊ‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪35‬‬

‫ﻫﺪف ﺳﻄﺢ اول ﻣﺘﻨﺎﻇﺮ آنﻫﺎ ﻧﻘﻄﻪ ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ ﻣﺸﺨﺺ ﻣﯽﮔﺮدد‪ .‬در اداﻣﻪ ﺟﺰﺋﯿﺎت‬
‫اﻟﮕﻮرﯾﺘﻢ اراﺋﻪ ﻣﯽﺷﻮد‪.‬‬

‫‪ -1-3‬ﻣﺮاﺣﻞ اﺟﺮاي اﻟﮕﻮرﯾﺘﻢ‬


‫ﮔﺎم ‪ :1‬در اﯾﻦ ﻣﺮﺣﻠﻪ اﺑﺘﺪا ﺗﺎﺑﻊ ﻫﺪف ﺳﻄﺢ دوم را ﺑﻪﻋﻨﻮان ﯾﮏ ﻣﺘﻐﯿﺮ ﺟﺪﯾﺪ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ‬
‫و ﺳﭙﺲ در ﺗﺎﺑﻊ ﻫﺪف ﻣﺴﺌﻠﻪ ﺳﻄﺢ اول و ﻣﺤﺪودﯾﺖﻫﺎي دﯾﮕﺮ ﺟﺎﯾﮕﺬاري ﻣﯽﮐﻨﯿﻢ‪.‬‬
‫درﻧﺘﯿﺠﻪ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺑﻪ ﯾﮏ ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﺗﺒﺪﯾﻞ ﻣﯽﺷﻮد‪ .‬ﻓﻀﺎي‬
‫ﺷﺪﻧﯽ ﻣﺴﺌﻠﻪ )‪ (8‬را ﺑﺪون اﻋﻤﺎل ﻣﯿﻨﯿﻤﻢ ﺑﻮدن ‪ X ، z‬و ﺑﺎ اﻋﻤﺎل ﻣﯿﻨﯿﻤﻢ ﺑﻮدن ‪S ، z‬‬
‫در ﻧﻈﺮ ﻣﯽﮔﯿﺮﯾﻢ‪.‬‬
‫ﮔﺎم ‪ :2‬ﻣﺤﺪودﯾﺖ ﻣﺮﺑﻮط ﺑﻪ ﻣﺘﻐﯿﺮ ﺟﺪﯾﺪ ﺗﻌﺮﯾﻒﺷﺪه در ﻣﺮﺣﻠﻪ اول ﺣﺬف ﻣﯽﮔﺮدد ﺗﺎ ﯾﮏ‬
‫ﻓﺮم آزادﺷﺪه از ﻣﺴﺌﻠﻪ ﻣﻮردﻧﻈﺮ ﺑﻪ دﺳﺖ آﯾﺪ‪.‬‬
‫ﮔﺎم ‪ :3‬ﺗﻤﺎم ﻧﻘﺎط راﺳﯽ ﺷﺪﻧﯽ )ﻧﻘﺎط ﺷﺪﻧﯽ ﭘﺎﯾﻪ( ﻣﺴﺌﻠﻪ ﺣﺎﺻﻞ از ﻣﺮﺣﻠﻪ دوم را ﭘﯿﺪا ﻣﯽ‪-‬‬
‫ﮐﻨﯿﻢ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨﮑﻪ ﻣﺴﺌﻠﻪ ﺣﺎﺻﻞ از ﻣﺮﺣﻠﻪ دوم ﻓﺮم آزادﺷﺪه ﻣﺴﺌﻠﻪ ﻣﻮردﻧﻈﺮ اﺳﺖ‪،‬‬
‫واﺿﺢ اﺳﺖ ﮐﻪ ﺑﺮﺧﯽ از ﻧﻘﺎط ﻣﻔﺮوض ﻣﻤﮑﻦ اﺳﺖ ﺑﺮاي ﻣﺴﺌﻠﻪ ﻧﺸﺪﻧﯽ ﺑﺎﺷﻨﺪ‪.‬‬
‫ﮔﺎم ‪ :4‬ﺑﻨﺎﺑﺮ ﻗﻀﺎﯾﺎي اراﺋﻪﺷﺪه در اﯾﻦ ﺑﺨﺶ‪ ،‬ﻫﺮ ﻧﻘﻄﻪ راﺳﯽ ‪ ( x, z )  X‬ﯾﮏ ﻧﻘﻄﻪ راﺳﯽ‬
‫‪ S‬اﺳﺖ اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﺑﺮاي ﻫﺮ ﻋﺪد دﻟﺨﻮاه ﮐﻮﭼﮏ و ﻣﺜﺒﺖ ‪ ε‬داﺷﺘﻪ ﺑﺎﺷﯿﻢ‬
‫‪ ( x, z  H )  X‬ﻫﺮﮔﺎه ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم ﻣﯿﻨﯿﻤﻢ ﺳﺎزي و ‪ ( x, z  H )  X‬ﻫﺮﮔﺎه ﻣﺴﺌﻠﻪ‬
‫ﺳﻄﺢ دوم ﻣﺎﮐﺰﯾﻤﻢ ﺳﺎزي ﺑﺎﺷﺪ‪.‬‬
‫ﺑﻪاﯾﻦﺗﺮﺗﯿﺐ ﺗﻤﺎم ﻧﻘﺎط راﺳﯽ ﺷﺪﻧﯽ ﻣﺴﺌﻠﻪ ﻣﻮردﻧﻈﺮ ﺑﻪ دﺳﺖ ﻣﯽآﯾﺪ و ﺑﺎ ﻣﻘﺎﯾﺴﻪ ﻣﻘﺪار ﺗﺎﺑﻊ‬
‫ﻫﺪف در اﯾﻦ ﻧﻘﺎط ﺟﻮاب ﺑﻬﯿﻨﻪ ﺣﺎﺻﻞ ﻣﯽﺷﻮد‪.‬‬
‫در اﯾﻦ روش ﺗﺎﺑﻊ ﻫﺪف ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم ﮐﻪ اﺻﻠﯽﺗﺮﯾﻦ ﭼﺎﻟﺶ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي‬
‫دوﺳﻄﺤﯽ اﺳﺖ در ﻗﺎﻟﺐ ﯾﮏ ﻣﺘﻐﯿﺮ ﺟﺪﯾﺪ ﺑﻪ ﻣﺴﺌﻠﻪ ﺳﻄﺢ اول اﺿﺎﻓﻪ ﻣﯽﮔﺮدد‪ .‬ﻣﻬﻢﺗﺮﯾﻦ‬
‫ﻣﺰﯾﺖ اﯾﻦ روش آن اﺳﺖ ﮐﻪ ﻣﺴﺌﻠﻪ ﺗﮏ – ﺳﻄﺤﯽ ﺣﺎﺻﻞ ﺧﻄﯽ ﻣﯽﻣﺎﻧﺪ و درﻧﺘﯿﺠﻪ ﻣﯽ‪-‬‬
‫ﺗﻮان ﻣﺴﺌﻠﻪ را ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢﻫﺎي ﺧﻄﯽ ﻣﻮﺟﻮد ﺣﻞ ﮐﺮد‪ .‬اﻟﺒﺘﻪ اﻟﮕﻮرﯾﺘﻢﻫﺎي ﺧﻄﯽ‬
‫ﺗﻨﻬﺎ ﺗﻘﺮﯾﺒﯽ از ﺟﻮاب ﻣﺴﺌﻠﻪ را اراﺋﻪ ﻣﯽدﻫﻨﺪ زﯾﺮا ﻣﺴﺌﻠﻪ ﺗﮏ – ﺳﻄﺤﯽ ﺣﺎﺻﻞ ﺷﺎﻣﻞ ﯾﮏ‬
‫ﻣﺤﺪودﯾﺖ ﺟﺪﯾﺪ )ﻣﯿﻨﯿﻤﻢ ﯾﺎ ﻣﺎﮐﺰﯾﻤﻢ ﺑﻮدن ﻣﺘﻐﯿﺮ ﺟﺪﯾﺪ( اﺳﺖ و ﺑﺮاي اﯾﻨﮑﻪ ﺑﺘﻮان از‬
‫اﻟﮕﻮرﯾﺘﻢﻫﺎي ﺧﻄﯽ اﺳﺘﻔﺎده ﻧﻤﻮد ﺑﺎﯾﺪ ﻓﺮم آزادﺷﺪه آنﮐﻪ از ﺣﺬف ﻣﺤﺪودﯾﺖ ﻣﺬﮐﻮر ﺑﻪ‬
‫‪36‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫دﺳﺖ ﻣﯽآﯾﺪ را ﺣﻞ ﮐﺮد‪ .‬ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ﺑﺮاي رﻓﻊ اﯾﻦ ﻣﺸﮑﻞ از ﻗﻀﺎﯾﺎي ﻣﻮﺟﻮد در آﻧﺎﻟﯿﺰ‬
‫رﯾﺎﺿﯽ اﺳﺘﻔﺎدهﺷﺪه اﺳﺖ ﺑﻪاﯾﻦﺗﺮﺗﯿﺐ ﮐﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻗﻀﺎﯾﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﺠﻤﻮﻋﻪﻫﺎي‬
‫ﮐﺮاندار‪ ،‬ﺳﻮﭘﺮﯾﻤﻢ و اﯾﻨﻔﯿﻤﻢ ﻣﯽﺗﻮان ﻧﻘﺎط راﺳﯽ ﺷﺪﻧﯽ ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﺣﺎﺻﻞ را ﺑﻪ‬
‫دﺳﺖ آورده و ﺑﺎ اﺳﺘﻔﺎده از روش ﺷﻤﺎرش ﺿﻤﻨﯽ دﻗﯿﻘﺎً ﺟﻮاب ﺑﻬﯿﻨﻪ را ﻣﺸﺨﺺ ﻧﻤﻮد‪.‬‬
‫ﻫﻤﭽﻨﯿﻦ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﮐﺎوش ادﺑﯿﺎت اﻧﺠﺎمﺷﺪه در زﻣﯿﻨﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺎﺋﻞ دوﺳﻄﺤﯽ‪،‬‬
‫روشﻫﺎي ﮐﻼﺳﯿﮏ ﺑﺴﯿﺎر ﮐﻤﯽ اراﺋﻪﺷﺪه اﺳﺖ‪ .‬ﺿﻤﻨﺎً ﺑﺮﺧﻼف ﺗﻤﺎم روشﻫﺎي دﯾﮕﺮ در اﯾﻦ‬
‫روش از ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ﮐﺎروش – ﮐﺎﻫﻦ – ﺗﺎﮐﺮ اﺳﺘﻔﺎده ﻧﺸﺪه اﺳﺖ و ﺑﻪ ﻧﻈﺮ ﻣﯽرﺳﺪ ﮐﻪ‬
‫روش اراﺋﻪﺷﺪه ﺿﻤﻦ دﻗﯿﻖ ﺑﻮدن ﯾﮏ روش ﺑﺪﯾﻊ و ﻣﻨﺤﺼﺮﺑﻪﻓﺮد اﺳﺖ‪.‬‬

‫‪ -4‬روش دوﮔﺎن‬
‫ﺳﻄﺢ دوم ﻣﺴﺌﻠﻪ )‪ (1‬را ﻣﯽﺗﻮان ﺑﻪﺻﻮرت زﯾﺮ ﻧﻮﺷﺖ‪:‬‬

‫‪min d T y‬‬
‫‪y‬‬

‫‪s.t‬‬ ‫‪By d r  Ax,‬‬ ‫)‪(9‬‬


‫‪yt .‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨﮑﻪ ﺗﻨﻬﺎ ﻣﺘﻐﯿﺮ ﻣﻮﺟﻮد در ﺳﻄﺢ دوم ‪ y‬اﺳﺖ و ‪ x‬ﺗﻮﺳﻂ ﺳﻄﺢ اول ﺗﻌﯿﯿﻦ ﻣﯽ‪-‬‬
‫ﮔﺮدد‪ ،‬ﻣﯽﺗﻮان ﺳﻄﺢ دوم ﻣﺴﺌﻠﻪ را ﺑﻪ ﻓﺮم ﺑﺎﻻ ﻧﻮﺷﺖ‪ .‬ﺣﺎل ﺑﻨﺎ ﺑﻪ ﺗﻌﺮﯾﻒ ﻣﺴﺌﻠﻪ دوﮔﺎن‪،‬‬
‫دوﮔﺎن ﻣﺴﺌﻠﻪ )‪ (٩‬را ﺑﻪﺻﻮرت زﯾﺮ ﻣﺤﺎﺳﺒﻪ ﻣﯽﮐﻨﯿﻢ‪:‬‬

‫‪max ( r  Ax)T u‬‬


‫‪y‬‬

‫‪s.t‬‬ ‫‪BT u d d ,‬‬ ‫)‪(10‬‬


‫‪ud .‬‬
‫در اداﻣﻪ ﻗﻀﺎﯾﺎﯾﯽ اراﺋﻪ ﻣﯽﮔﺮدد ﮐﻪ ﻧﺸﺎن ﻣﯽدﻫﺪ ﺗﺮﮐﯿﺐ دو ﻣﺴﺌﻠﻪ )‪ (9‬و )‪ (10‬ﺑﺎ ﻣﺴﺌﻠﻪ‬
‫)‪ (1‬ﻣﻌﺎدل ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫ﻗﻀﯿﻪ ‪) 4‬ﻗﻀﯿﻪ اﺳﺎﺳﯽ دوﮔﺎن( ]‪ :[17‬ﺑﺮاي ﻣﺴﺎﺋﻞ اوﻟﯿﻪ و دوﮔﺎن دﻗﯿﻘﺎً ﯾﮑﯽ از ﺣﺎﻟﺖﻫﺎي‬
‫زﯾﺮ ﺻﺤﯿﺢ اﺳﺖ‪:‬‬
‫‪ .1‬دو ﻣﺴﺌﻠﻪ داراي ﺟﻮابﻫﺎي ﺑﻬﯿﻨﻪ *‪ w* , x‬ﺑﺎ ﺗﺎﺑﻊ ﻫﺪفﻫﺎي ﯾﮑﺴﺎن *‪w* b cx‬‬
‫ﻫﺴﺘﻨﺪ‪.‬‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪37‬‬

‫‪ .2‬ﯾﮏ ﻣﺴﺌﻠﻪ ﻣﻘﺪار ﺗﺎﺑﻊ ﻫﺪف ﻧﺎﻣﺘﻨﺎﻫﯽ دارد درﺣﺎﻟﯽﮐﻪ دﯾﮕﺮي ﻧﺸﺪﻧﯽ اﺳﺖ‪.‬‬
‫‪ .3‬ﻫﺮ دو ﻣﺴﺌﻠﻪ ﻧﺸﺪﻧﯽ ﻫﺴﺘﻨﺪ‪.‬‬
‫اﺛﺒﺎت‪ :‬ﺑﯿﺎن و اﺛﺒﺎت اﯾﻦ ﻗﻀﯿﻪ در ]‪ [17‬اراﺋﻪﺷﺪه اﺳﺖ‪.‬‬
‫*‬ ‫*‬ ‫*‬
‫ﻗﻀﯿﻪ ‪ ( x , y ) :5‬ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ )‪ (1‬و ‪ u‬ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ دوﮔﺎن ﺳﻄﺢ دوم‬
‫اﺳﺖ اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ) *‪ ( x* , y* , u‬ﺟﻮاب ﻣﺴﺌﻠﻪ زﯾﺮ ﺑﺎﺷﺪ‪:‬‬

‫‪min aT x  bT y‬‬
‫‪x‬‬
‫‪s.t‬‬ ‫‪Ax  By d r ,‬‬
‫‪BT u d d ,‬‬ ‫)‪(11‬‬
‫‪d y  (r  Ax) u‬‬
‫‪T‬‬ ‫‪T‬‬

‫‪x, y t .‬‬
‫اﺛﺒﺎت‪ :‬ﻃﺮف اول‪ :‬اﮔﺮ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺎﺋﻞ )‪ (1‬و )‪ (10‬ﺑﻪ ﺗﺮﺗﯿﺐ ) *‪ u* ,( x* , y‬ﺑﺎﺷﻨﺪ آﻧﮕﺎه‬
‫دارﯾﻢ‪:‬‬

‫‪By* d r  Ax* Ÿ Ax*  By* d r‬‬


‫‪BT u * d d‬‬
‫و ﺑﻨﺎ ﺑﻪ ﻗﻀﯿﻪ اﺳﺎﺳﯽ دوﮔﺎن ﺑﺮاي ﻣﺴﺎﺋﻞ اوﻟﯿﻪ و دوﮔﺎن دارﯾﻢ‪:‬‬
‫*‪ d T y‬ﺑﻪﻋﺒﺎرﺗﯽ دﯾﮕﺮ ) *‪( x* , y* , u‬‬ ‫‪(r  Ax* )T u* Ÿ d T y*  (r  Ax* )T u‬‬
‫ﺟﻮاب ﺑﻬﯿﻨﻪ )‪ (11‬اﺳﺖ زﯾﺮا ﺗﻤﺎم ﻣﺤﺪودﯾﺖﻫﺎي ﻣﺴﺌﻠﻪ )‪ (11‬ارﺿﺎ ﺷﺪه و ﻫﺮ دو ﻣﺴﺌﻠﻪ‬
‫)‪ (1‬و )‪ (11‬ﻣﯿﻨﯿﻤﻢ ﺳﺎزي ﻫﺴﺘﻨﺪ‪.‬‬
‫ﻃﺮف دوم‪ :‬اﮔﺮ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ )‪ ( x* , y* , u* ) (11‬ﺑﺎﺷﺪ آﻧﮕﺎه دارﯾﻢ‪:‬‬

‫‪Ax*  By* d r‬‬


‫‪BT u * d d ,‬‬
‫‪d T y*  (r  Ax* )T u‬‬
‫*‬ ‫*‬ ‫*‬
‫ﺑﻪﻋﺒﺎرﺗﯽدﯾﮕﺮ ‪ u‬ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ )‪ (10‬و ) ‪ ( x , y‬ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ )‪ (9‬ﺑﻮده و‬
‫‪38‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫*‬ ‫*‬
‫ﺑﻨﺎﺑﺮاﯾﻦ ﻣﯿﻨﯿﻤﻢ ﻣﻘﺪار ﺗﺎﺑﻊ ﻫﺪف ﺳﻄﺢ دوم ﻣﺴﺌﻠﻪ )‪ ( x , y ) ،(1‬ﻣﯽﺑﺎﺷﺪ و ﭼﻮن ﻣﯿﻨﯿﻤﻢ‬
‫ﺷﺪن ﺗﺎﺑﻊ ﻫﺪف ﺳﻄﺢ دوم ﻣﺴﺌﻠﻪ ﺟﺰو ﻣﺤﺪودﯾﺖﻫﺎي ﻣﺴﺌﻠﻪ )‪ (1‬اﺳﺖ و ﺑﺎﯾﺪ ارﺿﺎ ﮔﺮدد‬
‫*‬ ‫*‬
‫ﺑﻨﺎﺑﺮاﯾﻦ ) ‪ ( x , y‬ﯾﮏ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ )‪ (1‬ﻧﯿﺰ ﻫﺴﺖ‪.‬‬
‫ﭘﺲ ﻣﺴﺌﻠﻪ دوﺳﻄﺤﯽ )‪ (1‬ﺑﻪ ﺗﮏ ﺳﻄﺤﯽ ﻓﻮق ﺗﺒﺪﯾﻞ ﻣﯽﮔﺮدد ﺑﻪﻃﻮريﮐﻪ دو ﻣﺴﺌﻠﻪ‬
‫ﺟﻮابﻫﺎي ﺑﻬﯿﻨﻪ ﯾﮑﺴﺎن دارﻧﺪ‪ .‬ﯾﻌﻨﯽ ﻣﯽﺗﻮان ﺑﺠﺎي ﻣﺴﺌﻠﻪ دوﺳﻄﺤﯽ )‪ (1‬ﻣﺴﺌﻠﻪ )‪ (11‬را‬
‫ﺣﻞ ﮐﺮد ﮐﻪ آﺧﺮﯾﻦ ﻣﺤﺪودﯾﺖ آن ﻫﻨﻮز ﻏﯿﺮﺧﻄﯽ اﺳﺖ و ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ﺑﺮاي ﺣﻞ آن ﺑﺎﯾﺪ‬
‫از اﻟﮕﻮرﯾﺘﻢﻫﺎي ﻓﺮا اﺑﺘﮑﺎري اﺳﺘﻔﺎده ﺷﻮد‪ .‬در اداﻣﻪ ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﺣﺎﺻﻞ ﺗﻮﺳﻂ روش‬
‫اراﺋﻪﺷﺪه‪ ،‬از اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﺳﺎده ﺑﺎ ﺗﻐﯿﯿﺮات ﺟﺰﺋﯽ اﺳﺘﻔﺎده ﻣﯽﮔﺮدد و ﺗﻤﺎﻣﯽ ﻣﺤﺎﺳﺒﺎت‬
‫ﻧﯿﺰ ﺗﻮﺳﻂ ﻧﺮماﻓﺰار ﻣﻄﻠﺐ ‪ 7.1‬ﺻﻮرت ﮔﺮﻓﺘﻪ اﺳﺖ‪.‬‬

‫‪ -1-4‬ﻣﺮاﺣﻞ اﺟﺮاي اﻟﮕﻮرﯾﺘﻢ‬


‫ﮔﺎم ‪ :1‬در اﯾﻦ ﻣﺮﺣﻠﻪ ﺳﻄﺢ دوم ﻣﺴﺌﻠﻪ )‪ (1‬را ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺛﺎﺑﺖ ﺑﻮدن ﻣﺘﻐﯿﺮ ‪ ،x‬ﺑﻪ ﻓﺮم ﻣﺴﺌﻠﻪ‬
‫)‪ (٩‬ﻣﯽﻧﻮﯾﺴﯿﻢ‪ .‬ﺳﭙﺲ دوﮔﺎن ﻣﺴﺌﻠﻪ ﺣﺎﺻﻞ را ﺑﻪ دﺳﺖ ﻣﯽآورﯾﻢ ﺗﺎ ﻣﺴﺌﻠﻪاي ﺑﻪ ﻓﺮم )‪(1٠‬‬
‫ﺑﻪ دﺳﺖ آﯾﺪ‪.‬‬
‫ﮔﺎم ‪ :2‬ﺑﻪ ﮐﻤﮏ ﻗﻀﺎﯾﺎي ‪ 4‬و ‪ 5‬و ﻣﺴﺎﺋﻞ ﺣﺎﺻﻞ در ﮔﺎم ﻗﺒﻠﯽ‪ ،‬ﻣﺴﺌﻠﻪ )‪ (1‬را ﺑﻪ ﻓﺮم ﻣﺴﺌﻠﻪ‬
‫)‪ (11‬ﻣﯽﻧﻮﯾﺴﯿﻢ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﺎدل ﺑﻮدن ﻣﺴﺎﺋﻞ )‪ (1‬و )‪ (11‬در اداﻣﻪ ﻣﺴﺌﻠﻪ )‪ (11‬ﺑﻪ ﮐﻤﮏ‬
‫اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﺳﺎده ﺣﻞ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫ﮔﺎم‪ :3‬ﺟﻤﻌﯿﺖ اوﻟﯿﻪ اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﺷﺎﻣﻞ ﺟﻮابﻫﺎي ﺷﺪﻧﯽ ﻣﺴﺌﻠﻪ ﺑﺎ ﺣﻞ ﻣﺴﺌﻠﻪ )‪(9‬‬
‫ﺳﺎﺧﺘﻪ ﻣﯽﺷﻮد‪ 20) .‬ﺟﻮاب در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﯽﺷﻮد(‬
‫ﮔﺎم ‪ :4‬ﺑﻬﺘﺮﯾﻦ ﮐﺮوﻣﺰومﻫﺎ در ﻫﺮ ﺗﮑﺮار در ﯾﮏ اراﺋﻪ ذﺧﯿﺮهﺷﺪه و اﯾﻦ روﻧﺪ ﺗﺎ ﭘﺎﯾﺎن اﻟﮕﻮرﯾﺘﻢ‬
‫اداﻣﻪ ﻣﯽﯾﺎﺑﺪ‪.‬‬
‫ﮔﺎم ‪ :5‬ﺑﻪﻣﻨﻈﻮر ﺗﺸﮑﯿﻞ ﺟﻤﻌﯿﺖ ﺟﺪﯾﺪ ﮐﺮوﻣﺰومﻫﺎ ﺑﺮ ﻃﺒﻖ ﻗﺎﻋﺪه زﯾﺮ ﺑﺎﻫﻢ ﺗﺮﮐﯿﺐ ﻣﯽ‪-‬‬
‫ﺷﻮﻧﺪ‪:‬‬

‫‪1+0=1‬‬ ‫‪0+1=1‬‬ ‫‪0+0=0‬‬ ‫‪1+1=0‬‬


‫ﮔﺎم ‪ :6‬اﻟﮕﻮرﯾﺘﻢ ﺑﻌﺪ از رﺳﯿﺪن ﺑﻪ ﺗﻌﺪاد ﺗﮑﺮارﻫﺎ از ﻗﺒﻞ ﺗﻌﯿﯿﻦﺷﺪه ﺧﺎﺗﻤﻪ ﻣﯽﯾﺎﺑﺪ و ﺑﻬﺘﺮﯾﻦ‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪39‬‬

‫ﮐﺮوﻣﺰوم ذﺧﯿﺮهﺷﺪه در اراﺋﻪ ﮔﺎم ﭘﻨﺠﻢ ﺑﻪﻋﻨﻮان ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ )‪ (1‬ﻣﻌﺮﻓﯽ ﻣﯽﺷﻮد‪.‬‬
‫ﺑﯿﺸﺘﺮ روشﻫﺎي ﺣﻞ اراﺋﻪﺷﺪه ﺑﺮاي ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﻣﺴﺘﻘﯿﻤﺎً از ﺷﺮاﯾﻂ‬
‫ﺑﻬﯿﻨﮕﯽ ﮐﺎروش – ﮐﺎﻫﻦ – ﺗﺎﮐﺮ ﺑﻪﻣﻨﻈﻮر ﺗﮏ‪-‬ﺳﻄﺤﯽ ﻧﻤﻮدن ﻣﺴﺌﻠﻪ اﺳﺘﻔﺎده ﻣﯽﮐﻨﻨﺪ ﻟﺬا‬
‫اراﺋﻪ ﯾﮏ روش ﮐﻪ ﺑﺘﻮاﻧﺪ ﺟﺎﯾﮕﺰﯾﻦ ﻣﻨﺎﺳﺒﯽ ﺑﺮاي ﺷﺮاﯾﻂ ﺑﻬﯿﻨﮕﯽ ﮐﺎروش – ﮐﺎﻫﻦ – ﺗﺎﮐﺮ‬
‫ﺑﺎﺷﺪ از اﻫﻤﯿﺖ ﺧﺎﺻﯽ ﺑﺮﺧﻮردار اﺳﺖ‪ .‬در اﯾﻦ ﺑﺨﺶ ﺳﻌﯽ ﺷﺪ ﺑﺎ اﺳﺘﻔﺎده از دوﮔﺎن ﻣﺴﺌﻠﻪ‬
‫ﺳﻄﺢ دوم و ﻗﻀﺎﯾﺎي دواﻟﯿﺘﯽ‪ ،‬ﻣﺴﺌﻠﻪ ﺗﮏ‪-‬ﺳﻄﺤﯽ ﺷﻮد‪ .‬اﯾﻦ روش ﺑﺮاي ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي‬
‫دوﺳﻄﺤﯽ ﺧﻄﯽ – ﺧﻄﯽ ﻣﻮرداﺳﺘﻔﺎده واﻗﻊﺷﺪه اﺳﺖ و ﻣﯽداﻧﯿﻢ ﮐﻪ در ﻣﺴﺎﺋﻞ ﺧﻄﯽ‬
‫دواﻟﯿﺘﯽ ﮔﭗ ﺻﻔﺮ اﺳﺖ و اﯾﻦ ﯾﮏ ﻣﺰﯾﺖ روش ﻣﺬﮐﻮر ﻣﺤﺴﻮب ﻣﯽﮔﺮدد‪.‬‬

‫‪ -5‬ﻧﺘﺎﯾﺞ ﻣﺤﺎﺳﺒﺎﺗﯽ‬
‫در اﯾﻦ ﺑﺨﺶ ﭼﻬﺎر ﻣﺜﺎل اﺳﺘﺎﻧﺪارد و ﯾﮏ ﻣﺴﺌﻠﻪ ﻧﻤﻮﻧﻪ‪ ،‬ﺷﺒﯿﻪﺳﺎزي از ﺗﺮاﻓﯿﮏ ﺗﻬﺮان‪ ،‬ﺑﺎ‬
‫اﻟﮕﻮرﯾﺘﻢﻫﺎي اراﺋﻪﺷﺪه ﺣﻞ ﻣﯽﮔﺮدد و ﻧﺘﯿﺠﻪ ﺑﺎ ﻧﺘﺎﯾﺞ ﺑﻪدﺳﺖآﻣﺪه در ﻣﺮاﺟﻊ ﻣﻘﺎﯾﺴﻪ ﻣﯽ‪-‬‬
‫ﺷﻮد‪.‬‬
‫ﻣﺜﺎل ‪) :[13] 1‬روش ﺷﻤﺎرش ﺿﻤﻨﯽ(‪ :‬ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ زﯾﺮ را در ﻧﻈﺮ‬
‫ﺑﮕﯿﺮﯾﺪ‪.‬‬

‫‪min x  4 y‬‬
‫‪x‬‬
‫‪s.t min y‬‬
‫‪y‬‬

‫‪s.t x  y t 3,‬‬
‫‪ 2x  y d ,‬‬
‫‪2x  y d 12,‬‬
‫‪3 x  2 y d 4,‬‬
‫‪x, y t .‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺿﯿﺤﺎت اراﺋﻪﺷﺪه در ﺑﺨﺶ ﺳﻮم‪ ،‬ﺗﺎﺑﻊ ﻫﺪف ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم ﺑﻪﻋﻨﻮان ﯾﮏ‬
‫ﻣﺘﻐﯿﺮ ﺟﺪﯾﺪ در ﻧﻈﺮ ﻣﯽﺷﻮد‪ .‬آﻧﮕﺎه ﻣﺴﺌﻠﻪ ﻓﻮق ﺑﻪﺻﻮرت زﯾﺮ ﺗﺒﺪﯾﻞ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫‪40‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫‪min x  4 z‬‬
‫‪s.t x  z t 3,‬‬
‫‪2x  z d ,‬‬
‫‪2 x  z d 12,‬‬
‫‪3 x  2 z d 4,‬‬
‫‪xt‬‬
‫ﺗﻤﺎم ﻧﻘﺎط ﺷﺪﻧﯽ راﺳﯽ ﻣﺴﺌﻠﻪ اﺧﯿﺮ ﺑﻨﺎ ﺑﺮ ﮔﺎم ‪ 3‬در ﺑﺨﺶ ﺳﻮم ﻋﺒﺎرتاﻧﺪ از‪:‬‬
‫)‪x  z 3,  2x  z Ÿ ( x, z ) (1, 2‬‬
‫)‪x  z 3, 3 x  2z 4 Ÿ ( x, z ) (2,1‬‬
‫‪2x  z 12,  2x  z‬‬ ‫)‪Ÿ ( x, z ) (3, 6‬‬
‫)‪3 x  2z 4, 2x  z 12 Ÿ ( x, z ) (4, 4‬‬
‫ﺑﺮﺧﯽ از ﻧﻘﺎط راﺳﯽ ﻓﻮق ﺑﺮ ﻃﺒﻖ ﻗﺎﻋﺪه اراﺋﻪﺷﺪه در ﮔﺎم ‪ 4‬ﺑﺨﺶ ﺳﻮم ﻣﻤﮑﻦ اﺳﺖ ﺣﺬف‬
‫ﺷﻮﻧﺪ‪.‬‬
‫‪(2,1  H )  X (1, 2  H ) X‬‬
‫‪(4, 4  H )  X (3, 6  H ) X‬‬

‫ﺟﺪول )‪ :(1‬ﻣﻘﺎﯾﺴﻪ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺜﺎل ‪ 1‬ﺗﻮﺳﻂ روش ﺷﻤﺎرش ﺿﻤﻨﯽ ﺑﺎ دﯾﮕﺮ روشﻫﺎ در ﻣﺮاﺟﻊ‬

‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ روش‬


‫ﺗﺤﻠﯿﻠﯽ‬ ‫ﺷﻤﺎرش ﺿﻤﻨﯽ‬ ‫ﺷﺒﮑﻪ ﻋﺼﺒﯽ اراﺋﻪﺷﺪه در ﻣﺮﺟﻊ ]‪[13‬‬
‫‪( x* ,‬‬ ‫) *‪y‬‬ ‫*‪z‬‬ ‫‪( x* ,‬‬ ‫) *‪y‬‬ ‫*‪z‬‬ ‫) *‪( x* , y‬‬ ‫*‪z‬‬
‫)‪(4,4‬‬ ‫‪-12‬‬ ‫)‪(4,4‬‬ ‫‪-12‬‬ ‫)‪(3/9,4‬‬ ‫‪-12/1‬‬

‫ﺑﺎ اﺳﺘﻔﺎده از ﻗﻀﯿﻪ ‪ ،3‬ﻧﻘﻄﻪ )‪ (3،6‬ﻧﺸﺪﻧﯽ اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ ﻣﺴﺌﻠﻪ ﺗﻨﻬﺎ داراي ﻧﻘﺎط ﺷﺪﻧﯽ‬
‫راﺳﯽ زﯾﺮ اﺳﺖ‪:‬‬
‫)‪(1،2 )،(2،1 )،(4،4‬‬
‫ﺑﺎ ﻣﺤﺎﺳﺒﻪ ﺗﺎﺑﻊ ﻫﺪف در ﻧﻘﺎط ﺷﺪﻧﯽ ﺑﻪدﺳﺖآﻣﺪه و ﻣﻘﺎﯾﺴﻪ آنﻫﺎ ﻧﻘﻄﻪ ﺑﻬﯿﻨﻪ ﺗﻌﯿﯿﻦ ﻣﯽ‪-‬‬
‫ﺷﻮد ﮐﻪ ﻧﺘﺎﯾﺞ ﺣﺎﺻﻠﻪ در ﺟﺪول )‪ (1‬ﺧﻼﺻﻪﺷﺪه اﺳﺖ‪.‬‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪41‬‬

‫ﻣﺜﺎل ‪) :[13] 2‬روش ﺷﻤﺎرش ﺿﻤﻨﯽ(‪ :‬ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ زﯾﺮ را در ﻧﻈﺮ‬
‫ﺑﮕﯿﺮﯾﺪ‪.‬‬
‫‪max 4 x  y1  y2‬‬
‫‪x‬‬
‫‪s.t max x  3 y1‬‬
‫‪y‬‬

‫‪25‬‬
‫‪s.t‬‬ ‫‪x  y1  y2 d‬‬ ‫‪,‬‬
‫‪9‬‬
‫‪x  y1 d 2,‬‬
‫‪8‬‬
‫‪y1  y2 d ,‬‬
‫‪9‬‬
‫‪z t x,‬‬
‫‪x, y2 t‬‬
‫‪ ، z‬در اﯾﻦ ﺻﻮرت ﻣﺴﺌﻠﻪ ﻓﻮق ﺑﻪﺻﻮرت زﯾﺮ ﺗﺒﺪﯾﻞ ﻣﯽﺷﻮد‪:‬‬ ‫ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ ‪x  3 y1‬‬
‫ﺑﺮﺧﯽ از ﻧﻘﺎط ﭘﺎﯾﻪاي ﺷﺪﻧﯽ ﻣﺴﺌﻠﻪ اﺧﯿﺮ ﻋﺒﺎرتاﻧﺪ از‪:‬‬
‫‪8‬‬ ‫‪25‬‬
‫‪( , , ),‬‬
‫‪) ( , , ), (2, , 2),‬‬
‫‪9‬‬ ‫‪9‬‬
‫‪7‬‬ ‫‪17 21 20 17 8‬‬
‫) ‪(2, , 2), ( , , ), ( , ,‬‬
‫‪9‬‬ ‫‪9 27 9‬‬ ‫‪9 9‬‬
‫ﮐﻪ در آن‬

‫‪§ 8‬‬ ‫·‬


‫ ‬ ‫‪, ,  H  X, ¨ , ,  H ¸  X‬‬ ‫‪X,‬‬
‫‪© 9‬‬ ‫‪¹‬‬
‫‪§ 25‬‬ ‫·‬ ‫‪§ 7‬‬ ‫·‬
‫‪X, 2, , 2  H  X,‬‬
‫‪¨ , 9 ,  H ¸  X,‬‬ ‫‪X, ¨ 2, , 2  H ¸  X,‬‬
‫©‬ ‫‪¹‬‬ ‫‪© 9‬‬ ‫‪¹‬‬
‫‪§ 17 21 20‬‬ ‫·‬ ‫‪§ 17 8‬‬ ‫·‬
‫‪¨ 9 , 27 , 9  H ¸  X, ¨ 9 , 9 ,  H ¸  X‬‬
‫©‬ ‫‪¹‬‬ ‫©‬ ‫‪¹‬‬
‫ﺑﻨﺎ ﺑﺮ ﻗﻀﯿﻪ ‪ ،3‬ﻧﻘﺎﻃﯽ ﻣﺎﻧﻨﺪ‬
‫‪42‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫‪§ 25‬‬ ‫‪· § 17 21 20‬‬ ‫·‬


‫¸ ‪¨ , 9 ,  H ¸ , ¨ 9 , 27 , 9  H‬‬
‫©‬ ‫© ‪¹‬‬ ‫‪¹‬‬
‫از ﻣﺠﻤﻮﻋﻪ ﻧﻘﺎط ﺷﺪﻧﯽ راﺳﯽ ﺣﺬف ﻣﯽﺷﻮﻧﺪ‪ .‬ﺑﺎ ﻣﺤﺎﺳﺒﻪ ﺗﺎﺑﻊ ﻫﺪف ﻣﺴﺌﻠﻪ در ﻧﻘﺎط ﺷﺪﻧﯽ‬
‫‪§ 17 8‬‬ ‫·‬
‫و ﻣﻘﺎﯾﺴﻪ آنﻫﺎ‪ ،‬ﻧﻘﻄﻪ ﺑﻬﯿﻨﻪ ¸ ‪ ¨ , ,‬ﺑﻪ دﺳﺖ ﻣﯽآﯾﺪ‪ .‬ﻧﺘﺎﯾﺞ ﻣﺤﺎﺳﺒﺎﺗﯽ اﯾﻦ ﻣﺜﺎل در‬
‫‪© 9 9 ¹‬‬
‫ﺟﺪول )‪ (2‬آﻣﺪه اﺳﺖ‪.‬‬

‫ﺟﺪول ‪ :1‬ﻣﻘﺎﯾﺴﻪ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺜﺎل ‪ 2‬ﺗﻮﺳﻂ روش ﺷﻤﺎرش ﺿﻤﻨﯽ ﺑﺎ دﯾﮕﺮ روشﻫﺎ در ﻣﺮاﺟﻊ‬

‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ روش‬


‫ﺗﺤﻠﯿﻠﯽ‬ ‫ﺷﻤﺎرش ﺿﻤﻨﯽ‬ ‫ﺷﺒﮑﻪ ﻋﺼﺒﯽ اراﺋﻪﺷﺪه در ﻣﺮﺟﻊ ]‪[13‬‬
‫‪( x* ,‬‬ ‫‪y1* ,‬‬ ‫) *‪y2‬‬ ‫*‪z‬‬ ‫) *‪( x* , y1* , y2‬‬ ‫) *‪( x* , y1* , y2‬‬ ‫*‪z‬‬
‫*‪z‬‬
‫· ‪§ 17 8‬‬ ‫‪8/44‬‬ ‫· ‪§ 17 8‬‬ ‫)‪(1/88,0/89,0/004‬‬ ‫‪8/38‬‬
‫¸ ‪¨ 9 ,9,‬‬ ‫¸ ‪¨ 9 ,9,‬‬ ‫‪8/44‬‬
‫©‬ ‫‪¹‬‬ ‫©‬ ‫‪¹‬‬

‫رﻓﺘﺎر ﻣﺘﻐﯿﺮﻫﺎي ﻣﺜﺎل در ﺣﯿﻦ ﺣﻞ ﺑﺎ روش ﺷﻤﺎرش ﺿﻤﻨﯽ در ﺷﮑﻞ )‪ (1‬ﻧﻤﺎﯾﺶ دادهﺷﺪه‬
‫اﺳﺖ‪.‬‬

‫ﺷﮑﻞ ‪ :1‬رﻓﺘﺎر ﻣﺘﻐﯿﺮﻫﺎي ﻣﺜﺎل )‪ (2‬ﺑﺎ روش ﺷﻤﺎرش ﺿﻤﻨﯽ در ‪ 17‬ﻫﺰار ﺗﮑﺮار‬

‫ﻣﺜﺎل ‪) :[١٣] ٣‬روش دوﮔﺎن(‪ :‬ﻣﺴﺌﻠﻪ ﻣﺜﺎل ‪ 1‬را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ‪ .‬ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم را ﻣﯽ‪-‬‬
‫ﺗﻮان ﺑﻪﺻﻮرت زﯾﺮ ﻧﻮﺷﺖ‪:‬‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪43‬‬

‫‪min y‬‬
‫‪s.t y t 3  x,‬‬
‫‪y d 2 x,‬‬
‫‪y d 12  2 x,‬‬
‫‪ 2 y d 4  3 x,‬‬
‫‪yt .‬‬
‫زﯾﺮا ‪ x‬ﺑﺮاي ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم ﺛﺎﺑﺖ اﺳﺖ‪ .‬ﺣﺎل دوﮔﺎن ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم ﻓﻮق ﺑﻪﺻﻮرت زﯾﺮ‬
‫ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫‪max x  3 u1  2 x u2  12  2 x u3  4  3 x u4‬‬
‫‪s.t‬‬
‫‪u1  u2  u3  2u4 d 1,‬‬
‫‪u1 , u2 , u3 , u4 d .‬‬
‫ﺑﻨﺎ ﺑﻪ اﻟﮕﻮرﯾﺘﻢ دوﮔﺎن اراﺋﻪﺷﺪه ﻣﺴﺌﻠﻪ ﻓﻮق ﻣﻌﺎدل ﻣﺴﺌﻠﻪ زﯾﺮ اﺳﺖ‪:‬‬

‫‪min x  4y‬‬
‫‪s.t‬‬
‫‪x  y t 3,‬‬
‫‪2 x  y d ,‬‬
‫‪2 x  y d 12,‬‬
‫‪3 x  2y d 4,‬‬
‫ ‪y  x  3 u1  2 x u2‬‬
‫‪ 12  2 x u3  4  3 x u4‬‬ ‫‪,‬‬
‫‪u1  u2  u3  2u4 d 1,‬‬
‫‪x, y t , u1 , u2 , u3 , u4 d .‬‬
‫ﺑﻪﻣﻨﻈﻮر ﺣﻞ ﻣﺴﺌﻠﻪ اﺧﯿﺮ‪ ،‬اﻟﮕﻮرﯾﺘﻢ ژﻧﺘﯿﮏ ﺳﺎده ﺗﻮﺳﻂ ﻧﺮماﻓﺰار ﻣﻄﻠﺐ ‪ 7.1‬اﻋﻤﺎلﺷﺪه و‬
‫ﻧﺘﺎﯾﺞ ﺟﺪول )‪ (3‬ﺣﺎﺻﻞ ﻣﯽﮔﺮدد‪.‬‬
‫‪44‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫ﺟﺪول ‪ :3‬ﻣﻘﺎﯾﺴﻪ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺜﺎل ‪ 3‬ﺗﻮﺳﻂ روش دوﮔﺎن اراﺋﻪﺷﺪه ﺑﺎ دﯾﮕﺮ روشﻫﺎ در ﻣﺮاﺟﻊ‬

‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ روش‬


‫ﺗﺤﻠﯿﻠﯽ‬ ‫دوﮔﺎن‬ ‫ﺷﺒﮑﻪ ﻋﺼﺒﯽ اراﺋﻪﺷﺪه در ﻣﺮﺟﻊ ]‪[13‬‬
‫‪( x* ,‬‬ ‫) *‪y‬‬ ‫*‪z‬‬ ‫‪( x* ,‬‬ ‫) *‪y‬‬ ‫) *‪( x* , y‬‬ ‫*‪z‬‬
‫*‪z‬‬
‫)‪(4,4‬‬ ‫‪-12‬‬ ‫)‪(4/03,4/1‬‬ ‫‪-12/53‬‬ ‫)‪(4,3/9‬‬ ‫‪-12/6‬‬

‫ﻋﻤﻠﮑﺮد ﻣﺘﻐﯿﺮﻫﺎي ﻣﺜﺎل در ﺗﮑﺮارﻫﺎي ﻣﺨﺘﻠﻒ ﺗﻮﺳﻂ روش دوﮔﺎن در ﺷﮑﻞ )‪ (2‬آﻣﺪه اﺳﺖ‪.‬‬

‫ﺷﮑﻞ ‪ :2‬رﻓﺘﺎر ﻣﺘﻐﯿﺮﻫﺎي ﻣﺜﺎل )‪ (3‬ﺑﺎ روش دوﮔﺎن در ‪ 11‬ﻫﺰار ﺗﮑﺮار‬

‫ﻣﺜﺎل ‪) :[18] 4‬روش دوﮔﺎن(‪ :‬ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ زﯾﺮ را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ‪.‬‬

‫‪max  2x  11y‬‬
‫‪x‬‬
‫‪s.t max  x  3 y‬‬
‫‪y‬‬

‫‪s.t x  2 y d 4,‬‬
‫‪2x  y d 24,‬‬
‫‪3 x  4 y d 96,‬‬
‫‪x  7 y d 126,‬‬
‫‪ 4 x  5 y d 65,‬‬
‫‪x  4 y t 8,‬‬
‫‪x, y t .‬‬
‫ﺑﻨﺎ ﺑﻪ اﻟﮕﻮرﯾﺘﻢ اراﺋﻪﺷﺪه ﻣﺴﺌﻠﻪ ﻓﻮق ﻣﻌﺎدل ﻣﺴﺌﻠﻪ زﯾﺮ اﺳﺖ‪:‬‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪45‬‬

‫‪max  2x  11y‬‬
‫‪s.t‬‬
‫‪x  2y d 4,‬‬
‫‪2 x  y d 24,‬‬
‫‪3 x  4y d 96,‬‬
‫‪x  7 y d 126,‬‬
‫‪4x  5 y d 65,‬‬
‫‪x  4y t 8,‬‬
‫‪x  3 y  4  x u1  24  2 x u2‬‬
‫‪ 96  3 x u3  126  x u4  65  4x u5  x  8 u6‬‬ ‫‪,‬‬
‫‪2u1  u2  4u3  7u4  5u5  4u6 t 3,‬‬
‫‪x, y, u1 , u2 , u3 , u4 , u5 , u6 t 0.‬‬

‫ﺑﺎ ﺣﻞ ﻣﺴﺌﻠﻪ اﺧﯿﺮ ﻧﺘﺎﯾﺞ ﺟﺪول )‪ (4‬ﺣﺎﺻﻞ ﻣﯽﮔﺮدد‪ .‬رﻓﺘﺎر ﻣﺘﻐﯿﺮﻫﺎي ﻣﺜﺎل در ﺣﯿﻦ ﺣﻞ‬
‫ﻣﺴﺌﻠﻪ ﺑﺎ روش دوﮔﺎن در ﺷﮑﻞ )‪ (3‬ﻧﺸﺎن دادهﺷﺪه اﺳﺖ‪.‬‬
‫ﺟﺪول ‪ :4‬ﻣﻘﺎﯾﺴﻪ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺜﺎل ‪ 4‬ﺗﻮﺳﻂ روش دوﮔﺎن اراﺋﻪﺷﺪه ﺑﺎ دﯾﮕﺮ روشﻫﺎ در ﻣﺮاﺟﻊ‬

‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ روش‬


‫ﺗﺤﻠﯿﻠﯽ‬ ‫دوﮔﺎن‬ ‫اراﺋﻪﺷﺪه در ﻣﺮﺟﻊ ]‪[18‬‬
‫‪( x* ,‬‬ ‫) *‪y‬‬ ‫*‪z‬‬ ‫‪( x* ,‬‬ ‫) *‪y‬‬ ‫) *‪( x* , y‬‬ ‫*‪z‬‬
‫*‪z‬‬
‫)‪(17/11,11‬‬ ‫‪86/8‬‬ ‫)‪(17/1,11‬‬ ‫‪86/8‬‬ ‫)‪(17/4,10/9‬‬ ‫‪85/08‬‬

‫ﺷﮑﻞ ‪ :3‬رﻓﺘﺎر ﻣﺘﻐﯿﺮﻫﺎي ﻣﺜﺎل )‪ (4‬ﺑﺎ روش دوﮔﺎن در ‪ 17‬ﻫﺰار ﺗﮑﺮار‬


‫‪46‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫ﻣﺜﺎل ‪) :[19] 5‬ﺣﻞ ﺑﺎ روش دوﮔﺎن(‪ :‬در اﯾﻦ ﻣﺜﺎل ﻣﺪل اﯾﺠﺎدﺷﺪه ﺑﺎ ﯾﮏ ﻣﺴﺌﻠﻪ ﮐﻪ داراي‬
‫ﭼﻬﺎر ﮔﺮه و ﻫﻔﺖ ﮐﻤﺎن ﻣﯽﺑﺎﺷﺪ )ﺷﮑﻞ ‪ (4‬ﺑﺮرﺳﯽ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬

‫ﺷﮑﻞ ‪ :4‬ﮔﺮاف ﻣﺴﺌﻠﻪ ﻧﻤﻮﻧﻪ ﺷﺒﯿﻪﺳﺎزي ﺑﺨﺸﯽ از ﺗﺮاﻓﯿﮏ ﺗﻬﺮان‬

‫) ‪Max 50( x14  x12  x24  x13  x34  x23  x23‬‬


‫‪s.t‬‬
‫‪NT‬‬ ‫‪x14  x12  x13‬‬
‫‪r d N T d 20‬‬
‫‪x14  x24  x34‬‬ ‫‪1‬‬
‫‪Max 250  0 / 18 x14  0 / 34 x12  0 / 08 x12  0 / 2 x24‬‬
‫‪ 0 / 75 x34  0 / 08 x23  0 / 1x23‬‬
‫‪ x14  x12  x13 1,‬‬
‫‪x 32  x12  x 24  x 23‬‬ ‫‪,‬‬
‫‪x13  x 23  x 34  x 32‬‬ ‫‪,‬‬
‫‪x14  x24  x34‬‬ ‫‪1,‬‬
‫‪x14 , x12 , x 24 , x13 ,x 34 ,x 23 ,x 32 t .‬‬
‫ﺑﻨﺎ ﺑﻪ اﻟﮕﻮرﯾﺘﻢ دوﮔﺎن اراﺋﻪﺷﺪه‪ ،‬ﻣﺴﺌﻠﻪ ﺗﺮﮐﯿﺒﯽ زﯾﺮ ﺑﺎ ﻣﺴﺌﻠﻪ دوﺳﻄﺤﯽ دادهﺷﺪه ﻣﻌﺎدل‬
‫اﺳﺖ‪.‬‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪47‬‬

‫) ‪Max 50( x14  x12  x24  x13  x34  x23  x23‬‬


‫‪s.t.‬‬
‫‪NT‬‬ ‫‪x14  x12  x13‬‬
‫‪d N T d 220‬‬
‫‪250  0 / 18 x14  0 / 34 x12  0 / 08 x12  0 / 2x24‬‬
‫‪ 0 / 75 x34  0 / 08 x23  0 / 1  (1  x14  x13 ) u1  ( x32  x24  x23 ) u 2‬‬ ‫‪,‬‬
‫‪u2  u1 0 / 34.‬‬
‫ﺑﺎ ﺣﻞ ﻣﺴﺌﻠﻪ اﺧﯿﺮ ﻧﺘﺎﯾﺞ ﺟﺪول )‪ (5‬ﺣﺎﺻﻞ ﻣﯽﮔﺮدد‪.‬‬

‫ﺟﺪول ‪ :5‬ﻣﻘﺎﯾﺴﻪ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺜﺎل ‪ 5‬ﺗﻮﺳﻂ روش دوﮔﺎن اراﺋﻪﺷﺪه ﺑﺎ دﯾﮕﺮ روشﻫﺎ در ﻣﺮاﺟﻊ‬
‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ روش‬
‫دوﮔﺎن‬ ‫اراﺋﻪﺷﺪه در ﻣﺮﺟﻊ ]‪[20‬‬

‫ *‪ x12* , x13* , x14* , x23* , x24* , x32* , x34‬‬ ‫*‪z‬‬ ‫ *‪ x12* , x13* , x14* , x23* , x24* , x32* , x34‬‬ ‫*‪z‬‬

‫)‪(0/59,0/34,0/07,0,1,0/4,0‬‬ ‫‪225‬‬ ‫)‪(0/99,0/72,0,0,1,0/72,0‬‬ ‫‪210‬‬

‫ﺿﻤﻨﺎً رﻓﺘﺎر ﻣﺘﻐﯿﺮﻫﺎي ﻣﺴﺌﻠﻪ ﺑﺎ روش دوﮔﺎن در ﺷﮑﻞ )‪ (5‬ﻧﻤﺎﯾﺶ دادهﺷﺪه اﺳﺖ‪.‬‬

‫ﺷﮑﻞ ‪ :5‬رﻓﺘﺎر ﻣﺘﻐﯿﺮﻫﺎي ﻣﺜﺎل )‪ (5‬ﺑﺎ روش دوﮔﺎن در ‪ 11‬ﻫﺰار ﺗﮑﺮار‬

‫اﯾﻦ ﻣﺜﺎل ﻣﺪﻟﯽ از ﺗﺮاﻓﯿﮏ ﺗﻬﺮان ﺑﻮده و ﺗﻤﺎﻣﯽ ﻓﺎﮐﺘﻮرﻫﺎ ﻣﺎﻧﻨﺪ ﻇﺮﻓﯿﺖ ﻫﺮ ﮐﻤﺎن‪ ،‬ﻃﻮل‬
‫‪48‬‬ ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش ‪...‬‬

‫ﮐﻤﺎنﻫﺎ‪ ،‬ﻓﺎﺻﻠﻪ و زﻣﺎن ﺑﯿﻦ دو ﮔﺮه و ﺟﺰﺋﯿﺎت ﮐﺎﻣﻞ آن در ﻣﺮﺟﻊ ]‪ [19‬آﻣﺪه اﺳﺖ‪ .‬درﻧﻬﺎﯾﺖ‬
‫ﺑﻪﻣﻨﻈﻮر ﻧﺸﺎن دادن ﮐﺎراﯾﯽ روشﻫﺎي اراﺋﻪﺷﺪه‪ ،‬ﻣﺜﺎلﻫﺎي ﺑﯿﺸﺘﺮي ﺣﻞﺷﺪه و ﻧﺘﯿﺠﻪ‬
‫ﻣﺤﺎﺳﺒﺎﺗﯽ آنﻫﺎ و ﻧﯿﺰ ﻣﻘﺎﯾﺴﻪ ﺑﺎ دﯾﮕﺮ روشﻫﺎ در ﺟﺪاول )‪ (6‬و )‪ (7‬آﻣﺪه اﺳﺖ‪ .‬ﻫﻤﺎنﻃﻮر‬
‫ﮐﻪ از ﺟﺪولﻫﺎ ﻣﻼﺣﻈﻪ ﻣﯽﮔﺮدد‪ ،‬در ﺗﻤﺎﻣﯽ ﻣﺜﺎلﻫﺎ ﻧﺘﺎﯾﺞ ﺣﺎﺻﻠﻪ از روشﻫﺎي اراﺋﻪﺷﺪه ﺑﻬﺘﺮ‬
‫از ﻧﺘﺎﯾﺞ در ﻣﺮاﺟﻊ اﺳﺖ‪.‬‬

‫ﺟﺪول ‪ :6‬ﻣﻘﺎﯾﺴﻪ ﺟﻮابﻫﺎي ﺑﻬﯿﻨﻪ ﻣﺜﺎلﻫﺎي ﻣﺨﺘﻠﻒ ﺗﻮﺳﻂ روش دوﮔﺎن اراﺋﻪﺷﺪه ﺑﺎ دﯾﮕﺮ روشﻫﺎ‬
‫در ﻣﺮاﺟﻊ‬
‫ﺟﻮاب ﺑﻬﯿﻨﻪ‬ ‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ روش‬ ‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ دﯾﮕﺮ روش‪-‬‬ ‫ﻣﺜﺎلﻫﺎ‬
‫اراﺋﻪﺷﺪه‬ ‫ﻫﺎ در ﻣﺮاﺟﻊ‬
‫) *‪( x* , y‬‬ ‫) *‪( x* , y‬‬ ‫) *‪( x* , y‬‬
‫· ‪§ 17 8‬‬
‫¸ ‪¨ 9 ,9,‬‬ ‫)‪(١/٨٨٩,٠/٨٨٨,٠‬‬ ‫)‪(١/٨٨,٠/٨٩,٠/٠٠۴‬‬ ‫ﻣﺜﺎل ‪[21] 5‬‬
‫©‬ ‫‪¹‬‬
‫)‪(٠,٠‬‬ ‫)‪(٠,٠‬‬ ‫)‪(٠,٠‬‬ ‫ﻣﺜﺎل ‪[10] 6‬‬
‫)‪(١,٠‬‬ ‫)‪(١,٠‬‬ ‫)‪(١,٠‬‬ ‫ﻣﺜﺎل ‪[5] 7‬‬
‫)‪(٠,٠/٧۵,٠,٠/۵,٠‬‬ ‫)‪(٠٠٠١,٠/٧٣,٠,٠/۵۴,٠‬‬ ‫)‪(٠,٠/٧۵,٠,٠/۵,٠‬‬ ‫ﻣﺜﺎل ‪[22] 8‬‬

‫ﺟﺪول ‪ :7‬ﻣﻘﺎﯾﺴﻪ ﺟﻮابﻫﺎي ﺑﻬﯿﻨﻪ ﻣﺜﺎلﻫﺎي ﻣﺨﺘﻠﻒ ﺗﻮﺳﻂ روش ﺷﻤﺎرش ﺿﻤﻨﯽ ﺑﺎ دﯾﮕﺮ روشﻫﺎ‬
‫در ﻣﺮاﺟﻊ‬

‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ روش اراﺋﻪﺷﺪه‬ ‫ﺟﻮاب ﺑﻬﯿﻨﻪ ﺗﻮﺳﻂ دﯾﮕﺮ روشﻫﺎ در ﻣﺮاﺟﻊ‬ ‫ﻣﺜﺎلﻫﺎ‬
‫) *‪( x* , y‬‬ ‫) *‪( x* , y‬‬ ‫*‪z‬‬
‫*‪z‬‬

‫‪(1/44,1/33,0,0/24,1/4,0/88) -52/73‬‬ ‫)‪(1/32,1/28,0,0/33,1/25,0/92‬‬ ‫ﻣﺜﺎل ‪ 9‬ﻣﯿﻨﯿﻤﻢﺳﺎزي ]‪-51/31 [23‬‬

‫)‪(2,0,0,0‬‬ ‫‪10‬‬ ‫)‪(2,0,0,0‬‬ ‫‪10‬‬ ‫ﻣﺜﺎل ‪ 10‬ﻣﺎﮐﺰﯾﻤﻢﺳﺎزي ]‪[7‬‬

‫‪0/4),0/6,0,0/95,(0/05‬‬ ‫‪29/8‬‬ ‫)‪(0,0/9,0,0/6,0/4‬‬ ‫ﻣﺜﺎل ‪ 11‬ﻣﺎﮐﺰﯾﻤﻢﺳﺎزي ]‪29/2 [24‬‬

‫)‪(17/1,11‬‬ ‫‪86/06‬‬ ‫)‪(17/45,10/90‬‬ ‫‪85/08‬‬ ‫ﻣﺜﺎل ‪ 1‬ﻣﺎﮐﺰﯾﻤﻢﺳﺎزي ]‪[6‬‬

‫در ﺟﺪول )‪ (8‬ﻣﻘﺎﯾﺴﻪاي ﺑﯿﻦ ﺟﻮاب ﺑﻬﯿﻨﻪ ﺣﺎﺻﻞ و ﺗﻌﺪاد ﺗﮑﺮارﻫﺎي ﻻزم ﺑﺮاي رﺳﯿﺪن ﺑﻪ‬
‫ﺟﻮاب ﺗﻮﺳﻂ دو روش اراﺋﻪﺷﺪه ﺻﻮرت ﮔﺮﻓﺘﻪ اﺳﺖ ﮐﻪ ﺑﺮﺗﺮي ﻧﺴﺒﯽ روش ﺷﻤﺎرش ﺿﻤﻨﯽ‬
‫را ﻧﺸﺎن ﻣﯽدﻫﺪ‪ .‬درﻣﺠﻤﻮع اﮔﺮﭼﻪ روش ﺷﻤﺎرش ﺿﻤﻨﯽ ﺑﻬﺘﺮ ﺑﻪ ﻧﻈﺮ ﻣﯽرﺳﺪ اﻣﺎ ﺑﺮاي ﺣﻞ‬
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ ‫‪49‬‬

‫ﻣﺴﺎﺋﻞ ﺑﺎ اﺑﻌﺎد ﺑﺰرگ ﻣﻨﺎﺳﺐ ﻧﯿﺴﺖ وﻟﯽ روش دوﮔﺎن ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺎ اﺑﻌﺎد ﺑﺰرگ ﻧﯿﺰ‬
‫ﺟﻮاب ﻗﺎﺑﻞﻗﺒﻮل ﺑﻪ دﺳﺖ ﻣﯽدﻫﺪ‪.‬‬

‫ﺟﺪول ‪ :8‬ﻣﻘﺎﯾﺴﻪ زﻣﺎن رﺳﯿﺪن ﺑﻪ ﺟﻮاب ﺑﻬﯿﻨﻪي ﻣﺜﺎل‪) 3‬ﺑﺮﺣﺴﺐ ﺛﺎﻧﯿﻪ( ﺗﻮﺳﻂ روش‬
‫دوﮔﺎن و روش ﺷﺒﮑﻪ ﻋﺼﺒﯽ در ﻣﺮﺟﻊ ]‪[10‬‬
‫زﻣﺎن ﻻزم ﺑﺮ ﺛﺎﻧﯿﻪ در‬
‫روش دوﮔﺎن اراﺋﻪﺷﺪه‬ ‫ﻣﺮﺟﻊ ]‪ [10‬ﺑﺎ ‪H 0 / 0001‬‬ ‫ﻣﺮﺟﻊ ]‪ [10‬ﺑﺎ ‪H 0 / 001‬‬ ‫ﻣﺜﺎل‬
‫‪0/26‬‬ ‫‪2/21‬‬ ‫‪1/15‬‬ ‫ﻣﺜﺎل ‪[13] 3‬‬

‫‪ -6‬ﻧﺘﯿﺠﻪﮔﯿﺮي‬
‫در اﯾﻦ ﻣﻘﺎﻟﻪ دو اﻟﮕﻮرﯾﺘﻢ ﺑﺮاي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ اراﺋﻪ ﺷﺪ ﮐﻪ در‬
‫اﻟﮕﻮرﯾﺘﻢ اول ﺗﻮﺳﻂ ﻣﺤﺪودﯾﺖﻫﺎي ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم و ﻧﯿﺰ دوﮔﺎن آن ﺗﺎﺑﻊ ﻫﺪف ﺳﻄﺢ دوم‬
‫ﻣﺴﺌﻠﻪ ﺑﻪ ﻣﺤﺪودﯾﺘﯽ ﺑﺮاي ﺳﻄﺢ اول ﺗﺒﺪﯾﻞﺷﺪه و درﻧﺘﯿﺠﻪ ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﻣﯽﮔﺮدد‪.‬‬
‫در اﻟﮕﻮرﯾﺘﻢ دوم ﺗﺎﺑﻊ ﻫﺪف ﻣﺴﺌﻠﻪ ﺳﻄﺢ دوم در ﻗﺎﻟﺐ ﯾﮏ ﻣﺘﻐﯿﺮ ﺟﺪﯾﺪ ﺑﻪ ﻣﺴﺌﻠﻪ اﺿﺎﻓﻪ‬
‫ﻣﯽﮔﺮدد و ﺑﻪاﯾﻦﺗﺮﺗﯿﺐ ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﻣﯽﺷﻮد‪ .‬از ﻣﺰاﯾﺎي اﯾﻦ روش ﺧﻄﯽ ﻣﺎﻧﺪن‬
‫ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ ﺣﺎﺻﻞ اﺳﺖ‪ .‬ﺑﻪﻋﻨﻮان ﭘﯿﺸﻨﻬﺎد در ﮐﺎرﻫﺎي آﯾﻨﺪه ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨﮑﻪ‬
‫اﻟﮕﻮرﯾﺘﻢﻫﺎي اراﺋﻪﺷﺪه‪ ،‬ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﺧﻄﯽ دوﺳﻄﺤﯽ را ﺑﻪ ﯾﮏ ﻣﺴﺌﻠﻪ ﺗﮏ ﺳﻄﺤﯽ‬
‫ﺧﻄﯽ و ﯾﺎ ﻣﺴﺌﻠﻪاي ﮐﻪ ﺗﻨﻬﺎ ﯾﮏ ﻣﺤﺪودﯾﺖ ﻏﯿﺮﺧﻄﯽ دارد ﺗﺒﺪﯾﻞ ﻣﯽﮐﻨﻨﺪ‪ ،‬ﺑﺮاي ﺣﻞ‬
‫ﻣﺴﺌﻠﻪ ﺣﺎﺻﻠﻪ ﻣﯽﺗﻮان ﺑﺎ ﺣﺬف اﯾﻦ ﻣﺤﺪودﯾﺖ‪ ،‬ﻣﺴﺌﻠﻪ را ﮐﺎﻣﻼً ﺧﻄﯽ ﻧﻤﻮده و ﺑﻪاﯾﻦﺗﺮﺗﯿﺐ‬
‫ﯾﮏ ﻓﺮم آزادﺷﺪه ﺧﻄﯽ ﺑﺮاي ﻣﺴﺌﻠﻪ اﯾﺠﺎد ﮐﺮد و ﺑﺎ ﺣﻞ آن ﺗﻮﺳﻂ اﻟﮕﻮرﯾﺘﻢﻫﺎي ﺧﻄﯽ ﻣﺜﻼً‬
‫اﻟﮕﻮرﯾﺘﻢ ﺳﯿﻤﭙﻠﮑﺲ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻓﺮم آزادﺷﺪه ﻣﺬﮐﻮر را ﺑﻪ دﺳﺖ آورده ﮐﻪ ﯾﮏ ﺟﻮاب‬
‫ﻧﺰدﯾﮏ ﺑﻪ ﺟﻮاب ﺑﻬﯿﻨﻪ ﻣﺴﺌﻠﻪ دوﺳﻄﺤﯽ اﺳﺖ‪ .‬ﻫﻤﭽﻨﯿﻦ ﻣﯽﺗﻮان اﻟﮕﻮرﯾﺘﻢﻫﺎي اراﺋﻪﺷﺪه را‬
‫ﺑﺮاي ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي ﻏﯿﺮﺧﻄﯽ دوﺳﻄﺤﯽ ﻣﺤﺪب ﺑﮑﺎر ﺑﺮد‪ .‬زﯾﺮا اﺳﺘﻔﺎده از روشﻫﺎي‬
‫دﯾﮕﺮ ﺑﺮاي ﺗﺒﺪﯾﻞ ﻣﺴﺌﻠﻪ ﻏﯿﺮﺧﻄﯽ دوﺳﻄﺤﯽ ﻣﺤﺪب ﺑﻪ ﺗﮏ ﺳﻄﺤﯽ‪ ،‬ﻣﺴﺌﻠﻪ را ﻏﯿﺮ ﻣﺤﺪب‬
‫ﻣﯽﮐﻨﺪ‪ .‬اﻣﺎ اﺳﺘﻔﺎده از اﯾﻦ اﻟﮕﻮرﯾﺘﻢﻫﺎ ﻣﻤﮑﻦ اﺳﺖ ﻣﺤﺪب ﺑﻮدن را ﺣﻔﻆ ﮐﻨﺪ و اﻣﮑﺎن‬
‫اﺳﺘﻔﺎده از اﻟﮕﻮرﯾﺘﻢﻫﺎي ﺣﻞ ﻣﺴﺎﺋﻞ ﻏﯿﺮﺧﻄﯽ ﻣﺤﺪب را ﻓﺮاﻫﻢ آورد‪.‬‬
50 ... ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش‬

‫ﻣﺮاﺟﻊ‬
[1] Bard, J.F. (1991). Some properties of the bi-level linear
programming, Journal of Optimization Theory and Applications, 68,
371–378.
[2] Mathieu, R., Pittard, L. and Anandalingam, G. (1994). Genetic
algorithm based approach to bi-level Linear Programming,
Operations Research, 28, 1–21.
[3] L. Vicente, L., Savard, G. and Judice, J. (1994). Descent approaches
for quadratic bi-level programming, Journal of Optimization Theory
and Applications, 81, 379–399.
[4] Wang, G., Jiang, B. and Zhu, K. (2010). Global convergent algorithm
for the bi-level linear fractional-linear programming based on
modified convex simplex method, Journal of Systems Engineering
and Electronics, 21, 239–243.
[5] Yibing, Lv., Tiesong, Hu., Guangmin, Wang. and Zhongping, Wan
(2007). A penalty function method Based on Kuhn–Tucker
condition for solving linear bi-level programming, Applied
Mathematics and Computation, 188, 808–813.
[6] Zhongping, W. and Guangmin, W. (2011). A Dual-Relax Penalty
Function Approach for Solving Non- Linear Bi-Level Programming
with Linear Lower Level Problem, Acta Mathematica Scientia, 31,
652–660.
[7] Allende, G. B. and Still, G. (2012). Solving bi-level programs with
the KKT-approach, Springer and Mathematical Programming
Society, 131, 37–48.
[8] Dempe, S. and Zemkoho, A.B. (2012). On the Karush–Kuhn–Tucker
reformulation of the bi-level optimization problem, Nonlinear
Analysis, 75, 1202–1218.
[9] Arora, S.R. and Gupta, R. (2007). Interactive fuzzy goal
programming approach for bi-level programming problem,
European Journal of Operational Research, 176, 1151–1166.
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ 51

[10] Pramanik, S. and Ro, T.K. (2009). Fuzzy goal programming


approach to multilevel programming Problems, European Journal of
Operational Research, 194, 368–376.
[11] Masatoshi, S. and Takeshi.M. (2012). Stackelberg solutions for
random fuzzy two-level linear programming through possibility-
based probability model, Expert Systems with Applications, 39,
10898–10903.
[12] Wang, G.Z., Wan, X. and Wang, Y.Lv (2008). Genetic algorithm
based on simplex method for solving Linear-quadratic bi-level
programming problem, Computers and Mathematics with
Applications, 56, 2550–2555.
[13] Hu, T. X., Guo, X. and Fu, Y. Lv. (2010). A neural network
approach for solving linear bi-level programming problem,
Knowledge-Based Systems, 23, 239–242.
[14] Baran Pal, B., Chakraborti, D. and Biswas, P. (2010). A Genetic
Algorithm Approach to Fuzzy Quadratic Bi-level Programming,
Second International Conference on Computing, Communication
and Networking Technologies.
[15] Wan, Z.G. and Wang, B. Sun. ( 2012). A hybrid intelligent
algorithm by combining particle Swarm Optimization with chaos
searching technique for solving nonlinear bi-level programming
Problems, Swarm and Evolutionary Computation.
[16] Yan, J., Xuyong, L., Chongchao.H. and Xianing, W. (2013).
Application of particle swarm optimization based on CHKS
smoothing function for solving nonlinear bi-level programming
problem, Applied Mathematics and Computation, 219, 4332–4339.
[17] Bazaraa, M.S., Jarvis, J.J. and Sherali, H.D. (2011). Linear
Programming and Network Flows, Theory and Algorithm, New
York.
[18] Kuen-Ming Lana, and Ue-Pyng Wena. (2007). A hybrid neural
network approach to bilevel programming problems, Applied
Mathematics Letters, 20, 880–884.
52 ... ‫ﺗﻮﺳﻌﻪ روشﻫﺎي ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮﻧﺎﻣﻪرﯾﺰي دوﺳﻄﺤﯽ ﺧﻄﯽ ﺑﺮ اﺳﺎس روش‬

‫ اراﺋﻪ ﻣﺪل ﺳﻪ‬،‫( رﺳﺎﻟﻪ دﮐﺘﺮي ﻣﻬﻨﺪﺳﯽ ﺻﻨﺎﯾﻊ – ﺻﻨﺎﯾﻊ‬1391) ‫[ ﻏﻼﻣﺮﺿﺎ ﻣﺮوﺟﯽ‬19 ]
،‫ﺳﻄﺤﯽ ﻗﯿﻤﺖﮔﺬاري و ﺗﻌﯿﯿﻦ ﺗﺮاﮐﻢ ﺑﺎر ﺗﺮاﻓﯿﮑﯽ ﺑﺮاي ﻣﺤﺪودهﻫﺎي ﻃﺮح ﺗﺮاﻓﯿﮏ‬
.‫ داﻧﺸﮕﺎه ﺗﺮﺑﯿﺖ ﻣﺪرس‬،‫ دﮐﺘﺮ ﻋﯿﺴﯽ ﻧﺨﻌﯽ ﮐﻤﺎل آﺑﺎدي‬:‫اﺳﺘﺎد راﻫﻨﻤﺎ‬
[20] Hejazia, S.R., Memariania, A., Jahanshahloo, G. and Sepehria,
M.M. (2002). Linear bi-level programming solution by genetic
algorithm, Computers and Operations Research, 29, 1913–1925.
[21] Zhongping, W. and Guangmin, W. (2008). An interactive fuzzy
decision making method for a class of bi-level programming, Fifth
International Conference on Fuzzy Systems and Knowledge
Discovery.
[22] Kuen-Ming, L., Ue-Pyng.W. and Hsu-Shih, S. (2007). A hybrid
neural network approach to bi-level programming problems, Applied
Mathematics Letters, 20, 880–884.
[23] Yibing, Lv. and Tiesong, Hu. (2010). A neural network approach for
solving nonlinear bi-level programming problem, Computers and
Mathematics with Applications, 55, 2823–2829.
[24] Dempe, S. and Dutta, Is bi-level programming a special case of a
mathematical program with J. h complementarity constraints?
Springer and Mathematical Programming Society.
‫اﻗﺒﺎل ﺣﺴﯿﻨﯽ و ﻫﻤﮑﺎران‬ 53

Enhancing the Solution Method of Linear Bi – level


Programming Problem Based on Enumeration
Method and Dual Method

Eghbal Hosseini*, Isa Nakhai Kamalabadi**, Mohammad Fathi***


*
Payamenur University of Tehran, Department of Mathematics, Tehran,
Iran
**
Department of Industrial Engineering, University of Kurdistan,
Sanandaj. Iran
***
Department of Power Engineering, University of Kurdistan Sanandaj.
Iran

Abstract
The bi-level programming problem (BLPP), have received much interest
from researchers because of their application in several areas such as
economic, traffic, transportation and so on. There are several known
algorithms to solve BLPP as an NP-hard problem. Almost all proposed
algorithms in references have been used the Karush-Kuhn–Tucker to
convert the BLPP into the single level problem which the obtained
problem is complicated. In this paper, we attempt to develop two
effective approaches, one based on enumeration method and the other
based on duality characteristic for solving the linear BLPP. In these
approaches, the BLPP is solved without using the Karush-Kuhn–Tucker
conditions. The presented approaches achieve an efficient and feasible
solution in an appropriate time, which has been evaluated by comparing
to references and test problems.
Keywords: Bi-level programming problem, KKT conditions,
Enumeration method, Dual problem.
Mathematics Subject Classification (2010): 90B08, 90C04.

You might also like