Anda di halaman 1dari 4

11/30/2016

AssemblyLineProductionMATLAB

Home
KeyFeatures
Examples
ModelLibrary
Contact

AssemblyLineBalancing
Contents
Problemdescription
Variables
Reference
Problemsetup

Problemdescription
Anelectronicsfactoryproducesanamplifieronanassemblylinewithfourworkstations.Anamplifierisassembledintwelveoperationsbetween
whichtherearecertainprecedenceconstraints.Thefollowingtableindicatesthedurationofeverytask(inminutes)andthelistofitsimmediate
predecessors(theabbreviationPCBusedinthistablestandsforprintedcircuitboard).
Theproductionmanagerwouldliketodistributethetasksamongthefourworkstations,subjecttotheprecedenceconstraints,inordertobalancethe
linetoobtaintheshortestpossiblecycletime,thatis,thetotaltimerequiredforassemblinganamplifier.Everytaskneedstobeassignedtoasingle
workstationthathastoprocessitwithoutinterruption.Everyworkstationdealswithasingleoperationatatime.Wetalkaboutcycletimebecausethe
operationsoneveryworkstationwillberepeatedforeveryamplifier.Whenanamplifierisfinished,theamplifiersatstations1to3advancebyone
station,andtheassemblyofanewamplifierisstartedatthefirstworkstation.
Listoftasksandpredecessors
+++++
|Task|Description|Duration|Predecessors|
+++++
|1|Preparingthebox|3||
|2|PCBwithpowermodule|6|1|
|3|PCBwithpreamplifier|7|1|
|4|Filteroftheamplifier|6|2|
|5|Pushpullcircuit|4|2|
|6|ConnectingthePCBs|8|2,3|
|7|Integratedcircuitofthepreamplifier|9|3|
|8|Adjustingtheconnections|11|6|
http://tomsym.com/examples/tomsym_assemblyline.html#2

1/4

11/30/2016

AssemblyLineProductionMATLAB

|9|Heatsinkofthepushpull|2|4,5,8|
|10|Protectivegrid|13|8,11|
|11|Electrostaticprotection|4|7|
|12|Puttingonthecover|3|9,10|
+++++
Aprecedencegraphofthesametablewithtimeswithin().
1(3)
/\
/\
/\
3(7)2(6)
/\/|\
/\/|\
/\/|\
7(9)654(6)
(8)(4)
||||
||||
||||
||
11(4)8||
(11)|/
\/\|/
\/\|/
\/\|/
10(13)9(2)
\/
\/
\/
12(3)

Variables
durationTimeoreachtask.
stationsStationsavailable.
dependsvec1and2Forataskt:Ifdependsvec1[i]=tand
dependsvec2[i]=dthentdependsond.

http://tomsym.com/examples/tomsym_assemblyline.html#2

2/4

11/30/2016

AssemblyLineProductionMATLAB

Reference
Applicationsofoptimization...Gueret,Prins,Seveaux
%MarcusEdvall,TomlabOptimizationInc,Email:tomlab@tomopt.com
%Copyright(c)20052009byTomlabOptimizationInc.,$Release:7.2.0$
%WrittenOct7,2005.LastmodifiedApr8,2009.

Problemsetup
duration=[3;6;7;6;4;8;9;11;2;13;4;3];
stations=4;
dependsvec1=[2;3;4;5;6;6;7;8;9;9;9;10;10;11;12;12];
dependsvec2=[1;1;2;2;2;3;3;6;4;5;8;8;11;7;9;10];
i=length(duration);
m=stations;
proc=tom('proc',i,m,'int');
cycle=tom('cycle',1,1);
%Allslotsareintegers
bnds={0<=proc<=1,cycle>=0};
%Everyprocesshastogotoonemachine
con1={sum(proc,2)==1};
%Precedenceconstraint
iter=length(dependsvec1);
con2={};
fori=1:iter
idxi=dependsvec1(i);
idxj=dependsvec2(i);
con2{i}={sum(proc(idxi,:).*(1:4))>=...
sum(proc(idxj,:).*(1:4))};
end
%Cycleconstraint
con3={duration'*proc<=cycle};
%Objective
objective=cycle;
constraints={bnds,con1,con2,con3};
options=struct;
options.solver='cplex';
options.name='AssemblyLineBalancing';
http://tomsym.com/examples/tomsym_assemblyline.html#2

3/4

11/30/2016

AssemblyLineProductionMATLAB

sol=ezsolve(objective,constraints,[],options);
PriLev=1;
ifPriLev>0
t=length(duration);%numberoftasks
s=stations;%numberofworkstations
temp=sol.proc;%reshapingdistribution
time=sol.cycle;%totaltime
fori=1:s,
disp(['tasksmanagedbystation'...%filter+disp
num2str(i)':'...
num2str(find(temp(:,i))')])
end
disp(['totaltime'num2str(time)])%dispthetime
end
%MODIFICATIONLOG
%
%051010medCreated
%060111perAddeddocumentation
%060126perMoveddisptoend
%090308medConvertedtotomSym
Problemtypeappearstobe:mip
=====***===================================================================***
TOMLABTomlabOptimizationInc.Developmentlicense999001.Validto20100205
=====================================================================================
Problem:1:AssemblyLineBalancingf_k20.000000000000000000
f(x_0)0.000000000000000000
Solver:CPLEX.EXIT=0.INFORM=101.
CPLEXBranchandCutMIPsolver
Optimalintegersolutionfound
FuncEv153Iter24
CPUtime:0.015625sec.Elapsedtime:0.063000sec.
tasksmanagedbystation1:1235
tasksmanagedbystation2:68
tasksmanagedbystation3:4711
tasksmanagedbystation4:91012
totaltime20

http://tomsym.com/examples/tomsym_assemblyline.html#2

4/4

Anda mungkin juga menyukai