June 17, 2022 Vermelding onderdeel organisatie Transportation simulator CIM project meeting CIM Project meeting Jonne Zutt
Feb 23, 2016
April 22, 2023
Vermelding onderdeel organisatie
Transportation simulatorCIM project meeting
CIM Project meeting
Jonne Zutt
April 22, 2023 2
Contents
• Transport Planning• TP Simulator• Pamela• TP Simulator
April 22, 2023 3
Transport Planning - overview
Infrastructure
Agents
Orders
Incidents
(Re)Planning
Execution &monitoring
Statistics Order stateAgent history
TP Simulator
April 22, 2023 4
Incident management
• Any event from outside the planning system that cannot be anticipated with certainty.• new orders, changes in orders• road blocks, traffic jams• malfunctional vehicles
• What is incident management?• Ensuring the correct operation of a system
under the events of incidents• Detection, repair and notification of problems
April 22, 2023 5
Agent plan• Route Rt =n,• Schedule Sd = n, where i is claimed at time i,• (Un)loading U, L = (O)n.
Performance measures• Infrastructure resource utilization, transportation
resource utilization,• Sum of pick-up / delivery penalties,• Scalability: cpu load and communication.
April 22, 2023 6
Transport Planning
• Testing performance and robustness of routing/scheduling algorithms in normal conditions varying order densities / agents / infrastructure properties.
• Testing performance and robustness with different incident rates.
April 22, 2023 7
TP Simulator for CIM
• Similarities:• Communicating agents with different
capabilities• Resource based planning• Blackboard, negotiation, auction, contracting
• Differences:• Claiming multiple resources simultaneously• Tasks with precedence relations [Jeroen]
April 22, 2023 8
Pamela
• A.J.C. van Gemund• General-purpose performance simulation
interface,• Concurrency is obtained by using light-weight
threads,• Based on procedure-oriented (P/V-style)
paradigm,• Fast discrete event simulator.
April 22, 2023 9
Pamela run-time library [tr-1994-03]• Process pam_proc:
• Light-weight thread• Local timestamp
• Semaphore pam_sema:• Credit• Queue of blocked processes
• At each time, only one process is running (preemptive vs. non-preemptive)
• pam_time( ), pam_delay(delay)• pam_P(sema), pam_V(sema), pam_T(sema)
April 22, 2023 10
Pamela – communication
Send(msg)
pam_P(room)push(msg)pam_V(data)
Receive( )
pam_P(data)pop(msg)pam_V(room)
return msg
Non-blocking-receive( )
if pam_T(data) > 0return Receive( )
elsereturn NoMessageAvailable
Msg 1 data.credit = 2room.credit = 4
Msg 2
April 22, 2023 11
Pamela – capacity constraints
Drive(A, B)
pam_P(cap_B)arbitrated_pam_V(cap_A)pam_delay(…)
Arbitrated_pam_V(sema)
pam_V(sema)Reschedule processes that are
blocked for sema
• Each infrastructure resource has acapacity semaphore cap_, with its creditinitialized to the capacity of the resource.
April 22, 2023 12
Visualize agent plans
April 22, 2023 13
Preliminary results