matlab源代码:整数线性规划问题

matlab源代码:整数线性规划问题

ID:10559737

大小:24.50 KB

页数:8页

时间:2018-07-07

matlab源代码:整数线性规划问题_第1页
matlab源代码:整数线性规划问题_第2页
matlab源代码:整数线性规划问题_第3页
matlab源代码:整数线性规划问题_第4页
matlab源代码:整数线性规划问题_第5页
资源描述:

《matlab源代码:整数线性规划问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、%%本程序是用分枝定界法求解整数线性规划问题%%问题的标准形式:%%minc'*x%%s.t.A*x<=b%%Aeq*x=beq%%x要求是整数%%程序的编写者:快乐逍遥侠%%程序的最后修改时间是:2007-11-24function[y,fval]=BranchBound(c,A,b,Aeq,beq)c=[];A=[];b=[];Aeq=[];beq=[];NL=length(c);UB=inf;LB=-inf;FN=[0];AA(1)={A};BB(1)={b};k=0;flag=0;whilefla

2、g==0;[x,fval,exitFlag]=linprog(c,A,b,Aeq,beq);if(exitFlag==-2)

3、(fval>=UB)FN(1)=[];ifisempty(FN)==1flag=1;elsek=FN(1);A=AA{k};b=BB{k};endelsefori=1:NLifabs(x(i)-round(x(i)))>1e-7kk=FN(end);FN=[FN,kk+1,kk+2];temp_A=zeros(1,NL);temp_A(i)=1;temp_A1=[A;temp_A]

4、;AA(kk+1)={temp_A1};b1=[b;fix(x(i))];BB(kk+1)={b1};temp_A2=[A;-temp_A];AA(kk+2)={temp_A2};b2=[b;-(fix(x(i))+1)];BB(kk+2)={b2};FN(1)=[];k=FN(1);A=AA{k};b=BB{k};break;endendif(i==NL)&(abs(x(i)-round(x(i)))<=1e-7)UB=fval;y=x;FN(1)=[];ifisempty(FN)==1flag=1;e

5、lsek=FN(1);A=AA{k};b=BB{k};endendendendy=round(y);fval=c*y;%整数规划分支定界算法matlab通用源程序%各参数的意义同matlab优化工具箱的线性规划函数linprog%调用前,输入参数要化成matlab的标准形式[x,val]=kfz-f-3(n,f,a,b,aeq,beq,lb,ub)x=zeros(n,1);x1=zeros(n,1);m1=2;m2=1;[x1,val1]=linprog(f,a,b,aeq,beq,lb,ub);if(x

6、1==0)x=x1;val=val1;elseif(round(x1)==x1)x=x1;val=val1;elsee1={0,a,b,aeq,beq,lb,ub,x1,val1};e(1,1)={e1};zl=0;zu=-val1;while(zu~=zl)forc=1:1:m2if(m1~=2)if(cell2mat(e{m1-1,c}(1))==1)e1={1,[],[],[],[],[],[],[],0};e(m1,c*2-1)={e1};e(m1,c*2)={e1};continue;end;e

7、nd;x1=cell2mat(e{m1-1,c}(8));x2=zeros(n,1);s=0;s1=1;s2=1;lb1=cell2mat(e{m1-1,c}(6));ub1=cell2mat(e{m1-1,c}(7));lb2=cell2mat(e{m1-1,c}(6));ub2=cell2mat(e{m1-1,c}(7));ford=1:1:nif(abs((round(x1(d))-x1(d)))>0.0001)&(s==0)s=1;lb1(d)=fix(x1(d))+1;if(a*lb1<=b)s

8、1=0;end;ub2(d)=fix(x1(d));if(a*lb2<=b)s2=0;end;end;end;e1={s1,a,b,aeq,beq,lb1,ub1,[],0};e2={s2,a,b,aeq,beq,lb2,ub2,[],0};e(m1,c*2-1)={e1};e(m1,c*2)={e2};end;m1=m1+1;m2=m2*2;forc=1:1:m2if(cell2mat(e{m1-1,c}(1))==0)[x1,val1]=linprog(f,cell2mat(e{m1-1,c}(2))

9、,cell2mat(e{m1-1,c}(3)),cell2mat(e{m1-1,c}(4)),cell2mat(e{m1-1,c}(5)),cell2mat(e{m1-1,c}(6)),cell2mat(e{m1-1,c}(7)));e1={cell2mat(e{m1-1,c}(1)),cell2mat(e{m1-1,c}(2)),cell2mat(e{m1-1,c}(3)),cell2mat(e{m1-1,c}(4)),ce

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。