Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Казо диплом — копия.docx
Скачиваний:
41
Добавлен:
15.02.2016
Размер:
573.08 Кб
Скачать

2.3 Потенциялдар әдісі.

Теорема – 1.

Транспорт есебінің шешуі оптималды болса, онда оған

, егер және

, егер

Шарттарын қанағаттандыратын, барлығы m + n және сандарының жүйесі сәйкес. Сандар және тиісінше ұсынушылар және тұтынушылар потенциалдары деп атайды.

Дәлелдеуі.

,

Транспорт есебін сызықық программалаудың қайсыбір бастапқы есебіне қосалқы деп қарастырсақ, онда бастапқы есеп

түрінде беріледі.

- қосалқы есептің оптималды шешуі, сондықтан

бастапқы есептің шешуі, қосалқылық теоремасына сәйкес немесе

.

Белгілі теоремаға сүйенсек, қосалқы есептің оптималды шешуінің оң таңбалы компоненттеріне сәйкес бастапқы есеп шектеулері қатаң түрде теңдеулер түрінде, ал нөлдік компоненттеріне сәйкес шектеулері теңсіздіктер түрінде өрнектеледі, яғни

Сонымен, бастапқы тірек шешімі оптималды болу үшін, келесі шарттардың орындалуы қажетті:

а) үлесті клетка үшін потенциалдар қосындысы тасымалдау бағасына тең, яғни

( * )

б) үлессіз клетка үшін потенциалдар қосындысы тасымалдау бағасынан аспауы қажет, яғни

( ** )

Кемінде бір үлессіз клетка үшін (**) шарты орындалса, шешім оптималды емес, осы клеткаға тиісті векторды базиске енгізу, яғни клеткаға үлес бөлу арқылы шешімді жақсарта түсуге болады.

Потенциялдар жүйесін құрып, шешімді оптималдылыққа тексереді. Әдіс алгоритімын мысалмен қарастырайық. Транспорт есебінің кестесіне потенциялдар жазылатын бір жол және бір баған қосылады.

Потенциалдар жүйесін құрып көрейік.

Құнарлы тірек шешімінің бос емес (үлесті) клеткаларына белгісіздерінің саны m+n сызықты тәуелсіз m+n – 1 теңдеулер жүйесі

( * )

құрылады. Теңдеулерінің саны белгісіздерінен біреуі кем бұл анықталмаған жүйенің бір белгісізіне, әдетте - ге нөл мәнін беріп, қалған потенциалдарды бір мәнді етіп анықтайды.

потенциалы белгілі десек, онда ;

егер потенциалы белгілі болса, онда .

Сонымен, белгісіз потенциал үлесті клетканың шамасынан белгілі потенциалды шегерумен табылады.

Кесте 1

Тұтынушылар 

 

 

  

 

 

Ұсынушылар

 

 

=2

=4

=11

=15

Қорлар

 

 =0

2

120

4

-

80

7

4

9

+

6

 200

 

=-3

 

5

1

+

0

8

240

12

-

30

270 

 

 =-12

11

 6

4

3

130

 130

Сұраныстар

120

80

240

160

Кесте 1 – де тірек шешімі құнарсыз, бір үлесті клетка жетіспейді (m+n-1=6, үлес саны 5 ). Сондықтан, үлесті клеткаларының саны ең көп жолды,

немесе жолын таңдаймыз да, =0 ( немесе =0) деп аламыз. =0 мәніне байланысты мәндері табылады:

  жолы, бағандары арқылы басқа потенциалдарды табу мүмкін емес. Бұл үзіліс бастапқы тірек шешімінің құнарсыздығынан. Құнарсыздықты нөлді үлестіріп жоюға болады. Нөл бөлінетін клеткалар жалған үлесті деп аталады.

Жалған үлесті клетканы жолдарының әйтеуір бір бос клеткасына нөлді бөліп, ендірміз. Сызықтық функцияны минимизмциялау есебі қарастырылып отырғандықтан, жалған үлесті етіп, тасымал құны ең кіші клетканы алу тиімді.

