AMPL找不到"迷你"

Rom*_*dik 6 linux optimization linear-programming ampl

我遇到了AMPL的问题.我使用的是32位版本的Linux操作系统.我正在尝试解决一个简单的线性programmin问题,但我无法理解有什么问题......这里也是模型,数据文件和会话脚本.命令"解决"的答案是:找不到"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];
Run Code Online (Sandbox Code Playgroud)

问题数据:

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
Run Code Online (Sandbox Code Playgroud)

AMPL会议:

reset;
model example2.mod;
data example2.dat;
solve;
display x;
Run Code Online (Sandbox Code Playgroud)

系统答案:

找不到"迷你"

Ali*_*Ali 5

错误消息试图告诉您解算器丢失.AMPL无法解决您的问题,它只是将您的模型转换为适合求解器的形式,将其传递给求解器,实际解决方案由求解器完成.这是关于错误消息.

您需要一个解算器来解决此问题.下载并解压缩minos解算器.使其可执行:在Bash shell(而不是 AMPL shell)中发出以下命令:

chmod +x minos
Run Code Online (Sandbox Code Playgroud)

在发出solve;命令之前,您还告诉AMPL解算器的位置.在solve命令之前,在AMPL shell或模型文件中发出此命令:

option solver "/path/to/minos";
Run Code Online (Sandbox Code Playgroud)

/path/to/minos根据您的安装进行更改的位置.

就这样.


vit*_*aut 5

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

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