2016-03-23 12 views
1

Ich modelliere eine Art von Zeitplanoptimierungsproblem in AMPL und benutze Gurobi für die Option Solver.AMPL Syntax Error - Größer als oder gleich Ausgabe

In diesem Problem habe ich eine Reihe von Zeitplänen von 1 bis 1000 deklariert, und nannte diese Menge "Schedules". Jeder Zeitplan ist als eine Art Layer (ein Parameter namens "Layer" wurde erstellt) mit einem Wert zwischen 1 und 4. Dies ist eine Art von Präferenz oder Mietvertrag der freien Tage, die dieser bestimmte Zeitplan hat.

Ich möchte mehrere Einschränkungen, die bestimmen, wie viele Zeitpläne jeder Präferenz verfügbar sind. Zum Beispiel möchte ich mindestens 170 der Zeitplan eine Präferenz Schicht von 1 haben, schrieb ich die folgende Zeile so zu tun:

subject to Preference1: sum {j in Schedules: layer[j]=1} >= L1Demand; 

Wo L1Demand auf 170 jedoch festgelegt ist, wenn ich die gehen schließen Modelldatei im ampl Fenster, bekomme ich folgende Fehlermeldung:

syntax error 

context: 

subject to Preference1: sum {j in Schedules: layer[j]=1} >>> >= <<< L1Demand; 

ich verstehe nicht, warum dies einen Syntaxfehler werfen. Ich vermisse etwas sehr Grundlegendes oder Offensichtliches, aber kann mir jemand sagen, warum das passieren würde? Vielen Dank.

Antwort

1

Sie sollten ein Argument für sum angeben, zum Beispiel:

sum {j in Schedules: layer[j]=1} x[j] 

wo x ist eine Variable über Schedules indiziert.

Verwandte Themen