【发布时间】:2019-03-30 15:56:59
【问题描述】:
我正在制作一个 MIP,我试图通过 NEOS cplex (AMPL) 运行它。 每次我运行它时,我都会得到相同的错误代码,即使我试图找到并修复错误 我得到的错误是: “amplin,第 9 行(偏移量 93): 语法错误 上下文:>>> {\
我对 AMPL 还很陌生,所以我有点不确定错误代码的含义。 我的代码分为一个模型文件和一个数据文件,都写为 .txt 文件。我似乎无法找到错误。 型号:
# Parameters
param m;
param n;
param T;
param sigma{t in 1..T};
param capacity{j in 1..m};
param demand{i in 1..n};
param cost{i in 1..n, j in 1..m};
param holding;
param InInv{j in 1..m};
# Decision variables
var x{i in 1..n, j in 1..m} binary;
var Produced{j in 1..m, t in 1..T} integer <= capacity[j] >= 0;
var sold{j in 1..m, t in 1..T} integer >= 0;
var inventory{j in 1..m, t in 0..T} integer >= 0;
# Objective function
minimize TotalCost: sum{i in 1..n, j in 1..m} x[i,j]*cost[i,j] + sum{j in 1..m, t in 1..T}holding * inventory[j,t];
# Constraints
subject to BalanceInventory {j in 1..m, t in 1..T}:
Produced[j,t]+inventory[j,t-1]=sold[j,t]+inventory[j,t];
subject to SingleSourcing {i in 1..n}:
sum{j in 1..m} x[i,j] = 1;
subject to InitInv {j in 1..m}:
inventory[j,0]=InInv[j];
数据:
#Parameters
param m := 4;
param n := 30;
param T := 6;
param sigma := 1 0.125 2 0.125 3 0.25 4 0.125 5 0.125 6 0.25;
param capacity := 1 375 2 375 3 375 4 375;
param demand := 1 200 2 492 3 91 4 190 5 351 6 323 7 23 8 157 9 374 10 351 11 432 12 161 13 300 14 300 15 219 16 339 17 312 18 653 19 440 20 207 21 281 22 233 23 409 24 215 25 7 26 680 27 215 28 395 29 165 30 333;
param cost :
1 2 3 4 :=
1 6.97 3.47 1.73 4.34
2 9.67 3.05 2.78 6.89
3 4.01 4.33 7.2 8.67
4 3.97 5.33 4.75 4.47
5 5.91 5.98 3.6 2.42
6 9.49 6.14 1.67 3.28
7 6.03 3.60 7.53 9.83
8 6.12 6.13 3.57 2.17
9 2.48 7.22 6.9 5.66
10 8.41 3.41 1.11 5.07
11 2.34 5.47 6.32 8.08
12 6.97 5.22 2.15 2.59
13 4.51 3.43 6.32 8.08
14 8.63 8.46 4.63 0.69
15 3.57 4.06 6.01 7.18
16 8.05 4.06 8.48 11.35
17 10.36 5.38 1.77 5.19
18 0.89 8.38 9.5 8.87
19 7.04 1.11 5.39 8.4
20 0.99 6.88 8.33 8.28
21 0.59 7.22 8.49 8.24
22 7 1.34 3.36 6.48
23 2.88 5.28 7.59 8.5
24 8.32 0.73 4.4 8.01
25 6.85 1.41 3.4 6.43
26 4.09 7.19 5.88 4.06
27 8.48 1.38 3.5 7.26
28 1.02 8.47 9.05 8.03
29 6.14 2.39 6.3 8.83
30 9.07 6.23 1.83 2.7;
param holding := 1;
param InInv := 1 0 2 0 3 0 4 0;
因此,如果有人可以帮助我引导我解决错误,以便我可以修复它,我将不胜感激。
真诚的,一个绝望的新程序员。
【问题讨论】:
-
听起来你的代码不是纯文本,而是RTF。
标签: syntax-error ampl