第六章 分支定界法 作业题
- 格式:doc
- 大小:214.50 KB
- 文档页数:3
分支定界法function [x,y]=ILp(f,G,h,Geq,heq,lb,ub,x,id,options) %整数线性规划分支定界法,可求解纯整数规划和混合整数规划。
%y=minf’*x s.t. G*x<=hGeq*x=heq x为全整数或混合整数列向量%用法%[x,y]=ILp(f,G,h,Geq,heq,lb,ub,x,id,options)%参数说明%lb:解的下界列向量(Default:-int)%ub:解的上界列向量(Default:int)%x:迭代初值列向量%id:整数变量指标列向量,1-整数,0-实数(Default:1)global upper opt c x0 A b Aeq beq ID options;ifnargin<10,options=optimset({});options.Display='off';rgeScale='off';endif nargin<9,id=ones(size(f));endif nargin<8,x=[];endif nargin<7|isempty(ub),ub=inf*ones(size(f));endif nargin<6 |isempty(lb),lb=zeros(size(f));endif nargin<5,heq=[];endif nargin<4,Geq=[];endupper=inf;c=f;x0=x;A=G;b=h;Aeq=Geq;beq=heq;ID=id;ftemp=ILP(lb(:),ub(:));x=opt;y=upper;%下面是子函数function ftemp=ILP(vlb,vub)global upper opt c x0 A b Aeq beq ID options;[x,ftemp,how]=linprog(c,A,b,Aeq,beq,vlb,vub,x0,options);if how <=0return;end;if ftemp-upper>0.00005 %in order to avoid errorreturn;end;if max(abs(x.*ID-round(x.*ID)))<0.00005if upper-ftemp>0.00005 %in order toavoid erroropt=x';upper=ftemp;return;elseopt=[opt;x'];return;end;end;notintx=find(abs(x-round(x))>=0.00005); %in order to avoid errorintx=fix(x);tempvlb=vlb;tempvub=vub;if vub(notintx(1,1),1)>=intx(notintx(1,1),1)+1;tempvlb(notintx(1,1),1)=intx(notintx(1,1),1)+1;ftemp=IntLP(tempvlb,vub);end;if vlb(notintx(1,1),1)<=intx(notintx(1,1),1)tempvub(notintx(1,1),1)=intx(notintx(1,1),1);ftemp=IntLP(vlb,tempvub);end;%====================================然后:clc;clearf=[4 4]A=[2 5;2 -2]b=[15;5]Aeq=[];beq=[];LB=[0 0];UB=[];[xn,yn]=ILp(f,A,b,Aeq,beq,LB,UB,[1 1],1,[]) [x,fval,exitflag]=linprog(f,A,b,Aeq,beq,LB,UB)结果:xn =0 0yn =Optimization terminated.x =1.0e-013 *0.2990040786747590.503948216933779fval =3.211809182434153e-013exitflag =1matlab的整数规划功能不行,还不如EXCEL的solver。
第06章流水生产线设计_题库
一、名词解释(20分,每小题5分)
1、流水生产
2、流水线平衡
3、分支定界法
4、流水线节拍
二、填空题(20分,每小题2分)
1、进行流水线作业方法改善的改善四要法(ECRS)包括:、、、。
2、流水线平衡的方法有:、。
3、流水线按生产对象的数目可以分为:、。
4、流水线按连续程度可以分为:、。
三、选择题(10分,每小题5分)
1、流水线生产适合下列哪种生产方式()。
A.大量生产
B.成批生产
C.单件小批生产
D.定制生产
2、当设备负荷系数Ka>0.75时,该流水线是()。
A.间断流水线
B.连续流水线
C.成组流水线
D.可变流水线
四、简述题(20分,每小题10分)
1、简述流水线平衡的方法。
2、对给定的流水线进行平衡,如何确定闲置时间比率?
五、计算题(30分,每小题15分)
1、欲使有17项作业的生产线平衡.作业时间最长的为1.2min,所有作业的时间之和为18min,该生产线每天工作540min.
1)可能的最小和最大的节拍分别是多少?
2)从理论上看,该生产线的产量范围是什么?
3)如果要求达到最大的产量,最少所需工作地数是多少?
2、12个作业进行流水线平衡,工作时间及先后顺序如表所示。
已知节拍为1.5min
1)画出产品装配网络图。
分⽀定界法分⽀定界法(branch and bound)是⼀种求解离散数据组合的最优化问题。
该算法执⾏的效率取决于你所找的问题解空间的上下界,如果找到⼀个很紧凑的上下界进⾏剪枝操作,该算法的执⾏效率会⾮常⾼,因此它是最有可能在多项式时间内求解NP问题的算法。
使⽤分⽀定界算法的⼀般步骤为:构造⼀棵搜索树,该搜索树指的是所有解空间,因此通过遍历该搜索树可以遍历到所有的解;构造问题解的上下界,上界⼀般为之前求出的最优解,下界为⽆约束条件下当前搜索路径的最优解,上下界的主要作⽤是对搜索树进⾏剪枝;通过回溯法遍历搜索树,并且不断更新上下界,如果当前解的下界已经超过上界,则进⾏剪枝;遍历结束时,所求的解为最优解。
接下来通过⼀个实例来讲解分⽀定界算法:某公司于⼄城市的销售点急需⼀批成品,该公司成品⽣产基地在甲城市。
甲城市与⼄城市之间共有 n 座城市,互相以公路连通。
甲城市、⼄城市以及其它各城市之间的公路连通情况及每段公路的长度由矩阵M1 给出。
每段公路均由地⽅政府收取不同额度的养路费等费⽤,具体数额由矩阵 M2 给出。
请给出在需付养路费总额不超过 1500 的情况下,该公司货车运送其产品从甲城市到⼄城市的最短运送路线。
(题⽬来源:北航研究⽣算法课)⾸先构造⼀棵搜索树,该搜索树并不需要显⽰的构建,⽽是在搜索过程中所遵循的⼀种搜索规则。
对于上述问题,以甲城市为根节点构建⼆叉树,其它节点由剩余城市表⽰,树的左⼦树表⽰当前路径包含该⽗节点,树的右⼦树表⽰当前路径不包含该⽗节点。
如图所⽰该搜索路径所表⽰的实际路径为1-3-4,即路径中不包含城市2。
然后分析该问题解的上下界:搜索路径的上界为当前已经求出的满⾜条件的最短路径长度。
搜索路径的下界为当前路径长度与⽆约束条件下路径终点到城市⼄的最短路径长度之和。
若上界⼤于下界,则可以继续搜索;若上界⼩于下界,则表⽰⽆更优解,此时可进⾏剪枝操作。
其中⽆约束条件下的任意点到城市⼄的最短路径长度可以使⽤Dijkstra或Floyd算法预先求出。
7.某产品装配作业及其顺序在表中给出。试将这些作业安排到各
工作地以形成一条流水线。这条流水线每天运行7.5h,要求每
天生产1000件产品。(p117)
表6-6 各作业的时间和顺序
作业 时间/min 紧前作业 作业 时间/min 紧前作业
A 15 - G 11 C
B 24 A H 9 D
C 6 A I 14 E
D 12 B J 7 F,G
E 18 B K 15 H,I
F 6 C L 10 J,K
(1) 画出装配网络图。
ABCDEFHIJKL
G
(2) 针对预定1000件产品的产量用分支定界法进行流水线平衡。
生产节拍r=工作时间/计划产量=7.5*60*60/1000=27s/件
S=Tr=1524612186119147151027≈6个
111k
k
TTSr
全部作业
A,C,FBG,JA
D,HG,J
EG,J
G,JI
K,L
66666677777181818181827
15
24
21
14
25
因此可以得到流水线平衡的结果为:
工作地1:{ A,C,F }
工作地2:{ B }
工作地3:{ D,H }
工作地4:{ E }
工作地5:{ G,J }
工作地6:{ K,L }
(3) 根据(2)中的条件,计算装配线平衡后的效果
该流水生产线平衡方案的设备利用率=装配网络图上各项作业
的时间总和/(节拍*工作地数)=147/(27*6) ≈90.74%
(4)生产开始后,市场部意识到他们低估了市场需求,决定将产
量提高到1500件。应该采取什么措施?试定量地作出回答。
当产量提高到1500件的时候,生产节拍r=工作时间/计划产量
=7.5*60*60/1500=18s/件,由于生产节拍r变快了,
S=Tr=1524612186119147151018≈9个,所以应该
增加工作地数。