simplex metoda_skripta

Upload: mala-plava

Post on 18-Jul-2015

300 views

Category:

Documents


0 download

TRANSCRIPT

Simpleks metoda Opa metoda - primjenjiva na bilo koji problem LP (prednost) Iterativna metoda postupak se izvodi u nekoliko koraka rezultati svakog koraka koriste se u sljedeem koraku dugotrajan proces greke prethodnog koraka prenose se u sljedei

Nedostaci

Simpleks metoda - postupak Standardni oblik prevede se u kanonski Odabere se jedno poetno mogue bazino rjeenje Provjerava se da li je to rjeenje optimalno tj. da li funkcija cilja poprima za tu vrijednost maksimum(minimum) Ako rjeenje nije optimalno prelazi se na novu iteraciju Trai se novo mogue rjeenje za koje funkcija cilja poprima veu vrijednost (maksimum) odnosno manju vrijednost (minimum) Nakon niza iteracija dolazi se do rjeenja koje se vie ne moe poboljati (uz uvjet da problem ima rjeenje)

41

Simpleks metodaStandardni oblikmax(5 x1 + 4 x2 + 3x3 ) _________________

2 x1 + 3 x 2 + x3 5 4 x1 + x 2 + 2 x3 11 3 x1 + 4 x 2 + 2 x3 8 x1 , x , x3 0

Kanonski oblik

max(5 x1 + 4 x2 + 3x3 + 0 x4 + 0 x5 + 0 x6 ) __________________________________ = 5 2 x1 + 3 x 2 + x3 + x 4 4 x1 + x 2 + 2 x3 + x5 = 11 3 x1 + 4 x 2 + 2 x3 + x6 = 8 x1 , x , x3 , x 4 , x5 , x 6 0

Simpleks metodax4 = x6 = z = 5 - 2 x1 - 3x2 - x3 8 - 3 x1 - 4 x2 - 2 x3 5 x1 + 4 x2 + 3x3 x 5 = 11 - 4 x1 - x2 - x3

x1 , x , x3 , x4 , x5 , x6 0

Ovaj sustav jednadbi ekvivalentan je zadanom problemu linearnog programiranja (standardni oblik). Funkcija cilja poprima istu ekstremnu vrijednost na skupu moguih rjeenja jednog i drugog sustava.

42

Simpleks metodaSvako mogue rjeenje x1 , x2 , x3 moe se proiriti na jedinstven nain u mogue rjeenje x1 , x2 , x3 , x4 , x5 , x6 stavljajuix4 = x6 = 5 - 2 x1 - 3 x2 - x3 8 - 3 x1 - 4 x2 - 2 x3 x 5 = 11 - 4 x1 - x2 - x3

Simpleks metodaSvako mogue rjeenjex1 , x2 , x3 , x4 , x5 , x6x1 , x2 , x3

moe se pretvoriti u mogue rjeenje stavljajuix 4 = 0, x 5 = 0 , x 6 = 0

43

Simpleks metodaZa sustavx4 x5 x6 z = 5 - 2 x1 - 3 x 2 - x3 = 11 - 4 x1 - x 2 - x3 = 8 - 3 x1 - 4 x 2 - 2 x3 = 5 x1 + 4 x 2 + 3x3 x1 , x 2 , x3 , x 4 , x5 , x 6 0

Odaberemo jedno poetno mogue rjeenje.Najjednostavnije je uzeti vrijednost 0 za varijable odluke (strukturne varijable).x1 = 0, x2 = 0, x3 = 0, x 4 = 5 , x 5 = 11 , x 6 = 8 z=0

Simpleks metodaSlijedei korak je traenje novog mogueg rjeenja koje e dati veu vrijednost funkcije cilja z.x1 = 1, x2 = 0, x3 = 0, x 4 = 3 , x 5 = 7 , x 6 = 5 z=5x1 = 2, x2 = 0, x3 = 0, x 4 = 1 , x 5 = 3 , x 6 = 2 z = 10

x1 = 3, x2 = 0, x3 = 0, x 4 = - 1 , x 5 = - 1 , x 6 = - 1 z = 15

44

Simpleks metodaZadnje rjeenje nije mogue jer su neke varijable negativne. Vrijednost varijable ne moemo neogranieno poveavati. Treba odrediti koja je gornja granica do koje se vrijednost varijable moe poveavati.x4 = x5 x6 5 2 11 = 11 - 4 x1 - x2 - x3 0 x1 4 8 = 8 - 3 x1 - 4 x2 - 2 x3 0 x1 3 5 - 2 x1 - 3x2 - x3 0 x1

25 1 5 x1 = , x2 = 0, x3 = 0, x 4 = 0 , x 5 = 1 , x 6 = z = 2 2 2

Simpleks metodaPostupak se nastavlja formiranjem novog sustava jednadbi u kojem se pozitivne varijable izraavaju preko varijabli koje su imale vrijednost nula.x1 = x5 5 2 = 1 1 1 3 - x2 - x3 - x4 2 2 2 + 5 x2 + 2 x4

x6 =

3 1 1 1 + x2 - x3 + x4 2 2 2 2 5 1 25 7 z = - x2 + x3 - x4 2 2 2 2 x1 , x , x3 , x4 , x5 , x6 0

45

Simpleks metodaTrai se moguost poveanja vrijednosti funkcije z odabirom neke od varijabli s desne strane.

x2 , x4 Ukoliko bi varijable promijenile svoju vrijednost od nule na pozitivnu, vrijednost z bi se smanjila, pa ostaje jedino mogunost poveanja varijable x3x1 = x5 5 2 = 1 3 1 1 - x2 - x3 - x4 0 x3 5 2 2 2 + 5 x2 + 2 x4 = 1 0

x6 =

1 1 1 3 + x2 - x3 + x4 0 x 3 1 2 2 2 2

x1 = 2, x2 = 0, x3 = 1, x 4 = 0 , x 5 = 1 , x 6 = 0 z = 13

Simpleks metodax 3 = 1 + x2 + 3 x4 - 2 x6 x1 = 2 - 2 x2 - 2 x4 + x6 x 5 = 1 + 5x 2 + 2 x4 z = 13 - 3x 2 - x 4 - x 6

Svako poveanje varijabli s desne strane na pozitivnu vrijednost smanjilo bi funkciju cilja z to pokazuje da je 13 maksimalna vrijednost i da je optimalno rjeenje

x1 = 2, x2 = 0, x3 = 1, x 4 = 0 , x 5 = 1 , x 6 = 0 z = 13

46

Shematizirana simpleks metoda (simpleks tablica)

Linearna zavisnost i nezavisnost vektora Linearna kombinacija vektora

1V1 + 2V2 + + nVnV1 , V2 , ,Vn m - dimenzionalni vektori koeficijenti linearne kombinacije

1 , 2 , , n

47

Linearna zavisnost i nezavisnost vektoraSkup od m-dimenzionalnih vektora

V1 , V2 , , Vnje linearno zavisan ako postoje brojevi

1 , 2 , , nKoji nisu svi nula i vrijedi1V1 + 2V2 + + nVn = 0

Linearna zavisnost i nezavisnost vektoraSkup od m-dimenzionalnih vektora

V1 , V2 , , Vnje linearno nezavisan ako iz1V1 + 2V2 + + nVn = 0

slijedi

1 , 2 , , n = 0

48

Linearno zavisni vektori0 2 1 V1 = 3 ,V2 = 0, V3 = 1 0 1 0,5

1 = 2, 2 = 1, 3 = 61 2 0 0 2 3 1 0 61 = 0 0,5 1 0 0

Linearno nezavisni vektori1 0 0 V1 = 0 ,V2 = 1 ,V3 = 0 0 0 1

1 0 + 2 1 + 3 1 = 0 0 0 0 0

1

0

0

0

1 = 0, 2 = 0, 3 = 0

49

Baza vektorskog prostora Svaki skup od m vektora u m-dimenzionalnom vektorskom prostoru koji je linearno nezavisan ini bazu tog prostora. Nijedan vektor iz baze ne moe se izraziti kao linearna kombinacija preostalih vektora baze Svaki vektor koji nije u bazi moe se izraziti kao linearna kombinacija vektora baze

Primjermax(5 x1 + 4 x 2 + 3x3 ) _________________ 2 x1 + 3 x 2 + x3 5 4 x1 + x 2 + 2 x3 11 3 x1 + 4 x 2 + 2 x3 8 x1 , x , x3 0

