You are on page 1of 37

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Linearno Programiranje Simplex metod


Predavanja Mart 2005.

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Uvod o Linearnom Programiranju Grafika metoda Principi Simplex metode Simplex metod

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

LP Istorija
George Dantzig, 1947 Prvi raunarski kod 1951 Komercijalna upotreba LP rane 60te Mainframe raunari rane 70s Ogroman progres poslednjih 15 godina (PC)

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

y = ci xi

a j ,i xi b j ;
i =1

i =1

j = 1,2,K l j = l + 1, l + 2,K m

a j ,i xi
i =1

= bj ;

xi 0

i = 1,2,K n

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

y ( x1, x2, x3 ) = ax1 + bx2 + cx3 y y y = a; = b; = c; x1 x2 x3


a,b,c su konstante pa se reenje trai na granicama
Primer
16 14 12

x2

Minimum

10

6 4

x1
0 1 2

y = ax + b x1 x x2
3 4 5 6

Maksimum

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Uvod o Linearnom Programiranju Grafika metoda Principi Simplex metode Simplex metod

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

y = 2 x1 x2

maksimum 6 5 4 3 2 1 0 1 2 3 4 5 6 x1

x1 0, x2 0 3 x1 + 2 x2 2 2 x1 4 x2 3 x1 + x2 6

x2

4.5, 1.5
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Zemljoradnik poseduje 100 hektara obradive zemlje i planira da zaseje 2 vrste useva. Seme za usev A kota $40 po hektaru, seme za usev B kota $20 po hektaru. Na seme moe da potroi najvie $3200. Procenjena zarada od useva A je $150 po hektaru i $100 po hektaru od useva B. Koliko hektara po usevu treba da zaseje da bi maksimizirao zaradu ?

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

LP Formulacija: x1 hektara pod usevom A. x2 hektara pod usevom B. P zarada $. Zadatak maksimizirati P = 150x1 + 100x2 Uz ogranienja povrina (u hektarima): x1 + x2 100 cena semena: 40x1 + 20x2 3200 Prirodna ogranienja: x1 , x2 0
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

(1) (2) (3)

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

x2
160

(2)

(1)

100

x1 + x2 100 40x1 + 20x2 3200 x1, x2 0


80 100

(1) (2) (3)

x1

P = 150x1 + 100x2

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

x2
160

(2)

x2 = (P 150x1)/100 Gradient: 3/2


P = 150x1 + 100x2

(1)

100

80

100

x1
Najvee mogue P Smer porasta P

P = 0: x2 = 1.5 x1
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

x2
160

(2)

(1)

100

x1 + x2 100 40x1 + 20x2 3200 x1

(1) (2)

80 Znai reava se sistem

100

Najvee mogue P

x1 + x2 = 100 40x1 + 20x2 = 3200

x1 = 60, x2 = 40

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Region ogranien sa jedne strane

Minimizovati f = 2 y1 + y 2
y2 9

y1 + 3y 2 6
(bez ogranienja) Dozvoljeni region

3y 1 + y 2 9 y1, y 2 0
A: Optimalno reenje

A
3 6 y1

1 = 21 , y 2 y 8

9 8

f = 0: y2 = 2y1

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Uvod o Linearnom Programiranju Grafika metoda Principi Simplex metode Simplex metod

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Prvi korak

3 x1 + 2 x2 2 2 x1 4 x2 3 x1 + x2 6
Drugi korak

y = 2 x1 x2

3 x1 + 2 x2 + x3 = 2 2 x1 4 x2 + x4 = 3 x1 + x2 + x5 = 6
Trei korak Transformacija

Izbor baznog (poetnog reenja) m ogranienja

x3 = 2 + 3 x1 2 x2 N promenjvih x4 = 3 2 x1 + 4 x2 N-m slobodnih (=0) x5 = 6 x1 x2 m zavisnih, ako su >0 onda je ovo y = 2 x1 x2 reenje i bazis x1 = x2 = 0, x3 = 2, x4 = 3, x5 = 6
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

etvrti korak Izmena promenjivih

x1

x3 = 2 + 3 x1 2 x2 x4 = 3 2 x1 + 4 x2 x5 = 6 x1 x2 y = 2 x1 x2
Peti korak Ponavljanje procedure

x1 nema , x3 > 0 uvek x1 = 1.5 x1 = 6 x1 = 1.5 + 2 x2 0.5 x4 x 3 = 6 .5 + 4 x 2 1 .5 x 4 x 5 = 4 .5 3 x 2 + 0 .5 x 4 y = 3 + 3 x2 x 4

x1 = 1.5 , x 2 = 0, x3 = 6.5, x4 = 0, x 5 = 4 .5

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Peti korak Ponavljanje procedure

x1 = 4.5 , x 2 = 1.5, x3 = 12.5, x4 = 0, x5 = 0

x1 = 4.5 0.167 x4 0.667 x5 x2 = 1.5 + 0.167 x4 0.333 x5 x3 = 12.5 0.833 x4 1.33 x5 y = 7 . 5 0 .5 x 4 x 5

Kraj

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Uvod o Linearnom Programiranju Grafika metoda Principi Simplex metode Simplex metod

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

3 x1 + 2 x2 2 2 x1 4 x2 3 x1 + x2 6 y 2 x1 + x2 = 0
Drugi korak Izbor baznog (poetnog reenja) m ogranienja N promenjvih N-m slobodnih (=0) m zavisnih, ako su >0 onda je ovo reenje i bazis

x3 x4 x5 y

x1 2 3 3 6

x2 2

2 4 1 1 1
3 x1 + 2 x2 + x3 = 2 2 x1 4 x2 + x4 = 3 x1 + x2 + x5 = 6 y 2 x1 + x2 = 0

0 2

x1 = x2 = 0, x3 = 2, x4 = 3, x5 = 6

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

x3 = 2 + 3 x1 2 x2 x4 = 3 2 x1 + 4 x2 x5 = 6 x1 x2 y = 2 x1 x2

x3 x4 x5 y x2 2

x1 2 3 3 6

x2 2

2 4 1 1 1

0 2

x3 x4 x5 y

/ x1 x1 2 / 3 3 3/2 6 /1

2 4 1 1 1

Maksimizira y

0 2

Najmanji pozitivni

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

x3
Pivotski red er

x1 2 3 3 6

x2 2

x4 x5 y

2 4 1 1 1

0 2

Pivotski elemet ili pivot ec

x4 e er e e ec ep ec ec

x2 e Pivotska kolona ec er e e

x3 x1 x5 y

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

x3 x1 x5 y

er ec e ep er / ep er ec e ep er ec e ep x1 2 3
3 6

x4 ec / ep 1/ e p ec / ep ec / ep x2 2

x2 er ec e ep er / ep er ec e ep er ec e ep x3
6 .5

33 2 2

x3 x4 x5 y

x 4 x2 1 .5 4

2 4 1 1 1

0 .5 2 x1 1.5 3 x 5 4 .5 0 .5

0 2

1 3

x3

6 .5

x 4 x2 1 .5 4

0 .5 2 x1 1.5 3 x 5 4 .5 0 .5

x1 = 4.5 0.167 x4 0.667 x5 x2 = 1.5 + 0.167 x4 0.333 x5 x3 = 12.5 0.833 x4 1.33 x5 y = 7 . 5 0 .5 x 4 x 5

1 3

x3 12.5 x1 x2 y

x4 x5 0.8333 1.333

x1 = 4.5 , x 2 = 1.5, x3 = 12.5, x4 = 0, x5 = 0

4 .5 0.167 0.667 1.5 0.0167 0.333 7 .5 0 .5 1

Kraj

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Problem Dijete*
Cilj drati dijetu, sa ogranienim budetom, odnosno potroiti to je mogue manje para. Nutricionistiki zahtevi su sledei: 1. 2000 kcal 2. 55 g protein 3. 800 mg calcium
* Iz Linear Programming, od Vaek Chvtal
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Nutricionistike vrednosti hrane

Ogrnieni smo na sledee namernice:


Hrana Ovsena kaa Piletina Jaja Neobrano mleko Pita od vianja Svinjetina i pasulj Veliina porcije Energy (kcal) Protein (g) Calcium (mg) Cena po porciji 28 g 110 4 2 $0.30 100 g 205 32 12 $2.40 2 large 160 13 54 $1.30 237 cc 160 8 285 $0.90 170 g 420 4 22 $0.20 260 g 260 14 80 $1.90

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Promenjive

Promenljive predstavljaju porcije pojedinih namernica:


x1 porcija ovsene kae x2 porcija piletine x3 porcija jaja x4 porcija mleka x5 porcija pite od vianja x6 porcija svinjetine i pasulja
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Promenljive i ogranienja predstavljaju porcije pojedinih namernica:


Hrana Ovsena kaa Piletina Jaja Neobrano mleko Pita od vianja Svinjetina i pasulj Veliina porcije Energy (kcal) Protein (g) Calcium (mg) Cena po porciji 28 g 110 4 2 $0.30 100 g 205 32 12 $2.40 2 large 160 13 54 $1.30 237 cc 160 8 285 $0.90 170 g 420 4 22 $0.20 260 g 260 14 80 $1.90

x1 x2 x3 x4 x5 x6

KCAL ogranienje: 110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 2000 (110x1 = kcal u ovsenoj kai)
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Formulacija LP problema Minimizovati ogranienja: Kriterijum optimalnosti Nutricionistiki zahtevi y=0.3x1 + 2.40x2 + 1.30x3 + 0.90x4 + 2.0x5 + 1.9x6 110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 2000 4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 55 2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 800 Prirodno Ogranienje

x1 , x2 , x3 , x4 , x5 , x6 0

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Reenje Kada se rei LP problem (upotrebom MATLAB-a) dobijamo da nas optimalan dijetetski obrok kota $6.71, pri emu je jelovnikom obuhvaeno: 14.24 porcija ovsene kae 0 porcija piletine 0 porcija jaja 2.71 porcija mleka 0 porcija pite sa vinjama 0 porcija svinjetine sa pasuljem ???????
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Formulacija LP problema Minimizovati ogranienja: Kriterijum optimalnosti Nutricionistiki zahtevi y=0.3x1 + 2.40x2 + 1.30x3 + 0.90x4 + 2.0x5 + 1.9x6 110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 2000 4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 55 2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 800

x6 1 barem jedan obrok svinjetine i pasulja


Prirodno Ogranienje x1 , x2 , x3 , x4 , x5 , x6 0
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Reenje Kada se rei LP problem (upotrebom MATLAB-a) dobijamo da nas optimalan dijetetski obrok kota $7.78, pri emu je jelovnikom obuhvaeno: 12.27 porcija ovsene kae 0 porcija piletine 0 porcija jaja 2.44 porcija mleka 0 porcija pite sa vinjama 1 porcija svinjetine sa pasuljem
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Dijeta i trgovac tabletama Za dijetu iz prethodnog primera trgovac tabletama nudi energetske, proteinske i kalcijumske pilule. Cene pilula su date na sledei nain:

y1 cena (u dolarima) za pilulu sa energetskom vrednou od 1 kcal y2 cena (u dolarima) za pilulu od 1 g proteina y3 cena (u dolarima) za pilulu od 1mg calcium-a

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

LP problem Minimizovati ogranienja: Kriterijum optimalnosti Nutricionistiki zahtevi y=0.3x1 + 2.40x2 + 1.30x3 + 0.90x4 + 2.0x5 + 1.9x6

110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 2000 y kcal 1 4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 55 y2 protein 2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 800 y3 calcium x1 = porcija ovsenih kaa: Cena nutricionistikih komponenti U jednom obroku ovsene kae ne sme da pree cenu same kae u jednoj porciji 110y1 + 4y2 + 2y3 0.3 (4 y2 = cena proteina u ovsenoj kai)
Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Trgovaki pristup
Trgovaki putnik eli a zaradi to je mogue vie para, da maksimizira cenu pilula, vodei rauna o nutricionistikim ogranienjima. (2000 kcal, 55g protein i 800 mg calcium-a). Problem se formulie na sledei nain:

Maksimizirati 2000y1 + 55y2 + 800y3 Uz ogranienja 110y1 + 4y2 + 2y3 0.3 205y1 + 32y2 + 12y3 2.4 160y1 + 13y2 + 54y3 1.3 160y1 + 8y2 + 285y3 0.9 420y1 + 4y2 + 22y3 2.0 260y1 + 14y2 + 80y3 1.9 y1, y2, y3 0

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Reenje

Reavanjem ovog LP dobijaju se sledee maksimalne cene pilula:


$0.27 za 1 kcal eneretsku pilulu $0.00 za 1 g proteinske pilule $0.16 za 1mg kalcijumske pilule Ukupno = 0.27 (2000) + 0.16 (800) = $6.71

ISTO KAO I U PRETHODNOM PRIMERU

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

Linearno Programiranje-Simplex metod Linearno Programiranje-Simplex metod

Slaba Dualnost: Cena bilo koje mogue dijete Cene bilo koje mogue dijete pilulama Stroga Dualnost: (Von Neumann, 1947) Optimalna cena dijete = Optimalna cena pilula

Univerzitet u Novom Sadu, Fakultet tehnikih nauka, Katedra za Automatiku i upravljanje sistemima Sadu, tehni nauka,

You might also like