This example shows how to model a central resource that manages distributed processing according to an explicit formula. The example describes a distribution center that manages a series of processes that each job undergoes, with each job carrying information about the series of processes that it must undergo. One of the applications where this could be useful is when you want to model a central dispatcher that routes calls from one call processing station to another.
This subsystem produces jobs that possess these attributes:
JobClass - A value of 1, 2, or 3, which determines the value of ServiceProcess and ServiceTime
JobID - An integer between 1 and 15. This acts as an identifier for each job. This can be used to track a job as it moves through the different service stations.
LastServiceLocation - 0 initially, to be modified during the simulation as the job visits different service stations
JobServiceStatus - A vector of 0s initially, to be modified during the simulation as the job completes different processes
ServiceProcess - A vector that lists the processes that the job undergoes
ServiceTime - A vector that lists the duration of each process that appears in ServiceProcess
CurrentStep - 1 initially, to be modified during the simulation as the job progresses through its series of processes
This subsystem uses the vector elements of each job's ServiceProcess attribute to route the entity to the correct service station. The distribution center also updates information that the job carries about its current state.
During the simulation, each job follows a trajectory from the distribution center to a service station, back to the distribution center, to a (possibly different) service station, and so on. The particular trajectory depends on the ServiceProcess attribute value.
Each of multiple Service Station subsystems models a particular process abstractly using an Infinite Server block. Upon the completion of service, the job returns to the distribution center.
The model includes these visual ways to understand its performance:
A scope showing the service locations for jobs whose JobID attribute has a particular value.
Scopes showing the load at each service station.
You can set the particular value in the Display service history for jobs with ID parameter in the Distribution Center subsystem dialog box. Valid values are integers between 1 and 15.