Transcript 1 - 5mp.eu

Gazdaságelemzési
Módszertani
Tanszék
OPERÁCIÓKUTATÁS
Libor Józsefné dr.
Főépület fsz. 41.
[email protected]
1, Lineáris tér
Feladat: L3 lineáris teret
alkot-e?
Definíció: Az L halmazt lineáris térnek nevezzük a valós
számok halmaza felett, ha
Minden a, b  L és
 R esetén
a, L-ben értelemezve van az összeadás
a + b  L és
és a skalárral való szorzás;
a  L teljesül.
b, ez a két művelet kommutatív, asszociatív és disztributív;
c, L-nek van 0-val jelölt zéruseleme;
a+0=a
d, minden L-beli a elemnek van –a-val jelölt,
a + (-a) = 0
ugyancsak L-beli ellentettje;
e, minden L-beli a elem eleget tesz az 1a = a egyenlőségnek.
Az n elemű vektorok halmaza: Ln (n = 1, 2, 3, …)
1, Lineáris tér
Definíció: Az L’ az L altere ha L’ L és L’ maga is lineáris
tér az L-ben definiált összeadásra és skalárral való
szorzásra nézve.
Tétel: L’ L akkor és csak akkor altér, ha L’ zárt az
L-ben definiált összeadásra és skalárral való szorzásra
nézve.
Triviális altér, valódi altér fogalma
Feladat: Tekintsük L2 azon vektorait, melyek első
komponense 0.
Az ezen vektorokból álló L2’ halmaz altere-e L2-nek ?
1, Lineáris tér
Tétel: Az L lineáris tér tetszőleges a1, a2, … ak vektorainak összes
lineáris kombinációja L alterét, mégpedig az a1, a2, … ak
vektorok által generált alterét alkotják.
Sorvektortér, oszlopvektortér fogalma
Definíció: Az a1, a2, … ak vektorrendszert az L lineáris tér véges
generátorrendszerének nevezzük, ha az általuk generált altér
megegyezik L-lel.
Feladat: Adja meg L2-ben az a=(2,1) vektor összes
lineáris kombinációja által generált L2’ altér geometriai képét.
L2’ tartalmazza-e a következő vektorokat: 0, b=(-2,-1), c=(1,2)
1, Lineáris tér
Definíció: Az Ln tér a1, a2, … ak vektorait lineárisan
függetlennek nevezzük, ha lineáris kombinációjuk
segítségével a 0 vektor csakis triviális módon
állítható elő.
Ha létezik a triviálistól különböző előállítása is a 0
vektornak, a vektorrendszert lineárisan
összefüggőnek nevezzük.
1, Lineáris tér
Tétel1: Lineárisan független vektorok között a 0 nem
szerepelhet.
Tétel2: Lineárisan független vektorok bármilyen (nem üres)
részhalmaza szintén lineárisan független vektorrendszert
alkot.
Tétel3: Egy lineárisan összefüggő vektorrendszer bármilyen
kibővítése szintén lineárisan összefüggő rendszer.
Tétel4: Egy vektorrendszer akkor és csak akkor lineárisan
összefüggő, ha van olyan eleme, amely előállítható a többi
elem lineáris kombinációjaként.
1, Lineáris tér
Definíció: Egy b vektort kompatibilisnek nevezünk egy
vektorrendszerrel, ha b kifejezhető a vektorrendszer
vektorainak lineáris kombinációjaként.
Definíció: Egy vektorrendszer rangja r, ha kiválasztható
belőle r db független vektor, de bármely r+1 db
vektora már lineárisan összefüggő rendszert alkot.
1, Lineáris tér
Feladat: Vegyük az L2 két elemét:
a1=(5, -1) és a2=(1, -5).
a, Függetlenek-e? Bázist alkotnak-e?
b, Adja meg a b=(2,3) vektort az
új bázisban.
Definíció: A lineáris tér egy lineárisan független
elemekből álló generátorrendszerét bázisnak
nevezzük, a bázis elemeit pedig bázisvektoroknak.
Tétel: Egy lineáris tér a1, a2, … an vektorai akkor és csak
akkor alkotnak bázist, ha a tér minden vektora
egyértelműen előállítható az a1, a2, … an vektorok
lineáris kombinációjaként.
Definíció: Legyen a1, a2, … an az L lineáris tér egy bázisa. A
tér egy tetszőleges a vektorának az előállításában
szereplő 1, 2, …, n skalárok az a vektor adott bázisra
vonatkozó koordinátái.
1, Lineáris tér
Tétel: Tetszőleges L lineáris térben a bázist alkotó
vektorok száma egyértelműen meghatározott.
Triviális bázis
Definíció: Az L lineáris tér n dimenziós, ha van L-nek n
elemű bázisa.
A nulltér dimenziója 0. Ha L-nek nincs véges bázisa, a
tér dimenziója végtelen.
Definíció: Egy A mátrix oszlop- illetve sorvektorterének
dimenzióját a mátrix rangjának nevezzük és r(A)-val
jelöljük.
1, Lineáris tér
Definíció: Az n-ed rendű kvadratikus mátrixot
szingulárisnak nevezzük, ha rangja kisebb, mint
n. Ha a rangja egyenlő n-nel, a mátrix nem
szinguláris.
Feladat: Szinguláris-e az alábbi A mátrix?
2

A  3

1
1

5 1

2 4
0
1, Lineáris tér
Feladat: L2-ben térjünk át a triviális bázisról
az a = (2,3) , b=(-1,2) bázisra és írjuk fel az
új bázisban a c=(-7, 0) vektort.
c
b
a
2, Bázistranszformáció
Bázistranszformáció, elemi bázistranszformáció
Algoritmus
Legyen a1, a2, …, an az Ln egy bázisa. Ekkor Ln tetszőleges b
és c vektora egyértelműen felírható a bázisvektorok
lineáris kombinációjával:
Tegyük fel, hogy b  0, így legalább
b = b1a1 + … + bkak + … + bnan
egy koordinátája  0, legyen ez a
koordináta bk.
c = c1a1 + … + ckak + … + cnan
Próbáljuk meg az ak bázisvektort kicserélni b-vel és adjuk
meg a c vektort ebben az új bázisban!
2, Bázistranszformáció
b felírásából kifejezve ak-t:
ak = 1/bk b – b1/bk a1 - … - bn/bk an
Ezt beírva c kifejezésébe, megkapjuk az új (a1, …, b, …, an)
bázisban a c koordinátáit:
c = c1a1 + … + ck(1/bk b – b1/bk a1 - … - bn/bk an) + … cnan =
ck/bk b + (c1- b1/bk)a1 + … + (cn- bn/bk)an
Példa: Legyen L2-ben a = (2, 3), b = (-1, 2) és
c = (-7, 0).
a, Az a és b vektor bázist alkotnak-e L2-ben?
b, Adjuk meg a c vektort az új bázisban!
2, Bázistranszformáció
Általános séma:
1, A bázisból ki- illetve az oda belépő vektor kiválasztása.
(generáló elem  0 ! )
2, A  meghatározása.
3, További koordináták meghatározása (régi koordinátából
kivonjuk a bázisba bekerült vektor ugyanannyiadik
koordinátájának -szorosát).
Megjegyzés: ha a  = 0, akkor a vektor koordinátái nem változnak
az új bázisban sem.
Táblázatos felírással az algoritmus egyszerűsödik.
2, Bázistranszformáció
Alkalmazások:
- vektorrendszer függetlenségének vizsgálata,
- vektorrendszer rangjának meghatározása,
- mátrix rangjának meghatározása,
- kompatibilitás vizsgálata,
- mátrixfaktorizáció: A = A1A2, ahol A1 oszlopvektorai
bázist alkotnak A oszlopvektorterében, A2
oszlopvektorai pedig az A oszlopvektorai az új
bázisban felírt koordinátákkal.
2, Bázistranszformáció
Legyen b = [4, -3, 1, -3]*, valamint
1

