Paglutas ng mga sistema ng linear equation gamit ang simplex method. Isang halimbawa ng paglutas ng problema. Simplex na paraan para sa paglutas ng ZLP

Hakbang 0. yugto ng paghahanda.

Binabawasan namin ang problema sa LP sa isang espesyal na anyo (15).

Hakbang 1. Pinagsasama-sama simpleng mesa, naaayon sa espesyal na anyo:

Tandaan na ang talahanayang ito ay tumutugma sa isang tinatanggap na pangunahing solusyon
mga problema (15). Ang halaga ng layunin ng function sa solusyon na ito

Hakbang 2. Optimality check

Kung kabilang sa mga elemento ng hilera ng index ay may mga simplex na talahanayan
walang kahit isang positibong elemento kung gayon
, ang pinakamainam na solusyon sa problema sa LP ay matatagpuan:. Ang algorithm ay nagtatapos.

Hakbang 3. Undecidability check

Kung kabilang
may positibong elemento
, at sa kaukulang column
walang isang positibong elemento
, pagkatapos ay ang layunin function L ay unbounded mula sa ibaba sa admissible set. Sa kasong ito, walang pinakamainam na solusyon. Ang algorithm ay nagtatapos.

Hakbang 4. Pagpili ng Nangungunang Column q

Kabilang sa mga elemento
piliin ang maximum na positibong elemento
.Idineklara naming ang column na ito ang nangungunang (permissive) na column.

Hakbang 5. Pagpili ng lead line p

Kabilang sa mga positibong elemento ng column
hanapin ang elemento
, kung saan pinanghahawakan ang pagkakapantay-pantay

.

String p Ipinapahayag namin na ito ay nangunguna (nagpapahintulot). Elemento
Ipinapahayag namin na ito ang pinuno (nagpapahintulot).

Hakbang 6. Simplex Table Conversion

Lumilikha kami ng bagong simplex table kung saan:

a) sa halip na ang pangunahing baryabol isulat , sa halip na isang hindi pangunahing variable isulat ;

b) ang nangungunang elemento ay pinalitan ng kabaligtaran na halaga
;

c) lahat ng elemento ng nangungunang column (maliban
) paramihin ng
;

d) lahat ng elemento ng nangungunang linya (maliban
) paramihin ng ;

e) ang natitirang mga elemento ng simplex table ay binago ayon sa sumusunod na "rectangle" scheme.

Ang produkto ng tatlong salik ay ibinabawas sa elemento:

ang una ay ang kaukulang elemento ng nangungunang hanay;

ang pangalawa ay ang kaukulang elemento ng nangungunang linya;

ang pangatlo ay ang kapalit ng nangungunang elemento
.

Ang nabagong elemento at ang tatlong mga kadahilanan na nauugnay dito ay tiyak na mga vertices ng "parihaba".

Hakbang 7 Ang paglipat sa susunod na pag-ulit ay isinasagawa sa pamamagitan ng pagbabalik sa hakbang 2.

2.3. Simplex method algorithm para sa maximum na problema

Ang simplex method algorithm para sa maximum na problema ay naiiba sa algorithm para sa pinakamababang problema lamang sa mga palatandaan ng index line ng mga coefficient sa layunin ng function.
, ibig sabihin:

Sa hakbang 2:
:

Sa hakbang 3
. Ang layunin ng function ay walang hangganan mula sa itaas sa tinatanggap na hanay.

Sa hakbang 4:
.

2.4. Isang halimbawa ng paglutas ng problema gamit ang simplex method

Lutasin ang suliraning nakasulat sa anyong (15).

Gumawa tayo ng simplex table:

Dahil ang mga koepisyent ng linya ng layunin ng pag-andar ay hindi negatibo, ang paunang batayan na solusyon ay hindi pinakamainam. Ang halaga ng layunin ng function para sa batayan na ito L=0.

Piliin ang nangungunang column - ito ang column na naaayon sa variable .

Piliin ang nangungunang linya. Upang gawin ito, nahanap namin
. Samakatuwid, ang nangungunang linya ay tumutugma sa variable .

Binabago namin ang simplex table sa pamamagitan ng pagpapakilala ng variable sa batayan at outputting ang variable mula sa batayan. Nakukuha namin ang talahanayan:

Ang isang pag-ulit ng pamamaraan ay nakumpleto. Lumipat tayo sa isang bagong pag-ulit. Ang resultang talahanayan ay hindi pinakamainam. Ang pangunahing solusyon na naaayon sa talahanayan ay may anyo. Ang halaga ng layunin ng function sa batayan na ito L= -2.

Ang nangungunang column dito ay ang column na naaayon sa variable . Nangungunang linya - ang linya na naaayon sa variable . Matapos isagawa ang mga pagbabagong-anyo, nakakakuha kami ng isang simplex na talahanayan:

Nakumpleto ang isa pang pag-ulit. Lumipat tayo sa isang bagong pag-ulit.

Ang linya ng layunin ng function ay hindi naglalaman ng mga positibong halaga, na nangangahulugan na ang kaukulang pangunahing solusyon ay pinakamainam, at ang algorithm ay nagtatapos.

Dual simplex na pamamaraan ay batay sa teorya ng duality (tingnan ang solusyon sa dalawahang problema) at ginagamit upang malutas ang mga problema sa linear programming, ang mga libreng termino kung saan maaari akong kumuha ng anumang mga halaga, at ang sistema ng mga paghihigpit ay tinukoy ng mga hindi pagkakapantay-pantay ng kahulugan na "≤", “≥” o ang pagkakapantay-pantay na “=”.

Layunin ng serbisyo. Online na calculator na ginagamit upang malutas ang mga problema sa linear programming P-paraan sa mga sumusunod na anyo ng pag-record: ang pangunahing paraan ng pag-record ng simplex na paraan, sa anyo ng isang simplex na talahanayan, sa binagong paraan ng simplex.

Mga tagubilin para sa paglutas ng mga problema dual simplex na pamamaraan. Piliin ang bilang ng mga variable at bilang ng mga hilera (bilang ng mga hadlang), i-click ang Susunod. Ang resultang solusyon ay nai-save sa isang Word file (tingnan ang halimbawa ng solusyon gamit ang dual simplex method).

Bilang ng mga variable 2 3 4 5 6 7 8 9 10
Bilang ng mga hilera (bilang ng mga paghihigpit) 2 3 4 5 6 7 8 9 10
Kasabay nito, ang mga paghihigpit tulad ng x i ≥ 0 huwag mo itong isaalang-alang.

Ang mga sumusunod ay ginagamit din sa calculator na ito:
Graphical na pamamaraan para sa paglutas ng ZLP
Solusyon sa problema sa transportasyon
Paglutas ng isang matrix na laro
Gamit ang online na serbisyo, maaari mong matukoy ang presyo ng isang laro ng matrix (mas mababa at itaas na mga hangganan), suriin para sa pagkakaroon ng isang saddle point, maghanap ng solusyon sa isang halo-halong diskarte gamit ang mga sumusunod na pamamaraan: minimax, simplex na pamamaraan, graphical (geometric ) paraan, pamamaraan ni Brown.
Extremum ng isang function ng dalawang variable

Mga problema sa dinamikong programming
Ipamahagi ang 5 homogenous lots ng mga kalakal sa pagitan ng tatlong pamilihan upang makakuha ng pinakamataas na kita mula sa kanilang pagbebenta. Ang kita mula sa mga benta sa bawat market G(X) ay depende sa bilang ng mga naibentang batch ng produkto X at ipinakita sa talahanayan.

Dami ng produkto X (sa lot)Kita G(X)
1 2 3
0 0 0 0
1 28 30 32
2 41 42 45
3 50 55 48
4 62 64 60
5 76 76 72

Sa P-paraan, ang pinakamainam na plano ay nakuha sa pamamagitan ng paglipat kasama ang mga pseudoplan. Pseudoplane- isang plano kung saan ang mga kondisyon ng pinakamainam ay nasiyahan, at kabilang sa mga halaga ng mga pangunahing variable x i mayroong mga negatibong numero. Algorithm para sa dual simplex na pamamaraan kasama ang mga sumusunod na hakbang:

  1. Pag-drawing ng isang pseudo-plan. Ang sistema ng mga hadlang ng orihinal na problema ay humahantong sa isang sistema ng hindi pagkakapantay-pantay na may kahulugang "≤".
  2. Sinusuri ang plano para sa pinakamainam. Kung ang kondisyon ng pinakamainam ay hindi nasiyahan sa nagresultang reference plan, pagkatapos ang problema ay malulutas gamit ang simplex na paraan.
  3. Pagpili ng nangungunang row at column. Kabilang sa mga negatibong halaga ng mga pangunahing variable, ang pinakamalaki sa ganap na halaga ay pinili. Ang linya na tumutugma sa halagang ito ay ang nangunguna.
  4. Pagkalkula ng isang bagong reference plan. Ang bagong plano ay nakuha sa pamamagitan ng muling pagkalkula ng simplex table gamit ang Jordan-Gauss method. Susunod, pumunta sa stage 2.
Isang mas detalyadong algorithm para sa dual simplex na pamamaraan. Ang mga tampok ng dual simplex na pamamaraan ay ginagamit kapag nilulutas ng pamamaraang Gomori.

Halimbawa. Ang kumpanya ay kailangang gumawa ng A1 units, A2 units, at A3 units ayon sa production plan. Ang bawat uri ng produkto ay maaaring gawin sa dalawang makina.
Paano ipamahagi ang gawain ng mga makina upang ang kabuuang oras na ginugol sa pagpapatupad ng plano ay minimal? Ang cost matrix at time resource ng bawat makina ay ibinibigay. Isulat ang modelo ng operasyong pinag-aaralan sa isang form na nagpapahintulot sa paggamit ng P-paraan.

Ito ay kilala na ang nilalaman ng n nutrients A, B at C sa diyeta ay dapat na hindi bababa sa m1, m2, m3 unit, ayon sa pagkakabanggit. Tatlong uri ng pagkain ang naglalaman ng mga sustansyang ito. Ang nilalaman ng mga yunit ng nutrisyon sa isang kilo ng bawat uri ng produkto ay ipinapakita sa talahanayan. tukuyin ang pang-araw-araw na diyeta na nagbibigay ng kinakailangang dami ng sustansya sa pinakamababang halaga.

Gawain: Lutasin ang problema gamit ang dual simplex method algorithm.
Bawasan natin ang sistema ng mga paghihigpit sa sistema ng hindi pagkakapantay-pantay ng kahulugan ≤ sa pamamagitan ng pagpaparami ng mga katumbas na linya sa (-1).
Tukuyin natin ang pinakamababang halaga ng layuning function F(X) = 4x 1 + 2x 2 + x 3 sa ilalim ng mga sumusunod na kundisyon ng hadlang.
- x 1 - x 2 ≤-10
2x 1 + x 2 - x 3 ≤8
Upang mabuo ang unang reference na plano, binabawasan namin ang sistema ng mga hindi pagkakapantay-pantay sa isang sistema ng mga equation sa pamamagitan ng pagpapakilala ng mga karagdagang variable (transition sa canonical form).
Sa unang hindi pagkakapantay-pantay ng kahulugan (≤), ipinakilala namin ang pangunahing variable x 4 . Sa pangalawang hindi pagkakapantay-pantay ng kahulugan (≤), ipinakilala namin ang pangunahing variable x 5 .
-1x 1 -1x 2 + 0x 3 + 1x 4 + 0x 5 = -10
2x 1 + 1x 2 -1x 3 + 0x 4 + 1x 5 = 8
Ang coefficient matrix A = a(ij) ng sistemang ito ng mga equation ay may anyo:

A=
-1 -1 0 1 0
2 1 -1 0 1
Lutasin natin ang sistema ng mga equation para sa mga pangunahing variable:
x 4, x 5,
Ipagpalagay na ang mga libreng variable ay katumbas ng zero, nakuha namin ang unang disenyo ng sanggunian:
X1 = (0,0,0,-10,8)
BatayanBx 1x 2x 3x 4x 5
x 4 -10 -1 -1 0 1 0
x 5 8 2 1 -1 0 1
F(X0) 0 -4 -2 -1 0 0

Pag-ulit #1

Ang Plan 0 sa isang simplex table ay isang pseudo-plan, kaya tinutukoy namin ang nangungunang row at column.


Ang nangungunang linya ay ang unang linya, at ang variable na x 4 ay dapat na hango sa batayan.
3. Kahulugan ng isang bagong pangunahing variable. Ang pinakamababang halaga ng θ ay tumutugma sa 2nd column, i.e. ang variable x 2 ay dapat ipasok sa batayan.

BatayanBx 1x 2x 3x 4x 5
x 4 -10 -1 -1 0 1 0
x 5 8 2 1 -1 0 1
F(X0) 0 -4 -2 -1 0 0
θ 0 -4: (-1) = 4 -2: (-1) = 2 - - -

4. Muling pagkalkula ng simplex table. Nagsasagawa kami ng mga pagbabagong-anyo ng simplex na talahanayan gamit ang pamamaraang Jordano-Gauss.
BatayanBx 1x 2x 3x 4x 5
x 2 10 1 1 0 -1 0
x 5 -2 1 0 -1 1 1
F(X0) 20 -2 0 -1 -2 0

Ipakita natin ang pagkalkula ng bawat elemento sa anyo ng isang talahanayan:
Bx 1x 2x 3x 4x 5
-10: -1 -1: -1 -1: -1 0: -1 1: -1 0: -1
8-(-10 1):-1 2-(-1 1):-1 1-(-1 1):-1 -1-(0 1):-1 0-(1 1):-1 1-(0 1):-1
0-(-10 -2):-1 -4-(-1 -2):-1 -2-(-1 -2):-1 -1-(0 -2):-1 0-(1 -2):-1 0-(0 -2):-1

Pag-ulit #2
1. Sinusuri ang pamantayan ng pinakamainam.
Ang Plan 1 sa isang simplex table ay isang pseudo-plan, kaya tinutukoy namin ang nangungunang row at column.
2. Kahulugan ng isang bagong libreng variable.
Kabilang sa mga negatibong halaga ng mga pangunahing variable, pinipili namin ang pinakamalaking sa ganap na halaga.
Ang pangalawang linya ay mangunguna, at ang variable na x 5 ay dapat na hango sa batayan.
3. Kahulugan ng isang bagong pangunahing variable. Ang pinakamababang halaga ng θ ay tumutugma sa ikatlong hanay, i.e. ang variable x 3 ay dapat ipasok sa batayan.
Sa intersection ng nangungunang hilera at haligi mayroong isang elemento ng paglutas (RE) na katumbas ng (-1).

BatayanBx 1x 2x 3x 4x 5
x 2 10 1 1 0 -1 0
x 5 -2 1 0 -1 1 1
F(X0) 20 -2 0 -1 -2 0
θ 0 - - -1: (-1) = 1 - -

4. Muling pagkalkula ng simplex table. Nagsasagawa kami ng mga pagbabagong-anyo.
BatayanBx 1x 2x 3x 4x 5
x 2 10 1 1 0 -1 0
x 3 2 -1 0 1 -1 -1
F(X1) 22 -3 0 0 -3 -1
O sa higit pang detalye:
Bx 1x 2x 3x 4x 5
10-(-2 0):-1 1-(1 0):-1 1-(0 0):-1 0-(-1 0):-1 -1-(1 0):-1 0-(1 0):-1
-2: -1 1: -1 0: -1 -1: -1 1: -1 1: -1
20-(-2 -1):-1 -2-(1 -1):-1 0-(0 -1):-1 -1-(-1 -1):-1 -2-(1 -1):-1 0-(1 -1):-1

Sa base column, lahat ng elemento ay positibo. Lumipat tayo sa pangunahing algorithm ng simplex na paraan.

Pag-ulit #3
1. Sinusuri ang pinakamainam na pamantayan.
Walang mga positibong halaga sa mga halaga ng index string. Samakatuwid, tinutukoy ng talahanayang ito ang pinakamainam na plano para sa problema.

