• Nem Talált Eredményt

Bajalinov Erik és Imreh Balázs Operációkutatás c.

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Bajalinov Erik és Imreh Balázs Operációkutatás c. "

Copied!
147
0
0

Teljes szövegt

(1)

Operációkutatás I.

Bajalinov Erik és Imreh Balázs Operációkutatás c.

jegyzete alapján készítette:

Bartalos István

A tantárgy lehetséges kódjai: IB203, I203 Megjegyzések:

1. Csak a lineáris programozással foglalkozunk – ez spec. esete az opkut-nak 2. A fenti jegyzeten kívül számos olyan jó jegyzet/könyv létezik, amely

eredményesen használható.

3. A kurzuson csak az elhangzott anyagot kérjük számon.

(2008.márc.04-i állapot)

(2)

1. Az operációkutatás tárgya: feltételes szélsőérték feladatok megoldása

2. Feltételes szélsőérték feladat:

Adott

f : L

Rn

R

lehetséges megoldások

halmaza(zárt)

f értelmezési tartománya (f legalább folytonos L-en)

Keresünk olyan x*L , melyen f

 

x* minxL f

 

x

Optimális

megoldás f folyt. a zárt L-en

inf helyett min írható

1. Áttekintés

(3)

3. Lineáris programozási (röviden LP) feladat: olyan feltételes

szélsőérték feladat, melyben adott lineáris függvény (a célfüggvény) minimumát (vagy maximumát) keressük értelmezési tartományának ismert lineáris korlátokkal megadott részében (azaz L-ben)

Megjegyzés: Lineáris korlátjainkban csak a

,,

relációk állhatnak

(< és > nem, az L zártsága miatt)

4. Egyszerű példák LP feladatokra

0 ,

,

8 2

4 3

11 2

4

5

3 2

3 2 1

3 2

1

3 2

1

3 2

1

x x x

x x

x

x x

x

x x

x

min 3

4 5

5

x1x2x3z

0 ,

1

5 2

7

3

6

3 2

3 2

1

4 2

4 3

2 1

x x

x x

x

x x

x x

x x

min

3

2

12  

x x z

x

1 és

x

4

tetsz. előjelű!!

(4)

5 .

5. Adott LP feladat lehetséges(fizibilis) megoldásán olyan valós szám n-est értünk,amely kielégíti a feladat feltételrendszerét.

6. Adott LP feladat optimális megoldásának olyan lehet-

séges megoldását nevezzük, ahol a feladat célfv-ének értéke minimális(maximális)

7. A nevezetes diéta probléma (egyszerűsített változat): Polly 7

szeretné étkezési költségeit csökkenteni úgy, hogy szervezete a naponta szükséges energiát(2000 kcal),fehérjét(55g) és

kalciumot(800mg) mégis megkapja

(5)

Választható

ételek energia tar-

talom (kcal) fehérje

tartalom (g) kalcium

tartalom (mg) ár (centben) Zabkása

(1adag 28g) 110 4 2 3 Csirke

(1 adag 100 g) 205 32 12 24 Tojás

(1 adag 2 db) 160 13 54 13 Tej

(1 adag 237cm3) 160 8 285 9 Pite

(1 adag 170g) 420 4 22 20 Bab hússal

(1 adag 260g) 260 14 80 19

1 adagra vonatkozó

(6)

Hogy étkezése ne legyen egyhangú, az egyes ételekből fogyaszt- Hogy étkezése ne legyen egyhangú, az egyes ételekből fogyaszt-

ható adagok számát korlátozza:

ható adagok számát korlátozza:

zabkása adagszáma ≤ 4

csirke ″ ≤ 3

tojás ″ ≤ 2

tej ″ ≤ 8

pite ″ ≤ 3

sólet ″ ≤ 2 Hogyan tud a legolcsóbban étkezni?

Hogyan tud a legolcsóbban étkezni?

A feladat LP modellje:

Változók: x1: napi zabkása adagszám x2: -||- csirke -||-

x3: -||- tojás -||- x4: -||- tej -||- x5: -||- pite -||- x6: -||- sólet -||-

(7)

energia alsó korlát: 110x1+205x2+160x3+160x4+420x5+260x6 ≥ 2000 fehérje alsó korlát: 4x1+32x2+13x3+8x4+4x5+14x6 ≥ 55

kalcium alsó korlát: 2x1+12x2+54x3+285x4+22x5+80x6 ≥ 800 zabkása felső korlát: x1 ≤ 4

csirke felső korlát: x2 ≤ 3 tojás felső korlát: x3 ≤ 2 tej felső korlát: x4 ≤ 8 pite felső korlát: x5 ≤ 2 sólet felső korlát: x6 ≤ 2

az adagszámok nem-negatívak: x1≥ 0, x2≥ 0, x3≥ 0, x4≥ 0, x5≥ 0, x6≥ 0 Napi költsége (célja): 3x1+24x2+13x3+9x4+20x5+19x6 → min

Megj.: x1,x2,…,x6 az egyes tevékenységek (az evések) mértékének vagy intenzitásának is tekinthető. Ekkor [x1,x2,…,x6] ε L egy lehetséges cselekvési terv, azaz program ( innen(?) származik a lineáris programozás elnevezés)

6 2

1

, x , , x

x

x1,x2,,x6

L

(8)

8. Másik példa: egy keverési feladat: egy olajfinomítóban négyféle anyagot desztillálnak, amit az alábbi táblázat ír le:

oktánszámpárolgási nyomás

napi termelés (barrel)

alkilát 107 5 3814

krakkolt 93 8 2666

sima 87 4 4016

izopentán108 21 1300

A termékek mindegyike értékesíthető 4,83 $/barrel egységáron, vagy összekeverhető kétfajta repülőbenzinné, melyek paraméterei és árai:

oktánszám nyomás ár($/barrel) A típus min. 100 max. 7 6,45

B típus min. 91 max. 6 5,91

Milyen keverési program esetén éri el a finomító a max. bevételt?

Írjuk fel a feladat LP modelljét!

(9)

9. LP feladatok osztályozása megoldhatóságuk alapján

Van optimális megoldása Nincs optimális megoldása

0 ,

,

8 2

4 3

11 2

4

5

3 2

3 2 1

3 2

1

3 2

1

3 2 1

x x x

x x

x

x x

x

x x x

min 3

4 5

5 x1x2x3z

2 2

1x

x

L

L

normális(?) eset

10 2

2

1

2

 

x x 0 ,

2

1 x

x

min 3

2 x1x2

ellentmondó feltételek (infizibilis eset)

1 2 12  

x x

2 2

2

1   

x x

0 ,

2

1

x

x

min 1 12

x x k x

k

x1  2 , 2

nemkorlátos eset de a célfv. alulról/felülről nemkorlátos L-en

(megoldását ld. alább) Pl.:

Pl.: Pl.:

Pl. lehetséges mo-ai:

) (k  

(10)

11. A lineáris programozási feladat megoldhatóságának jelentősége a)

A meglevő feltételek között lehet a hatékonyságot javítani

b) Széleskörű alkalmazhatóság

12. Néhány nagy név a lineáris programozás történetéből

Fourier(1826): az első, aki lineáris egyenlőtlenség rendszereket old meg

Kantorovich(1939): a gyártásütemezésre adott LP modellt és megoldási módszert Dantzig(1947): az általános LP feladat első megoldója

Koopmans(1947): gazdasági folyamatok modellezése

Khachyan(1979): az első, elméleti szempontból kielégítő (polinomiális) alg.

Karmarkar(1983): a gyakorlatban is versenyképes polinomiális algoritmus

13. Magyarok

Egerváry Jenő Prékopa András Lovász László

és még sokan mások…

(11)

14. Szabályos alakú feladat

n

j

i j

ij

x b

a

1

) 1

(  im

 0

x

j

( 1 j n )



n

j

j j

x c

1

 min

lineáris korlátok (minden feltétel ≤ )

minden változó

nemnegatív

1.megjegyzés: könnyen látható, hogy minden LP feladat ilyen alakúra hozható:

•Az egyenlőtlenségek iránya megfordítható (szorzás -1-gyel)

•Az egyenletek két egyenlőtlenséggel pótolhatók

•Az előjelkötetlen változó két új nemnegatív változó különbségeként írható fel

2. megjegyzés: ámde kihagytuk a < és a > feltételek kezelését…

(Látjuk, hogy a dolog megy, de azért ennek később még alaposan utána nézünk)

(12)

15. Hogyan működik a szimplex algoritmus?

(azaz vándorlás a feladat ekvivalens alakjai között)

a megoldandó

nemnegatív jobboldalú szabályos feladat

helyett az alábbi társított

lehetséges kanonikus alakú feladatot oldjuk meg

0 ,

,

8 2

4 3

11 2

4

5

3 2

3 2 1

3 2

1

3 2

1

3 2 1

x x x

x x

x

x x

x

x x x

min 3

4 5

5 x1x2x3z

0 ,

, , , ,

8

2

4 3

11

2

4

5

3 2

6 5 4 3 2 1

6 3

2 1

5 3

2 1

4 3 2 1

x x x x x x

x x

x x

x x

x x

x x x x

(*)

Társítjuk (*)-hoz egy könnyen leolvasható megoldását, melyet a továbbiakban a feladat (*) alakjához társított bázismegoldásnak nevezünk.

min 3

4 5

5 x1x2x3z

(13)

min 5

3 4

5

1

2

3

   

x x x z

0 ,

, , , ,

8

2

4 3

11

2

4

5

3 2

6 5 4 3 2 1

6 3

2 1

5 3

2 1

4 3

2 1

x x x x x x

x x

x x

x x

x x

x x

x

x

x ( 0 )  [ 0 , 0 , 0 , 5 , 11 , 8 ] T

eredeti változók

lazasági változók

aktuális döntési változók

aktuális bázis változók

új nevük A konstans átkerült a jobb oldalra

Vegyük észre, hogy a célfüggvény egyenletében csak döntési változók vannak és ezek értéke a bázismegoldásban 0. (nagyon fontos!)

a célfüggvény baloldalának értéke az (aktuális) bázismegoldáson 0!

5 )

( x

(0)

z

(14)

Ötlet: próbáljunk a 3 db feltételből és a célfüggvényből álló lineáris egyenletrendszeren olyan ekvivalens átalakításokat végezni, hogy

1. A 3 feltétel jobboldalai mind nemnegatívak maradjanak

2. Minden feltételben legyen (továbbra is) olyan változó, melynek

együtthatója ebben a feltételben 1, az összes többi feltételben és a célfüggvényben 0 ! (ezek lesznek az új bázisváltozók)

Azt szeretnénk, hogy a célfüggvény értéke az új

bázismegoldáson csökkenjen (de legalábbis ne nőjön)

(15)

16. Vándorlás a feladat különféle alakjai között

5 0

0 0 3 4

5

8 1

0 0 2

4 3

11 0

1 0 2

1 4

5 0

0 1 1

3 2

6 5 4

6 5 4 3

2 1

z

x x x

x x x x

x x

152 0

2 0 2 5

2 1 0 7

12 1

2 0 2 3

2 1 0 1

1 0

1 2

0 5

0 12 0 0 52

12 32

1

6 5 1

6 5 4

3 2

1

z x

x x

x x x

x x

x

354 4 0

0 5 12

114 0

14 4 1

0 3 12

134 0

114 4 0

0 1 12

14 1

12 2 0

1 1 2 0

0 5

6 1 4

6 5

4 3

2 1

z x

x x

x x

x x

x x

x(0) [0,0,0,5,11,8]T

x(1) [52,0,0,0,1, 12]T

szeretnék et

-

) 1

1 ( 11a

bázis- változók

(aktuális) bázismo.

5 ) (x(0)z

a rajta felvett célfv. érték

szeretnék et

)

1

1 (

21

 

a

x(1) [114,0,0, 12,0, 14]T

Zsákutca, mert van negatív eleme

2 ) 15

(

x(1)  

Ez jó, ezt z

folytatom

L

(16)

Zsákutca, mert romlott a célfv. értéke

8

1 0

1 0

3 0

1 2

0 3 1

1 0

1 0

1 2 0

5 0

2 1

0 2

0 2

1

3 5 1

6 5

4 3

2 1

z x

x x

x x

x x

x x

5 3 0

3 0 3 4

0 5

7 3 4 3 0 1 4 3

2 3 3 0

1 1 3 1 0 28 3

5 3 3 0

10 1 3 0 0 5 3

1 3 3 1

2

6 5 2

6 5 4

3 2

1

z x

x x

x x x

x x

x

x(2) [2,0,1,0,1,0]T

szeretnék et

-

)

1

2 ( 33

a a

12(2)

 1  et szeretnék

x(2) [0,53,0,0,283,43]T

8 )

(

x(2)  

z z(x(2)) 53

A célfüggvény értéke tovább nem csökkenthető, mert

(17)

bármely

x   L

esetén

x 0

miatt a célfüggvény értéke:

0 3

8 )

( x    x

2

  x

4

  x

6

 

z z ( x  )   8

,viszont

z ( x

(2)

)   8

,azaz

x

(2-nél nem lehet jobb megoldást találni)

) 2

x

( optimális megoldás!

(18)

17. A szimplex algoritmus működésének grafikus szemléltetése

Példa:

min 4

3

0 ,

14 2

2

8 2

6 10 2

y x

y x

y x

y x

y x

A célfüggvény egyenlete:

 3 x  4 yc

A feladat: mindaddig csökkenteni c értékét, amíg a célfüggvény egyenletének van közös pontja L-lel.

(19)

Grafikus megoldás:

y=4

x=6

(0,0)

(2,4)

(4,3)

(6,1) (0,4)

(6,0) x+2y=10

2x+2y=

14

-3x-4y=-8

-3x-4y=

-24

-3x-4y=0

1 . L

.

2 3 .

opt. mo.

(20)

Lehetséges kanonikus alakúvá alakítás

min 4

3

0 ,

, ,

, ,

,

14 2

2

8 2

6 10 2

4 3

2 1

4 3

2 1

z y

x

y x

u u

u u

y x

u

y u

x u

y x

u

Sőt további információkat nyerhetünk az egyes feltételek „feszességéről”, arról, hogy az egyes lehetséges megoldások mennyire „merítik ki” valamelyik feltételt.

Minden feltétel baloldalához hozzáadunk egy-egy nemnegatív változót és ezáltal egyenlőtlenségeinket egyenletekké egészítjük ki.

Nyilvánvaló, hogy ezáltal csak a feladat alakja változik, maga a feladat nem.

(21)

D. Megoldás szimplex algoritmussal

22 0

0 0

1 0

3

2 0

0 1

1 0

2

4 1

0 2 0

0 1 0

4 0

0 0

1 1

1

2 0

1 0

1 0

1

16 0

3 0

2 0

0

6 0

2 1

1 0

0

4 1

0 2 0

0 1 0

6 0

1 0

0 1

0

2 0

1 0

1 0

1

4 3

0 0

0 0

14 2

2 1

0 0

0

8 2

0 0

1 0

0

6 0

1 0

0 1

0

10 2

1 0

0 0

1

4 2 4 2 1 4 3 2 1

4 3

2 1

z u

y u

x

z u

y u

u

z u

u u u

y x

u u

u u

x

(0)

 [ 10 , 6 , 8 , 14 , 0 , 0 ]

T

x

(1)

 [ 2 , 6 , 0 , 6 , 0 , 4 ]

T

x

(2)

 [ 0 , 4 , 0 , 2 , 2 , 4 ]

T

0 )

( x

(0)

z

16 )

( x

(1)

  z

22 )

( x

(2)

  z

Még van negatív együttható folyt. köv.

Bázismegoldás = könnyen leolvas- ható megoldás

(22)

24 0

0 1

0 0 1

2 0

0 1

1 0 2

3 1

2 0 0 1

0 1

2 0

0 1

0 1 1

4 0

1 1

0 0 1

3 2

z u

y u

x x

(3)

 [ 0 , 2 , 2 , 0 , 4 , 3 ]

T

24 )

( x

(3)

  z

Mivel a célfüggvényben nincs több negatív együttható, ezért az utoljára kapott bázismegoldás egyben optimális megoldás is, melyen felvett célfüggvényérték -24. (ez az optimum).

) 3

x

(

Figyeljük meg és szedjük sorba az egymás után keletkező bázismegoldásokban az aláhúzott elemeket (kételemű vektorokat) !

(0,0) (0,4) (2,4) (4,3)

1. 2. 3.

Ha visszatekintünk a grafikus megoldásra, azonnal látjuk, hogy példánkban a szimplex algoritmus végrehajtása során kapott bázismegoldások egyben az

L

csúcspontjai

(Később ezt az általános esetben is belátjuk)

(23)

2. A lehetséges kanonikus feladat (rövidítve: l.k.a.f.)

Def.: egy LP feladat lehetséges kanonikus alakú, ha sor- és oszlopcserékkel vala- mint a változók átjelölésével az alábbi formában írható fel:

m n

m n m m m

m m m

m m m

n m n m m

m m

m

n m n m m

m m

m

b x

a x

a x

a x

b x

a x

a x

a x

b x

a x

a x

a x

, 2

2 , 1

1 ,

2 ,

2 2

2 , 2 1

1 , 2 2

1 ,

1 2

2 , 1 1

1 , 1 1

 0

xj (1 jmn); (bi  0; (1im))

c

m1

x

m1

c

m2

x

m2

c

mn

x

mn

z ( x ) min x

m

x

x

1

,

2

,  ,

változók az (aktuális) bázisváltozók ahol

és

x

m1

,  , x

mn változók az (aktuális) döntési változók

Def.: a fenti lehetséges kanonikus alakú feladat (l.k.a.f.) bázismegoldásának az

0 ,

, 0 ,

, ,

,

2 2 1

1

1

b xb x

m

b

m

x

m

x

mn

x  

megoldását nevezzük.

(24)

Köv.: 1. Bmely l.k.a.f. összes lehetséges megoldásainak halmaza nemüres 2. Az aktuális bázismegoldáson felvett célfüggvényérték mindig

1.Tétel (optimumkritérium)

Ha vmely. l.k.a.f. célfüggvényében nincs negatív együttható, akkor a feladat aktuális bázismegoldása egyben optimális megoldása is.

x

Biz: Bmely

~ xL

esetén

m n

m j

j

j

x z x

c x

z x

1

*

)

~ (

~ ) (

~ 0  

Megj: a feltétel csak elegendő, mert pl.

0 0

3 2

3 1

x x

x x

0 ,

,

2 3

1

x x

x

min )

(

5

3

 

x z x

feladatnál

L  {( 0 , 0 , 0 )}

,az aktuális bázismo. optimális és az optimum kritérium mégsem teljesül.

(25)

k kj

k

r

r   a 1

2. Tétel (a bázisváltoztatás tétele)

Ha vmely. l.k.a.f. célfüggvényében a

c

j

( m  1  jmn )

együttható negatív és létezik a

mennyiség, akkor megadható a feladatnak olyan másik lehetséges kanonikus alak-

x

'

ja,melyhez tartozó bázismegoldáson felvett célfüggvényérték:

  c

j

j

Biz.: Tfh.

a

kj a generálóelem (azaz



 



 

   

a r m

a b

rj rj

j

min

r

0 , 1

és

j

kj k

j

a

b  

)

Ekkor a végrehajtandó átalakítások:

)

és 1

(

i m i k

a r r a

r

k

kj ij i

i

    

k kj

j

r a z c

z   

(26)

ahol

r

i az i-edik felt. régi, és

r

,i az új alakját,

z

a célfv.régi és

z

, az új alakját jelöli A kapott feladat

a: ekvivalens az előzővel, hiszen belőle (ami egy m+1 db egyenletből álló lineáris egyenletrendszer) ekvivalens átalakításokkal nyertük

b: lehetséges kanonikus alakú,hiszen

el"

romlanak

"

i együttható zójának

bázisválto eddigi

feltétel .

a csak

közül zók

bázisválto a

és et) - 1 (kivéve

lesznek k

- 0 i együttható

:

k

a

x

j kj

 

: maradnak ak

nemnegatív mind

k jobboldala a

 :

) 0

és 0 (

0

 

  kj k

kj

k k a b

a b b

)

és 1

(

i m i k

a b b a

b k

kj ij i

i    

 0

 

i

i

b

b

0

ha aij

kj k ij

i

a b a

b

miatt

 0

aij

  

k

 0

kj ij i

i

b

a b a

b

0 ha aij

mivel a k. felt. min. hányadosú ( és 

0

) és

(27)

j

c

j

x   

 : a célfüggvén y értéke az új ' bázismegol dáson

: alakjába '

új célfv.

a dást bázismegol

' új az sítve behelyette

ui. x z

 

m n

t kj

j k t

t

a

c b x

z x

c

1

) '

 (

0 0

c akkor zó,

bázisválto

ha x

t

t

  c

t

x

t

 

0 0

akkor változó,

döntési

ha x

t

x

t

   c

t

x

t

  } c

t

x

t

0

ezért

kj k j

a c b x

z

 ( ' )

j

j

c

j

x

z ( ' )    

(28)

3. Tétel (nemkorlátos eset)

Ha vmely l.k.a.f-ban vmely

c

j

 0 ( m  1  jmn )

és az

a

rj

( 1  rm )

együtthatók egyike sem pozitív, akkor a feladat célfv-e

alulról nemkorlátos L-en.

Biz.: Megadjuk a feladat lehetséges mo-ainak egy olyan

{ x

(t)

}

t1 sorozatát, melyen

z ( x

(t)

) 

t

 

 

Legyen

x

(jt)

t

)

és 1

(

)

0

(

m s m n s j

x

st

      }

a döntési változók

)

x

(t -ben

értékei Ekkor a bázisváltozók értékei:

x

r(t)

b

r

a

rj

t  0 ( 1  rm )

Tehát

x

(t)

L és z ( x

(t)

)    c

j

t

t

 

 

 0 c

j

és

 0 b

r

miatt

 0 a

rj

{

(29)

Megj.: az 1.,2. és 3. tételek sokféle generálóelem kiválasztási stratégiát tesznek lehetővé, ui.:

a. bármelyik negatív

c

j célfv. együttható oszlopát választhatjuk

b. melyben bmely minimális nemnegatív hányadosú sor választható Talán a legkorábbi a klasszikus szimplex algoritmus:

1. Ha a tekintett l.k.a.f. célfv-ében nincs negatív együttható, akkor vége az alg-nak:

az aktuális bázismegoldás optimális megoldás is egyben.

(különben a 2. lépés köv.)

2. Vegyük a célfv. legnegatívabb együtthatói közül a legkisebb indexűt (a bal szél- sőt), jelölje ezt

c

j Ha a j-edik oszlopban nincs pozitív együttható, akkor vége

az alg-nak: a célfv. alulról nemkorlátos L-en (különben a 3. lépés köv.)

3. A kiválasztott j-edik oszlopban felülről lefelé keressük meg az első olyan pozitív

a

kj együtthatót, melyre a minimalitási feltétel teljesül:

j kj

k

a

b   (ahol

rj r

j a

min{b

arj  0 (1 rm)}) Ez lesz a generálóelem!

Hajtsuk végre az

a

kj generáló elemmel a 2. Tételben megadott azonos átalakítá- sokat, majd a feladat így kapott új lehetséges kanonikus alakjával folytassuk az algoritmust az 1. lépéssel!

(30)

Megj.: a. a fenti alg. Dantzigtól származik(1951)

b. Ha mást nem mondunk, akkor mindig így választunk generáló elemet ebben a jegyzetben

c. Sokáig azt hitték, hogy a fenti alg. mindig véget ér véges számú iterációs lépésben, de ez nem így van.

Problémák az alg. végrehajtása során (degeneráció és ciklizálás) Példa:

0 0 0

0 8 1

2

2 1 0

0 4

3 1

3 0 1

0 6

4 2

1 0 0

1 2

0 0

6 5 4

6 5

4 3

2 1

x

x x

x x

x x

x x

2

x

(0)

 [ 0 , 0 , 0 , 1 , 3 , 2 ]

T

0 ) ( x

(0)

z

„normális” iterációs lépés köv.

4 0

0 4

0 1

2

0 1

0 2 0

3 1

0 0

1 3 0

4

2 0 1 1 2 0 0 1 2

0

6 5 3

6 5

4 3

2 1

x

x x

x x

x x

x x

x

(1)

 [ 0 , 0 , 1 2 , 0 , 0 , 0 ]

T

4 )

( x

(1)

  z

degenerált bázismo.

„degenerált” iterációs lépés köv.

2

(bázismo. és célfv.érték nem változik)

(31)

4 0

1 1

0 3 0

0 2 1

2 1 0 7

1 0

0 2 0

2 1 0 3

2 1

1 2 0 2 0

1 1 0

0

6 1 3

6 5

4 3

2 1

x

x x

x x

x x

x x

x

(2)

 [ 0 , 0 , 1 2 , 0 , 0 , 0 ]

T

4 )

( x

(2)

  z

degenerált bázismo.

„degenerált” iterációs lépés köv.

(bázismo. és célfv.érték nem változik) 1

4 2 3

2 5 0 19

0 0

0 2 1

2 1 0 7

1 0

0 2 2

2 3 0 17

0 1

1 2 0 2 0

1 1 0

0

2 1 3

6 5

4 3

2 1

x

x x

x x

x x

x x

27 2 2 3

0 5 19 0

0

7 2 2 1

0 1 7

1 0

17 2 2 2

0 3 17 0

1

1 0

0 1

2 0

0

2 1 4

6 5

4 3

2 1

x x x

x x

x x

x x

x

(3)

 [ 0 , 0 , 1 2 , 0 , 0 , 0 ]

T

4 )

( x

(3)

  z

degenerált bázismo.

„normális” iterációs lépés köv.

(célfv.érték csökken és a bázismo.

is változik)

x

(4)

 [ 17 2 , 7 2 , 0 , 1 , 0 , 0 ]

T

27 2 )

( x

(4)

  z

És a most kapott bázismegoldás optimális! (mivel nincs több negatív együttható a célfv-ben)

(32)

Észrevétel: a célfv. értéke nem minden iterációs lépésben csökkent.

Oka: 0 jobboldalú feltételből választottunk gen. elemet

(  

j

 0 )

Ilyenkor a bázismo. nem változik (,de a feladat alakja igen), mert

a. A jobboldalak nem változnak (mert 0 jobboldalú felt. alkalmas számszorosait adjuk a többi felt-hez és a célfv-hez)

b. A gen. elemet tartalmazó felt. eddigi bázisváltozója a jelenlegi bázismo-ban 0 értékkel bír, ezután pedig döntési változó lesz (és ezért lesz az új bázis- mo-ban az értéke 0)

c. A gen. elemet tartalmazó felt. új bázisváltozója az új bázismo-ban 0 értékű lesz (eddig döntési változó volt és emiatt volt 0 a bázismo-ban).

d. Az összes többi felt. bázisváltozója és jobboldala sem változik.

Def.: Degenerált iterációs lépés az, melynek során a bázismo. nem változik (mert 0 jobboldalú felt-ből választottunk gen. elemet)

Def.: Degenerált bázismegoldás pedig az, melyben legalább egy bázisváltozó értéke 0 (azaz van 0 jobboldalú feltétel a l.k.a.f.-ban)

(33)

Megj.: a. Degenerált bázismo. megjelenése nem mindig eredményez degenerált iterációs lépést!

b. A gyakorlatban sokszor ütközünk degenerált bázismo-okba, melyek előbb-utóbb degenerált iterációs lépéseket eredményeznek. A szimp- lex algoritmusok azonban rendszerint (néhány iterációs lépés után) túljutnak ezeken a nehézségeken.

(Ellen)példa arra, amikor a szimplex alg. „klasszikus” változata sosem ér véget:

0 12 1

3 2

0 0 0

1 1 1

1 1

1 0 0

0 3 2

1 1 13

0 1 0

0 9 1

9 2

0 0 1

7 6

5 4

3 2 1

x x

x x

x x x

A 6. iterációs lépés után a feladatnak ugyanehhez a lehetséges kanonikus alak- jához jutunk (ld. Jegyzet), azaz az alg. ciklizál ( = sosem ér véget)

Igaz ez megfordítva is:

(34)

Tétel: Ha vmely szimplex alg. sosem ér véget, akkor ciklizál.

Biz.: a. m db felt-ből álló m+n ismeretlenes l.k.a.f. bázisváltozóinak halmaza

( -féle lehet

a bázisváltozók rendezett sorozatainak száma max.

(nem biztos, hogy mindegyikhez tartozik a feladatnak l.k.a.-ja)

 

 

  m

n m

! m m

n m  

 

 

lehet.

!

m m

n m 

 

  db iterációs lépés végrehajtása során keletkező 

! 1

 

  m m

n m

db l.k.a. között biztosan van két olyan, melyek bázisváltozói ugyanazok, ugyanabban a sorrendben (a skatulyaelv miatt).

b. Jelölje e két l.k.a. (közös) bázisváltozó sorozatát

x

1

, x

2

,  , x

m és

fejezzük ki őket rendre az

1 ., 2 .,  , m .

felt-ből és

z

-t a célfv-ből:

(35)

n m n m m

m

x a x

a b

x

1

1

1, 1 1

  

1,

n m n m m

m

x a x

a b

x

2

2

2, 1 1

  

2,

(az egyik)

n m n m m m

m m m

m

b a x a x

x  

, 1 1

  

,

n m n m m

m

x c x

c

z   

1 1

  

n m n m m

m

x a x

a b

x

1

1

 

1

, 1 1

  

1

,

n m n m m

m

x a x

a b

x

2

2

  

2, 1 1

   

2,

(a másik)

n m n m m m

m m m

m

b a x a x

x    

, 1 1

   

,

n m n m m

m

x c x

c

z     

1 1

   

c. Mivel e két lin.e.rsz. ekvivalens, ezért ugyanazon szám (mn1) -esek elégítik ki őket.

d. Legyen az

x

k döntési változó (m1 kmn) értéke tetsz.

t

zvalós szám, a többi döntési változóé nulla. Ekkor a fenti két lin.e.rsz.:

t a b

x

1

1

1k

t a b

x

2

2

2k

b a t

x

m

m

mk

t c z   

k

t a b

x

1

1

 

1

k

t a b

x

2

2

 

2

k

b a t

x

m

m

 

mk

t

c

z    

k

(36)

(

x

1

, x

2

,  , x

m

és z

értékei

t

ismeretében egyértelműen meghatározottak és a két lin.e.rsz. ekvivalens )

ugyanazon

t

értékhez mindkét lin. e.rsz-ben

ugyanaz az

] ,

0 , , 0 , , 0 , , 0 , ,

, ,

[ x

1(t)

x

2(t)

x

m(t)

tz

(t) mo. tartozik, amiből

. t k

a b

x t

a

b

1

1k

1(t)

1

 

1

k

t a b

x t

a

b

2

2k

2(t)

2

 

2

k

x b a t

t a

b

m

mk

m(t)

m

 

mk

t c z

t

c

k

t

  

k

 

( )

bmely valós

t

esetén

Először

t  0

-t véve:

b

1

b

1

2

2

b

b  

m

m

b

b  

  

,majd

t  1

esetén:

k

k

c

c  

k

k

a

a

2

2

mk

mk

a

a  

k

k

a

a

1

1

adódik, azaz a két l.k.alak ugyanaz.

(37)

Megj.: a. a ciklizáció már 

 

  m

n

m db. iterációs lépés után bekövetkezik.

(ha a feltételek sorrendjétől eltekintünk) b. Ez a szám azonban mégis nagy lehet: pl. 150.000

10 20 

 

persze ez a legrosszabb eset

c. Tehát a bázisváltozók egyértelműen kijelölik a feladat egy lehetséges kanonikus alakját !!!!!!

d. Változók adott m elemű halmazához tehát legfeljebb egy lehetséges kanonikus alak tartozhat (lehet, hogy egy se)

(38)

1 0 0

2 4

1 0

1 0

1 0 2 1

1 1 1 4

0 0

0

2 0 0

1 2 2

0 1 2

1

1 0 0

1 4 0

1 1 1 0

1 1 2 0

1 1 1 4

0 1

0

7 1 3 8

8 7

6 5

4 3

2 1

x x x x

x x

x x

x x

x x

3. A szimplex algoritmus néhány további változata

A 2. Tétel (a bázisváltoztatás tétele) szerint a generáló elem sokféle képpen választható

ugyanennyi féle szimplex típusú algoritmus létezhet.

Ezek közül néhány (a megállási feltételek nélkül):

1. A generáló elem véletlenszerű kiválasztása

a. a negatív célfv. együtthatók közül véletlenszerűen választok egyet b. A kiválasztott

j

edik oszlopban azon

a

kj

 0

együtthatók közül

választok véletlenszerűen, melyekre

kj j k

a

b

 teljesül.

Pl.:

véletlenszerűen választunk közülük egy oszlopot, legyen ez pl.

x

6

A kiválasztott oszlopban gen.

elemként szóba jöhet: az 1., a 2. és a 4.:

) 2 ( 12

1 1

2 12

1

6    

melyek közül véletlenszerűen választunk egyet

Megj.: Biz-ható, hogy ez az alg. 1 valószínűséggel véges számú lépésben véget ér.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

A helyi emlékezet nagyon fontos, a kutatói közösségnek olyanná kell válnia, hogy segítse a helyi emlékezet integrálódását, hogy az valami- lyen szinten beléphessen

Egy online minimalizálási probléma esetén egy online algoritmust C-versenyképesnek ne- vezünk, ha tetsz˝oleges bemenetre teljesül, hogy az algoritmus által kapott

Egy kanonikus alakú LP feladathoz tartozó első fázisú feladatban kapott optimális megoldásnál a célfüggvény negatív értékű lett.. Egy kanonikus alakú LP

§ (2) bekezdés c)–g) pontjában kapott felhatalmazás alapján, az egyes miniszterek, valamint a Miniszterelnökséget vezetõ államtitkár feladat- és hatáskörérõl

Arra, hogy Te elévülsz majd persze csak a bolondfi vár. Állj meg, Istenem, egy percre a

Egy online minimalizálási probléma esetén egy online algoritmust C-versenyképesnek ne- vezünk, ha tetsz˝oleges bemenetre teljesül, hogy az algoritmus által kapott

Ezért főleg a HSE-n belül, legfeljebb informátori feladatok végrehajtására volt használható, esetleg a válogatottban lehetett vol- na alkalmazni, nem Honvéd játékosok

Els ő ként felteszem a kérdést, hogy tényleg elég-e, ha két ember szereti egymást, vagy van a házasságnak egyéb fogalmi eleme is; bemutatom, hogy ha pusztán a