Algorithm之PrA:PrA之IP整数规划(包括0-1整数规划)算法经典案例剖析+Matlab编程实现
Algorithm之PrA:PrA之IP整数规划算法经典案例剖析+Matlab编程实现
目录
分枝定界法
整数规划例题
0-1整数规划实例
分枝定界法
对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行系统搜索,这就是分枝与定界内容。通常,把全部可行解空间反复地分割为越来越小的子集,称为分枝;并且对每个子集内的解集计算一个目标下界(对于最小值问题),这称为定界。在每次分枝后,凡是界限超出已知可行解集目标值的那些子集不再进一步分枝,这样,许多子集可不予考虑,这称剪枝。这就是分枝定界法的主要思路。
分枝定界法可用于解纯整数或混合的整数规划问题。在本世纪六十年代初由 LandDoig 和Dakin 等人提出的。由于这方法灵活且便于用计算机求解,所以现在它已是解整数规划的重要方法。目前已成功地应用于求解生产进度问题、旅行推销员问题、工厂选址问题、背包问题及分配问题等。
基本思想:设有最大化的整数规划问题 A ,与它相应的线性规划为问题B ,从解问题B 开始,若其最优解不符合 A的整数条件,那么B的最优目标函数必是 A的最优目标函数z*的上界,记作z上 ;而 A的任意可行解的目标函数值将是z*的一个下界z下。分枝定界法就是将B的可行域分成子区域的方法。逐步减小z 上和增大z下 ,最终求到z*。
整数规划例题
用分枝定界法求解整数规划(最大化)问题的步骤为:首先,将要求解的整数规划问题称为问题 A ,将与它相应的线性规划问题称为问题B 。
1、求解下述整数规划
(1)、先利用LP思路求出最优解
(2)、利用IP思路分析解,先对x1进行分枝、定界
(3)、先对B1进行分枝、定界
(4)、还要对B2进行分枝、定界
0-1整数规划实例
1、投资场所的选定——相互排斥的计划
解:解题时先引入0 −1变量xi,并进行问题转换
2、引入0 −1变量y,来解决相互排斥的约束条件
3、扩展:利用0-1变量来解决m 个互相排斥的约束条件
如果有m 个互相排斥的约束条件
4、关于固定费用的问题(Fixed Cost Problem)
某工厂为了生产某种产品,有几种不同的生产方式可供选择,如选定的生产方式投资高(选购自动化程度高的设备),由于产量大,因而分配到每件产品的变动成本就降低;反之,如选定的生产方式投资低,将来分配到每件产品的变动成本可能增加。所以必须全面考虑。今设有三种方式可供选择,令
5、举例说明一种解0 −1型整数规划的隐枚举法
6、蒙特卡洛法求解非线性整数规划
(1)、首先编写M 文件mente.m 定义目标函数f 和约束向量函数g,程序如下
function [f,g]=mengte(x);
f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)-8*x(1)-2*x(2)-3*x(3)-...
x(4)-2*x(5);
g=[sum(x)-400
x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)-800
2*x(1)+x(2)+6*x(3)-200
x(3)+x(4)+5*x(5)-200];
(2)、编写M文件mainint.m如下求问题的解
rand('state',sum(clock));
p0=0;
tic
for i=1:10^6x=99*rand(5,1);
x1=floor(x);x2=ceil(x);
[f,g]=mengte(x1);
if sum(g<=0)==4if p0<=fx0=x1;p0=f;end
end
[f,g]=mengte(x2);
if sum(g<=0)==4if p0<=fx0=x2;p0=f;end
end
end
x0,p0
toc
7、Matlab求解指派问题等0 −1整数规划问题
解:编写 Matlab 程序如下:
c=[3 8 2 10 3;8 7 2 9 7;6 4 2 7 58 4 2 3 5;9 10 6 9 10];
c=c(:);
a=zeros(10,25);
for i=1:5a(i,(i-1)*5+1:5*i)=1;a(5+i,i:5:25)=1;
end
b=ones(10,1);
[x,y]=bintprog(c,[],[],a,b);
x=reshape(x,[5,5]),y
Algorithm之PrA:PrA之IP整数规划(包括0-1整数规划)算法经典案例剖析+Matlab编程实现相关推荐
- Algorithm之PrA:PrA之nLP非线性规划算法经典案例剖析+Matlab编程实现
Algorithm之PrA:PrA之nLP整数规划算法经典案例剖析+Matlab编程实现 目录 有约束非线性规划案例分析 1.投资决策问题 2.利用Matlab实现求解下列非线性规划 无约束极值问题 ...
- Algorithm之PrA:PrA之LP线性规划算法经典案例剖析+Matlab编程实现
Algorithm之PrA:PrA之LP线性规划算法经典案例剖析 目录 一.以例题分析步骤理解LP线性规划算法 二.Matlab编程实现 三.将问题可以转化为线性规划的问题 四.建模思路全过程 一.以 ...
- linux设置不同地址,ubuntu20.04设置静态ip地址(包括不同版本)
因为Ubuntu20.04通过netplan来管理网络,和之前得版本略有区别,Ubuntu18.04好像需要编辑/network/interfaces来设置静态网络 因为安装的是虚拟机,首先我将其改为 ...
- DHCP分配ip地址。0.0.0.0与255.255.255.255
DHCP客户端通过广播方式发送DHCP DISCOVER请求报文来寻找网络中的DHCP服务器,其中源IP地址为0.0.0.0,目的IP地址为255.255.255.255,因为此时没有IP地址,所以源 ...
- 监控易火星版纳管IPv6:IP地址管理V2.0的进化之路
IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍.大量IP地址的接入,导致运维人员不得不投入大量精力来解决IP管理分散.非法接入.IP地址错误.IP地址冲突等 ...
- 八爪鱼招标网的百度权重升为2了,独立IP也从0快速发展为1000
自八爪鱼招标网上线以来,本着以客户一切利益为出发点,坚持提供国内首个免费招标信息平台为目标,经过各位同事不断地努力,不断收集客户各种各样的招标.采购实际需求,与政府.事业单位及中小型企业一对一的沟 ...
- Algorithm:网络广告营销领域之归因分析/归因模型的简介、算法、案例应用之详细攻略
Algorithm:网络广告营销领域之归因分析/归因模型的简介.算法.案例应用之详细攻略 目录 归因分析/归因模型的简介 1.常见几种归因分析模型 2.单触点归因分析VS多触点归因分析 3.归因模型的 ...
- C#的加密解密算法,包括Silverlight的MD5算法
C#的加密解密算法,包括Silverlight的MD5算法 下面是一段加密解密工具类,其中的WinFormMD5Encrypt方法可以使得Winform和WebForm下的MD5加密结果一致,默认他们 ...
- 解决VMWare虚拟机IP变成127.0.0.1和选择固定IP段
1.解决虚拟机IP变为127.0.0.1 (1)输入命令:dhclient -v即可 (2)如果还不好使,可以试试下面的方法 (Cnetos7)打配置文件 vim /etc/sysconfig/net ...
最新文章
- Java执行字符串中的运算公式
- Nvidia的CUDA库现在恢复使用了
- python代码大全表解释-python实现顺序表的简单代码
- 当阿里不想赚钱了,生意该怎么做?
- 【Java面试题】计算一个数字的立方根,不使用库函数
- boost::math::pow相关用法的测试程序
- WEBGL学习【八】模型视图投影矩阵
- 【jenkins】jenkins按分支build和email
- el-table中奇偶行背景色显示不同的颜色
- toj 4608 Ball in a Rectangle
- 的稳定性 linux_Linux系统KDE桌面,打造最接近Windows的界面环境!不用才后悔
- controlleradvice 参数_Spring mvc中@ModelAttribute和@ControllerAdvice使用
- python如何防止代码查重_怎样避免论文代码查重
- endnote x9 word 闪退
- java获取当前月和周的第一天和最后一天
- 2021年衡师祁东附中高考成绩查询,2019祁东衡师附中录取分数线
- 兼容NSR20F30NXT5G的小体积肖特基二极管
- 力扣 面试题 17.09. 第 k 个数
- OpenCV—Python 相似图像搜索算法
- c语言情书大赛,计算机科学与技术学院“C语言情书大赛”