BatayanBx 1x 2x 3x 4x 5
x 2 10 1 1 0 -1 0
x 3 2 -1 0 1 -1 -1
F(X1) 22 -3 0 0 -3 -1

Ang pinakamainam na plano ay maaaring isulat tulad ng sumusunod: x 1 = 0, x 2 = 10, x 3 = 2
F(X) = 2 10 + 1 2 = 22

Isa sa mga pamamaraan para sa paglutas ng mga problema sa pag-optimize ( karaniwang nauugnay sa paghahanap ng minimum o maximum) linear programming ay tinatawag na . Simplex na pamamaraan kabilang ang isang buong pangkat ng mga algorithm at pamamaraan para sa paglutas ng mga problema sa linear programming. Ang isa sa mga pamamaraang ito, na kinabibilangan ng pagtatala ng pinagmumulan ng data at muling pagkalkula sa mga ito sa isang espesyal na talahanayan, ay tinatawag paraan ng tabular simplex.

Isaalang-alang natin ang algorithm ng tabular simplex na paraan gamit ang halimbawa ng solusyon gawain sa produksyon, na bumababa sa paghahanap ng plano sa produksyon na nagsisiguro ng pinakamataas na kita.

Input ang data para sa problema ng simplex method

Gumagawa ang kumpanya ng 4 na uri ng mga produkto, pinoproseso ang mga ito sa 3 makina.

Ang mga pamantayan sa oras (min./piraso) para sa pagproseso ng mga produkto sa mga makina ay tinukoy ng matrix A:

Ang pondo sa oras ng pagpapatakbo ng makina (min.) ay tinukoy sa matrix B:

Ang kita mula sa pagbebenta ng bawat yunit ng produkto (RUB/piraso) ay ibinibigay ng matrix C:

Layunin ng gawain sa produksyon

Gumuhit ng isang plano sa produksyon na magpapalaki sa kita ng negosyo.

Paglutas ng problema gamit ang tabular simplex method

(1) Tukuyin natin sa pamamagitan ng X1, X2, X3, X4 ang nakaplanong bilang ng mga produkto ng bawat uri. Pagkatapos ang nais na plano: ( X1, X2, X3, X4)

(2) Isulat natin ang mga hadlang sa plano sa anyo ng isang sistema ng mga equation:

(3) Kung gayon ang target na kita ay:

Iyon ay, ang tubo mula sa pagtupad sa plano ng produksyon ay dapat na maximum.

(4) Upang malutas ang nagresultang conditional extremum na problema, pinapalitan namin ang sistema ng mga hindi pagkakapantay-pantay ng isang sistema ng mga linear na equation sa pamamagitan ng pagpapasok ng mga karagdagang di-negatibong variable dito ( X5, X6, X7).

(5) Tanggapin natin ang mga sumusunod sangguniang plano:

X1 = 0, X2 = 0, X3 = 0, X4 = 0, X5 = 252, X6 = 144, X7 = 80

(6) Ipasok natin ang data sa simpleng mesa:

Sa huling linya ipinasok namin ang mga coefficient ng layunin ng function at ang halaga nito mismo na may kabaligtaran na tanda;

(7) Pumili sa huling linya pinakadakila (modulo) ay isang negatibong numero.

Magkalkula tayo b = N / Items_of_the_selected_column

Kabilang sa mga kinakalkula na halaga ng b na pinili namin hindi bababa sa.

Ang intersection ng napiling column at row ay magbibigay sa amin ng elemento ng paglutas. Binago namin ang batayan sa isang variable na tumutugma sa elemento ng paglutas ( X5 hanggang X1).

  • Ang mismong elemento ng paglutas ay nagiging 1.
  • Para sa mga elemento ng linya ng resolusyon – a ij (*) = a ij / RE ( ibig sabihin, hinahati namin ang bawat elemento sa halaga ng elemento ng paglutas at kumuha ng bagong data).
  • Para sa mga elemento ng column ng resolution, nire-reset lang ang mga ito sa zero.
  • Muli naming kinakalkula ang natitirang mga elemento ng talahanayan gamit ang panuntunan ng parihaba.

a ij (*) = a ij – (A * B / RE)

Tulad ng nakikita mo, kinukuha namin ang kasalukuyang cell na muling kinakalkula at ang cell na may elemento ng paglutas. Bumubuo sila ng magkasalungat na sulok ng parihaba. Susunod, pinarami namin ang mga halaga mula sa mga cell ng iba pang 2 sulok ng parihaba na ito. Ang gawaing ito ( A * B) hatiin sa elemento ng paglutas ( RE). At ibawas mula sa kasalukuyang cell na muling kinakalkula ( isang ij) anong nangyari. Kumuha kami ng bagong halaga - isang ij (*).

(9) Suriin muli ang huling linya ( c) sa pagkakaroon ng mga negatibong numero. Kung wala sila doon, natagpuan ang pinakamainam na plano; Kung mayroon, ang plano ay hindi pa optimal, at ang simplex na talahanayan ay kailangang muling kalkulahin.

Dahil mayroon kaming mga negatibong numero sa huling linya, magsisimula kami ng bagong pag-ulit ng mga kalkulasyon.

