Simplex метода (пример 10)

Проблем ЛП се решава итеративном методом тако што се полази од једног скупа линеарно независних вектора, којим се образује база. После тога се врши промена векторске базе на основу разрађених критеријума, све дотле док се не одреди најповољнији скуп вектора, који у том случају формирају оптималну базу. Simplex метода, којом се ефикасно решава задатак ЛП, заснива су на следећим претпостав-кама: ако се од m линеарно независних вектора , од матрице А, формира база , тада се вектор B изражава путем линеарне комбинације базичних вектора:

(46)                    

Небазични вектор  изражава се, такође, помоћу линеарне комбинације вектора, као:

(47)           

Ако се врши трансформација вектора базе , тако да један од базичних вектора  буде замењен небазичним вектором , мора да се уважи следећи услов, а то је да ако је базични вектор  за , тада мора да буде и да је . Претходни израз (47)   се сада формира као:

(48)                 

Претходна релација (48)  може да се реши по , на основу чега се добија:

или у развијеном облику:

(49)

Једначину (46):   можемо да напишемо исто на следећи начин:

(50)           или

Ако извршимо елиминацију базичног вектора , добијамо:

(51)                   , или

 

Дакле, вектор B се може изразити путем линеарне комбинације новог скупа базичних вектора  и вектора . Да би овај скуп образовао базично могуће решење потребно је да чланови у загради буду ненегативни, тј.

(52)                    и

Избор вектора који напушта базу се своди на тзв. “тетакритеријум, што у квантитативном облику износи:

(53)                      за

Уважавајући претходне услове, ново базично допустиво решење се формира као:

(54)                     

Ако је вредност функције критеријума за полазно решење једнака: ,

за ново (побољшано) базично решење ће тада бити: ,

односно заменом:

(55)  

За већ раније дефинисано: ,  уз означавање да је  вредност функције за вектор , следи да је:

(56)                      

Симплекс критеријум оптималног решења

Добијена релација  показује да се функција критеријума увећава за одређену вредност при промени векторске базе. Ако је небазични вектор , за  и  са најмање једним , тада је . Овај резултат је врло важан јер показује у ком смеру се може повећавати функција критеријума, сукцесивном променом векторске базе. Како је број база коначан, а узастопном итерацијом постижемо , уз непонављање ниједне базе више пута, најбоље решење, тј. највећу функцију циља добијамо у коначном броју итерација. У том смислу можемо поставити први симплекс критеријум за промену векторске базе.

  1. Ако је , за један или више небазичних вектора, тада у базу треба увести онај вектор  са најмање једним , за који је пронађено:

(57)                                

  1. Ако је , и ако су све вредности , за најмање један небазичан вектор, тада проблем нема коначног решења.

  2. Ако је , за све небазичне векторе, решење је оптимално. При томе треба сматрати да је изузет случај дегенерисаног решења.

Критеријум напуштања тренутно егзистирајућег вектора базе одређујемо према већ изведеном критеријумутета”. Наиме, треба утврдити вредност:

(58)                            ,  за

Елиминација вектора следи након утврђивања најмањег количника за векторе B и . Ако је за i = u, количник одговарајућег решења најмањи, при чему је  (ненегативна), вектор  треба елиминисати из базе. Када смо постигли оптимално решење  и уколико је за небазични вектор , simplex критеријум , тада се уношењем тог вектора и елиминацијом једног од базичних вектора, постиже још једно оптимално решење, нпр. . Конвексном комбинацијом ових оптималних вектора постижемо ново оптимално решење као:

(59)         ,   где је скалар

При томе функција критеријума ових вредности:

(60)                      

остаје непромењена, тј. максимална, с обзиром да се овде разматра такав случај екстремума.

Пример 10.

Примена simplex методе. За модел проблема ЛП (Примера 6.) потребно је одредити:

F(X)=8,5x1+9x2 ® max F(X)

уз ограничења:

2,5 × x1 + 5,5 × x2 £ 15
6
× x1 + 3,5 × x2 £ 21                 xj ³ 0 (j = 1,2)

Simplex модел једначина ограничења обликује се на основу претходног система неједначина:

2,5 × x1 + 5,5 × x2 + x3 = 15
6
× x1 + 3,5 × x2 + x4 = 21                      xj ³ 0 (j = 1,2)

и функције критеријума:     F(X)=8,5x1+9x2 + 0 × (x3 + x4)® max F(X)
Где
су: x3, x4 допунске (изравнавајуће) променљиве. Претходни систем једначина може се написати у облику:  A×X = B. При томе су:

матрица тзв. техничких коефицијената:    ,

вектор непознатих вредности  ,  вектор ограничења  и вектор коефицијената функције критеријума C=[8,5, 9, 0, 0]. Вектори колона матрице А могу се изразити као:

                        ,  ,  и

тај начин се матрична једначина A×X = B може еквивалентно формулисати путем векторске једначине:

A<1>×x1 + A<2>×x2 + A<3>×x3 + A<4>×x4 = B

