Documente Academic
Documente Profesional
Documente Cultură
•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
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)
1 X1 0 57 0 -3.00 at bound -M 60
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
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
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)
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
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.
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,
x0 ş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
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
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