(10) Dahil walang negatibong elemento sa huling linya, nangangahulugan ito na natagpuan namin ang pinakamainam na plano sa produksyon! Namely: gagawa kami ng mga produktong iyon na lumipat sa column na "Basis" - X1 at X2. Alam natin ang tubo mula sa produksyon ng bawat yunit ng output ( matris C). Ito ay nananatiling upang i-multiply ang nahanap na dami ng produksyon ng mga produkto 1 at 2 na may tubo bawat 1 piraso, nakuha namin ang pangwakas ( maximum! ) tubo para sa isang ibinigay na plano ng produksyon.

SAGOT:

X1 = 32 pcs., X2 = 20 pcs., X3 = 0 pcs., X4 = 0 pcs.

P = 48 * 32 + 33 * 20 = 2,196 kuskusin.

Galyaudinov R.R.


© Ang pagkopya ng materyal ay pinahihintulutan lamang kung ang isang direktang hyperlink sa


. Simplex method algorithm

Halimbawa 5.1. Lutasin ang sumusunod na linear programming problem gamit ang simplex method:

Solusyon:

ako pag-ulit:

x3, x4, x5, x6 x1,x2. Ipahayag natin ang mga pangunahing variable sa mga tuntunin ng mga libre:

Bawasan natin ang layunin ng function sa sumusunod na anyo:

Batay sa nakuhang problema, bubuo tayo ng paunang simplex na talahanayan:

Talahanayan 5.3

Orihinal na simplex na talahanayan

Mga Relasyon sa Pagsusuri

Ayon sa kahulugan ng pangunahing solusyon, ang mga libreng variable ay katumbas ng zero, at ang mga halaga ng mga pangunahing variable ay katumbas ng kaukulang mga halaga ng mga libreng numero, i.e.:

Stage 3: pagsuri sa compatibility ng PAP restrictions system.

Sa pag-ulit na ito (sa Talahanayan 5.3), ang tanda ng hindi pagkakapare-pareho ng sistema ng pagpilit (sign 1) ay hindi natukoy (ibig sabihin, walang linya na may negatibong libreng numero (maliban sa linya ng layunin ng function) kung saan hindi maging kahit isang negatibong elemento (i.e. negatibong koepisyent para sa isang libreng variable)).

Sa pag-ulit na ito (sa Talahanayan 5.3), hindi natukoy ang senyales ng unboundedness ng objective function (sign 2) (ibig sabihin, walang column na may negatibong elemento sa row ng objective function (maliban sa column ng mga libreng numero. ) kung saan hindi magkakaroon ng kahit isang positibong elemento) .

Dahil ang nahanap na pangunahing solusyon ay hindi naglalaman ng mga negatibong sangkap, ito ay tinatanggap.

Stage 6: pagsusuri ng pinakamainam.

Ang nahanap na pangunahing solusyon ay hindi pinakamainam, dahil ayon sa pinakamainam na pamantayan (sign 4) ay hindi dapat magkaroon ng mga negatibong elemento sa linya ng layunin ng pag-andar (ang libreng numero ng linyang ito ay hindi isinasaalang-alang kapag isinasaalang-alang ang pamantayang ito). Samakatuwid, ayon sa algorithm ng simplex na pamamaraan, lumipat kami sa yugto 8.

Dahil tinatanggap ang nahanap na pangunahing solusyon, hahanapin namin ang column ng paglutas ayon sa sumusunod na scheme: tinutukoy namin ang mga column na may mga negatibong elemento sa hilera ng layunin na function (maliban sa column ng mga libreng numero). Ayon sa Talahanayan 5.3, mayroong dalawang ganoong column: column “ x1"at column" x2" Mula sa naturang mga column, pipiliin ang isa na naglalaman ng pinakamaliit na elemento sa row ng target na function. Siya ang magiging permissive. Column" x2" naglalaman ng pinakamaliit na elemento (–3) kumpara sa column " x1

Upang matukoy ang linya ng paglutas, nakita namin ang mga positibong tinantyang ratio ng mga libreng numero sa mga elemento ng column ng paglutas ng linya na tumutugma sa pinakamaliit na positibong ratio ng pagsusuri ay tinatanggap bilang nalutas.

Talahanayan 5.4

Orihinal na simplex na talahanayan

Sa Talahanayan 5.4, ang pinakamaliit na positibong evaluative na relasyon ay tumutugma sa linyang " x5", samakatuwid, ito ay magiging permissive.

Ang elementong matatagpuan sa intersection ng column na nagpapagana at ang row na nagpapagana ay tinatanggap bilang pagpapagana. Sa aming halimbawa, ito ang elemento na matatagpuan sa intersection ng linya " x5"at mga hanay" x2».

Ang elemento ng paglutas ay nagpapakita ng isang batayan at isang libreng variable na dapat ipagpalit sa simplex table upang lumipat sa isang bagong "pinahusay" na batayan na solusyon. Sa kasong ito, ang mga ito ay mga variable x5 At x2, sa bagong simplex na talahanayan (Talahanayan 5.5) pinapalitan namin ang mga ito.

9.1. Pagbabago ng elemento ng paglutas.

Ang elemento ng resolusyon ng Talahanayan 5.4 ay kino-convert bilang sumusunod:

Ipinasok namin ang resultang resulta sa isang katulad na cell sa Talahanayan 5.5.

9.2. Resolution string conversion.

