Sunteți pe pagina 1din 16

INTRODUCERE IN CERCETARI OPERATIONALE

NOTE DE CURS
Mihai Talmaciu, Anamaria Agapin

1
Cuprins
Cap 1. Introducere in Cercetari Operationale..pag 3
1.1. Problema Firmei...pag 4
1.2. Problema Nutritieipag 5

Cap 2. Metoda Graficapag 7


2.1. Rezolvarea grafica a problemelor de programare liniara. Teorie ..pag 7
2.2. Metoda Grafica de rezolvare a problemelor de
Programare liniara(Aplicatii)...........pag 8

Cap 3. Forma unei probleme de programare liniara....pag 15

Cap 4. Algoritmul Simplex Primal..pag 17


4.1 Probleme care admit solutie initiala de baza...pag 22
4.2. Rezolvarea problemelor de programare liniara care nu admit
solutie initiala de baza. Metoda bazei artificiale....pag 27

Cap 5. Dualitate in programare liniara..pag 29

Cap 6. Rezolvarea unui cuplu de probleme Primala Duala..pag 34

Cap 7. Algoritmul Simplex Dual.pag 37


7.1. Etape ale Algoritmului Simplex Dual..pag 39
7.2. Exemple de probleme rezolvare cu Algoritmului Simplex Dual...pag 40

Cap 8. Jocuri Matriciale..pag 42

Cap 9. Elemente de teoria stocurilor..pag 44

Cap 10. Progamare in numere intregi...................................................................pag 47

Capitolul 11. Elemente de programare neliniara.....pag 69

Cap 12. Bibliografie....pag 114

2
Cap 1. Introducere in Cercetari Operationale
Cuvinte cheie
Probleme de programare liniara.
Obiectivele invatarii
Dupa parcurgerea acestui capitol va trebui:
Sa stiti problema firmei, problema nutritiei.

In cadrul problemelor de programare matematica, un interes aparte li se acorda


acelora care sunt probleme de programare liniara. O problema de programare liniara,
ca problema matematica de programare se remarca in cazul acesta prin faptul ca atat
restrictiile cat si functia de eficienta (obiectiv) se exprima matematic sub forma unor
functii liniare. Datorita marelui matematician G. Dantzig acest tip de probleme au
capatat rezolvare prin metoda Algoritmului Simplex. Acesta face posibila aflarea
solutiilor problemei de programare liniara, in cazul in care acestea exista, sau poate
dovedi neexistenta solutiilor, degenerarea lor. Dupa o perioada metodele de rezolvare a
acestor probleme s-au imbogatit. Interesul de rezolvare a acestui tip de probleme nu a fost
doar de oridin matematic, ci mai mult economic si social. Adica concret vorbind acest tip
de probleme au aparut in practica si anume in renumire firme care aveau interesul de a
maximize venitul si de a minimize costurile globale de functionare a firmei. Deci
problemele de maxim si minim au au aparut in diverse domenii ale matematicilor pure si
aplicate si nu numai. Asa cum am mai spus si anterior firmele incearca sa isi maximizeze
profitul si in acelasi timp isi minimizeaza costurile.
In concluzie acest tip de programare liniara, face parte dintr-o clasa importanta de
probleme de optimizare, care apar de foarte multe ori in viata de zi cu zi si anume in
mediul economic si nu numai. Aceste probleme au scopul de a maximize sau a minimiza
o funcite liniara care este intitulata ca functie obiectiv, ale carei variabile trebuie sa
indeplineasa urmatoarele:
a) un sistem de relatii sub forma unor ecuatii si / sau inecuatii liniare
nestricte, denumite restrictii.
b) cerinta de a lua numai valori numerice nenegative.( 0 )
Voi prezenta in continuare cateva exemple clasice de probleme de programare
liniara care le puteti gasi in majoritatea cartilor de cercetari operationale.

3
1.1) Problema firmei: Consideram un sistem de productie, de exemplu o

firma, care produce n bunuri si anume: G , G , G ,..., G


1 2 3 n
utilizand

pentru acesta m categorii de resurse R , R ,..., R


1 2 m
(materii prime, forta de

munca, capacitate de productie, combustibili si energie etc). Adoptam ipoteza ca


tehnologia de transformare a resurselor in bunuri este liniara in sensul ca :
Pentru fiecare bun, consumul dintr-o anumita resursa este direct
proportional cu cantitatea produsa
Consumurile dintr-o resursa sau alta nu se conditioneaza reciproc.

Fie atunci a ij cantitatea din resursa i utilizata pentru producerea unei unitati din bunul

