You are on page 1of 21

Programimi Linear

1
2

Përmbajtja

Formulimi i përgjithshëm i problemit të


programimit
linear
Zgjidhja grafike e problemit të programimit linear
dhe e problemeve që mund të sillen në probleme
me dy variabla
Trajta standarte e problemit të programimit linear
Transformimi i problemit të programimit linear në
trajtë standarte
Programimi linear

Programimi Linear, si metodë matematike, i ka fillimet e tij me George B. Dantzig, i cili


u angazhua në zgjidhjen e problemeve logjistike të forcave ajrore USA gjatë Luftës së
Dytë Botërore.

Sot Programimi Linear aplikohet në të gjitha fushat e prodhimit, transportit, shërbimeve,


organizimit, të ushqyerit dhe shumë problemeve praktike. Aplikim të gjerë kanë gjetur
edhe metodat e programimit jo linear, dinamik, etj.

Për aplikimin e Programimit Linear duhet:


Problemi duhet të ketë në formë eksplicite një funksion objektiv (të qëllimit), i cili
duhet të optimizohet në lidhje me disa faktorë (variabla).
Variablat duhet të jenë të kufizuar. Të tillë mund të jenë: paratë, koha, kapacitetet
prodhuese, personeli, lëndët e para, etj.
Varësia ndërmjet variablave tek funksioni i qëllimit dhe tek kushtet e kufizimeve
duhet të jenë lineare.

Parametrat janë të përcaktuar, domethënë, gjendja e problemit merret statike. Variablat


(faktorët) të jenë jo negativë.

3
4

Shembull 1: Problemi i planifikimit

Një kompani prodhon n lloje produktesh P1, P2, ..., Pn. Për prodhimin e tyre përdoren m
faktorë I1, I2, ..., Im. Shënoj bi – rezervat që zotëron kompania për faktorin e i-të. i  1, m
aij – sasia e njësive të faktorit të i-të, për prodhimin e një sasie të produktit Pj
cj – fitimi neto që siguron kompania pas shitjes së 1 njësie të produktit të j-të.

Problemi që shtrohet është: Sa njësi për secilin produkt duhet të prodhojë kompania, duke
mos tejkaluar rezervat dhe siguron fitimin maksimal.
Shtrimi i problemit

Shënojmë me x1, x2, ... , xn sasitë respektive për secilin produkt që duhet të prodhojë
kompania. Sistemi i kushteve të kufizimit mund të shkruhet:
a11 x1  a12 x 2  ...  a1n x n  b1
a x  a x  ...  a x  b
 21 1 22 2 2n n 2

..............................................
a x  a x  ...  a x  b
 m1 1 m2 2 mn n m

 x1  0 x 2  0........x n  0

funksioni i qëllimit mund të shkruhet:


f  c1 x1  c 2 x 2  ...  c n x n  max 

5
Shtrimi i problemit

Për të ndërtuar me lehtësi sistemin e kushteve të mësipërme, të dhënat e problemit i


paraqesim në një tabelë si:

P1 P2 ...... Pj ...... Pn Rezervat


I1 a11 a12 ...... a1j ...... a1n b1
I2 a21 a22 ...... a2j ...... a2n b2
..... ..... ...... ...... ..... ...... ..... ......
Ii ai1 ai2 ...... aij ...... ain bi
..... ..... ...... ...... ..... ...... ..... ......
Im am1 am2 ...... amj ...... amn bm
fitimi c1 c2 ...... cj ...... cn

6
Formulimi i problemit

Problemi i planifikimit mund të formulohet:

f  c1 x1  c 2 x 2  ...  c n x n  max  (1)


me kushte
a11 x1  a12 x 2  ...  a1n x n  b1
a x  a x  ...  a x  b
 21 1 22 2 2n n 2

.............................................. ( 2)
a x  a x  ...  a x  b
 m1 1 m2 2 mn n m

 x1  0 x 2  0........x n  0 (3)

Me fjalë: Nga zgjidhjet jo negative të sistemit (2) të gjendet ajo për të cilën funksioni i
qëllimit (1) arrin vlerën më të madhe.

7
Shembull 2:

