What is the difference between an object property and an object state?
An object property is a set of information that allow user to customize the object behavior. Once an object instance is created in a model, this object property can be modified to ensure that this object will behave in a manner consistent with the object being model. The value of a property is unique to each object instance. However, as the model run, these properties would be the same for each dynamic entities (Runspaces) created. Each type of object have a distinct set of poperties (athough some are common to all objects). Properties are grouped by categories such as General, Animation, Add-on Process Triggers, and so on. Properties cannot be changed during a run.
A State can be thought of a variable attached to the object instance. State value can be modified as the model run. State can be discrete or coninuous in nature. Discrete state can change value on assignment only at discrete point in time Continuous State will change continously and automatically when its rate (or accelartion) is not zero.
Consider a process with a Server object. What is the difference between a token’s parent object and it’s associated object?
A token is a delegate for an object that executes the steps in the process. In most case, tokens are delegates of entity. A token carries reference to both its associated object and its parent object. The associated object is the object the token is a delegate of and the parent object is the object for which the process is defined.
Develop a queueing model that gives the steady-sate values analogous to the values in Tableu 5.2
Metric being estimated | Simulation |
---|---|
Placement Utilization (\({ \rho }_{ p }\)) | \(0.667\pm 0.003\) |
Inspection Utilization (\({ \rho }_{ i }\)) | \(0.500\pm 0.003\) |
Number in system (\({ L }\)) | \(2.995\pm 0.003\) |
Time in system (\({ W }\)) | \(0.299\pm 0.003\) |
Average number of “good” parts | \(9223.760\pm 37.768\) |
Average number of “bad” parts | \(790.200\pm 7.614\) |
We built the model, see below, and run the simulation. We choose to run model for 1200. We set-up warm-up period to be 200 hours and run 25 repeatitions. The results are summarized in the table below;
Model
Results
The results from the run of our model are comparable to the results specified in the table.
The simio simulation has been uploaded to github (Github Repository )
We will now consider an office where people come to get their dirvers’ licenses. The process involves 3 steps for arriving customers;
* Reception/application
* A vision exam
* A written exam
Assume that customer arrivall are Poisson with a rate of 6 per hour (i.e. interarrival times are exponentially distributed with mean of 10 minutes).
The processing time distributions for the 3 processes are given as follows:
Process | Processing time distribution |
---|---|
Reception/Application | triangular(5, 8, 11) |
Vision exam | triangular(2, 4, 6) |
Written exam | triangular(15, 15, 20) |
The office has one person responsible for reception/application and one person reponsible for administration of vision exam. The written exam is computer-based and there are 3 computer stations where customers can take the exam.
The office opens from 9:00 AM to 5:00 PM.
We will develop a simio model of this system. We are interested in the following performance metrics:
* Time customers spend in system
* Utilization of office employees * Utilization of comptuter stations
* Average and maximum numbers of customers in the reception/application queue, the vision exam queue, and the written exam queue
Assumption: We will assume for now that every customer sucessfully pass the eye and written exam and that there will always be someone attending customers. We are setting work schedule to be 9:00 AM to 5:00 PM without any lunch break.
Please note that we have chosen to represent the 3 computer stations as 3 servers running in parallel each with capcity 1, each with the same distribution and with a routing selection weight of 1 instead of one server with the stated distribution and capacity = 3.
We have done so to facilitate the visualization of the layout of the office.
Model of office
Model Verification
based on the information we have, we calculate expected server utilization for each server.
We were given that \(\lambda\)=6, since each server service time given by a triangular distributions between a and b and with a node at m. The expected value of this distribution is (a+m+b)/2 and the standard deviation is given by:
\(\sigma =\sqrt { \frac { { a }^{ 2 }+m^{ 2 }+{ b }^{ 2 }-am-ab-bm }{ 18 } }\)
Calcualtions will be done in R.
#Function to calculate server utilization
f_rho <- function(c, lambda, mu) {
rho <- lambda/(c*mu)
return(rho)
}
f_triangular_esd <- function(a, m, b){
u_exp_v <- (a+m+b)/3
u_sd <- sqrt((a^2+m^2+b^2 -a*m -a*b -m*b)/18)
u_result <- list("exp_v"=u_exp_v, "sd"=u_sd)
return(u_result)
}
# Utlization Server - Reception
r_lambda <- 1/10
r_result <- f_triangular_esd(5, 8, 11)
r_mu <- 1/(r_result[[1]])
r_rho <- f_rho(1, r_lambda, r_mu)
# Uitlization Server - Eye Exam
e_lambda <- r_lambda
e_result <- f_triangular_esd(2, 4, 6)
e_mu <- 1/(e_result[[1]])
e_rho <- f_rho(1, e_lambda, e_mu)
w_lambda <- r_lambda
w_result <- f_triangular_esd(15, 15, 20)
w_mu <- 1/(w_result[[1]])
w_rho <- f_rho(3, w_lambda, w_mu)
Expected utilization for Reception/Application server is 0.8.
Expected utilization for Eye Exam server is 0.4.
Expected utilization for Written Exam server is 0.5555556.
We will now run model and set-up experiment. Since the average inter-arrival time 10 minutes and the office is only operating between 9:00AM to 5:00PM, we would expect that we would need a substantial warm-up period to reach steady-state and we would need a high level of repetitions.
We will set-up 3 experiments with various settings;
* 1st - 1 hour warm-up period and 50 repetitions,
* 2nd - 1 hour warm-up period and 200 repetitions,
* 3rd - 3 hours warm-up period and 500 repetitions
Experiment1
Experiment2
Experiment3
Based on the expected utilziation servers, we will consider the results for experiment3 for key performance measures of this system.
Performance Measures Experiment3
The simio simulation has been uploaded to github (Github Repository )
We will now animate the model previously constructed.
We will set the customer speed to .25 meters per second and allow passing to false on all of the paths in our model.
Model Animation
The simio simulation has been uploaded to github (Github Repository )