https://de.wikipedia.org/w/api.php?action=feedcontributions&feedformat=atom&user=StitchProgrammingWikipedia - Benutzerbeiträge [de]2025-07-01T20:44:56ZBenutzerbeiträgeMediaWiki 1.45.0-wmf.7https://de.wikipedia.org/w/index.php?title=AMPL&diff=85065122AMPL2011-02-09T14:20:47Z<p>StitchProgramming: /* Siehe auch */</p>
<hr />
<div>'''AMPL''', kurz für „'''A''' '''M'''athematical '''P'''rogramming '''L'''anguage“, ist eine mathematische Modellierungssprache, die von [[Robert Fourer]], [[David Gay]] und [[Brian Kernighan]] an den [[Bell Laboratories]] entwickelt wurde. Sie erlaubt die Formulierung mathematischer Modelle in abstrakter, der algebraischen Notation naher Form. <br />
Mit AMPL können viele Optimierungsprobleme formuliert werden. <br />
Da AMPL diese Probleme nicht direkt löst, sondern in eine Form übersetzt, die ein [[Optimierungsalgorithmus]] versteht, benötigt AMPL passende Optimierer, um funktionieren zu können. <br />
Genügend schwierige Probleme wie globale Optima, nichtlineare Mixed-Integer-Probleme usw. brauchen daher spezielle Löser.<br />
<br />
== Beispiel ==<br />
Es ist das folgende mathematische Modell gegeben:<br />
:Variablen:<br />
:*<math>x_1</math>: Anzahl von Produkt 1<br />
:*<math>x_2</math>: Anzahl von Produkt 2<br />
:Zielfunktion:<br />
:*Maximiere <math>z = 400x_1 + 50x_2</math><br />
:Nebenbedingungen:<br />
:*<math>0 \leq x_1 \leq 70</math> (Bereich von <math>x_1</math>)<br />
:*<math>0 \leq x_2 \leq 500</math> (Bereich von <math>x_2</math>)<br />
:*<math>25 x_1 + 10 x_2 \leq 5000</math> (Beschränkung für Ressource 1)<br />
:*<math>100 x_1 + 20 x_2 \leq 8000</math> (Beschränkung für Ressource 2)<br />
Eine äquivalente Formulierung in '''AMPL''' könnte so aussehen:<br />
<code><br />
# Variablen:<br />
var x1 integer;<br />
var x2 integer;<br />
<br />
# Zielfunktion:<br />
maximize z: 400*x1 + 50*x2;<br />
<br />
# Nebenbedingungen:<br />
subject to Bereich_x1: 0 <= x1 <= 70;<br />
subject to Bereich_x2: 0 <= x2 <= 500;<br />
subject to Ressource1: 25*x1 + 10*x2 <= 5000;<br />
subject to Ressource2: 100*x1 + 20*x2 <= 8000;<br />
<br />
#wenn man dieses Problem loesen will<br />
#braucht man nur noch <br />
solve;<br />
#der Maximierer wird mit <br />
display x1, x2; <br />
#angezeigt<br />
</code><br />
<br />
== Literatur ==<br />
<br />
* [[Robert Fourer]], [[David Gay]] und [[Brian Kernighan]]: ''AMPL: a modeling language for mathematical programming'', Duxbury Resource Center, ISBN 0-534-38809-4<br />
<br />
== Siehe auch ==<br />
* [[Aimms|AIMMS]]<br />
* [[General Algebraic Modeling System|GAMS]]<br />
* [[GLPK]] - Open Source-Alternative zum proprietären AMPL<br />
* [[MPL]]<br />
* [[OPL Studio]]<br />
* [[OptimJ]]<br />
<br />
== Weblinks ==<br />
* [http://www.ampl.com/ AMPL Homepage]<br />
* [http://www.uni-koeln.de/rrzk/software/fachuebergreifend/or/ampl-cplex_kurz.shtml AMPL Kurzreferenz]<br />
<br />
{{SORTIERUNG:Ampl}}<br />
[[Kategorie:Programmiersprache]]<br />
<br />
[[en:AMPL]]<br />
[[it:AMPL]]<br />
[[ru:AMPL (язык программирования)]]<br />
[[sv:AMPL]]</div>StitchProgramminghttps://de.wikipedia.org/w/index.php?title=General_Algebraic_Modeling_System&diff=85065054General Algebraic Modeling System2011-02-09T14:19:00Z<p>StitchProgramming: /* Siehe auch */</p>
<hr />
<div>{{Infobox_Software|<br />
Name= GAMS<br />
|Hersteller= [http://www.gams.com GAMS Development Corporation]<br />
|AktuelleVersion= 23.6.2<br />
|AktuelleVersionFreigabeDatum= 13. Dezember 2010<br />
|Betriebssystem= [[Plattformunabhängig]]<br />
|Kategorie= [[Algebraische Modellierungssprache]]<br />
|Lizenz= [[Proprietär]]<br />
|Website= [http://www.gams.com GAMS USA]<br> [http://www.gams.de GAMS Germany]<br />
}}<br />
<br />
Das '''G'''eneral '''A'''lgebraic '''M'''odeling '''S'''ystem ist eine algebraische Modellierungssprache für mathematische Optimierungsprobleme, deren Ursprünge in einem Forschungsprojekt der [[Weltbank]] liegen. Ab 1987 wird das System durch die GAMS Development Corp., USA weiterentwickelt und in Europa durch die GAMS Software GmbH vertrieben. <br />
<br />
Neben großen linearen bzw. ganzzahligen [[Optimierungsproblem]]en lassen sich mit algebraischen Modellierungssprachen wie GAMS oder [[AMPL]] auch andere Modellierungssprobleme, wie etwa quadratische, nichtlineare, gemischtganzzahlig nichtlineare, quadratische, stochastische oder globale Optimierungsprobleme grundsätzlich unabhängig von den verwendeten Algorithmen effizient formulieren und lösen. Die grundsätzliche Trennung der Ebenen <br />
* Problemrepräsentation und -lösung, <br />
* Modellierungsebene und Benutzeroberfläche, <br />
* Modellformulierung und Daten, <br />
* Modellformulierung und [[Betriebssystem]], <br />
sowie umfangreiche Modellbibliotheken stellen weitere Elemente von algebraischen Modellierungssprachen dar.<br />
<br />
Die Einsatzschwerpunkte des GAMS Systems liegen in den klassischen [[Operations Research]]-Bereichen. Daneben wird das System auch häufig für [[makroökonomische Fragestellungen]] etwa im Rahmen von [[Allgemeines Gleichgewichtsmodell|Gleichgewichtsmodellen]] verwendet.<br />
<br />
== Ein Modellbeispiel==<br />
<br />
Transportmodell von [[George Dantzig]]. Dieses Modell ist Teil der GAMS Modellbibliothek. In diesem Problem wird der Transportplan mit den niedrigsten Gesamtkosten gesucht, der sowohl die Marktbedingungen der Abnehmer also auch die der Produzenten erfüllt.<br />
<br />
[[Dantzig]], G B, Chapter 3.3. In Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey, 1963.<br />
<br />
Eine detaillierte (englischsprachige) Beschreibung der Formulierung findet man [http://www.gams.com/docs/example.htm hier].<br />
<br />
Sets<br />
i canning plants / seattle, san-diego /<br />
j markets / new-york, chicago, topeka / ;<br /><br />
Parameters<br /><br />
a(i) capacity of plant i in cases<br />
/ seattle 350<br />
san-diego 600 /<br /><br />
b(j) demand at market j in cases<br />
/ new-york 325<br />
chicago 300<br />
topeka 275 / ;<br /><br />
Table d(i,j) distance in thousands of miles<br />
new-york chicago topeka<br />
seattle 2.5 1.7 1.8<br />
san-diego 2.5 1.8 1.4 ;<br /><br />
Scalar f freight in dollars per case per thousand miles /90/ ;<br /><br />
Parameter c(i,j) transport cost in thousands of dollars per case ;<br /><br />
c(i,j) = f * d(i,j) / 1000 ;<br /><br />
Variables<br /><br />
x(i,j) shipment quantities in cases<br />
z total transportation costs in thousands of dollars ;<br /><br />
Positive Variable x ;<br /><br />
Equations<br /><br />
cost define objective function<br />
supply(i) observe supply limit at plant i<br />
demand(j) satisfy demand at market j ;<br /><br />
cost .. z =e= sum((i,j), c(i,j)*x(i,j)) ;<br /><br />
supply(i) .. sum(j, x(i,j)) =l= a(i) ;<br /><br />
demand(j) .. sum(i, x(i,j)) =g= b(j) ;<br /><br />
Model transport /all/ ;<br /><br />
Solve transport using lp minimizing z ;<br /><br />
Display x.l, x.m ;<br />
<br />
== Literatur ==<br />
* {{Literatur | Autor=Anthony Brooke, David Kendrick, Alexander Meeraus | Titel=Gams: A User's Guide | TitelErg=Tutorial by Rick Rosenthal | Verlag=GAMS Development Corporation | Ort=Washington, DC, USA | Jahr=2010 | Online=http://www.gams.com/dd/docs/bigdocs/GAMSUsersGuide.pdf}}<br />
<br />
== Siehe auch ==<br />
* [[Aimms|AIMMS]]<br />
* [[AMPL]]<br />
* [[MPL]]<br />
* [[OPL Studio]]<br />
* [[OptimJ]]<br />
<br />
== Weblinks ==<br />
* [http://www.gams.com/ GAMS Development Corp. ] (englisch)<br />
* [http://www.gams.de/ GAMS Software GmbH ]<br />
* [http://www.gamsworld.org/ GAMS World]<br />
* [http://support.gams-software.com/doku.php/ GAMS Support Wiki]<br />
* [http://www.listserv.dfn.de/archives/gams-l.html GAMS-Mailing List (GAMS-L)]<br />
<br />
[[Kategorie:Programmiersprache]]<br />
<br />
[[en:General Algebraic Modeling System]]<br />
[[fr:General algebraic modeling system]]</div>StitchProgramming