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.

[redigera] Exempel

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;
Personliga verktyg
Namnrymder

Varianter
Åtgärder
Navigering
Skriv ut/exportera
Verktygslåda
På andra språk