Exemple de probleme de programare liniară a) Problema planului optim de producţie. M1 , M 2 ,...

, M n care fabrică sau consumă produsele Fie maşinile P , P ,... , P , în cantităţi date pe unitatea de timp, anume aij din Pi pentru maşina 1 2 m M j , 1 ≤ i ≤ m, 1 ≤ j ≤ n . (Dacă M j produce în unitatea de timp cantitatea aij din P i aij > 0 , dacă consumă atunci aij < 0 , iar dacă aij = 0 , M j nu produce şi nu atunci consumă Pi ). Producţia (respectiv consumul) produsului Pi nu trebuie să fie sub limita b (respectiv să depăşească) bi , bi ≥ 0 (respectiv − i dacă bi < 0 ) pentru 1 ≤ i ≤ m . Fie x j timpul de funcţionare al maşinii M j , iar c j beneficiul obţinut prin funcţionarea lui M j în unitatea de timp, 1 ≤ j ≤ n . Un sistem de numere reale ( x1 , x2 ,... , xn ) constituie un plan optim de producţie, dacă maximizeză beneficiul total adică funcţia:
f = ∑c j x j în condiţiile restrictive:
j =1 n

∑a x
ij j =1

n

j

≥ bi , 1 ≤ i ≤ m şi x j ≥ 0 .

Dacă c j reprezintă costul funcţionării maşinii M j în unitatea de timp, atunci se va cere minimizarea funcţiei de cost f = ∑c j x j .
j =1 n

b) Problema dietei (a amestecului). Să se determine cantităţile x j din alimentele A j , 1 ≤ j ≤ n , alcătuind o dietă

( x1 ,... , xn ) astfel

încât costul acesteia f = ∑c j x j să fie minim, unde c j reprezintă
j =1

n

costul unitar al alimentului A j , dacă se mai cunoaşte componenţa în substanţe nutritive S1 , S 2 ,..., S m (cum ar fi: glucide, lipide, vitamine) a alimentelor A j , 1 ≤ j ≤ n , dată prin matricea:

(a )

i j 1≤ i ≤ m 1≤ j ≤ n

unde aij este cantitatea de substanţă Si conţinută în unitatea din

alimentul A j şi se cere ca fiecare dietă să conţină cel puţin cantităţile bi din substanţa Si , 1 ≤ i ≤ m . Deci, matematic problema se transcrie:

n  m i c j x j i c niil n od ie t n j= 1  n  a ij x j ≥ i , 1 ≤ ≤ b i m  j 1 =  ≥ x 0 j =2., 1,. , . n j  

r srci et i tv

e

c) Problema folosirii optime a resurselor. O unitate economică trebuie să producă produsele P1 , P2 ,..., Pn având la dispoziţie cel mult cantităţile b1 , b2 ,... , bm din resursele R1 , R2 ,..., Rm . Ştiind că producerea unei unităţi din produsul Pj necesită cantitatea aij din resursa Ri şi că prin livrarea unei unităţi din acelaşi produs se obţine beneficiul C j , 1 ≤ i ≤ n se cere să se determine cantităţile x1 , x 2 ,..., x n din produsele P1 , P2 ,..., Pn astfel ca beneficiul să fie maxim. Deci:
n  m a x cjxj i n c di o ii e nt l  j= 1   n  bi i ≤ m  ai x j ≥ , 1 ≤ j j= 1   ≥ xj 0 j = ,., 1 2 .. , n   

d) Problema de transport. Se dau depozitele D1 , D2 ,..., Dn , având disponibilă o marfă în cantităţile b1 , b2 ,..., bn ; consumatorii C1 , C2 ,..., Cm solicitând marfa în cantităţile b'1, b'2, ..., b'm; şi costul unitar cij de transport al mărfii de la depozitul Di la consumatorul C j . Se cere să se găsească un sistem de numere nenegative x ij , i = 1,2,..., n; j = 1,2,..., m} unde x ij este cantitatea de marfă transportată de la Di la {
C j , care să facă minim costul de transport, adică funcţia f =

∑∑c x
ij i =1 j =1

n

m

ij

şi să nu

depăşească disponibilul din nici un depozit, adică: măcar cererea fiecărui consumator, adică:

∑x
j =1

m

ij

≤ bi , i = 1,..., n şi să satisfacă

∑x
i =1

m

ij

≥ b 'j , j = 1,..., m

Sistemul { xij , i = 1,2,..., n; j = 1,2,..., m} care îndeplineşte aceste condiţii se numeşte program de transport. Evident, existenţa unui program de transport impune condiţia ca disponibilul total să depăşească sau să fie măcar egal cu cererea totală, adică:

( 1)

∑ b ≥ ∑ b'
i i =1 j =1

n

m

j

Dacă restricţiile problemei sunt date ca egalităţi atunci şi relaţia (1) devine egalitate, şi în acest caz problema de transport se numeşte echilibrată. În caz contrar spunem că avem o problemă de transport neechilibrată. Datele problemei de transport pot fi înscrise într-un tablou de forma: Tabelul (T)
Consumatori Depozite

C1
c11 c21  cn1

C2
c12 c22  cn 2

... Cm
... ...  ... c1m c2 m  cnm

Disponibil
b1 b2  bn

D1 D2  Dn

Cerere

b'1

b '2

...

b'm