Sunteți pe pagina 1din 38

UNITATEA DE INVĂŢARE 6

Modelarea structurii sortimentale a firmei cu modele de


programare (cu una şi cu mai multe funcţii obiectiv)
•Obiective ale UI

1. Optimizarea modelelor de programare de tip liniar (cu variabile numere


reale/continue)
2. Formularea cazului general de postoptimizare
3. Alte aplicații practice ale programării liniare
4. Optimizarea modelelor de programare de tip liniar cu variabile
numere intregi
5. Programarea multidimensionala/multiobiectiv

•Teste de autoevaluare
1
Obiective ale UI
Prin parcurgerea acestei UI veţi învăţa despre:
 Structura unui model de programare liniară (în numere reale şi în
numere întregi) şi modul în care acesta se poate utiliza pentru
determinarea structurii sortimentale optime a unei firme;
 Rolul postoptimizării în problemele de programare a structurii
sortimentale şi posibilităţile de analiză oferite de aceasta.
 Cum se pot rezolva problemele de programare liniară și
programare scop în sistem conversaţional, cu produsele
informatice WINQSB, QM for Windows si Excel, şi cum se
intereprează rapoartele obţinute.
2
Introducere
 Multe decizii de management implică încercarea de a face mai eficientă utilizarea
resurselor (mașini, muncă, bani, timp, spațiu de depozitare, materii prime, etc.) unei
organizații. Aceste resurse pot fi utilizate pentru a face produse (cum ar fi mașini,
mobilier, alimente, îmbrăcăminte) sau servicii (ex: orare pentru companiile aeriene sau
de producție, politici publicitare sau decizii de investiții).
 Programarea liniară (LP) este o tehnica de modelare matematică utilizată pe scară
largă, concepută pentru a ajuta managerii în planificarea și luarea deciziilor în raport
cu alocarea resurselor.
 În ciuda numelui său, PL și categoria mai largă a tehnicilor numite de “programare
matematica” au foarte puțin de a face cu programarea informatica. În știința
managementului, programarea se referă la modelarea și rezolvarea matematică a unei
probleme. Problemele de PL sunt prea greoaie pentru a se putea rezolva cu mâna, de
aceea programele informatice dedicate sunt foarte utile.
 În ultimii 60 de ani, PL a fost aplicată pe scară largă pentru probleme militare,
industriale, financiare, de marketing, contabilitate, precum și de agricultură. Chiar
dacă aceste aplicații sunt diverse, toate problemele de PL au mai multe proprietăți și
ipoteze în comun.
1. OPTIMIZAREA MODELELOR DE PROGRAMARE
TIP LINIAR (cu variabile reale/continue)
 Fiind date n activităţi competitive şi m resurse limitate, se notează cu:
x1, x2,...,xn, nivelurile pe care le pot atinge fiecare din cele n activităţi =
variabilele de decizie ale problemei.
 Alegerea unei variante decizionale se realizează pe baza unor criterii
economice (profit, cost, încărcarea utilajelor etc.) exprimate prin funcţii
liniare de forma:
n

f(X) = c
j 1
j xj

Aceste funcţii vor fi maximizate sau minimizate în funcţie de obiectivul pe


care îl reprezintă. Ele se numesc funcţii obiectiv sau de eficienţă.
 Nivelul pe care îl poate atinge valoarea funcţiei obiectiv depinde de nivelul
resurselor disponibile şi de obligaţiile pe care organizaţia le are de
îndeplinit.
Aceste constrângeri la care sunt supuse variantele decizionale pot fi
exprimate matematic prin restricţii liniare.
 Metodele de rezolvare ale modelelor de programare liniară au la bază
algoritmul simplex construit de G. Dantzig
1. OPTIMIZAREA MODELELOR DE PROGRAMARE
DE TIP LINIAR (cu variabile reale/continue)
 Forma generală a modelului de programare liniară este:
n
max (sau min) f(X) =  c jx j
j1
supusă la restricţiile:
AX  b (sau AX ≥ b)
X  0 (se mai numesc restricții/condiții de nenegativitate)

unde:
 X = vector coloană cu n componente x1, x2,...,xn, care reprezintă necunoscutele
modelului (variabilele decizionale);
 A, b, c sunt constantele modelului, considerate certe în perioada analizată;
 A = matrice cu m linii şi n coloane. Este numită matricea coeficienţilor tehnologici
aij, i = 1,...,m, j = 1,...,n;
 b = vector coloană cu m componente b1, b2, ..., bm, care sunt termenii liberi din
partea dreaptă a restricţiilor. Ei reprezintă disponibilul maxim dintr-o anumită resursă
sau nivelul minim care trebuie atins de anumite activităţi;
 c = vector linie cu n componente care reprezintă coeficienţii funcţiei obiectiv. Ei pot
fi costuri unitare, preţuri unitare, profituri unitare sau alţi indicatori de performanţă
care caracterizează variabilele de decizie.
1. OPTIMIZAREA MODELELOR DE PROGRAMARE
TIP LINIAR (cu variabile reale/continue)

Orice problemă de programare liniară are două forme:


• forma primală
• forma duală.
 Prin rezolvarea uneia dintre ele se obţin soluţiile pentru ambele
forme.
 Rezolvarea în sistem conversaţional se poate efectua cu produse
informatice cum sunt:
WINQSB/ Lp – ilp,
QM for Windows/Linear Programming
SOLVER care este un instrument add-ins al Excel
1. OPTIMIZAREA MODELELOR DE PROGRAMARE
DE TIP LINIAR (cu variabile reale/continue)
Prin rezolvarea modelului de programare liniară (forma primală) se obţin:
 Soluţia optimă, adică varianta decizională care duce la cea mai bună valoare a criteriului
de performanţă specificat prin funcţia obiectiv;
 Preţurile umbră (shadow price) asociate restricţiilor liniare:
• Preţurile umbră reprezintă valorile optime ale variabilelor duale;
• Preţurile umbră sunt folosite la analiza senzitivităţii soluţiei optime la variaţia vectorului b
al resurselor (termenii liberi ai restricţiilor liniare);
• Preţul umbră arată cu cât s-ar modifica valoarea funcţiei obiectiv dacă s-ar putea mări cu o
unitate disponibilul din resursa respectivă;
• Preţul umbră asociat unei resurse este valabil pentru un anumit interval de variaţie al
cantităţii disponibile de resursă;
• Preţul umbră este diferit de zero numai dacă restricţia asociată este verificată cu egalitate,
adică numai dacă resursa respectivă este folosită integral de către soluţia optimă.
 Costurile reduse (reduced cost) asociate restricţiilor de neneg. asupra variabilelor
decizionale:
• Costurile reduse sunt folosite pentru verificarea optimalităţii soluţiilor problemei de
programare liniară;
• Costul redus este diferit de zero numai dacă variabila asociată are valoarea zero în soluţia
optimă;
• Costul redus arată cu cât s-ar înrăutăţi valoarea funcţiei obiectiv dacă valoarea variabilei
asociate ar creşte de la 0 la 1.
Studiul de caz 4 ptr. Seminar (carte RSC, LF; HD, CN, Modelare economică, Ed. ASE,
2009, p. 100): Determinarea sructurii optime de productie pentru variabile numere reale

O societate comercială specializată în realizarea de ţesături urmează


să producă în luna următoare, pe baza studiilor de piaţă întreprinse,
trei tipuri de stofe: Stofa1, Stofa2 şi Stofa3.
Se doreşte stabilirea unui program optim de producţie în următoarele
condiţii:

1. Maximizarea venitului dacă preţurile de vânzare sunt: 57 u.m./metru


pentru Stofa1, 70 u.m./metru pentru Stofa2 şi 50 u.m./metru pentru
Stofa3;
2. Obţinerea unei producţii fizice de cel puţin 8000 metri (pentru care
există contracte ferme) şi cel mult 10000 metri;
3. Consumul din materia primă de import MI să nu depăşească
2400 kg, cunoscându-se consumurile specifice: 0,2 kg/metru Stofa1,
0,3 kg/metru Stofa2, 0,1 kg/metru Stofa3.
Studiul de caz 4 ptr. Seminar (carte RSC, LF; HD, CN, Modelare economică, Ed. ASE,
2009, p. 100): Determinarea sructurii optime de productie pentru variabile numere reale

1. Modelul economico – matematic:


 Variabilele:
x1 = cantitatea din Stofa1,
x2 = cantitatea din Stofa2,
x3 = cantitatea din Stofa3
 Funcţia obiectiv: max (57x1 + 70x2 + 50x3)
 Restricţiile liniare:
x1 + x2 + x3  8000
x1 + x2 + x3  10000
0,2x1 + 0,3x2 + 0,1x3  2400
 Restricţiile referitoare la semnul variabilelor:
x1  0, x2  0, x3  0
Studiul de caz 4 (carte Modelare economică, Ed. ASE, 2009, p. 100): Determinarea
structurii optime de productie pentru variabile numere reale

2. Rezolvarea cu WINQSB/LP-ILP: Interval de


optimalitate
Decisi Solution Unit Total Redu Basis
on Value Cost Contribu ced Status Allowa Allowa
Varia or tion Cost ble ble
ble Profit Min. Max.
c(j) c(j) c(j)

1 X1 0 57 0 -3.00 at bound -M 60

2 X2 7000 70 490000 0 basic 64 150


3 X3 3000 50 150000 0 basic 44 70

Objective Function
640000
(Max)= Interval de
admisibilitate
Constrai Left Hand Directio Right Hand Slack Shadow Allowabl Allowable
nt Side n Side or Min. RHS Max. RHS
Surplus
Price
1 C1 10000 >= 8000 2000 0 -M 10000
2 C2 10000 <= 10000 0 40 8000 24000
4 C3 2400 <= 2400 0 100 1000 3000
2. FORMULAREA CAZULUI GENERAL DE
POSTOPTIMIZARE
După obţinerea soluţiei optime, înainte de implementarea practică a
acesteia, decidentul poate efectua:
 Modificarea simultană a cantităţilor disponibile din diferite resurse: duce la
reoptimizarea în raport cu vectorul b sau la parametrizarea vectorului
b al termenilor liberi;
 Modificarea simultană a mai multor costuri unitare (sau preţuri) duce la
reoptimizarea în raport cu vectorul c sau la parametrizarea vectorului c
al coeficienţilor funcţiei obiectiv;
 Modificarea consumurilor tehnologice: determină modificarea unor
elemente ale matricei coeficienţilor tehnologici şi duce la reoptimizarea în
raport cu matricea A;
 Asimilarea de produse noi determină introducerea unor variabile noi şi duce
la reoptimizarea în raport cu matricea A şi vectorul c;
 Apariţia unor noi resurse limitate determină adăugarea de noi restricţii şi
duce la reoptimizarea în raport cu matricea A şi vectorul b.
Aceste modificari se pot realiza prin:
Analize de senzitivitate, Reoptimizări, Parametrizări
2. FORMULAREA CAZULUI GENERAL DE
POSTOPTIMIZARE
I. Analiza senzitivităţii soluţiei optime la variaţia coeficienţilor funcţiei
obiectiv
 Furnizează intervalul în care poate varia fiecare coeficient al funcţiei obiectiv, astfel
încât soluţia optimă primală (coloana Solution Value din WINQSB) să rămână
neschimbată.
 Intervalul asociat unui coeficient al funcţiei obiectiv pentru care soluţia problemei
rămâne optimă se numeşte interval de optimalitate (Coloanele Allowable Min c(j)
şi Allowable Max c(j) din WINQSB)
 Cunoscând soluţia optimă şi intervalul de variaţie al unui coeficient al funcţiei
obiectiv, în ipoteza că ceilalţi coeficienţi ai modelului nu se modifică, se poate
determina variaţia corespunzătoare a funcţiei obiectiv.

 Ex.: dacă preţul de vânzare pentru Stofa1 este mai mic de 60 u.m./metru atunci x1
= cantitatea realizată din Stofa1 va rămâne zero.
Creşterea de la 57u.m./metru la 58 u.m./metru a preţului de vânzare nu va genera
venit suplimentar deoarece (58 – 57)*0 = 0.
Dacă ceilalţi coeficienţi nu se modifică, dar se modifică de la 70 u.m./metru la 72
u.m./metru preţul asociat lui x2, deoarece 72 aparţine intervalului [64; 150], iar x2
= cantitatea optimă realizată din Stofa2 = 7000 metri, atunci venitul total va creşte
cu (72-70)*7000 = 14000 u.m., adică de la 640 000 u.m. la 654000 u.m.
2. FORMULAREA CAZULUI GENERAL DE
POSTOPTIMIZARE
II. Analiza senzitivităţii soluţiei optime (primale si duale) la variaţia
termenilor liberi ai restricţiilor liniare
 Furnizează intervalul în care poate varia fiecare termen liber, astfel încât
soluţia optimă duală (vectorul preţurilor umbră) să nu se modifice.
 Intervalul asociat unui termen liber pentru care preţul umbră asociat rămâne
neschimbat se numeşte interval de admisibilitate pentru soluţia primalei.
(Coloanele Allowable Min RHS şi Allowable Max RHS din WINQSB).
 Cunoscând preţul umbră optim şi intervalul de variaţie al unui termen liber, în
ipoteza că ceilalţi coeficienţi ai modelului nu se modifică, se poate determina
variaţia corespunzătoare a funcţiei obiectiv.

 Ex.: preţul umbră de 100 u.m. asociat restricţiei C3 este valabil pentru variaţia
disponibilului b3 de materie primă de import MI între 1000 kg şi 3000 kg.
Dacă disponibilul de resursă creşte de la cantitatea curentă 2400 kg la 2500 kg,
atunci se va obţine un spor de venit = (2500 – 2400)*100 = 10000 u.m., adică venitul
total va fi de (640000 + 10000) = 650000 u.m.
De asemenea, dacă disponibilul de resursă scade de la cantitatea curentă 2400 kg la
2300 kg, atunci se va obţine o reducere de venit = (2300 – 2400)*100 = -10000 u.m.,
adică venitul total va fi de (640000 – 10000) = 630000 u.m.
2. FORMULAREA CAZULUI GENERAL DE
POSTOPTIMIZARE

III.Reoptimizarea – se realizează în cazul modificării


coeficienţilor cj din funcţia obiectiv, în afara intervalelor lor
de optimalitate şi/sau modificarea termenilor liberi bi din
partea dreaptă a restricţiilor în afara intervalelor de
admisibilitate şi/sau modificarea unor coeficienţi din matricea
A.

