Systém obecného algebraického modelování - General Algebraic Modeling System
Vývojáři | GAMS Development Corporation |
---|---|
Stabilní uvolnění | 33.1.0 / 1. listopadu 2020 |
Plošina | Cross-platform |
Typ | Algebraic Modeling Language (AML) |
Licence | Proprietární |
webová stránka | www |
The Systém obecného algebraického modelování (HRY) je na vysoké úrovni modelování systém pro matematická optimalizace. GAMS je určen pro modelování a řešení lineární, nelineární, a smíšená celá čísla optimalizace problémy. Systém je šitý na míru složitým rozsáhlým modelovacím aplikacím a umožňuje uživateli vytvářet velké udržovatelné modely, které lze přizpůsobit novým situacím. Systém je k dispozici pro použití na různých počítačových platformách. Modely jsou přenosný z jedné platformy na druhou.
GAMS byla první jazyk algebraického modelování (AML)[1] a je formálně podobný běžně používanému programovací jazyky čtvrté generace. GAMS obsahuje integrované vývojové prostředí (IDE) a je připojen ke skupině optimalizace třetích stran řešitelé. Mezi těmito řešitelé jsou BARON, COIN-OR řešitelé, CONOPT, CPLEX, DICOPT, Gurobi, MOSEK, SNOPT, SULUM a XPRESS.
GAMS umožňuje uživatelům implementovat jakési hybridní algoritmus kombinace různých řešitelů. Modely jsou popsány ve stručných algebraických výrokech čitelných člověkem. GAMS patří mezi nejoblíbenější vstupní formáty pro Server NEOS.[Citace je zapotřebí ] Ačkoli původně navržen pro aplikace související s ekonomika a věda o řízení, má komunitu uživatelů z různých prostředí inženýrství a Věda.
Časová osa
- Myšlenka GAMS z roku 1976 je představena na Mezinárodním sympoziu o matematickém programování (ISMP) v Budapešti[2]
- Fáze I 1978: GAMS podporuje lineární programování. Podporované platformy: Mainframes a Unix Workstations
- 1979 Fáze II: GAMS podporuje nelineární programování.
- 1987 GAMS se stává komerčním produktem
- 1988 První počítačový systém (16 bitů)
- 1988 Alex Meeraus, iniciátor GAMS a zakladatel společnosti GAMS Development Corporation, je oceněn INFORMS Computing Society Cena
- 1990 32 bit Dos Extender
- 1990 GAMS se stěhuje do Georgetown, Washington, D.C.
- Možnost nelineárních programů pro smíšené celé číslo 1991 (DICOPT)
- 1994 podporuje GAMS smíšené problémy s doplňkovostí
- Pro modelování CGE byl přidán jazyk 1995 MPSGE
- 1996 se otevírá evropská pobočka v Německu
- 1998 32bitový nativní Windows
- 1998 Stochastické programování schopnost (OSL / SE, DECIS)
- 1999 Představení GAMS Integrované vývojové prostředí (IDE)
- 2000 Konec podpory pro DOS & Win 3.11
- 2000 GAMS World iniciativa začala
- 2001 Je zavedena výměna dat GAMS (GDX)
- 2002 GAMS je uveden v seznamu milníků OR / MS 50. výročí
- 2003 Kónické programování je přidáno
- 2003 Globální optimalizace v GAMS
- 2004 Začíná iniciativa zajišťování kvality
- 2004 Podpora programů Kvadratické vazby
- Podpora pro 64bitové operační systémy pro PC z roku 2005 (Mac PowerPC / Linux / Win)
- 2006 GAMS podporuje paralelně grid computing
- 2007 GAMS podporuje open-source řešitelé z COIN-OR
- 2007 Podpora pro Solaris na Sparc64
- 2008 Podpora pro 32 a 64 bit Mac OS X
- GAMS 2009 dostupné na Amazon Elastic Compute Cloud
- GAMS 2009 podporuje rozšířené matematické programy (EMP )
- 2010 GAMS je oceněn ocenění společnosti Německé společnosti pro operační výzkum (GOR)
- 2010 GDXMRW rozhraní mezi GAMS a Matlab
- 2010 Konec podpory pro Mac PowerPC / Dec Alpha / SGI IRIX / HP-9000 / HP-UX
- 2011 Podpora pro Knihovny vnějších funkcí
- 2011 Konec podpory pro Win95 / 98 / ME a Win2000
- 2012 Vítězi ceny INFORMS Impact Prize 2012 se stal Alexander Meeraus. Cena byla udělena původcům pěti nejdůležitějších algebraických modelovacích jazyků [1].
- 2012 Představení Objektově orientované API pro .NET, Javu a Python
- 2012 Vítězové roku 2012 Mince NEBO pohár zahrnuty Michael Bussieck, Steven Dirkse a Stefan Vigerske pro GAMSlinks
- 2012 Konec podpory 32bitové verze v systému Mac OS X
- 2013 Podpora distribuovaného MIP (Cplex / Gurobi)
- 2013 Stochastické programovací rozšíření GAMS EMP
- 2013 GDXRRW rozhraní mezi GAMS a R.
- 2014 Místní řešič vyhledávání LocalSolver přidán do portfolia řešitelů
- 2014 Konec podpory pro 32bitový Linux a 32bitový Solaris
- Dokumentace LaTeX 2015 ze zdroje GAMS (Model2TeX )
- 2015 Konec podpory pro Windows XP
- 2016 Nový řídící tým
- 2017 Zařízení EmbeddedCode
- 2017 C ++ API
- 2017 Představení platforem „Core“ a „Peripheral“
- 2018 GAMS Studio (Beta)
- 2018 Konec podpory pro x86-64 Solaris
- 2019 GAMS MIRO - Modelové rozhraní s Rapid Orchestration (Beta)
- 2019 Konec podpory pro Win7, přesunuto 32 bit Windows na periferní platformy
- 2019 Změněno schéma verzí na XX.Y.Z
- 2020 Zavedení demo a komunitního licenčního schématu
- 2020 Oficiální vydání GAMS MIRO (Model Interface with Rapid Orchestration) pro nasazení modelů GAMS jako interaktivních aplikací
Pozadí
Hnací silou vývoje GAMS byli uživatelé matematické programování kdo věřil v optimalizace jako silný a elegantní rámec pro řešení skutečných problémů ve vědě a inženýrství. Tito uživatelé byli současně frustrováni vysokými náklady, požadavky na dovednosti a celkově nízkou spolehlivostí používání optimalizačních nástrojů. Většina iniciativ systému a podpora nového vývoje vznikla v reakci na problémy v oblastech ekonomika, finance, a chemické inženýrství, protože tyto disciplíny vnímají a chápou svět jako matematický program.
Impulz pro rozvoj společnosti GAMS vzešel z frustrující zkušenosti velké skupiny ekonomického modelování v USA Světová banka. Při zpětném pohledu lze označit za historickou nehodu, že v 70. letech 20. století se k řešení problémů rozvoje shromáždili matematičtí ekonomové a statistici. K řešení víceodvětvových modelů pro celou ekonomiku a velkých simulačních a optimalizačních modelů v zemědělství, ocelářství, hnojivech, energetice, využívání vody a dalších odvětvích využili nejlepší dostupné techniky v té době. Ačkoli skupina vytvořila působivý výzkum, počáteční úspěch bylo obtížné reprodukovat mimo dobře fungující výzkumné prostředí. Stávající techniky pro konstrukci, manipulaci a řešení takových modelů vyžadovaly několik manuálních, časově náročných a náchylných k chybám překladů do různých reprezentací specifických pro daný problém vyžadovaných každou metodou řešení. Během prezentací na seminářích museli modeláři hájit stávající verze svých modelů, někdy docela iracionálně, kvůli času a peníze úvahy. Jejich modely prostě nebylo možné přesunout do jiných prostředí, protože byly potřeba speciální znalosti programování a datové formáty a metody řešení nebyly přenosné.
Myšlenka algebraického přístupu k reprezentaci, manipulaci a řešení rozsáhlých matematických modelů spojila staré a nové paradigmata do konzistentní a výpočetně využitelný systém. Použitím generátorové matice pro lineární programy odhalil význam konzistentního pojmenování řádků a sloupců. Spojení s nově vznikajícím relačním datovým modelem bylo evidentní. Zkušenosti s používáním tradičních programovací jazyky ke správě těchto jmenných prostorů přirozeně vede člověka k přemýšlení ve smyslu sady a n-tice, a to vedlo k modelu relačních dat.
Zjevnou odpovědí byla kombinace vícerozměrné algebraické notace s relačním datovým modelem. Techniky psaní překladačů již byly velmi rozšířené a jazyky jako GAMS mohly být implementovány relativně rychle. Překlad této přísné matematické reprezentace do formátu specifického pro algoritmus však vyžadoval výpočet částečné derivace na velmi velkých systémech. V 70. letech TRW vyvinul systém s názvem PRÓZA která vzala myšlenky chemických inženýrů k výpočtu přesných derivací bodů deriváty v daném bodě a začlenit je do konzistentního kalkulu ve stylu Fortran modelovací jazyk. Výsledný systém umožňoval uživateli používat automaticky generované přesné deriváty prvního a druhého řádu. Jednalo se o průkopnický systém a důležitou ukázku koncepce. Nicméně, PRÓZA měl řadu nedostatků: nemohl zvládnout velké systémy, reprezentace problému byla svázána s datovou strukturou typu pole, která vyžadovala výpočty adres, a systém neposkytoval přístup k nejmodernějším metodám řešení. Z lineárního programování se GAMS dozvěděl, že využití řídkost byl klíčem k řešení velkých problémů. Posledním kouskem skládačky tedy bylo použití řídkých datových struktur.
Ukázkový model
Problém s přepravou z George Dantzig slouží k poskytnutí ukázkového modelu GAMS.[3] Tento model je součástí knihovny modelů, která obsahuje mnohem více kompletních modelů GAMS. Tento problém nalezne harmonogram přepravy s nejnižšími náklady, který splňuje požadavky na trzích a zásoby v továrnách.
Dantzig, G B, kapitola 3.3. In Lineární programování a rozšíření. Princeton University Press, Princeton, New Jersey, 1963.
Soupravy i konzervárenské závody / Seattle, San-Diego / J trhy / New-York, Chicago, Topeka /; Parametry a (i) kapacita závodu i v případech / Seattle 350 san-diego 600 / b (j) poptávka na trhu j v případech / new-york 325 Chicago 300 topeka 275 /; Tabulka d (i, j) vzdálenost v tisících mil newyorský Chicago topeka seattle 2,5 1,7 1,8 san-diego 2,5 1,8 1,4; Skalární náklad v dolarech na případ na tisíc mil / 90 /; Parametr c (i, j) náklady na dopravu v tisících dolarů za případ; c (i, j) = f * d (i, j) / 1000; Proměnné x (i, j) množství zásilky v případech z celkové náklady na dopravu v tisících dolarů; Kladná proměnná x; Náklady rovnic definují objektivní funkci nabídky (i) sledují limit nabídky na poptávce zařízení i (j) uspokojují poptávku na trhu j; náklady .. z = e = součet ((i, j), c (i, j) * x (i, j)); nabídka (i) .. součet (j, x (i, j)) = l = a (i); poptávka (j) .. součet (i, x (i, j)) = g = b (j); Model transport / all /; Vyřešte transport pomocí lp minimalizování z; Zobrazit x.l, x.m;
Subsystémy
Matematický programovací systém pro analýzu obecné rovnováhy (MPSGE) je jazyk používaný pro formulování a řešení Šipka – Debreu modely ekonomické rovnováhy a existuje jako subsystém v rámci GAMS.[4]
Viz také
- Rozšířené matematické programování (EMP) - rozšíření matematických programovacích jazyků dostupných v rámci GAMS
- GNU MathProg - open-source matematický programovací jazyk založený na AMPL
Reference
- ^ Kallrath, Josef (2004). Modelování jazyků v matematické optimalizaci (První vydání). Norwell, USA: Kluer Academic Publishers. p. 241. ISBN 978-1-4613-7945-4.
- ^ Směrem k obecnému systému algebraického modelování (PDF). IX. Mezinárodní symposium o matematickém programování. Budapešť, Maďarsko. 1976. s. 185.
- ^ RE Rosenthal (1988). „Kapitola 2: Výukový program GAMS“. GAMS: Uživatelská příručka. Scientific Press, Redwood City, Kalifornie.
- ^ Rutherford, T. F. (1999). "Applied General Equilibrium Modeling with MPSGE as a GAMS Subsystem: An Overview of the Modeling Framework and Syntax". Výpočetní ekonomie. 14: 1–4. doi:10.1023 / A: 1008655831209.