Kompania x prodhon tavolina e karrike. Prodhimi i një tavoline dhe i një karrikeje bëhet
duke kaluar në dy reparte, përkatësisht në repartin e marangozëve (A) dhe në repartin e
lyerjes e të lustrimit (B). Çdo tavolinë kërkon 4 orë pune në repartin A dhe 2 orë pune në
repartin B dhe çdo karrike kërkon 3 orë pune në repartin A dhe 1 orë në repartin B. Gjatë
1 jave reparti A nuk mund të punojë më shumë se 240 orë, ndërsa reparti B jo më shumë
se 100 orë. Ndërmarrja fiton për çdo tavolinë 7$ dhe për çdo karrike 5$. Problemi që
shtrohet është ky: Sa karrike e tavolina duhet të prodhojmë në javë që fitimi i kompanisë
të jetë maksimal?

8
Shembull 2: (Vazhdim)

Të dhënat e problemit i paraqesim në tabelën e mëposhtme:


Produktet
Repartet Sasia ore
Tavolina Karrike
A 4 3 240
B 2 1 100
Fitimi për njësi 7$ 5$

Shënojmë x1 dhe x2 numrin e tavolinave dhe karrikeve që do të prodhohen në javë:

4 x1  3x 2  240

2 x1  x 2  100
x , x  0
 1 2
f  7 x1  5 x 2  max 

9
Matricat. Përcaktorët.
Zgjidhja grafike e problemit të Programimit Linear

Zgjidhja grafike ka vend kur problemi ka dy të panjohura ose kur mund të sillet në trajtë
të tillë. Kemi problemin:
f=c1 x1 + c1x2 [min/max] (1)
Me kushte:
a11 x1  a12 x 2   b1
a x  a x   b
 21 1 22 2 2
 (2)

a m x1  a m x 2   bm
 1 2

dhe x1≥0; x2≥0 (3)

Sistemi i kushteve (2) dhe (3) paraqet në kuadrantin e parë të planit koordinativ një
shumëkëndësh të kufizuar ose jo, që përbën „zonën e lejuar“ Ω.

10
Matricat. Përcaktorët.
Zgjidhja grafike e problemit të Programimit Linear

Drejtëza c1x1 + c1x2=c quhet drejtëz e nivelit, sepse në pikat e kësaj drejtëze funksioni i
qëllimit arrin të njëjtën vlerë c. Në se ndryshojmë vlerat e funksionit c, atëhere drejtëza e
nivelit do të zhvendoset paralelisht me pozicionin e mëparshëm.
11
Matricat. Përcaktorët.
Zgjidhja grafike e problemit të Programimit Linear

Rasti I (c2≠0)
c1 c
Në këtë rast drejtëzën e nivelit mund ta shkruajmë në formën: x 2   x1 
c2 c2
Nënrasti 1 (c2>0)
c
Në se rritet vlera c e funksionit të qëllimit, rritet edhe raporti dhe anasjelltas. Për
c2
rrjedhojë, vlera më e vogël e funksionit të qëllimit f, arrihet në pikën e parë të takimit të
zonës së lejuar Ω me drejtëzën e nivelit d, kur kjo e fundit çvendoset paralelisht nga
poshtë – lart.

Vlera më e madhe arrihet në pikën e fundit të takimit të drejtëzës së nivelit me Ω, kur


drejtëza e nivelit çvendoset paralelisht nga poshtë – lart.

12
Matricat. Përcaktorët.
Zgjidhja grafike e problemit të Programimit Linear

Nënrasti 2 (c2<0)
c
Në se c zvogëlohet, atëhere rritet, rrjedhimisht drejtëza e nivelit çvendoset paralelisht
c2
c
nga poshtë - lart. Gjithashtu në se drejtëza çvendoset paralelisht nga poshtë - lart,
c2
rritet, rrjedhimisht c zvogëlohet sepse c2<0. Pra, çvendosja e drejtëzës së nivelit nga
poshtë – lart sjell zvogëlimin e vlerave të funksionit të qëllimit. Ne se ne kërkojmë për f
min., ky do të arrihet në pikën e fundit të takimit të drejtëzës së nivelit me zonën Ω, gjatë
çvendosjes së drejtëzës së nivelit paralelisht nga poshtë – lart.

Në se kërkohet max për f, ai do të arrihet në pikën e parë të takimit të Ω me drejtëzën e


nivelit gjatë çvendosjes paralele nga poshtë – lart.

