1 / 22

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining. 25. Előadás Dr. Pauler Gá bor , Egyetemi Docens PTE-PMMFK Villamos Intézet Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu.

ghada
Download Presentation

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pécsi TudományegyetemPollack Mihály Műszaki KarMűszaki Informatika SzakData Mining 25. Előadás Dr. Pauler Gábor, Egyetemi Docens PTE-PMMFK Villamos Intézet Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu

  2. Az előadás tartalma Egészértékű programozás • A korlátozás-szétválasztás algoritmusa Nemlineáris programozás • A nemlineáris modellek megoldásának bonyolultsága • Nemlineáris modellek linearizálása • Szakaszonként lineáris függvények linearizálása • Egyszerű nemlináris függvények linearizálása • HA-AKKOR szabályok kezelése lineáris modellben • Logikai kapcsolatok leírása bináris változókkal • Bonyolultabb nemlineáris célfüggvények linearizálása • Hiperbolikus programozás • Befektetési alap kezelési probléma • Dinamikus programozás Szakirodalom

  3. LP modellek egészértékű döntési változókkal 1 A gyakorlatban sok problémában fordulnak elő diszkrét értékű döntési változók (Discrete Variables), amelyeknek csak véges vagy végtelen számú diszkrét értéke értelmezett (pl. oszthatatlan termékek, nem gyárthatunk 23.5 db repülőgépet). • Ezek a leggyakrabban egészértékű változóként (Integer Variable) jelennek meg, egészértékű LP modellt (Integer LP, ILP model) eredményezve • Ezek speciális esete a bináris {0,1} változók (Binary LP, BLP model) használata, ezek általában nemlineáris modellek linearizálásakor kerülnek elő A simplex algoritmus viszont a sztenderd LP modellben csak folytonos változókat képes kezelni, és az optimális megoldás is bármikor lehet tört értékű • Kézenfekvő dolognak látszik, hogy az egészértékű optimális megoldáshoz kerekítsük a folytonos optimális megoldást • Ez azonban csak akkor működik jól, ha az egészértékű változó egy egysége csak elenyészően kis részét fogyasztja el a kapacitásoknak (pl. Fradi meccs elött a zacskóba töltendő szotyolamagok számát nyugodtan kerekíthetjük) • Más a helyzet, ha az egészértékű változó egy egysége a kapacitások jelentős részét elfogyasztja (pl. az építendő óceánjárók számának optimalizálása). Itt a folytonos eredmény egyszerű kerekítése már lehet, hogy nem megengedett megoldás, vagy pedig, nagyon messze fog esni az optimálistól.

  4. LP modellek egészértékű döntési változókkal 2 Erre látunk példát a következő ábrán: • A folytonos feltételrendszer a sárga terület • A fekete rácspontok az egészértékű megoldások • A folytonos optimum kerekítésével kapott megengedett megoldás célfüggvényértéke jóval alacsonyabb, mint egy teljesen máshol lévő rácspont célfüggvényértéke • Mert NEM a folytonos feltételek jelentik a modell valódi feltételrendszerét, hanem ezeken belül a szélső rácspontokra épülő konvex burok (Convex Envelope) (lásd zöld terület)! ILP megoldási módszerek: • Adott folytonos feltétlrendszerhez tartozó konvex burok meghatározására Gomory magyar származású amerikai matematikus alkotott algoritmust • De a konvex burok számolgatása olyan hosszú ideig tart, hogy ez a megoldás a gyakorlatban nem hatékony • Ezért az optimalizációs szoftverek más módszert alkalmaznak

  5. Nagyobb mint x2 Kisebb mint x1 ILP modellek megoldása korlátozás és szétválasztással(Branching and Bounding)1 • Az egészértékű változók egész értékei mentén kisebb LP részfeladatokra bontja az eredeti ILP modellt, és ezeket oldja meg • De mivel n változó esetén ezekből 2n darab van, és a számolásigény robbanásszerűen nő (NP Hard Problem), igyekszik kizárni a bontásból egy csomó olyan részfeladatot, ahol nem lehet optimum, az összes lehetséges LP részfeladat piciny töredékét oldva meg Algoritmusa: 1. Megoldja az ILP modellt LP feladatként (minden változót folytonosnak vesz), így megkapja a folytonos optimális megoldást, amiben lehetnek egész- és törtértékű változók is. 2. Kiválaszt egy olyan döntési változót az optimális megoldásban, aminek értéke tört : • A tört optimális érték ALATTI egészértéket új FELSŐ korlátként alkalmazva, kap egy „kisebb mint” részfeladatot, az adott változó szerint „elfelezve” a feltételrendszert • A tört optimális érték FELETTI egészértéket új ALSÓ korlátként alkalmazva, kap egy „nagyobb mint” részfeladatot , az adott változó szerint „elfelezve” a feltételrendszert

  6. Nagyobb mint x2 x2 Kisebb mint Nagyobb mint Kisebb mint x1 x1 ILP modellek megoldása korlátozás és szétválasztással(Branching and Bounding)2 3. Megoldja mindkét részfeladatot LP feladatként. Ezeknek négyféle kimenete lehet: • Egészértékű optimális megoldást ad  ha jobb, mint az eddig ismert legjobb egészértékű megoldás, feljegyzi • Törtértékű optimális megoldást ad, ami jobb, mint az eddig ismert legjobb egészértékű megoldás  a részfeladatot további részekre kell bontani, ugrás a 2.LÉPÉS-hez • Törtértékű optimális megoldást ad, ami rosszabb, mint az eddig feljegyzett legjobb egészértékű megoldás  nem foglalkozik a részfeladattal tovább, mert ennek bármely egészértékű megoldása még a törtértékűnél is rosszabb lenne • Nincs megengedett megoldása  nem foglalkozik a részfeladattal tovább 4. Visszatér a következő felsőbb szintű részfeladathoz, ha nincs több, akkor VÉGE Értékelése: +: Lehetővé teszi az ILP feladat megoldását a lehetséges LP részfeladatok kis részének megoldásával, ezért minden szoftver ezt használja -: A számolásigény erősen függ attól, mely tört értékű változó szerint kezd bontani, de ennek optimalizálására nincs egzakt módszer

  7. Az előadás tartalma Egészértékű programozás • A korlátozás-szétválasztás algoritmusa Nemlineáris programozás • A nemlineáris modellek megoldásának bonyolultsága • Nemlineáris modellek linearizálása • Szakaszonként lineáris függvények linearizálása • Egyszerű nemlináris függvények linearizálása • HA-AKKOR szabályok kezelése lineáris modellben • Logikai kapcsolatok leírása bináris változókkal • Bonyolultabb nemlineáris célfüggvények linearizálása • Hiperbolikus programozás • Befektetési alap kezelési probléma • Dinamikus programozás Szakirodalom

  8. y y x x Nemlineáris Programozás • Nemlineáris programozás (Nonlinear Programming, NLP) esetén a célfüggvény vagy a feltételek linearitása nem teljesül Az NLP modell megoldásának a nehézségét a következők határozzák meg: • A célfüggvény és a feltételek konkavitása/konvexitása: • Konvex (Convex) egy függvény, ha a függvényfelület bármely két pontját összekötő szakasz a függvényfelületen vagy felette helyezkedik el • Konkáv (Concave), ha alatta • Ha egyik sem igaz a függvény teljes értelmezési tartományán, akkor az sem konkáv sem konvex (pl. y = x3, stb.) • A szélsőérték fajtája konvex feltételrendszernél: • Konvex célfüggvénynek csak egy globális minimuma lehet, de sok lokális maximuma • Konkáv célfüggvénynek csak egy globális maximuma lehet, de sok lokális minimuma • Konkáv feltételrendszer esetén több lokális szélsőérték lehetséges bármely célfüggvénynél • A lokális szélsőértékek nehezítik a megoldást, mert az algoritmusok „beléjük ragadhatnak” Maximalizálás Minimalizálás Konvex célfüggvény Konkáv célfüggvény • A legnehezebben megoldható általános NLP modelleknél a célfüggvény vagy a feltételek sem konvexek sem konkávak

  9. Szakaszonként lineáris függvények kezelése 1 Könnyen kezelhető esetek: • Szakaszonként lineáris konvex összefüggés minimalizálása (pl. L túlóra emelkedő költségei: c1≤ c2≤ c3) • Plussz változók bevezetése: L felbontása L1+L2+L3 szakasz változókra • Szakasz-határ korlátok bevezetése: L1’, L2’, L3’ c1L1 + c2L2 + c3L3 = z → Min (25.1) L1 ≤ L1’ (25.2) L2 ≤ L2’ - L1’ (25.3) L3 ≤ L3’ - L2’ (25.4) L1 + L2 + L3 - L = 0 (25.5) L1, L2, L3, L≥0 (25.6) • Szakaszonként lineáris konkáv összefüggés maximalizálása (pl. Q értékesítés mennyiségi árengedménnyel: p1≥p2≥p3) • Plussz változók bevezetése: Q felbontása Q1+Q2+Q3 szakasz változókra • Szakasz-határ korlátok bevezetése: Q1’, Q2’, Q3’ p1Q1 + p2Q2 + p3Q3 = z → Max (25.7) Q1 ≤ Q1’ (25.8) Q2 ≤ Q2’ - Q1’ (25.9) Q3 ≤ Q3’ - Q2’ (25.10) Q1 + Q2 + Q3 - Q = 0 (25.11) Q1, Q2, Q3, Q≥0 (25.12)

  10. Szakaszonként lineáris függvények kezelése 2 Nehezen kezelhető esetek: Szakaszonként lineáris konvex függvény maximalizálása, konkáv minimalizálása, nem konkáv/konvex függvény kezelése (pl. sin(y), cos(y) közelítése): • Kiszámítjuk az f(d0),..f(d4) függvényérték pontokat d0,..d4 tetszőleges osztópontokban • Az eredeti y változót az osztópontok l0,..l4≥0 nemnegatív súly változókkal súlyozott összegeként írjuk fel: d0l0 + d1l1 + d2l2 + d3l3 + d4l4 – y = 0 (25.13) • Az függvényértéket a függvényérték pontok hasonlóan súlyozott összegeként írjuk fel: f(d0)l0 + f(d1)l1 + f(d2)l2 + f(d3)l3 + f(d4)l4 (25.14) • Hogy ne kelljen a súlyok összegével osztani, legyen az összegük 1: l0 + l1 + l2 + l3 + l4 = 1 (25.15) • Hogy a súlyok CSAK a szomszédos függvénypontok közti szakaszokat ábrázolhassák, egyszerre csak két szomszédos súly kaphat nem 0 értéket • Ezt úgy érjük el, hogy az x1,..x4 є {0,1} szomszédságot ábrázoló bináris változókat teszünk a súlyok felső korlátjává. Mivel a közbülső súlyoknak két szomszédja is lehet, ezért ezeknél két szomszédsági változó összege lesz a korlát: 0x1 (25.16)- egy szomszédja van 1x1+x2 (25.17)- két szomszédja van 2x2+x3 (25.18)- két szomszédja van 3x3+x4 (25.19)- két szomszédja van 4x4 (25.20)- egy szomszédja van • Egyszerre csak egy szomszédság „működhet”, ezért a szomsédság jelölő változók összege legyen 1: x1 +x2 +x3 + x4 = 1 (25.21)

  11. Az előadás tartalma Egészértékű programozás • A korlátozás-szétválasztás algoritmusa Nemlineáris programozás • A nemlineáris modellek megoldásának bonyolultsága • Nemlineáris modellek linearizálása • Szakaszonként lineáris függvények linearizálása • Egyszerű nemlináris függvények linearizálása • HA-AKKOR szabályok kezelése lineáris modellben • Logikai kapcsolatok leírása bináris változókkal • Bonyolultabb nemlineáris célfüggvények linearizálása • Hiperbolikus programozás • Befektetési alap kezelési probléma • Dinamikus programozás Szakirodalom

  12. Egyszerű nemlineáris függvények linearizálása Bináris változók segítségével az egyszerűbb nemlineáris függvények is linearizálhatók:

  13. HA-AKKOR szabályok kezelése lineáris modellben • A mindennapi életben gyakoriak a HA-AKKOR szabályok, emelyek általában nemlineáris modellhez vezetnek, ezeket bináris változókkal linearizáljuk: 1. HA-AKKOR szabály a célfüggvényben: Pl. A termelés fix költségei: Ha egy termék y termelése 0, akkor 0 költség merül fel, de ahhoz, hogy a termékből bármennyit tudjunk termelni, jelentős f fix költségre van szükség (termékfejlesztés, a gyártó gépsor költsége, stb.) c változó költség mellett: c×y + f×x = z  miny ≤ 9999999×xx є {0,1} – nem termelés/termelésváltozó 2. HA-AKKOR szabály döntési változó értékhatárában: Pl. Minimális termelési sorozatnagyság: egy termék y termelése vagy 0, vagy, legalább d sorozatnagyságot el kell érjen, különben a fejlesztés költségei nem térülnek meg (pl. az Airbus A380 super jumbó 10Md USD fejlesztési költsége legalább 350db termelése esetén térül meg): d – 9999999 + 9999999×x ≤ yy ≤ 9999999×xx є {0,1} – nem termel/termel 3. HA-AKKOR szabály korlátozó feltételben: Pl. Adójog:1996/9.86. „100 fő alatti foglalkoztatási létszámú (F) vállalkozás maximum 5 vállalati autó költségét számolhatja el (A), 100-as létszám felett maximum 10-et.„ A10 + 9999999×x1 A5 + 9999999×x2 F100 – 100×x1 F100 + 9999999×x2 x1 + x2 =1 x1, x2 є {0,1} - feltételt ki/be kapcsoló változók, köz- tük NOT logikai kapcsolat van: ha az egyik bekapcsol egy konvex feltétel-részhalmazt, a másik kikapcsolja a saját konvex feltétel-részhalmazát, így mindig csak konvex feltételek jelennek meg a modellben!

  14. Logikai kapcsolatok leírása bináris változókkal • Bináris változók segítségével bármilyen logikai kapcsolatot megjeleníthetünk linearizálható módon (pl. Csak egyben, nem osztható módon megvalósítható, egymáshoz kapcsolódó befektetések költségének modellezésénél)

  15. Az előadás tartalma Egészértékű programozás • A korlátozás-szétválasztás algoritmusa Nemlineáris programozás • A nemlineáris modellek megoldásának bonyolultsága • Nemlineáris modellek linearizálása • Szakaszonként lineáris függvények linearizálása • Egyszerű nemlináris függvények linearizálása • HA-AKKOR szabályok kezelése lineáris modellben • Logikai kapcsolatok leírása bináris változókkal • Bonyolultabb nemlineáris célfüggvények linearizálása • Hiperbolikus programozás • Befektetési alap kezelési probléma • Dinamikus programozás Szakirodalom

  16. p x2 z (q,r) c x1 Bonyolultabb nemlineáris célfüggvények linearizálása 2 Hiperbolikus célfüggvény (Hyperbolic Programming, HP): pl. i = 1..n termékek xi termeléseinek Scixi összköltségre jutó Spixi összbevételét akarjuk maximalizálni (termelés profitabilitásának maximalizálása)  a célfüggvény egy tört lesz: (25.30) • Alapfeltételezések: a nevező pozitív, a kapcsolódó feltételrendszer lineáris, konvex: c1x1 + c2x2 + r >0a1x1 + a2x2≤ b (25.31) • Linearizáció: mikor nem számít a célfüggvényt nem lineárissá tévő osztás? • Ha pontosan 1-el osztunk. Legyen u≥0 egy változó, amivel a nevezőt megszorozva az értéke pontosan 1 lesz (ez implicite kizárja u = 0-át is): c1x1u + c2x2u + ru = 1 (25.32) • Hogy a z célfüggvény ne változzon,u-val végigszorozzuk a számlálót is: p1x1u + p2x2u + qu= z Max (25.33) • Ugyanezt megtehetjük a feltételeknél is, anélkül, hogy az értelmük megváltozna: a1x1u + a2x2u≤ bu (25.34) • Az eredeti xi i = 1..n változók u-val alkotott szorzatát lecseréljük yi = xi × u, i = 1..n változókra: p1y1 + p2y2 + qu= z Max (25.35) c1y1 + c2y2 + ru = 1 (25.36) a1y1 + a2y2 - bu≤ 0 (25.37) y1,y2, u≥0 (25.38) • Megoldjuk a lineáris modellt, hogy megkapjuk az (yi* i = 1..n, u*) optimális megoldást. Majd u*-gal történő osztással megkapjuk az eredeti változók szerinti optimális megoldást: xi* = yi* / u*, i = 1..n (25.39)

  17. Bonyolultabb nemlineáris célfüggvények linearizálása 3 • Az exponenciális-, haranggörbe-, bevételi görbe-, logisztikus függvények linearizálását már tárgyaltuk a Session15 -ben. Lássunk ezek használatára egy példát: 25.1. PÉLDA: Befektetési alap kezelési modell (Found Management Model): • Egy befektetési alapkezelő k nagyú tőkét kamatoztat t = 1..T időperióduson keresztül i = 1..n befektetési lehetőségben, amelyek éves szintű reálkamatlábai ri, si időperiódusoktól kezdve elérhetőek, lejárati időtartamuk di (ha a lejárati időt megszakítjuk, elvesztjük a kamatokat). • Mely befektetési lehetőségeket válasszuk (bi{0,1}), hogy a T időperióduson keresztül elérhető z jövőbeli érték maximális legyen? • Az ilyen modelleknél rendkívül hasznos, ha minden t kamatperiódusú (pl. t=1 éves, t=12 havi) rt reálkamatlábat átváltunk ffolytonos kamatlábra (Continuos Interest Rate), amely egy valóságban sohasem létező, fiktív kamatláb: az eredeti befektetéssel egyenértékű olyan befektetés kamatlába, amely végtelenül rövid lejárati idejű és azonnal újrabefektethető: f = t × ln(1 + rt/t) (25.40) • Így a modellben nem kell folyton átváltogatnunk a különböző kamatperiódusú kamatlábakat egymásba, és egy t időperiódusnyi lejáratú befektetés z jövőbeli értéke rendkívül egyszerűen, jól linearizálhatóan számolható: z = k × eft (25.41) • Ha szükséges, az f folytonos kamatláb bármikor visszaváltható adott kamatperiódusú rt reálkamatlábba: rt = t × (ef/t - 1) (25.42)

  18. Bonyolultabb nemlineáris célfüggvények linearizálása 4 Célfüggvény: k × e(Sifidibi) = z  Max /Maximális jövőbeli érték (25.43) Subject to bi{0,1}, i = 1..n /Bináris befektetési változók (25.44) bi + bj≤ 1, i,j = 1..n| ((si≤sj)AND(sj≤si+di))OR((sj≤si)AND(si≤sj+dj)) /Nem valósulhat meg egyszerre két beruházás, amelyek lejárati intervallumai átfedik egymást (25.45) • A modell célfüggvénye nemlineáris, de rendkívül egyszerűen log-linearizálható egy ekvivalens lineáris célfüggvénybe: ln(k) + Sifidibi = ln(z)  Max /Max. jövőbeli érték logaritmusa (25.46) • A fentiekből láthattuk, hogy a lineáris programozásban nem a linearitás jelenti a fő gondot, mert szinte mindent linearizálni lehet • Azonban, minél bonyolultabb egy linearizálás, annál inkább megtöbbszörözi a feltételek és a (gyakran egészértékű) változók számát a modellben • 30-40 változós nemlineáris problémákból simán létrejöhetnek több 10000 változós, jelentős részben egészértékű modellek, ami olyan óriási számolásigényt jelent, ami – mégha szuperszámítógépi kapacitás és idő birtokában megoldható is – gazdaságtalanná teszi a probléma megoldását • De van egy trükk, ami jelentősen csökkentheti a modellek méretét, és további linearizálási lehetőséget jelent:

  19. Dinamikus programozás 1 A dinamikus programozás (Dynamic Programming, DP) olyan modellek optimalizálásával foglalkozik, amelyeknél • a döntési változók és a korlátozó feltételek azonos szerkezetű csoportjai minden egymást követő időperiódusban megjelennek • az időperiódusok láncszerűen hatnak egymásra: az előző periódus eredményei a következő periódus bemenetei lesznek • A modellt egy időbeli ablakban (Time Window) írjuk fel • Lássunk erre egy példát: 25.2 PÉLDA: A Kobe-i kikötőöbölben található a világ leghosszabb kétpilléres függőhídja, erősen ciklonveszélyes területen. Az erős szél hatására a hídpálya lengésbe jön, és az aktuális terheléstől is függő, időben szinuszos hullámmozgást ír le. • A híd leszakadását egy automatika akadályozza meg, amely hatalmas hidraulikák segítségével periodikusan megfeszíti/ellazítja a híd tartókábeleit, csillapítva a hullámzást. Jelenítsük meg egy LP modellben korlátként a hullámmozgás at amplitúdóját t = 1..T időperiódusok és a w aktuális terhelés szerint (lásd a mellékelt függvényt), hogy a hidraulikák húzó/nyomó igénybevétele (h, n) tervezhető legyen!

  20. Dinamikus programozás 2 • Ha ezt a brutálisan nemlineáris, bonyolult függvényt az előzőekben mutatott szakaszonként lineáris felbontás módszerével szeretnénk megjeleníteni, folytonos súlyvátozók, szomszédsági változók és feltételek ezreire lenne szükség. • Ha azonban a modellt dinamikusan írjuk fel, aszerint, hogy bizonyos előző időperiódusok hogyan hatnak a következő időperiódusban, akkor: • Eleve változókat takaritunk meg, mert a függvényt nem a teljes időtartamban kell ábrázolni, hanem egy szűk időbeli ablakban • A Session15-ben az autoregressziós modelleknél tanultak alapján kihasz- nálhatjuk, hogy egy szinuszos hullám- zást időszeletek szintjén lineárisan is közelíteni lehet, ezért a feltétel megje- lenítése egyszerűsödik: at = +0.355×at-1 – 0.650×at-6, t = 7..T(25.47) a1 = -w, a2 = -w, a3 = -w (25.48) a4 = -w, a5 = -w, a6 = -w (25.49) h≤ at, n≥ - at, t = 1..T (25.50)

  21. Szakirodalom 1 Egészértékű programozás: • Gömöry algoritmus: http://www.inf.u-szeged.hu/~pluhar/oktatas/or2.pdf • Korlátozás és szétválasztás: www.oplab.sztaki.hu/szem_20050506.doc Nemlineáris programozás: • Kvadratikus programozás: www.oplab.sztaki.hu/szem_20050318.doc • Hiperbolikus programozás: www.freeweb.hu/szmulai/files/ elsoevf/gazdmat/gazdmattetel.doc • Dinamikus programozás: www.mimi.hu/informatika/programozas.html Lineáris programozás modell könyvtárak: • Gams Inc.: http://www.gams.com/modlib/libhtml/subindx.htm • Optimax Inc.: http://www.maximal-usa.com/ • Frontline Inc.: http://www.solver.com/sdkplatform.htm • Brunel: http://people.brunel.ac.uk/~mastjjb/jeb/or/lp.html Áttekintés az optimalizációs algoritmusokról szoftverekről: • http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/linearprog.html Ingyenes lineáris optimalizációs szoftverek: • Dream: http://sourceforge.net/projects/dr-ea-m • HQP: http://sourceforge.net/projects/hqp • OCC: http://sourceforge.net/projects/occ

  22. Szakirodalom 2 Kereskedelmi optimalizációs szoftverek: • Kiegészítések más rendszerekhez: • Matlab: nincs shareware http://www.mathworks.com/products/optimization/ • Önálló rendszerek: • Gams: max. 100000 változó/feltétel, GUI, 300 változóra/feltételre korlátozott időkorlát nélküli shareware:http://www.gams.com/ • LINDO Inc. LINGO: max. 100000 változó/feltétel, GUI, 300 változóra/feltétel korlátozott időkorlát nélküli shareware: http://www.lindo.com/cgi/frameset.cgi?leftdwnld.html;opsyslgof.html • Cplex: http://www.ilog.com/products/cplex/ • Gauss: http://www.aptech.com/ • Excel add-in solverek: • LINDO Inc. What’s Best: max. 100000 változó, 300 változóra korlátozott időkorlát nélküli shareware: http://www.lindo.com/cgi/frameset.cgi?leftdwnld.html;opsyswbf.html • Frontline Inc. Solver: max. 8000 változó, 30 napos shareware: http://www.solver.com/exceluse.htm#Premium%20Solver%20Platform

More Related