max(5 x1 + 4 x 2 + 3 x3 + 0 x 4 + 0 x5 + 0 x 6 ) __________________________________= 5 2 x1 + 3 x 2 + x3 + x 4 4 x1 + x 2 + 2 x3 + x5 = 11 3 x1 + 4 x 2 + 2 x3 + x6 = 8 x1 , x , x3 , x 4 , x5 , x6 0

50

Vektorski zapis 2 3 1 1 0 0 5 4 x1 + 1 x 2 + 2 x3 + 0 x 4 + 1 x5 + 0 x6 = 11 3 4 2 0 0 1 8 2 3 1 1 0 0 5 A1 = 4, A2 = 1 , A 3 = 2, A 4 = 0, A 5 = 1, A 6 = 0, B = 11 3 4 2 0 0 1 8

A1 x1 + A2 x 2 + A3 x3 + A4 x 4 + A5 x5 + A6 x6 = BA4 , A5 , A6 jedinini vektori linearno nezavisni i ine bazu trodimenzionalnog vektorskog prostora (bazini vektori)

Prikaz vektora pomou bazeA1 = 2A 4 + 4 A 5 + 3A 61 0 0 2 A1 = 2 0 + 4 1 + 3 0 = 4 0 0 1 3

A2 = 3A 4 + A 5 + 4A 6

1 0 0 3 A2 = 3 0 + 1 + 4 0 = 1 0 0 1 4

A3 = A 4 + 2 A 5 + A 6

0 1 1 0 0 + 2 1 + 2 0 = 2 A3 = 1 2 0 0

51

Bazino mogue rjeenjeBazino rjeenje koje odgovara odabranoj bazi0 0 X = 0 5 11 8

je mogue rjeenje jer zadovoljava uvjete ogranienja.

Bazino mogue rjeenje0 A1 + 0 A2 + 0 A3 + 5 A4 + 11 A5 + 8 A6 = B0 5 0 1 1 3 2 0 4 + 0 1 + 0 2 + 5 0 + 11 1 + 8 0 = 11 1 8 0 0 2 4 3

Komponente bazinog mogueg rjeenja X jesu koeficijenti linearne kombinacije. Simpleks metoda koristi bazina mogua rjeenja. U svakoj iteraciji odabire se novo bazino mogue rjeenje koje poboljava funkciju cilja. Svakom bazinom moguem rjeenju odgovara druga baza sastavljena od tri vektora iz skupaA1 , A2 , A3 , A4 , A5 , A6

52

Odreivanje nove baze1. Odrediti vektor koji e ui u bazu 2. Odrediti vektor koji e iz baze izai

Odreivanje vektora koji ulazi u bazuUlazak nekog nebazinog vektora u bazu znai promjenu nebazine varijable s 0 na neku novu vrijednost. Ako se nebazina varijabla promjeni s 0 na 1 (kaemo da aktivnost operira na razini 1) mora doi do odgovarajueg smanjenja bazinih varijabli. Smanjenje bazine varijable jednako je odgovarajuoj komponenti nebazinog vektora koji ulazi u bazu.

53

Odreivanje vektora koji ulazi u bazu 2 3 1 1 0 0 5 4 + 0 1 + 0 2 + (5 2) 0 + (11 4) 1 + (8 3) 0 = 11 (0 + 1) 3 4 2 0 0 1 8 2 3 1 1 0 0 5 4 + (0 + 1) 1 + 0 2 + (5 3) 0 + (11 1) 1 + (8 4) 0 = 11 0 3 4 2 0 0 1 8 0 5 0 1 1 3 2 0 4 + 0 1 + (0 + 1) 2 + (5 1) 0 + (11 2) 1 + (8 2) 0 = 11 1 8 0 0 2 4 3

Odreivanje vektora koji ulazi u bazuz = 5 x1 + 4 x 2 + 3 x3 + 0 x 4 + 0 x5 + 0 x6Poveanje vrijednosti funkcije cilja ovisno o izboru vektora koji ulazi u bazuA1 A2 A3 5 (0 + 1) + 4 0 + 3 0 + 0 x 4 + 0 x5 + 0 x6 = 5 = c1 5 0 + 4 (0 + 1) + 3 0 + 0 x 4 + 0 x5 + 0 x6 = 4 = c 2 5 0 + 4 0 + 3 (0 + 1) + 0 x 4 + 0 x5 + 0 x6 = 3 = c3

