- •Қазақстан республикасы білім және ғылым министрлігі м.ӘУезов атындығы оҢтүстік қазақстан мемлекеттік университеті «Информатиканы оқытудың теориясы мен әдістемесі» кафедрасы
- •5В060200– «Информатика» мамандығының
- •Шымкент-2011
- •1 Сызықты бағдарламалау есептерін шешу. Жалпы түсініктемелер
- •Жай экономикалық есептердің математикалық модельдерін құру. Шикізатты қолдану есебі.
- •1.3 Сызықтық теңдеулер жүйесін шешудің Жордан-Гаусс әдісі
- •1.5 Сызықтық программалаудың жалпы есебі.
- •1.6 Сызықтық программалау есебін графиктік әдіспен шешу
- •Графиктік әдіспен шешу
- •Симплекс әдісінің алгоритмі.
- •Бірінші симплекс кестесі
- •Сызықтық программалаудағы түйіндестік және түйіндестік түсінігі
- •Симметриясыз түйіндес есептер.
- •Симметриялы түйіндес есептер.
- •Қосалқы есептердің математикалық моделдерінің түрлері.
- •Бастапқы есеп. Қосалқы есеп
- •3 Транспорт есебі.
- •3.1 Есептің қойылуы және оның математикалық моделі.
- •3.2 Бастапқы тірек шешімін құру.
- •Солтүстік – батыс бұрыш әдісі.
- •3.3 Потенциялдар әдісі
- •Сызықтық емес бағдарламалау есебін шешудің жалпы жүйесі.
- •Лагранж көбейткіштер әдісі.
- •Глобал минимум туралы негізгі теорема
- •Сызықты программалау есептерін шешу әдістері хақында.
- •2.2. Экономикалық есептерді шығаруға арналған оптималдандыру модельдерін құру.
- •1. Гомори алгоритмі
- •2 Жұмысты бекіту туралы есеп
- •3.Коммивояжер /сауда агенті/ есебі.
- •Бүтін санды сызықты программалау есептерін шығару әдістері хақында.
- •2.1 Қосымша шектеуді құру
- •Ойын теориясының пәні, негізгі ұғымдары
- •Минимакс теоремалары. Матрицалық ойындардың негізгі теоремасы.
- •Матрицалық ойындарды сызықтық программалау есебіне келтіру арқылы шешу әдістері
- •Пәнді оқу-әдістемелік әдебиетпен әдістемелік қамтамасыз ету. Негізгі әдебиеттер:
- •Қосымша әдебиеттер:
Симплекс әдісінің алгоритмі.
Теоремалар 1,2 және олардың салдарынан алғашқы тірек шешімінен бастап оптималды шешіммен аяталатын тірек шешімдер тізбегін алуға болады.
Тірек шешімі
m- өлшемді бірлік (
)
векторларына тиісті, сызықтық функцияның
min мәнін іздестіретін, (1)-(3) сызықтық
программалау есебін қарастыруды
жалғастырайық.
Тірек шешімін оптималдыққа
зерттеу үшін
векторларын базиске жіктеп, бағалар
мәндерін есептейміз. Базис бірлік
болғандықтан
векторларының жіктелу коэффициенттері
олардың компоненттеріне тең
.
Бірінші тірек шешімін
анықтаған соң, есептің шарттары мен
бастапқы берілгендерін жазып, әрі қарай
есептеулерді арнайы симплекс кестесімен
жүргізу ыңғайлы. Сызықтық функцияның
базистік векторларға тиісті коэффициентерін
С бағанына, есептеу барысында оптималдық
шешімге айналатын
тірек шешімін
бағанына, әрі қарай
ден
белгіленетін j-ші вектордың базиске
жіктелу коэффициентерін
болғандарына жазамыз.
m+1 жанының
бағанына сызықтық функцияның табылған
тірек шешіміндегі мәні
болғандарына бағалар мәндері
жазылады.
және
-лер
сызықтық функцияға тірек шешім
компоненттерін және j-ші вектордың
базиске жіктелу коэффициенттерін қою
арқылы есептелінеді, кестеде бұл мәндер
келесі скалярлық көбейтінділермен
алынады
-сызықтық
функцияның базистік векторларға тиісті
коэффициентері.
Бірінші симплекс кестесі
Құрылған кестенің (І) (m+1)-
жолын қараймыз. Егер барлық
болса, онда тірек шешімі
оптималды, сызықтық функцияның min мәні
.
Әйтеуір бір баға
делік;
онда шешім
оптималді емес, бұл бағаға тиісті
векторды базиске енгізіп, сызықтық
функция мәні алғашқыдан кем болатындай,
басқа тірек шешімін құруға болады.
Оң таңбалы бағалар бірнешеу
болса, барлық
-лерден
мәні сәйкес вектор енгізіледі.,
Бұл осы қадымда сызықтық
функцияны ең көп кішірейтілген шешімдер
көпжағының төбесіне өтуге, көп жағдайда
итерация санын азайтып, «қолмен»
есептегенде оптималдық шешімді тезірек
табуға мүмкіндік береді. Есепті ЭЕМ-де
шешкенде базиске енгізілмек вектор
бойынша таңдалады. Егер
бірнеше j-лерде кездессе, онда оларға
тиісті векторлардың ішінен базиске
мәні сәйкес вектор енгізіледі. Егер
кемінде бір
бағасына тиісті вектордың жіктелу
коэффициенттері түгелімен оң таңбалы
болмаса, яғни
,
онда сызықтық функция шешімдер көпжағында
шектеусіз,
-ны
таңдай отырып оның мәнін қанша болса
да аз ете аламыз; бұл жағдайда шешімдер
көпжағы шектеусіз көпжақты облысты
береді.
і |
Базис |
С Базис |
А0 |
С1 |
С2 |
... |
Сl |
… |
Сm |
Сm+1 |
… |
Сj |
… |
Сk |
… |
Сn |
A1 |
A2 |
… |
Al |
… |
Am |
Am+1 |
… |
Aj |
… |
Ak |
… |
An |
||||
1 2 . . . l . . . m |
A1 A2 . . . Al . . . Am |
C1 C2 . . . Cl . . . Cm |
x1 x2 . . . xl . . . xm |
1 0 . . . 0 . . . 0 |
0 1 . . . 0 . . . 0 |
… … . . . … . . . … |
0 0 . . . 1 . . . 0 |
… … . . . … . . . … |
0 0 . . . 0 . . . 1 |
X1,m+1 X2,m+1 . . . Xl,m+1 . . . Xm,m+1 |
… … . . . … . . . … |
X1j X2j . . . Xlj . . . Xmj |
… … . . . … . . . … |
X1k X2k . . . Xlk . . . Xmk |
… … . . . … . . . … |
X1n X2n . . . Xln . . . Xmn |
m+1 |
Zj-Cj |
Z0 |
0 |
0 |
… |
0 |
… |
0 |
Zm+1-Cm+1 |
… |
Zj-Cj |
… |
Zk-Ck |
… |
Zn-Cn |
|
делік, яғни max
мәні к-ші векторға қатысты,
.
Онда базиске Ак
векторы енгізіледі, ал базистен
мәніне тиісті вектор шығарылады.
Сонымен
векторларының жаңа базис векторына
жіктелу коэффициентерін, жаңа тірек
шешімі бағаларын және сызықтық функция
мәнін табу үшін бағыттаушы жолдың барлық
әлементтерін шешуші элементке бөліп,
осы түрлендірілген жол арқылы Жардан-Гаусс
толық жою әдісімен екінші симплекс
кестесін құрамыз.
9, 10 – ші дәрістер. Жасанды базис әдісі. Кейбір экономикалық есептерге жасанды базис әдісін қолдану.
Жасанды базис әдісі
Егер
сызықтық программалау есебінің шектеулері
түріне келтірілетін болса, онда шектеулер
жүйесінің бірлік матрицасы бар, симплекс
әдісін тікелей қолдануға болады.
Есеп аталған, яғни бірлік матрицасы айқын берілетін түрге келтірілмесе, жасанды базис әдісі қолданылады. Сызықтық программалаудың жалпы есебін
қарастырайық.
Шектеулер жүйесінде бірлік матрица
айқын берілмесін. Әрбір теңдеуге
-
жасанды айнымалысын қосып, жүйеге бірлік
матрицаны енгізу арқылы
кеңейтілген
есебінің сызықтық функциясының ең кіші
мәнін іздестіреміз. Бұл есептегі
жеткілікті үлкен сан. Егер есепте
сызықтық функцияның max мәні іздестірілсе
жеткілікті кіші сан деп алынады. Жасанды
айнымалыларға тән
бірлік векторлары жасанды базисті
түзеді.
Бастапқы есептің оптималдық шешімін табу үшін келесі теореманы қолданады.
Теорема.
Егер кеңейтілген есептің
оптималдық шешімдегі жасанды айнымалылары
болса, онда
бастпқы есептің оптималдық шешімі
болады.
Дәлелдеуі.
кеңейтілген есептің оптималдық шешімі
болғандықтан, х- бастапұқы есептің
шешімін береді және
теңдігі орындалады.
Х
бастапқы есептің оптималдық шешімі
болатындығын керісінен дәлелдейміз,
яғни х оптималдық шемшім емес делік.
Онда
оптималдық шешімі табылып,
теңсіздігі орындалады, ал
үшін
яғни
болып шығады.
Демек, кеңейтілген есептің шешімі оптималды емес, теореманың шартына қарама-қайшы. Теорема дәлелденді.
Кеңейтілген
есепке симплекс әдісін қолдану жасанды
айнымалылары түгелдей нөлге айналатын
шешімін табуды қамтамасыз етеді. Егер
бастапқы есептің шешімі жоқ болса, онда
кеңейтілген есептің оптималдық шешімінің
кемінде бір компоненті
Алдынала берілген М санына байланысты, кеңейтілген есептің симплекс кестесінің бір жолы, яғни (m+2)- жолы артық. Осы жолға жазылған М-нің коэффициенттері арқылы базиске енгізілетін векторлар жасанды векторларды базистен түгел шығарғанша анықталып отырады. Оптималды шешімді іздестіру әрі қарай (m+1)- жолымен жалғастырылады.
Мысал.
Шешуі:
Шектеулер жүйесіне жасанды айнымалылар
-ды
енгізу арқылы бірлік матрицасы бар
кеңейтілген есепке көшеміз
Бірлік
векторлары базисті құрады. Еркін
айнымалыларды нөлге теңестірсек
кеңейтілген есептің бастапқы тірек
шешімін
аламыз, бұл шешім үшін
теңдігі орындалады.
Симплекс кестесін құрып, (m+1)- жолдың бағалары арқылы шешімнің оптималдығын тексереміз
формаулалармен
-жолдарының
элементтерін есептейміз:
Бағалар
мәндері М шамасы бойынша сызытық функция,
есептеуге анғайлы болу үшін (m+1)-жолына
М-нен тәуелсіз бөлігін, (m+2)-жолына М-нің
коэффициенттерін жазамыз
(m+2)-
жолында теріс таңбалы элементтердің
болуы кеңейтілген есептің тірек шешімінің
оптималды еместігін білдіреді. Онда
мәні шешуші элементті, базиске енгізілетін
және базистен шығарылатын векторларды
анықтайды. Бірінші шешімде
мәні А1
векторына тән:
Демек,
шешуші элемент 2, А, базиске енгізіледі,
А6
базистен шығарылады. Симплекс
түрлентіруімен екінші шешімді аламыз.
Екінші шешім де оптималды емес,
(m+2)-жолында теріс таңбалы элементтері
бар. Тағы да
мәні арқылы шешуші элементі, базиске
енгізілетін және базистен шығарылатын
векторларды анықтаймыз, симплекс
түрлендіруін атқарамыз. Осылайша
симплекс түрлендірулерін алдымен
(m+2)-ші, сонан соң (m+1)-жолдың элементтерінің
белгілерімен оптималдық шешімді
тапқанша, немесе есептің шешімі жоқ
екендігін анықтағанша жалғастырамыз.
Үшінші
шешім
оптималды, себебі (m+2) және (m+1) жолдарында
max үшін оптималдық шарты орындалған.
Жасанды айнымалылар
болғандықтан, алынған шешім бастапқы
есептің де оптималдық шешімі
береді және
Соңғы сатыдағы А1 және А3 жолдармен А5, А6 болғандарының қиылысында кері матрицаны аламыз.
Есептің шектеулер жүйесінде бірлік матрица берілсе, оны шешу үшін шамамен m жуықтау керек, бастапқы тірек шешім үшін толық жасанды базис енгізілсе, онда жуықтау саны шамамен 2m-ге дейін жетеді.
11, 12 – ші дәрістер. Түйіндестік қағидасы. Түйіндестік теоремасы. Негізгі есеп. Симметрия емес және симметриялық түйіндес есептер.
