Preferred citation style for this presentation A. Horni and F. Ciari (2009) Modeling Shopping Customers & Retailers with the Activity-based Multi-agent Transport Simulation MATSim, CCSS Seminar, Zurich, April 2009.
Customer Shopping Location Choice F. Ciari & A. Horni IVT, ETH Zurich Status Update & Open Questions Modeling Shopping Customers & Retailers with the Activity-based Multi-agent Transport Simulation MATSim:- Retailer Location Choice
Link loads Travel distances Travel times … Location choice: Catchment area Number of visitors … 3 MATSim: Model Purpose Purpose: Model patterns of people’s activity scheduling and participation behavior at high level of detail. Goal: Average working day of Swiss resident population (> 7.5 M) in „reasonable“ time → 2009 (KTI project) Dynamic, Disaggregated Method: Coevolutionary, agent-based algorithm adopted
MATSim: Structure → Iterative 4 initial demand analysesexecutionscoring replanning Fixed attributes e.g. home location, census data Utility function f (t): activity participation, travel Share x of agents (usually 10%): Time, route, location choice Exit conditon: „Relaxed state“, i.e. equilibrium Agents‘ day plans
MATSim: Structure 5 initial demand analysesexecutionscoring replanning Share x of agents (usually 10%): Time, route, location choice replanning Exit conditon: „Relaxed state“, i.e. equilibrium Utility function f (t): activity participation, travel Agents‘ day plans Fixed attributes e.g. home location, census data
MATSim: Structure 6 Controler → Replanning replanning StrategyManager person.removeWorstPlan(); strategy.run(person); PlanStrategy this.planSelector.selectPlan(); person.copySelectedPlan(); this.plans.add(plan); PlanStrategyModule.handlePlan(plan); for all persons who are chosen to make replanning e.g. selectExpBeta: selection dependent on plan score i.e., route, time or location choice Nash eq. = stable state in sim → Exit condition Local opt. ≠ Nash eq. → Probabilistic p(score)
Interpretation 7 MATSim - Coevolution Agent i Plan 0 Plan 1 Plan 2 Plan 3 Individual learning Agent j Plan 0 Plan 1 Plan 2 Plan 3 species i Individ. i,0 Plan 0 Individ. i,1 Plan 1 Individ. i,2 Plan 2 Individ. i,3 Plan 3 species j Individ. j,0 Plan 0 Individ. … Plan.. Competition on the infrastructure → Score (fitness) Weakest die → Generations person.removeWorstPlan() Agent … Plan.. Coevolution: „The evolution of two or more interdependent species, each adapting to changes in the other. […]“ The American Heritage Dictionary of the English Language Evolution: „(Biology): Change in the gene pool of a population from generation to generation by such processes as mutation, natural selection, and genetic drift. […]“ „
8 What are we searching & How are we searching? Iterate until „relaxed state“ is reached Equilibrium ≠ Network equilibrium Wardrop (tt) Planning equilibrium =? Nash Multilateral (but uncoordinated) changes in a replanning step! → coalition-proof eq.?
What are we searching & How are we searching? Iterate until „relaxed state“ is reached Equilibrium ≠ Network equilibrium Wardrop (tt) Planning equilibrium =? Nash Multilateral changes in a replanning step But: Not coordinated. → No coalition-proof eq. Non-cooperative, coordination game (non-zero-sum)
10 What are we searching & How are we searching? Non-cooperative, coordination game (non-zero-sum) PureMixed ?? Equilibrium Existence Uniqueness Yes ? No Yes? Existence conditions Results: e.g. link volumes Results: Prob. of e.g. link volumes Selection of plan for execution: p(score) → mixed │agent‘s memory│ << #possible strategies of an agent Score and hence p not stable between iterations Battle of the sexes Player 1 Store 0 Store 1 0,0c,d a,b0,0 Refinements? Closest to SO? Largest basin of attraction? … Player 0
11 What are we searching & How are we searching? #locations #activities × t per iteration. Search space prohibitively large to be searched exhaustively or – even worse – globally at random. Idea: Adapt local search techniques from optimization (e.g. simulated annealing).
Location Choice in MATSim - Status First results: Local search Improvement of realism by competition on the activities infrastructure Future work: Impr. local search & capacity restraints Validation Utility function extension Analyzing existence and uniqueness of solution
13 Local Search Adopted to Coevolutionary Systems Tie together location choice and time choice ( t) p(accept bad solutions) > 0 Day plan Aktivity i - Work Location Start time, duration … Aktivity i+1 - Shopping Duration Aktivity i+2 - Home Location Start time, duration … Location Set: Locations consistent with time choice (t travel ≤ t budget ) Travel time budget Time Geography Hägerstrand
14 r = t budget /2 * v Check all locations t travel ≤ t budget → choice set Check ∑t travel ≤ t budget Random choice Based on PPA- Algorithm Scott, 2006 „Implicit choice set“ Chains of consecutive shopping activities
Location Choice in MATSim - Status First results: Local search Improvement of realism by competition on the activities infrastructure Future work: Impr. local search & capacity restraints Validation Utility function extension Analyzing existence and uniqueness of solution
Time-dependent capacity Penalty funtion Power function (cost-flow function for roads, BPR) (load/capacity) : parameters 16 Competition on Activities Infrastructure Micro-census 2005
17 Simulation Scenario Region Zurich: 30 km radius circle, center Bellevue; 10% sample Initial location assignment: Region Zurich
18 Simulation Scenario - Configurations
19
20
21 Results – Shopping Facility Load
22 Shopping Facility Load
23 Results – Computation Times s/it (500 iterations)
Location Choice in MATSim – Conclusions I First results: Local search: Local search productive (w/ same computational effort per iteration). Competition on the activities infrastructure: Balanced facility load → number of implausibly overloaded facilities reduced
Location Choice in MATSim – Conclusions II Future work: Local search Improvements + extended analysis Activity location competition Diversification of capacity restraint functions Utility function extension Influencing factors + activity classification Validation Counting data, GPS (FCD), Micro census Analyzing existence and uniqueness of computed solution Exit condition Application of estimated models Hypothesis testing
26 Introducing retailer agents in the MATSim toolkit and modeling their location choices
27 Who are Retailers in MATSim? from Retailer: “In commerce, a retailer buys goods or products in large quantities from manufacturers or importers, either directly or through a wholesaler, and then sells smaller quantities to the end-user.“ In MATSim: Retailer: “Person or entity having the control on one or more shopping facilities”
28 Motivations & Tasks Motivations: First step to a fully agent-based representation of the system Correctly predict the location choices of retailers under a given policy scenario Estimate a benchmark value for retailers (# customers, turnaround, etc…) under a given policy scenario Tasks: Define/implement retailer agents in the MATSim framework Enrich individual agents (customer aspect)
29 Individual Agent Framework Individual Agent Personal attributes Age Gender Home location Work location Driving License Car availability Transit tickets ownership Income Household Knowledge Memory of previous plans (score) Shop Attributes (Price, Quality, Parking, etc.) Objective function Time based Utility based with budget constraints Location choice methodology Not optimized Optimized in time and space Current MATSim Next Stage
30 Individual Agent Framework Individual Agent Personal attributes Age Gender Home location Work location Driving License Car availability Transit tickets ownership Income Household Knowledge Memory of previous plans (score) Shop Attributes (Price, Quality, Parking, etc.) Objective function Time based Utility based with budget constraints Current MATSim Next Stage Location choice methodology Optimized in time and space
31 Importance of Location for Retailers
32 Common Methods and Tools in Retail Location Planning Technique/sSubjectivityCost Technical experience required Computing and data needs rules of thumb, checklists, ratio and analogue methods multiple regression discriminant analysis, cluster analysis, gravity models Expert systems, neural networks Adapted from Hernandez and Benninson, 2000
33 Practice in Location Choices Extensive literature research 11 explorative interviews accomplished in Germany and Switzerland in 2008 Results: Location strategies vary both between and within different retail sectors Location choices are still heavily based on experience and intuition, particularly those decisions at the micro scale Simpler methodologies are still predominant, more sophisticated are sometimes used as a posterior confirmation
34 Retailer Agent Framework Retailer Agent Attributes Type Facility portfolio Price level … Knowledge Customers Competitors Land Prices Land use regulation Objective Max. Customers Max. Revenue Max. Market share Location choice methodology Market ratio Catchment area Checklists
35 Retailer Agent Framework Retailer Agent Attributes Type Facility portfolio Price level … Knowledge Customers Competitors Land Prices Land use regulation Objective Max. Customers Max. Revenue Max. Market share Location choice methodology Market ratio Catchment area Checklists …
Refinements 36 Retailer agents – Relocation steps A new random link is proposed The ratio # residents / #shops in the new area is higher Stay on the current link No The daily traffic volume on the new link is higher No Yes Move to the new link Yes NEXTITERATIONNEXTITERATION The retailer already owns a shop in this area Yes No Global search
37 Simulation Inputs and Parameters Inputs: Retailers file: List of retailer agents and shop facilities controled by them Links file Links allowed for the relocation of shop facilities Parameters: Frequency of retailers relocation Catchment area dimension
MATSim: Actual framework 38 initial demand analysesexecutionscoring replanning Share x of agents (usually 10%): Time, route, location choice Fixed attributesUtility function f (t) replanning Exit conditon: „Relaxed state“, i.e. equilibrium
MATSim: Framework with Retailer Agents 39 initial demand analysesexecutionscoring Fixed attributes Utility function f (t) replanning Exit conditon: „Relaxed state“, i.e. equilibrium Retailer agents‘ facilities: Location choice Retailers replanning
40 Results: Simulation Scenario - Region Zurich Number of shops relocating: 80
41 Issues and possible solutions Simulations with different combination of input parameters: No relaxation is observed Real Optimization Technique (e.g. SA)? Same story as before: Search space prohibitively large... Alternative: Adapt local search techniques … In each iteration Outer loop → Replanning of person agents → relaxed state → local search
Interpretation 42 Customers & retailers – Coevolution Agent i Plan 0 Plan 1 Plan 2 Plan 3 Agent j Plan 0 Plan 1 Plan 2 Plan 3 species i Individ. i,0 Plan 0 Individ. i,1 Plan 1 Individ. i,2 Plan 2 Individ. i,3 Plan 3 species j Individ. j,0 Plan 0 Individ. … Plan.. Weakest die → Generations person.removeWorstPlan() Agent u Plan 0 Plan 1 Plan 2 Plan Agent v Plan 0 Plan 1 Plan 2 Plan 3 species u Individ. u,0 Plan 0 Individ. … Plan.. species v Individ. v,0 Plan 0 Individ. … Plan.. retailer.removeWorstPlan()
Main limitations The land market is not represented Introduction of monetary costs for activities and taking into account prices for them Retail shops are undifferentiated Persons behavior on Saturday is different than during the week - > Simulating only Mo-Fr retailers’ location decision are biased …
Conclusions and future work Conclusions: The new retailer agents have been introduced in MATSim, but their behavior still has many limitations and a strategy to produce meaningful and easily interpretable results hasn‘t been found yet Future work: Try to use a local search Define an exit condition Overcome some of the limitations (e.g. take into account different types of retail shops, account for monetary costs, etc…)
45 THANK YOU FOR YOUR ATTENTION ! MATSim project page: Further publications:
Activity Classification & Utility Function Store load – store capacity Activity classification shop, leisure Status quo (Shopping) location choice Utility function TimeTime & route choice Alternative (Store) This summer (data set available) Store size, local store density Later: Parking, Product range, Price level Situation … Person Age, Income,Education Next steps Micro census (e.g. shopping)