54

Odreivanje vektora koji ulazi u bazuz = 5 x1 + 4 x 2 + 3 x3 + 0 x 4 + 0 x5 + 0 x6Smanjenje vrijednosti funkcije cilja zbog smanjenja bazinih varijabli ovisno o vektoru koji ulazi u bazuA1 A2 A3 c4a11 + c5a21 + c6a31 = z1 c 4 a12 + c5 a 22 + c6 a32 = z 2 c 4 a13 + c5 a 23 + c6 a33 = z 3

z j = c 4 a1 j + c5 a 2 j + c6 a3 j

Odreivanje vektora koji ulazi u bazuU bazu ulazi vektor za kojeg je razlikazj cj

najvei negativni broj jer u tom sluaju funkcija cilja najvie poveava svoju vrijednost. Vektoru koji ulazi u bazu odgovara stupac

a1s a 2s a3s

55

Odreivanje vektora koji izlazi iz bazeb br = min i i a rs ais ais >0

Iz baze izlazi vektor koji se nalazi u retku za koji je kvocijent slobodnih koeficijenata (desna strana ogranienja) i odgovarajuih komponenti vektora koji izlazi iz baze minimalan uz uvjet da su komponente vektora pozitivne.

a rs

kljuni ili temeljni element.

1. simpleks tablicacjBaza 5 4 3 0 0 0

A12 4 3 0 -5

A23 1 4 0 -4

A31 2 2 0 -3

A41 0 0 0 0

A50 1 0 0 0

A60 0 1 0 0

DS

bi a is5/2 11/4 8/3

0 0 0

A4A5 A6

5 11 8 0

zjzj cj

56

2. simpleks tablicacjBaza 5 0 0 5 4 3 0 0 0

A11 0 0 5 0

A23/2 -5 -1/2 15/2 7/2

A31/2 0 1/2 5/2 -1/2

A41/2 -2 -3/2 5/2 5/2

A50 1 0 0 0

A60 0 1 0 0

DS 5/2 1 1/2 25/2

bi a is5

A1A5 A6

1

zjzj cj

3. simpleks tablicacjBaza 5 0 3 5 4 3 0 0 0

A11 0 0 5 0

A22 -5 -1 7 3

A30 0 1 3 0

A42 -2 -3 1 1

A50 1 0 0 0

A6-1 0 2 1 1

DS 2 1 1 13

bi a is

A1A5A3

zjzj cj

57

Rjeenjex1 = 2, x 2 = 0, x3 = 1, x 4 = 0, x5 = 1, x6 = 0 z = 5 2 + 4 0 + 3 1 = 13

Do rjeenja se dolo u tri iteracije. U svakoj iteraciji dobiveno je bazino mogue rjeenje. Sva tri rjeenja su nedegenerirana.0 0 X1 = 0 , 5 11 8 5 / 2 0 X2 = 0 0 1 1 / 2 , 2 0 X 3 = 1 0 1 0

A(0,0,0)

B(5/2,0,0)

C(2,0,1)

Pravila za formiranje simpleks tablice

58

Simpleks tablica1 1 2 3 2 3 4 .... ... ... ... ... n+3 n+4

cjBaza DS

bi a is

m+2 m+3

zj cj

Simpleks tablica Broj stupaca = n+4 (n je broj varijabli u kanonskom obliku strukturnih, dopunskih i umjetnih)) Broj redaka = m+3 (m je broj jednadbi ogranienja) 1. stupac - koeficijenti u funkciji cilja uz bazine vektore 2. stupac - vektori baze Stupci od 3. do (n+3) - komponente vektora strukturnih, dopunskih i umjetnih varijabli. (n+3) predzadnji stupac - koeficijenti desne strane sustava jednadbi ogranienja (n+4) zadnji stupac - kvocijent koeficijenata iz predzadnjeg stupca i korespodentne komponente u stupcu kljunog vektora (onaj koji ulazi u bazu)

59

Simpleks tablica 1. redak - koeficijenti uz strukturne, dopunske i umjetne varijable u funkciji cilja napisanoj u kanonskom obliku 2. redak - vektori svih varijabli Od 3. retka do (m+3) retka jesu koeficijenti uz varijable u jednadbama ogranienja (m+3) zadnji redak - redak kriterija optimalnosti

zj cj

Formiranje iteracija U svakoj iteraciji za vektore baze uzimaju se jedinini vektori U prvoj iteraciji jedinini vektori jesu vektori koji pripadaju dopunskim varijablama s koeficijentom 1u ogranienjima manje i vektori koji pripadaju umjetnim varijablama Svaka nova iteracija formira se promjenom vektorske baze i koritenjem simpleks algoritma

60

Simpleks algoritam Postupak izraunavanja novih vrijednosti elemenata simpleks tablice na osnovu vrijednosti iz prethodne tablice Primjenjuje se sljedei postupak transformacije Za elemente kljunog retka Za ostale elementeili' aij =

' a rj =

a rj a rs

,

j = 1,2,..., n

' aij = a ij

a rj a rs

ais

(i r ) ,

j = 1,2,..., n

aij a rs a rj ais a rs

Oitavanje vrijednosti rjeenja u simpleks tablici U svakoj iteraciji u (n+3) stupcu oitaju se vrijednosti varijabli koje pripadaju vektorima baze koji su navedeni u drugom stupcu Ostale varijable su 0 Vrijednost funkcije cilja u svakoj iteraciji nalazi se na presjeku (m+3) retka (redak optimalnosti) i (n+3) stupca (slobodni koeficijenti - desna strana jednadbi ogranienja)

61

Rjeavanje standardnog problema minimuma

Charnesova proceduramin(3x1 + 4 x 2 ) ____________2 x1 + x 2 6 x1 + 3x 2 8 x1 , x 2 0

1. Nejednadbe ogranienja prevodimo u jednadbe dodavanjem dopunskih varijabli s koeficijentom -12 x1 + x 2 - v1 x1 + 3 x 2 x1 , x 2 , v1 , v 2 0 = 6 - v2 = 8

x1 , x 2 0 v1 , v 2 0

strukturne varijable dopunske varijable

62

Charnesova procedura2. Vektori dopunskih varijabli su jedinini vektori s negativnim komponentama pa se s njima ne moe formirati nenegativno poetno bazino rjeenje. Uvode se umjetne varijable (nemaju ekonomsku interpretaciju). Slue samo u simpleks algoritmu kao kalkulativno sredstvo.

2 x1 + x 2 - v1 x1 + 3x 2 - v2

+ w1

= 6 + w2 = 8

x1 , x 2 , v1 , v 2 , w1 , w2 0

x1 , x 2 0

strukturne varijable dopunske varijable umjetne varijable

v1 , v 2 0w1 , w2 0

Charnesova procedura3. Dopunske varijable u funkciju cilja ulaze s koeficijentom 0, a

umjetne s proizvoljno odabranim pozitivnim brojem M. Ovim postupkom postie se da vektori umjetnih varijabli izau iz baze. Ako postoji mogue rjeenje originalnog problema, tada i proireni model ima nenegativno rjeenje. Ako poetni problem nema rjeenja, tada minimalno nenegativno rjeenje proirenog modela ima bar jednu umjetnu varijablu pozitivnu. U tom sluaju je umnoak te varijable i broja M u funkciji cilja po volji velik pozitivan broj, funkcija cilja neogranieno raste pa ne postoji minimum funkcije na skupu moguih rjeenja.

63

Kanonski oblik standardnog problema minimumamin(3 x1 + 4 x 2 + 0v1 + 0v 2 + Mw1 + Mw2 ) ________________________________

2 x1 + x 2 - v1 x1 + 3 x 2 - v2

+ w1

= 6 + w2 = 8

x1 , x 2 , v1 , v 2 , w1 , w2 0

Simpleks tablica za problem minimumacjBaza M M 3 4 0 0 M M

A12 1

A21 3

V1-1 0

V20 -1

W11 0

W20 1

DS 6 8

bi a is

W1W2

zj cj

64

1. iteracijacjBaza M M 3 4 0 0 M M

A12 1 3M -3

A21 3 4M -4

V1-1 0 -M 0

V20 -1 -M 0

W11 0 0 0

