SIMUL8 logo

Cycle Matrix

The Cycle Matrix is an additional way to look at controlling the sequence of work. Most simulation do not need to use it, but in some cases it is a much better way to think about the flow of work especially when the main consideration is the list of tasks done at an Activity, rather than the list of tasks done to transactions moving through the simulation. To understand how the Cycle Matrix fits into the overall scheme for routing work in SIMUL8 read the page on Alternative Routing Methods first.

The cycle matrix defines the cycles of activity at each Activity that uses the cycle matrix.

Set an Activity to use the Cycle Matrix using the Activity's Timing orientation dialog.

If an Activity uses the cycle matrix then the Activity's timing and routing decisions are controlled by the cycle matrix.

To view the cycle matrix use the Advanced tab.

Rows in the Cycle Matrix

Each row represents a stage in the list of tasks that Activities cycles through. Rows that relate to one Activity are always collected together in the cycle matrix.

Immediately after the simulation is reset each Activity using the cycle matrix will start to try to perform the first task listed for it in the cycle matrix. After an Activity has completed its last task in the cycle matrix it will start again at the first row in its list.

Columns in the Cycle Matrix

Activity
Name of the Activity. Click the cell and type the name of the Activity of double click the cell and select from a list of available Activities.

If a cell is blank then it assumes the same Activity as the row above it in the cycle matrix.

Task Number
This is an integer number and is usually the sequence number that the Activity does work. For example each row in the cycle matrix for an Activity will have a value one higher than the previous. However this number is only used by SIMUL8 to cross reference between rows and SIMUL8 will search all the rows for the value it needs. So there is no requirement to number the tasks sequentially.

Task numbers must be positive.

Description

Any text to act as a reminder about the task (not used by SIMUL8)

Task Type
The type of task to be performed. Type the text name of the task or double click to choose from a list of available types. The Task Type affects the meaning of some other cycle matrix columns.

Double click a cell in this column to choose one of the following task types. The following Task Types are available:

UNLOAD FROM

Take a Work Item onto the Activity from the simulation object listed in the From/To column. If the Work Type and/or Job columns are empty then any Work Item may be loaded from the specified objects (using priority rules defined externally to the cycle matrix), otherwise the Work Type and/or Job columns are used to check the labels of the Work Items available in the specified object and only Work Items that match will be loaded. (Work Type must match the value in the Work Item's label Work Type and Job must match the value in the Work Item's label Job)

The Time column determines the time taken to perform the loading operation.

If the Work Item is not available for loading then the Activity will wait in this stage until it is able to start the loading time. (See Waiting% result column below).

LOAD TO

Send the Work Item to the simulation object listed in the From/To column. If this route is blocked then record time in the Waiting% result column - see below.

WORK

Work for the amount of time in the Time column (the time may be a reference to a distribution or calculation).

If the WORKTYPE and/or JOB columns are non-zero the labels of the Work Item will be tested. If they do not match, then this task will be skipped. This let you specific several different tasks depending on the nature of the work to be done.

WAIT BEGIN

Do nothing until the simulation object in the From/To column is in the State in the State column. The state can be defined with a generic state such as EMPTY or LOADED or may be a Task Number listed for the referenced Activity elsewhere in the cycle matrix. An Activity can reference itself for this type of task. For example WC1 might WAIT until WC1 is LOADED because some other Activity in the cycle matrix has a task that will LOAD TO WC1.

Values in the State column must be positive.

WAITEND

Do nothing until the simulation object in the From/To column has completed the State in the State column. If the simulation object in the From/To column is not in the specified state when this row of the cycle matrix is entered, then wait until the simulation object in the From/To column is in this state and then wait until it is complete.

EMPTY and LOADED (see WAIT BEGIN above) are not supported for this type of task. Values in the State column must be positive.

GOTO

Instead of going to the next row in the cycle matrix go to the task number in the State column. The number may be a variable or calculation. If the result of the calculation is -1 the Activity will wait in this state. If the result of the calculation is 0 the Activity will go to the next task in the list whatever its task number. Immediately before the calculation is evaluated, the Visual Logic in the Visual Logic column will be obeyed. Work Type
Can be blank or a value to specify the required value in the Work Item's Work Type label. (See Task Type LOAD above).

Job
Can be blank or a value to specify the required value in the Work Item's Job label. (See Task Type LOAD above).

From/To
For tasks that communicate with other simulation objects this column contains the name of the simulation object. Type the object name or double click the cell to select from list of available objects.

Time
Used to specify the time for the stage of the cycle.

The time the stage will take in time units specified in the Clock Properties menu. Alternatively specify the name of a SIMUL8 named distribution to be sampled to obtain the time or the name of a SIMUL8 Global Data Item variable that will contain the time, or a calculation to obtain the time.

State
Used to specify a stage to wait for, depending on the content of the Task Type column, see above.

Text or a Task Number that some Activity must be in.

For example if the Activity should wait until MyOtherActivity is in its cycle matrix row that contains 26 in column TaskNumber then enter 26 in the State column and WAIT in the TaskType column. Alternatively if the Activity should just wait until MyOtherActivity is empty then enter EMPTY in the TaskType column.

Permitted values for State are any positive integer value, EMPTY or LOADED. (EMPTY and LOADED are not supported for WAITEND Task Types)

Image
The image to be displayed while the Activity is in this stage. Type the name of the SIMUL8 Image (from the Image Library on the View tab) or double click the cell in the cycle matrix to select from the available list. Leave this column blank to have SIMUL8 use the images listed in the normal Activity/ Graphics image animation dialog.

Stage
(read only) If the simulation has been run and the Activity has referenced the cycle matrix to decided what to do next then this column will indicate with and arrow the currently active stage of the cycle at the Activity.

WAITING%
(read only) Results data. The percentage of time the Activity has spent in this stage but not actually performing the stage because the Activity had to wait to start the stage. (For example, for a LOAD stage the Activity will record waiting time in the stage if the required Work Item is not available to load.)

ACTIVE%
(read only) Results data. The percentage of time the Activity has working at in this stage. For some stage types this will always be zero (for example WAIT type stages, where as soon as the waiting reason is satisfied the Activity moves to the next stage in the cycle.)

CYCLES
(read only) Results data. Number of times the cycle has been started.

Resources

Resources are not compatible with the cycle matrix.

The cycle matrix is a highly advanced feature allowing huge control. It is designed for the precise control and movement of work items through a multi cycle Activity or group of Activities, not for the simulation of staff or any other type of resource - they will need to be simulated separately

Examples

See Also

logo
cleardot