AMPL

Från testwiki
Version från den 19 april 2022 kl. 04.21 av imported>Bruno Rosta
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

AMPL, "A Mathematical Programming Language", är ett matematiskt modelleringsspråk för att ställa upp LP- och ILP-problem utvecklat vid Bell Labs. Språket är ganska likt den matematiska notation som används för optimeringsproblem och är därmed ganska enkelt att använda. För att lösa problemet anropas externa komplexa lösare för att få ett resultat.

Exempel

LP-problemet att maximera

z=5x1+6x2+2x3

under bivillkoren

3x1+2x2+x345
2x1+x2+2x330
3x13x2+4x345

och x1,x2,x30 kan i AMPL skrivas som (# markerar kommentarer):

#Variabeldefinition:
var x{1 .. 3} >= 0;

#Målfunktionsdefinition:
maximize z: 5*x[1] + 6*x[2] + 2*x[3];

#Bivillkor:
subject to biv1: 3*x[1] + 2*x[2] +   x[3] <= 45;
subject to biv2: 2*x[1] +   x[2] + 2*x[3] <= 30;
subject to biv3: 3*x[1] - 3*x[2] + 4*x[3] <= 45;