G j .

Pretul unui bun nu depinde de cantitatea produsa si nici de situatia


vanzarilor celorlalte bunuri.

Problema consta in determinarea unui program de fabricatie care sa


maximizeze venitul sau profitul firmei.

Sa notam cu x j cantitatea din bunul G j care urmeaza a fi propusa. Problema

enuntata mai inainte devine:

Sa se gasesca valorile numerice x , x ,..., x


1 2 n
care maximizeaza functia:

f c1 x1 c 2 x 2 ... c n x n

cu satisfacerea restrictiilor:

4
a11 x1 a12 x2 ... a1n xn b1

a21 x1 a22 x2 ... a2 n xn b2

....................................................

am1 x1 am 2 x2 ... amn xn bm
si a conditiilor de nenegativitate:

x 0, x
1 2
0,... xn 0

Observatie: ipotezele de liniaritate facute nu sunt verificate intotdeauna in practica.


Ratiunea lor este dubla:
Conduc la modele matematice in general simple;
Pe baza modelelor liniare se pot formula concluzii calitative si legitati
economice care isi mentin valabilitatea in anuimte limite si intr-un
context neliniar.
1.2) Problema nutritiei: Din considerente biologice s-a stabilit ca ratia zilnica, a
fiecarui animal crescut de catre o ferma zootehnica, trebuie sa contina n elemente

nutritive N ,N
1 2
,..., N n in cantitatile b , b ,..., b
1 2 n
. Ferma dispune de m tipuri

de nutreturi A , A ,..., A
1 2 m
pe care le procura la preturile c , c ,... c
1 2 m
.

Analiza continutului in substante nutritive arata ca o unitate din nutretul A j ,

(j=1,2,,m) contine a ji unitati de substanta de tipul i (i=1,2,,n).

Se pune problema hranirii rationale a animalelor, adica alcatuirea unor ratii care
sa corespunda cerintelor biologice si in acelasi timp, sa implice cheltuielile minime.

5
Pentru modelarea matematica a problemei, sa notam cu x , x ,..., x
1 2 m

cantitatile de nutret din tipurile A , A ,..., A


1 2 m
ce se vor aloca pentru hrana zilnica

a unui animal.
Atunci necesitatile biologice enuntate, vor impune urmatoarele restrictii asupra

necunoscutelor: x , x ,..., x
1 2 m
.

a x a x
11 1 21 2
... a m1 xm b1 .

a x a x
12 1 22 2
... a m 2 xm b2
......................................................
a x a x
1n 1 2n 2
... a mn xm bn

Intr-adevar, deoarece sunbstanta nutritiva N i (i=1,2,,n) se gaseste in fiecare

nutret A j (j=1,2,,m) in cantitatea a ji unitati la unitatea de nutret, atunci in

intreaga ratie, se va gasi intr-o cantitate totala egala cu a


j 1
ji x j . Aceasta cantitate

trebuie sa fie cel putin egala cu minimul necesar bi , pentru a fi respectate normele
biologice prescrise.
Acest rationament, repetat pentru fiecare din cele n substante nutritive luate in
considerare, ne conduce la sistemul de conditii de mai sus. In acelasi timp, este evident si
x j 0 cu j=1,2,,m.
Considerentele economice presupun minimizarea costului unei ratii, cost care va
fid at de expresia:
z c1 x1 c 2 x 2 ... c n x n

Acesta deoarece costul unei unitati din nutret A j este c j si ca atare, costul
intregii cantitati din acest nutret care participa la alcatuirea ratiei va fi c j x j .

6
In concluzie aspectul matematic al problemei puse initial va fi urmatorul: sa se
determine valorile necunoscutelor x1 , x 2 ,..., x m , care satisfac conditiile din sistemul de
mai sus si conditiile de pozitivitate si apoi in cele din urma sa satisfaca:
m

minim(z= c j x j ).
j 1

O analiza primara a problemei scoate in evidenta faptul ca, daca nu contin


elemente contradictorii, conditiile pot fi satisfacute pentru o infinitate de seturi de valori
ale celor m variabile. Aceasta, deoarece din punct de vedere matematic, cele doua grupuri
de conditii reprezinta un sistem de inegalitati liniare. Drept urmare, aflarea solutiei
optime a problemei, adica determinarea valorilor pentru care z sa capete valoare minima,
devine o problema ce nu se poate rezolva pe cale intuitiva.

Discutii finale:
Sa se discute despre problema firmei, problema nutritiei.
Tema propusa:
Sa se faca o lucrare despre problema firmei, problema nutritiei.

