lingo变量无限制版本_【学界|编码】整数规划求解方法大全(附Lingo代码)

本文介绍了整数规划的几种常见解法,包括分枝定界法、0-1整数规划(隐枚举法)、指派问题和蒙特卡罗法,并通过Lingo软件提供了具体示例。分枝定界法适用于纯或混合整数规划,0-1整数规划可以使用隐枚举法解决,指派问题则有匈牙利法。对于非线性整数规划,蒙特卡罗法提供了一种随机取样的求解策略。
摘要由CSDN通过智能技术生成

↑↑↑↑↑点击上方蓝色字关注我们!


6493cafb11a08e40d16006ac91de643e.png


『学长带你飞』转载

作者: 张敬信

全部变量限制为整数的规划问题,称为纯整数规划;部分变量限制为整数的规划问题,称为混合整数规划;变量只取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 分枝定界法原理示例:

d981f0a96a79d32e003d737a42a522e3.png

687319edf22dab2069eaff854fd20034.png

3ad9e8cb7c2b816e71abb9b86ed8fef7.png

3116ea67b733c5b5fa3c95f041163986.png

135d898972a2f587c72259f2ce3722af.png

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整数规划

变量7d4c2574aa76ecad63b8d2209791dc5d.png只能取值e909520f354bb91903e183a3f03ee8c3.png, 该约束条件可表示为:

4f3f2928110031ff45fd4841810e88a8.png

8e015abad3d4aba06b9c81141e8976d8.gif1、隐枚举法

例2 求解下列0-1规划问题:

a2afd127c0fac0536061a15477f3e169.png

求解思路:

(1) 先试探性地求一个可行解,易看出af3611c86f89e94951414a7d134f42c7.png满足约束条件,故是一个可行解,相应的目标函数值为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值