Modelling receiver logistics behaviour

Modelling receiver logistics behaviour

Available online at www.sciencedirect.com Available online at www.sciencedirect.com Available online at www.sciencedirect.com ScienceDirect Procedi...

364KB Sizes 0 Downloads 93 Views

Available online at www.sciencedirect.com Available online at www.sciencedirect.com

Available online at www.sciencedirect.com

ScienceDirect

Procedia Computer Science 00 (2018) 000–000 Procedia Computer Science (2018) 000–000 Procedia Computer Science 15100 (2019) 763–768

www.elsevier.com/locate/procedia www.elsevier.com/locate/procedia

The 8th International Workshop on Agent-based Mobility, Traffic and Transportation Models, The 8th International Workshop on-Agent-based and Transportation Models, April 29 May 2, 2019,Mobility, Leuven, Traffic Belgium April 29 - May 2, 2019, Leuven, Belgium

Modelling Modelling receiver receiver logistics logistics behaviour behaviour Wilna L. Beanaa , Johan W. Jouberta,∗ Wilna L. Bean , Johan W. Jouberta,∗

a Centre a Centre

for Transport Development, Industrial & Systems Engineering, for TransportofDevelopment, Industrial Systems Engineering, University Pretoria, Pretoria, 0083,&South Africa University of Pretoria, Pretoria, 0083, South Africa

Abstract Abstract There is a need for collaborative urban freight planning and appropriate decision and planning support tools are lacking, resulting There is a needunderstanding for collaborative urban freight planning appropriate decision and planning support tools are resulting in inadequate of how urban freight agentsand should collaborate and what benefits can be gained fromlacking, their coalitions. in inadequate understanding of how urban freightreceiver agents should and what benefits can be gained as from their coalitions. This paper is therefore concerned with including freight collaborate agents as autonomous agents into MATSim a first step towards This paperan is appropriate therefore concerned including freight agents as autonomous agents MATSim as a first step towards providing decision with support systemreceiver to enable decision makers to determine howinto a balance between receiver restricproviding an appropriate decision to enable decisionwith makers to determine how a balance betweentoreceiver tions and urban freight delivery costsupport can be system achieved. The simulation integrated receiver behaviour is applied a small restriccase as tions urban freight delivery cost canthe benewly achieved. The simulation with integrated receiver behaviour is applied to a small case as proofand of concept. Results indicate that included receiver agents changed their reordering behaviour autonomously whilst proof of concept. Results indicate that the newly included receiver agents changed their reordering behaviour autonomously whilst trying to reduce their own cost, confirming that the extended MATSim platform with integrated autonomous carrier and receiver trying to reduce theirbehavioural own cost, confirming that extended MATSim platform with integrated autonomous carrier and receiver agents demonstrates sensitivity in thethe tested scenarios. agents demonstrates behavioural sensitivity in the tested scenarios. c 2019  2018 The The Authors. Authors. Published Published by by Elsevier Elsevier B.V. B.V. © c 2018  The Authors. Published by Elsevier B.V. This is This is an an open open access access article article under under the the CC CC BY-NC-ND BY-NC-ND license license (http://creativecommons.org/licenses/by-nc-nd/4.0/) (http://creativecommons.org/licenses/by-nc-nd/4.0/) This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of the Conference Program Chairs. responsibility of the Conference Program Chairs. Peer-review under responsibility of the Conference Program Chairs. Keywords: freight; agent-based simulation; receiver reordering; MATSim Keywords: freight; agent-based simulation; receiver reordering; MATSim

1. Introduction 1. Introduction Behavioural freight modelling is receiving increased attention and many researchers are starting to incorporate Behavioural freightbehaviour modelling is decision receivingmaking increased and many are starting to of incorporate elements of logistics and intoattention freight models. To researchers date, a significant amount noteworelements of logistics behaviour and decision making into freight models. To date, a significant amount of thy work have focused on incorporating logistics behaviour of shipper and carrier freight agents into freightnotewormodels. thy work have on incorporating logistics shipper freight and carrier agents into freight However, only focused a few studies are dedicated towardsbehaviour modellingofreceiver agentfreight logistics behaviour, evenmodels. though However, only a few arestakeholder dedicated towards modelling decisions receiver freight agent logistics behaviour, even though the receiver agent is astudies powerful whose reordering generate demand for freight movements. Rethe receiver is a powerful whose reordering decisions generate demand for freight movements. Receivers oftenagent prescribe when andstakeholder how shippers and carriers must deliver their orders [2], therefore carriers are required ceivers often prescribe when and how shippers and carriers must deliver their orders [2], therefore carriers are required to plan their deliveries according to the reordering decisions of receivers. Since these decisions could potentially have to plan their impact deliveries tocost, the reordering decisions of receivers. Since these decisions could potentially a significant on according the delivery it is important to consider such receiver behaviour during freight planninghave [1]. a significant impact on the delivery cost, it is important to consider such receiver behaviour during freight planning [1]. ∗ ∗

Corresponding author. Tel.: +27 12 420 2843 ; fax: +27 12 362 5103. Corresponding Tel.: +27 12 420 2843 ; fax: +27 12 362 5103. E-mail address:author. [email protected] E-mail address: [email protected] c 2018 The Authors. Published by Elsevier B.V. 1877-0509  c 2018 1877-0509  Thearticle Authors. Published by Elsevier B.V. This is an open access under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/) 1877-0509 © 2019 Thearticle Authors. Published by Elsevier B.V. This is an open access under the Conference CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of the Program Chairs. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/) Peer-review under responsibility of the Conference Program Chairs. Peer-review under responsibility of the Conference Program Chairs. 10.1016/j.procs.2019.04.103

