
- •1. Математикалық модельдеу. Модельдеудің негізгі кезеңдері
- •1.2 Сызықтық бағдарламалау есептерінің қойылымы. Есептердің математикалық моделдерін қҧру
- •2. Сызықтық бағдарламалау есептері және оларды шешу әдістері
- •2.1 Сызықтық бағдарлама есебін графиктік әдіспен шешу
- •2.2 Сызықтық бағдарламалау есептерінің канондық тҥрі. Базистік шешімдер
- •2.3 Сызықтық бағдарламалау есебін симплекс әдісімен шешу
2. Сызықтық бағдарламалау есептері және оларды шешу әдістері
2.1 Сызықтық бағдарлама есебін графиктік әдіспен шешу
Графиктік әдіс сызықтық бағдарламалау есебінің геометриялық интерпретациясында негізделген. Кӛбінесе екі ӛлшемді кеңістіктегі есептерді және үш ӛлшемді кеңістіктердегі кейбір есептерді шығаруға арналған.
Мақсатты
F =c1 x1 +c2 x2 (2.1)
функцияның келесі шарттарды қанағаттандырғанда
-
ìa11 x1 + a12 x2 £ b1,
ï
+ a22 x2 £ b2 ,
ïa21 x1
ï
............................
í
ï
am1 x1
+ am 2 x2 £ bm ,
ï
ïx1 ³0,
x2 ³0
(2.2)
î
максималды (минималды) мәнін табудан тұратын сызықтық бағдарламалау есебі берілді делік.
Шекаралас ai 1 x1 + ai 2 x2 = bi , (i = 1, n), x1 =0, x2 =0 B5ңдеулерімен бірге
(2.2) теңсіздіктерінің әрқайсысы жартылай жазықтықты анықтайды. Егер (2.2) теңсіздіктер жүйесі үйлесімді болса, онда барлық жартылай жазықтықтарда жататын нүктелер жиыны оның шешімі болады.
(2.1) – (2.2) есебінің мүмкін оң шешімдері ауданы дӛңес жиын болады және ол шешімдер кӛпбҧрышы деп аталады. Кӛпбұрыштың қабырғаларын құрайтын түзулер теңдеулері теңсіздіктердегі салыстыру таңбаларын теңдік таңбасына ауыстырғаннан шығатын теңдеулерден құралады.
Сӛйтіп, сызықтық бағдарламалау есебі мақсатты F функциясы шешімдер кӛпбұрышында максималды (минималды) мән қабылдайтын нүктені анықтаудан
құралады. Бұл нүктені анықтау үшін |
шешімдер кӛпбұрышы |
арқылы |
ӛтетін |
|
||
c1 x1 +c2 x2 = h, |
(h = const) |
деңгей сызығын құрамызда оны шешімдер кӛпбұрышының |
|
|||
|
|
|
||||
соңғы ортақ |
нүктесі арқылы ӛткенге |
дейін максималды мәнді |
анықтау |
үшін |
|
N = (c1 , c2 ) векторының бағыты бойымен жылжытамыз және егер минималды мәнді
анықтау керек болса, онда N = (c1 , c2 ) векторының бағытына қарсы бағытта жылжытамыз. Анықталған нүктенің координаталары осы есептің ең тиімді жоспарын анықтайды.
Есептерді геометриялық әдіспен шешу алгоритмі
Сызықтық бағдарламалау есебіндегі берілген шектеулердегі теңсіздіктерді теңдікке ауыстырып, сәйкес түзулерді саламыз.
1. Әрбір теңсіздікпен анықталған жарты жазықтықтарды анықтаймыз.
2. Шешімдер кӛпбұрышын саламыз.
3. N = (c1 ,c2 ) векторын саламыз.
11
|
|
|
|
||
4. c1 x1 + c2 x2 |
= h түзуін саламыз, бұл деңгейлік түзу деп аталынады. Ол N векторына |
|
|||
перпендикуляр болады. |
|
|
|||
|
|
|
|||
5. c1 x1 + c2 x2 |
= h түзуін N |
векторына бағыттас (егер max анықтау керек болса), N |
|
||
векторына |
қарама-қарсы |
бағытта (егер min анықтау керек болса) жылжытамыз. |
|
Сӛйтіп мақсатты c1 x1 + c2 x2 = h функциясының сәйкес max немесе min қабылдайтын нүктені (нүктелерді) анықтаймыз. Кей жағдайда мақсатты функция жоғарғы жағынан шектелмеген болуы немесе жоспардың мәндері шексіз кӛп болуы мүмкін.
6. Нүктенің координаталарын анықтап, оны мақсатты функцияға қойып, функцияның мәнін анықтаймыз.
Келесі есепті графиктік әдіспен шығарайық: 1-мысал. Шикізатты пайдалану есебі.
-
ì2 x1
+ 3 x2
£ 21,
ï
ïx1
+ x2
£ 8,
í
2 x1
£ 10,
ï
ï
x1
³ 0,
x2
³ 0.
î
шарттарын қанағаттандыратын F = 30 x1 + 20 x2 ® max функциясын анықтау керек.
Шешімдер кӛпбұрышын саламыз. Ол үшін x1 o x2 тікбұрышты координаталар жүйесінде мына түзулерді саламыз:
ì2 x1 |
+ 3 x2 |
= 21, |
|
||||
ï |
|
|
|
|
|
|
|
ïx1 |
+ x2 |
= 8, |
|
||||
í |
2 x1 |
= 10, |
|
|
|||
ï |
|
|
|||||
ï |
x1 |
= 0, |
x2 |
= 0. |
|
||
î |
|
(l1 )
(l2 ) (l3 )
Содан кейін жүйедегі әрбір теңсіздікті қанағаттандыратын жарты жазықтықты саламыз. Жарты жазықтық деп берілген түзудің біржағында жататын облысты айтады. Берілген түзуге қарағанда жарты жазықтықтың орналасуын анықтау үшін бір бақылау нүктесін аламыз.
2.1-сурет.
Кӛп жағдайда ондай нүкте үшін бас нүктені О(0; 0) алады. Егер ол нүктенің
координаталары теңсіздікті қанағаттандыратын болса, мысалы, х1 = 5; х2 = 3..., онда жарты жазықтықта сол нүкте жатады. Яғни түзудің бас нүкте жататын жағы жарты жазықтықты немесе теңсіздіктің шешімдер облысын береді. Ал бас нүктенің
12
координаталары теңсіздікті қанағаттандырмаса, онда түзудің бас нүктеге қарама-қарсы жағы жарты жазықтықты береді. Жарты жазықтықтардың ортақ бӛлігі шешімдер кӛпбұрышын береді.
Ескерту: Егер шекаралық түзу бас нүктеден ӛтетін болса, онда бақылау нүктесі үшін кез келген басқа нүктені алуға болады. Біздің есебімізге шешімдер
|
|
|
|
|
|
|
|
|
||||
кӛпбұрышы O A BC D болады. Содан кейін N =(30;20 |
) = 10(3; 2 ) 25:B>@K= A0;K?, >ған |
|
||||||||||
перпендикуляр |
f = 30x1 |
+ 20x2 = h |
түзуін саламыз, |
бұл түзу |
деңгейлік түзу деп |
|
||||||
|
|
|
||||||||||
аталынады. Негізінде |
деңгейлік түзу |
f = 30x1 + 20x2 = 0 |
мен |
анықталады, оның |
|
|||||||
|
|
|
||||||||||
экономикалық мағынасы, әлі ешқандай ӛнім ӛндірілген жоқ, |
олай болса, түсетін |
|
түсім 0-ге тең. Енді деңгейлік түзуді N векторымен бағыттас ӛз-ӛзіне параллель жылжытамыз. Сӛйтіп ол түзудің шешімдер кӛпбұрышымен қиылысатын ең соңғы нүктесін анықтаймыз. Суреттен ол нүктенің С нүктесі екендігін кӛреміз. С нүктесі
l2 , l3 түзулерінің қиылысу нүктесінде жатады. Олай болса, С нүктесінің координаталары мына теңдеулер жүйесінен анықталады:
ìx1 + x2 =8,
í2 x = 10.
î 1
Бұдан х1 = 5; х2 = 3 екендігін кӛреміз.
Сонымен х1 = 5; х2 = 3 жоспардың ең қолайлы мәні болып табылады. Бұл мәндерді мақсатты функцияға қоя отырып, мынаны аламыз:
fmax = 30 × 5 + 20 × 3 = 210.
Сӛйтіп мӛлшері 210 шартты бірлікке тең болатын ең жоғарғы түсім алу үшін P
1
ӛнімінің 5 бірлігін, P2 ӛнімінің 3 бірлігін жоспарлау керек. 2-мысал. Азық құрамын құру есебі
шарттарын қанағаттандыратын керек.
ì2 x1 + x2 |
³ 4, |
|
|
||
ï |
x1 |
+ 3 x2 |
³ 6, |
|
|
ï |
|
|
|||
í |
x1 |
³ 1, |
|
|
|
ï |
|
|
|
||
ï |
x1 |
³0, x2 ³0. |
|
|
|
î |
|
|
|||
f = 4 x1 + x2 |
® min |
функциясының мәнін анықтау |
|
||
|
|
|
|
|
Шешімдер кӛпбұрышын саламыз. Ол үшін x1Ox2 тікбұрышты координаталар системасында мына түзулерді саламыз:
ì2 x1 + x2 |
= |
4, |
|
||
ï |
x1 |
+ 3 x2 |
= |
6, |
|
ï |
|
||||
í |
x1 |
= 1, |
|
|
|
ï |
|
|
|
||
ï |
x1 |
= 0, |
x2 = 0. |
|
|
î |
|
(l1 ) (l2 ) (l3 )
Одан кейін шектеулердегі теңсіздіктермен анықталған жарты жазықтықтарды саламыз. Сӛйтіп, жоғарғы жағынан шектелмеген А, В, С шешімдер облысын аламыз.
13
2.2 - сурет.
® |
|
|
|
|
|
|
|
||||
N = (4; 1) |
векторын және оған перпендикуляр |
f = 4x1 + x2 |
= h |
түзуін саламыз. Бұл |
|
||||||
|
|
|
|
|
|||||||
жағдайда һ-ты |
f = 4x1 + x2түзуі шешімдер облысын |
қиятындай таңдап аламыз. |
|
®
Сӛйтіп бұл түзуді N векторының бағытына қарама-қарсы бағытта параллель жылжытамыз. Сонда осы түзудің шешімдер облысының соңғы нүктесімен қиылысуы оптимальдық нүктені береді. Ол нүкте А нүктесі болады. Бұл нүктеде мақсатты функция ӛзінің минимум мәнін қабылдайды. А нүктесі l1 және l3 түзулерінің қиылысуында жатыр. Оның координаталарын анықтау үшін мына теңдеулер жүйесін шешеміз:
ì2x1 + x2 = 4, íx = 1.
î 1
Сонда |
x1 = 1, x2 |
= 2 |
. Бұл мәндерді қоя отырып, |
fmin |
= 4 ×1+1× 2 = 6 |
аламыз. Сонымен 6 |
|
|
|
|
|
|
шартты бірлікке тең ең аз шығын шығу үшін күнделікті азық құрамы 1 кг 1-ші жемнің түрінен, 2 кг 2-ші жемнің түрінен тұруы керек.