整数规划分支定界法matlab程序

整数规划分支定界法matlab程序

ID:9053300

大小:27.50 KB

页数:2页

时间:2018-04-16

整数规划分支定界法matlab程序_第1页
整数规划分支定界法matlab程序_第2页
资源描述:

《整数规划分支定界法matlab程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、function[x,y]=lpint(f,G,h,lb,ub,x,n,id)%整数线性规划分枝定界法,可求解线性全整数或线性混合整数规划%此程序基于Matlab优化工具箱的lp函数写成%此程序为GreenSim团队原创作品,转载请注明%欢迎访问GreenSim团队的主页http://blog.sina.com.cn/greensim%        y=minf'x   subjectto:  Gx<=h x为整%             x%用法%   [x,y]=lpint(f,G,h)%   [x,y]=lpint(f,G,

2、h,lb,ub)%   [x,y]=lpint(f,G,h,lb,ub,x)%   [x,y]=lpint(f,G,h,lb,ub,x,n)%   [x,y]=lpint(f,G,h,lb,ub,x,n,id)%参数说明%   x:最优解列向量%   y:目标函数最小值%   f:目标函数系数列向量%   G:约束条件系数矩阵%   h:约束条件右端列向量%   lb:解的的下界列向量(Default:-inf)%   ub:解的的上界列向量(Default:inf)%   x:迭代初值列向量%   n:等式约束数(Default:

3、0)%   id:整数变量指标列向量。1-整数,0-实数(Default:1)%举例% minZ=x1+4x2%s.t. 2x1+x2<=8%     x1+2x2>=6%     x1,x2>=0且为整数%先将x1+2x2>=6化为-x1-2x2<=-6%》[x,y]=lpint([1;4],[21;-1-2],[8;-6],[0;0])%Y.MA&L.J.HU1999globalupperoptcNx0AbID;ifnargin<8,id=ones(size(f));endifnargin<7

4、isempty(n),n=0;en

5、difnargin<6,x=[];endifnargin<5

6、isempty(ub),ub=inf*ones(size(f));endifnargin<4

7、isempty(lb),lb=zeros(size(f));endupper=inf;c=f;N=n;x0=x;A=G;b=h;ID=id;temp=ILP(lb(:),ub(:));x=opt;y=upper;%以下子函数functiony=ILP(vlb,vub)globalupperoptcNx0AbID; warningoff; [x,temp,how]=lp(c,A,b

8、,vlb,vub,x0,N,-1); ifstrcmp(how,'ok')~=1    return; end; ifc'*x-upper>0.00005 %inordertoavoiderror    return; end;   ifmax(abs(x.*ID-round(x.*ID)))<0.00005   ifupper-c'*x>0.00005%inordertoavoiderror     opt=x';     upper=c'*x;     return;  else     opt=[opt;x'];     re

9、turn;   end; end; notintx=find(abs(x-round(x))>=0.00005);%inordertoavoiderror intx=fix(x); tempvlb=vlb; tempvub=vub; ifvub(notintx(1,1),1)>=intx(notintx(1,1),1)+1    tempvlb(notintx(1,1),1)=intx(notintx(1,1),1)+1;    temp=ILP(tempvlb,vub); end; ifvlb(notintx(1,1),1)<=i

10、ntx(notintx(1,1),1)   tempvub(notintx(1,1),1)=intx(notintx(1,1),1);    temp=ILP(vlb,tempvub); end;

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

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

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