↑↑↑↑↑点击上方蓝色字关注我们!
『学长带你飞』转载
作者: 张敬信
全部变量限制为整数的规划问题,称为纯整数规划;部分变量限制为整数的规划问题,称为混合整数规划;变量只取0或1的规划问题,称为0-1整数规划。
整数规划问题,建议使用Lingo软件求解。常用的整数规划问题解法有:
(1)分枝定界法:可求纯或混合整数线性规划。
(2)割平面法:可求纯或混合整数线性规划。
(3)隐枚举法:用于求解0-1整数规划,有过滤法和分枝法。
(4)匈牙利法:解决指派问题(0-1规划特殊情形)。
(5)蒙特卡罗法:求解各种类型规划。
01
分枝定界法
分支定界法的基本思想是:设有最大化的整数规划问题A,先解与之相应的线性规划问题B,若B的最优解不符合A的整数条件,那么B的最优目标函数必是A的最优目标函数z*的上界,记作z2, 而A的任意可行解的目标函数值将是z*的一个下界z1, 分支定界法就是将B的可行域分成子区域(称为分支)的方法,逐步减小z2和增大z1,最终求到z*。
例1 分枝定界法原理示例:
Lingo代码:
model:
max=5*x1+8*x2;
x1+x2<6;
5*x1+9*x2<45;
@gin(x1);
@gin(x2);
end
运行结果:
Global optimal solution found.
Objective value: 40.00000
Variable Value
X1 0.000000
X2 5.000000
02
0-1整数规划
变量只能取值, 该约束条件可表示为:
1、隐枚举法
例2 求解下列0-1规划问题:
求解思路:
(1) 先试探性地求一个可行解,易看出满足约束条件,故是一个可行解,相应的目标函数值为