За усвојене почетне вредности реалних променљивих: x1 = 0, x2 = 0 можемо формулисати прво базичну једначину као:

A<1>×0 + A<2>×0 + A<3>×15 + A<4>×21 = B,

коме одговара почетно (нулто) базично допустиво решење:

Констатујмо да се за почетно базично решење увек узимају вештачке променљиве са вредностима елемената вектора ограничења. При томе је вредност критеријумске фунције најмања (ненегативна) и износи:

Дакле, почетну базу чине вектори:  Ab=[ A<3>, A<4>]. Небазни вектори A<1>, A<2> могу се изразити посредством базних, као:

са елементима: x11 = 0, x21 = 0, x31 = 2,5 и x41 = 6 и

 

са елементима:  x12 = 0, x22 = 0, x32 = 5,5 и x42 = 3,5.

Основне карактеристике почетног модела су сада:

Примена критеријума за улазак новог вектора у базу своди се на експлицитно одређивање најмање негативне вредности (Fj – cj) небазних вектора. У том смислу, имамо следеће вредности:

            за вектор A<1>:    F1 – c1 = (8,5×0 + 9×0 + 0×2,5 + 0×6) – 8,5 = – 8,5
           
за вектор A<2>:    F2 – c2 = (8,5×0 + 9×0 + 0×5,5 + 0×3,5) – 9 = – 9

Како је: min {(F1 – c1), (F2 – c2)}= F2 – c2 = – 9,  следи да у базу улази вектор A<2>. Критеријум за излазак једног базног вектора A<j> своди се на одређивање најмањег односа вредности тј. min {xi/xij}, за изабрани улазни вектор.

Најмања вредност је:      и у том случају вектор A<3> излази из базе. Формирање нове базе Abсе своди на измену изабраног вектора, што се симболички може представити као:

Претходни вектор A<3> се може извести из израза (63), тако да добијамо:

(65)                  

Уврштавањем овог израза у изразе (62) и (64), респективно добијамо (66) и (67), с напоменом да се сви децимални бројеви у наредним итерацијама представљају у облику разломка, због прецизнијег приказа и могућности да корисник сам провери резултат:

При томе се функција критеријума повећава на вредност:

Примена критеријума min (Fj – cj) за улазак небазног вектора у базу.

Како је: min {(F1 – c1), (F3 – c3)}= F1 – c1 = – 97/22, следи да у базу улази вектор A<1>. Критеријум за излазак једног базног вектора A<i> своди се на одређивање најмањег односа вредности тј.  min {xi/xij}, за изабрани улазни вектор. Најмања вредност је:  

и у том случају вектор A<4> излази из базе. Формирање нове базе Ab² се може представити симболички изменом вектора:

Вектор A<4> се може извести из израза (66), тако да добијамо:

(68)                   

Заменом вектора A<4>  у (65) и (67), следе вектори:

(69)                  
(70)
                  

Примена критеријума min (Fj – cj) за улазак небазног вектора у базу,

показује да је нађено оптимално решење јер су све вредности Fj – cj ³ 0, што је основни услов критеријума најбољег решења. Вектор оптималног решења на основу резултата

(70)  је сада:

При томе је функција критеријума максимална и износи:

,

што је истоветно већ добијеном резултату у Примеру 6.

Формирање simplex табеле

Simplex табелирање представља ефикасан начин да се слично претходним алгебарским релацијама на специфичан матрични (табеларан) начин структурирају сви елементи функција постављеног модела ЛП. Итеративним прорачунавањем трансформисани елементи тих функција (ограничења и циља), такође, се представљају у наредним simplex табелама, све док се не постигне оптимално решење. Основа сукцесивног прорачуна, на овај начин, еквивалентна је раније показаним матричним поступцима прорачунавања. Наиме, за формирани simplex модел проблема ЛП, нпр. типа максимума, из система једначина:

може се поставити (нулта)  simplex табела, у ознаци max ST-0 (Т-4). Део ознаке ST-0 симболички представља почетно решење, где је функција критеријума једнака нули, док се синтаксом маџ изражава карактер проблема који се решава.

  max ST-0                                                                                                                    (Т-4)

Поред тога остали симболи у  simplex табели имају следеће значење:

C – вектор коефицијената уз променљиве xj функције критеријума (нпр. јединичне цене),

Cb вектор коефицијената у функцији критеријума уз променљиве које сачињавају базно допустиво решење. Код почетне табеле вредност ових коефицијената је једнака нули,

Xbвектор променљивих које формирају базно допустиво решење.

Bвектор вредности променљивих базно допустивог решења за посматрану итерацију. У нултом решењу овај вектор садржи елементе ограничења десне стране simplex једначине,

Xjпредставља множитеље вектора базе када се њиховом линеарном комбинацијом изражава вектор A<j>,

Fj – cj - представља разлику између функције F(Xj) = Fj и коефицијената cj уз ј-ту променљиву (j = 1,...,n). Ова вредност је, како је показано у формули (57), индикатор да ли је решење оптимално или не, па се дефинише као критеријум оптималности.

