2008/09 ősz
1. Windows / Word / Excel, önálló feldolgozás! 2. Solver 3. ZH 4. Windows 5. Windows 6. ZH 7. HTML 8. HTML 9. ZH 10. Adatszerkezetek, változók, tömbök 11. Számábrázolási kérdések 12. ZH 13. Pótlás 2
Az Excel Solver bővítményének megismerése Feladatok gyakorlása 3
Bevezetés az informatikába 4
Mire jó? Mi lenne ha jellegű problémák Tipikusan több változós összefüggések Optimális megoldást keresünk, pl.: Költség minimalizálás Haszon maximalizálás Papíron vagy nyers erővel belátható időn belül ált. nem végeznénk! 5
Mire jó? néhány gyakorlati példa Hogyan tudja egy nagy gyógyszergyártó cég meghatározni az egri gyárában egy adott hónapban előállított termékek összetételét (együttesét), hogy a cég nyereségességét közben a maximális értékre emelje? XY cég 20 stratégiai kezdeményezésbe szeretne belefogni, melyek mind pénzt és jól képzett programozókat igényelnek a következő öt évben, ám kiderül, hogy nincs elegendő erőforrás mind a 20 projekt elindítására. Mely projekteket kellene megvalósítaniuk? 6
Megoldás komponensei (lásd még: köv. dia) Módosuló cellák = a változók, ezek variálásával próbál az Excel megoldást találni Korlátozó cellák csak pozitív cikkmennyiséget szállítunk legalább x embert el kell látni legfeljebb ennyi lehet az összköltség Célcella Képletet tartalmaz! (pl. költségek szummája) Ezt akarjuk pl. minimalizálni / maximalizálni 7
(1.) Feladat: Telephelyek kiszolgálása raktárakról Adott: Telephelyek: Budapest, Kecskemét, Salgótarján Raktárak: Győr, Siófok, Szeged Szállítási költségek adott városok között Telephelyek összes igénye, raktárak szabad készlete Keressük: A raktárak készleteinek azon szétosztását a telephelyek között, mely esetén az összes szállítási költség minimális! 8
Fuvarköltség mátrix Budapest Kecskemét Salgótarján Győr 2 4 3 50 Siófok 2 5 5 80 Szeged 3 1 3 50 100 50 30 Szállítási mátrix (változók) Budapest Kecskemét Salgótarján Győr 0 0 0 0 Siófok 0 0 0 0 Szeged 0 0 0 0 0 0 0 Költség mátrix Budapest Kecskemét Salgótarján Győr 0 0 0 Siófok 0 0 0 Szeged 0 0 0 0 Raktárak összes készlete Szállítási költségek Telephelyek összes igénye =SZUM(adott sor) Kritérium lesz, hogy kiadják a raktárkészletet Változók (egyelőre 0) Egyes cellák értéke legyen: =Fuvarköltség-cella * Szállítási mátrix-cella Célcella =SZUM(Költség mátrix) 9
Célcella Min? Max? Egyéb? Módosuló cellák Korlátozó cellák Beállítások (lépésszám, nem negatív feltételezése, stb.) 10
Eszközök / Solver Ha nincs ott, akkor ritkán használtak kinyítása nyíllal Ha ott sincs, akkor Bővítménykezelőben bepipálni Ha ott sincs, akkor telepíteni kell (Install CD / Internet) Célcellát állítsuk be (ált. automatikus) Módosuló cellákat állítsuk be Korlátozó feltételeket állítsuk be Megoldás gomb Ha talál, örülünk Ha nem, az nem feltétlen jelenti, hogy nincs megoldás! Próbáljunk más kezdeti változóértékeket / növeljük a max. számítási időt 11
Megoldás: Fuvarköltségek Budapest Kecskemét Salgótarján Győr 2 4 3 50 Siófok 2 5 5 80 Szeged 3 1 3 50 100 50 30 Szállítási mátrix Budapest Kecskemét Salgótarján Győr 20 0 30 50 Siófok 80 0 0 80 Szeged 0 50 0 50 100 50 30 Költség mátrix Budapest Kecskemét Salgótarján Győr 40 0 90 Siófok 160 0 0 Szeged 0 50 0 340 12
(2.) Feladat: Termékpaletta arányai Adott: 4 termék előállítási költsége, eladási ára A minimális piaci igény az adott termékre A kezdeti likvid tőke, amit nem léphetünk túl Keressük: Miből mennyit gyártsunk, hogy a profit maximális legyen? Gyártási költség /db csavar menetes szár alátét távtartó 8 5 0,1 2 Eladási ár /db 10 5 1 3 Minimális piaci igény 10 3 20 5 Rendelkezésre álló tőkekeret: 200 13
Adatmezők: csavar menetes szár alátét távtartó db 0 0 0 0 költség/db 8 5 0,1 2 eladási ár/db 10 5 1 3 total nyereség 0 0 0 0 0 likvid tőke felhaszn. 0 0 0 0 SZUM(felhasznált tőke) 0 <= 200 Min. piaci igény 10 3 20 5 Változó mezők Meg van adva Meg van adva =db*(eladási ár költség) =db*költség Célmező Korlátozó feltételek 14
Megoldás: csavar menetes szár alátét távtartó db 10 3 950 5 költség/db 8 5 0,1 2 eladási ár/db 10 5 1 3 total nyereség 20 0 855 5 880 likvid tőke felhaszn. 80 15 95 10 SZUM(felhasznált tőke) 200 <= 200 Min. piaci igény 10 3 20 5 15
(3.) Feladat: Oldjuk meg az alábbi lineáris egyenletrendszert Solver alkalmazásával! x1+2x2-4x3-x4 1 x1-x2+3x3+2x4 2 2x1-3x2+5x3-x4=3 max(2x1+x2+2x3-2x4) (x1; x2; x3; x4) 0 16
Adatmezők: Változók (módusuló cellák) x1 x2 x3 x4 0 0 0 0 Eggyüttható mátrix az egyenletek bal oldalaihoz 1 2-4 -1 1-1 3 2 2-3 5-1 Az egyenletek bal oldalai 0 >= 1 0 <= 2 0 = 3 Célfüggvény mátrix 2 1 2-2 Változó mezők A három egyenletben a változók mellett szereplő együtthatók Képlettel adjuk meg az egyenleteket (A relációkat kritériumokként vigyük fel!) Kézzel adjuk meg Célfüggvény értéke 0 Képlettel adjuk meg a mátrixok segítségével 17
Megoldás: Változók (módusuló cellák) x1 x2 x3 x4 3 1 0 0 Eggyüttható mátrix az egyenletek bal oldalaihoz 1 2-4 -1 1-1 3 2 2-3 5-1 Az egyenletek bal oldalai 5 >= 1 2 <= 2 3 = 3 Próbáljunk ki kézzel más eredményeket, és nézzük meg, hogy alakul a célfüggvény értéke! (és sikerül-e teljesíteni a relációkat) Célfüggvény mátrix Célfüggvény értéke 2 1 2-2 7 18
(4.) Feladat: Állófogadás 50 fő részére Adott: 250 egység költségkeret Négy féle szendvics {Sajtos, kaviáros, sonkás, szalámis} Költség / db {1, 10, 5, 5 } Mennyiségi kedvezmény faktor {0, 0.1, 0.03, 0.04 } Kedvezmény kiszámítása: db*db*kf Minimális db / adott fajta (10 db mindegyikből) Maximális db / adott fajta (20 db mindegyikből) Mindenkinek jusson legalább 1! Keressük: Melyik szendvicsből mennyit kell rendelni, hogy a minimummaximum kritériumoknak megfelelve és a költségkereten belül maradva a lehető legtöbb szendvicset szolgáljuk fel? (Tehát: Célérték az összes darabszám maximalizálása) 19
Adatmezők Szendvicsek sajtos kaviáros sonkás szalámis Meg van adva Ár/db 1 10 5 5 Mennyiségi kedvezmény 0 0,1 0,03 0,04 Szükséges db 0 0 0 0 Költség 0 0 0 0 Minimális szendvics db 10 10 10 10 Maximális szendvics db 20 20 20 20 Változó mezők =db*költség - kedvezmény Meg van adva vendégek összes szendvics db 50 <= 0 költség keret összes költség 250 >= 0 Kritériumok Célcella 20
Megoldás Szendvicsek sajtos kaviáros sonkás szalámis Ár/db 1 10 5 5 Mennyiségi kedvezmény 0 0,1 0,03 0,04 Szükséges db 20 10 12 20 Költség 20 90 56 84 Minimális szendvics db 10 10 10 10 Maximális szendvics db 20 20 20 20 vendégek összes szendvics db 50 <= 62 költség keret összes költség 250 >= 250 21
Felkészülést segítő hivatkozások, könyvek Microsoft Excel Help!!! További hasznos linkek: http://office.microsoft.com/hu-hu/excel/ch010004571038.aspx http://www.google.hu/ 22