GENETIKUS ALGORITMUS ALKALMAZÁSA A MEZŐGAZDASÁGI TERMELÉS OPTIMALIZÁLÁSÁBAN

Hasonló dokumentumok
Számítógépes döntéstámogatás. Genetikus algoritmusok

DEBRECENI EGYETEM AGRÁRTUDOMÁNYI CENTRUM AGRÁRGAZDASÁGI ÉS VIDÉKFEJLESZTÉSI KAR

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

Genetikus algoritmusok

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

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

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

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

Tartalomjegyzék. Tartalomjegyzék... 3 Előszó... 9

Hidraulikus hálózatok robusztusságának növelése

értékel függvény: rátermettségi függvény (tness function)

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

HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL. OLÁH Béla

Megkülönböztetett kiszolgáló routerek az

EuroOffice Optimalizáló (Solver)

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

Dr. habil. Maróti György

értékel függvény: rátermettségi függvény (tness function)

Nem-lineáris programozási feladatok

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

Képrekonstrukció 9. előadás

Általános algoritmustervezési módszerek

Vállalati modellek. Előadásvázlat. dr. Kovács László

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

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

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

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

Képrekonstrukció 6. előadás

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

Hagyományos termelésirányítási módszerek:

A NÖVÉNYTERMESZTÉSI ÁGAZATOK ÖKONÓMIÁJA. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

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

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

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Evolúciós algoritmusok

G Y A K O R L Ó F E L A D A T O K

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

Matematikai modellezés

Termeléstervezés és -irányítás Termelés és kapacitás tervezés Xpress-Mosel FICO Xpress Optimization Suite

Heurisztikák BitTorrent hálózatok max-min méltányos sávszélesség-kiosztására

Lukovich Gábor Logisztikai rendszerfejlesztő

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

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

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

Mesterséges Intelligencia MI

A technológiai berendezés (M) bemenő (BT) és kimenő (KT) munkahelyi tárolói

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

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

Számítógép és programozás 2

Programozási módszertan. Mohó algoritmusok

Universität M Mis is k k olol cic, F Eg a y kultä etem t, für Wi Gazda rts ságcha tudfts o w máis n s yen i scha Kar, ften,

Dinamikus modellek szerkezete, SDG modellek

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

Dr. Kalló Noémi. Termelés- és szolgáltatásmenedzsment. egyetemi adjunktus Menedzsment és Vállalatgazdaságtan Tanszék. Dr.

egy szisztolikus példa

Informatikai Rendszerek Tervezése

A szimplex algoritmus

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

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.

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

Számítógép és programozás 2

A lineáris programozás alapjai

Alapfogalmak, alapszámítások

angolul: greedy algorithms, románul: algoritmi greedy

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

OOP. Alapelvek Elek Tibor

Vajon, hogyan működne vállalata, ha a lehető leghatékonyabban használná ki a gyártás, logisztika során erőforrásait

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem

Opkut deníciók és tételek

Gépi tanulás a gyakorlatban. Lineáris regresszió

DIGITÁLIS TEREPMODELL A TÁJRENDEZÉSBEN

A NÖVÉNYTERMESZTÉSI ÁGAZATOK ÖKONÓMIÁJA. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

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

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

ELTE TáTK Közgazdaságtudományi Tanszék MAKROÖKONÓMIA. Készítette: Horváth Áron, Pete Péter. Szakmai felelős: Pete Péter

DOKTORANDUSZ FÓRUM, 1999 Miskolc, november. Megerősítő tanulási módszerek alkalmazása az informatikában

Searching in an Unsorted Database

Ellátási lánc optimalizálás egy új multinál

Konjugált gradiens módszer

Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben

I. LABOR -Mesterséges neuron

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Algoritmusok Tervezése. 9. Előadás Genetikus Algoritmusok Dr. Bécsi Tamás

Zenegenerálás, majdnem természetes zene. Bernád Kinga és Roth Róbert

NGB_IN040_1 SZIMULÁCIÓS TECHNIKÁK dr. Pozna Claudio Radu, Horváth Ernő

Kvantitatív módszerek

MEGHÍVÓ. Második Felhívás. E-agrárium & E-vidék. AGRÁRINFORMATIKAI FÓRUM és KONFERENCIA

Függvények növekedési korlátainak jellemzése

Paragon Decision Technology BV

Az optimális megoldást adó algoritmusok

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

ÁGAZATI SZAKMAI ÉRETTSÉGI VIZSGA MEZŐGAZDASÁG ISMERETEK EMELT SZINTŰ SZÓBELI VIZSGA MINTAFELADATOK ÉS ÉRTÉKELÉSÜK

ÁGAZATI SZAKMAI ÉRETTSÉGI VIZSGA MEZŐGAZDASÁG ISMERETEK EMELT SZINTŰ SZÓBELI VIZSGA MINTAFELADATOK ÉS ÉRTÉKELÉSÜK

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

A F u z z y C L I P S a l a p j a i

Újrahasznosítási logisztika. 7. Gyűjtőrendszerek számítógépes tervezése

Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A A NÖVÉNYTERMESZTÉSI ÁGAZATOK ÖKONÓMIÁJA

MATLAB OKTATÁS 5. ELŐADÁS FELTÉTEL NÉLKÜLI ÉS FELTÉTELES OPTIMALIZÁLÁS. Dr. Bécsi Tamás Hegedüs Ferenc

Átírás:

GENETIKUS ALGORITMUS ALKALMAZÁSA A MEZŐGAZDASÁGI TERMELÉS OPTIMALIZÁLÁSÁBAN Salga Péter, salga@agr.unideb.hu Szilágyi Róbert, szilagyi@agr.unideb.hu Herdon Miklós, herdon@agr.unideb.hu Debreceni Egyetem Agrártudományi Centrum Agrárgazdasági és Vidékfejlesztési Kar Gazdasági és Agrárinformatikai Tanszék Abstract In our paper we try to make a short description about optimization techniques in agricultural production processes. We introduce a new solution in this area, the genetic algorithm (GA), which can solve the optimization problems and can find not only the local but the global solution. There are advantages and disadvantages of GA against traditional algorithms and the conditions and constraints determine which methods are in the best optimization package. 1. Bevezetés A vezetői munkában létfontosságú az optimalizációs feladatok megoldása. Egy probléma megoldásában a döntéshozatal legtöbbször intuitív módon történik, ugyanis ezek a problémák bonyolultabbak, minthogy az egyes feltételeket táblázatszerűen értékelni lehessen. A nagy horderejű vagy periódikusan ismétlődő optimalizációs feladatok esetén érdemes matematikai algoritmusokat használni, melyek segítségével jobb megoldásokat tudunk találni rövidebb idő alatt. A mezőgazdaságban a következő területek jelentenek tipikus optimalizációs kihívásokat: - termeléstervezés, ütemezés, - takarmánykeverék beltartalom optimalizálás, - vetésszerkezet tervezés, - növényvédőszer keverékek összeállítása. A felsoroltakon kívül természetesen számos más területen is alkalmazhatóak az optimalizációs eljárások. A termelés tervezése több együttes tényező vizsgálatát igényli, mint pl. erőforrások, logisztika, műveletek, marketing, értékesítés és e tényezők összefüggései folyamatosan változhatnak a termelő vállalkozás profiljának, méretének, erőforrás-lehetőségeinek változásával. A lineáris programozási módszerek hatékony megoldást nyújtanak az ilyen termelési problémákra, de a feltételek komolyabb megváltozásakor a szoftverfejlesztés tervezői szintjén kell a modellt megváltoztatni, valamint a néha túl bonyolult feltételrendszer és a nemlineáris paraméterek nagyon megnehezíthetik az implementációt. A manapság divatos multi-ágens tervezőrendszerek ezekre a problémákra jó megoldást adnak, de sokszor lassúak és nem mindig szolgáltatnak az optimumhoz közeli megoldást. 1

