6

我遇到了 AMPL 的问题。我正在使用 32 位版本的 Linux 操作系统。我正在尝试解决一个简单的线性编程问题,但我不明白出了什么问题……这里还有模型、数据文件和会话脚本。命令“solve”的答案是:找不到“minos”。但是求解器目前在我的文件夹中!更改求解器无济于事。有什么建议么?

问题模型:

param n;
param t;
param p{i in 1..n};
param r{i in 1..n};
param m{i in 1..n};
#Declaration of variables
var x {i in 1..n} >=0;
#Objective Function
maximize revenues: sum {i in 1..n} p[i]*x[i] ;
#Constraints
subject to Aval_Time: sum{i in 1..n} x[i]/r[i]<=t;
subject to Max_Flavor {i in 1..n}: x[i]<=m[i];

问题数据:

param n := 4;# No of Flavors
param t := 40; # Total labor hour in a week
param p := 1 1 2 1.5 3 1 4 1.5; # Revenue per package flavor i
param r := 1 40 2 30 3 50 4 20; # Production rate of package flavor i
param m := 1 1000 2 900 3 500 4 800; # Maximum demand package flavor i

AMPL 会议:

reset;
model example2.mod;
data example2.dat;
solve;
display x;

系统回复:

找不到“米诺斯”

4

3 回答 3

5

错误消息试图告诉您求解器丢失。AMPL 不能解决您的问题,它只是将您的模型转换为适合求解器的形式,然后将其传递给求解器,实际的解决方案由求解器完成。那是关于错误信息。

你需要一个求解器来解决这个问题。下载并提取 minos 求解器。使其可执行:在 Bash shell(不是AMPL shell)中发出以下命令:

chmod +x minos

solve;在发出命令之前,您还必须告诉 AMPL 求解器在哪里。在求解命令之前,在 AMPL shell 或模型文件中发出此命令:

option solver "/path/to/minos";

/path/to/minos根据安装更改的位置。

就这样。

于 2013-03-16T19:10:42.153 回答
5

在 Unix 和类 Unix 操作系统(如 Linux)上,当前目录通常不在搜索路径上。您有以下选择:

  • 在命令option solver './minos';之前使用。solve
  • 与上面类似,但使用 Ali 建议的 minos 的绝对路径。
  • 将 AMPL 目录的路径添加到PATH环境变量中。
  • 复制(或创建符号链接)minos到搜索路径上的某个目录,例如/usr/local/bin
于 2013-03-17T15:24:39.890 回答
2

很抱歉我的回复延迟。通过执行以下命令解决了问题

option solver "./minos";

在带有 AMPL 的文件夹中。谢谢。

于 2013-04-14T12:20:31.413 回答