Sunteți pe pagina 1din 36

Cursul 1 1

Problematica optimizrii
Dificulti de abordare i/sau rezolvare
Planul de nvmnt (= 14 sptmni)
Optimizare liniar
ANTON BTTORESCU
Cursul 1 2
Optimizare liniar
CURS = 2 ORE / SPTMN

SEMINAR = 2 ORE / SPTMN

FORMA DE EXAMINARE: verificare ! (scris)

2 subiecte de teorie:
enunuri cu demonstraii;
enunuri descriptive.
1 exerciiu de seminar (cu subpuncte)
Cursul 1 3
Coninutul cursului:
Teorema fundamental a programrii liniare.
Teoremele algoritmului simplex primal.
Algoritmul simplex. Formule de schimbarea bazei.
Determinarea unei baze primal admisibile. Metoda celor dou faze.
Sisteme liniare de inegaliti. Lema Farka-Minkowski.
Dualitate n programarea liniar. Teoreme de dualitate.
Algoritmul simplex dual.
Problema transporturilor.
Postoptimizare i programare liniar parametric.
Programare liniar n numere ntregi.
Cursul 1 4
Bibliografie
A. tefnescu, C. Zidroiu, "Cercetri Operaionale",
Ed. Didactic i Pedagogic, Bucureti, 1981.
C. Zidroiu, Programare liniar", Ed. Tehnic, Bucureti, 1984.
A. Bttorescu, "Metode de optimizare liniar", Ed. Universitii
din Bucureti, 2003.
R.J. Vanderbei, Linear Programming: Foundations and
Extensions, Springer, New York, 2008.
V. Preda, M. Bad, "Culegere de probleme de cercetri
operaionale", Tipografia Universitii din Bucureti, 1978.
http://www.ilog.com/
http://www.maximalsoftware.com/
Cursul 1 5
Problema 1.
Un complex de locuine trebuie s cuprind cel puin 900 garsoniere,
2100 apartamente cu dou i 1400 apartamente cu trei camere.
S se stabileasc cte blocuri de fiecare fel trebuie construite astfel
nct cheltuielile de construcie s fie minime.
Bloc tip A
4 mil
Bloc tip B
5 mil
10
garsoniere
30
ap. 2 cam.
40
ap. 3 cam.
30
garsoniere
50
ap. 2 cam.
20
ap. 3 cam.
Cursul 1 6
Modelul matematic
Variabilele de decizie:
x = numrul de blocuri de tipul A
y = numrul de blocuri de tipul B

Funcia obiectiv: Costul = 4 x + 5 y ;
trebuie minimizat !

Restriciile:
garsoniere: 10 x + 30 y >= 900 ;
ap. cu 2 camere: 30 x + 50 y >= 2100 ;
ap. cu 3 camere: 40 x + 20 y >= 1400 ;

Condiii implicite (naturale): x i y >= 0 i n plus, numere ntregi.
Cursul 1 7
Problema 2.
O secie a unei fabrici produce dou tipuri de aparate.
Pentru aceasta trebuie s comande zilnic piese din care s-ar putea face,
n combinaie, cel puin, 80 de aparate de primul tip sau 60 de
aparate de al doilea tip.
Capacitatea de montaj este de cel mult 100 de aparate pe zi din
ambele tipuri.
La vnzare sunt solicitate zilnic cel puin 40 de aparate de primul tip i
cel puin 20 de aparate de al doilea tip.
Pentru realizarea unui aparat de primul tip se cheltuiesc 200 , iar
pentru un aparat de al doilea tip, 400 .
S se stabileasc planul de producie zilnic care se realizeaz cu
minimum de cheltuieli.
Cursul 1 8
Modelul matematic
Variabilele de decizie:
x = numrul de aparate de primul tip
y = numrul de aparate de al doilea tip

Funcia obiectiv: Costul = 200 x + 400 y ; s fie minim !

Restriciile:
comanda: x/80 + y/60 >= 1 ;
capacitate: x + y <= 100 ;
limita inferioar x: 40 <= x ;
limita inferioar y: 20 <= y ;

Condiii implicite (naturale): x i y s fie numere ntregi.
Cursul 1 9
Problema 3.
Se consider un sistem comercial format din dou uzine, patru depozite i
ase clieni.
S se determine o distribuie de cost minim a mrfurilor ntre uzine, depozite
i clieni cunoscnd urmtoarele:
C1
C2
C4
C5
C6
C3
U2
U1
D2
D1
D3
D4
Cursul 1 10
Datele problemei:
Capacitatea de producie a uzinelor este: u1 = 150, u2 = 200;
Capacitatea de stocare a depozitelor este: d1 = 70, d2 = 50, d3 = 100, d4 = 40;
Cererea clienilor este: c1=50, c2=10, c3=40, c4=35, c5=60, c6=20;
Costul unitar de transport al mrfii de la uzine la depozite este:
u1, d1, 0.5, u2, d2, 0.3,
u1, d2, 0.5, u2, d3, 0.5,
u1, d3, 1.0, u2, d4, 0.2,
u1, d4, 0.2
Costul unitar de transport al mrfii de la uzine la clieni este:
u1, c1, 1.0, u1, c3, 1.5,
u1, c4, 2.0, u1, c6, 1.0,
u2, c1, 2.0
Costul unitar de transport al mrfii de la depozite la clieni este:
d1, c2, 1.5, d2, c1, 1.0, d3, c2, 1.5, d4, c3, 0.2,
d1, c3, 0.5, d2, c2, 0.5, d3, c3, 2.0, d4, c4, 1.5,
d1, c4, 1.5, d2, c3, 0.5, d3, c5, 0.5, d4, c5, 0.5,
d1, c6, 1.0, d2, c4, 1.0, d3, c6, 1.5, d4, c6, 1.5,
d2, c5, 0.5
Cursul 1 11
CERINE:
S se afle costul de transport al mrfurilor ntre:
Uzine i depozite:
Uzine i clieni;
Depozite i clieni.
Capacitatea de producie a fiecrei uzine s nu fie depit;
Capacitatea de stocare a fiecrui depozit s nu fie depit;
Cantitatea de marf ce intr n fiecare depozit (de la uzine) s fie egal
cu cea trimis ctre clieni;
Cantitatea solicitat de fiecare client s fie exact satisfcut.
Modelarea matematic
Cursul 1 12
MPL (Mathematical Programming Language) este un sistem de
programare care permite descrierea ntr-un mod simplu i eficient a
unor modele de optimizare complicate.
Programele realizate n MPL pot fi rezolvate cu diferite produse
software de optimizare (solver):
Solver Supported Algorithms
CPLEX LP, MIP, BAR, MIQP
XPRESS LP, MIP, BAR, MIQP
GUROBI LP, MIP
Lindo
LP, MIP, BAR, NLP,
MIQP, MINLP
MOPS LP, MIP, BAR
FortMP LP, MIP, BAR, MIQP
Solver Supported Algorithms
CoinMP LP, MIP
GLPK LP, MIP, BAR
LPSolve LP, MIP
CONOPT LP, NLP
KNITRO LP, NLP
LGO NLP, Global
Cursul 1 13
Cursul 1 14
Cursul 1 15
Cursul 1 16
Cursul 1 17
Cursul 1 18
Cursul 1 19
Exemplu optimizare neliniar
( ) ( )( )( ) ( )
4 3 2
: , 2 1 3 5 7 5 31 30 f f x x x x x x x x x = + = + +
Cursul 1 20
| | ( )
4 3 2
: 0, 5.6 , 7 5 31 30 f f x x x x x = + +
Cursul 1 21
Exemplu optimizare liniar
{ }
2 3 , unde min max optim x y optim + = v
Cu ndeplinirea condiiilor:
S se determine:
4
8 2 3
5 3 15
2 10
2 16
x y
x y
x y
x y
x y
+ >
+ s
s
+ s
+ s
Cursul 1 22
Rezolvare grafic
10 7.5 5 2.5 0 -2.5
10
7.5
5
2.5
0
-2.5
x
y
x
y
Cursul 1 23
Rezolvare grafic
10 7.5 5 2.5 0 -2.5
10
7.5
5
2.5
0
-2.5
x
y
x
y
Cursul 1 24
Rezolvare grafic
10 7.5 5 2.5 0 -2.5
10
7.5
5
2.5
0
-2.5
x
y
x
y
Cursul 1 25
Rezolvare grafic
10 7.5 5 2.5 0 -2.5
10
7.5
5
2.5
0
-2.5
x
y
x
y
Cursul 1 26
Rezolvare grafic
10 7.5 5 2.5 0 -2.5
10
7.5
5
2.5
0
-2.5
x
y
x
y
Cursul 1 27
Rezolvare grafic
Cursul 1 28
Rezolvare grafic
Cursul 1 29
Rezolvare grafic
Cursul 1 30
Notaii i cteva definiii
Vom nota cu o matrice cu m linii i n coloane:
m n
A

e
( )
11 12 1
21 22 2
1
1
1 2
n
n
i m ij
j n
m m mn
a a a
a a a
A a
a a a
s s
s s
| |
|
|
= =
|
|
\ .
, 1 , 1 ,
ij
a i m j n e s s s s unde,
Transpusa matricei A o vom nota cu .
n m
A

e
f
Mulimea matricelor de aceeai dimensiune formeaz un spaiu
vectorial peste corpul numerelor reale.
( ) ( )
1 1
1 1
, , , ,
m n
i m i m ij ij ij
j n j n
A B A B a b B b o o o

s s s s
s s s s
e e + = + =
Cursul 1 31
Produsul matricelor: este matricea: ,
m k k n
A B

e e
1
1 , 1 , , .
k
m n
ij il lj
l
i m j n A B C c a b

=
s s s s = e =

Determinantul unei matrice ptratice este numrul


n n
A

e
( )
( ) ( ) ( ) 1 1 2 2
det
n
n n
A a a a
o o o
o
c o
e
=

S
Dac matricea A se numete nesingular, iar n acest
caz, exist o unic matrice A
-1
numit matrice invers:
det 0, A=
1 1
1 0 0
0 1 0
0 0 1
n n
n
A A A A

| |
|
|
= = = e
|
|
\ .
I
Cursul 1 32
Un vector coloana este considerat ca fiind o matrice
iar transpusa acesteia este un vector linie.
n
ve
1
,
n
v

e
( )
1
2
1 2
, , , ,
n
n
v
v
v v v v v
v
| |
|
|
= =
|
|
\ .
f
Produsul scalar a doi vectori
1
, , .
n
n
i i
i
x y x y x y y x
=
e = =

f f
pentru orice
pentru orice
1, ,
1,
i i
i
n
i
x y x y i n
x y x y i n y x
+
= = =
s e s =
Definim relaiile:
n particular, 0, 1, .
n
i
x x i n > e > = 0
Cursul 1 33
Sisteme de ecuaii liniare
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2

n n
n n
m m mn n m
a x a x a x b
a x a x a x b
A x b
a x a x a x b
+ + + =

+ + + =

+ + + =

Fie: i considerm sistemul de ecuaii liniare: ,


m n m
A b

e e
n
xe unde reprezint vectorul necunoscutelor.
Notm: ( )
( )
1 2
1 2
, , , linia '' '' a matricei ;
, , , coloana '' '' a matricei .
i i i in
j
j j mj
A a a a i A
A a a a j A
=
=
f
1
, 1, .
n
j
i i j
j
A x b A x b i m A x b
=
= = = =

Cursul 1 34
Teorema Kronecker-Capelli :
Ecuaii principale, respectiv variabile principale.
Ecuaii secundare, respectiv variabile secundare.
Prin eliminarea ecuaiilor secundare, considerm:
Pentru m = n, avem soluia unic:
Pentru m < n, avem o infinitate de soluii.
Exist m coloane liniar independente ale matricei A, care formeaz
o matrice de baz:
Restul coloanelor formeaz matricea R.
( ) ( ) { }
min , rang A rang A b r m n = = s
( )
. rang A m n = s
1
. x A b

=
( )
1 2
... .
m
s s s
B A A A =
Cursul 1 35
Partiionarea matricei:
( )
. A B R =
Notm mulimea de indici corespunztoare coloanelor lui B cu
{ }
1 2
, ,..., ,
m
s s s = B
iar mulimea de indici corespunztoare coloanelor lui R cu
{ }
1, 2,..., \ . n = R B
Partiionarea variabilei n care, , ,
n
x
x x
x
| |
e =
|
\ .
B
R
( )
( )
1 2
, ,...,
m
m
i s s s
i
x x x x x
e
= = e
B
B
f
variabile de baz (principale)
( )
n m
j
j
x x

e
= e
R
R
variabile secundare
Cursul 1 36
1 1
A x b B x R x b x B b B R x

= + = =
B R B R
Vectorul se numete soluie a sistemului dac
n
ve . A v b =
O soluie a sistemului este numit soluie de baz, dac
componentele ei diferite de zero corespund unor coloane liniar
independente ale matricei A.
Deoarece rang(A) = m, cel mult m componente ale unei soluii de
baz pot fi nenule. Dac soluia de baz are exact m componente
nenule, ea se numete nedegenerat; n caz contrar ea se numete
degenerat.
Pentru orice baz B, se poate obine o soluie de baz:
1
B b v
v
v

| |
(
| |

= = |
|
|
\ .
\ .
0
B
B
R
R

S-ar putea să vă placă și