A következőekben néhány gyakran alkalmazott módszert szeretnénk megmutatni, és ezek áttekintése után a genetikus algoritmus hatékonyságát hasonlítjuk össze más optimalizációs eljárásokkal. 2. Strukturális algoritmusok 1. ábra A strukturális algoritmus egy csavarkulccsal szimbolizálható A strukturális algoritmusok egy speciális probléma megoldására készülnek és az algoritmizált lépéseket egy választott programnyelvben implementálják. A módszer nagy előnye, hogy igen gyors, viszont nagyon nehezen alkalmazható más feladatokra, valamint a feltételek megváltozása esetén újra kell programozni a feladatot. 3. Lineáris programozási eszközök 2. ábra A lineáris programozási eszközök szimbólumai A lináris programozással történő feladatmegoldásnál az alábbi egyenlőtlenségrendszer megoldásai adják a probléma egy lehetséges optimumát: - x 0 - Ax b (b 0) - c * x max Ahol A mátrix a fajlagos ráfordítási együtthatókat foglalja magába, b vektor tartalmazza a kapacitásokat, c vektor pedig a fajlagos hozamokat. A keresett programvektor az x. A feladat megoldása általában szimplex módszerrel történik. Előnyei: - Matematikai precizitás - A szabályok működésének visszakövethetősége 2

- Táblázatkezelő programmal is végrehajtható Hátrányai: - Csak lineáris feladatokra működik - Minél bonyolultabb a feladat, annál áttekinthetetlenebb a feltételrendszer 4. Multi-ágens rendszerek 3. ábra A multi-ágens rendszereket egy svájci bicska szimbolizálja Az ágens érzékeli a környezetét szenzorain keresztül és hatással van környezetére effektoraival. Ha az embert szemléljük, mint intelligens ágenst, akkor a szenzorai többek között a szem, fül, orr; míg effektorai a kéz, láb, száj. A szoftverágensek ugyanezen az elven bit-sztringek kódolásával és dekódolásával érzékelnek és hatnak a környezetükre. Egy multiágens rendszerben az egyes ágensek egy-egy jól definiálható elemi problémát kapnak feladatul, amelyet úgy kell megoldaniuk, hogy közben a többi ágens is hatással van rájuk. Egy termelésütemezési feladatban például, ahol a termelést dolgozók adott gépeken, szerszámok segítségével végzik, a multi-ágens rendszer ágensei az erőforrásokat felügyelik. Így például vannak szerszám-ágensek, dolgozó-ágensek, gép-ágensek. Minden egyes ágens azért felelős, hogy az általa felügyelt erőforrást minél jobban kihasználják a fizikai korlátok betartása mellett (pl. egy géppel egyszerre csak egy munka folyhat). A feladat megoldása közben az ágensek szövetkeznek egymással és megpróbálják elnyomni egymás érdekeit. A módszer legnagyobb hátránya is ez, ugyanis gyakran előfordulnak feloldhatatlan konfliktusok az ágensek között, amit további technikák alkalmazásával lehet csak feldolgozhatóvá tenni, ezen kívül a multi-ágens környezetek fejlesztése igen munkaigényes feladat. Nagy előnye viszont, hogy reprezentálja a modellezett rendszer belső struktúráját, bonyolult feladatoknál is áttekinthető, valamint nagyon egyszerű új ágensek hozzáadása a rendszerhez, amelyek új szempontokat, kényszerfeltételeket reprezentálhatnak. 5. Tipikus optimalizálási feladatok az agrárgazdaságban 5.1. Takarmánykeverék optimalizálás Adott állatfaj, hasznosítási irány takarmánykeverékének táplálóanyag, ásványianyag- és mikroelemtartalmát kell optimalizálni a következő szempontok alapján: Az állatok tápanyagszükséglete függ a Tartási körülményektől Mikroklímától Alkalmazott technológiától 3

A keverék táplálóanyag, ásványianyag- és mikroelemtartalma függ a ph Hőmérséklet Alkotórészek minősége A feladat, hogy az egyes alkotórészek mért paraméterei alapján az állatok igényeinek megfelelően az optimális táplálóanyag, mikroelem- és ásványianyag tartalommal készüljön el a keverék. 5.2. Optimális vetésszerkezet kialakítása Az optimális vetésszerkezet tervezésénél a fő kérdés, hogy a vállalkozás az adott növényeket milyen arányban vegye a vetésszerkezetébe, hogy az árbevételük, illetve a nyereségük maximális legyen? Mindeközben a következő paramétereket kell vizsgálni: Növények hozama, eladási ára Csapadék és fényigénye Területi korlátok és szabályok Termesztéshez, betakarításhoz szükséges erőforrások A nagyobb rendszerek a mi lenne, ha típusú kérdések vizsgálatát is támogatják, így szcenáriók hozhatóak létre az időjárás alakulása, piaci árváltozások függvényében. 6. Genetikus algoritmus (GA) evolúciós számítások Szélsőérték-keresési (optimalizáló) eljárás, mely viselkedésében a természetes evolúció folyamatát utánozza. A megoldások egy adott lépésben érvényes halmazát populációnak nevezik, és ezen az evolúciós módszertanból vett operátorokat használ a populáció egy lépésben való megváltoztatására, amely változás visszavonhatatlan. A kritériumfüggvény felületét több ponton vizsgálja, míg a többi eljárás a felületen csak egy pontot mozgat, minek következtében - a többi eljárástól különbözően nem csak a lokális szélsőérték helyeket találja meg, hanem globális optimummal szolgál (lásd. 4. ábra). 4. ábra A bal oldali ábra egy egyszerű feltételrendszer két szélsőérték-hellyel rendelkező megoldásterét mutatja. A jobb oldali ábrán egy bonyolult feltételrendszerű optimalizáció lokális maximumai láthatóak. 4

7. Egy egyszerű genetikus algoritmus példa Az 5. ábrán látható fekete doboz kapcsolóinak állása meghatározza azt a decimális számértéket, amit a doboz digitális kijelzőjén látunk. Tegyük fel, hogy nem tudjuk, hogy a kapcsoló állapotainak megfeleltetett bináris számot számolja át tízes számrendszerbe a fekete doboz. A feladatunk ekkor az, hogy úgy állítsuk be a kapcsolókat, hogy a lehető legnagyobb értéket lássuk a doboz kijelzőjén. Fekete doboz ON ON ON ON ON OFF OF OF OF OF kimenet Kiértékelés a fitneszfüggvénnyel = 13 0 1 1 0 1 11000 01000 10011 induló populáció 5. ábra A fekete doboz feladat A megoldás első lépéseként a kapcsolók lehetséges állapotát reprezentáló tetszőleges 5- jegyű bináris számokat adunk meg; ez lesz az induló populációnk. A populáció egyes egyedei kiszelektálódnak minden szaporodási ciklus végén, úgy hogy csak a legrátermettebbek maradhatnak a populációban. A legrátermettebbek meghatározása a fitnesz-függvény segítségével történik, ami minden problémánál speciálisan kerül meghatározásra. A fekete doboznál a bináris számot decimálissá átalakító függvény a fitnesz-függvény, és a szaporodási ciklusok után csak a legnagyobb függvényértékű (legnagyobb fitneszű, legrátermettebb) egyedeket hagyjuk benn a populációban. 1 1 0 0 0 1 0 0 1 1 r e k o m b i n á c i ó (cross-over) 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 m u t á c i ó 6. ábra A rekombinációs és mutációs operátorok működése a fekete doboz feladatban 5

