1. operáció kutatásfaskerty/web/kidolgozott_tételek...1. operáció kutatás az operáció...
TRANSCRIPT
1. Operáció kutatás
Az operáció kutatás 1940 ó ta ismeretes. Bár a technikai fejlő dés, a termelési
folyamatok szervezése már korábban is igényelte a matematikai eszkö zö k
felhasználását, - amelyekben fellelhető k az operáció kutatás sajátosságai - tudatos
alkalmazására a II világháború folyamán került sor. Első sorban katonai célokra
használták. A második világháború után előszö r a hadseregben, majd a gazdasági életben
is teljes polgárjogot nyert. Tö bb meghatározás ismert a fogalmára.
Az operáció kutatás nem külö n tudományág, hanem tudományos magatartás a
szervezési, gazdasági, mű szaki jelenségekkel szemben.
A műszaki, gazdasági és szervezési folyamatok, jelenségek vizsgálatát jelentő sen
megkö nnyíthetjük, ha a rendelkezésünkre álló - sokszor igen nagyszámú - alapadatokat
az ismert matematikai eszkö zö k felhasználásával rendszerbe foglaljuk és kezelhető vé
tesszük. Az operáció kutatásra első sorban az jellemző , hogy tudományos eszkö zö ket,
mó dszereket, valamint korszerű technikát alkalmaz. Első ként a matematikát kell
megemlíteni, amely az operáció kutatás leghatékonyabb tudományos eszkö ze. Fontos
szerepet játszik még a matematikai statisztika és számítástechnika.
Az adott folyamat, jelenség szempontjábó l alapvető cél a lehető legjobb megoldás
kiválasztása, tehát valamilyen optimum elérése. Az ipari, gazdasági szervezetek szö vevényes
volta miatt ezt a célt csak tudományos alapokon fekvő módszerekkel lehet biztosítani.
Az operáció kutatás jellegzetessége, hogy mindig egy jól körülhatárolható teljes
rendszerre vonatkozik. Ilyen alapon,, a legkülönbözőbb ipari, közeledési, igazgatási stb.
rendszerekre alkalmazható .
Az operációkutatás definíciója : Az operáció kutatás tudományos eszkö zö kkel,
technikával, mó dszerekkel vizsgálja valamely rendszer műkö désével kapcsolatos
problémákat abbó l a célból, hogy az optimális megoldást meghatározza.
Tehát a dö ntések meghozatalához ad igen nagy segítséget az operáció kutatás során
kidolgozott elképzelés. Innen származik az a megfogalmazás, hogy az operáció kutatás
a döntések előkészítésének tudománya.
2. Gráfelméleti alapfogalmak
Gráf: Egy hálózatot (gráfot) a csúcsok N halmaza és az élek E halmaza definiál ( , )G N E .
Digráf: irányított hálózat (x,y) x=kezdőpont y=végpont ( , )y x E , él=csúcspontok rendezett
párja, amely megadja a két csúcspont közötti mozgás lehetséges irányát;
Lánc: élek olyan sorozata, amelyben az egymást követő bármely két élnek egyetlen közös
csúcsa van.
Út: olyan lánc, amelyben az utolsó él kivételével mindegyik él végpontja azonos a sorozatban
következő él kezdőpontjával.
Legyen [N,E] digráf és legyen s,t N Legyen 0 1 1, ,...., , ...k k mx x x x x N olyan
pontsorozat melyre 0 , mx s x t és 1,k kx x A minden i=1..m esetén.
Ekkor azt mondjuk, hogy 0 1, .... mx x x egy s-ből t-be vezető út
1 2
1 2 2 3 1
, .....
( , )( , )....( , )
p
s t
p p
s x x x tP
x x x x x x Legyen ( , )ij i jl x x szakasz hossza az s pontból a
t pontba menő út hossza 1 2 2 3 1( ) ( , ) ( , ) ... ( , )s t p pl P l x x l x x l x x 1
1
1
( , )p
i i
i
l x x
Kör: olyan út amelynek kezdő és végpontja azonos
Vágás: legyen [N,E] digráf és osszuk az N ponthalmazt az S,T diszjukt (két halmaz metszete
zérus) két nem üres halmazra Jelöljék (S,T)-vel azon élek összességét amelyek S-ből indulnak
és T-be érkeznek
Az (S,T) élhalmazt az [N,E] digráf (S,T) vágásának nevezzük 0S T N S T
Elválasztó vágás: ha ,s t N pontok olyanok, hogy s S és t T akkot azt mondjuk, hogy
(S,T) vágás az s,t pontokat elválasztja 0S T N S T
3. Hálózat és ezen megfogalmazott feladatok
A hálózati folyamok témakörben olyan optimalizálási feladatokkal foglalkozunk, amelyek
gráfok ill. hálózatok segítségével is megfogalmazhatók, ebből következőleg gráfelméleti
eszközökkel is kezelhetők. Bevezetésképpen tekintsük az alábbi egyszerű szállítási feladatot.
Három termelőtől (T) akarunk elszállítani bizonyos árut négy fogyasztóhoz (F). Valamilyen
oknál fogva a , , viszonylatokban nem lehet szállítani. A
termelőktől a fogyasztókhoz rendre 30, 50, 40 teherautónyi elszállítandó mennyiségű árut kell
elszállítani. A fogyasztók igénye rendre 40, 20, 50, 30 teherautónyi mennyiségű áru. A fenti
adatokat a termelők kínálatának ill. a fogyasztók keresletének szoktuk nevezni. Az alábbi
táblázat mutatja, hogy a termelők telephelye és a megrendelőhelyek között egy teherautónyi
mennyiségű árut mekkora költséggel szállíthatunk el. A tiltott viszonylatokat a táblázatban „-”
jellel jelöltük.
Feladatunk a következő:
Adjuk meg azt a szállítási tervet, amelynél az áruk a termelőktől a fogyasztókhoz történő
elszállítása a legkisebb költséggel valósul meg!
A feladat matematikai megfogalmazását az alábbiakban adjuk meg. A matematikai
megfogalmazáshoz három dolgot kell meghatároznunk, ezek a következők: döntési változó
megállapítása, a döntési változók lehetséges értékeit meghatározó feltételek felírása, végül
annak a függvénynek a felírása, amelynek értéke szerint döntünk a lehetséges megoldások
közül (ezt a függvényt célfüggvénynek nevezzük).
1. Döntési változó megállapítása:
Legyen a döntési változó az, hogy az egyes telephelyekről az egyes megrendelőhelyekre
mennyi teherautónyi árumennyiséget szállítunk. Jelöljük ezeket az kétindexes változókkal,
amely a termelőtől az fogyasztóhoz szállított mennyiséget mutatja. A döntési változókat
az alábbi táblázatba foglalhatjuk.
2. Feltételek meghatározása:
Természetes feltétel, hogy az összes döntési változó nemnegatív. Először a kínálati
feltételeket határozzuk meg. Az egyes termelőktől elszállítandó mennyiséget az egyes
sorokban lévő döntési változók összege adja, amelynek egyenlőnek kell lenni a termelők
kínálatával. A keresleti feltételek meghatározásánál figyelembe kell venni, hogy a termelők
összkínálata kisebb, mint a fogyasztók összkereslete ( ), így a fogyasztók nem
mindegyikének az igényét lehet teljes mértékben kielégíteni. Az egyes fogyasztókhoz
szállítandó mennyiséget az egyes oszlopokban lévő döntési változók összege adja, amely
kisebbnek vagy egyenlőnek kell lenni a fogyasztók keresletével.
3. Célfüggvény meghatározása:
Tegyük fel, hogy a szállítási költség lineárisan változik a szállítandó mennyiséggel. Jelölje
a szállítási egységköltséget a termelőtől az fogyasztóhoz, ekkor a termelőtől az
fogyasztóhoz az mennyiségű áru szállítási költsége . Itt vettük figyelembe a
linearitási feltételezést. A szállítás összköltsége pedig az egyes viszonylatok szállítási
költségének az összege.
A probléma matematikai modellje tehát a következő:
A termelőket, a fogyasztókat egy-egy „ponttal”, az egyes termelők és fogyasztók közötti
szállítási kapcsolatot pedig egy-egy nyíllal reprezentálhatjuk a síkon. Ezt mutatja az alábbi
ábra.
A fenti alakzatot gráfnak, pontosabban irányított gráfnak nevezzük. Amennyiben a
kapcsolatokra ráírjuk a szállítási egységköltségeket, akkor hálózatot kapunk. A fentebb felírt
szállítási feladat egy lineáris programozási feladat, így a lineáris programozás ismert
módszereinek bármelyikével megoldható. Viszont azt is tudjuk, hogy ez egy rendkívül
speciális szerkezetű lineáris programozási feladat, mivel az együtthatómátrixa csupán 0 és 1
értékeket tartalmaz és ezeket is megfelelő szabályossággal. A szállítási feladat tehát speciális
szerkezeténél fogva gráfok segítségével is reprezentálható.
4.Legrövidebb úttal kapcsolatban megfogalmazott feladatok, faépítő algoritmus
A probléma megfogalmazása
A P út hosszával kapcsolatban leggyakrabban a következő feladatokat fogalmazzuk meg:
a. Határozzuk meg az rögzített pontok között azt a Pst utat, amelyre (1.1) minimális.Vts∈,
b. Határozzuk meg a rögzített pontból a hálózat összes (vagy röviden ) pontjába a legrövidebb Psi
utakat. (Ez az ún. minimális kifeszítő fa.) Vs∈ Vai∈ Vi∈
c. Keressük meg a hálózat minden (röviden ) pontpárja között a Pij legrövidebb hosszúságú utakat,
azaz határozzuk meg a multiterminális minimális hosszúságú utat az adott irányított gráfban.
Vaaji∈, Vji∈,
d. Határozzuk meg a fenti a–c feladatok valamelyik változatára az első k számú legrövidebb utat,
amelyet arra használunk, hogy a felhasználó a saját tapasztalata alapján a beduguló legrövidebb út
után a második, harmadik, stb. legrövidebb utat választja.
Megjegyezzük, hogy az a. és a b. feladat csak az elérendő cél szempontjából különbözik, a két
feladatot azonos eljárásokkal oldhatjuk meg. A c. feladat az a. vagy b. feladatokat megoldó
algoritmusok többszöri alkalmazásával is megoldható.
A szakirodalomban a feladat fontosságának megfelelően sokszáz cikk található a problémakörrel
kapcsolatban. A sokféle módszer közül itt csak az alapvető eljárásokat és a közlekedési hálózatok
céljaira kifejlesztett, tárolási és futási idő szempontjából leggazdaságosabb eljárásokat
ismertetem. További részletes összefoglaló olvasható még a [21, 22, 39, 41, 54, 80],
szakirodalmakban.
1.2. Minimális hosszúságú út két pont között Itt az pontból a pontba menő legrövidebb út meghatározásával foglalkozunk. A különbség a
minimális kifeszítő fával szemben az algoritmus befejezésében van. Itt az algoritmus befejeződik,
ha a t pont végleges potenciál értéket kapott, . A másik esetben az algoritmus befejezésének
feltétele . Vs∈ Vt∈ Tt∈esetén ,VaTaii∈∀∈
1.3. Faépítő módszerek A fejezetben tárgyalt módszerek mindegyike egy minimális összhosszúságú (Shortest Path – SP)
fát határoz meg. Ennek csúcspontja egy előre rögzített s pont, amely tartalmazza a hálózat összes
pontját (ha a hálózat összefüggő), és az s pontból bármelyik pontig a legrövidebb Psi útvonalból
áll. Ezt a fát s gyökérpontú minimális hosszúságú kifeszítő fának, röviden minimális fának
nevezzük. Ezek az algoritmusok a fentiekben megfogalmazott a. és b. feladat megoldását
szolgáltatják. Ha minden -re végrehajtjuk az algoritmust, akkor a c. feladat megoldását is
megkapjuk.Vi∈ Vi∈ Vs∈8
határozzuk meg az s-ből t pontba menő legrövidebb utat
határozzuk meg s-ből az összes többi pontba vezető legrövidebb utat
határozzuk meg a legrövidebb utakat az összes ponton keresztül
Faépítés, Dijkstra-féle eljárás: ix P ponthoz hozzárendelünk egy potenciált,
( )ix a kezdőpontból az ix -ig menő legrövidebb távolság,
( )ix ebben az esetben nem határoztuk meg a távolságot,
2 halmazra osztjuk P-t ( )i iS x x ( )i iT x x S T N 0S T
Legrövidebb út algoritmus (L) 0 ( ) 0 ( )i iL s s T N s s x x T ; L1
keressük azon xi pontokat amelyekre ( , ) , ,i j i jx x E x E x T xj ideiglenes potenciál
( ) ( ) ( , )j i i jx x t x x * min ( )j ix x határozzuk meg azt a j-t amely a kezdőponthoz a
legközelebb van L2 *
js s x , *
jT T x , *( )jx *
jx kiválasztott pont L3 t S ha t S
kész, ( )t a legrövidebb út s-től, ellenkező esetben L1-től kell újrakezdeni
Maximális hosszúságú kifeszítő fa (F): az algoritmus ugyanaz, mint az előbbinél, de L3ban
eltérés van 0 0 1 1 2 2F L F L F L F3 ha T=0 készen vagyunk, egyébként F1-nél folytatjuk , 2 / 2n lépés szükséges
(Floyd-)Warshall algoritmus: c1 vesszük az első pontot és végrehajtjuk az L algoritmust,
vesszük a 2. pontot és végrehajtjuk az algoritmust, mindaddig követjük ezt az eljárást, míg az
összes pontot meg nem határoztuk c2 megnézzük, hogy az 1-es pontot bevonva i-j-be menő
útba rövidebbet kapunk-e majd a 2-es pontot vonjuk be és így tovább majd végül az összes
pontot bevonjuk
5.Tervütemezési feladattípusok, a terv-ütemháló definíciója A gráfelméleten alapuló ún. hálódiagramos módszerek alkalmazása elősegíti az optimális
döntés előkészítést, hatékonyan támogatja bármely munkaszervezet vezetésének főbb
funkcióit: a tervezés, szervezés, irányítás és ellenőrzés feladatát.
Alapvető hálómodellek:
CPM (Critical Parth Method =kritikus út módszer)
PERT (Program Evaluation and Review Technique = program értékelési és
felülvizsgálati technika).
Továbbfejlesztett modellek:
MPM,
PEP,
MOST,
CPM-COST,
PERT-COST.
A hálós módszer lényege:
a munkafolyamatot részekre, tevékenységekre bontjuk
rögzítjük a fontosabb állapotokat, ezeket eseményeknek nevezzük
feltárjuk a tevékenységek (események) közötti soros illetve párhuzamos kapcsolatokat,
majd ábrázoljuk egy gráfnak illetve mátrixnak megfelelően
a tevékenységekhez időtartamot, erőforrás adatokat rendelünk, s elvégezzük a konkrét
modellre vonatkozó számításokat.
A terv alapján megszervezzük a munkafolyamatot.
Végrehajtás közben aktualizáljuk a hálót úgy, hogy a tervezett végrehajtási idő
lehetőleg ne növekedjen.
A hálós módszerek osztályozása:
a. számszerűsítés szerint:
logikai: csak kapcsolatot fejez ki
technikai: számszerű adatokat, súlyokat is tartalmaz
b. alkalmazott gráf szerint:
esemény orientált: ha a gráf pontjainak az események ábráit feleltetik meg
(CPM,PERT)
tevékenység orientált: ha a gráf pontjainak a tevékenységek ábráit feleltetik
meg (MPM)
c. meghatározottság szerint:
determinisztikus: ha adatfajtánkként egyetlen határozott-determinált adatot
rendelnek a tevékenységhez (CPM,MPM)
sztochasztikus: az adatoknál a véletlen hatását is számításba veszik (PERT).
Terütemháló definíciója:
az irányított gráfnak 1 db kezdő és 1 db végpontja van.
Nem tartalmaz irányított kört.
A kezdőpontból minden egyes esemény elérhető.
Bármely közbülső ponttól a végpontig el lehet jutni.
Nincs párhuzamos él.
6.Kritikus út algoritmus, időtartalékok
Mennyi a min idő amikorra befejeződik a terv?
Kritikus út: s kezdőpontból a t végpontba a leghosszabb út. A legkorábbi kezdés ip , a
legkésőbbi befejezés iq , ha i ip q akkor kritikus esemény, az ezeket összekötő út az ún
kritikus út, ahol nincs időtartalék.
A kritikus úthoz tartozó tevékenységeket kritikus tevékenységeknek nevezzük.
Az egyes tevékenységek legkorábbi kezdési időpontjának meghatározása: az egyes
eseményekhez, a gráf pontjaihoz rendelhető minimális számérték, p jelölje az egyes
eseményekhez tartozó minimális értéket, a belőle induló tevékenységek legkorábbi kezdési
időpontját, txy jelölje az x és y eseményeket összekötő tevékenység időtartamát.
Algoritmus: L0 1 0p 1S T=V-S L1
( , ) , , ( , )H x y x S y T nincs olyan T amelyre y E azon éleket tekintjük,
amelyek végpontjába csak S-ből vezet út L2 ( , )x y H -ra kiszámoljuk
y x xyp p t L3 maxy yp p , *y ahol yp maximális L4 *S S y *T T y
*yp végleges L5 ha T=0 kész, egyébként L1-től folytatjuk.
Legkésőbbi befejezés meghatározása: az egyes eseményekhez, a gráf pontjaihoz rendelhető
maximális számérték, minden egyes tevékenységet ekkorra be kell fejezni, hogy a projekt ne
boruljon. q jelölje az egyes eseményekhez tartozó maximális értéket, az odavezető
tevékenységek legkésőbbi befejezési időpontját.
A gráf „duálisát” vesszük, az éleket megfordítjuk ugyanazzal a számmal. Az algoritmus során
visszafelé haladunk a gráfon.
Algoritmus L0 n nq p S n T=V-S L1
( , ) , , ( , )H x y x S y T nincs olyan T amelyre y E L2 ( , )x y H -ra
kiszámoljuk y x xyq q t L3 miny yq q , *y ahol yq maximális L4
*S S y
*T T y *yq végleges L5 ha T=0 kész, egyébként L1-től folytatjuk.
Maximális (teljes) tartalékidő: mij=qj–pi –tij ennyivel később kezdhető meg a tij
tevékenység az i-edik esemény legkorábbi megvalósulása után, hogy a j-edik esemény
legkésőbbi megvalósítási határidejét még biztosítsa.
Szabad (saját) tartalékidő: sij=pj–pi –tij ennyivel később kezdhető meg a tij tevékenység
az i-edik esemény legkorábbi megvalósulása után, hogy a j-edik esemény legkorábbi
megvalósulását ne késleltesse.
Biztos (minimális) tartalékidő: bij=pj–qi –tij ennyivel később kezdhető meg a tij
tevékenység az i-edik esemény legkésőbbi megvalósítási határideje után, hogy a j-edik
esemény legkorábbi megvalósítását biztosítsa.
Feltételes időtartalék: fij=qj–qi–tij ennyivel később kezdhető meg a tij tevékenység az i-
edik esemény legkésőbbi megvalósítása után, hogy a j-edik esemény legkésőbbi
megvalósítását biztosítsa.
7.Lineáris programozási feladat lin. prog. feladat az alábbi alakban
11 1 1 1
1 1
1
1 1
...
.... : ( )
...
0........... 0
( ... ) max . max
n n
m mn n m
n
n n
a x a x b
P primál alakú feladat
a x a x b
x x változók nemnegativizása
c x c x célfg imalizálása
8.Dualitás problémaköre, dualitási tétel
'
' '
Pr
: :
0 0
max , min ,
m n
n m
imál feladat Duál feladat
A x b A m n A y c A n m
x b R y c R
c x c x R b y b y R
tétel:a duál feladat duálja maga a kiinduló primál feladat
biz.: ' ' '' '
' ' '
0 0 0 0 0
max min maxmin max
.
A y c A y cA x b A x b A x b
x y y x x
c x c x c xb y b y
duál képzés azonos átalakítás duál képzés azonos átalak
Dualitás tétel: Ha egy primál-duál feladat pár egyikének létezik megengedett megoldása és
véges optimuma, akkor ugyanez fennáll a másikra is, és a két feladat optimum értéke egyenlő.
Általános primál-duál megfeleltetési szabály: Ha a primál feladatban egy feltétel
egyenlőség alakú, akkor a megfelelő változó a duál feladatban nincs nem negativitással
korlátozva, illetve ha a primál feladat egy változója nincs nem negavititással korlátozva,
akkor a duál feladat megfelelő feltétele egyenlőség alakú.
9.Játékelméleti modellek, Neumann tétel
Neumann János pókerezni szeretett, és kezdettõl fogva érdekelte, hogy – ha már az osztást befolyásolni nem tudjuk – miként blöfföljünk. A probléma felírásához – mai szemmel nézve kézenfekvõ módon – a matematikát
használta, fõ érdeme azonban az elméletnek a játékokon messze túlmenõ általánosítása volt. A minimax tételt
bizonyító elsõ publikációjában a már a napjainkban is használt normális alakot (normal form) használja a játékok
leírására (Neumann [1928]).
Kétszemélyes zéróösszegű játék: legyen az I. játékosnak m db, a II. játékosnak n db
lehetséges stratégiája; az egyes stratégiapárok választása esetén a játék eredményét a kifizetési
mátrix tartalmazza; az I.nek célszerű azt az i stratégiát választania amelyre a 11
max min ikk ni m
a
maximum megvalósul; a II.nek célszerű azt a stratégiát választania, amelyre a
1 1min max ik
k n i ma minimum megvalósul; Ezek között mindig fennáll a egyenlőtlenség;
Ha a egyenlőséggel teljesül akkor (i,k) stratégiapár így történt megválasztása mindkét
játékos számára elfogadható lesz; ekkor ez esetben az (i,k) stratégiapárt optimálisnak, az
egymással egyenlő és számokat a játék tiszta értékének nevezzük.
sorminimumok maximuma, oszlopmaximumok minimuma, , kifizetési mátrix
11 12 1
21 22 2
1 2
...
...
...
n
n
m m mn
a a a
a a a
a a a
Ha egy kifizetési mátrix esetén -ban nem áll egyenlőség, más elv szerint kell a
játékosoknak stratégiát választaniuk. Az új elv a stratégiák véletlenszerű választása, másképp
fogalmazva a stratégiák keverése. Ezen azt értjük, hogy az I.es az 1,2,…m stratégiák közül
egy az 1 2, ..... mx x x valószínűségekkel leírt diszkrét valószínűség eloszlás szerint választ egyet
véletlenszerűen, azaz valójában a diszkrét valószínűség eloszlások
1
, 1, 0, 1...m
m
i i
i
x x R x x i m halmazából választ egy elemet. A II.es pedig az
1,2,…n stratégiák közül, egy az 1 2, ..... ny y y valószínűségekkel leírt diszkrét valószínűség
eloszlás szerint választ egyet véletlenszerűen, azaz valójában a diszkrét eloszlások
1
, 1, 0, 1...n
n
k k
k
y y R y y k n halmazából választ egy elemet! Ez feloldja ezt az
anomáliát .
Mit állít a kétszemélyes zéróösszegű játékról Neumann János tétele?
1 1
max min .m n
ik i kyx
i k
a x y1 1
min max .m n
ik i ky x
i k
a x y ahol és lásd előző kérdés. Tetszőleges
valós számokból álló kifizetési mátrix esetén az előbbi reláció mindig egyenlőséggel
érvényes!