жолдарындағы бос клеткалардың орналасқан клеткасына нөлді жазып, үлесті етеміз. Бұл клетка потенциалын потенциалымен, клеткасы потенциалын потенциалымен, клеткасы потенциалын потенциалымен, клеткасы потенциалын потенциалымен байланыстырады.

Потенциалдар жүйесі құрылды. Әрбір үлесті клеткада

( * )

шарты орындалса, жүйенің дұрыстығы; кері жағдайда жүйені қайта құру немесе ( * ) шарты орындалатындай етіп өзгерту керек.

Бос емес ( үлессіз ) клеткаларда оптималдық шартының орындалуын тексеру:

Жолдардың әрбір үлессіз клеткасында ( ** ) шартының орындалуын тексереміз, яғни қиылысында бос клетка жататын жол мен баған потенциалдарын қосып, осы клеткадағы тасымалдау құнымен салыстырамыз.

Барлық үлессіз клеткаларда теңсіздігі орындалса, шешім оптимады. Егер кейбір клеткаларда болса, онда шешім оптималды емес, бұндай клеткаларда айырымын сол жақ төменгі бөлігіне шығарып жазамыз.

Кесте 1 – де үлессіз клеткаларды аламыз:

жолында :

жолында ;

жолында

, клеткаларында отималдық шарты орындалмайды, айырымдарды клетканың сол жақ төменгі бөліктеріне жазып қоямыз.

Сызықтық программалаудың транспорт есебі сызықты функцияның min мәнін табуды талап еткендіктен оның алгоритмі де min есебінің симплекс әдісінің жалпы принципімен орындалады.

Үлесті клеткаларды базистік векторларға балап, үлессіздерін-қалған векторларға баласақ, сызықтық программалаудың жалпы есебінде базиске мәніне сәйкес келетін вектор енгізетіндіктен, транспорт есебінде мәні потенциалдар қосындысына баланып, үлес жіберілетін клетка ретінде мәніне сәйкес клетка таңдалады. Қарастырылып отырған мысалда мәні тиісті клеткасын үлесті ету қажет. Ол үшін қанша жүк үлесі бөлінетіндігін алдынала анықтаймыз.

Цикл құру және айналымдық жүкті анықтау.

Үлесті ету қажет клетканы “+” таңбасымен белгілеп, бос емес клеткалар қатарына қосамыз. Енді кестедегі үлесті клеткалар саны m+n болғандықтан, бір төбесінен басқа төбелері түгел үлесті клеткалардан тұратын цикл құрылады. Циклды тауып “+” таңбалы клеткасынан кейінгі төбелерін кезекпен “–” және “+” таңбаларымен белгілеп шығамыз да, мәнін анықтаймыз. Мұндағы -лер циклдың “–” белгілі төбелеріндегі үлестер, - цикл бойынша айналымға түсетін үлес шамасын анықтайды. Енді - мәнін “+” таңбасымен белгіленген үлесті ету қажет клеткасына жазамыз да, цикл бойымен жылжи “+” белгілі клеткалар үлестеріне қосып, “–” белгілі клеткалар үлестерінен шегеріп шығамыз. Егер - бірнеше минималды үлеске тән болса, шегеруден шыққан нөлдік үлестерді жаңадан алынған тірек шешімінің бос емес ( үлесті ) клеткаларының саны m+n – 1 болатындай етіп қалдырамыз.

Үлесті ету клеткасы “+” таңбасымен белгіленіп, кесте 1- де пунктирмен көрсетілген цикл құрылады да, анықталып, цикл бойымен тиісті өзгерістер енгізіледі.

Кесте 2

Тұтынушылар 

 

 

  

 

Ұсынушылар

 

 

2

4

11

-

15 9

Қорлар

 

  0!

2

120

4

-

50

7

+

4

9

30

 200

 

-3

 

5

1

+

30

8

-

240

12

270 

 

 +

12

-6

11

 6

4

1

3

130

 130

Сұраныстар

120

80

240

160

-ді айналымға түсіріп, жаңа тірек шешімі, кесте 2 алынды, бұл шешімде оптималдыққа тексеріледі. Потенциалдар жүйесін қайтадан құрып, әрбір бос клеткада оптималдық шартының орындалуын тексеруге болады.

Алынған шешім оптималды бомаса 4-кезеңдегі әрекеттер қайталанады. Процесс барлық бос клеткаларда (**) шарты орындалғанша жалғасады

,, мәндерін, сондай-ақ “+” , “–” таңбаларын қаламмен жазып, өшіріп отыру арқылы оптималды шешімді бір ғана кестені пайдалана отырып іздестіруге болады.

Жаңа потенциалдар жүйесін құрып, оптималдыққа бос клеткаларды тексеріп отыру едәуір уақытты қажет еткендіктен, есептеу жұмыстарын біршама жеңілдетерлік потенциалдар жүйесін өзгерту әдісін қарастырамыз.

Потенциадар жүйесін өзгерту:

Жаңа тірек шешімінде (клетка 2) бұрынғы потенциалдар жазылған, үлесті клеткасында, шарты орындалмайды, . Сондықтан не - ді, не - ті алтыға шегеруіміз қажет. Нәтижесінде азғана потенциалдар өзгеретін потенциал кемітіледі. потенциалын кемітіп, - ді қарастырсақ бір ғана потенциалы өзгереді. Кері жағдайда барлық потенцилдар өзгерілер еді. Потенциал - ді “!” белгісімен, - ті “–”, пен байланысты - ті “+” бнлгісімен таңбалап, өзгерістер енгізілетін тізбекті құрамыз. Осы тізбектегі “–” таңбалы потенциалды кемітеміз, “+” таңбалы потенциалды өсіреміз, “!” таңбалы потенциалды өзгеріссіз қалдырамыз. Сонда барлық бос емес клеткаларда (*) шарты орындалады.

Потенциал кемітілгендіктен бұл бағандағы бос клеткаларда оптималдық шарты орындалмауы мүмкін емес. Оптималдық шарты орындалмайтын бос клеткалар потенциалы өсірілген жолда (бағанда) ғана пайда болуы мүмкін. Потенциал алтыға өсірілді, жолының бос клеткаларын оптиамалдыққа тексереміз: -4<11; -2<6; 5>4.

Клетка бұл шартты қанағаттандырмайды. Сондай-ақ бұл шарт клеткасында орындалмағанлықтан айырымдарын сол жақ төменгі бұрыштарына жазамыз.

келесі үлесті ету клеткасын анықтайды, бұл клеткаға “+” белгісін қойып, циклды құрып, төбелерін “–” және “+” белгілерімен алма–кезек таңбалап, мәнін табамыз. Цикл бойымен мәнін айналымға түсіріп, клеткасының үлесіне 50-ді бөлу арқылы жаңа тірек шешімін (кесте 3) аламыз.

Соңғы жуықтау арқылы шешім 200-ге жақсара түсті. Бұл клеткасындағы айырымын, осы клеткаға бөлінген үлестің 50 көбейтіндісінен анықталды.

Тұтынушылар 

 

Қорлар

 

  

 

 

Ұсынушылар

 

 

2

-

4 0

-

-11 7

9

 

0!

2

120

4

7

50

9

30

 200

 

+

-3 1

5

1

80

8

190

12

270 

 

-6

11

 6

4

3

130

 130

Сұраныстар

120

80

240

160

Соңғы алынған кесте 3 тірек шешімінде потенциалдар жүйесін өзгертіп, оптималдыққа тексереміз. Құрылған потенциалдар жүйесі алынған шешімнің оптималды екендігін көрсетеді. Тасымалдау құны 2850.

Ескерту. Цикл өзін-өзі қиып өтетін де болуы мүмкін.