Model buss_cycle_a

Source information

Generated on Mon May  1 13:02:04 2006, with mdl2nb Utility v0.5,

 from buss_cycle_a.mdl

Levels

lev={

    {Inv, ProdRate-ShipmentRate},

    {Labor, HiringRate-QuitRate},

    {Vac, +VacCreationRate-VacClosureRate},

    {WorkinprocessInv, +ProdStartRate-ProdRate}
};

Initial conditions

levInit={

    Inv -> 50000,

    Labor -> 1000,

    Vac -> 150,

    WorkinprocessInv -> 60000
};

Variables

var={

    {AdjustForLabor, (DesiredLabor-Labor)/LaborAdjustTime},

    {AdjustForVac, (DesiredVac-Vac)/VacAdjustTime},

    {AdjustmentWIP, (DesiredWIP-WorkinprocessInv)/WIPAdjustTime},

    {DesiredHiringRate, AdjustForLabor+QuitRate},

    {DesiredInv, CustomerOrderRate*DesiredInvCoverage},

    {DesiredInvCoverage, MinOrderProcessingTime+SafetyStockCoverage},

    {DesiredLabor, DesiredProdStartRate/(Productivity*StandardWorkWeek)},

    {DesiredProd, CustomerOrderRate+ProdAdjustfromInv},

    {DesiredProdStartRate, AdjustmentWIP+DesiredProd},

    {DesiredVac, DesiredHiringRate*AvgTimeFillVac},

    {DesiredWIP, DesiredProd*ManfCycleTime},

    {HiringRate, Vac/AvgTimeFillVac},

    {ProdAdjustfromInv, (DesiredInv-Inv)/InvAdjustTime},

    {ProdRate, WorkinprocessInv/ManfCycleTime},

    {ProdStartRate, Labor*Productivity*StandardWorkWeek},

    {QuitRate, Labor/AvgDurationofEmployment},

    {ShipmentRate, CustomerOrderRate},

    {VacClosureRate, HiringRate},

    {VacCreationRate, AdjustForVac+DesiredHiringRate}
};

Parameters

par={

    AvgDurationofEmployment -> 100,

    AvgTimeFillVac -> 8,

    CustomerOrderRate -> 10000,

    InvAdjustTime -> 12,

    LaborAdjustTime -> 19,

    ManfCycleTime -> 8,

    MinOrderProcessingTime -> 2,

    Productivity -> 0.25,

    SafetyStockCoverage -> 2,

    StandardWorkWeek -> 40,

    VacAdjustTime -> 4,

    WIPAdjustTime -> 6
};

Table functions

tab={

};

Simulation parameters

tmax=200;

    t=0;

    prgper=dt;

    dt=0.0625;

Variable list

xv=Map[First,lev];

    yv=Map[First,var];

    dsv=Map[Last,lev];

    aux=Map[Last,var];

    n=Length[xv];

    p=Length[yv];

Equations not processed