- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
201 3-2 0 14 (2)专业课程实践论文
题目:0?1规划的隐枚举法
一、算法理论
o-I规划在整数规划中占有重要地位,一方面因为许多实际问题,例如指派 问题、选地问题、送货问题都可归结为此类规划,另一方面任何有界变量的整 数规划都与0—1规划等价,用0 —I规划方法还可以把多种非线性规划问题 表示成整数规划问题,所以不少人致力于这个方向的研究。求解0—1规划的 常用方法是分枝定界法,对各种特殊问题还有一些特殊方法。
线性模型中,当变量的取值只能是“0”或“1”时,称之为“0-1规划问题”。 有种极其简单的解法,就是将变量取值为0或1的所有组合列出,然后分别代 入U标函数,选出其中能使LI标函数最优化的组合,即为最优解。但是真的这 样会做很多无用功,浪费大量资源,所以,需要改进方法。本文主要介绍隐枚 举法的应用原理,意在剖析其“隐”在何处。从而帮助读者更好地应用这种方 法。
和线性规划问题一样,首先需要将模型标准化。标准化对0— 1规划问题提出 四点要求:
目标函数为最小优化
U标函数中变量的系数都为正
在U标函数中,变量按系数值从小到大排列,则约束函数中,变量的排列次序 也做相应改变。
4 .所有变量均为0或1
0-1线性规划的基本形式是
Xj = 0或 1 j = 1,2,…,加 工m 5bj j = l,2,…昇2
二、算法框图
三、算法程序
functi o n [intx, intf ] = Zero 0 n ep r o g ( c , b,xO)
$目标函数系数向量,c
$不等式约束矩阵,A
警不等式约朿右端向量,b
$初始整数可行解,x0
%目标函数取最小值时的自变量值,in tx
*目标函数的最小值,intf
s z = size(A);
if sz (2) 3
[i n txz intf] = Allprog (cr A^b): %穷举法
else
[in txr i ntf] = I m p li c itp r o g (cz A, b i xO) ; %隐枚举法 end
f u nc t i o n [in = Al 1 p rog (cz A r b)
sz__A = size (A):
rw = s z_A (1);
c ol = sz_A ( 2 );
minf = inf;
for i=0 : (2A(col)-l) M枚举空间
xl = myDec2 Bin (i, c o 1 ): %十进制转化为二进制
if A*xl = b %是台满足约束条件
f_ t mp = c*xl;
if f_tmp minf
minf = f _tmp;
i nt x = xl:
i n tf = m i nf;
el s e
c on t in u e ;
en d
el s e
c onti n ue;
nd
e nd function [int x , i n tf ] = Impli c i t prog (c, A, b,xO)$隐枚举法 s z_A = siz e (A);
rw = sz_A(1);
col = sz_A (2);
minf = c* x 0:
A = [A; - C ]:
b = [b: -minf] ; %增加了一个限制分量
for i=0: (2A ( col) - 1 )
xl = m y Dec2Bin (i, col);
if A * x 1 = b
f_tmp = c *x 1 ;
i f f _tm p mi n f
min f = f — t mp;
b(rw+ 1,1) = -minf; *隐枚举法勺穷举法的区别任于此句
i n t x = xl;
i n t f = min f ;
else
c o nt i n u e;
end
e Ise
co n t i nue;
end
e nd
f u net i on y = myD e c2 B in (x^ n) %「进制转化为…?进制
s tr = dec2bin (x, n ):
for j =1: n
y (j) = s t r 2 num (str ( j ));
en d
t r a n sp o se (y);
四.算法实现
四.算法实现
例L求解下面0-1规划
2x)+ 3x2 4- 5x3 +4x4 +7x5 8
min f(x) = Xj + 2x2 + 3x3 +x4+ x5,s. ts + 2x2 + 4x3 + 2x4 + 2x5 5
xp
xpx2,v3x4,x5
=0或1
解:在MAT L AB命令框在输入下列命令:
? c=[l 2 3 1 1];
A = [2 3547; 11 4 2 2];
b=[8;5];
? x0=[ 1 ;1; 1 ;1;1];
原创力文档


文档评论(0)