Beruflich Dokumente
Kultur Dokumente
COURSE:
CSI4124/SYS5110
Foundations on Modeling
and Simulation
SEMESTER: FALL 2013
PROFESSOR:
DATE:
TIME:
Gilbert Arbez
FINAL EXAMINATION
Solution
This solution uses a category with scope=SET 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
R.Manipulator
Q.ManipQu[RP]
5
Entity Categories:
Notes
3.1.3
RC.Station: This entity has a scope of Set with numStations entities (numStations is a parameter).
Q.ManipQu: A Set of 2 queue entities that represent the stations waiting for the Manipulator resource. The queues
contain the station set identifiers. The identifiers used with this set are SF (store and fetch) and RP (reposition).
R.Manipulator: This resource is used to reposition parts at stations or move/fetch parts to/from storage.
Parts are not explicitly modelled.
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
busy
Description
Set to TRUE (value 1) when station is completing a painting operation and
FALSE (0) otherwise.
Attributes
stationID
busy
Description
The identifier (index) of the station entity being serviced.
Set to TRUE (1) when involved in a manipulator operation and FALSE (0)
otherwise.
Attributes
list
n
Description
The list of station identifiers in the queue.
The number of stations 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, n)
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[C.Stations[I
D].Busy]
Name
manipulatorUtil
stationsUtil
Utilisation of the
manipulator.
The utilisation of the station,
that is, the percentage of
time a station is busy.
Operation
TRJ[R.Manipulator.Busy]
AVG
TRJ[RC.Station[ID].Busy]
Where ID varies between 0
and numStations-1
UDP.ComputeStationU
til()
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
R.Manipulator.stationID SM.RemoveQue(Q.ManipQu[SF])
Duration
RVP.uStoreAndFetchTime()
Event SCS
R.Manipulator.busy FALSE
SP.Start(Painting1, R.Manipulator.stationID)
Activity: Painting1
Painting 1 operation.
Causal
Event SCS
Duration
Event SCS
stationID
RC.Station[stationID].busy TRUE
RVP.uPainting1Time()
RC.Station[stationID].busy FALSE
SP.InsertQue(Q.ManipQu[RP], stationID)
Activity: Painting2
Painting 2 operation.
Causal
Event SCS
Duration
Event SCS
stationID
RC.Station[stationID].busy TRUE
RVP.uPaintingTime2()
RC.Station[stationID].busy FALSE
SP.InsertQue(Q.ManipQu[SF], stationID)
Page 5 of 16
}
class Station
{
protected boolean busy;
}
/*-------------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].size() != 0);
return(ret);
}
public void startingEvent()
{
model.rManipulator.busy = true;
model.rManipulator.stationID = model.qManipQu[model.RP].remove(0);
}
protected double duration()
{
double dur = model.rvp.uRepositionTime();
return dur;
}
protected void terminatingEvent()
{
model.rManipulator.busy = false;
Painting2 sAct = new Painting2(model, model.rManipulator.stationID);
model.spStart(sAct);
}
}
Page 6 of 16
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