2. How we design our improvement on
baseline controller
• We observe the baseline controller in different
scenarios and we noticed some problems in
the baseline controller . These problems might
lead to low efficiency on delivering cargoes to
stops in zone 1 and 2.
3. Design 1
• -Problem 1
• In baseline controller , the trucks waiting in
the terminal will only be delivered when their
loading size == their capacity or the tick
reached 400 n(where n =1,2,3,…) .Some trucks
may be sent away from the terminal even they
are only loaded with few cargoes or none.
4. Design 1
• -Solution 1
• So , for the tick smaller than 5000,we set a waiting time array for
collecting the time the trucks stay in the terminal 1 and 2 for the
controller to determine which trucks should go first .
• For the tick greater than 5000 , no waiting time array is needed
because no cargoes would be generated from terminal , and hence
the cargoes in terminal loaded to trucks will be the last group of
cargoes.
• (the truck with longest waiting time most likely goes first)
• By doing countless experiment , we finally decided the waiting time
should be 200.
• -Outcome 1
• NO trucks with few cargoes or without any cargoes are sent away
from terminal 1 and 2 before tick >= 5000.
5. Design 2
• -Problem 2
• We noticed that in the scenario 5,many
cargoes will be generated for stop 6.So the
trucks that are allocated in fixed routes might
lower the efficiency of delivering the cargoes.
6. Design 2
• -Solution 2
• Find the stop with the greatest number of
cargoes waiting in the terminal 1 or 2 and
handle it by allocating more trucks if the
number of cargoes is rising very fast.
• -Outcome 2
• The overall delivery time is greatly reduced in
scenario 5.
7. Design 3
• -Problem 3
• If there are more than one trucks moving on
the same route , the slower trucks might slow
down the faster trucks , and would lower the
delivering efficiency.
8. Design 3
• -Solution 3
• If the number of cargoes for stop 4 is greater than the
capacity of slowest trucks waiting in the terminal 1,the
cargoes will be loaded to the slowest trucks
immediately.
• By doing countless experiment , we got the result of
using slower trucks to deliver cargoes with the number
greater than 240[which is the capacity of slowest truck]
is the most efficient way.
• -Outcome 3
• Fewer trucks are slowed by the slower trucks leading
ahead in the same route.
9. Design 4
• -Problem 4
• ToT2Cargoes sometimes might be loaded to
trucks that are set to route 2 and gets
returned since trucks can’t go to T2 by using
the route 2.
10. Design 4
• -Solution 4
• ToT2cargoes waiting in T1 will be loaded to
the trucks that was set to route 0 or 1.
• -Outcome 4
• It increases the efficiency of delivering cargoes
as no space will be wasted for loading
ToT2cargoes to trucks that was set to route 2
11. Design 5
• -Problem 5
• In baseline controller , no trucks will be
reserved for fast delivery to terminal 2 . This
problem increases the overall delivery time of
trucks as the trucks in terminal 2 are left idle
and might go after the waiting time == 200 n
(where n =1,2,3,…)even with few cargoes or
no cargoes.
12. Design 5
• -Solution 5
• We set the controller always reserve fastest
idling trucks in the terminal 1 to deliver the
cargoes for the ToT2cargoes .
• -Outcome 5
• Fewer trucks in terminal 2 will be sent with
few or no cargoes .
13. Extra design
• We created handleS4Cargoes and anotherstop
class in terminal 1 for (some reason)
• We created (new class) in terminal 2 for (some
reason)
14. Why we didn’t use adaptive controller
• After discussion , we decided not to utilize the
adaptive controller method as we thought
having a general solution to control the trucks
is already enough . (Reason why multiple
controllers should not be used)
15. Result
• The controller we designed does improve the
outcome . By running “My simulation.java” we
got score for scenario 1,2,3,4,5 as below
respectively:
• And we got the final grand score:
16. To be added later
• Detailed pictures for easy understanding of
audience