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

Hasonló dokumentumok
Matematikai modellek megoldása számítógéppel Solver Lingo

EuroOffice Optimalizáló (Solver)

Számítógépes döntéstámogatás OPTIMALIZÁLÁSI FELADATOK A SOLVER HASZNÁLATA

Számítógépes döntéstámogatás OPTIMALIZÁLÁSI FELADATOK A SOLVER HASZNÁLATA

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

A dualitás elve. Készítette: Dr. Ábrahám István

Érzékenységvizsgálat

Növényvédő szerek A B C D

Feltételes és feltétel nélküli optimalizálás Microsoft O ce EXCEL szoftver segítségével

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/

Tartalom. Matematikai alapok. Fontos fogalmak Termékgyártási példafeladat

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

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

Növényvédő szerek A B C D

Ismertető A Solver telepítése, illetve indítása A Solver célcella módosuló cellák A feltételek általában a módosuló cellákra hivatkozó képletek.

Lineáris programozási feladat megoldása Microsoft O ce EXCEL szoftverrel

Táblázatok. Táblázatok beszúrása. Cellák kijelölése

Lineáris programozás. A mese

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

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

b) Írja fel a feladat duálisát és adja meg ennek optimális megoldását!

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

Feladatok megoldásai

A Termelésmenedzsment alapjai tárgy gyakorló feladatainak megoldása

1.1.1 Dátum és idő függvények

Nem-lineáris programozási feladatok

SZÁMÍTÁSOK A TÁBLÁZATBAN

Nemlineáris programozás 2.

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 II. Tantárgyi útmutató

A DÖNTÉSELMÉLET ELEMEI

Operációkutatás II. Tantárgyi útmutató

2017/ Szegedi Tudományegyetem Informatikai Intézet

Matematikai modellezés

Döntéselőkészítés. I. előadás. Döntéselőkészítés. Előadó: Dr. Égertné dr. Molnár Éva. Informatika Tanszék A 602 szoba

FELHASZNÁLÓI ÚTMUTATÓ A MOBIL BROKER KERESKEDÉSI FELÜLET HASZNÁLATÁHOZ

Lineáris programozás. Ax b

A szimplex algoritmus

FELHASZNÁLÓI ÚTMUTATÓ A MOBIL BROKER KERESKEDÉSI FELÜLET HASZNÁLATÁHOZ

Operációkutatás példatár

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

A Szoftvert a Start menü Programok QGSM7 mappából lehet elindítani.

A lineáris programozás alapjai

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

Egyes logisztikai feladatok megoldása lineáris programozás segítségével. - bútorgyári termelési probléma - szállítási probléma

Közfoglalkoztatás támogatás megállapítását segítő segédtábla használati útmutatója

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

A szimplex algoritmus

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.

I-SZÁMLA KFT. VEVŐI FELHASZNÁLÓI FIÓK HASZNÁLATI ÚTMUTATÓ

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

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

Oktatási segédanyag. Weboldalszerkesztési gyakorlatok

Döntési módszerek Tantárgyi útmutató

Aromo, WebAromo Hiányzások kezelése

Microsoft Excel 2010

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

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Gyorsított jegybeírás. Felhasználói dokumentáció verzió 2.0.

Egyenletrendszerek és optimalizálási feladatok megoldása Excelben a Solver segítségével

WebAromo elindítása, bejelentkezés

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

VisualBaker Telepítési útmutató

számított mező, számított tétel

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

Termelési és szolgáltatási döntések elemzése Vezetés és szervezés mesterszak

Opkut deníciók és tételek

Bontott órák beállítása Példánkban egy évfolyambontott kapcsolatot hozunk létre úgy, hogy abban vannak csak osztálybontott csoportok is.

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

Bevezetés a játékelméletbe Kétszemélyes zérusösszegű mátrixjáték, optimális stratégia

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

Felhasználói kézikönyv a WEB EDInet rendszer használatához

SZÁMÍTÓGÉPES ADATFELDOLGOZÁS

WIFI elérés beállítása Windows XP tanúsítvánnyal

Bevezető. Mi is az a GeoGebra? Tények

A tanulók oktatási azonosítójára és a két mérési területen elér pontszámukra lesz szükség az elemzéshez.

SZERKESZTŐSÉGI RENDSZER FELHASZNÁLÓI KÉZIKÖNYV ABSZTRAKTOK FELTÖLTÉSÉHEZ

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Felhasználói kézikönyv

Operációkutatási feladatok megoldása QSB-vel

KERESKEDŐI ÚTMUTATÓ SHAREPOINT ÚJ RENDSZER A VEVŐSZOLGÁLATI MARKETING ÉS BEFEKTETÉSI TÁMOGATÁSOK JÓVÁHAGYÁSÁRA

Táblázatkezelés 2. - Adatbevitel, szerkesztés, formázás ADATBEVITEL. a., Begépelés

Kérem, ismerkedjen meg a DigitAudit program AuditTeszt moduljának Adatok tesztelése menüpontjával.

S Z Á L L Í T Á S I F E L A D A T

Jövedelem-Kiegésztési Rendszer - JKR

SAJÁT WEBÁRUHÁZ 15 PERC ALATT!

Táblázatkezelés (Excel)

Aromo Szöveges értékelés normál tantárggyal

EDInet Connector telepítési segédlet

Elektronikus aláírás ellenőrzése PDF formátumú e-számlán

Dokumentumtár A hatósági statisztika adatszolgáltatása lépésről-lépésre

Új Magyarország Fejlesztési Terv Tájékoztató A ZMNE-n bevezetett wifi szolgáltatásról KMOP-4.2.1/B

Segédanyag az Excel használatához

Segédanyag az Excel használatához

Bevezetés a táblázatok használatába és az Excel program

Rácsvonalak parancsot. Válasszuk az Elsődleges függőleges rácsvonalak parancs Segédrácsok parancsát!

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

HASZNÁLATI ÚTMUTATÓ A HENASCHOOL

Assignment problem Hozzárendelési feladat (Szállítási feladat speciális esete)

Átírás:

C Optimumkeresés számítógépen Az optimumok megtalálása mind a gazdasági életben, mind az élet sok más területén nagy jelentőségű. A matematikában számos módszert dolgoztak ki erre a célra, például a függvények szélsőértékeinek keresése differenciálszámítással, vagy a lineáris programozás (LP). A gyakorlatban felhasználható lineáris programozási modellek megoldása manuálisan sok időt igényel, így többféle számítógépes megoldás áll ma már rendelkezésünkre ezeknek a modelleknek a megoldására és az eredmények elemzésére. Felhasználhatjuk az Excel lehetőségeit, valamint a Lingo szoftvert (aminek 300 folytonos változót kezelni tudó demo változata az internetről ingyenesen letölthető) az optimumok keresésére. Az eljárásokat példákon keresztül mutatjuk be. Az Excel használata LP modellek megoldására Tekintsük a következő szöveges feladatot: Négy erőforrás felhasználásával négyféle terméket gyártanak. Az egyes termékek egy-egy egységébe az erőforrásokból rendre 1, 0, 2, 1; 1, 2, 2, 0; 0, 2, 2, 1 és 1, 2, 0, 0 épül be az egyes erőforrásokból. Az erőforrások felső korlátai: 100, 160, 100, 60. A termékek eladási egységárai rendre: 6, 6, 5, 4. Milyen termékszerkezetnél lesz maximális az árbevétel? A matematikai modell döntési változói a gyártandó mennyiségek: x 1,x 2,x 3,x 4. Induló feltétel: a.) x 1,x 2,x 3,x 4 0 Korlátozó feltételek: b.) x 1 +x 2 +x 4 100 2x 2 +2x 3 +2x 4 160 2x 1 +2x 2 +2x 3 100 x 1 +x 3 60 x 1 +x 3 60 A célfüggvény: c.) z=6x 1 +6x 2 +5x 3 +4x 4 max

A feladat megoldása történhet szimplex módszerrel, az optimumok: x o = [ 35 0 15 65 ] u o = [ 00010 ] z o = 545 A duál optimumok: y o =[2,5 0,75 1,75 0] w o =[0 1,5 0 0] A számítógépes megoldást Excellel az adatbevitellel kezdjük. Célszerű a termékek oszlopait x i -vel, a feltételek sorait f i -vel elnevezni. A feltételek sorai alatt legyen a célegyütthatók sora (c ), alatta legyen az x, az optimális megoldások sora, induláskor nullákkal feltöltve ( módosuló cellák ). Az x 4 oszlopa után töltsünk fel egy oszlopot nullákkal a c soráig, majd legyen egy oszlop a relációjeleknek és egy a kapacitásoknak. Az induló gépi táblánk: x1 x2 x3 x4 b f1 1 1 0 1 0 <= 100 f2 0 2 2 2 0 <= 160 f3 2 2 2 0 0 <= 100 f4 1 0 1 0 0 <= 60 c 6 6 5 4 0 x 0 0 0 0 Az adattáblázatot az Excellben bárhol elhelyezhetjük. Legyen x1 a B1 cellában. Az x4 utáni oszlopban állítjuk elő a modell feltételeinek baloldalát és a célfüggvényt, az adatok és a változók skaláris szorzataként. Ehhez: az F2 cellába behívjuk a Szorzatösszeg függvényt. Az első tömbbe kerül a B2E2 sor, a másodikba a B7E7 sor dollárjelekkel, amit az F4 billentyűvel vihetünk fel. Ezután az F2 cellában előállított skaláris szorzatot alkalmazzuk a többi sorra úgy, hogy az F2 cella jobb alsó sarkában megjelenő vonszoló füllel lejövünk az F6 celláig, ezután rákattintunk az F6 cellára, ez lesz a célcella. Megoldás Az Excel eszközök menüjéből behívjuk a Solvert. Ha nincs ott, akkor a Bővítmények menüpontból bekérjük. Az Excel változataiban a Solver alakja más lehet.

A célcella most F6 (ha a kurzort ott hagytuk, akkor automatikusan ez jelenik meg. Ha nem: rákattintunk). Maximumot keresünk (bejelölés). Módosuló cellák: x sora (B7E7), kattintsunk a sorra, bevisszük. Korlátozó feltételek: Hozzáadás gombbal egyesével bevisszük: F2<=H2 (rákattintunk a cellákra), majd a Felvesz gomb után jön a következő: F3<=H3 és a többi. Ha csupa azonos reláció szerepel a korlátozó feltételeknél (mint most), akkor egyszerre is bevihetjük a baloldali, majd a jobboldali oszlopot és lezárjuk a bevitelt. A Beállítás gombon a nemnegatív és a lineáris feltételeket jelöljük be. Ezt követően indulhat a Megoldás. A megoldás gombra kattintva megkapjuk az optimális (primál) megoldást: x1 x2 x3 x4 b f1 1 1 0 1 100 <= 100 f2 0 2 2 2 160 <= 160 f3 2 2 2 0 100 <= 100 f4 1 0 1 0 50 <= 60 c 6 6 5 4 545 x 35 0 15 65 Az x sorából az optimum: x o =[35 0 15 65]. A célfüggvény optimuma: z o =545. Az eltérésváltozó optimumok a kapacitás maradványok, a relációjelek utáni és előtti oszlopokban lévő számok különbségei: u o =[0 0 0 10].

A duál optimum, és az érzékenységvizsgálat az érzékenységjelentésből adódik: Az y o értékeit a Shadow Árnyékár oszlopból, a duál eltérésváltozók, a w o értékeit pedig (a mi jelölésrendszerünk szerint abszolút értékben) a Redukált költség oszlpból olvashatjuk le. Tehát a duál optimumok: y o =[2,5 0,75 1,75 0] w o =[0 1,5 0 0] A Megengedhető növekedés, Megengedhető csökkenés oszlopok értékes információkat tartalmaznak, jelentésük: a célfüggvény együtthatókat (felső táblázat: Módosuló cellák) és a kapacitás értékeket (Korlátozó feltételek) milyen határok között változtatjuk meg, ha azt akarjuk, hogy az optimum szerkezete változatlan maradjon. Az Excellel történő számítógépes optimalizálás bővebb kifejtésére a szakirodalomban, illetve más stúdiumokban kerül sor. Optimalizálás a Lingo programmal A szofver előnye, hogy a matematikai modell a szokásos alakban írható be, tud speciális modelleket kezelni és pontosabb az Excelnél. Használatához szükséges tudni: 1.) A nemnegatív feltételt külön nem kell beírni, a program ezt feltételezi. 2.) A relációkat pontosvesszővel kell lezárni, a szorzásjelet ki kell írni.

3.) A nagyobb-egyenlő, kisebb-egyenlő relációknál nem kell egyenlőséget írni. 4.) A célt (min vagy max) sor elején ki kell írni. A program indítása után begépeljük a modellt, legyen ez az Excellel megoldott példánk. x1+x2+x4<100; 2*x2+2*x3+2*x4<160; 2*x1+2*x2+2*x3<100; x1+x3<60; max=6*x1+6*x2+5*x3+4*x4; A megoldást a Solve parancsra lépve kapjuk. Használhatjuk a piros célkarika ikont is erre a célra. Global optimal solution found. Objective value: 545.0000 Total solver iterations: 4 Variable Value Reduced Cost X1 35.00000 0.000000 X2 0.000000 1.500000 X4 65.00000 0.000000 X3 15.00000 0.000000 Row Slack or Surplus Dual Price 1 0.000000 2.500000 2 0.000000 0.7500000 3 0.000000 1.750000 4 10.00000 0.000000 A program globális optimumot talált, ehhez 4 lépésben jutott el. Az egyes optimális megoldások elhelyezkedése a táblázaton jól látható: z o = 545 x o = [ 35 0 15 65 ] u o = [ 00010 ] y o = [ 2,50,751,750 ] w o = [ 01,500 ] A Lingoban célfüggvényként szerepeltethetünk törtfüggvényt (ez a gyakorlatban sokszor előfordul), vagy más nem lineáris (pl. másodfokú) függvényt. A Lingonak ezen kívül sok alkalmazási lehetősége van, ami a letölthető Felhasználói kézikönyvben megtalálhatunk.