欢迎来到天天文库
浏览记录
ID:6567129
大小:32.50 KB
页数:2页
时间:2018-01-18
《matlab求解线性规划和整数规划问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、1.线性规划问题:minf*xs.t.A*x<=bAeq*x=beqlb<=x<=ub其中:A为不等式约束的系数矩阵,Aeq表示等式约束的系数矩阵,b表示不等式约束的常向量,beq表示等式约束的常向量,lb和ub表示自变量的上下范围。求解函数:linprog(f,A,b,Aeq,beq,lb,ub)其中:f,A,b,Aeq,beq,lb,ub的定义如上。2.整数规划问题:利用函数(linprog)先把BranchBound函数存在matlab的路径下,BranchBound函数的内容如下:function[y,fval]=BranchBound(c,A,b,Aeq,b
2、eq)NL=length(c);UB=inf;LB=-inf;FN=[0];AA(1)={A};BB(1)={b};k=0;flag=0;whileflag==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
4、_A=zeros(1,NL);temp_A(i)=1;temp_A1=[A;temp_A];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(F
5、N)==1flag=1;elsek=FN(1);A=AA{k};b=BB{k};endendendendy=round(y);fval=c*y;再利用命令[y,fval]=BranchBound(c,A,b,Aeq,beq)即可。
此文档下载收益归作者所有