Hinahati namin ang mga elemento ng row ng paglutas ng talahanayan 5.4 sa pamamagitan ng elemento ng paglutas ng talahanayan ng simplex na ito, ang mga resulta ay magkasya sa mga katulad na mga cell ng bagong talahanayan ng simplex (talahanayan 5.5). Ang mga pagbabago sa mga elemento ng string ng resolusyon ay ibinibigay sa Talahanayan 5.5.

9.3. Pag-convert ng column ng resolution.

Hinahati namin ang mga elemento ng column ng resolution ng Table 5.4 sa elemento ng resolution ng simplex table na ito, at ang resulta ay kinuha gamit ang kabaligtaran na sign. Ang mga resulta na nakuha ay umaangkop sa mga katulad na mga cell ng bagong simplex na talahanayan (Talahanayan 5.5). Ang mga pagbabagong-anyo ng mga elemento ng hanay ng resolusyon ay ibinibigay sa Talahanayan 5.5.

9.4. Pagbabago ng natitirang mga elemento ng simplex table.

Ang pagbabagong-anyo ng natitirang mga elemento ng simplex table (i.e., mga elemento na hindi matatagpuan sa paglutas ng row at paglutas ng column) ay isinasagawa ayon sa panuntunang "rektanggulo".

Halimbawa, isaalang-alang ang pagbabago ng isang elemento na matatagpuan sa intersection ng linya " x3" at mga hanay "", kundisyon naming tukuyin ito " x3" Sa Talahanayan 5.4, gumuhit tayo ng isang parihaba, isang vertex na matatagpuan sa cell na ang halaga ay binabago natin (i.e. sa cell " x3"), at ang isa pa (diagonal vertex) ay nasa isang cell na may elemento ng paglutas. Ang iba pang dalawang vertices (ng pangalawang dayagonal) ay natatanging tinutukoy. Pagkatapos ay ang binagong halaga ng cell " x3" ay magiging katumbas ng nakaraang halaga ng cell na ito na binawasan ang fraction, sa denominator na kung saan ay ang paglutas ng elemento (mula sa Talahanayan 5.4), at sa numerator ay ang produkto ng dalawang iba pang hindi nagamit na vertices, i.e.:

« x3»: .

Ang mga halaga ng iba pang mga cell ay na-convert nang katulad:

« x3 x1»: ;

« x4»: ;

« x4 x1»: ;

« x6»: ;

« x6 x1»: ;

«»: ;

« x1»: .

Bilang resulta ng mga pagbabagong ito, isang bagong simplex na talahanayan ang nakuha (Talahanayan 5.5).

II pag-ulit:

Stage 1: pagguhit ng simplex table.

Talahanayan 5.5

Simplex na talahanayanII mga pag-ulit

Tinatantya

relasyon

Stage 2: pagpapasiya ng pangunahing solusyon.

Bilang resulta ng mga pagbabagong simplex, isang bagong pangunahing solusyon ang nakuha (Talahanayan 5.5):

Tulad ng nakikita mo, sa pangunahing solusyon na ito ang halaga ng layunin ng function = 15, na mas malaki kaysa sa nakaraang pangunahing solusyon.

Ang hindi pagkakapare-pareho ng sistema ng mga paghihigpit alinsunod sa tampok 1 sa Talahanayan 5.5 ay hindi natukoy.

Stage 4: pagsuri sa boundedness ng layunin function.

Ang unboundedness ng layunin function alinsunod sa criterion 2 sa Table 5.5 ay hindi ipinahayag.

Stage 5: pagsuri sa admissibility ng nahanap na pangunahing solusyon.

Ang nahanap na pangunahing solusyon alinsunod sa criterion 4 ay hindi optimal, dahil ang linya ng layunin ng function ng simplex table (Talahanayan 5.5) ay naglalaman ng negatibong elemento: –2 (ang libreng numero ng linyang ito ay hindi isinasaalang-alang kapag isinasaalang-alang ito katangian). Samakatuwid, lumipat tayo sa ika-8 yugto.

Stage 8: pagpapasiya ng elemento ng paglutas.

8.1. Kahulugan ng hanay ng resolusyon.

Ang nahanap na pangunahing solusyon ay katanggap-tanggap; tinutukoy namin ang mga haligi na may mga negatibong elemento sa hilera ng layunin na pag-andar (maliban sa hanay ng mga libreng numero). Ayon sa Talahanayan 5.5, mayroon lamang isang kolum: " x1" Samakatuwid, tinatanggap namin ito bilang pinahihintulutan.

8.2. Kahulugan ng isang enable string.

Ayon sa nakuha na mga halaga ng positibong evaluative na relasyon sa Talahanayan 5.6, ang pinakamababa ay ang kaugnayan na naaayon sa linya " x3" Samakatuwid, tinatanggap namin ito bilang pinahihintulutan.

Talahanayan 5.6

Simplex na talahanayanII mga pag-ulit

Tinatantya

relasyon

3/1=3 – min

Stage 9: pagbabago ng simplex table.

Ang mga pagbabago sa simplex table (Talahanayan 5.6) ay ginaganap sa parehong paraan tulad ng sa nakaraang pag-ulit. Ang mga resulta ng mga pagbabagong-anyo ng mga elemento ng simplex na talahanayan ay ibinibigay sa Talahanayan 5.7.

III pag-ulit

Batay sa mga resulta ng mga pagbabagong simplex ng nakaraang pag-ulit, nag-compile kami ng bagong talahanayan ng simplex:

Talahanayan 5.7

Simplex na talahanayanIII mga pag-ulit

Tinatantya

relasyon