13
Matricat. Përcaktorët.
Zgjidhja grafike e problemit të Programimit Linear

Rasti II (c2=0)
c
Në këtë rast, drejtëza e nivelit shkruhet: x1  .
c1
Nënrasti 1 (c1>0)
Duke arsyetuar si më sipër, vlera më e vogël e funksionit të qëllimit f, arrihet në pikën e
parë të takimit të zonës Ω me drejtëzën e nivelit, kur kjo e fundit çvendoset paralelisht
nga e majta në të djathtë. Vlera më e madhe arrihet në pikën e fundit të takimit.

Nënrasti 2 (c1<0)
Arsyetohet në mënyrë analoge si në nënrastin 1.

14
Matricat. Përcaktorët.
Shembull:

Të zgjidhet problemi (1)-(2)-(3)

f=3x1 + x2 [min] (1)

Me kushte:
3x1  2 x 2  6
 x  x  1
 1 2
 (2)
 x1  x 2  5
3x1  5 x 2  15
dhe x1≥0; x2≥0 (3)

15
Matricat. Përcaktorët.
Shembull (Vazhdim)

Zgjidhje: Gjejmë zonën e lejuar Ω.

16
Matricat. Përcaktorët.
Duke marrë vlerën e funksionit të qëllimit c=0, ndërtojmë drejtëzën e nivelit me
ekuacionin 3x1+x2=0. Me që c2=1>0, atëhere minimumi arrihet në pikën e parë të takimit
të Ω me drejtëzën e nivelit, kur kjo e fundit çvendoset paralelisht nga poshtë – lart. Kjo
pikë është pika B, koordinatat e së cilës gjenden duke zgjidhur:

3 x1  2 x2  6

 x1  x 2  1
Koordinatat e pikës B janë (4/5, 9/5)

xmin=B(4/5, 9/5).
Si përfundim, fmin=f(xmin)=f(B)=3*4/5+9/5=21/5

17
Matricat. Përcaktorët.
Problemi Standart i Programimit Linear

Problemi standart i Programimit Linear formulohet si më poshtë:

f=c1x1+c2x2+…+cnxn [min] (1)


Me kushte:
a11 x1  a12 x 2    a1n xn  b1
a x  a x    a x  b
 21 1 22 2 2n n 2
 (2)

a m1 x1  a m 2 x2    amn xn  bm
dhe x1  0, x2  0, , xn  0 (3)

18
Matricat. Përcaktorët.
Problemi Standart i Programimit Linear

Në trajtë matricore Problemi i Programimit Linear do shkruhej:


f=cTx [min] (1)
Ax=B (2)
X 0 (3)
ku:
 a11 a12  a1n   x1   c1   b1 
       
 a 21 a 22  a 2 n   x2   c2  b 
A  , X   , C   , B 2
     
       
a a  a  x  c  b 
 m1 m 2 mn   n  n  n

19
Matricat. Përcaktorët.
Çdo problem i Programimit Linear mund të transformohet në problem standart të
njëvlershëm me të.
1. Në se për funksionin e qëllimit f(1), kërkohet vlera më e madhe (max), atëhere
ndërtojmë funksionin f’=-f për të cilën kërkojmë min. max f = - min(f’)
2. Në se në sistemin e kushteve (2) gjendet inekuacion i formës:
ai1 x1  ai 2 x 2    ain xn  bi (*)
Ndërtojmë ekuacionin:
ai1 x1  ai 2 x2    ain x n  x n 1  bi (*’)

I panjohuri xn+1 quhet i panjohur shtesë.

20
Matricat. Përcaktorët.
Provohet që ekuacioni (*) është ekuivalent me ekuacionin (*’) me kushtin që xn+1≥0. Në
mënyrë analoge tregohet që inekuacioni:

aj1x1+aj2x2+…+ajnxn≥bj
është ekuivalent me ekuacionin:
aj1x1+aj2x2+…+ajnxn-xn+2=bj

me kushtin që i panjohuri shtesë xn+2≥0

1. Në se në sistemin e kushteve (3), për ndonjë nga të panjohurit xi, nuk kërkohet që
xi≥0, atëhere zëvendësohet xi  xi  xi , ku: xi  0 dhe xi  0

21
Matricat. Përcaktorët.

You might also like