764 2

Wilna L. Bean et al. / Procedia Computer Science 151 (2019) 763–768 W.L. Bean & J.W. Joubert / Procedia Computer Science 00 (2018) 000–000

Agent-based modelling has the ability to model agents with individual and autonomous behaviour that interact with one another in a transportation system under varying conditions. This paper focuses on including receivers as autonomous agents into an existing agent-based urban transportation simulation (referred to as the Multi-Agent Transport Simulation (MATSim) platform) as a first step to enable decision makers to evaluate the trade-off between receiver restrictions and freight delivery cost. MATSim was chosen due to its ability to simulate large-scale scenarios. 2. Logistics behavioural modelling in MATSim MATSim is an extendable, activity-based, multi-agent transport simulation platform implemented in Java. MATSim combines specific agent populations, with individual agent activity schedules and their activity locations on a transportation network, on which they compete in time and space to perform their own scheduled activities as efficiently as possible [3]. MATSim is based on a co-evolutionary principle, where all agents try to optimise their own daily activity schedules, referred to as plans, whilst competing against other agents for space on a limited network. MATSim, like other tools, was originally developed for passenger transportation. Recognising the need for the inclusion of commercial vehicle movements into MATSim for more realistic simulations, many recent research and developments were directed towards incorporating commercial vehicle movements into the platform [4–6]. Even though these studies prove that commercial vehicles can accurately be simulated with private vehicles in MATSim, the logistics decision-making behaviour of freight agents in these studies are limited and commercial vehicle movements are basically integrated into the MATSim platform as additional background load on the simulated network [8]. Consequently, the modelling of agents with adaptable logistics behaviour in MATSim received increased attention in the last few years. Schroeder et al. [8] develop a multi-agent freight model that provides the ability to simulate logistics behaviour in MATSim by introducing a new software layer of carrier agents into the simulation. Each carrier represents a business with depots and a vehicle fleet that is responsible for the movement of freight from shippers to receivers. These goods movements depend on contracts outlining the quantity and type of goods to be transported, its origin and destination locations in the network, as well as delivery and pick-up time windows. The carrier operates from one or more depots and uses its own vehicle fleet to perform the required pick-ups at shippers and deliveries to receivers. Based on the orders from receivers, pick-up and delivery locations and time windows, as well as the carrier’s depot location(s) and fleet composition; a carrier plan is created using the jsprit toolkit [7, 9], and injected into the mobility simulation. The carrier plan outlines a schedule for each of the carrier’s delivery vehicles, that includes that vehicle’s planned pick-up and delivery locations and times, arrival times at customers, as well as its route through the transportation network, which begins and ends at a carrier depot [9]. After executing their plans, all agents score their plans’ performance and try to improve it by changing their plans before the next mobility simulation (mobsim) iteration. This is achieved by rerouting vehicles, adding or removing a vehicle from the schedule, or switching deliveries between vehicles. As the carrier is responsible for the movement of freight between shippers and receivers, any reordering decisions made by receivers will influence how and when a carriers deliver. To date, receivers were included statically in MATSim as a list of services a carrier must perform. Each service represents one receiver order and includes the receiver’s location, order quantity, delivery time windows, and delivery unloading time. The carrier then develops its plan based on its allocated services. The parameters specified by each service can have a notable impact on the behaviour and delivery cost of a carrier, making it beneficial to include more receiver behaviour into MATSim. This will enable more realistic modelling of the interactions between receivers and carriers, as well as the impact of these interactions on the transportation system and delivery cost. Consequently, a new Receiver agent is introduced to the software layer where Schroeder et al. [8] included the existing Carrier. 3. Model 3.1. Initial demand Before the simulation run is initiated, an initial demand is generated for all agents in the simulation. Figure 1 depicts a Unified Modelling Language (UML) class diagram of the methods and classes use to generate this initial



