Professional Documents
Culture Documents
Csi 4124 Final Sample Solution A
Csi 4124 Final Sample Solution A
COURSE:
CSI4124/SYS5110
Foundations on Modeling
and Simulation
SEMESTER: FALL 2013
PROFESSOR:
DATE:
TIME:
Gilbert Arbez
FINAL EXAMINATION
Solution
This solution uses a Resource Group with scope=UNARY for modelling the Stations.
Question 1
Question 2
Question 3
Total
Conceptual Model
Simulation Model
Experimentation and Output Analysis
35 marks
15 marks
10 marks
60 marks
All questions are answered in the examination paper. If you require more space, use the back of the pages.
Calculators are permitted.
Total number of pages: 16
Page 1 of 16
3.1
3.1.1
3.1.2
Q.ManipQu[SF]
R.Manipulator
Q.ManipQu[RP]
Entity Categories:
RCG.Station: This entity has a scope of Unary. Its attribute numBusy gives the number of operators busy with painting
stations. with numStations entities (numStations is a parameter).
Q.ManipQu: A Set of 2 queue entities that represent the number of operators waiting for the Manipulator resource. The
identifiers used with this set are SF (store and fetch) and RP (reposition).
R.Manipulator: This resource is used by operators to reposition parts at stations or move/fetch parts to/from storage.
When busy, an operator is using the manipulator.
Notes
3.1.3
Behavioural View
StoreFetch
Painting1
StoreFetch
RepositionPart
Painting1
Painting2
RepositionPart
StoreFetch
Painting2
StoreFetch
RepositionPart
Activity Constructs
Notes
Page 2 of 16
Name
numStations
Value
3 to 6
Attributes
numBusy
Description
Gives the number of busy stations.
Attributes
busy
Description
Set to TRUE (1) when involved in a manipulator operation and FALSE (0)
otherwise.
Attributes
n
Description
The number of station entities in the queue.
Action: Initialise
Initialise the model, all queues are empty, all resources set to not busy.
TimeSequence
<0>
Event SCS
Q.ManipQu[RP].n 0
Q.ManipQu[SF].n 0
FOR n FROM 0 to numStations-1
SP.Start(Painting1)
ENDFOR
R.Manipulator.busy false
Page 3 of 16
1.2.2.3. Output
OUTPUTS
Trajectory Sequences
Description
Name
TRJ[R.Manipulat
or.busy]
TRJ[RCG.Station
s.numBusy]
Name
manipulatorUtil
stationsUtil
Utilisation of the
TRJ[R.Manipulator.Busy]
manipulator.
The utilisation of the station, TRJ[RCG.Station.numBusy]
that is, the percentage of
time a station is busy.
Operation
AVG
AVG/numStations
uStoreAndFetchTime()
uPainting1Time()
uPainting2Time()
UNIFORM(RP_MIN, RP_MAX)
where RP_MIN = 10 minutes and RP_MAX = 20
minutes.
UNIFORM(SF_MIN, SF_MAX) where SF_MIN
= 25 minutes and SF_MAX = 35 minutes.
Page 4 of 16
Activity: StoreFetch
The Store and Fetch manipulator operation.
Precondition
(R.Manipulator.busy = FALSE) AND
(Q.ManipQu[RP].n = 0) AND
(Q.ManipQu[SF].n 0)
Event SCS
R.Manipulator.busy TRUE
Q.ManipQu[SF].n - 1
Duration
RVP.uStoreAndFetchTime()
Event SCS
R.Manipulator.busy FALSE
SP.Start(Painting1)
Activity: Painting1
Painting 1 operation.
Causal
Event SCS
Duration
Event SCS
RCG.Station.numbusy + 1
RVP.uPainting1Time()
RCG.Station.numbusy - 1
Q.ManipQu[RP].n + 1
Activity: Painting2
Painting 2 operation.
Causal
Event SCS
Duration
Event SCS
RCG.Station.numbusy + 1
RVP.uPaintingTime2()
RCG.Station.numbusy - 1
Q.ManipQu[SF].n + 1
Page 5 of 16
// station is busy
class Stations
{
protected boolean numBusy;
}
class ManipQu
{
protected int n;
}
/*-------------Behaviour Constructs-------------------*/
public class RepositionPart extends ConditionalActivity
{
PaintingHParts model;
// Constructor
protected RepositionPart(PaintingHParts m) { model = m; }
protected static boolean precondition(PaintingHParts m)
{
boolean ret;
ret = (m.rManipulator.busy == false) && (m.qManipQu[m.RP].n) != 0);
return(ret);
}
public void startingEvent()
{
model.rManipulator.busy = true;
model.qManipQu[model.RP].n--;
}
protected double duration()
{
double dur = model.rvp.uRepositionTime();
return dur;
}
protected void terminatingEvent()
{
model.rManipulator.busy = false;
Painting2 sAct = new Painting2(model);
model.spStart(sAct);
}
Page 6 of 16
}
public class Painting1 extends SequelActivity
{
int stationID;
PaintingHParts model;
protected Painting1(PaintingHParts m)
{
model = m;
}
public void startingEvent()
{
model.rcgStations.numbusy++;
}
protected double duration()
{
double dur = model.rvp.uPainting1Time();
return dur;
}
protected void terminatingEvent()
{
model.rcgStations.numbusy--;
model.qManipQu[model.RP].n++;
}
}
Page 7 of 16
Run
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sample Mean
Std Dev (s)
Min Value
Max Value
NumStations
1
10
Manipulator Station
Manipulator Station
Utilisation Utilisation Utilisation Utilisation
0.200
0.796
0.9965
0.3895
0.206
0.789
0.9969
0.3902
0.199
0.796
0.9965
0.3878
0.199
0.796
0.9968
0.3905
0.202
0.793
0.9962
0.3910
0.203
0.794
0.9968
0.3863
0.203
0.793
0.9964
0.3895
0.202
0.793
0.9964
0.3907
0.204
0.792
0.9963
0.3888
0.197
0.798
0.9965
0.3932
0.202
0.793
0.9968
0.3918
0.202
0.794
0.9964
0.3897
0.202
0.793
0.9961
0.3897
0.205
0.791
0.9965
0.3873
0.205
0.791
0.9968
0.3895
0.207
0.790
0.9968
0.3900
0.205
0.790
0.9967
0.3900
0.205
0.791
0.9963
0.3923
0.200
0.796
0.9967
0.3926
0.205
0.791
0.9965
0.3868
0.203
0.793
0.997
0.390
0.003
0.002
0.0002
0.002
0.001
0.202
0.204
0.001
0.792
0.794
0.000
0.996
0.997
0.001
0.389
0.391
When the crane services a single station, its utilisation is low as expected. In this case the station is
busy for close to 80% percent of the time (79.3 %). This value can be treated as the maximum
utilization possible for a station, given that it must wait for repositioning the casting and for
storing/loading operation when a new casting is loaded onto the station. This value is consistent with
1) the means times for the repositioning and loading/storing operations
2) The value of the utilization of the crane which is around 20%.
When the crane services 10 stations, as expected the crane is close to 100% busy. As expected, the
utilization of the stations drop since it spends time waiting for the crane to become available.
Page 8 of 16
B) Output Analysis
Consider the following results obtained from 20 simulation runs for the Balancing Equipment Project.
NumStations
3
Simul. Manipulator
Station
Run
Utilisation
Utilisation
Manipulator
Utilisation
Station
Manipulator Station Manipulator
Station
Utilisation
Utilisation Utilisation
Utilisation
Utilisation
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
0.593
0.593
0.597
0.596
0.593
0.598
0.599
0.590
0.592
0.587
0.595
0.593
0.594
0.595
0.597
0.595
0.597
0.590
0.587
0.601
0.773
0.769
0.772
0.773
0.772
0.774
0.770
0.773
0.770
0.777
0.772
0.773
0.772
0.772
0.773
0.767
0.770
0.772
0.775
0.771
0.768
0.768
0.769
0.769
0.766
0.772
0.767
0.767
0.765
0.759
0.767
0.768
0.766
0.764
0.770
0.766
0.772
0.766
0.761
0.772
0.747
0.747
0.750
0.751
0.751
0.748
0.744
0.751
0.743
0.751
0.749
0.752
0.749
0.743
0.749
0.746
0.747
0.754
0.750
0.744
0.910
0.914
0.921
0.921
0.915
0.918
0.915
0.912
0.914
0.908
0.913
0.910
0.912
0.921
0.916
0.917
0.918
0.912
0.912
0.921
0.708
0.712
0.714
0.718
0.716
0.710
0.712
0.714
0.712
0.717
0.714
0.711
0.710
0.715
0.712
0.715
0.713
0.715
0.716
0.712
0.994
0.990
0.993
0.994
0.990
0.994
0.993
0.990
0.994
0.992
0.992
0.992
0.992
0.993
0.993
0.993
0.994
0.991
0.992
0.994
0.645
0.644
0.641
0.647
0.646
0.641
0.645
0.645
0.645
0.651
0.648
0.645
0.645
0.642
0.644
0.646
0.646
0.649
0.649
0.642
Sample Mean
Std Dev (s)
0.594
0.004
0.772
0.002
0.767
0.003
0.748
0.003
0.915
0.004
0.713
0.003
0.993
0.001
0.645
0.003
Provide output analysis of the above results (be sure to provide appropriate confidence intervals) and discuss the results
relative to the project goal.
Make a recommendation of another possible Modelling and Simulation Study to explore balancing the use of the equipment to
provide better balancing of equipment (if possible).
The following table shows the confidence intervals based on the above data.
0.594
0.004
0.00194
0.592
0.596
0.772
0.002
0.00118
0.771
0.773
0.767
0.003
0.00173
0.765
0.769
0.748
0.003
0.00165
0.747
0.750
r 0.003257964 0.001527604
0.002253903
0.00220152
Sample Mean
Std Dev (s)
Min Value
Max Value
0.915
0.004
0.00209
0.913
0.917
0.713
0.003
0.00136
0.712
0.715
0.00227985 0.00190418
0.993
0.001
0.00072
0.992
0.993
0.645
0.003
0.00145
0.644
0.647
0.000728804 0.00224738
Page 9 of 16