Stage 2: pagpapasiya ng pangunahing solusyon.

Bilang resulta ng mga pagbabagong simplex, isang bagong pangunahing solusyon ang nakuha (Talahanayan 5.7):

Stage 3: suriin ang pagiging tugma ng sistema ng mga paghihigpit.

Ang hindi pagkakapare-pareho ng sistema ng mga paghihigpit alinsunod sa tampok 1 sa Talahanayan 5.7 ay hindi natukoy.

Stage 4: pagsuri sa boundedness ng layunin function.

Ang unboundedness ng layunin function alinsunod sa criterion 2 sa Table 5.7 ay hindi ipinahayag.

Stage 5: pagsuri sa admissibility ng nahanap na pangunahing solusyon.

Ang nahanap na pangunahing solusyon alinsunod sa criterion 3 ay tinatanggap, dahil hindi ito naglalaman ng mga negatibong sangkap.

Stage 6: pagsuri sa pinakamainam ng nahanap na pangunahing solusyon.

Ang nahanap na pangunahing solusyon alinsunod sa criterion 4 ay hindi optimal, dahil ang linya ng layunin ng function ng simplex table (Talahanayan 5.7) ay naglalaman ng negatibong elemento: –3 (ang libreng numero ng linyang ito ay hindi isinasaalang-alang kapag isinasaalang-alang ito. katangian). Samakatuwid, lumipat tayo sa ika-8 yugto.

Stage 8: pagpapasiya ng elemento ng paglutas.

8.1. Kahulugan ng hanay ng resolusyon.

Ang nahanap na pangunahing solusyon ay katanggap-tanggap; tinutukoy namin ang mga haligi na may mga negatibong elemento sa hilera ng layunin na pag-andar (maliban sa hanay ng mga libreng numero). Ayon sa Talahanayan 5.7, mayroon lamang isang ganoong column: “ x5" Samakatuwid, tinatanggap namin ito bilang pinahihintulutan.

8.2. Kahulugan ng isang enable string.

Ayon sa nakuha na mga halaga ng positibong ebalwasyon na mga relasyon sa Talahanayan 5.8, ang pinakamababa ay ang kaugnayan na naaayon sa linya " x4" Samakatuwid, tinatanggap namin ito bilang pinahihintulutan.

Talahanayan 5.8

Simplex na talahanayanIII mga pag-ulit

Tinatantya

relasyon

5/5=1 – min

Stage 9: pagbabago ng simplex table.

Ang mga pagbabagong-anyo ng simplex table (Talahanayan 5.8) ay ginaganap sa parehong paraan tulad ng sa nakaraang pag-ulit. Ang mga resulta ng mga pagbabagong-anyo ng mga elemento ng simplex na talahanayan ay ibinibigay sa Talahanayan 5.9.

IV pag-ulit

Stage 1: pagbuo ng bagong simplex table.

Batay sa mga resulta ng mga pagbabagong simplex ng nakaraang pag-ulit, nag-compile kami ng bagong talahanayan ng simplex:

Talahanayan 5.9

Simplex na talahanayanIV mga pag-ulit

Tinatantya

relasyon

–(–3/5)=3/5

–(1/5)=–1/5

–(9/5)=–9/5

–(–3/5)=3/5

Stage 2: pagpapasiya ng pangunahing solusyon.

Bilang resulta ng mga pagbabagong simplex, isang bagong pangunahing solusyon ang nakuha ayon sa Talahanayan 5.9, ang solusyon ay ang mga sumusunod:

Stage 3: suriin ang pagiging tugma ng sistema ng mga paghihigpit.

Ang hindi pagkakapare-pareho ng sistema ng mga paghihigpit alinsunod sa tampok 1 sa Talahanayan 5.9 ay hindi natukoy.

Stage 4: pagsuri sa boundedness ng layunin function.

Ang unboundedness ng layunin function alinsunod sa criterion 2 sa Table 5.9 ay hindi ipinahayag.

Stage 5: pagsuri sa admissibility ng nahanap na pangunahing solusyon.

Ang nahanap na pangunahing solusyon alinsunod sa criterion 3 ay tinatanggap, dahil hindi ito naglalaman ng mga negatibong sangkap.

Stage 6: pagsuri sa pinakamainam ng nahanap na pangunahing solusyon.

Ang nahanap na pangunahing solusyon alinsunod sa tampok 4 ay pinakamainam, dahil walang mga negatibong elemento sa linya ng layunin ng function ng simplex table (Talahanayan 5.9) (ang libreng numero ng linyang ito ay hindi isinasaalang-alang kapag isinasaalang-alang ang tampok na ito) .

Stage 7: pagsuri sa kahalili ng solusyon.

Ang solusyon na natagpuan ay natatangi, dahil walang zero na elemento sa linya ng layunin ng function (Talahanayan 5.9) (ang libreng numero ng linyang ito ay hindi isinasaalang-alang kapag isinasaalang-alang ang katangiang ito).

Sagot: ang pinakamainam na halaga ng layunin ng pag-andar ng problemang isinasaalang-alang =24, na nakamit sa.

Halimbawa 5.2. Lutasin ang problema sa linear programming sa itaas sa kondisyon na ang layunin ng function ay pinaliit:

Solusyon:

ako pag-ulit:

Stage 1: pagbuo ng paunang simplex table.

Ang orihinal na problema sa linear programming ay ibinibigay sa karaniwang anyo. Dalhin natin ito sa canonical form sa pamamagitan ng paglalagay ng karagdagang di-negatibong variable sa bawat isa sa mga hadlang sa hindi pagkakapantay-pantay, i.e.

Sa nagresultang sistema ng mga equation ay kinukuha namin bilang pinapayagan (basic) na mga variable x3, x4, x5, x6, kung gayon ang mga libreng variable ay magiging x1,x2. Ipahayag natin ang mga pangunahing variable sa mga tuntunin ng mga libre.

Isaalang-alang natin simplex na pamamaraan para sa paglutas ng mga problema sa linear programming (LP). Ito ay batay sa paglipat mula sa isang reference plan patungo sa isa pa, kung saan tumataas ang halaga ng layunin ng function.

Ang algorithm ng simplex method ay ang mga sumusunod:

  1. Binabago namin ang orihinal na problema sa canonical form sa pamamagitan ng pagpapakilala ng mga karagdagang variable. Para sa mga hindi pagkakapantay-pantay ng form ≤, ang mga karagdagang variable ay ipinakilala na may isang senyas (+), ngunit kung sa form na ≥, pagkatapos ay may isang sign (-). Ang mga karagdagang variable ay ipinakilala sa layunin ng function na may kaukulang mga palatandaan na may isang koepisyent na katumbas ng 0 , dahil hindi dapat baguhin ng target na function ang pang-ekonomiyang kahulugan nito.
  2. Ang mga vector ay nakasulat P i mula sa mga coefficient ng mga variable at column ng mga libreng termino. Tinutukoy ng pagkilos na ito ang bilang ng mga vector ng unit. Ang panuntunan ay dapat mayroong kasing dami ng mga vector ng yunit na may mga hindi pagkakapantay-pantay sa sistema ng mga hadlang.
  3. Pagkatapos nito, ang source data ay ipinasok sa isang simplex table. Ang mga vector ng yunit ay ipinakilala sa batayan, at sa pamamagitan ng pagbubukod sa mga ito mula sa batayan, ang pinakamainam na solusyon ay matatagpuan. Ang mga coefficient ng layunin ng function ay isinulat na may kabaligtaran na tanda.
  4. Ang isang tanda ng optimality para sa isang problema sa LP ay ang solusyon ay pinakamainam kung nasa f– sa row lahat ng coefficient ay positibo. Panuntunan para sa paghahanap ng pagpapagana ng column - tiningnan f– isang string at kabilang sa mga negatibong elemento nito ang pinipili ang pinakamaliit. Vector P i nagiging permissive ang nilalaman nito. Ang panuntunan para sa pagpili ng isang elemento ng paglutas - ang mga ratio ng mga positibong elemento ng haligi ng paglutas sa mga elemento ng vector ay pinagsama-sama P 0 at ang bilang na nagbibigay ng pinakamaliit na ratio ay nagiging elemento ng paglutas kung saan muling kakalkulahin ang simplex table. Ang linyang naglalaman ng elementong ito ay tinatawag na enable line. Kung walang positibong elemento sa column ng resolusyon, walang solusyon ang problema. Matapos matukoy ang elemento ng paglutas, nagpapatuloy sila sa muling pagkalkula ng isang bagong talahanayan ng simplex.
  5. Mga panuntunan para sa pagpuno ng bagong simplex table. Ang yunit ay inilalagay sa lugar ng paglutas ng elemento, at ang iba pang mga elemento ay ipinapalagay na pantay 0 . Ang paglutas ng vector ay idinagdag sa batayan, kung saan ang katumbas na zero vector ay hindi kasama, at ang natitirang mga batayan ng vector ay isinulat nang walang mga pagbabago. Ang mga elemento ng string ng resolution ay hinati sa elemento ng resolution, at ang natitirang mga elemento ay muling kinakalkula ayon sa panuntunan ng parihaba.
  6. Ginagawa ito hanggang sa f– lahat ng elemento ng string ay hindi magiging positibo.

Isaalang-alang natin ang paglutas ng problema gamit ang algorithm na tinalakay sa itaas.
Ibinigay:

Dinadala namin ang problema sa canonical form:

Binubuo namin ang mga vectors:

Punan ang simplex table:

:
Recalculate natin ang unang elemento ng vector P 0, kung saan gumawa kami ng isang parihaba ng mga numero: at nakukuha namin: .

Nagsasagawa kami ng mga katulad na kalkulasyon para sa lahat ng iba pang elemento ng simplex table:

Sa natanggap na plano f– ang linya ay naglalaman ng isang negatibong elemento – (-5/3), vector P 1. Naglalaman ito sa column nito ng isang positibong elemento, na magiging elementong magpapagana. Muli nating kalkulahin ang talahanayan tungkol sa elementong ito:

Walang negatibong elemento sa f– ang ibig sabihin ng linya ay natagpuan pinakamainam na plano:
F* = 36/5, X = (12/5, 14/5, 8, 0, 0).

  • Ashmanov S. A. Linear programming, M: Nauka, 1998,
  • Ventzel E.S. Pananaliksik sa Operasyon, M: Radio ng Sobyet, 2001,
  • Kuznetsov Yu.N., Kuzubov V.I., Voloshenko A.B. Mathematical programming, M: Higher School, 1986.

Pasadyang Linear Programming Solution

Maaari kang mag-order ng anumang mga takdang-aralin sa disiplinang ito sa aming website. Maaari kang mag-attach ng mga file at tukuyin ang mga deadline sa