欢迎来到天天文库
浏览记录
ID:55631760
大小:23.00 KB
页数:3页
时间:2020-05-21
《MATLAB枚举法求解0-1规划源程序及应用实例.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、M文件function[intx,intf]=ZeroOneprog(c,A,b,x0)%目标函数系数向量,c%不等式约束矩阵,A%不等式约束右端向量,b%初始整数可行解,x0%目标函数取最小值时的自变量值,intx%目标函数的最小值,intfsz=size(A);ifsz(2)<3[intx,intf]=Allprog(c,A,b);%穷举法else[intx,intf]=Implicitprog(c,A,b,x0);%隐枚举法endfunction[intx,intf]=Allprog(c,A,b);sz_A=size(A);rw=s
2、z_A(1);col=sz_A(2);minf=inf;fori=0:(2^(col)-1)%枚举空间x1=myDec2Bin(i,col);%十进制转化为二进制ifA*x1>=b%是否满足约束条件f_tmp=c*x1;iff_tmp3、f=c*x0;A=[A;-c];b=[b;-minf];%增加了一个限制分量fori=0:(2^(col)-1)x1=myDec2Bin(i,col);ifA*x1>=bf_tmp=c*x1;iff_tmp4、num(str(j));endy=transpose(y);求解实例求解下面0-1规划在MATLAB命令框在输入下列命令:>>c=[12311];>>A=[23547;11422];>>b=[8;5];>>x0=[1;1;1;1;1]’;>>[intx,intf]=ZetoOneprog(c,A,b,x0)所得结果如下:intx=10011intf=3
3、f=c*x0;A=[A;-c];b=[b;-minf];%增加了一个限制分量fori=0:(2^(col)-1)x1=myDec2Bin(i,col);ifA*x1>=bf_tmp=c*x1;iff_tmp4、num(str(j));endy=transpose(y);求解实例求解下面0-1规划在MATLAB命令框在输入下列命令:>>c=[12311];>>A=[23547;11422];>>b=[8;5];>>x0=[1;1;1;1;1]’;>>[intx,intf]=ZetoOneprog(c,A,b,x0)所得结果如下:intx=10011intf=3
4、num(str(j));endy=transpose(y);求解实例求解下面0-1规划在MATLAB命令框在输入下列命令:>>c=[12311];>>A=[23547;11422];>>b=[8;5];>>x0=[1;1;1;1;1]’;>>[intx,intf]=ZetoOneprog(c,A,b,x0)所得结果如下:intx=10011intf=3
此文档下载收益归作者所有