Reoptimizarea pp. parcurgerea a două etape:


 Verificarea optimalităţii soluţiei curente în noile condiţii;
 Determinarea noii soluţii în cazul în care soluţia curentă
nu îndeplineşte condiţiile de optimalitate.
2. FORMULAREA CAZULUI GENERAL DE
POSTOPTIMIZARE

IV. Parametrizarea – se face pentru analize de tipul „ce-ar fi


dacă?” în cazul în care coeficienţii cj ai funcţiei obiectiv sau
termenii liberi bi din partea dreaptă restricţiilor sunt funcţii
liniare de un parametru (-, +).

Parametrizarea pp. parcurgerea a două etape:


 Rezolvarea problemei pentru o valoare fixată a
parametrului;
 Studiul senzitivităţii soluţiei la variaţia parametrului.
Studiul de caz 4 ptr. Seminar (carte RSC, LF; HD, CN, Modelare economică, Ed. ASE,
2009, p. 100): Determinarea sructurii optime de productie pentru variabile numere reale

Ex: Parametrizarea coeficientului c1 asociat variabilei x1 în


funcţia obiectiv (pret unitar al prod Stofa 1).
Parametric Analysis for LP Sample Problem -- Objective Function

Range From To From To Slope Leaving Entering


Coeff. Coeff. OBJ Value OBJ Value Variabl Variable
of X1 of X1 e

1 57.00 60.00 640000 640000 0 X3 X1

2 60.00 70.00 640000 700000 6000 X2 Slack_


C3
3 70.00 M 700000 M 10000

4 57.00 -M 640000 640000 0


Studiul de caz 4 ptr. Seminar (carte RSC, LF; HD, CN, Modelare economică, Ed. ASE,
2009, p. 100): Determinarea sructurii optime de productie pentru variabile numere reale

M
900000
Valoarea functiei obiectiv

800000

700000 700000

640000
640000
640000
600000
-M
30 40 50 57 60 70 80 M
90
Coeficientul lui x1 din functia obiectiv
Studiul de caz 4 ptr. Seminar (carte RSC, LF; HD, CN, Modelare economică, Ed. ASE,
2009, p. 100): Determinarea sructurii optime de productie pentru variabile numere reale

Ex: Parametrizarea termenului liber b3 asociat restricţiei C3 referitoare la


materia primă de import.
Parametric Analysis for LP Sample Problem - Right-Hand-Side
From To RHS From To Leaving Entering
RHS of C3 of C3 OBJ Value OBJ Slope Variable Variable
Value
1 2400 3000.00 640000 700000 100 X3 Slack_C3

2 3000 M 700000 700000 0

3 2400 1000 640000 500000 100 X2 Slack_C2

4 1000 800 500000 400000 500 Surplus_C


1

5 800 -Infinity Infeasible


Studiul de caz 4 ptr. Seminar (carte RSC, LF; HD, CN, Modelare economică, Ed. ASE,
2009, p. 100): Determinarea sructurii optime de productie pentru variabile numere reale
3. ALTE APLICAȚII PRACTICE ALE PROGRAMARII
LINIARE

MODELE PENTRU PROBLEME DE AMESTEC


 Un produs final P are în componenţă sa produsele care trebuie
amestecate. Pj  j  1,..., n 
 Produsul P are caracteristici calitative impuse şi exprimate prin m
indicatori: I1, I2, ... Im, de mărime bi (i = 1, ..., m);
 aij – mărimea indicatorilor pentru fiecare produs (i = 1, ..., m); (j = 1,
..., n);
 Eh (h = 1, ..., r) – indicatori de eficienţă ai fiecărui produs cu mărimile
Chj (h = 1, ..., r); (j = 1, ..., n), care, după caz, vor fi maximizaţi sau
minimizaţi. n
 Modelul matematic general al problemei de amestec: opt  C hj x j
j1
Exemplu: care să fie cantitatea din fiecare ingredient n
ce intră în compoziția unui produs (variabilele),  a ij x j  b i
j1
astfel încât să se obțină un produs cu cost minim xj  0
(functia obiectiv), în condițiile respectării unor anumite
conținuturi în substanțe nutritive (restricțiile).
3. ALTE APLICAȚII PRACTICE ALE PROGRAMARII
LINIARE
MODELE DE CROIRE
Modelul general al problemei de croire:
min  c j x j
j

a ij x j  Ni
Notaţii: xj  0
aij - număr de piese/bucăţi de tip i care se debitează/taie/croiesc conform
soluţiei (tiparului) j;
cj – costul sau cantitatea deşeurilor rămase conform soluţiei j;
Ni - numărul de piese/bucăţi necesare de tip i;
Xj - numărul de suprafeţe debitate/croite conform soluţiei j.

Exemplu: care să fie numărul de țevi tăiate după fiecare tipar (variabilele),
astfel încât să se minimeze cantitatea de deșeuri rezultate (funcția
obiectiv), în condițiile obținerii unui anumit număr de țevi din fiecare
model și a respectării unor anumite tipare de croire (restricțiile).
4. OPTIMIZAREA MODELELOR DE PROGRAMARE
DE TIP LINIAR (cu variabile numere întregi)

 În cazul produselor indivizibile (care se măsoară în bucăți), pentru


determinarea structurii optime de fabricaţie se pot utiliza modele de
programare liniară în numere întregi.
 Domeniul de admisibilitate al modelelor liniare cu variabile în numere
întregi este format dintr-un număr finit de puncte. Rezultă că numărul de
variante sau alternative decizionale este finit.
 Rezolvarea modelelor liniare cu variabile întregi se efectuează cu metode
de enumerare.
 Există două tipuri de metode de enumerare: explicită şi implicită.
 Din categoria metodelor de enumerare implicită face parte metoda
„Branch and Bound” adică „ramifică şi mărgineşte”.
 Procesul iterativ de rezolvare a unei probleme printr-o metoda de tip
„branch and bound” poate fi reprezentat printr-un arbore binar, în care
fiecare nod are un singur ascendent şi doi descendenţi direcţi.
4. OPTIMIZAREA MODELELOR DE PROGRAMARE
DE TIP LINIAR (cu variabile numere întregi)
 Fiecare nod al arborelui binar reprezintă o problemă de programare
liniară fără restricţiile ca variabilele să fie întregi. Problemele asociate
nodurilor arborelui binar se rezolvă cu algoritmul simplex.
 Un nod se ramifică dacă soluţia problemei este neîntreagă şi nu există alt
nod cu soluţie întreagă şi cu valoare mai bună a funcţiei obiectiv.
 Pentru ramificarea unui nod, din soluţia problemei asociată acelui nod, se
alege o componentă xj cu valoare neîntreagă, xj = . Pornind de la această
variabilă se construiesc două probleme care generează două noduri
descendente:
 Problema pentru nodul stâng: prin adăugarea restricţiei xj  [], unde
[] este parte întreagă a numărului 
 Problema pentru nodul drept: prin adăugarea restricţiei xj  [] +1.
 Un nod NUse mai ramifică, adică devine margine, dacă:
 are soluţie întreagă;
 nu are soluţie admisibilă;
 are soluţie neîntreagă, dar există alt nod cu soluţie întreagă şi o
valoare mai bună a funcţiei obiectiv
Exemplu practic: Modelarea structurii de productie si a posibilitatilor de dezvoltare a
unei organizatii, cu variabile numere intregi

Studiul de caz 5 (carte Modelare economică, Ed. ASE, 2009, p. 124)


Firma Electro SA realizeaza 2 component electronice (F43 si F126) folosind 2 utilaje
(RX4 si LM43) si o grupa de montaj. Se doreste efectuarea unei analize pentru
determinarea progarmului zilnic de productie a celor 2 produse si a necesarului
suplimentar de utilaje LM43 si muncitori de montaj, in urmatoarele conditii:
- Maximizarea venitului zilnic total daca produsul F43 adduce un venit de 450 um/buc,
produsulo F126 adduce un venit de 700 um/buc, costul suplimentraii cu un util;aj
LM43 este de 90um/utilaj, iar celui al suplimentarii cu un muncitor este de 25
um/muncitor.
- Timpul necesar ptr realizarea produselor pe utilajul RX4 este de 5 ore/buc ptr F43 si 2
ore/buc ptr F126. Timpul maxim disponibil este de 24 ore.
- Timpul necesar ptr realizarea produselor pe utilajul LM43 este de 1.5 ore/buc ptr F43 si
5 ore/buc ptr F126, iar fondul de timp actual de 24 ore va creste cu 8 ore x nr. suplim
de utilaje.
- Timpul necesar ptr montarea produselor este de 5 ore/buc ptr F43 si 6 ore/buc ptr F126,
iar fondul de timp actual de 36 ore va creste cu 8 ore x nr suplim de muncitori.
- Nr suplimentar de utilaje LM43 nu trebuie sa depaseasca 2 utilaje, iar cel de muncitori
pt grupa de montaj nu trebuie sa depaseasca 4 muncitori.
Exemplu practic: Modelarea structurii de productie si a posibilitatilor de dezvoltare a
unei organizatii, cu variabile numere intregi

Studiul de caz 5 (carte Modelare economică, Ed. ASE, 2009, p. 124)

Modelul economico matematic


 Variabilele modelului
x1 = numărul de produse F43
x2 = numărul de produse F126
x3 = număr suplimentar de utilaje LM43
x4 = număr suplimentar de muncitori pentru grupa de montaj
 Funcţia obiectiv
Max (450x1 + 700x2 – 90x3 – 25x4)
 Restricţii
5x1 + 2x2  24
1,5x1 + 5x2  24 + 8x3  1,5x1 + 5x2 - 8x3 24
5x1 + 6x2  36 + 8x4  5x1 + 6x2 - 8x4 36
x3  2
x4  4

x1  0 şi întreg, x2  0 şi întreg, x3  0 şi întreg, x4  0 şi întreg


Exemplu practic: Modelarea structurii de productie si a posibilitatilor de dezvoltare a unei
organizatii, cu variabile numere intregi

Rezolvare cu WINQSB (7 iteratii), ex:


ITERATIA 1 ITERATIA 2
Decis Lower Upper Solutio Variabl Sta Decis Lower Upper Soluti Varia Statu
on Bound Bound n e Us on Bound Bound on Le Type s
Varia Value Type Varia Value
le le
1 X1 0 M 1.82 Integer No 1 X1 2.00 M 2.00 Integer Yes

2 X2 0 M 7.45 Integer No 2 X2 0 M 7.00 Integer Yes

3 X3 0 M 2.00 Integer Yes 3 X3 0 M 1.75 Integer No

4 X4 0 M 2.23 Integer No 4 X4 0 M 2.00 Integer Yes

Current OBJ(Maximize) = 5800.68 Current OBJ(Maximize) = 5592.50 >=


>= ZL = -M Non-integer ZL = -M Non-integer
ITERATIA 3
Decisio Lower Upper Solution Variable Status
Variable Bound Bound Value Type
1 X1 2.00 M 2.00 Integer Yes
2 X2 0 M 7.00 Integer Yes
3 X3 2.00 M 2.00 Integer Yes
4 X4 0 M 2.00 Integer Yes
Current OBJ(Maximize)= 5570.00 >= ZL = -M New incumbent
Exemplu practic: Modelarea structurii de productie si a posibilitatilor de dezvoltare a unei
organizatii, cu variabile numere intregi

Iteraţia 1
Z=5800,68
x1 = 1,82
x2 = 7,45
x3 = 2 x4 = 2,23

x1  1 x1  2
Iteraţia 5 Iteraţia 2
Z= 5612,50 Z=5592,50
x1 = 1 x1 = 2
x2 = 7,7 x2 = 7
x3 = 2 x3 = 1,75
x4 = 1,9 x4 = 2

x2  7 x2  8 x3  1 x3  2

Iteraţia 7 Iteraţia 6 Iteraţia 4 Iteraţia 3


Z=5175 Z=5382,50 Z=4967,95 Z=5570
x1 = 1 x1 = 0 x1 = 2,55 x1 = 2
x2 = 8
x2 = 7 x3 = 2
x2 = 5,64 x2 = 7
x3 = 1,56 x4 = 1,5 x3 = 1 x3 = 2
x4 = 1,38 x4 = 1,32 x4 = 2
Soluţie neadmisibilă
Soluţia optimă
5. PROGRAMAREA LINIARĂ
MULTIDIMENSIONALĂ/ MULTIOBIECTIV

Forma generală a problemei de programare liniară cu mai multe funcţii


obiectiv:
Optimum F(x) = Cx
cu restricţiile:
Ax  b
x  0,
unde: F(x) = vector coloană cu r componente f1(x), f2(x),...,fr(x), care
reprezintă funcţiile obiectiv prin care sunt exprimate criteriile de
evaluare a variantelor decizionale.

Metode:
 Metoda maximizării unei funcţii sinteză de utilitate
 Metoda programarii scop (Goal Programming)
5. PROGRAMAREA LINIARĂ
MULTIDIMENSIONALĂ/ MULTIOBIECTIV
METODA MAXIMIZĂRII UNEI FUNCŢII SINTEZĂ DE UTILITATE

 Pentru determinarea unei soluţii care realizează cel mai bun compromis
pentru toate funcţiile se va construi o funcţie sinteză a tuturor funcţiilor
obiectiv numită funcţie sinteză de utilitate.

 Funcţia sinteză de utilitate se obţine prin transformarea funcţiilor


obiectiv f1(x), f2(x), ..., fr(x), cu semnificaţii economice concrete, în
funcţii de utilitate care pot fi însumate.

 Prin maximizarea funcţiei sinteză de utilitate în raport cu restricţiile


problemei (folosind algoritmul simplex) se obţine soluţia de compromis
cu utilitate maximă.

Pentru înțelegerea modelului se poate consulta exemplul practic din cartea Rațiu-
Suciu C, Luban F, Hincu D, Ciocoiu N, Modelare Economică, Ed ASE, 2009, St
caz 10, p. 165-167
5. PROGRAMAREA LINIARĂ
MULTIDIMENSIONALĂ/ MULTIOBIECTIV
METODA PROGRAMARII SCOP
PS - o metodă de rezolvare a problemei de programare liniară cu mai multe funcţii
obiectiv.
Metoda PS a fost propusă şi dezvoltată sub denumirea de "Goal Programming" de
A. Charnes şi W. Cooper.
Obiectivul programării scop: găsirea unei soluţii care verifică restricţiile Ax  b,
x0 şi care conduce la abateri cât mai mici faţă de scopurile propuse prin
funcţiile obiectiv.
Ideea de bază a metodei constă în transformarea tuturor funcţiilor obiectiv în
„restricţii scop” prin:
– specificarea pentru fiecare funcţie obiectiv a unui nivel de aspiraţie sau scop;
– definirea pentru fiecare scop a unei perechi de variabile de abatere sau
deviaţie:
• deviaţia în plus faţă de scopul propus;
• deviaţia în minus faţă de scopul propus.
Nivelurile de aspiraţie sau scopurile pot fi:
– stabilite de decident;
– obţinute prin optimizarea problemei de programare liniară în raport cu fiecare
funcţie obiectiv.
5. PROGRAMAREA LINIARĂ
MULTIDIMENSIONALĂ/ MULTIOBIECTIV
METODA PROGRAMARII SCOP
Funcţia care minimizează deviaţiile faţă de nivelurile de aspiraţie sau scopurile propuse se
numeşte „funcţie scop”.
Forma generală a unui model PS: minimizează una sau mai multe funcţii scop de forma:
N

 i i
( d
i 1

  
i i )
d
supusă la restricţiile: Ax  b
şi restricţiile „scop”: fi(x) = Vi + d+i - d-i => fi(x) - d+i+ d-i = Vi, i = 1,...,N
cu restricțiile de nenegativitate: x  0
d+i  0, d-i  0, i = 1,...,N
unde:
d+i si d-i deviaţia în plus/în minus faţă de val. prestabilită pentru funcţia obiectiv i;
πi şi ρi sunt coeficienţi ai deviaţiilor care fac posibilă însumarea lor;
fi(x) - funcţia obiectiv i;
Vi - valoarea prestabilită (nivelul de aspiraţie) pentru funcţia obiectiv i;
x - vector coloană cu n componente x1, x2,...,xn care reprezintă variabilele decizionale ale
problemei.
Ax  b: restricţiile care definesc domeniul de admisibilitate al problemei pentru variabilele
decizionale x1, x2,...,xn.
5. PROGRAMAREA LINIARĂ
MULTIDIMENSIONALĂ/ MULTIOBIECTIV
 METODA PROGRAMARII SCOP
 Elementul cheie - specificarea funcţiei obiectiv, adică definirea coeficienţilor πi şi
ρi pentru deviaţiile di+ şi di-.
 Dacă deviaţiile se măsoară cu unităţi de măsură diferite, atunci este necesară
definirea unor costuri de penalizare a deviaţiilor astfel încât să se poată minimiza
suma totală a costurilor de penalizare generate de diferite deviaţii.
 Funcţiilor scop li se pot asocia diferite priorităţi. În acest caz se poate proceda
astfel:
 Se ordonează descrescător scopurile şi se stabileşte prioritatea de satisfacere a
fiecărui scop:
P1  P2  … Pn... unde  înseamnă "mult mai mare".
 Numărul priorităţilor este mai mic sau cel mult egal cu numărul funcţiilor
obiectiv, iar numărul funcţiilor scop este egal cu numărul priorităţilor
acordate.
 Ordonarea prin priorităţi este absolută, astfel că scopul cu prioritatea P2 nu
va fi niciodată atins înainte ca scopul cu prioritatea P1 să fie realizat cu
abaterea cea mai mică faţă de nivelul de aspiraţie propus.
 În acest caz, prin metoda programării scop se rezolvă succesiv un număr de
probleme egal cu numărul priorităţilor.
 Rezolvarea modelelor de PS: WINQSB/ Gp – igp, QM forWindows/Goal Programming.
Studiul de caz 10 ptr. seminar (carte RSC, LF, HD, CN, Modelare Economica, Ed
ASE, 2009, p.165 ): Rezolvarea cu metoda programarii scop

Pasul I: scrierea modelului econ. – matematic cu mai multe functii obiectiv:

Variabilele:
x1 = cantitatea din Pcs1 x2 = cantitatea din Pcs2 x3 = cantitatea din Pcs3
Funcţiile obiectiv:
Maximizarea venitului total
(max) f1(x) = 60x1 + 120x2 + 90x3
Minimizarea timpului necesar de lucru Cele 3 fct obiectiv
(min) f2(x) = 15x1 + 10x2 + 19x3 se transforma in
Minimizarea consumului total din materia primă de import Restrictii Scop
(min) f3(x) = 0,2x1 + 0,6x2 + 0,4x3
Restricţii:
referitoare la materialul Mat1:
C1: 0,6x1 + 0,6x2 + 0,2x3  10
referitoare la cantităţile contractate:
C2: 1x1 + 1x2  12
C3: 1x3  5
Restricţiile de nenegativitate:
x1  0, x2  0, x3  0,
Studiul de caz 10 ptr. seminar (carte RSC, LF, HD, CN, Modelare Economica, Ed
ASE, 2009, p.165 ): Rezolvarea cu metoda programarii scop

Pasul 2: transformarea in modelul economico – matematic de PS