Wilna L. Bean et al. / Procedia Computer Science 151 (2019) 763–768 W.L. Bean & J.W. Joubert / Procedia Computer Science 00 (2018) 000–000 Receivers UNREGISTERED UNREGISTERED UNREGISTERED UNREGISTERED -description: String UNREGISTERED -receiverMap: TreeMap UNREGISTERED -productTypeMap: TreeMap UNREGISTERED UNREGISTERED UNREGISTERED UNREGISTERED +Receivers() UNREGISTERED UNREGISTERED +getReceivers(): Map,Receiver> UNREGISTERED UNREGISTERED +getProductType(Id): ProductType +getAllProductTypes(): UNREGISTERED Collection UNREGISTERED +getDescription(): String UNREGISTERED UNREGISTERED +setDescription(String) UNREGISTERED UNREGISTERED +addReceiver(Receiver) UNREGISTERED UNREGISTERED +addProductType(ProductType) UNREGISTERED UNREGISTERED +createAndAddProductType(Id): ProductType UNREGISTERED UNREGISTERED +linkReceiverOrderToCarriers(Carrier) 0..* «Interface» UNREGISTERED Receiver UNREGISTERED UNREGISTERED UNREGISTERED UNREGISTERED +getId(): Id UNREGISTERED UNREGISTERED +getLinkId(): Id UNREGISTERED UNREGISTERED +getPlans(): List UNREGISTERED UNREGISTERED +getProducts(): Collection UNREGISTERED UNREGISTERED +getProduct(Id): ProductType UNREGISTERED +getInitialCost(): double UNREGISTERED UNREGISTERED UNREGISTERED +setLinkId(Id) +setInitialCost(double) UNREGISTERED UNREGISTERED

UNREGISTERED ReceiverImpl UNREGISTERED

0..1 0..1

UNREGISTERED -id: UNREGISTERED Id UNREGISTERED UNREGISTERED -location: Id UNREGISTERED UNREGISTERED -plans: List UNREGISTERED UNREGISTERED -products: List UNREGISTERED UNREGISTERED -selectedPlan: ReceiverPlan -cost: double UNREGISTERED UNREGISTERED UNREGISTERED UNREGISTERED +ReceiverImpl(Id) UNREGISTERED +getId(): Id UNREGISTERED UNREGISTERED +getLinkId(): Id UNREGISTERED UNREGISTERED UNREGISTERED +getPlans(): List +getProducts(): Collection UNREGISTERED UNREGISTERED +getProduct(Id): ProductType UNREGISTERED UNREGISTERED +getSelectedPlan(): ReceiverPlan UNREGISTERED UNREGISTERED +getInitialCost(double) UNREGISTERED UNREGISTERED +setLinkId(Id) UNREGISTERED UNREGISTERED +setSelectedPlan(ReceiverPlan) UNREGISTERED UNREGISTERED +setInitialCost(double) UNREGISTERED boolean UNREGISTERED +addPlan(ReceiverPlan): UNREGISTERED UNREGISTERED +removePlan(ReceiverPlan): boolean UNREGISTERED UNREGISTERED +createCopyOfSelectedPlanAndMakeSelected(): ReceiverPlan +addProducts(ReceiverProduct): Receiver

«Interface» ProductType

0..*

ProductTypeImpl -description: String -typeId: Id -reqCapacity: double

+getDescription(): String +getRequiredCapacity(): double +setDescription(String) +setRequiredCapacity(double)