Ако се колона са коефицијентима aji и променљиве xj једначине (71) пребаци на десну страну, добијамо следећи систем једначина (i = 1,... m, j = 1,...,n):

(73) 

Уз претпоставку да су допунске променљиве xk+i (i = 1,... m) базичне променљиве, тада су остале променљиве једнаке xj = 0 (j = 1,... k). У том смислу смо формирали прво базично могуће решење као:

(74)                , , ..... , , ..... ,

Функција критеријума при овој бази једнака је нули (аналогно са F(X) = 0 код почетног решења при примени графичке методе). Разлог томе је што су коефицијенти у функцији критеријума за ту базу једнаки нули, јер они физички не постоје. Измена базе иде у смеру увођења небазног вектора Xj (j = 1,..., k) (који узима адекватне позитивне вредности). У том смислу добијамо следећи израз:

(75)                                   

За i-ту једначину, као што је познато у општем моделу ЛП могу се јавити случајеви да је aij{<, =, >} 0. Најинтересантнији резултат за анализу је случај када је aij > 0. Тада се може изабрати xj, тако да једна од променљивих xk+i постане једнака нули. Дакле, за:

(76)           xk+i ³ 0  следи да је: biaij × xj ³ 0,  па је xj £ bi/aij  за aij > 0.

Претходна релација представља основу за формулисање критеријума елиминације једне базичне променљиве Xi (постављајући је као вектор). Наиме, да би услов xj £ bi/aij (aij > 0) био задовољен, потребно је између свих m количника пронаћи минималну вредност. Тај однос ће се обележити као и раније сатетаи дат је у виду релације:

(77)             ,   (aij > 0)

Одабрану вредност индексирајмо са i = u, а затим  u-ти ред проглашавамо водећим редом (Т-5). Овај критеријум за излазак вектора из базе познат је, како је раније истакнуто, као први simplex критеријум. Други simplex критеријум за избор новог вектора Xj, који приступа бази, замењујући променљиву Xi, заснован је на одабиру најмање вредности (Fj – cj) из скупа негативних:

(78)            ,   за вредности  Fj – cj < 0 (j = 1,..., k)

Одабрана вредност ће бити обележена са (Fp – cp), односно индекс одабране колоне са j = p. Очигледно да се исти резултат постиже на основу еквивалентне релације: . Може се закључити да се уз већу вредност cj и актуализацијом одговарајућег вектора Xj у бази јавља нови ефекат који резултира, обично, повећању функције критеријума.

      max ST-0                                                                                                                   (Т-5)

Проширени критеријум, за избор вектора који приступа бази, примењује се у оним случајевима када се појављује већи број вредности Fj – cj < 0 једнаких или блиских по величини. Његова примена може убрзати поступак налажења оптималног решења кроз смањење броја потребних итерација. Међутим, у једноставнијим моделима ЛП не јавља се такав ефекат, који се огледа у брзини конвергенције ка оптималном решењу, па проширени критеријум није потребно примењивати, већ се задржати само на основном. Напоменимо да се у фази испитивања q вредности не узимају у обзир негативне вредности односа q= bi/aij, проузроковане негативношћу вредности aji. Поред тога, може се десити да количник bi/aij буде исти по вредности за две или вишететавредности у анализираној колони. У том случају долази у питање примена првог simplex критеријума, јер није једнозначно утврђено који вектор напушта базу Аb. Овај случај познат је као случај дегенерисаног решења јер постоји више кандидата - базичних вектора за излазак из базе.

Итеративни прорачун елемената simplex табеле

Поступно, прорачунавање коефицијената унетих у табелу своди се на трансформацију сваког појединачног елемента матрице бројева [M] = [M](m+1)´(k+m+1) датих према (Т-6).

                                                                                                                                      (Т-6)

Приметимо да ова матрица садржи (m+1)´(k+m+1) елемената и потребно их је трансформисати при свакој новој итерацији. Овај поступак се реализује све дотле док се не постигне оптимално решење. Наредна simplex табела (Т-8) у односу на претходну (Т-7) садржи трансформисане вредности елемената матрице. Наиме, нове вредности рачунају се по одређеним правилима. Та правила су већ презентована у методама векторског прорачуна, док ће се овде изнети довољно упрошћено, за елементе текуће и наредне матрице.

          ST - текућа                   (Т-7)                          ST - наредна                  (Т-8)

Трансформација елемената ван водећег реда и ван водеће колоне (i ¹ u; j ¹ p) изводи се као:

(79)                  

Трансформација елемената у водећој колони, изузимајући водећи елемент (i ¹ u).

(80)                   

Доказ следи на основу обрасца (79).  За p = j добија се 

Трансформација елемената у водећем реду (i = u)

(81)                   

Трансформација водећег елемента (i = u; j = p)

(82)                  

Доказ следи на основу обрасца (81).  За p = j добија се