0
A
1

0
2
1
3
7
 4

1 1 

0  3

3
1 
3
b kompatibilis-e az A oszlopvektorrendszerével?
3, Lineáris egyenletrendszer
Az n ismeretlenből és m egyenletből álló egyenletrendszer általános
alakja:
a11x1 + a12x2 + … + a1nxn = b1
Mátrixjelölésekkel:
a21x1 + a22x2 + … + a2nxn = b2
Ax = b
…
am1x1 + am2x2 + … + amnxn = bm
Elnevezések:
- homogén: b = 0
- inhomogén: b  0
- konzisztens
- reguláris
3, Lineáris egyenletrendszer
Megoldhatóság vizsgálata:
az egyenletrendszer írható a következő formában:
a1x1 + a2x2 +… + anxn = b, vagyis b az A
oszlopvektorainak egy lineáris kombinációja 
Az Ax = b egyenletrendszer akkor és csak akkor
megoldható, ha b kompatibilis az A
oszlopvektoraival. (Ez homogén esetben mindig
teljesül.)
Kompatibilitás vizsgálata bázistranszformációval!
3, Lineáris egyenletrendszer
Bázisba került változók: kötött változók,
Bázisba be nem került változók: szabad változók.
Megoldás lehet:
- általános: szabad és kötött változókkal felírva
- partikuláris: szabad változóknak konkrét értékeket adva, a
kötött változók értékei kiszámolhatók
- bázismegoldás: olyan partikuláris megoldás, ahol a szabad
változók értéke egyenlő 0-val.
Szabadságfok: szabad változók száma
2, Bázistranszformáció
Legyen b = [4, -3, 1, -3]*, valamint
1  2 3  4


0 1  1 1 
A

1
3
0

3




0

7
3
1


Oldjuk meg az Ax = b egyenletrendszert!
3, Lineáris egyenletrendszer
Mátrix inverze: AX = E illetve YA = E.
Belátható, hogy X = Y, így elég megoldani az egyiket:
Ax1 = e1
Ax2 = e2
…
Axn = en
ahol A kvadratikus mátrix.
Mind az n egységvektornak benne kell lennie az A
oszlopvektorterében, vagyis az A oszlopvektorai
lineárisan függetlenek kell, hogy legyenek. Így a mátrix
rangja n, vagyis A nem szinguláris mátrix.
3, Lineáris egyenletrendszer
Határozzuk meg a következő mátrixok inverzét!
1 2  3
 1 3 5




A  0 1 2  és B   2 4
3




0 0 1 
 0  2 13
4, Lineáris programozás
Probléma felvetése:
Egy üzem kétféle iparcikket állít elő. Az első cikk egy darabjának közvetlen
anyagszükséglete 100.-Ft, a második cikknél ez az összeg 200.- Ft. Egy
gyártási időszakban maximálisan 1000.-Ft áll rendelkezésre erre a
célra. Az első cikknél géphasználati költség is van, egy egységre 100.Ft, ebből 600.-Ft áll rendelkezésre. A második cikkhez szükséges
anyagot messziről szállítják, a szállítási költség 200.-Ft egy egységre,
ebből 800.-Ft a kapacitás. A munkabér mindkét termék 1-1 darabjánál
200-200.-Ft, az összesen kifizethető munkabér a gyártási időszakban
1400.-Ft. Az első termék egy darabján a tiszta nyereség 300.-Ft, a
másodiknál ez az összeg 400.-Ft.
Hány darabot gyártson az üzem a kétféle iparcikkből egy gyártási
időszakban, hogy ne lépje túl a megadott kapacitásokat és
a, maximális tiszta nyereséget érjen el?
b, maximális összmennyiséget állítson elő?
4, Lineáris programozás
Az adatok táblázatba foglalva, 100 Ft-ban:
Erőforrások
I.cikk
II. cikk
kapacitás
Anyagktsg.
1
2
10
Gépktsg.
1
0
6
Száll. ktsg.
0
2
8
Munkabér
2
2
14
Nyereség
3
4
4, Lineáris programozás
Legyen:
x1 : az első cikkből gyártandó mennyiség,
x2 : a második cikkből gyártandó mennyiség.
Feltételek:
x1, x2  0 (negatív mennyiséget nem lehet gyártani)
x1+2x2  10 (anyagköltségre vonatkozó feltétel)
x1
 6 (gépköltségre vonatkozó feltétel)
2x2  8 (szállítási költségre von. feltétel)
2x1+2x2 14 (munkabérre vonatkozó feltétel)
Cél: z = 3x1 + 4x2  max (össznyereség maximuma)
z = x1 + x2  max (összmennyiség maximuma)
4, Lineáris programozás
Normál feladat:
x  0,
Ax  b,
b  0,
SZIMPLEX MÓDSZER
z = c* x  max
Megoldás:
Két változó esetén: grafikus módszer (szeminárium)
Kettőnél több változó esetén: algebrai módszer
4, Lineáris programozás
Grafikus megoldás:
1, Lineáris egyenlőtlenségek megoldása grafikusan:
x2-re rendezés és a relációjelnek megfelelő terület kiválasztása.
2, Lehetséges megoldások halmaza (L) az egyes
egyenlőtlenségekből kapott területek metszete lesz. (Hiszen a
változóinknak minden feltételt ki kell elégíteniük.)
3, L-en (általában konvex sokszög) keressük egy lineáris egyenes
maximális értékét. Célfüggvényt szintén x2-re rendezzük,
nagyobb z értékek felfelé eltolt egyeneseket jelentenek.
4, Addig toljuk az adott meredekségű célfüggvényt, míg el nem
érjük L határát. Vagyis az optimum csúcspontban lesz.
4, Lineáris programozás
Lineáris egyenes általános alakja: y = ax + b
ahol a az egyenes meredeksége, b pedig az y tengelymetszetet
jelöli. (Vagy: bármely egyenes megadható két tetszőleges
pontjával.) A mi jelölésünkben x szerepét az x1 változó (vízszintes
tengelyen), y szerepét pedig az x2 változó (függőleges tengelyen)
veszi át.
Első feltétel: x1, x2  0  megoldás csak az I. síknegyedben lehet.
Anyagköltségre vonatkozó feltétel:
x1+ 2x2  10 
x2  5 – 0,5x1
Vagyis az x2 = 5 – 0,5x egyenes és az alatta lévő terület pontjai.
4, Lineáris programozás
x2  5 – 0,5x1
4, Lineáris programozás
Gépköltségre vonatkozó feltétel: x1  6
Az x1 = 6 (az x2 tengellyel párhuzamos) egyenes és a tőle
balra lévő tartomány.
4, Lineáris programozás
A két feltételnek együttesen megfelelő tartomány:
4, Lineáris programozás
Szállítási költségre vonatkozó feltétel: 2x2  8  x2  4
Az x2 = 4 (x1 tengellyel párhuzamos) egyenes és az alatta
lévő terület.
Munkabérre vonatkozó feltétel: 2x1+2x2 14  x2  7 - x1
Az x2 = 7 - x1 egyenes és az alatta lévő terület.
4, Lineáris programozás
z = 3x1 + 4x2  max
z = 24
z = 16
z=8
z = 20
4, Lineáris programozás
z = x1 + x2  max
z=7
z=6
z =4
z=2
4, Lineáris programozás
Feladatunk megoldása grafikusan:
3x1+ x1 +
+ 4x2 + x2
P2(0,4)
P3(2,4)
P4(4,3)
P5(6,1)
P1(0,0)
P6(6,0)
P1(0,0)
P2(0,4)
P3(2,4)
P4(4,3)
P5(6,1)
P6(6,0)
0
16
22
24
22
18
0
4
6
7
7
6
4, Lineáris programozás
Válaszok:
A, Legnagyobb nyereséget, mégpedig 2400
Ft-ot, akkor érünk el, ha az első iparcikkből
4-et, a másodikból pedig 3-at gyártunk.
B, A maximális összmennyiséget, (7 darabot) a
P4(4,3) és a P5(6,1) pontok által meghatározott
szakasz minden pontja adja.
Vagyis: (4,3) + (1-)(6,1) ahol 0 ≤  ≤ 1.
4, Lineáris programozás
Speciális esetek:
a, A célfüggvény nem korlátos L-en  nincs
optimális megoldás.
b, A feltételek ellentmondóak  nincs
lehetséges megoldás.
c, Felesleges feltétel szerepel  elhagyható.
4, Lineáris programozás
Általános tapasztalatok:
1, A lehetséges megoldások halmaza (L) a síknak egy
egyenesekkel határolt zárt tartománya.
(Kivételesen lehet nem korlátos, vagy üres
tartomány is, de ezekkel gyakorlati szempontból
nem kell foglalkoznunk.)
L konvex sokszög.
(L konvex, ha  x1, x2 L esetén  x1 +(1-  )x2 is
eleme L-nek., ahol 0 ≤  ≤ 1.)
4, Lineáris programozás
Általános tapasztalatok:
Extremális pont a halmaz
azon pontja,mely a halmaz
egyetlen szakaszának
sem felezőpontja.
2, A növekvő hatékonyságokhoz felfelé eltolt
párhuzamos egyenesek tartoznak.
Így az optimális megoldás ezen egyenessereg közül a
legmagasabb paraméterű, de a tartománnyal még
érintkező egyenesen van.
Optimális megoldás a L halmaz valamelyik
csúcs(extremális)pontjában vagy két csúcspont
által meghatározott szakasz pontjaiban van.
4, Lineáris programozás
Szimplex módszer
Nézzük újra a már megoldott feladatunkat.
x1, x2  0
x1+ 2x2  10
Az egyenlőtlenségrendszerből
x1
 6
készítsünk egyenletrendszert,
hiszen annak a megoldását
2x2  8
már ismerjük.
2x1+ 2x2 14
Cél: z = 3x1 + 4x2  max
4, Lineáris programozás
x1+ 2x2 + u1
x1
+ u2
2x2
+ u3
2x1+ 2x2
u4
= 10
= 6
= 8
= 14
Ahol u1, u2, u3, u4  0
x1, x2 : elsődleges ( primál) változók
u1, u2, u3, u4 : másodlagos (duál) változók
4, Lineáris programozás
Induló táblázatunk:
e1
e2
e3
e4
u1
u2
u3
u4
-z
x1 x 2
u1 u2 u3 u4
b
1
1
0
2
3
1
0
0
0
0
10
6
8
14
0
2
0
2
2
4
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
4, Lineáris programozás
u1
u2
u3
u4
-z
x 1 x2
1 2
1 0
0 2
2 2
3 4
b
10
6
8
14
0
Az első oszlopban feltüntetett változók
értékei mindig az utolsó oszlopban
olvashatók le. (programba bevontak)
Az első sorban feltüntetett változók
értékei mindig 0. (programba be nem
vont változók)
A jobb alsó sarokban mindig a célérték
- 1-szerese szerepel.
4, Lineáris programozás
Szimplex módszer lényege:
Kiindul egy lehetséges bázismegoldásból (mely mindig
egy extremális (csúcs)pontot határoz meg), majd
olyan új bázismegoldásra (csúcspontra) tér át, mely
az előzőtől csak egy vektorban különbözik és a
célérték nem rosszabb (általában jobb lesz ). Addig
folytatjuk, amíg lehet, vagyis amíg el nem jutunk az
optimális megoldáshoz, vagy ki nem derül, hogy
nincs optimális megoldás.
4, Lineáris programozás
Program javítása:
Valamelyik terméket bevonjuk a termelésbe.
Először azt célszerű bevonni, amelyik nagyobb
hatékonysággal rendelkezik.
A termelésbe bevont termékből azt a maximális
mennyiséget programozzuk, amit a
kapacitásadatok megengednek. (Szűk
keresztmetszet.)
4, Lineáris programozás
Generáló elem választásának feltételei:
A, Csak olyan oszlopban választhatunk, ahol az
utolsó elem nem negatív (célszerű a nagyobb
pozitív értékű oszlopból választani).
B, Generáló elem csak pozitív lehet.
C, Több pozitív érték közül a szűk keresztmetszet
alapján választunk.
(Összevetés a grafikussal: az origóból indulva,
mindig szomszédos csúcspontra lépve jutunk el
az optimális megoldáshoz.)
4, Lineáris programozás
Specialitások:
A, Ha a tábla utolsó sorában még van pozitív
elem, de felette nem tudunk generáló elemet
választani (nincs pozitív elem), a feladatnak
nincs optimális megoldása.
B, Ha az utolsó sorban a negatív értékek mellett
0 szerepel, alternatív optimum van.(végtelen
sok megoldás).
4, Lineáris programozás
Szimplex módszer
Nézzük az alábbi két feladatot:
x1, x2  0
x1 - x2  4
2x1 - 2x2  16
-4x1 + 2x2  10
z = 6x1 + 5x2  max
x1, x2, x3, x4  0
x1 +
x3 +2x4  40
2x2 + 2x3
 30
x1 +
2x3
 20
z = x1+x2+2x3+2x4  max
4, Lineáris programozás
Dualitás
Minden lineáris programozási feladathoz
hozzárendelhető egy másik feladat, (a duálisa):
x  0
Ax  b
c*x  max
duálisa
u*  0
u* A*  c*
u* b  min
4, Lineáris programozás
Az induló szimplex táblázat a primál és duál feladat
összes adatát tartalmazza:
x*
u
A
c*
b
4, Lineáris programozás
Ugyanazon az adathalmazon tehát két
feladatot értelmezhetünk. Például:
x1, x2  0
u1, u2, u3  0
3x1 + x2  14 duálisa 3u1 + u2
 4
x1 + 2x2  17
u1 + 2u2 +2u3  6
2x2  12
z = 4x1 +6x2 min
v=
14u1+17u2+12u3max
A két feladat egymás duálisa.
5, Szállítási feladat
Feladat:
Három malomban 40, 15 és 35 egység
(tonna) liszt áll rendelkezésre. Négy sütöde
szükséglete rendre 20, 30, 30, 10 egység.
Az egyes malmokból az egyes sütödékbe
az egységnyi liszt szállítási költségeit az
alábbi táblázat tartalmazza.
Melyik malomból melyik sütödébe hány
egység lisztet szállítsanak, ha a
legkevesebb össz-szállítási költséget
szeretnék elérni?
5, Szállítási feladat
M1
M2
M3
rendelés
S1
S2
S3
2
0
3
20
1
1
4
30
3
2
2
30
S4
5
1
4
10
készlet
40
15
35
90
5, Szállítási feladat
xij: i. feladóhelyről a j. rendelési helyre szállított
mennyiség, így xij  0 minden i, j-re.
Mivel az összes rendelési igény megegyezik az
összes rendelkezésre álló mennyiséggel,
ezért feltételeink egyenletek formájában
adhatók meg. (Malmokra illetve sütödékre
felírva az adott szállítási mennyiségi
adatokat.)
Írjuk fel ezeket az adott feladatunkra, majd
írjuk fel az össz-szállítási költséget is!
5, Szállítási feladat
Általánosítva a feladatunkat:
Tegyük fel, hogy m különböző feladóhelyen az adott
termékből f1, f2, …, fm mennyiség áll
rendelkezésre. Az n rendelési hely igényei pedig:
r1, r2, …, rn.
Feltételeink:
xij  0
m
n
i 1
j 1
 fi   rj
