AMPL

Från Wikipedia
Hoppa till: navigering, 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[redigera | redigera wikitext]

LP-problemet att maximera

z = 5x_1 + 6x_2 + 2x_3\,

under bivillkoren

3x_1 + 2x_2 +  x_3 \leq 45
2x_1 +  x_2 + 2x_3 \leq 30
3x_1 - 3x_2 + 4x_3 \leq 45

och x_1, x_2, x_3 \geq 0 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;