A szaporodási ciklusokban evolúciós operátorok segítségével változik meg a populáció. Az egyes egyedeken előre beállított valószínűséggel a 6. ábrán látható módon rekombináció vagy mutáció végezhető. A genetikus algoritmus eredménye igen nagy mértékben függ az evolúciós operátorok beállított rátájától. 8. GA alkalmazása A genetikus algoritmussal történő optimalizáció alkalmazása a következő lépéseket foglalja magába: - Kvantumok kijelölése Meg kell határoznunk azt a legkisebb egységet, amit már nem kívánunk tovább osztani. Az előző példában ez egy kapcsoló állapota volt, a vetésszerkezet optimalizálásánál ez egy egységnyi földterület, amit nem kívánunk tovább osztani (pl. 1 négyzetméter), míg a keverékek optimalizálásánál lehet az a mennyiség, amit még kényelmesen meg tudunk mérni. - Kezdő populáció meghatározása Meghatározzuk, hogy hány egyedből álljon az induló populációnk. Minél bonyolultabb feltételrendszerrel van dolgunk, annál nagyobb populáció választása célszerű. - A fitnesz-függvény megalkotása Mérlegelve a optimalizációs célt meghatározzuk a fitnesz-függvényt. - Kényszerfeltételek adatbázisa Számos olyan feltétel lehetséges, ami korlátozza a populáció egyedeinek sorrendjét vagy állapotát. A vetésszerkezet kialakításánál például figyelembe kell venni, hogy előzőleg milyen növényt termesztettek az adott földterületen és a következő évben ezek alapján milyen növény vethető. - Evolúciós operátorok beállítása, tesztelés Egy ciklikus folyamat, amely mindaddig zajlik, amíg a megfelelő eredményt nem kapjuk. Az evolúciós operátok valószínűségi rátája nagyban befolyásolja a végeredményt. 9. A GA hátrányai Több mint 30 év telt el, amióta John Holland cikkében [1] bevezette a genetikus algoritmusok terminust, de úgy érezzük azóta sem sikerült kiforrott tudományággá válnia az evolúciós számítások kutatásának. Matematikailag még mindig megfoghatatlan miért működik az egyik fitneszfüggvény jól egy adott problémára, míg egy másik ésszerű teljesen rossz eredményt ad. Ezért modellünkben a GA alkalmazásokat a hagyományos algoritmusokkal együtt alkalmazzuk. Egyrészt még az eljárás futása előtt eldöntjük, hogy a probléma bonyolultsága igényli-e a GA optimalizálást, amennyiben nem a hagyományos szimplex módszerrel történik az optimum meghatározása. Ilyenkor a futási idő hosszabb is lehet, mint a GA esetén, viszont teljes bizonyossággal megkapjuk az optimumot. A kiindulási paraméterek megváltozásakor is fontos szerepet kap a szimplex módszer, aminek segítségével meghatározzuk, hogy mennyire valós értékeket ad vissza a választott fitneszfüggvény. Ebben az esetben többnyire szükséges az emberi beavatkozás is. 6

10. A GA előnyei - Globális optimumot talál - Gyorsaság - Kis erőforrásigény - Egyszerűbb paraméterezhetőség - Nem-moduláris (emergens) rendszer - Egyszerű és olcsó implementáció 11. Diszkusszió Tapasztalataink szerint a genetikus algoritmus egy nagyon hatékony kiegészítő eljárás lehet az optimalizációs feladatok megoldásában. Gyors futása és kis erőforrásigénye lehetővé teszi, hogy akár mobil eszközökön is alkalmazható legyen. Egyszerű használatával komoly segítséget jelenthet a vezetői munka döntései előtt és egyszerűsége révén akár a kis- és közepes vállalkozások is használhatják munkájuk során. A módszer azonban nagyon érzékeny a kezdeti paraméterek értékeinek beállítására, viszont ezek meghatározása után az adott típusú problémák megoldására korlátozás nélkül alkalmazható. A modell egyszerűsége miatt jól kapcsolható szakértői vagy információs rendszerekhez. Irodalomjegyzék [1] Holland, J. H. (1973) Genetic algorithms and the optimal allocation of trials. SIAM Journal of Computing. 2(2), 88-105. 7