Funcţiile scop:
Scopul cu prioritate 1: minimizarea deviaţiei în plus Mimpsupl faţă de consumul minim de
materie primă de import
Min G1: 1Mimpsupl
Scopul cu prioritate 2: minimizarea deviaţiei în minus Venitm faţă de venitul maxim
Min G2: 1Venitm
Scopul cu prioritate 3: minimizarea deviaţiei în plus Timpsupl faţă de timpul de lucru necesar minim
Min G3: 1Timpsupl
Restricţiile pentru consumuri materiale şi pentru cerere:
C1: 0,6x1 + 0,6x2 + 0,2x3  10
C2: 1x1 + 1x2  12
C3: 1x3  5
Restricţiile scop:
C4: 60x1 + 120x2 + 90x3 – Venitsupl + Venitm = 2700 Niveluri de
C5: 15x1 + 10x2 + 19x3 – Timpsupl + Timpm = 215 aspiratie
C6: 0,2x1 + 0,6x2 + 0,4x3 – Mimpsupl + Mimpm = 4,4
Restricţiile de nenegativitate:
x1  0, x2  0, x3  0,
Venitsupl  0, Venitm  0, Variabile de
Timpsupl  0, Timpm  0, abatere/deviatie
Mimpsupl  0. Mimpm  0
Studiul de caz 10 ptr. seminar (carte RSC, LF, HD, CN, Modelare Economica, Ed
ASE, 2009, p.165 ): Rezolvarea cu metoda programarii scop
Pasul 3: Rezolvarea modelului cu WINQSB/Gp-igp
Decision Solution Basis Reduced Reduced Reduced
Variable Value Status Cost Cost Cost
Goal 1 Goal 2 Goal 3
1 X1 12 basic 0 0 0
2 X2 0 at bound 0 60 -35
3 X3 5 basic 0 0 0
4 Venitsupl 0 at bound 0 1 0
5 Venitm 1560 basic 0 0 0
6 Timpsupl 60 basic 0 0 0
7 Timpm 0 at bound 0 0 1
8 Mimpsupl 0 at bound 1 -300 75
9 Mimpm 0 at bound 0 300 -75
Goal 1: Minimize G1 = 0
Goal 2: Minimize G2 = 1560
Goal 3: Minimize G3 = 60
Studiul de caz 10 ptr. seminar (carte RSC, LF, HD, CN, Modelare Economica, Ed
ASE, 2009, p.165 ): Rezolvarea cu metoda programarii scop

Sensitivity Analysis of the Right-Hand-Sides for Studiul de caz 10


Right Allowabl Allowable Shadow Shadow Shadow
Hand e Max.RHS Price Price Price
Min.RHS
Constraint Side Goal 1 Goal 2 Goal 3

1 Material1 <=
10 8.2 M 0 0 0
2 Cerere Pcs1+Pcs2
>= 12 -M 12 0 0 0
3 Cerere PCs3 >=
5 3.2 5 0 20 -11
4 Venit =
prioritate 2
2700 1220 M 0 1 0
5 Timp =
prioritate 3
215 -M 275 0 0 -1
6 Mimport =
prioritate 1
4.4 4.4 5 0 -300 75
2 conflicte: 1. intre scopul de prioritate 1 si cel de prioritate 2 (cu valoarea -300)
2. Intre scopul de prioritate 1 si cel de prioritate 3 (cu valoarea 75)
Studiul de caz 10 ptr. seminar (carte RSC, LF, HD, CN, Modelare Economica, Ed
ASE, 2009, p.165 ): Rezolvarea cu metoda programarii scop

Pasul 4: Analiza rezultatelor (seminar):


1. Citirea solutiei (solution value)
2. Interpretarea costului redus
3. Interpretarea pretului umbra
4. Identificarea si analiza conflictelor dintre
scopuri
Teste de autoevaluare
 Justificaţi necesitatea efectuării analizei de senzitivitate într-un model de programare
liniară folosit pentru determinarea unei structuri de producţie.
 Explicati diferenţa dintre parametrizare si reoptimizare în programarea liniară, ca
instrumente pentru modelarea structurii sortimentale a firmelor.
 Prezentaţi elementele componente ale modelelor de programare liniară. Explicaţi
diferenţele între modelele cu variabile numere reale şi cele cu variabile numere
întregi.
 Explicaţi ce semnificaţie economică are intervalul de optimalitate şi cel de
admisibilitate în cazul modelării structurii sortimentale prin programare liniară. Cum se
numeşte analiza realizată pe baza acestor intervale?
 Precizați ce se adaugă în modelul de PL în nr. întregi la fiecare nouă iterație.
 Descrieţi semnificaţia economică a funcţiilor scop din modelul de programare scop.
 Explicaţi de ce în cazul modelului de programare scop, prin asocierea de priorităţi
diferite funcţiilor obiectiv ale problemei de rezolvat, se generează conflicte între 38
scopuri.

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