A szimplex algoritmus

Hasonló dokumentumok
Kétfázisú szimplex algoritmus és speciális esetei

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Opkut deníciók és tételek

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

Operációkutatás. Vaik Zsuzsanna. ajánlott jegyzet: Szilágyi Péter: Operációkutatás

A szimplex algoritmus

A szimplex tábla. p. 1

Áttekintés LP és geometria Többcélú LP LP és egy dinamikus modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

Szimplex módszer, szimplex tábla Példaként tekintsük a következ LP feladatot:

A lineáris programozás 1 A geometriai megoldás

Egyenletek, egyenlőtlenségek VII.

1/ gyakorlat. Hiperbolikus programozási feladat megoldása. Pécsi Tudományegyetem PTI

egyenlőtlenségnek kell teljesülnie.

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

Alkalmazott optimalizálás és játékelmélet Lineáris programozás Gyakorlófeladatok. Rétvári Gábor

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Abszolútértékes és gyökös kifejezések

Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer

Branch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

Nemlineáris programozás 2.

Másodfokú egyenletek, egyenlőtlenségek

Tanulási cél Szorzatfüggvényekre vonatkozó integrálási technikák megismerése és különböző típusokra való alkalmazása. 5), akkor

Bevezetés a lineáris programozásba

Másodfokú egyenletek, egyenlőtlenségek

Operációkutatás I. Bajalinov, Erik, Nyíregyházi Főiskola, Matematika és Informatika Intézete Bekéné Rácz, Anett, Debreceni Egyetem, Informatikai Kar

Trigonometria Megoldások. 1) Oldja meg a következő egyenletet a valós számok halmazán! (12 pont) Megoldás:

Egyenletek, egyenlőtlenségek grafikus megoldása TK. II. kötet 25. old. 3. feladat

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

Érzékenységvizsgálat

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

I. Egyenlet fogalma, algebrai megoldása

Abszolútértékes egyenlôtlenségek

Nem-lineáris programozási feladatok

462 Trigonometrikus egyenetek II. rész

Egyenletek, egyenlőtlenségek V.

Első zárthelyi dolgozat megoldásai biomatematikából * A verzió

Totális Unimodularitás és LP dualitás. Tapolcai János

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Trigonometria

Matematika 10 Másodfokú egyenletek. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

MATEMATIKA PRÓBAÉRETTSÉGI MEGOLDÓKULCS

Egyenletek, egyenletrendszerek, egyenlőtlenségek Megoldások

y + a y + b y = r(x),

Az Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai

A lineáris programozás alapjai

1. Előadás Lineáris programozás

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

Exponenciális és logaritmikus kifejezések Megoldások

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Exponenciális és Logaritmikus kifejezések

Jelen jegyzet a József Attila Tudományegyetem programozó matematikus és. A feldolgozott anyag bevezető jellegű. Néhány karakterisztikus, ma már

A(a; b) = 2. A(a; b) = a+b. Példák A(37; 49) = x 2x = x = : 2 x = x = x

Egyenletek, egyenlőtlenségek, egyenletrendszerek I.

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2015/ Szegedi Tudományegyetem Informatikai Tanszékcsoport

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Exponenciális és Logaritmikus kifejezések

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

lineáris programozás esetében. Ennek ez idő szerint legkorábbi formalizálását

Bevezetés az operációkutatásba A lineáris programozás alapjai

Nagy Gábor compalg.inf.elte.hu/ nagy

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Emelt szintű érettségi feladatsorok és megoldásaik Összeállította: Pataki János; dátum: november. I. rész

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

Az 1. forduló feladatainak megoldása

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

Magasabbfokú egyenletek

Korlátozás és szétválasztás módszere Holló Csaba 2

Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit

Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged

Abszolútértékes és gyökös kifejezések Megoldások

Függvények Megoldások

Operációkutatás. 4. konzultáció: Szállítási feladat. A feladat LP modellje

Nagy András. Feladatok a logaritmus témaköréhez 11. osztály 2010.

EuroOffice Optimalizáló (Solver)

Boronkay György Műszaki Középiskola és Gimnázium

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

Egyenletek, egyenlőtlenségek X.

Hódmezővásárhelyi Városi Matematikaverseny április 14. A osztályosok feladatainak javítókulcsa

2017/ Szegedi Tudományegyetem Informatikai Intézet

a) A logaritmus értelmezése alapján: x 8 0 ( x 2 2 vagy x 2 2) (1 pont) Egy szorzat értéke pontosan akkor 0, ha valamelyik szorzótényező 0.

Megoldás A számtani sorozat első három eleme kifejezhető a második elemmel és a differenciával. Összegük így a 2. d =33, azaz 3a 2. a 2.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Abszolútértékes és Gyökös kifejezések

3. Lineáris differenciálegyenletek

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

3. előadás. Termelési és optimalizálási feladatok. Dr. Szörényi Miklós, Dr. Kallós Gábor

3. Egyenletek, egyenletrendszerek, egyenlőtlenségek

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek

Tartalom. Matematikai alapok. Termékgyártási példafeladat. Keverési példafeladat Szállítási példafeladat Hátizsák feladat, egészértékű feladat

Optimumkeresés számítógépen

Feladatok a logaritmus témaköréhez 11. osztály, középszint

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

9. Trigonometria. I. Nulladik ZH-ban láttuk: 1. Tegye nagyság szerint növekvő sorrendbe az alábbi értékeket! Megoldás:

10. Koordinátageometria

Polinomok (előadásvázlat, október 21.) Maróti Miklós

Középszintű érettségi feladatsorok és megoldásaik Összeállította: Pataki János; dátum: november. I. rész

Átírás:

. gyakorlat A szimplex algoritmus Az előző órán bevezetett feladat optimális megoldását fogjuk megvizsgálni. Ehhez új fogalmakat, és egy algoritmust tanulunk meg. Hogy az algoritmust alkalmazni tudjuk, a feladatunkat mindig a megfelelő alakra kell hozni. Az előző órán felírt feladat modellje: És grafikusan: I. 8x s + x f 8 II. x s + x f III. x s + x f 8 x s,x f x s + x f max x f 6 Mint azt már kimondtuk, a lehetséges megoldások halmaza az a terület, melyet a tengelyek és a egyenlet együttesen határol körbe, mint a kerítés. Azt is tudjuk, hogy az optimális megoldást az oldalak mentén, vagy egy csúcspontban fogjuk megtalálni. x s. Próbálkozás Ha mondjuk az egész számok halmazán (Z) vizsgálódunk, akkor növelhetjük egyesével a változóink értékét a -ból indulva. Ezt addig folytatva, míg valamelyik kerítésünk megállít. Fontos észrevenni, hogy az egyeneseink egymással párhuzamosak, valamint folyamatos javulást hoznak.

x f 6 Ellenőrzésképpen helyettesítsünk vissza a feltételeinkbe: pl. x s = és x f = esetén: I. 8 + = 6 8 II. + = III. + = 8 x s pl. x s = és x f = esetén: I. 8 + = 8 II. + = 8 III. + = 6 8 Már x s = és x f = esetén látható, hogy a kenyérkészletünket elhasználjuk, pedig még sonkát, és salátát is használhatnánk fel, ennek eredményeképpen a csúcspontig/oldalig sem jutunk el. Vagyis jobb megoldás után nézünk a legjobb csúcspont megtalálására. Ugyanis tétel mondja ki, hogy: Ha egy LP feladatnak van optimális megoldása, akkora van olyan optimális megoldása, ami a lehetséges megoldásai tartományának csúcspontja.. Szimplex algoritmus (Definíciók szabályszerű kimondása a definicok.pdf-ben található.) Az algoritmus az úgynevezett szótár alakú feladattal dolgozik. Először megnézzük hogyan hozhatjuk a feladatunkat erre az alakra, majd futtatjuk az algoritmust az eddigi példánkon... Standard alak Minden programozási feladathoz megadható egy vele ekvivalens standard alakú feladat. Minden feltétel. Áttéréskor --gyel szorzunk. pl. x x A cél maximalizálás: A célfüggvényünk maximalizálás legyen, ha nem az, akkor az előzőhöz hasonlóan áttérünk. 8x + x 8 x + x x 8 z(x)= x + x max

.. Egyenlőségek Új, nemnegatív változókat veszünk fel. Ezekkel az egyenlőtlenségeket megszüntetjük, de az eredetivel még mindig ekvivalens feladatot kapunk. 8x + x + x = 8 x + x + x = + x + x = 8 z(x)= x + x Természetes/Döntési változók: Standard alakú feladatban is szereplő változók. Mesterséges/Slack változók: Újonnan felvett változók... Szótár alak Fejezzük ki az újonnan felvett változóinkat. x = 8-8x - x x = - x - x x = 8 - x z(x) = + x + x Bázisváltozók: A szótár alakú feladat bal oldalán szereplő változók. Értékük az egyenletek jobb oldalán álló konstans. Nembázis változók: A szótár alakú feladat jobb oldalán álló változók. Értékük!.. Az algoritmus Input: A szótár alakú feladat. Pivot lépések Do {. Válasszunk generáló elemet. Oszlop választás: Pozitív célfüggvény együttható, azok közül a legnagyobb (legpozitívabb) (ha több azonos is van, akkor azok közül a kisebb indexű) Sor választás: Hányados szabály alapján: Ellenőrizzük! Van-e negatív együtthatójú változónk, ha nincs, nem korlátos a feladat. Ekkor vége a feladatnak. Vegyük a hányados szabály alapján legkorlátozóbb változót: Azt a sort válasszuk, ahol a jobb oldali konstans és a választott oszlop változójának együtthatójával kapott hányados a legkisebb. Ez lesz a belépő változónk.. Fejezzük ki a belépő változónkat, majd minden előfordulását helyettesítsük be. } while (van pozitív együtthatójú célfüggvény változó) Output: Megoldás (nincs megoldás / nem korlátos a feladat / az optimum értéke). (A zölddel szedett szavak az algoritmus kulcsszavai, ezeket mint vezérfonal érdemes tudni.) Most nézzük meg az eddigi példánkon:

(Hogy a számolást egyszerűbb legyen követni, a célfüggvényben a -as szorzót kiemeltem, majd elhagytam. Így az eredetivel egy ekvivalens feladatot oldok meg, és ha a pontos eredményt szeretném megkapni, csak ezzel a konstanssal kell visszaszorozzam a végeredményt.). iteráció x = 8-8x - x x = - x - x x = 8 - x z(x) = + x + x Oszlop választás: A célfüggvényben x és x együtthatója is pozitív. Ráadásul egyenlőek, így a kisebb indexűt, x -et választjuk. Sorválasztás: A. sor nem korlátoz, így azt nem vizsgáljuk. Az. sor hányadosa: = Az itt kapott érték lesz a növekményünk. A. sor hányadosa: 8 8 = 6 Így a. sort választjuk. Fejezzük ki x -et és helyettesítsünk be minden előfordulásába.. iteráció x = 6 - x + 8 x (x = 8 8( x x ) x ) x = - x - x x = 8 - x z(x) = + x - x (z(x) = + x x + x ) Oszlop választás: A célfüggvényben csak x együtthatója pozitív. Sorválasztás: Az. sor hányadosa: 6 / A. sor hányadosa: / = A. sor hányadosa: 8 = Így az. sort választjuk. Fejezzük ki x -t és helyettesítsünk be minden előfordulásába.

Az optimális megoldás szótára x = - x + x x = + x - x (x = ( 8 x + x ) x ) x = 88 + x - 8 x (x = 8 ( 8 x + x )) z(x) = 6 - x - x (z(x) = + ( 8 x + x ) x ) Az optimum: 6, (Ha visszaszorzunk a feladat elején elhagyott konstanssal, akkor egy reális értéket kapunk, mint bevétel, azaz Ft.) A döntési változók értékei: x =,6 x =,9 Végül nézzük meg, hogy hogyan "lépkedett" az algoritmus: x 6 x Jól látható, hogy az algoritmus csúcspontról csúcspontra lép, míg el nem jut az optimális megoldásba. Hogy jó irányba induljunk el, és ne lépkedjünk visszafele később különféle generálóelem választásokkal garantálhatjuk.