W20 1 0 0

DS 6 8 14M

bi a is6 8/3

W1W2

zj cj

2. iteracijacjBaza M 4 3 4 0 0 M M

A15/3 1/3 (5/3)M -5/3

A20 1 0 0

V1-1 0 -M 0

V21/3 -1/3 (1/3)M -4/3

W11 0 0 0

W2

DS 10/3 8/3 (10/3)M 32/3

bi a is2 8

W1A2

zj cj

65

3. iteracijacjBaza 3 4 3 4 0 0 M M

A11 0

A20 1

V1-3/5 1/5

V21/5 -2/5

W1

W2

DS 2 2

bi a is

A1A2

zj cj

0

0

-1

-1

14

Rjeenje

x1 = 2, x 2 = 2, v1 = 0, v 2 = 0, w1 = 0, w2 = 0 min z = 3 2 + 4 2 + 0 0 + 0 0 + M 0 + M 0 = 6 + 8 = 14

66

Grafiko rjeenjey 14 13 12 11 10 9 8 7 6 C 5 4 3 2 1 0 -1 -1 -2 -3 -4 -5 -6 -7 B

r c

p 3 x + 4 y = 36

-5 -4

-3 -2

1

2

3

4

5

6

7

A

8

9 10 11 12

13 14

x

p2pmin 3 x + 4 y = 14

p1

p0 3 x + 4 y = 0

Zadatakmin(2 x1 + 3 x 2 ) ____________x1 + x 2 4 3x1 + x 2 6 x1 + 3 x 2 3 x1 , x 2 0

min(2 x1 + 3 x 2 + 0v1 + 0v 2 + 0v3 + Mw1 + Mw2 + Mw3 ) ___________________________________________

x1 + x 2 v1 3 x1 + x 2 x1 + 3 x 2 v2 v3

+ w1 + w2

= 4 = 6 + w3 = 3

x1 , x 2 , v1 , v 2 , w1 , w2 0

67

Simpleks tablicacjBaza M M M 2 3 0 0 0 M M M DS 4 6 1 3

A11 3 -1

A21 1 3

V1-1 0 0

V20 -1 0

V30 0 -1

W11 0 0

W2 W30 1 0 0

bi a is

W1W2W3

zj cj

1.iteracijacjBaza M M M 2 3 0 0 0 M M M DS 4 6 3 13 0

A11 3 -1 3 -2

A21 1 3 5 -3

V1-1 0 0 -1 0

V20 -1 0 -1 0

V30 0 -1 -1 0

W11 0 0 0 0

W2 W30 1 0 0 0 0 0 1 0 0

bi a is4 6 1

W1W2W3

zj cj

68

2.iteracijacjBaza M M 3 2 3 0 0 0 M M M DS 3 5 1 8 3

A14/3 10/3 -1/3 14/3 -3

A20 0 1 0 0

V1-1 0 0 -1 0

V20 -1 0 -1 0

V31/3 1/3 -1/3 2/3 -1

W11 0 0 0 0

W2 W30 1 0 0 0

bi a is9/4 3/2

W1W2A2

zj cj

3.iteracijacjBaza M 2 3 2 3 0 0 0 M M M DS 1 3/2 3/2 1 15/2

A10 1 0 0 0

A20 0 1 0 0

V1-1 0 0 -1 0

V22/5

V31/5

W11 0 0 0 0

W2 W3

bi a is5/2

W1A1A2

-3/10 1/10 -1/10 -3/10 2/5 0 1/5 -1

zj cj

69

4.iteracijacjBaza 0 2 3 2 3 0 0 0 M M M DS 5/2 9/4 7/4 0

A10 1 0 0 0

A20 0 1 0 0

V1-5/2 -3/4 -1/4 0 -9/4

V21 0 0 0 0

V31/2 1/4 -1/4 0 -1

W1

W2 W3

bi a is

V2A1 A2

zj cj

39/4

Rjeenjex1 = 9 7 5 , x 2 = , v1 = 0, v 2 = , v3 = 0, w1 = 0, w2 = 0 4 4 2

min z = 2

9 7 5 9 21 18 + 21 39 + 3 + 0 0 + 0 + M 0 + M 0 = + = = = 9,75 4 4 2 2 4 4 4

70