0%

SCIP解决LP问题

SCIP解决LP问题

SCIP(Sloving Constraint Interger Programs)是一款非常成熟的整数规划求解框架。

其支持多种文件格式,就以LP文件格式为例

求解 x1 + 2 x2 + 3 x3 + x4的最大值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Maximize
obj: x1 + 2 x2 + 3 x3 + x4 #目标函数
Subject To #约束条件
c1: - x1 + x2 + x3 + 10 x4 <= 20
c2: x1 - 3 x2 + x3 <= 30
c3: x2 - 3.5 x4 = 0
Bounds #变量的边界
0 <= x1 <= 40
2 <= x4 <= 3
General #定义变量,General表示整型变量,binary表示二进制型
x1
x2
x3
x4
End

命令行输入scip进入SCIP命令行

使用read读取lp文件(自己编写的lp问题)

1
SCIP> read "/Users/zhanghe/Desktop/user/scip/test_scip.lp"

使用optimize求解lp问题

1
SCIP> optimize

使用display solution展示求解答案

1
2
3
4
5
6
7
8
SCIP> display solution

objective value: 111
x1 29 (obj:1)
x2 7 (obj:2)
x3 22 (obj:3)
x4 2 (obj:1)

欢迎关注我的其它发布渠道