+ProductTypeImpl(Id) +getDescription(): String +getRequiredCapacity(): double +getId(): Id +setDescription(String) +setRequiredCapacity(double)

0..1 ReceiverProduct

-stockOnHand: double -policy: ReorderPolicy UNREGISTERED -productType: ProductType UNREGISTERED +ReceiverProduct() UNREGISTERED +getProductType(): ProductType UNREGISTERED 0..* +getReorderPolicy(): ReorderPolicy UNREGISTERED +getStockOnHand(): double UNREGISTERED +setProductType(ProductType) +setReorderPolicy(ReorderPolicy) UNREGISTERED +setStockOnHand(double) UNREGISTERED

«Interface» ReorderPolicy 0..1

+getPolicyName(): String +calculateOrderQuantity(double): double

0..1

0..*

UNREGISTERED Order UNREGISTERED -orderId: Id UNREGISTERED -orderQuantity: double UNREGISTERED -dailyOrderQuantity: double UNREGISTERED -serviceTime: double UNREGISTERED -numDel: double UNREGISTERED +Order(Id, Receiver, ReceiverProduct) UNREGISTERED +getProduct(): ReceiverProduct UNREGISTERED +getReceiver(): Receiver UNREGISTERED +getId(): Id UNREGISTERED +getServiceDuration(): double UNREGISTERED +getOrderQuantity(): double +getDailyOrderQuantity(): double UNREGISTERED +getNumberOfWeeklyDeliveries(): double UNREGISTERED +setServiceDuration(double) UNREGISTERED +setOrderQuantity(double) +setDailyOrderQuantity(double) +setNumberOfWeeklyDeliveries(double) +createCopy(): Order 0..*

765 3

SSReorderPolicy UNREGISTERED -minLevel:UNREGISTERED double UNREGISTERED -maxLevel: double UNREGISTERED +SSReorderPolicy(double, double) UNREGISTERED +getPolicyName(): String +getMinimumStockLevel(): double +getMaximumStockLevel(): double +calculateOrderQuantity(double): double

