Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
NetworkedGraphicsMV3500
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Analyze
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Savage
NetworkedGraphicsMV3500
Commits
53f96992
Commit
53f96992
authored
2 years ago
by
dansl
Browse files
Options
Downloads
Patches
Plain Diff
Commit HW 4 Sloan - Complete
parent
a97c9e07
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
MV3302ClassCode/src/mv3302/TransferLineComponent.java
+7
-2
7 additions, 2 deletions
MV3302ClassCode/src/mv3302/TransferLineComponent.java
MV3302ClassCode/src/mv3302/run/RunTransferLineComponent.java
+22
-10
22 additions, 10 deletions
MV3302ClassCode/src/mv3302/run/RunTransferLineComponent.java
with
29 additions
and
12 deletions
MV3302ClassCode/src/mv3302/TransferLineComponent.java
+
7
−
2
View file @
53f96992
...
@@ -153,7 +153,6 @@ public class TransferLineComponent extends SimEntityBase {
...
@@ -153,7 +153,6 @@ public class TransferLineComponent extends SimEntityBase {
fireIndexedPropertyChange
(
station
,
"delayInQueue"
,
oldDelayInQueue
[
station
],
delayInQueue
[
station
]);
fireIndexedPropertyChange
(
station
,
"delayInQueue"
,
oldDelayInQueue
[
station
],
delayInQueue
[
station
]);
part
.
incrementDelayInQueue
(
delayInQueue
[
station
]);
part
.
incrementDelayInQueue
(
delayInQueue
[
station
]);
waitDelay
(
"EndProcessing"
,
getProcessingTimeGenerator
()[
station
].
generate
(),
part
,
station
);
waitDelay
(
"EndProcessing"
,
getProcessingTimeGenerator
()[
station
].
generate
(),
part
,
station
);
}
}
...
@@ -166,7 +165,7 @@ public class TransferLineComponent extends SimEntityBase {
...
@@ -166,7 +165,7 @@ public class TransferLineComponent extends SimEntityBase {
*/
*/
public
void
doEndProcessing
(
Part
part
,
int
station
)
{
public
void
doEndProcessing
(
Part
part
,
int
station
)
{
int
[]
oldNumberAvailableMachines
=
getNumberAvailableMachines
().
clone
();
int
[]
oldNumberAvailableMachines
=
getNumberAvailableMachines
().
clone
();
getN
umberAvailableMachines
()
[
station
]++;
n
umberAvailableMachines
[
station
]++;
fireIndexedPropertyChange
(
station
,
"numberAvailableMachines"
,
oldNumberAvailableMachines
[
station
],
getNumberAvailableMachines
()[
station
]);
fireIndexedPropertyChange
(
station
,
"numberAvailableMachines"
,
oldNumberAvailableMachines
[
station
],
getNumberAvailableMachines
()[
station
]);
double
[]
oldTimeAtStation
=
getTimeAtStation
().
clone
();
double
[]
oldTimeAtStation
=
getTimeAtStation
().
clone
();
timeAtStation
[
station
]
=
part
.
getElapsedTime
();
timeAtStation
[
station
]
=
part
.
getElapsedTime
();
...
@@ -181,6 +180,7 @@ public class TransferLineComponent extends SimEntityBase {
...
@@ -181,6 +180,7 @@ public class TransferLineComponent extends SimEntityBase {
waitDelay
(
"StartProcessing"
,
0.0
,
station
);
waitDelay
(
"StartProcessing"
,
0.0
,
station
);
}
}
}
}
/**
/**
* doPartComplete brings in argument part and assigns the value of
* doPartComplete brings in argument part and assigns the value of
* totalTimeInSystem to the parts getAge() value. It also assigns the
* totalTimeInSystem to the parts getAge() value. It also assigns the
...
@@ -188,9 +188,14 @@ public class TransferLineComponent extends SimEntityBase {
...
@@ -188,9 +188,14 @@ public class TransferLineComponent extends SimEntityBase {
* number of completed parts by one.
* number of completed parts by one.
*/
*/
public
void
doPartComplete
(
Part
part
)
{
public
void
doPartComplete
(
Part
part
)
{
double
oldTotalTimeInSystem
=
totalTimeInSystem
;
totalTimeInSystem
=
part
.
getAge
();
totalTimeInSystem
=
part
.
getAge
();
firePropertyChange
(
"totalTimeInSystem"
,
oldTotalTimeInSystem
,
getTotalTimeInSystem
());
double
oldTotalDelayInQueue
=
totalDelayInQueue
;
totalDelayInQueue
=
part
.
getTotalDelayInQueue
();
totalDelayInQueue
=
part
.
getTotalDelayInQueue
();
firePropertyChange
(
"totalDelayInQueue"
,
oldTotalDelayInQueue
,
getTotalDelayInQueue
());
}
}
/**
/**
* @return the totalNumberMachines
* @return the totalNumberMachines
*/
*/
...
...
This diff is collapsed.
Click to expand it.
MV3302ClassCode/src/mv3302/run/RunTransferLineComponent.java
+
22
−
10
View file @
53f96992
...
@@ -11,6 +11,7 @@ import simkit.random.RandomVariate;
...
@@ -11,6 +11,7 @@ import simkit.random.RandomVariate;
import
simkit.random.RandomVariateFactory
;
import
simkit.random.RandomVariateFactory
;
import
simkit.stat.MultipleCollectionSizeTimeVarying
;
import
simkit.stat.MultipleCollectionSizeTimeVarying
;
import
simkit.stat.MultipleSimpleStatsTally
;
import
simkit.stat.MultipleSimpleStatsTally
;
import
simkit.stat.SimpleStatsTally
;
import
simkit.util.SimplePropertyDumper
;
import
simkit.util.SimplePropertyDumper
;
/**
/**
...
@@ -49,8 +50,8 @@ public class RunTransferLineComponent {
...
@@ -49,8 +50,8 @@ public class RunTransferLineComponent {
=
new
MultipleCollectionSizeTimeVarying
(
"queue"
);
=
new
MultipleCollectionSizeTimeVarying
(
"queue"
);
transferLineComponent
.
addPropertyChangeListener
(
"queue"
,
numberInQueueStat
);
transferLineComponent
.
addPropertyChangeListener
(
"queue"
,
numberInQueueStat
);
Multiple
CollectionSizeTimeVarying
numberAvailableMachinesStat
Multiple
SimpleStatsTally
numberAvailableMachinesStat
=
new
Multiple
CollectionSizeTimeVarying
(
"numberAvailableMachines"
);
=
new
Multiple
SimpleStatsTally
(
"numberAvailableMachines"
);
transferLineComponent
.
addPropertyChangeListener
(
"numberAvailableMachines"
,
numberAvailableMachinesStat
);
transferLineComponent
.
addPropertyChangeListener
(
"numberAvailableMachines"
,
numberAvailableMachinesStat
);
// Tally statistics are computed in the same way by "listening"
// Tally statistics are computed in the same way by "listening"
...
@@ -64,26 +65,35 @@ public class RunTransferLineComponent {
...
@@ -64,26 +65,35 @@ public class RunTransferLineComponent {
transferLineComponent
.
addPropertyChangeListener
(
"delayInQueue"
,
transferLineComponent
.
addPropertyChangeListener
(
"delayInQueue"
,
delayInQueueStat
);
delayInQueueStat
);
SimpleStatsTally
totalTimeInSystemStat
=
new
SimpleStatsTally
(
"totalTimeInSystem"
);
transferLineComponent
.
addPropertyChangeListener
(
totalTimeInSystemStat
);
SimpleStatsTally
totalDelayInQueueStat
=
new
SimpleStatsTally
(
"totalDelayInQueue"
);
transferLineComponent
.
addPropertyChangeListener
(
totalDelayInQueueStat
);
// arrivalProcess.addPropertyChangeListener(simplePropertyDumper);
// arrivalProcess.addPropertyChangeListener(simplePropertyDumper);
// transferLineComponent.addPropertyChangeListener(simplePropertyDumper);
// transferLineComponent.addPropertyChangeListener(simplePropertyDumper);
// Was "true" when debugging model
// Was "true" when debugging model
Schedule
.
setVerbose
(
false
);
Schedule
.
setVerbose
(
false
);
// Run for 500,000 time units
// Run for 500,000 time units
double
stopTime
=
500.0
;
double
stopTime
=
500
000
.0
;
Schedule
.
stopAtTime
(
stopTime
);
Schedule
.
stopAtTime
(
stopTime
);
// Initialized and Run
// Initialized and Run
Schedule
.
reset
();
Schedule
.
reset
();
//Start Running of Simulation
//Start Running of Simulation
Schedule
.
startSimulation
();
//Commented out because I couldn't get the code to run past the doArrival() method.
Schedule
.
startSimulation
();
System
.
out
.
printf
(
"%nSimulation ended at time %,.2f%n%n"
,
Schedule
.
getSimTime
());
System
.
out
.
printf
(
"%nSimulation ended at time %,.2f%n%n"
,
Schedule
.
getSimTime
());
System
.
out
.
printf
(
"Number arrivals: %5s%n"
,
arrivalProcess
.
getNumberArrivals
());
System
.
out
.
printf
(
"Number arrivals: %5s%n"
,
arrivalProcess
.
getNumberArrivals
());
System
.
out
.
printf
(
"Number Completed: %4s%n%n"
,
t
imeAtStation
Stat
.
getCount
());
System
.
out
.
printf
(
"Number Completed: %4s%n%n"
,
t
otalTimeInSystem
Stat
.
getCount
());
System
.
out
.
printf
(
"%15s%15s%15s%15s%15s%n"
,
""
,
"Avg"
,
"Avg #"
,
"Avg Delay"
,
"Avg Time"
);
System
.
out
.
printf
(
"%15s%15s%15s%15s%15s%n"
,
""
,
"Avg"
,
"Avg #"
,
"Avg Delay"
,
"Avg Time"
);
System
.
out
.
printf
(
"%15s%15s%15s%15s%15s%n"
,
"station"
,
"util"
,
"in Queue"
,
"in Queue"
,
"at Station"
);
System
.
out
.
printf
(
"%15s%15s%15s%15s%15s%n"
,
"station"
,
"util"
,
"in Queue"
,
"in Queue"
,
"at Station"
);
double
avgNumberInSystem
=
numberInQueueStat
.
getMean
()
+
11
-
numberAvailableMachinesStat
.
getMean
();
double
arrivalRate
=
arrivalProcess
.
getNumberArrivals
()
/
Schedule
.
getSimTime
();
for
(
int
i
=
0
;
i
<
totalNumberMachines
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
totalNumberMachines
.
length
;
i
++)
{
double
utilization
=
1.0
-
numberAvailableMachinesStat
.
getMean
(
i
)
/
transferLineComponent
.
getTotalNumberMachines
(
i
);
double
utilization
=
1.0
-
numberAvailableMachinesStat
.
getMean
(
i
)
/
transferLineComponent
.
getTotalNumberMachines
(
i
);
double
avgNumberInQueue
=
numberInQueueStat
.
getMean
(
i
);
double
avgNumberInQueue
=
numberInQueueStat
.
getMean
(
i
);
...
@@ -97,14 +107,16 @@ public class RunTransferLineComponent {
...
@@ -97,14 +107,16 @@ public class RunTransferLineComponent {
System
.
out
.
printf
(
"%15s%15s%15s%n"
,
""
,
"Avg Delay"
,
"Avg Time"
);
System
.
out
.
printf
(
"%15s%15s%15s%n"
,
""
,
"Avg Delay"
,
"Avg Time"
);
System
.
out
.
printf
(
"%15s%15s%15s%n"
,
"station"
,
"in Queue"
,
"at Station"
);
System
.
out
.
printf
(
"%15s%15s%15s%n"
,
"station"
,
"in Queue"
,
"at Station"
);
for
(
int
i
=
0
;
i
<
totalNumberMachines
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
totalNumberMachines
.
length
;
i
++)
{
double
avgNumberInQueue
=
numberInQueueStat
.
getMean
(
i
);
double
avgDelayInQueue
=
delayInQueueStat
.
getMean
(
i
);
double
avgDelayInQueue
=
delayInQueueStat
.
getMean
(
i
);
double
avgTimeAtStation
=
avg
Delay
InQueue
+
timeAtStationStat
.
getMean
()
/
transferLineComponent
.
getNumberComplete
()
;
double
avgTimeAtStation
=
avg
Number
InQueue
/
arrivalRate
;
System
.
out
.
printf
(
"%15s%15.4f%15.4f%n"
,
i
,
avgDelayInQueue
,
avgTimeAtStation
);
System
.
out
.
printf
(
"%15s%15.4f%15.4f%n"
,
i
,
avgDelayInQueue
,
avgTimeAtStation
);
}
}
System
.
out
.
println
();
System
.
out
.
println
();
System
.
out
.
printf
(
"Avg Time in System: %.4f (Using Little: %.4f)%n"
,
timeAtStationStat
.
getMean
()
+
delayInQueueStat
.
getMean
(),
timeAtStationStat
.
getMean
()
+
delayInQueueStat
.
getMean
()
-
transferLineComponent
.
getTotalTimeInSystem
());
System
.
out
.
printf
(
"Avg Time in System: %.4f (Using Little: %.4f)%n"
,
totalTimeInSystemStat
.
getMean
()
+
totalDelayInQueueStat
.
getMean
(),
System
.
out
.
printf
(
"Avg total delay in queue: %.4f (Using Little: %.4f)%n"
,
delayInQueueStat
.
getMean
(),
avgNumberInSystem
/
arrivalRate
);
delayInQueueStat
.
getMean
()
-
transferLineComponent
.
getTotalTimeInSystem
()
*
(
1.0
-
numberAvailableMachinesStat
.
getMean
()
/
totalNumberMachines
.
length
));
System
.
out
.
printf
(
"Avg total delay in queue: %.4f (Using Little: %.4f)%n"
,
totalDelayInQueueStat
.
getMean
(),
totalDelayInQueueStat
.
getMean
()
-
transferLineComponent
.
getTotalTimeInSystem
()
*
((
1.0
-
numberAvailableMachinesStat
.
getMean
())
/
totalNumberMachines
.
length
));
}
}
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment