Sunteți pe pagina 1din 70
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl
Matematici speciale Capitolul 1 Programare liniar ă (II) © Conf. dr. ing. mat. Ovidiu Bl

Matematici speciale

Capitolul 1

Programare liniară (II)

© Conf. dr. ing. mat. Ovidiu Blăjină

3. Metoda SIMPLEX 4. Postoptimizare 5. Optimizare parametric ă 6. Programare în numere întregi MS

3. Metoda SIMPLEX

4. Postoptimizare

5. Optimizare parametrică

6. Programare în numere întregi

3. Metoda SIMPLEX 3.1. Fundamente teoretice 3.2. Algoritmul simplex 3.3. Metoda coeficien ţ ilor de

3. Metoda SIMPLEX

3.1. Fundamente teoretice

3.2. Algoritmul simplex

3.3. Metoda coeficienţilor de penalizare

3.1. Fundamente teoretice Cea mai utilizat ă metod ă pentru rezolvarea problemelor de PL este

3.1. Fundamente teoretice

Cea mai utilizată metodă pentru rezolvarea problemelor de PL este metoda simplex datorată matematicianului american G. B. Dantzig (1947). Metoda simplex permite cercetarea sistematică

a mulţimii soluţiilor admisibile de bază ale unui

model de problemă de PL în forma standard. Presu- punând cunoscută o astfel de soluţie iniţială, se

construiesc succesiv soluţii realizabile de bază din ce

în ce "mai bune" pînă la obţinerea soluţiei optime. Metoda oferă şi un criteriu de recunoaştere a

optimului infinit.

Prezentarea metodei simplex se va referi la modelul de PL în forma standard de minimizare:

Prezentarea metodei simplex se va referi la modelul de PL în forma standard de minimizare:

⎧ ⎪ min c x
Ax = b
⎩ ⎪ x 0

T

unde x, c R n , b R m , A M m × n , cu rang A = m < n. Fie B o bază primal admisibilă extrasă din matricea A şi x B = B -1 b soluţia de bază iniţială asociată. Coeficienţii numerici ai problemei corespunză- tori bazei B se înscriu în tabelul simplex asociat bazei B, de forma:

MS - Cursul 2 Cap.1. Programare liniar ă 6
Tabelul simplex con ţ ine: - în prima coloan ă , variabilele de baz ă

Tabelul simplex conţine:

- în prima coloană, variabilele de bază (V.B.);

- în a doua coloană, valorile variabilelor de bază (V.V.B.);

- în următoarele n coloane, vectorii

- pe ultima linie, valoarea funcţiei obiectiv în baza B,

. La aplicarea algoritmului metodei simplex, fiecărei baze B îi corespunde un tabel simplex de acest tip.

B

y j

, j = 1,

n

, n.

z

B

B

j

notată cu

; diferenţele

j

=1,

z

c

-

j

,

3.2. Algoritmul simplex Algoritmul simplex pentru problema de minimizare : Pasul 1. Se determin ă

3.2. Algoritmul simplex

Algoritmul simplex pentru problema de minimizare:

Pasul 1. Se determină o bază primal admisibilă iniţială B.

Pasul 2. Se calculează Pasul 3. Dacă

z

B

,

x

B

,

B B

j

,

z

j

n

y

c

j

, j = 1,

n .

, , atunci STOP:

z

B

j

0 ∀=1,

,

j

c

j

este program optim; altfel se determină mulţimea

J

+

=

{

j

J z c >

j

j

B

0}

şi se trece la pasul 4. Pasul 4. Se determină indicele k J + cu criteriul de intrare în bază:

max ( j ∈ J + z B j − c j ) B =

max (

j

J

+

z

B

j

c

j

)

B

= z c

k

k

0, atunci STOP: problema are optim

infinit; altfel se determină indicele l I cu criteriul de ieşire din bază:

B

y k

Dacă

min

i

I

B

y ik

> 0

⎛ ⎜

x

B

B

i

=

x l

B

 

B

ik

y lk

y

Pasul 5. Fie baza B’ obţinută din B prin înlocuirea coloanei A (l) cu coloana A (k) . Se trece la pasul 2, înlocuind peste tot baza B cu baza B’ .

Algoritmul simplex pentru problema de maximizare : Pasul 3. Dac ă program optim; altfel se

Algoritmul simplex pentru problema de maximizare:

Algoritmul simplex pentru problema de maximizare : Pasul 3. Dac ă program optim; altfel se determin

Pasul 3. Dacă

program optim; altfel se determină mulţimea (nevidă)

z

B

j

n

0 ∀=1,

,

j

, atunci STOP: este

c

j

J

=

{

j

J

z

B

j

c <

j

0}

şi se trece la pasul 4. Pasul 4. Se determină indicele k J - cu criteriul de intrare în bază:

min (

j

J

z

B

j

c

j

)

= z

B

k

c

k

y

B

k

0, atunci STOP: problema are optim

infinit; altfel se determină indicele l I cu criteriul de ieşire din bază.

Dacă

B Observa ţ ie : Elementul se nume ş te pivot. y lk Formulele de

B

Observaţie: Elementul se numeşte pivot.

y

lk

Formulele de schimbare a bazei sunt echiva-

lente cu următoarele reguli de transformare ale tabelului simplex asociat bazei B:

a) elementele situate pe linia pivotului se împart la

pivot;

b) elementele situate pe coloana pivotului devin

zero, cu excepţia pivotului, care devine 1;

c) celelalte elemente ale tabelului simplex se tran-

sformă după formula dreptunghiului. Se consideră dreptunghiul imaginar a cărui diagonală este deter- minată de elementul de transformat şi de pivot:

Formula dreptunghiului: B ′ y ij = y B ij y B lk − y

Formula dreptunghiului:

B

y ij

=

y

B

ij

y

B

lk

y

B

lj

y

B

ik

B

y lk

MS - Cursul 2 Cap.1. Programare liniar ă 1 3
Construie ş te tabelul simplex ini ţ ial Cât timp exist ă valori pozitive (negative)

Construieşte tabelul simplex iniţial

Cât timp există valori pozitive (negative) pe linia diferenţelor execută

Determină coloana pivotului

Determină linia pivotului

Calculează noul tabel simplex

Nu există soluţie optimă finită

Process

STOP

Prezintă tabelul simplex final (ce conţine soluţia optimă)

Există valori pozitive în coloana pivotului ? Process Da Nu Process
Există valori pozitive în
coloana pivotului ?
Process
Da
Nu
Process
Exemplu. S ă se rezolve cu algoritmul simplex problema de PL: ⎧ min (4 ⎪

Exemplu. Să se rezolve cu algoritmul simplex problema de PL:

min (4

3

2

5

)

x

1

2

2

+

4

x +

x

x

4

2

+

3

3 x

2

2

x

3

1

1

1

2

3

0,

x

3

x

3

x

≥−

1

3

6

0

x

x

x

2

x

2

x

2

+

⎪ ⎩ ≥

+

0,

x

1

Soluţie. Se aduce problema la forma standard. Pentru aceasta se introduc variabilele de compensare x 4 , x 5 , x 6 nenegative în cele trei restricţii. Se înmulţeşte cea de-a doua restricţie cu -1 şi obţinem:

⎧ min (4 ⎪ ⎪ 3 + + 5 x 3 x 3 + x

min (4

3

+

+ 5 x

3

x

3

+ x

4

x

1

x

x 2

2

x

3

2 x

3

1 , 6

3

2

2

x

1

x

1

x

x

1

i

x

2

x

2

x

i

2

=

4

2

+

0,

3

)

+

x

5

+

x

6

=

=

4

1

=

6

Matricea sistemului de restricţii a formei de mai sus a problemei este:

A =

3

2

2

2

1

4

1

2

3

1

0

0

0

1

0

0

0

1

cu m = 3, n = 6, rang (A) = 3 < 6.

Se poate forma o baz ă , B , cu ultimele trei coloane ale matricei

Se poate forma o bază, B, cu ultimele trei coloane ale matricei A, aceasta fiind matricea unitate:

B =

1

0

0

0

1

0

0

0

1

Pentru a putea aplica algoritmul simplex se

verifică,

admisibilă. Într-adevăr, B fiind matrice unitate, avem

baza B este primal

în

prealabil,

dacă

B -1 = B, iar

x

B

=

B

1

b

=

b

=

[

4

1

6

]

T

> 0.

Se construiesc tabelele simplex (v. fig. urm.).

Problema admite soluţia optimă finită: x 1 = 0;

x 2 = 1,5;

x 3 = 0; x 4 = 7; x 5 = 2,5; x 6 = 0; z min = -4,5.

MS - Cursul 2 Cap.1. Programare liniar ă 1 8
MS - Cursul 2 Cap.1. Programare liniar ă 1 8

Exemplu. S ă se rezolve problema de PL: ⎧ max ( ⎪ ⎪ ⎨ ⎪

Exemplu. Să se rezolve problema de PL:

max (

⎪ ⎪


2

x 1

x

x

1

x

1

+

x

2

2

x

2

2

,

3

3

x

2

+

1 +

,

x

x

+

x

x

0

3

3

2

x

3

)

2

4

Soluţie. Se aduce problema la forma standard, prin introducerea variabilelor de compensare x 4 , x 5 :

max (

x

x

x

1

1

i

2

+

3

+

x

x

3

3

2

x

+

x

1

x

2

− +

x

2

2

0,

x

2

i

=

+

1, 5

3

)

x

4

+

x

5

= 2

= 4

Cu ultimele dou ă coloane din matricea siste- mului de restric ţ ii (ecua ţ

Cu ultimele două coloane din matricea siste- mului de restricţii (ecuaţii) se poate forma baza B, respectiv, matricea unitate. Baza B este o bază primal admisibilă deoarece

B

1

b = b =

[2

4]

T

>

0

.

Se poate aplica algoritmul simplex. Tabelele simplex sunt prezentate ]n figurile următoare. În ultimul tabel se constată că există z k - c k < 0; J = {1, 2}, deci soluţia obţinută nu este optimă. Pe de altă parte, toţi coeficienţii y i1 de pe coloana variabilei x 1 sunt nepozitivi. Rezultă că problema are optim infinit (nu are soluţie optimă finită).

-

MS - Cursul 2 Cap.1. Programare liniar ă 2 1
MS - Cursul 2 Cap.1. Programare liniar ă 2 1

3.3. Metoda coeficien ţ ilor de penalizare Pentru a putea începe aplicarea algoritmului simplex este

3.3. Metoda coeficienţilor de penalizare

Pentru a putea începe aplicarea algoritmului

simplex este necesar a fi îndeplinite două condiţii:

problema să fie în formă standard;

să dispunem de o soluţie de bază iniţială.

Pentru cea de-a doua condiţie, alegerea la întâmplare a unei baze formate din m vectori oarecare dintre vectorii coloană ai matricei A poate conduce la soluţii de bază nerealizabile cu care aplicarea algoritmului simplex nu poate începe. Determinarea unei soluţii de bază iniţială se poate realiza cu metoda coeficienţilor de penalizare.

Fie problema de PL de minimizare: ⎧ [min] z ⎪ ⎪ = a c x

Fie problema de PL de minimizare:

[min] z

=

a

c x

1

x

2

1

+

c x

2

2

a

+ L +

1

n

x

n

c x

n

n

b

1

a

LLLLLLLLLLLLL

a

x

x

1

+

+ L +

11

12

b

m

1

,

1

x

1

,

+

a

2

x

0

2

+

+

L

a

x

n

m

mn

m

x

n

(3.1)

Presupunem că toţi termenii liberi sunt pozitivi:

, vector coloană unitar. Prin adăugarea variabilelor de compensare (nenegative) cu semnul "-“ în fiecare restricţie, se obţine sistemul de restricţii în forma standard:

b 1 0,

b m 0 şi că matricea A nu conţine nici un

⎧ a ⎪ b ⎪ LLLLLLLLLLLLLLL ⎩ ⎪ a + + b 1 x 1

a

b

LLLLLLLLLLLLLLL

⎩ ⎪ a

+

+

b

1

x

1

x

1

a

a

x

2

x

2

+

+

+

+

L

L

a

1

n

x

n

a

2

n

x

n

x

11

12

22

1

=

2

n +

x

n +

21

a

=

2

1

x

1

+

+

b

a

x

2

+

L

a

x

n

x

n

=

m

m

2

mn

+

m

m

Considerând ca soluţie iniţială de bază:

x 1 = x 2 =

= x n = 0,

x n +1 =

x n + m =

=

-b 1 , x n +2 = -b m

-b 2 ,

,

aceasta nu este realizabilă (admisibilă) şi nu satisface

condiţiile algoritmului simplex. Pentru a obţine o soluţie admisibilă de bază se

introduce în fiecare restricţie câte o variabilă

artificială (nenegativă) x n + m +1 , x n + m + 2 ,

x n + 2m ,

,

cu semnul "+": ⎧ a ⎪ ⎪ x x 1 1 + + a a

cu semnul "+":

a

x

x

1

1

+

+

a

a

x

2

x

2

+

+

+

+

b

1

=

L

L

a

1

n

x

n

a

2

n

x

n

x

n

x

11

21

x

n

x

n

+

1

+

+

2

12

22

+ +

m

n

1

=

2

b

2

a

+

+ +

m

LLLLLLLLLLLLLLLLLLL

b

⎪ ⎩ a

1

x

1

+

a

x

2

+

+

L

a

x

n

+

x

n

x

n

=

m

m

2

mn

+

m

+

2

m

m

Se modifică şi funcţia obiectiv a problemei iniţiale (3.1) prin introducerea acestor variabile artificiale cu coeficientul de penalizare +M. Se consideră că M are o valoare pozitivă foarte mare (practic infinit). Rezultă problema extinsă (3.2) de mai jos:

⎧ [min] ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩ 11 21 x 1 x

[min]


11

21

x

1

x

1

m

1

x

1

1

x

2

, ,

+

Mx

n

x

n

+

1

x

n

+ 2

z

+

+

=

a

a

c x

1

x

2

x

2

1

+

+

a

a

c x

n

n

1

x

n n

2

n

x

n

+

+

=

2

Mx

b

L

L

+ m +

+

x

n

+

x

1

n

a

a

LLLLLLLLLLLLLLLLLLL

a

x

b

+

+

+

+

12

22

L

L

+ m +

n

1

1

b

2

=

+ m +

+

a

,

x

,

+

n

+

1

,

+

,

L

a

x

x

x

n

x

n

+

,

x

x

m

x

2

n

2

x

=

mn

n

+

m

n

,

+

m

n

n

+ m

+

2

m

2

m

0

+ m +

1

,

+

2

m

(3.2)

Soluţia iniţială de bază pentru problema (3.2)

poate fi: x 1 = x 2 =

= -b 1 ,

Soluţia conţine variabilele artificiale, dar este convenabilă pentru aplicarea algoritmului simplex problemei (3.2).

= x n = x n +1 = x n +m = 0, x n +m +1 =

x n +m +2 = -b 2 , x n +2m = -b m

Se rezolv ă problema extins ă (3.2) fiind posibile urm ă toarele cazuri: Atunci ş

Se rezolvă problema extinsă (3.2) fiind posibile următoarele cazuri:

Atunci şi

problema (3.1) are optim infinit. 2) Problema (3.2) are optim finit, dar în soluţia optimă cel puţin o variabilă artificială are o valoare nenulă (pozitivă). Atunci problema (3.1) nu are soluţie. 3) Problema (3.2) are optim finit şi în soluţia optimă toate variabilele artificiale au valoarea nulă. Atunci această soluţie, din care se ignoră variabilele artificiale, este soluţia optimă a problemei (3.1).

1)

Problema

(3.2)

optim

infinit.

are

Fie problema de PL de maximizare: ⎧ [max] z ⎪ ⎪ = 12 c x

Fie problema de PL de maximizare:

[max] z

=

12

c x

1

x

2

1

+

+

c x

2

+

2

a

+ L +

1 n

x

n

=

c x

n

b

1

n

a

LLLLLLLLLLLLL

a

x

x

1

+ a

L

11

m

1

,

1

x

1

,

+

a

+

+

b

2

x

0

2

L

a

x

n

=

m

mn

m

x

n

(3.3)

Presupunem că toţi termenii liberi sunt pozitivi:

, vector coloană unitar. Pentru a obţine o soluţie admisibilă de bază se

b 1 0,

b m 0 şi că matricea A nu conţine nici un

introduce în fiecare restricţie din (3.3) câte o variabilă

artificială (nenegativă), x n +1 , x n + 2 , semnul "+".

x n + m , cu

,

Se modific ă func ţ ia obiectiv a problemei (3.3) prin introducerea acestor variabile artificiale

Se modifică funcţia obiectiv a problemei (3.3) prin introducerea acestor variabile artificiale cu coeficientul de penalizare -M. Rezultă problema extinsă:

[max]

Mx

x

n +

1

n

n +

2

z

=

a

a

c x

1

1

x

2

x

2

+

+

+

+

L

+

+

c x

n

n

a

1

n

x

n

a

2

n

x

n

+

b

1

L

+ 1

=

a

b

LLLLLLLLLLLLLLL

a

x

a

x

1

x

1

+

+

11

21

12

22

L

L

+ x

=

2

= b

m

1

,

1

x

1

x

2

+

,

a

,

m

x

2

n

x

,

2

x

n

+

+

,

L

a

x

x

n

+

x

mn

n

+

m

n + m

m

0

+ 1

,

Se

rezolvă

problema

(3.4)

Mx

n

fiind

+

m

(3.4)

posibile

aceleaşi cazuri ca cele prezentate la problema (3.1).

Observa ţ ii : 1) Indiferent de tipul problemei (minimizare sau maximizare), dac ă matricea

Observaţii:

1) Indiferent de tipul problemei (minimizare sau maximizare), dacă matricea restricţiilor nu conţine vectori unitari, atunci numărul variabilelor artificiale introduse va fi egal cu m. 2) Dacă, la aplicarea algoritmului simplex pentru rezolvarea problemei extinse, o variabilă artificială iese din bază, ea nu va mai intra niciodată în bază, fapt care justifică eliminarea (eventuală) din calculele ulterioare a coloanei variabilei respective.

Exemplu. S ă se rezolve problema de PL cu metoda coeficien ţ ilor de penalizare:

Exemplu. Să se rezolve problema de PL cu metoda coeficienţilor de penalizare:

min (3

x

x

x

1

+

+

4

x

3

x

3

0

x

x

2

+

10

7

+

3

x

2

x

2

1

1

1

,

+

x

2

,

6

x

3

x

3

)

Soluţie. Se aduce mai întâi problema la forma standard prin introducerea în restricţii a variabilelor de compensare x 4 şi x 5 . Se adaugă variabilele artificiale x 6 şi x 7 ; ele se introduc în restricţii cu coeficientul 1 şi în funcţia obiectiv cu coeficienţii de penalizare +M:

⎧ min (3 ⎪ ⎪ x 1 + − 4 x x x 3 x

min (3

x

1

+

4

x

x

x

3

x

2

3

+ 3

x

2

1

x

x x

1

i

2

+ +

0, i =

1, 7

+

x

4

7

x

3

x

+

Mx

+

x

6

5

6

+

Mx

=

)

10

7

+

x

7

= 6

Soluţia iniţială de bază este x 1 = x 2 = x 3 = x 4 = x 5 = 0,

Primul tabel simplex al problemei

extinse corespunzător acestei baze este:

x 6 = 10, x 7 = 6.

extinse corespunz ă tor acestei baze este: x 6 = 10, x 7 = 6. MS
MS - Cursul 2 Cap.1. Programare liniar ă 3 3
MS - Cursul 2 Cap.1. Programare liniar ă 3 3
Deoarece z k - c k ≤ 0, k = 1, 7 ⇒ tabelul simplex

Deoarece z k - c k 0, k = 1,

7 tabelul simplex

, de mai sus conţine soluţia optimă a problemei extinse, în care variabilele artificiale x 6 şi x 7 au valoarea zero. Soluţia optimă a problemei iniţiale: x 1 = 4, x 2 = 2, x 3 = 0. Valoarea optimă a funcţiei obiectiv z opt = 20.

4. Postoptimizare MS - Cursul 2 Cap.1. Programare liniar ă 3 5

4. Postoptimizare

În modelul unei probleme de PL: ⎪ ⎧ min (max) c x ⎨ Ax =

În modelul unei probleme de PL:

⎪ ⎧ min (max) c x
Ax = b
⎪ ⎩ x 0

T

ce poate caracteriza activitatea unui agent economic, intervin mai multe mărimi considerate constante în momentul elaborării: A - matricea coeficienţilor sistemului de restricţii; b - vectorul termenilor liberi; c - vectorul coeficienţilor funcţiei obiectiv. Dinamica accentuată a economiei de piaţă implică, adeseori, schimbări ale condiţiilor care stau la baza elaborării modelului.

Exemple : modificarea pre ţ urilor la resurse, a tarifelor sau cererii la activit ăţ

Exemple: modificarea preţurilor la resurse, a tarifelor sau cererii la activităţile desfăşurate, a unor capacităţi de producţie, a cantităţilor disponibile de resurse; introducerea în fabricaţie a unor noi produse. Din punct de vedere matematic, astfel de schimbări implică modificări ale elementelor unei probleme de PL:

ă modific ă ri ale elementelor unei probleme de PL: modificarea vectorului b ; modificarea vectorului

modificarea vectorului b; modificarea vectorului c; introducerea unei variabile suplimentare; introducerea unui grup de restricţii în sistemul de restricţii iniţial; modificarea unei linii/coloane din matricea A.

Postoptimizarea ( reoptimizarea ) unei probleme de PL const ă în recalcularea solu ţ iei

Postoptimizarea (reoptimizarea) unei probleme de PL constă în recalcularea soluţiei optime a problemei în cazul unor modificări de tipul menţionat. Întrebarea care se pune este dacă soluţia optimă îşi păstrează caracterul de optimalitate după modifică- rile survenite. Se impune, aşadar, în primul rând, o verificare a soluţiei în noile condiţii. Dacă soluţia nu mai este optimă, determinarea unei noi soluţii se face, nu refăcând calculele de la început, ci pornind de la o soluţie de bază mai apropiată de soluţia optimă, uneori chiar de la soluţia optimă a problemei iniţiale, pentru micşorarea volumului de calcule necesare.

5. Optimizare parametric ă MS - Cursul 2 Cap.1. Programare liniar ă 3 9

5. Optimizare parametrică

Problema de programare liniar ă în care cel pu ţ in unul din elementele sale

Problema de programare liniară în care cel puţin unul din elementele sale - matricea coeficien- ţilor sistemului de restricţii A, vectorul termenilor liberi b, vectorul coeficienţilor funcţiei obiectiv c - depinde, liniar sau neliniar, de unul sau mai mulţi parametri reprezintă o problemă de programare liniară parametrică. Optimizarea parametrică studiază, ca şi postop- timizarea, problemele de programare liniară cu coeficienţi variabili. Dacă postoptimizarea cores- punde variaţiei discrete a coeficienţilor, optimizarea parametrică vizează variaţia continuă a coeficienţilor.

Rezolvarea problemelor de programare liniar ă parametric ă implic ă parcurgerea a dou ă etape:

Rezolvarea problemelor de programare liniară parametrică implică parcurgerea a două etape:

1) Determinarea soluţiei optime pentru o valoare determinată a parametrului sau a unui sistem de valori dacă este vorba de mai mulţi parametri. 2) Studiul sensibilităţii soluţiei optime determinate la variaţia parametrului (parametrilor). Acest studiu constă în stabilirea intervalelor (domeniilor) de optimalitate a unei soluţii, respectiv, a mulţimii valorilor parametrilor pentru care soluţia determinată îşi păstrează caracterul de optimalitate.

6. Programare în numere întregi 6.1. Considera ţ ii generale 6.2. Exemple de probleme economice

6. Programare în numere întregi

6.1. Consideraţii generale

6.2. Exemple de probleme economice

6.3. Metoda branch and bound

6.1. Considera ţ ii generale În problemele de programare liniar ă studiate anterior variabilele au

6.1. Consideraţii generale

În problemele de programare liniară studiate

anterior variabilele au fost supuse condiţiei de nenegativitate, având o variaţie continuă.

O serie de situaţii din domeniul economic

impun cerinţa ca variabilele să nu poată lua decât valori din anumite mulţimi discrete. Astfel de restricţii

de discontinuitate apar atunci când variabilele sunt exprimate în unităţi de măsură indivizibile (număr de bucăţi etc.). Problemele de optimizare cu restricţii de discon- tinuitate aparţin domeniului programării discrete.

Marea majoritate a problemelor de programare discret ă întâlnite în practic ă impun ca variabilele

Marea majoritate a problemelor de programare discretă întâlnite în practică impun ca variabilele (o parte sau toate) să aibă valori întregi. Vorbim în aceste cazuri de programare în numere întregi. Problemele în care doar o parte din variabile au valori întregi sunt denumite probleme mixte sau parţial întregi, iar cele în care toate variabilele au valori întregi se numesc probleme total întregi. În cele ce urmează vom studia problemele de programare în numere întregi, ceea ce nu reprezintă o restrângere a generalităţii deoarece cazurile generale discrete pot fi aduse la această formă.

Astfel, presupunem c ă , într-o problem ă , o variabil ă oarecare x poate

Astfel, presupunem că, într-o problemă, o variabilă

oarecare x poate lua numai un număr finit de valori:

a 1 , a 2 ,

a k . Variabila x se poate rescrie sub forma:

,

x =

k

i

= 1

δ

i

a

i

, cu

k

i

= 1

δ

i

=

1

şi δ i = 0 sau 1

ceea ce conduce la o problemă