ReceiverOrder UNREGISTERED UNREGISTERED UNREGISTERED -receiverId:UNREGISTERED Id -cost: double UNREGISTERED UNREGISTERED -carrierId: Id UNREGISTERED UNREGISTERED -carrier: Carrier UNREGISTERED UNREGISTERED UNREGISTERED Collection, UNREGISTEREDId) +ReceiverOrder(Id, UNREGISTERED +getReceiverId(): Id UNREGISTERED +getReceiverProductOrders(): UNREGISTEREDCollection UNREGISTERED +getCarrierId(): Id UNREGISTERED UNREGISTERED +getCarrier(): Carrier UNREGISTERED UNREGISTERED +getScore(): double UNREGISTERED UNREGISTERED +setCarrier(Carrier) UNREGISTERED UNREGISTERED +setScore(double)

0..* UNREGISTERED ReceiverPlan UNREGISTERED -score: double UNREGISTERED -selected: boolean UNREGISTERED -timeWindows: List UNREGISTERED +ReceiverPlan(Receiver) UNREGISTERED +getReceiver():UNREGISTERED Receiver +getScore(): double UNREGISTERED +getReceiverOrder(Id): UNREGISTEREDReceiverOrder +getTimeWindows(): List UNREGISTERED +getReceiverOrders(): Collection UNREGISTERED +setScore(double) UNREGISTERED +setSelected(boolean) UNREGISTERED +addReceiverOrder(ReceiverOrder) UNREGISTERED +addTimeWindow(TimeWindow) UNREGISTERED +isSelected(): boolean +createCopy():UNREGISTERED ReceiverPlan

Fig. 1: Class diagram of the receiver agent architecture in MATSim

demand. This diagram shows the classes related to the receiver’s demand, and details their names (included in the top block of each class), their attributes (included in the middle block of each class) and their operations (included in the bottom block of each class); as well as the relationships between these classes (depicted by connecting arrows). A variety of different ProductTypes are defined for the set of receiver agents created. Each defined ProductType is given a description and a required capacity per unit for transportation (in weight or volume, case-dependent). The different ProductTypes are associated with Receiver agents through a ReceiverProduct class, with its receiver-specific initial stock on hand. A reorder policy is defined for each ReceiverProduct to determine the replenishment order quantity. The infrastructure proposed is extendable and can accommodate many different reordering policies, depending on user/modeller needs. Currently, a reorder policy roughly based on the (s, S ) inventory policy is used by receivers in the simulation. That is, an order quantity is determined as the difference between the maximum inventory level, S , and the current inventory level below the minimum, s, of each ReceiverProduct. This weekly order quantity is divided by the number of deliveries required per week to determine the daily order quantity. This collection of ReceiverOrders and the preferred order delivery time windows are included in the final initial plan of each Receiver agent, and is referred to as the ReceiverPlan. A new Order for each ReceiverProduct is created for the daily reorder quantity. Each Order of each Receiver is allocated to a specific carrier and included in a list, referred to as the ReceiverOrder. When a Receiver requires delivery from multiple carriers a collection of ReceiverOrders is created. The initial ReceiverPlan is also set as the Receiver agents’ selected plan. To integrate the receiver plan into the existing MATSim carrier infrastructure the Orders included in the selected plans of all Receiver agents in the simulation are written as CarrierServices of applicable carriers which are routed and scheduled in jsprit to develop an initial CarrierPlan for each carrier agent. These initial plans are set as the carriers’ selected plans and injected into the mobility simulation where these plans are executed on the network. The process is summarised in Figure 2. Fig. 2: The Receiver agent in the MATSim context. 3.2. Scoring The score of each receiver’s selected plan is determined as a function of the different carriers’ selected plan delivery costs. Even though the developed receiver scoring infrastruc-

766 4

Wilna L. Bean et al. / Procedia Computer Science 151 (2019) 763–768 W.L. Bean & J.W. Joubert / Procedia Computer Science 00 (2018) 000–000

ture in MATSim can accommodate many different carrier cost allocation methods, currently all carriers’ delivery costs are allocated proportionally to the different receivers. This is done by firstly calculating the total volume delivered by each carrier, as the sum of the individual receiver order volumes. Thereafter, the proportional delivery cost charged by each carrier to its allocated receivers, is calculated using the total delivery cost of each carrier during its selected plan execution. Finally, the total delivery cost of each receiver is calculated as a sum of the delivery costs charged by all its allocated carriers. At the end of the allocation, the total delivery cost of each receiver becomes the score of that receiver’s selected plan and represents that plan’s performance. The receiver then attempts to improve its plan’s score during the replanning process. 3.3. Replanning The carrier agent adapts and improves its own plan at the end of each iteration to satisfy receiver orders at the lowest possible delivery cost. Since it generally takes the carrier a number of replanning iterations to achieve the lowest possible delivery cost for a specific combination of receiver orders, changing receiver orders at the end of each iteration is not desirable. To enable more realistic receiver replanning, a receiver replanning interval is introduced. This interval stipulates after how many iterations receivers are allowed to change their selected plans. So if this interval is set to 10 iterations, each receiver agent in the simulation, will only be allowed to change their selected plans at the end of every 10th iteration, referred to as the replanning iteration. Whenever a replanning iteration ends, each receiver agent decides which of the currently implemented replanning strategies to apply: Select best plan from past plans As the name suggests, a receiver will go through its list of past plans and select the plan with the best score as its new plan without changing it. Adjust delivery time window This replanning strategy entails using the receiver’s current plan and moving start times earlier or later, or moving end times earlier or later by a user-specified step size. Adjust delivery unloading time With this strategy, a receiver uses its current plan and try to improve it by increasing or decreasing the delivery unloading time of each Order in the plan by a user-specified time period. Adjust delivery frequency This replanning strategy focuses on receivers increasing or decreasing their required number of weekly deliveries, and therefore changes their daily delivery quantities. After the receiver agents adjust their orders, new CarrierServices are generated and jsprit is used to reroute and reschedule these adjusted carrier services to develop updated plans for each carrier that are injected into the mobsim for execution (Figure 2 where receiver flow is depicted by the dashed line). After execution of these new carrier plans, new scores are calculated for each carrier and receiver’s selected plan, and the plans stored in the relevant agents’ memory. 4. Proof of concept To determine if the receiver agents behave as expected, various receiver replanning scenarios are tested for a small number of receiver agents. To account for the simulation variability, 50 instances of 200 iterations are generated for the different scenarios. Each instance has a single supplier with a fixed depot location that performs its transportation function in-house and therefore serves as both the shipper and carrier in the simulation. The grid network used in Bean and Joubert [1] is also used in these experiments and receiver facilities located randomly on the network per instance. The carrier must satisfy the daily demand of all receivers in the simulation using heavy vehicles and light delivery vehicles, or a combination of both. The same carrier vehicle cost parameters and missed time window penalty costs as those defined in Bean and Joubert [1] are used in this paper’s experiments. One product type is defined, with a weight of 1 kg per unit. In addition, all receivers in the simulation have a weekly demand for this product type and require daily deliveries spread equally throughout the five day work week (i.e. five deliveries per week). This weekly demand is determined based on an (s, S ) inventory policy, where all receivers



Wilna L. Bean et al. / Procedia Computer Science 151 (2019) 763–768 W.L. Bean & J.W. Joubert / Procedia Computer Science 00 (2018) 000–000

767 5

prescribe a minimum level of s = 1 000 units and a maximum level of S = 5 000 units for the product. The stock on hand of all receivers is set to 0 units, resulting in a total weekly demand of 5 000 units. Receivers are allowed to either select their best plan from past plans at the end of every iteration, or to change their existing plans in an attempt to lower their cost. The carrier then reroutes and reschedules its deliveries, with these adjusted receiver plans, before executing and scoring its new plan. The specific receiver replanning scenarios investigated are as follows: Delivery time window To evaluate this strategy five receiver agents are used. The receiver’s initial time window durations are set to two and 12 hours and their delivery time window start times are set to 06:00. The unloading time at each receiver’s facility is set to two hours, in addition a small cost is allocated to receivers for each hour that they are willing to accept deliveries. Receivers are allowed to move their prescribed delivery time window end earlier or later by two hours. Delivery unloading time This strategy is evaluated by using only one receiver and setting that receivers initial delivery unloading times to one hour and then to four hours. The delivery time window duration of the receiver is set to six hours and the time window start time selected randomly between 06:00 and 12:00. The receiver is allowed to change its existing plan by either increasing or decreasing delivery unloading time with one hour during replanning. Delivery frequency To evaluate this replanning strategy five receivers are used and the initial delivery frequencies of these receivers set to one delivery per week and then to five deliveries per week. All receivers are given unloading times of two hours. These receivers prescribe a six hour delivery time window that are scattered randomly throughout the day. Receivers are allowed to change their selected plans by either increasing or decreasing its current preferred number of weekly deliveries by one day. Since only one day is simulated, as the number of weekly deliveries changes, the delivery volume per day will change. This implies that a receiver (that selects less than five deliveries per week), might not get a delivery on a particular day. To avoid allocating zero cost to a receiver if he does not receive a delivery on a day, a weekly delivery cost per receiver is estimated using the fixed carrier vehicle costs, the carriers’ time cost, and each receiver’s number of weekly deliveries. This is then translated into a daily delivery cost and allocated to receivers on days when they do not receive a delivery. Iteration 50

Iteration 100

Iteration 150

Iteration 200

12

12

10

10

8

8

6

6

4

4

2

Time window duration (hours)

Time window duration (hours)

Iteration 0

2 0

2

4

6

0

2

Frequency

4

0

2

Frequency

4

0

2

Frequency

4

0

2

Frequency

4

Frequency

(a) Time window duration scenario Iteration 50

Iteration 100

Iteration 150

Iteration 200

4

4

3

3

2

2

1

Service duration (hours)

Service duration (hours)

Iteration 0

1

0

1

0

1

Frequency

0

1

Frequency

0

1

Frequency

0

1

Frequency

2

Frequency

(b) Delivery unloading time scenario Iteration 50

Iteration 100

Iteration 150

Iteration 200

5

5

4

4

3

3

2

2

1

1

0

2

4

Frequency

6

0

2

4

Frequency

6

0

2

4

Frequency

6

8

0

2

4

6

8

0

2

Frequency

(c) Order delivery frequency scenario Fig. 3: Change in receiver selection for the three scenarios

4

Frequency

6

8

Number of weekly deliveries

Iteration 0

Number of weekly deliveries

Each scenario tests one of the replanning strategies at a time. Figure 3 shows the change in selected time window durations, unloading times, or number of weekly deliveries of all the receivers during the three simulated scenarios. Results confirm that the model demonstrates behavioural sensitivity for the tested scenarios. When considering the time window scenario, it seems as if the selected time window durations were spread throughout the allowable ranges during the simulation, with a slightly higher preference time window durations of between two and six hours. This is understandable, because it does not add any value to receivers to have longer than necessary time window durations, and since all receivers had the same time window start time some received deliveries earlier than others, depending on their position in the carrier’s activity chain.

768 6

Wilna L. Bean et al. / Procedia Computer Science 151 (2019) 763–768 W.L. Bean & J.W. Joubert / Procedia Computer Science 00 (2018) 000–000

Consequently, when considering the effect of the receivers’ position in the carrier’s activity chain on the receiver’s selected time window duration, it was found that those receivers who are served earlier in the carrier’s activity chain selected shorter time window durations. Conversely, receivers served later in the carrier’s activity chain had to select longer time window durations due to their position in the activity chain. Results of the unloading time duration experiment indicate that all receivers moved towards shorter unloading times, regardless of their initial unloading time durations. This observation is in line with the results of [1] and confirms that receiver replanned and reduced its prescribed unloading time in an attempt to minimise its own cost. This indicates that the simulation captures some of the dynamics of receiver reordering decisions and their influence on other agents. Results of the delivery frequency scenario indicated that the receivers converge to more frequent deliveries. In our experiments the majority of receivers converge to five deliveries per week. This is plausible, since more frequent deliveries result in smaller loads per delivery, which in turn require smaller vehicles with lower cost. These results again confirm that receivers changed their delivery frequencies autonomously whilst trying to reduce their own cost, confirming that MATSim with integrated autonomous receiver agents is behaviourally sensitive. 5. Conclusion This paper focused on the introducing a behaviourally rich receivers as an autonomous agent type into MATSim. The simulation with integrated receiver behaviour was applied to a simple problem as proof of concept. Results indicate that receiver agents changed their reordering behaviour autonomously during the simulation whilst trying to reduce their own cost by changing delivery unloading times, time window durations, and delivery frequencies. This confirms that MATSim with integrated autonomous agents is behaviourally sensitive for the investigated scenarios. Now that a workable simulation with integrated autonomous carrier and receiver agents is available, collaboration (and cost or benefit sharing) between freight carriers and receivers can be modelled in MATSim in the future. Therefore, future research will focus on understanding and quantifying the potential benefits that can be realised through carrier and receiver collaboration, and to determine how a balance between receiver restrictions and urban freight delivery cost can be achieved. 6. Acknowledgements The authors acknowledge the Centre for High Performance Computing (CHPC), South Africa, for providing computational resources to this research project. References [1] Bean, W.L., Joubert, J.W., 2018. A systematic evaluation of freight carrier response to receiver reordering behaviour. Computers & Industrial Engineering 214, 207–219. [2] Holgu´ın-Veras, J., 2010. The truth, the myths and the possible in freight road pricing in congested urban areas, in: Procedia Social and Behavioural Sciences, pp. 6366 – 6377. [3] Horni, A., Nagel, K., Axhausen, K.W., 2016. Introducing MATSim, in: Horni, A., Nagel, K., Axhausen, K.W. (Eds.), The Multi-Agent Transport Simulation MATSim. London: Ubiquity Press, pp. 3–8. [4] Joubert, J.W., Axhausen, K.W., 2011. Inferring commercial vehicle activities in Gauteng, South Africa. Journal of Transport Geography 19, 115 – 124. [5] Joubert, J.W., Fourie, P.J., Axhausen, K.W., 2010. A large scale combined private car and commercial vehicle agent-based traffic simulation. Transportation Research Record: Journal of the Transportation Research Board 2168, 24 – 32. [6] Joubert, J.W., Meintjes, S., 2016. Freight activity chain generation using complex networks of connectivity, in: The 9th International Conference on City Logistics, pp. 425–435. [7] Schroeder, S., 2014. Jsprit. Available at: https://jsprit.github.io/index.html. [8] Schroeder, S., Zilske, M., Liedtke, G., Nagel, K., 2012. Towards a multi-agent logistics and commercial transport model: The transport service provider’s view. Procedia - Social and Behavioral Sciences 39, 649 – 663. Seventh International Conference on City Logistics. [9] Zilske, M., Joubert, J.W., 2016. Freight traffic, in: Horni, A., Nagel, K., Axhausen, K. (Eds.), The Multi-Agent Transport Simulation MATSim. London: Ubiquity Press, pp. 155–156.