Cap 2. Metoda Grafica


Cuvinte cheie
Metoda grafica .
Obiectivele invatarii
Dupa parcurgerea acestui capitol va trebui:
Sa stiti rezolvarea grafica a problemelor de programare liniara, metoda grafica de
rezolvare a problemelor de programare liniara.

2.1 Rezolvarea grafica a problemelor de programare liniara:

Breviar teoretic: Consideram problema de programare liniara care apare in acest


fel sub forma standard:
[opt] f = cx

7
Ax b,
(*) unde
x 0
A M m,n ( R), b M m,1 ( R), c M 1,n ( R), x M n,1 ( R) .
Definitia 1: Se numeste solutie posibila(admisibila) a problemei (*), orice vector

n
xR care satisface restrictiile problemei si conditiile de semn. Notam multimea

n
solutiilor posibile cu X p
{x R / Ax b, x 0} .

Definitia 2: Se numeste solutie posibila de baza a problemei (*) orice solutie

n
posibila xR a problemei (*) care indeplineste urmatoarele conditii:

1) are cel mult m componente stricte positive, iar celelalte sunt egale cu
zero;
2) coloanele matricei A corespunzatoare componentelor strict positive
sunt vectori liniar independenti.

n
Definitia 3: Fie CR o multime convexa. Un punct v C se numeste varf al

multimii C daca nu exista nici o pereche de vectori x1 , x 2 C si (0,1) a.i.


v x 1 (1 ) x 2 .

Teorema 1: Orice solutie posibila de baza a problemei (*) este varf al multimii
solutiilor posibile si reciproc.

Definitia 4: Se numeste solutie optima a problemei (*) orice solutie posibila

0 n
x R a problemei (*) care in plus satisface si conditia de optim finit, si

8
anume: f ( x ) optf ( x) cu x
0
X p. Notam multimea solutiilor optime cu

X 0
.

Teorema 2: Solutia optima a problemei de programare liniara (*) se afla printre

varfurile multimii solutiilor posibile X p ale problemei.

ok
Observatia 1: Daca problema (*) are p solutii optime de baza: x , k 1, p,
p p
k , k 0, k 1 .
0 ok
atunci solutia optima generala are forma: x k 1
x k 1

Observatia 2: Spunem ca o problema de programare liniara admite:


0
1) optim finit, daca
X contine un singur element;

0
2) optim multiplu, daca
X contine cel putin doua elemente.

2.2 Metoda grafica de rezolvare a problemelor de programare liniara:

Aceasta prima metoda este una lejera si usor de aplicat si ca drept dovata va
prezint in continuare cateva exemple de probleme si rzolvarea lor cu ajutorul
metodei grafice.

Problema 1: Se considera urmatoarea problema de programare liniara:

9
[max] f 4 x1 7 x 2

x1 x2 6
x x 2
1 2

x2 1
x1 , x2 0

a) Sa se determine multimea solutiilor posibile ale problemei.


b) Sa se determine multimea solutiilor posibile de baza ale problemei.
c) Sa se determine multimea solutiilor optime ale problemei.

Rezolvare:

a) reprezentam grafic multimea solutiilor posibile X p , adica multimea

punctelor planului ale caror coordonate verifica restrictiile problemei.


Scriem ecuatiile atasate celor trei inecuatii si reprezentam grafic
dreptele care le corespund acestora in plan:
d 1 : x1 x 2 6 , care intersecteaza axele in punctele (0,6) si (6,0).
d 2 : x1 x 2 2 , care intersecteaza axele in punctele (0,-2) si (2,0).
d 3 : x 2 1 , care este paralela cu Ox 1 si taie Ox 2 in punctual (0,1).
Determinam multimea punctelor din plan ale caror coordonate verifica
restrictiile problemei. Se stie ca multimea punctelor planului ale caror
coordonate verifica o inecuatie reprezinta un semiplan.
Fie S 1 semiplanul determinat de inecuatia x1 x 2 6 ; punctul (0,0)
verifica inecuatia, deci S 1 contine originea. Procedand analog in
cazul celorlalte inecuatii si intersectand semiplanele obtinute (S 2 :
x1 x 2 2 , S 3 : x 2 1 , S 4 : x1 0 , S 5 : x 2 0 ), gasim:

10
Multimea solutiilor posibile ale problemei este reprezentata de

interiorul si de frontiera patrulaterului ABCD: X p


[ABCD] .
A=d 3 Ox 2 A(0,1).

x1 x2 2
B=d 2 d 3 ; rezolvand sistemul
x2 1

