Professional Documents
Culture Documents
programavimas
(4 paskaita)
• Leistina sritis 𝐴:
𝐴 = 𝑋 ∈ 𝑅 𝑛 ∶ 𝑔1 𝑋 = 0, 𝑔2 𝑋 ≥ 0
2
Matematinis programavimas (2)
• Norint suformuluoti uždavinį matematiškai, reikia sudaryti
taikomojo uždavinio matematinį modelį.
• Tai svari ir sudėtinga formalizuojamo uždavinio sprendimo
grandis, nuo kurios labai priklauso sprendimo greitis ir gautų
rezultatų kokybė. Sudarant matematinį modelį:
• reikia turėti pakankamai žinių apie taikomąją sritį, kad būtų galima
sudaryti algoritmą tikslo funkcijos ir ribojimus apibrėžiančių funkcijų
reikšmėms apskaičiuoti;
• reikia išsiaiškinti, kokį kriterijų tikslinga optimizuoti, kokie uždavinio
parametrai gali būti keičiami ir kokioje srityje jie gali kisti, t. y. apibrėžti
kintamąjį vektorių, bei tikslo funkciją ir galimų sprendinių sritį.
• uždavinio sprendimui pasirinkti tinkamą optimizavimo metodą.
3
Geometrinė interpretacija
4
Transporto uždavinys (1)
• Turime vienodų resursų krovinį, kuris paskirstytas tarp m
sandėlių 𝐴1 , 𝐴2 , … , 𝐴𝑚 taip, kad juose yra atitinkamai
𝑎1 , 𝑎2 , … , 𝑎𝑚 resursų vienetų. Į n vietų 𝐵1 , 𝐵2 , … , 𝐵𝑛 reikia
pristatyti krovinį taip, kad juose būtų atitinkamai 𝑏1 , 𝑏2 , … , 𝑏𝑛 šio
krovinio vienetų. Sakykime, kad krovinio vieneto transportavimo
kaina iš sandėlio 𝐴𝑖 į vietą 𝐵𝑗 yra 𝑐𝑖𝑗 .
• Rasti tokį krovinio transportavimo planą, kad įvykdžius visus
užsakymus, transportavimo kaštai būtų mažiausi. Tai ir yra
transporto uždavinys.
5
Transporto uždavinys (2)
• Suformuluokime šį uždavinį matematiškai. Tegul 𝑥𝑖𝑗 , 𝑖 = 1, … , 𝑚,
o 𝑗 = 1, … , 𝑛, yra krovinio kiekis, pervežamas iš sandėlio 𝐴𝑖 į
vietą 𝐵𝑗 . Šie kiekiai (𝑥𝑖𝑗 ) vadinami pervežimais, o šių pervežimų
visuma 𝑥 = {𝑥𝑖𝑗 } vadinama pervežimų planu arba tiesiog planu.
6
Transporto uždavinys (3)
7
Transporto uždavinys (4)
• Transporto uždavinio sprendinys vadinamas optimaliu planu.
Jeigu visų paraiškų suma lygi visų resursų sumai:
𝑚 𝑛
𝑎𝑖 = 𝑏𝑗
𝑖=1 𝑗=1
8
Pavyzdys
• Kasdien dvi transporto įmonės 𝐴1 ir 𝐴2 į reisą išleidžia 1100
vienetų sunkvežimių. Įmonė 𝐴1 išleidžia 600, o įmonė 𝐴2
išleidžia 500 mašinų. Visos mašinos siunčiamos į tris prekių
sandėlius 𝐵1 , 𝐵2 , 𝐵3 , kuriems kasdien reikia atitinkamai 250,
450 ir 400 sunkvežimių. Atstumai 𝑐𝑖𝑗 (km) nuo įmonės 𝐴𝑖 iki
sandėlio 𝐵𝑗 duoti.
• Reikia sudaryti tokį sunkvežimių paskirstymo planą, kad
automašinų vykimo į sandėlius visa tuščioji rida būtų mažiausia.
9
Nesubalansuotas uždavinys (1)
• Praktikoje dažniausiai naudojami nesubalansuoti uždaviniai t. y.
atsargos ir poreikiai nesutampa.
• Tokiais atvejais transporto uždavinyje nagrinėjamas vadinamasis
fiktyvus tiekėjas arba gavėjas. Jei atsargos viršija poreikius, tai
transporto uždavinys papildomas fiktyviu gavėju (n+1), kurio poreikis
lygus atsargų pertekliui.
𝑚 𝑛 𝑚 𝑛
𝑎𝑖 > 𝑏𝑗 𝑏𝑛+1 = 𝑎𝑖 − 𝑏𝑗
𝑖=1 𝑗=1 𝑖=1 𝑗=1
10
Nesubalansuotas uždavinys (2)
• Jei poreikiai didesni už atsargas, tai uždavinys papildomas
fiktyviu tiekėju (m+1), patenkinančiu trūkstama poreikių apimtį.
𝑚 𝑛 𝑛 𝑚
𝑎𝑖 < 𝑏𝑗 𝑎𝑚+1 = 𝑏𝑗 − 𝑎𝑖
𝑖=1 𝑗=1 𝑗=1 𝑖=1
11
Uždaviniai su papildomais apribojimais
• Uždrausti srautai, kai yra draudimai susieti kai kuriuos tiekėjus su
gavėjais.
• xij reikšmės gali būti {0,1}. Tai rodo, ar i-tasis įrengimas priskirtas į j-tąją darbo
vietą ar ne.
• xij = 0, jeigu nepriskirtas.
• xij = 1, jeigu priskirtas.
13
Gamybos pajėgumų išdėstymas (2)
𝑛 𝑛
14
Atsargų valdymo uždavinys (1)
• Atsargų valdymo uždavinys kaip transporto uždavinys.
• Įmonė planuoja darbą m dienų į priekį. Per šias dienas ji gali
pagaminti a1, a2, ..., am tam tikrų produktų vienetų. Vartotojams
pateikti per šias dienas būtina b1, b2, ..., bm šio produkto vienetų
(paklausa).
𝑎𝑖 > 𝑏𝑗
𝑖=1 𝑗=1
15
Atsargų valdymo uždavinys (2)
• Produkto vieneto gamyba i-tąją dieną kainuoja gi eurų, o
sandėliavimo nuo i-tosios iki j-tosios dienos išlaidos sudaro si(j - i)
eurų (j ≥ i , i, j=1,..., m).
16
Atsargų valdymo uždavinys (3)
• Įvedame fiktyvią m + 1 dieną, kurią naudojama produkto apimtis,
tad tuomet gamybos perteklius:
𝑚 𝑚
𝑏𝑚+1 = 𝑎𝑖 + 𝑏𝑗
𝑖=1 𝑗=1
• Matematinis modelis:
𝑚 𝑚+1
𝑚 𝑚+1
18
Pradinio plano radimo metodai
• Transporto uždavinio bet kuris kintamasis yra tik dviejose
apribojimų sistemos lygtyse, ir koeficientai lygūs vienetui.
• Sprendžiant transporto uždavinį, iš pradžių reikia rasti atraminį
pervežimo planą, o po to optimalų.
• Panagrinėsime du metodus:
• Šiaurės vakarų kampo metodas.
• Mažiausio elemento metodas.
19
Šiaurės vakarų kampo metodas (1)
• Imkime subalansuotą transporto uždavinį. Uždavinio sąlygas
užrašome į lentelę.
• Paeiliui pildomi lentelę, rašydami atraminio plano X0 reikšmes į
atitinkamus langelius.
Eiga:
21
Šiaurės vakarų kampo metodas (3)
22
Šiaurės vakarų kampo metodas (4)
𝐹 𝑥 = 10 × 20 + 6 × 20 + 7 × 5 + 9 × 20 + 7 × 5 + 6 × 40 + 5 × 10 + 8 × 50 = 1260
23
Pavyzdys (1)
24
Pavyzdys (2)
𝐹 𝑥 = 5,925 €
25
Mažiausio elemento metodas (1)
• Sudarydami pradinį atraminį planą, neatsižvelgta į krovinio
perveržimo kainą.
• Todėl ieškant optimaliojo plano reikia atlikti daug iteracijų.
• Įteracijų skaičius būna mažesnis, kai pradinį planą randame
mažiausio elemento metodu.
• Taikant šį metodą, kiekviename žingsnyje pildomas langelis,
kurį atitinka mažiausia pervežimo kaina tarp neužpildytų
langelių. Po to išbraukiama atitinkama eilutė arba stulpelis.
26
Mažiausio elemento metodas (2)
𝐹 𝑥 = 5 × 45 + 4 × 20 + 5 × 15 + 6 × 20 + 7 × 20 + 4 × 20 + 5 × 20 + 6 × 10 = 940
27
Potencialų metodas (1)
• Potencialų metodu sprendžiamas subalansuotas transporto
uždavinys.
• Sprendimo žingsniai:
• Potencialų skaičiavimas.
• Laisvųjų langelių įvertinimo skaičiavimas.
• Geresnio atraminio plano sudarymas.
28
Potencialų metodas (2)
1. Surandame siuntimo punkto A ir paskirties punkto B potencialus;
2. Pagal didžiausią teigiamą įvertinimą parenkame laisvąjį langelį (i,
j). Jei visi įvertinimai neneigiami, tai atraminis planas optimalus.
3. Priskyrę langeliui (i, j) pliuso ženklą, sudarome ženklintą ciklą ir
apskaičiuojame skaičių O.
29
Pavyzdys (1)
1. Rasti pradinį planą (pvz. šiaurės vakarų kampo metodu).
30
Pavyzdys (2)
2. Siuntėjų potencialai eilutės (žymėsime u), gavėjų potencialai
stulpeliai – v.
31
Pavyzdys (3)
3. Surandame siuntimo punkto A ir paskirties punkto B potencialus.
32
Pavyzdys (4)
4. Gautus potencialus surašome į naują lentelę.
• Apskaičiuojame laisvųjų langelių (kintamųjų (1,3) ir (2,1)) įvertinimus:
34
Pavyzdys (6)
6. Surandame sekančius siuntimo punkto A ir paskirties punkto B
potencialus.
35
Pavyzdys (7)
7. Gautus potencialus surašome į naują lentelę.
• Apskaičiuojame laisvųjų langelių (kintamųjų (1,2) ir (2,1)) įvertinimus:
37
Pavyzdys (9)
9. Surandame sekančius siuntimo punkto A ir paskirties punkto B
potencialus.
38
Pavyzdys (10)
10. Gautus potencialus surašome į naują lentelę.
• Apskaičiuojame laisvųjų langelių (kintamųjų (1,2) ir (3,1)) įvertinimus:
39
Pavyzdys (11)
11. Apskaičiuojame:
𝐹 𝑥 = 10 × 200 + 8 × 400 + 9 × 50 + 13 × 450 = 11500
40
Transporto uždavinio pavyzdys
• Įmonė turi mineralinio vandens gręžinius Druskininkuose, Pasvalyje ir
Birštone. Per savaitę turimi pajėgumas leidžia išpilstyti vandens kraunamo
ant 140, 160 ir 60 padėklų atitinkamai. Vilniaus didmenininkas užsakė 150,
o Kauno – 130 padėklų per savaitę.
• Padėklo transportavimo kaštai (eurais) pateikti lentelėje.
• Reikia nustatyti, po kiek vandens padėklų reikia vežti iš kiekvienos jo
pilstymo vietos į Vilnių ir Kauną, kad suminiai transporto kaštai būtų
mažiausi, t. y. sudaryti optimalų transportavimo grafiką.
Vilnius Kaunas
Druskininkai 18 20
Pasvalys 16 22
Birštonas 10 8 41
Uždavinio sprendimas „MS Excel“
42
Apibendrinamieji klausimai?
• Kas yra optimizavimo uždavinys ir kas jį sudaro?
• Savais žodžiais pakomentuokite kuo skiriasi lokalus minimumas nuo
globalaus minimumo (arba maksimumo).
• Kas yra transporto uždavinys?
• Su kokia sąlyga transporto uždavinys turi optimalų planą?
• Kuo pasižymi nesubalansuotas transporto uždavinys?
• Kokius pradinio plano radimo metodus žinote?
• Mokėti išspręsti šiaurės vakarų kampo metodu elementarų pavyzdį.
• Mokėti išspręsti mažiausio elemento metodu elementarų pavyzdį.
• Mokėti išspręsti potencialų metodu elementarų pavyzdį.
43