MATLAB Examples

Distributing Multi-Class Jobs to Service Stations



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.

Multiple-Class Job Generation

This generator 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

Distribution Center Subsystem

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.

Service Stations

Each of multiple Service Stations processes the arrived job based on the JobClass and CurrentStep of the job. Upon the completion of the service, the job returns to the distribution center.

Experiment with the Model

To see the service history for a particular job in Scopes/Service History for Jobs, enter the job ID in the distribution system 'Display service history for jobs with ID' parameter.