Sei sulla pagina 1di 2

Cazul 4.

ProdMax se dedică fabricării unui produs a cărui cerere este de 1000 kg pentru săptămâna următoare. Procesul de produc ție cuprinde
prelucrarea secvențială a unei materii prime în două stații de lucru A și B:

Stația A are 2 Ma cUine identice A1 și A2. Stația B are două mașini identice N B1și B2. În fiecare stație,
i e face în oricare dintre mașinile disponibile .
prelucrarea materiei prime se poate u .

Materia prima pentru fabricarea produsului poate fi achizitionata de la trei furnizori diferiti: P1, P2 si P3. Totu și, de șeurile care provin din sta ția A
depind de proveniența materiei prime și de mașina în care este prelucrată. Aceste informa ții, împreună cu capacitatea de procesare și maximul
de dobândit, sunt prezentate mai jos:

Procent de deșeuri la stația


Suma maximă de
A
cumpărat (în kg)
Furnizor mașina A1 aparat A2
P1 5% 6% 400
P2 4% 5% 500
P3 8% 5% 300
Procesabilitate
700 800

De exemplu : Dacă mașina A1 prelucrează 100 kg de materie primă de la furnizorul P1, generează 5 kg de deșeuri și 95 kg merg la stația B.

La stația B, mașinile B1 și B2 generează 3% și, respectiv, 2% de șeuri. Capacitatea de procesare a ma șinilor B1 și B2 este de 800, respectiv 700
kg. Definiți variabilele de decizie și prezentați modelul de programare liniară într-o formă compactă care minimizează cantitatea totală de deșeuri.
(Răspuns: Z* = 73,0972 kg)
SOLUŢIE

STATIA A STATIA B
P1
A1 B1

PT = 1000
P2

A2 B2
P3

Fie seturile:
FURNIZORI i: {1=”P1”; 2=”P2”; 3="P3}
SUBSTAȚII „A” j: {1=”A1”; 2=”A2”}
SUBSTAȚII „B” k: {1=”B1”; 2=”B2”}
Definim urmatoarele atribute:
Variabile de decizie
Xij = Kilograme de materie primă achiziționate de la furnizorul „i” și prelucrate la Substația „j”
Yjk = Kilograme de materie primă prelucrate în Substația „j” și care sunt procesate în Substația „k”
Wk = Kilograme de produs finit produs în Substația „k”
Date
Maxim de achiziționat per Furnizor: Cap.Prov(i) = {400 500 300}
Capacitatea de procesare Substații A Cap_Stac_A(j) = {700 800}
Capacitate de procesare Substații B Cap_Stac_B(k) = {800 700}
Rata % de deșeuri PM achiziționate de la furnizori în funcție de furnizorul de origine și substația de procesare „A”
0.05 0.06
desp_A(i,j) = 0,04 0,05
0.08 0.05
Rata % de deșeuri în Stațiile B conform substației „A” de origine
desp_B(j,k) = 0,03 0,02
0.03 0.02

Funcție obiectivă:
Min Z = ∑∑desp_A(i,j) * Xij + ∑∑desp_B(j,k) * Yjk

restrictii:
Capac.Furnizori
2
Pentru tot eu: ∑ Xij ≤Cap Prov (i)
J =1
Capac. statia A
3
Pentru toate j: ∑ Xij≤ Cap¿ ( j)
i=1
Capac. stația B
2
Pentru toate k: ∑ Yjk ≤Cap¿ (k )
j=1
cerere PT
2

∑ Wk =1000
k =1
Stații de echilibrare A
3
Pentru toate j: ∑ ¿¿
i=1
Stații de echilibrare B
2
Pentru toate k: ∑ ¿¿
j=1
Nenegativitate : Xij, Yjk, Wk >= 0

seturi:
Furnizor/1..3/ : Cap_Prov;
Maq_A/1..2/ : Cap_Estac_A;
Maq_B/1..2/ : Cap_Stac_B, desp_B, W;
PxA (Furnizor,Mach_A): desp_A, X;
AxB(Mach_A,Mach_B): AND;
seturi de sfârșit
date:
Cap_Prov = 400 500 300;
Cap_Estac_A = 700 800;
Cap_Estac_B = 800 700;
desp_A = 0,05 0,06 0,04 0,05 0,08 0,05;
desp_B = 0,03 0,02;
date finale
!FUNCȚIE OBIECTIVĂ;
Min = @sum (PxA(i,j): desp_A(i,j)*X(i,j)) + @sum(Maq_A(j): Y(j,1))*desp_B(1) + @sum
(Mach_A(j): Y(j,2))*desp_B(2);
!RESTRICŢII;
!Capac.furnizor; @for(Furnizor(i): @sum(Mach_A(j): X(i,j)) <= Cap_Prov(i) );
!Capacitatea staţiei "A"; @for(Mach_A(j): @sum(Furnizor(i): X(i,j)) <=
Cap_Estac_A(j) );
!Capac.staţie „B”; @for(Mach_B(k): @sum(Mach_A(j): Y(j,k)) <= Cap_Stac_B(k) );
!Cerere.PT; @sum(Maq_B(k): W(k)) = 1000;
!Stația A Balanță; @for(Mach_A(j): @sum(Furnizor(i): (1-desp_A(i,j))*X(i,j)) -
@sum(Mach_B(k): Y(j,k)) = 0);
!Balance Stat.B; @for(Mach_B(k): @sum(Mach_A(j): Y(j,k))*(1-desp_B(k)) - W(k) = 0 );
Sfârşit

Potrebbero piacerti anche