DES.SIMULATION

You are here:

AXCEL.DES.SIMULATION function

This function runs a Discrete Event Simulation for a trajectory. By the reports generated by this function, the user is able to measure flow time, waiting time, resource utilization and queue (buffer) status.

An entity trying to seize a resource may

1) access the server straightaway if there is enough capacity

2) wait in the queue if there is no room in the server but there is room in the queue, or

3) rejected if there is no room in the queue either.

There are two special situations regarding queue management:

1) the queue_size is shrinked below the actual number of items waiting, and

2) preemption occurs, and an item previously in the server goes to the queue.

By default in both cases, the excess of items in the queue is allowed. However, with queue_size_strict=TRUE, the maximum queue_size is guaranteed, and thus some entities will be rejected (dropped) by the resource.

Whenever an arrival is rejected (due to a server drop or a queue drop), it will set the finished flag to FALSE in the output of arrival monitoring. Unfinished arrivals can be handled with a drop-out trajectory that can be set using the handle_unfinished activity.

Syntax

AXCEL.DES.SIMULATION(n, trajectory, resources, generator, until, [monitoring], [filter], [step])


The AXCEL.DES.SIMULATION function syntax has the following arguments:

n Required. number of simulations to run.

trajectory Required. If you enter a single cell or a text input, this function looks for the trajectory name in your storage. If exist with appropriate access, the function loads the trajectory. Otherwise, the function builds the trajectory based on the input. The structure of the trajectory is as follows:

First step of trajectory specification 1 specification 2 specification n
Second step of trajectory specification 1 specification 2 specification n
Last step of trajectory specification 1 specification 1 specification n

To learn about the structure of the trajectory, please visit the help page for AXCEL.DES.TRAJECTORY function.

resources Required. This is the block you define the resources used in your trajectory and simulation with specifications. You start your block with schedules, if any, and then resources defined as follwos:

schedule specification 1 specification 2 specification n
schedule specification 1 specification 2specification n
resource specification 1specification 2specification n
resourcespecification 1specification 2specification n

Here is the details of each element in resource block:

schedule

You can define a schedule for the available capacities for your resource. Here is the format:

schedule name period cycles time 1 time 2 time n capacity 1 capacity 2 capacity n

You define a name for your schedule which will be used in resource definitions. period is the the full period of your cycle. For instance, if you set 24, it indicates 24-hour period in your schedule. cycle is the number of time slots you define in your schedule. For instance when you define cycle as 3, you need to define 3 time slots and 3 capacities afterwards. time 1,2, … are a series of timeslots and capacity 1,2,… are the corresponding capacities.

resource

Define a new resource in a simulation environment. Resources are conceived with queuing systems in mind, and therefore they comprise two internal self-managed parts: a server, which is the active part, with a specified capacity that can be seized and released (see seize in AXCEL.DES.TRAJECTORY function); and a priority queue of a certain size, in which arrivals may wait for the server to be available. Here is the format:

resource name capacity (a number or schedule name) queue size (number of Inf)

If you leave queue empty, it is considered as Inf (infinity) by default.

generator Required. Attach a new source of arrivals to a trajectory from a generator function. Here is the format:

arrival name 1 original or trajectory name distribution argument 1 argument 2
arrival name 2 original or trajectory name distribution argument 1 argument 2

Available distributions are available as follows:

Distribution input name argument 1 argument 2 argument 3 argument …
fixed times times time 1 time 2
seq start step end
normal norm mean sd
discrete uniform unif min max
log normal lnorm meanlog sdlog
classic beta pert betapert min likeliest max
gamma gamma min shape scale
logistic logis mean scale
exponential exp rate
binomial binom trials probability
poisson pois lambda
custom inputs sample obs 1 obs 2 obs 3

until Required. Stop time when the simulation stops.

monitoring Optional. By default, simulation output is based on arrivals. User can define resources to generate the report based on resources.

filter Optional. If resources is selected in monitoring input, this function generates report for all resources. If users would like to get the report for a specific resource, they can list them as input here.

step Optional. If users would like to get the plots for resources as step functions, they should set this value TRUE. Default is FALSE.

When user runs the simulation, a table of simulation results and graphs generated. Here is an example: