谁能帮助刚接触 AMPL 的人?

Can anyone help someone brand new to AMPL?

AMPL 的新手,完全不理解错误。我已经尝试删除变量定义并得到错误(未识别变量)所以无论如何这里是错误消息:

syntax error
context:  subject to  >>> 90  <<< * x1 + 120 * x2 + 106 * x3 + 97 * x4 + 130 * x5 + 180 * x6 >= 300;

这是我的代码

reset;

var x1 >=0;
var x2 >=1;
var x3 >=0;
var x4 >=0;
var x5 >=.5;
var x6 >=0;

minimize cost: 2 * x1 + 3.5 * x2 + 8 * x3 + 1.5 * x4 + 11 * x5 + x6;

subject to 90 * x1 + 120 * x2 + 106 * x3 + 97 * x4 + 130 * x5 + 180 * x6 >= 300;

subject to 4 * x1 + 8 * x2 + 7 * x3 + 1.3 * x4 + 8 * x5 + 9.2 * x6 >= 10;

subject to 15 * x1 + 11.7 * x2 + .4 * x3 + 22.6 * x4 + 17 * x6 >= 10;

subject to x1 + 5 * x2 + 9 * x3 + 0.1 * x4 + 7 * x5 + 7 * x6 >= 8;

您遇到了语法错误,因为您没有使用有效的语法来声明约束。更具体地说,您的约束缺少名称和冒号。所以,而不是

subject to 90 * x1 + 120 * x2 + 106 * x3 + 97 * x4 + 130 * x5 + 180 * x6 >= 300;

你应该写

subject to c1: 90 * x1 + 120 * x2 + 106 * x3 + 97 * x4 + 130 * x5 + 180 * x6 >= 300;

其中 c1 是您想为该约束指定的任何名称 --- 只是不要两次使用相同的名称。

您可以找到有关 AMPL 语法的更多信息 here