m
n
i 1
j 1
 xij  rj ,  xij  fi
5, Szállítási feladat
Költségmátrix elemei:
cij: az i. feladóhelyről a j. rendelési helyre
szállított egységnyi termék szállítási
költsége.
Így a szállítási össz-költség:
m n
K   cij xij
i 1 j 1
Ezen függvénynek keressük a minimumát.
5, Szállítási feladat
Költségmátrix redukálása:
Az optimális program szempontjából bármely
szállítási feladat változatlan marad, ha a
költségmátrix bármely sorának vagy
oszlopának elemeit ugyanazzal a számmal
növeljük vagy csökkentjük, csak a célfüggvény
optimális értéke változik meg.
5, Szállítási feladat
Mivel az összes igény megegyezik az összes
rendelkezésre álló mennyiséggel, ezért a
szállítási feladatnak biztosan létezik lehetséges
megoldása.
Induló szétosztás megadása:
Pl. Észak-nyugati sarok módszer, disztribuciós
módszer, sor- és oszlopminimum módszer
5, Szállítási feladat
Pl. Észak-nyugati sarok módszerrel adjunk induló szétosztást:
S1
S2
S3
S4 készlet
M1
2
1
3
5
40
M2 0
1
2
1
15
M3
3
4
2
4
35
rend.20
30
30
10 90
220
120
3
5
0
110
25
1
3
4
225
410
5, Szállítási feladat
Optimumhoz közeli megoldást ad:
Vogel-Korda módszer:
A táblázatban képezzük minden sor és oszlop kétkét legkisebb költségelemének különbségét.
Ezekkel a differenciákkal rangsoroljuk a
költségelemeket. Kiválasztjuk a differenciák közül
a legnagyobbat és az ehhez tartozó sor vagy
oszlop legkisebb elemét lekötjük a lehető
legnagyobb mennyiséggel. A kielégített sort vagy
oszlopot töröljük. A peremadatokat korrigáljuk és
az eljárást megismételjük a korrigált táblával.
5, Szállítási feladat
Adjunk Vogel-Korda módszerrel induló szétosztást:
210
130
3
5
05
1
2
110
35
4
230
4
K = 20+30+10+15+60=135
(Kedvezőbb, mint az É-Ny-i sarok módszerrel kapott szétosztásnál.)
A pirossal jelölt viszonylatokban történik szállítás, a többinél
nem.
A táblázatnak n = 3 sora és m = 4 oszlopa van, 6 helyen
történik szállítás.
5, Szállítási feladat
Amelyik viszonylatra programozunk, azok a
kötött elemek, ezek száma: n + m – 1
(ahol n és m a sorok és oszlopok száma).
Ezt az értéket nevezzük kritikus számnak.
Ahová nem történik programozás (szállítás)
azokat a viszonylatokat szabad helyeknek
nevezzük.
5, Szállítási feladat
Optimalitás vizsgálata:
Potenciálok módszerével (duál feladaton alapul)
Minden sorhoz és oszlophoz egy-egy potenciált (ui , vj )
rendelünk úgy, hogy teljesüljön minden kötött elemre:
cij = ui + vj
Mivel cij annyi darab van, mint a kritikus szám (n + m -1), ui
és vj pedig összesen n + m, így az egyenletrendszernek 1
szabadsági foka van. Célszerűen legyen u1 = 0, ezután a
többi érték egyértelműen meghatározható.
A szétosztás akkor optimális, ha minden szabad elemre
teljesül a következő: cij – ( ui + vj ) ≥ 0
5, Szállítási feladat
Végezzünk optimalitás vizsgálatot az É-Ny sarok módszerrel
kapott szétosztáson:
ui/vj
v1=2
v2=1
v3=2
v4=4
u1= 0
220
120
3
5
u2=0
0
110
25
1
u3=0
3
4
225
410
ui/vj
v1=2
v2=1
v3=2
v4=4
u1= 0
220
120
3+
5+
u2=0
0-2
110
25
1-3
u3=0
3+
4+
225
410
5, Szállítási feladat
Program javítása: Hurok módszerrel
Azt a változót érdemes bevonni a programba, amelyre
cij – ( ui + vj ) < 0 (Ha több negatív is van, először a nagyobb
abszolút értékűt vonjuk be.)
Def: Egy szabad elemhez tartozó hurkot megkapjuk, ha a szabad
elemből kiindulva, mindig sor vagy oszlop mentén haladva, úgy
jutunk vissza a kiindulási szabad elemhez, hogy irányt csak
kötött elemnél változtatunk. (Sor és oszlop mennyiségösszegek
nem szabad, hogy változzanak az eljárás során.)
Tétel: Táblázatunkban minden szabad elemhez létezik egy és csak
egy olyan hurok, melynek egyik csúcspontja maga a szabad
elem, a többi csúcspont pedig kötött elem.
5, Szállítási feladat
Mekkora mennyiséget tudunk körbevinni a hurkon?
A hurok sarkait a szabad elemből kiindulva (bármelyik irányba
indulva), megjelöljük a + és – jelekkel. (Hiszen a szabad elemre
szállítunk, de akkor azt el kell vonni abban a sorban és
oszlopban valahonnan, de az így csökkentett mennyiséget
pótolni kell egy másik helyen, …)
A legnagyobb mennyiség amit körbe tudunk vinni, a mínuszos
sarkokon lévő mennyiségek közül a legkisebb lesz. Ezzel a
mennyiséggel módosítjuk a hurok sarkain lévő mennyiségeket
a megfelelő + vagy – értelemben.
Az új táblázattal újra optimalitás vizsgálatot végzünk és szükség
esetén új javítást végzünk.
5, Szállítási feladat
Végezzünk javítást , majd optimalitás ellenőrzést a
feladatunknál:
ui/vj
v1=2
v2=1
v3=2
v4=4
u1= 0
220
120
3+
5+
u2=0
0-2
110
- 25
1-3
u3=0
3+
4+
225
410
+
+
-
ui/vj
v1=2
v2=1
v3= -1
v4=1
u1= 0
220
120
3+
5+
u2=0
0-2
110
2+
15
u3=3
3-2
40
230
45
K = 155
5, Szállítási feladat
ui/vj
v1=2
v2=1
v3= -1
v4=1
u1 = 0
220
120
3+
5+
u2=0
0-2
2+
15
u3=3
3-2
230
45
-
110
+
40
+
-
ui/vj
v1=2
v2=1
v3 = 1
v4=3
u1= 0
210
130
3+
5+
u2= -2
010
1+
2+
15
+
u3=1
30
4+
230
45
-
+
K =135
Alternatív optimum, más szétosztással is ugyanekkora szállítási költség elérhető.
5, Szállítási feladat
Végezzük el az optimalitási vizsgálatot és szükség esetén a
javítást a Vogel-Korda módszerrel kapott táblázaton.
Mit tapasztalunk?
Specialitások:
Ha a feladóhelyeken és a rendelési helyeken lévő összmennyiség
nem egyezik meg, akkor névleges állomásokat (feladó vagy
rendelési helyet) iktatunk be a megfelelő mennyiséggel.
Előfordulhatnak tiltott viszonylatok vagy kapacitáskorlátok az
egyes feladási és rendelési helyeknél.