Definicija. Linearni program je v standardni obliki, če
Trditev. Vsak linearni program lahko ekvivalentno zapišemo v standardni obliki.
Dokaz.
Zapišimo prejšnji primer v standardni obliki.
V splošnem lahko zapišemo linearni program v standardni obliki kot
Definirajmo:
Potem lahko zapišemo linearni program v matrični obliki:
Definicija. Množica
Torej: množica
Konveksne množice v
Krogla v
Polprostor v
Trditev. Presek konveksnih množic je konveksen:
Dokaz. Preveriti moramo: za vsaka
Unija konveksnih množic ni nujno konveksna!
Trditev. Naj bo
Dokaz.
Če optimalnih rešitev ni, potem je množica optimalnih rešitev prazna, torej konveksna. Sicer naj bo
in je zato konveksna množica.
Primer.

Denimo, da imamo linearni program v standardni obliki
kjer velja
Dan je sledeči linearni program.
Ciljno funkcijo in omejitve lahko skaliramo brez vpliva na pomen spremenljivk:
Neenakosti spremenimo v enakosti z uvedbo novih nenegativnih spremenljivk.
Prvi slovar:
V zgornjem sistemu enačb nastopajo sledeče spremenljivke:
Slovar je izražava
V prvem slovarju velja:
Slovar je dopusten, če so konstantni koeficienti baznih spremenljivk nenegativni. Prvi slovar je dopusten zaradi predpostavke
Dopusten slovar nam da bazno dopustno rešitev, ki jo dobimo tako, da nebaznim spremenljivkam dodelimo vrednost
Izberemo nebazno spremenljivko s pozitivnim koeficientom pri funkcionalu
Izbrani spremenljivki pravimo vstopna spremenljivka.
Vrstici, ki izbrano vstopno spremenljivko najbolj omejuje, pravimo pivotna vrstica, pripadajoči bazni spremenljivki pa izstopna spremenljivka.
Če imamo več pivotnih vrstic (tj., več baznih spremenljivk najbolj omejuje vstopno spremenljivko), potem za izstopno spremenljivko izberemo poljubno izmed njih.
V našem primeru za vstopno spremenljivko izberemo
Edini kandidat za izstopno spremenljivko je
Vstopna spremenljivka vstopi v bazo, izstopna iz nje izstopi.
Rešimo enačbo za vstopno spremenljivko in vstavimo v enačbe za ostale bazne spremenljivke in funkcional
Konstantni koeficient bazne spremenljivke je enak
Vrednost v bazni dopustni rešitvi se ne poveča - izrojen korak.
Nobena vrstica na omejuje vstopne spremenljivke:
Tedaj je linearni program neomejen - končamo simpleksno metodo.
Neomejeno družino dopustnih rešitev dobimo tako, da vstopno spremenljivko pustimo kot nenegativen parameter brez zgornje meje, ostalim nebaznim spremenljivkam pa dodelimo vrednost
Kako iz zadnjega slovarja za optimalni problem dobimo vse optimalne rešitve?
Denimo, da imamo sledeči zadnji slovar.
Ali se simpleksna metoda vedno ustavi? NE.
Možnih slovarjev je
Ciklanje je izjemno redko. Dokazati se da, da do ciklanja ne bo prišlo, če za vstopne in izstopne spremenljivke uporabimo pravilo najmanjšega indeksa (Blandovo pravilo).
Časovne zahtevnosti algoritmov:
Ali je simpleksna metoda hitra?
Primer. (Klee-Minty) Za
Obstajajo algoritmi za reševanje linearnih programov, ki so dokazljivo polinomski.
Uporabljamo jo za linearne programe v standardni obliki, za katere ne velja
Imamo dve vitaminski tableti, Polivit in Oligovit, ki vsebujejo različne količine vitaminov A, B in C.
| A | B | C | cena za tableto | |
|---|---|---|---|---|
| Polivit | 1 | 4 | 1 | 12 |
| Oligovit | 1 | 1 | 2 | 10 |
| dnevne potrebe | 7 | 13 | 8 |
Kako najceneje zadostiti dnevnim potrebam?
Zapišimo kot linearni program.
Zapišimo še ekvivalentni linearni program v standardni obliki.
Ker v zgornjem linearnem programu velja
Pomožni problem je vedno dopusten (
Pomožni problem ima optimalno vrednost
Zapišimo začetni slovar za prvo fazo - ta slovar ni dopusten:
V prvem koraku prve faze v bazo vstopi
Nadaljujemo enako kot pri osnovni simpleksni metodi.
V našem primeru po metodi največjega povečanja izberemo
Optimalna vrednost pomožnega problema je
Začetni slovar druge faze dobimo tako, da v zadnjem slovarju prve faze vzamemo
Imamo zadnji slovar druge faze, preberemo optimalno rešitev:
Prva faza se vedno konča, ko ne moremo več izbrati vstopne spremenljivke (ker je problem omejen).

Naj bo
Iščemo zgornje meje za ciljno funkcijo:
Če velja
potem
Hočemo čim manjšo zgornjo mejo.
Prvotnemu linearnemu programu
Definicija. Za prvotni linearni program
Trditev.
Dokaz.
Zapišimo
Potem je
Naj bo
Če je
Dokaz.
Posledica 1. Če sta
Dokaz.
Opomba. S to posledico lahko preverimo optimalnost ponujenih dopustnih rešitev
Posledica 2. Če je
Dokaz. Če je
Zadnji slovar za problem kmetije:
Zadnji slovar za dual problema kmetije:
Videti je, da so koeficienti dopolnilnih spremenljivk v zadnjem slovarju ravno negacija optimalne rešitve dualnega problema.
Simpleksna metoda za
kjer velja
Naj bo
Pokazali bomo, da je
Velja
Ker velja
Ker velja
Ker velja
ŠID:
KID:
Imamo torej sledeče možnosti:
| nedopusten | neomejen | optimalen | |
|---|---|---|---|
| nedopusten | ✗ (KID) | ||
| neomejen | ✗ (ŠID) | ✗ (KID/ŠID) | |
| optimalen | ✗ (KID) | ✗ (KID/ŠID) |
Izrek. Za linearna programa
Naj bo
ter naj bosta
Potem sta
Ekvivalentno: potem sta
Po Posledici 1 in KID sta
Pokaži, da je
1. korak: preverimo, da je ponujena rešitev dopustna.
2. korak: za vsako neenakost, ki je izpolnjena z
3. korak: za vsako pozitivno vrednost v rešitvi postavimo enačaj v pripadajoči neenakosti.
4. korak: rešimo sistem iz korakov 2 in 3 ter preverimo dopustnost rešitve.
Primer. Problem kmetije:
Ne izplača se nam najeti več delovne sile ali vzeti kredita. Morda se nam izplača dokupiti dodatno zemljo.
Izrek. Naj bo
kjer je
V našem primeru:
Torej: optimalne vrednosti duala nam dajo "tržno"/"pošteno"/sprejemljivo ceno surovin.
Izrek. Naj bo
Naj bosta
Potem sta
Torej:
Zapišimo še dual - ta je enakovreden našemu zapisu