当前位置: 首页 > 工具软件 > GLPK > 使用案例 >

glpk/glpsol的基本使用方法

纪实
2023-12-01

在学linear programming时接触到了glpk
记录下详细用法
(计算机小白专用)

  1. 下载glpk
  2. 打开glpk : 打开command栏
    command + R ----> 输入cmd
  3. 前往glpsol.exe所在文件夹 复制路径
    在命令行里输入
    cd C:\winglpk-4.65\glpk-4.65\w32
  4. 继续输入
    glpsol -m test.mod -o test.sol

    glpsol --lp ‘test.lp’ -o ‘test.txt’
    这里test为文件名 .mod或.lp为输入文件格式
    .sol.txt为输出文件格式
  5. 在以上提到的glpk路径下创建输入文件
    写入线性规划方程
    solution会自动显示在输出文件

例:
方程格式:(输入文件)
/* Variables /
var x1 >= 0;
var x2 >= 0;
var x3 >= 0;
/
Object function /
minimize z: 7
x1 + 6x2 + 6x3 ;
/* Constrains /
s.t. con1: -1 -4
x1 + x2 + x3 >= 0;
s.t. con2: 1 - 4x1 - x2 - 5x3>= 0;
end;

得到solution如下:(输出文件)
Problem: testnn
Rows: 3
Columns: 3
Non-zeros: 8
Status: OPTIMAL
Objective: z = 13 (MINimum)

No. Row name St Activity Lower bound Upper bound Marginal


 1 z            B              6                             
 2 con1         NL             1             1                         7.5 
 3 con2         NL            -1            -1                         1.5 

No. Column name St Activity Lower bound Upper bound Marginal


 1 x1           NL             0             0                          42 
 2 x2           B              1             0               
 3 x3           B              0             0               

Karush-Kuhn-Tucker optimality conditions:

KKT.PE: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality

KKT.PB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality

KKT.DE: max.abs.err = 0.00e+00 on column 0
max.rel.err = 0.00e+00 on column 0
High quality

KKT.DB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality

End of output

 类似资料: