前边介绍 CPlex 、 Gurobi 、 Mosek ,都是优化求解工具。
介绍一个集成的软件,AMPL 操作更加方便。在 AMPL 中完成模型、数据构建后可以直接求解。调用不同的求解工具进行比较。
AMPL 基本界面
AMPL 界面.png- 左侧为文件,存放模型文件(
.mod
)、数据文件(.dat
) - 中间为执行界面控制台
- 右侧为编辑界面,可在此编辑模型和数据
AMPL 的基本语法
# 重制环境
ampl: reset;
# 选择模型文件
ampl: model transportation.mod;
# 选择数据文件
ampl: data transportation.dat;
# 求解
ampl: solve;
MINOS 5.51: optimal solution found.
13 iterations, objective 196200
ampl: option solver cplex;
ampl: sovle;
CPLEX 12.7.1.0: optimal solution; objective 196200
0 simplex iterations (0 in phase I)
# 显示目标函数值
ampl: display Total_Cost;
Total_Cost = 196200
# 显示结果
ampl: display Trans;
Trans [*,*] (tr)
: CLEV GARY PITT :=
DET 1200 0 0
FRA 0 0 900
FRE 0 1100 0
LAF 400 300 300
LAN 600 0 0
STL 0 0 1700
WIN 400 0 0
;
# 调用其他求解器
ampl: option solver gurobi;
ampl: solve;
Gurobi 7.5.0: optimal solution; objective 196200
ampl: option solver cplex;
ampl: solve;
CPLEX 12.7.1.0: optimal solution; objective 196200
0 simplex iterations (0 in phase I)