Programowanie liniowe

F(x) = c1x1+c2x2 + ... + cnxn (MAX) - funkcja celu

a11x1 + a12x2 + .... + a1nxn b1,

a21x1 + a22x2 + .... + a2nxn b2,

...............................................

am1x1 + am2x2 + ....+ amnxn bm,

x1 , x2 , … , xn ≥ 0

F(x) = cTx (max)

Ograniczenia: Ax b, x 0

a11x1 + a12x2 + .... + a1nxn +z1 = b1,

a21x1 + a22x2 + .... + a2nxn + z2 = b2,

...............................................

am1x1 + am2x2 + ....+ amnxn + zm = bm,

x1 , x2 , … , xn ≥ 0

z1 , z2 , … , zm ≥ 0

I =(na przekątnej 1 a zera pozostałe elementy)

o wymiarze m x m

[A|I]0x01 graphic
= b

Rozwiązania bazowe to rozwiązania, w których zmienne swobodne są przyjęte jako 0.

Tych rozwiązań jest maksymalnie

(n+m)!/[(r!(m+n-r)!],

gdzie r = rząd [A|I]=m.

Wśród rozwiązań bazowych wybieramy dopuszczalne (≥ 0),

i dla nich analizujemy wartość funkcji celu aby znaleźć rozwiązanie zapewniające jej wartość maksymalną

Jedno z nich zapewnia optymalną wartość funkcji celu.

Może się zdarzyć, że więcej niż jedno rozwiązanie zapewnia optymalną wartość funkcji celu.

Na przykład n=3, m=2, r=2, liczba rozw.=10.

x1+2x3+3z1-z2 = 10

x2 +3x3+z1+2z2 =5

(10,5,0,0,0)

(0,25,0,0,-10) -niedopuszczalne

ROZWIĄZANIE UKŁADU RÓWNAŃ

METODĄ NAJMNIEJSZYCH KWADRATÓW

Ax = b

Ax - b = 0

Ax - b = MIN ?

|| Ax - b|| = MI N

Minimalizacja długości wektora

ATAx = ATb

ATA=B, c=ATb

Bx = c