11
format din ecuatiile celor doua drepte, gasim: B(3,1). Analog C=d 1
d 2 =C(4,2).
D=d 1 Ox 2 D(0,6).
Deoarece multimea X p este marginita, rezulta ca:

b) Multimea X pb a solutiilor posibile de baza este formata din varfurile

patrulaterului ABCD, X pb ={A,B,C,D}.

c) Mutimea X ob
a solutiilor optime de baza este formata din acele elemente

ale multimii X pb (varfuri ale multimii solutiilor posibile) in care functia

obiectiv isi atinge valoarea optima( in acest caz valoare maxima).


Avem ca f(A)=f(0,1)=7; f(B)=f(3,1)=19; f(C)=f(4,2)=30; f(D)=f(0,6)=42,

deci X ob
={D}={(0,6)}, adica x 1 =0, x 2 =6; valoarea optima a functiei

obictiv este max f = 42.

Problema 2: Sa se rezolve urmatoarea problema de programare liniara:


[max]f=2x 1 +3x 2

2 x1 5x2 2

2 x1 3x2 6
x , x 0
1 2

Rezolvare: Pentru prima data o sa determinam solutiile posibile ale problemei.


Scriem ecuatiile atasate celor trei inecuatii si reprezentam grafic
dreptele care le corespund acestora in plan:
2
d 1 : -2x 1 +5x 2 =2, care taie axele in punctele (0, ) si (-1,0).
5
d 2 : 2x 1 +3x 2 =6, care taie acele in punctele (0,2) si (3,0).

12
Determinam punctele din plan ale caror coordonate verifica inecuatiile
sistemului, intersectand semiplanele S 1 : -2x 1 +5x 2 2, S 2 : 2x 1
+3x 2 6, S 3 : x 1 0 , S 4 : x 0 2 . Obtinem:

Multimea X p a solutiilor posibile ale problemei este reprezentata de

2
interiorul si de frontiera triunghiului ABC: X p =[ABC], unde A(0,
5
),

3
B(0,2) si C( ,1).
2

13
In partea doua a problemei calculam valoarea functiei obiectiv in varfurile

2 6 3
multimii X p . Avem ca f(A)=f(0,
5
)= ; f(B)=f(0,2)=6; f(C)=f( ,1)=6. observam
5 2

3
ca functia f atinge valoarea maxima in punctele (0,2) si ( ,1). Conform observatiei 1
2
din breviarul teoretic, rezulta ca solutia optima a problemei este:
t
t 3
X
0
= (0,2) (1 ) ( ,1) , [0,1] adica segmentul [BC]. Valoarea

2
optima a functiei obiectiv este max f=6.

Problema 3: Sa se rezolve urmatoarea problema de programare liniara:


[min]f=9x 1 +5x 2

x1 x2 1

x1 2 x2 1
x , x 0
1 2

Rezolvare: Determinam multimea solutiilor posibile ale problemei.


Dreptele ce determina semiplanele atasate celor doua inecuatii sunt:
d 1 : -x 1 +x 2 =1, care taie axele in punctele (0,1) si (-1,0).
1
d 2 : x 1 +2x 2 =1, care taie axele in punctele (0, ) si (1,0).
2
Intersectam semiplanele S 1 : -x 1 +x 2 1, S 2 : x 1 +2x 2 1, S 3 : x 1 0 , S 4 : x 2
0.

14
Obtinem ca multimea solutiilor posibile ale problemei este vida: X p = , prin urmare

problema de programare liniara nu are solutie.

Problema 4: Sa se rezolve urmatoarea problema de programare liniara:


[max]f=3x 1 +5x 2

x1 3x2 3

2 x1 x2 2
x , x 0
1 2

Rezolvare: Determinam multimea solutiilor posibile ale problemei.


Dreptele ce determina semiplanele atasate celor doua inecuatii sunt:
d 1 : x 1 -3x 2 =3, care taie axele in punctele (0,-1) si (3,0).
d 2 : -2x 1 +x 2 =2, care taie axele in punctele (0,2) si (-1,0).

15
Multimea X p a solutiilor posibile ale problemei este reprezentata de suprafata

hasurata.

Deoarece multimea X p este nemarginita si problema este de maxim, rezulta ca

problema are optim infinit(max f = + ) .

Discutii finale:
Sa se discute despre rezolvarea grafica a problemelor de programare liniara, metoda
grafica de rezolvare a problemelor de programare liniara.
Tema propusa:
Sa se faca o lucrare desprei rezolvarea grafica a problemelor de programare liniara,
metoda grafica de rezolvare a problemelor de programare liniara.

16

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