On The inTegRATiOn Of OpTimizATiOn And ABSTRACT O n

On The inTegRATiOn Of OpTimizATiOn And ABSTRACT O n
This thesis concerns the integration of agent
technology and mathematical optimization for
improved decision support within the domain
of analysis and planning of production and transportation.These two approaches have often been
used separately in this domain but the research
concerning how to combine them is very limited.
The studied domain is considered to be complex due to the fact that many decision makers,
which influence each other, often are involved in
the decision making process. Moreover, problems
in the domain are typically large and combinatorial, which makes them more difficult to solve.
We argue that the integration of agent-based
approaches and mathematical optimization has
a high potential to improve analysis and planning of production and transportation. In order
to support this hypothesis, we have developed
and analyzed three different approaches to the
integration of agent technology and mathematical optimization.
First, we present a Multi-Agent-Based Simulation (MABS) model called TAPAS for simulation of decision-making and physical activities
in supply chains. By using agent technology and
optimization, we were able to simulate the decision-making of the involved actors as well as the
interaction between them, which is difficult using
traditional simulation techniques. In simulation
experiments, TAPAS has been used to study the
effects of different types of governmental taxes,
and synchronization of timetables. Moreover, we
provide an analysis of existing MABS applications with respect to a number of criteria. Also,
we present a framework containing a number of
abstract roles, responsibilities, and interactions,
which can be used to simplify the process of developing MABS models.
Second, we present an approach for efficient
planning and execution of intermodal transports.
The approach provides agent-based support for
key tasks, such as, finding the optimal sequence of
transport services (potentially provided by different transport operators) for a particular goods
transport, and monitoring the execution of transports. We analyzed the requirements of such an
approach and described a multi-agent system architecture meeting these requirements.
Finally, an optimization model for a real world
integrated production, inventory, and routing problem was developed. For solving and analyzing the
problem, we developed an agent-based solution
method based on the principles of Dantzig-Wolfe
decomposition. The purpose was to improve resource utilization and to analyze the potential effects of introducing VMI (Vendor Managed Inventory). In a case study, we conducted simulation
experiments, which indicated that an increased
number of VMI customers may give a significant
reduction of the total cost in the system.
On the integration of optimization
and agent technology for transportation and production planning
ABSTRACT
Johan Holmgren
ISSN 1653-2090
ISBN: 978-91-7295-189-1
2010:09
2010:09
On the integration of optimization and
agent technology for transportation
and production planning
Johan Holmgren
Blekinge Institute of Technology
Doctoral Dissertation Series No. 2010:09
School of Computing
On the Integration of Optimization and
Agent Technology for Transportation
and Production Planning
Johan Holmgren
Blekinge Institute of Technology Doctoral Dissertation Series
No 2010:09
On the Integration of Optimization and
Agent Technology for Transportation
and Production Planning
Johan Holmgren
School of Computing
Blekinge Institute of Technology
SWEDEN
© 2010 Johan Holmgren
School of Computing
Publisher: Blekinge Institute of Technology
Printed by Printfabriken, Karlskrona, Sweden 2010
ISBN: 978-91-7295-189-1
Blekinge Institute of Technology Doctoral Dissertation Series
ISSN 1653-2090
urn:nbn:se:bth-00474
Abstract
This thesis concerns the integration of agent technology and mathematical optimization
for improved decision support within the domain of analysis and planning of production and transportation. These two approaches have often been used separately in this
domain but the research concerning how to combine them is very limited. The studied domain is considered to be complex due to the fact that many decision makers,
which influence each other, often are involved in the decision making process. Moreover, problems in the domain are typically large and combinatorial, which makes them
more difficult to solve. We argue that the integration of agent-based approaches and
mathematical optimization has a high potential to improve analysis and planning of
production and transportation. In order to support this hypothesis, we have developed
and analyzed three different approaches to the integration of agent technology and
mathematical optimization.
First, we present a Multi-Agent-Based Simulation (MABS) model called TAPAS
for simulation of decision-making and physical activities in supply chains. By using
agent technology and optimization, we were able to simulate the decision-making of
the involved actors as well as the interaction between them, which is difficult using
traditional simulation techniques. In simulation experiments, TAPAS has been used
to study the effects of different types of governmental taxes, and synchronization of
timetables. Moreover, we provide an analysis of existing MABS applications with
respect to a number of criteria. Also, we present a framework containing a number
of abstract roles, responsibilities, and interactions, which can be used to simplify the
process of developing MABS models.
Second, we present an approach for efficient planning and execution of intermodal
transports. The approach provides agent-based support for key tasks, such as, finding
the optimal sequence of transport services (potentially provided by different transport
operators) for a particular goods transport, and monitoring the execution of transports.
We analyzed the requirements of such an approach and described a multi-agent system
architecture meeting these requirements.
Finally, an optimization model for a real world integrated production, inventory,
and routing problem was developed. For solving and analyzing the problem, we developed an agent-based solution method based on the principles of Dantzig-Wolfe decomi
position. The purpose was to improve resource utilization and to analyze the potential
effects of introducing VMI (Vendor Managed Inventory). In a case study, we conducted
simulation experiments, which indicated that an increased number of VMI customers
may give a significant reduction of the total cost in the system.
ii
Acknowledgements
It is my great privilege to get this opportunity to thank some of the people who have
helped and supported me throughout the course of writing this thesis.
The municipality of Karlshamn has financially supported the research in this thesis.
Moreover, the “Integrated Production and Transportation Planning within Food Industry” project was financed by the Swedish Knowledge Foundation (KK-stiftelsen), the
“Effects of Governmental Control Policies on Transportation Chains: A Micro-Level
Study” project was financed by the Swedish Agency for Innovation Systems (VINNOVA), and the “EastWest Transport Corridor” and “Management Framework for Intelligent Intermodal Transport (FREIGHTWISE)” projects were financed by the EU 6th
Framework Programme. I would like to thank the funders of my research, as well as
the project partners, in particular AarhusKarlshamn and FoodTankers, for generously
sharing time, information and knowledge.
I would like to express my sincere gratitude to my supervisors, Professor Paul
Davidsson and Associate Professor Jan Persson, for their patience and for sharing their
valuable time and knowledge. Without their support and encouragement it would have
never been possible for me to complete this thesis. I am also very grateful to my friend
and colleague Dr. Linda Ramstedt for her collaboration and support, and to Associate
Professor Fredrik Persson for his valuable comments and suggestions during the defense of my licentiate thesis. The support from my friends and colleagues in the DISL
research group is also appreciated. In particular I want to thank my colleague and
friend Marie Persson for her invaluable and positive support, and most of all for being
a good friend.
I am also grateful to my family, Gertrud, Thommy, Charlotta and Andreas. Thank
you for always supporting and helping me in any ways you possible could. I would also
like to express my gratitude to my friends for contributing with fun times and happy
memories throughout the years. Thank you for still being there for me even though I
have not been around much for some time. In particular, I would like to thank Çigdem
for being a truly good friend. Thank you for always being understanding, supporting
and inspiring to spend time with.
Karlskrona, October 2010
Johan Holmgren
iii
iv
Preface
The thesis includes the following papers:
Paper I Davidsson, P., Holmgren, J., Kyhlbäck, H., Mengistu, D., & Persson, M.
(2007). Applications of multi agent based simulation. In Lecture Notes in
Computer Science: Vol. 4442. Multi-Agent-Based Simulation VII (pp. 15-27).
Springer.
Paper II Holmgren, J., Davidsson, P., Persson, J. A., & Ramstedt, L. (2010). TAPAS:
A multi-agent-based model for simulation of supply chains. (Submitted for publication).
Paper III Holmgren, J., Ramstedt, L., Davidsson, P., & Persson, J. A. (2010). Multiagent-based simulation for analyzing production and transportation measures: A
case study. (Submitted for publication).
Paper IV Holmgren, J., Ramstedt, L., & Davidsson, P. (2010). Roles and responsibilities in supply chains - An agent simulation modeling framework. 4th Workshop
on Artificial Transportation Systems and Simulation. September 19, Madeira
Island, Portugal.
Paper V Davidsson, P., Holmgren, J., Persson, J. A., & Jacobsson, A. (2010). Plug
and Play Transport Chain Management: Agent-based support to the planning
and execution of transports. In Communications in Computer and Information
Science: E-Business and Telecommunication Networks. Springer. (In press).
Paper VI Davidsson, P., Persson, J. A., & Holmgren, J. (2007). On the integration
of agent-based and mathematical optimization techniques. In Lecture Notes in
Computer Science: Vol. 4496. Agents and Multi-Agent Systems: Technologies
and Applications (pp. 1-10). Springer.
Paper VII Holmgren, J., Persson, J. A., & Davidsson, P. (2010). Improving multiactor production, inventory and transportation planning through agent-based optimization. In Agents and Multi-Agent Systems in Distributed Systems - Digital
Economy and E-Commerce. Springer. (In press).
v
The previously published papers have been revised to conform with the layout of
the thesis and to address minor errors. The following papers are related but not included
in the thesis:
Paper VIII Holmgren, J., Davidsson, P., Persson, J. A., & Ramstedt, L. (2007). An
agent based simulator for production and transportation of products. The 11th
World Conference on Transport Research. June 8-12, Berkeley, USA.
Paper IX Ramstedt, L., Davidsson, P., Holmgren, J., & Persson, J. (2007). On the use
of micro-level simulation for estimation of the effects of governmental control
policies. The 11th World Conference on Transport Research. June 8-12, Berkeley, USA.
Paper X Davidsson, P., Holmgren, J., Persson, J. A., & Ramstedt, L. (2008). Multi
agent based simulation of transport chains. In Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems (pp. 11531160). May 12-16, Estoril, Portugal.
Paper XI Holmgren, J., Ramstedt, L., & Davidsson, P. (2009). Roles and responsibilities in transport chains - Agent simulation modeling challenges. The 7th European Workshop on Multi-Agent Systems. December 17-18, Ayia Napa, Cyprus.
Paper XII Holmgren, J., Persson, J. A., & Davidsson, P. (2008). Agent based decomposition of optimization problems. The First International Workshop on Optimisation in Multi-Agent Systems. May 12, Estoril, Portugal.
Paper XIII Holmgren, J., Persson, J. A., & Davidsson, P. (2009). Agent-based DantzigWolfe decomposition. In Lecture Notes in Computer Science: Vol. 5559. Agents
and Multi-Agent Systems: Technologies and Applications (pp. 754-763). Springer.
In papers I and V, all authors contributed equally, whereas I made the largest contribution to papers II, III, IV and VII, and for paper VI, my contribution was relatively
less. An illustration of how the different publications are related is provided in Fig. 1.
The work in this thesis has primarily been carried out within the projects “Integrated
Production and Transportation Planning within Food Industry”1 , “Effects of Governmental Control Policies on Transportation Chains: A Micro-Level Study”2 , “EastWest
Transport Corridor” 3 , “Management Framework for Intelligent Intermodal Transport
(FREIGHTWISE)” 4 .
1 http://www.ipd.bth.se/fatplan/
2 http://www.ipd.bth.se/stem/
3 http://www.eastwesttc.org/
4 http://freightwise.info/
vi
Fig. 1: An illustration of how the different publications are related. In the image, the publications represented
in gray are included in the thesis, and the papers are ordered in a way that newer publications are shown below
older ones.
vii
viii
Contents
Abstract
i
Acknowledgements
iii
Preface
v
Introduction
1
Background . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1
Analysis and planning of production and transportation
1.2
Software agent technology . . . . . . . . . . . . . . .
1.3
Optimization . . . . . . . . . . . . . . . . . . . . . .
1.4
Agent-based optimization . . . . . . . . . . . . . . .
2
Research questions and research methods . . . . . . . . . . .
3
Thesis contributions . . . . . . . . . . . . . . . . . . . . . . .
4
Conclusions and directions for future work . . . . . . . . . . .
Paper I
1
Introduction . . . . . . . . . . . .
2
Evaluation framework . . . . . . .
2.1
Problem description . . .
2.2
Modeling approach . . . .
2.3
Implementation approach .
2.4
Results . . . . . . . . . .
3
Results . . . . . . . . . . . . . . .
4
Analysis . . . . . . . . . . . . . .
4.1
Problem description . . .
4.2
Modeling approach . . . .
4.3
Implementation approach .
4.4
Results . . . . . . . . . .
4.5
Limitations of the study .
5
Conclusions . . . . . . . . . . . .
ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
3
6
6
8
11
15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
18
18
20
20
21
22
26
26
26
27
29
29
30
Paper II
1
Introduction . . . . . . . . . . . . . .
2
Related work . . . . . . . . . . . . .
3
The simulation model . . . . . . . . .
3.1
The physical simulator . . . .
3.2
The decision making simulator
3.3
Implementation . . . . . . . .
4
Scenario and simulation experiments .
5
Discussion . . . . . . . . . . . . . . .
6
Conclusion and future work . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Paper III
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Motivation for the TAPAS simulation model . . . . . . . . . .
3
The TAPAS simulation model . . . . . . . . . . . . . . . . .
3.1
Decision makers and their interaction . . . . . . . . .
3.2
Input and physical entities . . . . . . . . . . . . . . .
4
Case study: EastWest Transport Corridor (EWTC) . . . . . . .
4.1
Scenario description . . . . . . . . . . . . . . . . . .
4.2
Output data analysis and discussion . . . . . . . . . .
5
Discussion on how to conduct simulation studies with TAPAS
5.1
General design decisions . . . . . . . . . . . . . . . .
5.2
Input data management . . . . . . . . . . . . . . . . .
5.3
Validation, verification and calibration . . . . . . . . .
5.4
Result analysis and generalization . . . . . . . . . . .
6
Concluding remarks and future work . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
33
35
37
37
40
53
54
57
59
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
61
63
66
66
67
69
69
71
75
76
77
79
81
81
Paper IV
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
A framework of supply chain responsibilities, roles, interactions and
modeling guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
Responsibilities . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
Modeling guidelines . . . . . . . . . . . . . . . . . . . . . .
3
Applicability of the framework . . . . . . . . . . . . . . . . . . . . .
3.1
Case study I - TAPAS . . . . . . . . . . . . . . . . . . . . .
3.2
Case study II - Strader et al. . . . . . . . . . . . . . . . . . .
4
Discussion and future work . . . . . . . . . . . . . . . . . . . . . . .
x
83
83
85
86
88
89
91
92
92
93
95
Paper V
1
Introduction . . . . . . . . . . . . . . . . . . . .
2
The FREIGHTWISE framework . . . . . . . . .
3
The PnP TCM software . . . . . . . . . . . . . .
3.1
Software architecture . . . . . . . . . . .
3.2
The TSD Announcers and Finders . . . .
3.3
Optimizer . . . . . . . . . . . . . . . . .
3.4
Negotiation, Booking and Order Manager
3.5
Interface agents . . . . . . . . . . . . . .
4
Conclusions . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
97
97
99
101
102
105
110
114
116
117
Paper VI
1
Introduction . . . . . . . . . . . . . . . . .
2
Comparison of the approaches . . . . . . .
3
Problem description . . . . . . . . . . . . .
4
Solutions . . . . . . . . . . . . . . . . . .
4.1
Pure agent approach . . . . . . . .
4.2
Embedded optimization . . . . . .
4.3
Pure optimization . . . . . . . . . .
4.4
Tactical/operational hybrid approach
5
Experimental results . . . . . . . . . . . .
6
Conclusions and future Work . . . . . . . .
Appendix . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
119
119
120
123
124
125
125
125
126
126
127
128
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Paper VII
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Agent-based optimization and decomposition . . . . . . . .
3
Integrated planning of production, inventory and
transportation . . . . . . . . . . . . . . . . . . . . . . . . .
4
Real world case problem description . . . . . . . . . . . . .
5
Decomposition formulation . . . . . . . . . . . . . . . . . .
5.1
Heuristic strategy for variable fixing and termination
5.2
Transportation subproblems . . . . . . . . . . . . .
5.3
Production scheduling subproblems . . . . . . . . .
6
Computational experiments . . . . . . . . . . . . . . . . . .
6.1
Scenario description . . . . . . . . . . . . . . . . .
6.2
VMI analysis . . . . . . . . . . . . . . . . . . . . .
6.3
Time performance analysis . . . . . . . . . . . . . .
7
Confidentiality of information . . . . . . . . . . . . . . . .
8
Concluding remarks and future work . . . . . . . . . . . . .
xi
131
. . . . . 131
. . . . . 133
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
135
137
137
142
146
153
154
155
157
158
160
161
Appendix - An extended EastWest Transport Corridor (EWTC) scenario
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Transport network . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Transportation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
Timetables . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Production and consumption . . . . . . . . . . . . . . . . . . . . .
References
.
.
.
.
.
163
163
164
164
166
167
173
xii
Introduction
Freight transportation has become an important ingredient in today’s society due to the
globalization of economies where manufacturing and consumption often take place in
different parts of the world. As an example, between 1995 and 2006 the European
Union experienced an average yearly growth of 2.8% in goods transports (Eurostat,
2009). Activities concerning production and transportation have both positive and negative effects on society. The possibility to consume products that have been produced
at far distant locations is an example of a positive effect that contributes to the welfare
of society. Examples of negative effects are emissions, congestion, accidents, energy
use and large costs for infrastructure investments.
The domain of analysis and planning of production and transportation is well studied in the literature. However, for several reasons it is considered as a rather challenging domain. One reason is that logistics management often requires distributed
decision making due to the fact that the involved actors often have different organizational belongings and are spatially separated. Another reason is that typical problems
in the domain are large and exhibit combinatorial properties. Due to the high complexity of the domain and the potentials for improved planning, decision making, resource
utilization, etc., there is a need for development of models, techniques and tools that
can be used to provide decision support to actors who are involved in the processes of
producing and transporting products. This thesis concerns the integration of agent technology and mathematical optimization for improved decision support in the domain of
analysis and planning of production and transportation.
1
Background
In this section we provide a short background to the application areas that are studied in
this thesis, followed by an introduction to the technologies of agents and mathematical
optimization, as well as to their integration.
1.1
Analysis and planning of production and transportation
There are different types of problems within the domain of analysis and planning of
production and transportation. However, as will be motivated further in Section 2, we
1
focus on three application areas related to analysis and resource utilization in the studied domain. In this section we provide a short introduction to these three application
areas.
The first application area concerns predicting the consequences of different types
of production and transportation measures. Production and transportation measures
here refer to different types of governmental control policies (e.g., taxes and fees), infrastructure investments, and strategic business measures. Public policy makers use
governmental control policies and infrastructure investments in order to reach governmental goals, such as emission targets and economical development in certain areas.
Moreover, enterprises take different types of strategic business measures in order to optimize their activities. Examples of relevant business measures include synchronization
of timetables and adjustment of vehicle fleets to better meet the demand for transportation. Since the introduction of production and transportation measures may cause both
positive and negative effects, it is important to be able to accurately predict the consequences from such an introduction by using different types of analysis models. For
instance, public policy makers traditionally make use of different types of equationbased models, such as SAMGODS (Swahn, 2001), for predicting the consequences of
transportation measures.
There are many types of problems that relates to planning of supply chain activities, ranging from lot sizing and scheduling (Drexl & Kimms, 1997) via integrated approaches (Sarmiento & Nagi, 1999), towards vehicle routing (Toth & Vigo, 2002). Traditionally, large inventory buffers have been used to separate raw material supply, production and transportation, which allow different activities that occur in supply chains
to be planned separately. However, the importance of inventory reduction has led to
an increased interest in synchronized planning of different logistical activities (Thomas
& Griffin, 1996). A special type of planning problem concerns integrated production,
inventory and routing (Lei et al., 2006). This type of problem, which also corresponds
to our second application area, is relevant to study since it covers a considerable part of
the production and transportation activities that occur in supply chains. For instance, it
includes vehicle routing and production scheduling.
A typical characteristic of an intermodal transport solution is that multiple actors
typically are involved when transports are planned and performed. For instance, a typical intermodal transport solution may involve transportation by sea and truck provided
by different transport operators. Moreover, public authorities, such as customs may
be involved during transportation. In particular when organizational barriers separate
transport chain actors, there is often a need for mechanisms that facilitate the collaboration between actors. The third application area concerns multi-organizational management of, potentially intermodal, transportation. In particular it concerns computerbased support for performing tasks related to building transport solutions, coordinating
activities, and transferring administrative information.
2
1.2
Software agent technology
Software agent technology can be seen as a paradigm in software engineering, in which
autonomous entities are modeled in a way that corresponds more to how humans understand the world. The concept of a software agent can be considered as a natural
extension of the concept of a software object. Agents operate in environments over
which they may have full, or more commonly, partial influence. An agent has its own
thread of execution and it typically exhibits goal directed behavior in the environment
in which it operates. The environment of an agent is usually non-deterministic with the
effect that an agent cannot expect the same result each time it perform the same action.
Also, the environment may contain other agents, who may influence the environment
when they strive towards their goals.
Various definitions of software agents exist, but unfortunately none has gained universal acceptance. The following commonly used definition is provided by Wooldridge
and Jennings (1995):
An agent is a computer system that is situated in some environment, and
that is capable of autonomous action in this environment in order to meet
its design objectives.
Accordingly, a multi-agent system can be regarded as a system containing multiple
competing or cooperating agents, which may interact with each other in order to reach
their respective design goals.
Common properties that a software agent might possess are (Wooldridge & Jennings, 1995):
Autonomy An agent must be able to operate without direct intervention by humans or
other agents.
Reactivity An agent must be able to react to changes in its operating environment in
time for its actions to be useful.
Pro-activeness An agent must be able to take initiative to act in its operating environment.
Social ability An agent in a multi-agent system must be able to communicate with
humans and other agents in the system.
A software agent might be considered intelligent if it exhibits an appropriate balance of
these properties. For an introduction to software agents and multi-agent systems, see
Wooldridge (2002).
Different kinds of agents can be defined; A deliberative agent is an agent that keeps
a symbolic model of its world and decides what actions to perform through reasoning
about the world model. A (purely) reactive agent is one who simply reacts to its environment and decides what actions to perform without reasoning. Furthermore, various
types of hybrid agents, which can be described as combinations of deliberative and
reactive agents, can be defined.
3
A survey covering agent-based approaches to transport logistics, which is relevant
for the domain of analysis and planning of production and transportation, is provided
by Davidsson, Henesey, et al. (2005). Another survey of deployed applications is provided by Munroe et al. (2006), which covers application areas such as military training,
information management for international insurance claims, and logistics and supply
chain management.
1.2.1
Multi-agent-based simulation
Simulation can be described as the process of imitating some important aspects of a real
or an imagined system (Law & Kelton, 2000). In a simulation model, a set of entities
are represented and the actions and relationships between these entities are studied using a computerized model either at particular instance of time (e.g., as in Monte Carlo
Simulation), or over some period of time (e.g., as in Discrete Event Simulation). An
important motivation for developing a computer-based simulation model for a system
is that the relations between entities might be too complex to model or analyze mathematically. Moreover, experimenting with large real systems might be too expensive
and in some cases, even impossible. According to Kleijnen (2008), common goals
for conducting a simulation study is to find an optimal configuration of a system or
to conduct a sensitivity analysis. A slightly simplified version of a typical process for
conducting a simulation study is shown in Fig. 1 (Law & Kelton, 2000).
There are many types of computer-based simulation techniques, and Multi-AgentBased Simulation (MABS) differ from other techniques in the sense that one or more
of the simulated entities are modeled and implemented as agents (Davidsson, 2001).
As will be exemplified below, MABS can be contrasted to other simulation techniques
in different ways. For instance, in MABS, as well as in other micro-simulation techniques, the individual behaviors of the modeled entities and the interactions between
them are explicitly modeled, whereas in macro-simulation (or equation-based) approaches, the characteristics of the population is averaged together and the average
of the population is simulated. H. V. D. Parunak et al. (1998) compared agent-based
and equation-based modeling and concluded that:
“agent-based modeling is most appropriate for domains characterised by
a high degree of localisation and distribution and dominated by discrete
decision. Equation-based modeling is most naturally applied to systems
that can be modeled centrally, and in which the dynamics are dominated
by physical laws rather than information processing.”
A general disadvantage that applies to micro-simulation, in comparison to macro-level
approaches, is that a large amount of data typically is required for describing all entities.
However, an advantage is that it is possible to capture entities in a level of detail that is
impossible with macro-simulation techniques.
Davidsson (2001) compared MABS with a number of traditional micro-level techniques, e.g., Object-Oriented Simulation (OOS), and Discrete Event Simulation (DES).
4
Fig. 1: An overview of a typical process for conducting a simulation study.
Since a software agent can be seen as an extension of a software object, the comparison
between MABS and OOS is of particular interest here. It was concluded that there is
no clear distinction between MABS and OOS. Instead the differences were expressed
in terms of how entities are modeled with respect to a number of characteristics. Examples of such characteristics are proactivity (ranging from purely reactive entities to
completely autonomous entities), adaptivity (ranging from static entities to entities that
autonomously learn from their experiences) and modeling concepts (ranging from traditional object-oriented modeling concepts to concepts using agent-based mentalistic
concepts, such as beliefs, desires and intentions).
5
1.3
Optimization
In traditional optimization, mathematical models and methods are used for deciding
how it is best to act in given situations. An optimization model contains a set of decision variables that represent choices in the system, a numeric objective function, and a
set of constraints, which restricts the values that can be assigned to the decision variables. The purpose of an optimization method is to systematically choose the values
of the decision variables in order to find the best (minimum or maximum) value of the
objective function, however without violating the constraints.
An optimization model represents an abstraction of a studied problem, and a major challenge is to find an abstraction that is a useful representation of the problem,
and that can be solved in a reasonable amount of time. A process describing how it
is appropriate to approach a problem using mathematical optimization is presented in
Fig. 2 (Lundgren et al., 2003). The process starts with the identification of a real world
problem, followed by a simplification of the identified problem in order to obtain an
abstraction for which it is possible to formulate an optimization model (problem). Then
an optimization method (standard or customized) is applied for solving the optimization problem. The process may also involve the development of a customized solution
method for solving the optimization problem. The created models are continuously
validated, and they may be refined by returning to an earlier step in the process.
Decomposition approaches, such as Dantzig-Wolfe column generation (Dantzig &
Wolfe, 1961) has been developed for solving linear problems, and Lagrangean relaxation (Geoffrion, 1974) and Benders’ decomposition (Benders, 1962) have been developed for solving Mixed Integer Linear optimization Problems (MILPs). Moreover,
decomposition approaches for linear problems have been used together with branchand-price (Barnhart et al., 1998) for solving MILPs.
1.4
Agent-based optimization
It has been indicated that the strengths and weaknesses of agent-based approaches and
mathematical optimization techniques complement each other well for dynamic resource allocation problems (Davidsson et al., 2003; Persson et al., 2005). Agent-based
approaches to optimization can be built using classical agent-based concepts, such as
negotiations, auctions and task sharing protocols. Another approach is to use concepts
and techniques from classical optimization, for instance, methods for formulating and
solving complex optimization problems. We refer to the former type as pure agentbased approaches and to the latter type as hybrid approaches.
There are several examples of pure agent-based approaches to optimization. One
example is provided by Karageorgos et al. (2003) who presented an application to
virtual collaboration networks, in which software agents were used for optimizing a
system by using agent-based negotiation based on the nested contract net protocol.
Another example is provided by Dorer and Calisti (2005) who used agent technology
for solving real world dynamic transportation problems in which transportation orders
6
Fig. 2: Outline of the optimization process.
were allocated to trucks. The problem was solved using a neighborhood search algorithm were auction-based negotiations were used for gradually improving the solution.
In an approach by Wernstedt et al. (2007), an auction-based optimization approach was
used for load balancing in a district heating system. The purpose was to keep the consumption under a certain threshold value in order to reduce the need for using additional
expensive energy sources, which otherwise need to be used during peak load.
A popular hybrid approach is distributed constraint optimization. According to
Petcu (2007), a Constraint Optimization Problem (COP) is defined as a set of variables,
with corresponding discrete and finite variable domains, and a set of utility functions.
Each utility function assigns a utility to each possible assignment of the variables, and
the purpose is to find a variable instantiation that maximizes the sum of the utilities of
the utility functions. An interesting property is that variable domains are not restricted
to numerical values. For instance, a variable domain may refer to colors or whatever
is relevant for the studied problem. A Distributed Constraint Optimization Problem
(DCOP) is defined as a set of agents, where each agent owns a centralized COP (i.e.,
a local subproblem), and a set of interagent utility functions, which are defined over
variables from the local subproblems of the agents. An inter-agent utility function
represents the award that is obtained by the involved agents when they take a joint
7
decision.
In distributed constraint optimization, problem formulations and solution methods for solving local subproblems comes from classical optimization (e.g., branch and
bound), while methods for handling overall optimization have been developed within
the agent community. A large number of agent-based solution approaches have been
proposed for solving DCOPs. Examples of complete methods (i.e., methods that guarantee that the optimal solution to the DCOP is found) includes ADOPT (Modi et al.,
2003) and DPOP (Petcu, 2007). Approximate approaches, such as KOPT (Katagishi &
Pearce, 2007) have been developed since the convergence speed for complete methods
have appeared to be too slow.
We have chosen not to consider distributed constraint optimization in this thesis
since we find it unlikely that the technique can be used for solving problems of relevant size in the studied domain. Relevant optimization problems in the studied domain
are typically large and complex, which makes them rather difficult to model as DCOPs.
An important reason for this is that it is difficult to model explicit constraints as in traditional approaches to optimization. Another reason is that in a DCOP, all variables
need to be known and explicitly modeled when the problem is formulated. This is not
the case in decomposition approaches to optimization, such as Dantzig-Wolfe decomposition, which often are used for solving problems in the studied domain.
Combining agents with decomposition approaches is another relatively new approach, which we find particularly interesting to investigate. An example is provided
by Hirayama (2006), who proposed an agent-based approach for solving the Generalized Mutual Assignment Problem. The approach was built using a distributed solution
protocol based on Lagrangean decomposition and distributed constraint satisfaction.
Agents were used for solving individual optimization problems, which were coordinated in order to improve a global solution.
2
Research questions and research methods
The purpose of this thesis is to identify and investigate possible approaches for the
integration of agent technology and mathematical optimization methods, and to achieve
improved decision support within the domain of analysis and planning of production
and transportation.
The main research question is:
How can decision support in the domain of analysis and planning of production and transportation be improved by the integration of agent technology and mathematical optimization?
To be able to answer the main question we have chosen to study the integration of
agents and optimization in the contexts of three domain specific application areas:
1. Prediction of consequences of the introduction of production and transportation
measures.
8
2. Integrated planning of production, inventory, and transportation.
3. Planning and execution of intermodal transports.
The first application area is important, in particular for public policy makers, who have
a demand for improved predictions of consequences of production and transportation
measures. The second and third applications are important mainly for the industry
since there is a need for improved planning of supply chain activities, e.g., to reduce
environmental effects, improve business through better utilization of resources, etc.
We have formulated three corollary research questions:
RQ1. How can agent technology and mathematical optimization be integrated in order to achieve improved predictions of the consequences of the
introduction of production and transportation measures?
RQ2. How can agent technology and mathematical optimization be integrated in order to achieve improved planning of integrated production,
inventory, and transportation?
RQ3. How can agent technology and mathematical optimization be integrated in order to achieve improved planning and execution of intermodal
transports?
The research presented in this thesis corresponds well to research on information
technology as described by March and Smith (1995). This type of research typically
involves activities related to identifying and conceptualizing relevant real problems,
constructing appropriate solutions approaches that are evaluated and implemented, as
well as establishing an understanding of why different approaches work or not. In
particular, it often involves that methods, tools, languages, etc., are developed as a part
of answering a research question. Hence, this type of research typically concerns the
construction of artificial artifacts, whereas the focus in many traditional disciplines,
like natural science, often is to describe and explain real world phenomena.
In this thesis we mainly used mathematical and computation modeling as a basis
for constructing three approaches for combining agent technology and mathematical
optimization. However, pure mathematical and computational modeling approaches
are typically not sufficient to be able to study real problems. For instance, interviews
with domain experts may need to be conducted in order to ensure real world relevance
of research activities. Therefore, we have used a mixed-methods approach (Creswell,
2009), in which the choice of which particular research methods to use has been carefully evaluated based the suitability for each research question.
We have conducted literature studies in the studied areas of application in order
to position our work, and the literature has also been a valuable source for information and ideas throughout the work. Face-to-face interviews with domain experts and
practitioners in the application domain have been conducted in order to:
9
1. Contribute to the general knowledge base that was used when developing the
three approaches for integrating agent technology and mathematical optimization.
2. Validate the proposed approaches, and in particular for RQ1 and RQ2 interviews
have been important for validation purposes (RQ3 has mainly be validated through theoretical analysis).
3. Collect input data for experiments, and to make proper assumptions in case of
missing data.
Due to the nature of the studied domain it is practically impossible to conduct real
world experiments. Therefore we have conducted experiments in laboratory environments. Experiments have been conducted as “proof-of-concepts” (e.g., in Paper II) or
together with statistical analysis to make conclusions about a studied system (e.g., in
Paper III).
RQ1 has mainly been approached by developing (designing and constructing) a
multi-agent-based model (TAPAS) for simulation of decision making and physical activities in supply chains. The main purpose of TAPAS is to predict the consequences
of different types of production and transportation measures. TAPAS is rather general
and it has been used for conducting simulation studies in several projects, which is
important for the validation of the model. We have conducted a literature survey of applications to multi-agent-based simulation, which provides valuable insights and ideas
for how to construct a multi-agent-based model for consequence analysis of production and transportation measures. Moreover, we have created a framework of building
blocks and guidelines, which can be used as support when developing supply chain
simulation models.
To answer RQ2, we have studied a real world integrated production, inventory, and
routing problem. The problem involves a producer, AarhusKarlshamn1 , of high valueadded specialty vegetable fat/oils, and a transporter, FoodTankers2 , which is responsible for transportation of products. The problem has been formulated using DantzigWolfe decomposition, and an agent-based solution method has been developed. Information about the real-world problem was mainly collected through face-to-face interviews with representatives from the involved companies. Additionally, documents
from the project partners and iterated interaction of these documents have been important sources for information when formulating the problem.
RQ3 has been studied by creating a conceptual approach for a system providing
agent-based support for planning, execution and following up multi-actor intermodal
transports. The approach has been analyzed theoretically and partially validated within
the FREGHTWISE project.
1 http://www.aak.com/
2 http://www.foodtankers.com/
10
3
Thesis contributions
In this section we address the contributions related to each of the studied research
questions. As we discuss the contributions we also summarize the papers included in
the thesis.
The main research question is addressed by answering RQ1- RQ3, and the main
contribution is that we provide and analyze three approaches for the integration of
agent technology and mathematical optimization for improved decision support in the
domain of analysis and planning of production and transportation. We also show how
the proposed methods can be used to achieve improved decision making.
RQ1. How can agent technology and mathematical optimization be integrated in
order to achieve improved predictions of the consequences of the introduction of
production and transportation measures?
RQ1 is addressed in papers I, II, III and IV. The main contribution to RQ1 is connected
to the development and usage of TAPAS, which is an agent-based model for simulation
of decision making and physical activities in supply chains. In Paper II, we provide a
detailed technical description and a motivation for the design of the TAPAS model, and
in Paper III the focus is on the usage of TAPAS. Also, in Paper III we describe a simulation study in a scenario around the Southern Baltic Sea, which has been conducted
with TAPAS.
An important purpose of TAPAS is to function as a decision support system for
public policy makers by indicating how supply chain organizations are expected to
react to different production and transportation measures. Other possible applications
of TAPAS include assisting companies in making tactical and operational decisions,
e.g., concerning choice of consignment size and frequency of deliveries, as well as
strategic decisions, e.g., concerning choice of producer, adaptation of vehicle fleets,
and location of storages and terminals. TAPAS uses a 2-tier architecture (see Fig. 3)
with a physical simulator and a decision making simulator. In the physical simulator,
all physical entities (e.g., links, vehicles, and products) are represented, and in the
decision making simulator, six supply chain roles are modeled as software agents.
TAPAS incorporates the complexity of transport choices, e.g., with respect to consignment size, route and transportation mode. In addition, TAPAS is able to capture explicit time aspects, such as, the effects of timetables, arrival times, and timedifferentiated taxes and fees. This makes TAPAS more powerful than traditional approaches to simulation of freight transportation as it is able to capture the individual
goals of supply chain actors and the interaction between them, as well as their heterogeneity and decision making. Whereas traditional approaches, such as SAMGODS
(Swahn, 2001), often rely on assumed statistical correlation between different parameters, TAPAS relies on causality, i.e., the decisions and negotiations that lead to activities
are modeled.
11
Fig. 3: An overview of the architecture of the TAPAS simulation model.
TAPAS includes an optimization-based route selection algorithm, which is able to
take both timetabled and demand driven transports into account. The route selection
algorithm is designed in a way that makes it easy to add new costs and constraints, and
to the best of our knowledge there exists no previous approach that can do this in a good
way. TAPAS contributes to RQ1 by providing an implemented and validated approach
based on agent technology and mathematical optimization for improved prediction of
the consequences of production and transportation measures.
Paper I provides an analysis of applications to agent-based simulation covering
papers presented in the postproceedings of the 1st through the 5th Multi-Agent-Based
Simulation (MABS) workshops at the AAMAS (International Conference on Autonomous Agents and Multiagent Systems) conference. According to our knowledge,
there exists no previous analysis regarding applications to multi-agent-based simulation. An evaluation framework was developed and applied to simplify the analysis of
the papers. A further contribution is a set of guidelines for how to write MABS application papers. The analysis contributes to RQ1 since it provides ideas for how to
design agent-based simulation models within the studied domain.
In Paper IV we identify a set of abstract supply chain responsibilities, roles and
interactions that are argued to be sufficient for representing all types of organizations
involved in buying and selling products and transport services. The identified responsibilities, roles and interactions are organized into a framework together with a set of
modeling guidelines, which we argue can be used to simplify the process of developing
multi-agent-based supply chain simulation models. Hence, Paper IV also contributes
to RQ1.
12
RQ2. How can agent technology and mathematical optimization be integrated
in order to achieve improved planning of integrated production, inventory, and
transportation?
RQ2 is addressed in papers VI and VII. In Paper VI we present a case study concerning
allocation of production and transportation resources. In the case study, two hybrid
approaches of agent technology and optimization were investigated. In one of the
hybrid systems, optimization was embedded in the agents to improve their decision
making capabilities. In the other approach, optimization was used for creating a longterm coarse plan, which served as input to agents who were able to modify the plan
dynamically. The results from the case study indicated that it is possible to capitalize
both on the ability of agents to dynamically adapt to changes and on the ability of
optimization techniques for finding high quality solutions. Hence, Paper VI contributes
to the answer of RQ2.
In Paper VII we present an optimization model and an agent-based solution approach for a real-world integrated production, inventory and routing problem. The optimization model was built using the principles of Dantzig-Wolfe column generation,
with a master problem and two types of subproblems; one transportation subproblem for generating transportation plans and one production scheduling subproblem for
generating production plans. In the solution approach, software agents were used to
represent the master problem as well as the subproblems in the Dantzig-Wolfe decomposition formulation. This allowed us to simulate the real actors involved in the solution process of the studied problem. Furthermore, agents act as carriers of information
and they are, for instance, responsible for sending dual variables and solutions between the master problem and the subproblems. The suggested agent-based approach
to Dantzig-Wolfe decomposition contributes to RQ2. Moreover, we discussed some
effects and potentials of agent-based approaches to decomposition methods. Examples
of positive effects are the possibility to provide increased confidentiality between the
involved actors and the possibility for distributed computing. Some negative effects,
such as processing and communication overhead were also discussed.
We suggest that the presented approach to Dantzig-Wolfe decomposition can be
used as decision support for strategic planning by indicating how the involved organizations may benefit from the introduction of Vendor Managed Inventory (VMI)
(Daugherty et al., 1999). In Paper VII, we present simulation experiments, which indicate that an increased number of VMI customers may reduce the total cost for production, transportation and inventory holding.
RQ3. How can agent technology and mathematical optimization be integrated in
order to achieve improved planning and execution of intermodal transports?
RQ3 is addressed in Paper V, in which we describe an approach called Plug and Play
Transport Chain Management (PnP TCM). An illustration of PnP TCM is provided in
13
Fig. 4. We analyzed the requirements of PnP TCM and described a conceptual multiagent system architecture meeting these requirements. PnP TCM contributes to RQ3
by describing a multi-agent based approach for improved planning and following up
of intermodal transports. In particular, transport planning is specified using concepts
from mathematical optimization.
PnP TCM provides agent-based support for key tasks, such as, finding the best
sequence of transport services for a particular goods transport through optimizationbased planning, monitoring the execution of transports, and for administrative information transactions. The approach is based on the FREIGHTWISE Framework (Fjørtoft
et al., 2009), in which four transport chain roles are defined, i.e., Transport User, Transport Service Provider, Transport Network Manager and Transport Regulator. Moreover, a minimal set of information packages is defined, with the purpose to capture all
information that needs to be communicated between the actors involved in a transport.
In the approach, all interaction makes use of these information packages.
Fig. 4: An illustration of the PnP TCM approach. The transport chain actors are connected to an Internet
community via user interfaces.
In PnP TCM, transport chains are viewed as virtual enterprises, which may be
defined as temporary alliances of enterprises that come together to share skills or core
competencies and resources in order to better respond to business opportunities, and
whose cooperation is supported by computer networks. A few key ideas behind the
approach includes:
• Making information about the available transport services easily accessible.
• Providing support for finding the “best” set of transport services for a particular transport, including a matchmaking functionality that makes it easier for
potential transport chain actors to find each other and negotiate with potential
collaborators.
• Supporting the negotiation and collaboration between the actors in a transport
chain.
14
• Lowering the entry barriers for small-sized companies to participate in highly
integrated transport chains by providing low cost and easy-to-use software tools.
Moreover PnP TCM should be implemented in a completely distributed fashion, both
with respect to control and information, and it should be seamlessly interoperable with
relevant legacy ERP (Enterprise Resource Planning) systems of the participating actors.
4
Conclusions and directions for future work
The main purpose of this thesis was to identify and investigate possible approaches for
the integration of agent technology and mathematical optimization for improved decision support in the domain of analysis and planning of production and transportation.
By developing and analyzing three approaches in three domain specific application
areas, we are able to conclude that it is possible to integrate agent technology and
mathematical optimization within the studied domain. Moreover, we have shown that
the integration of the techniques may provide improved decision support in the three
application areas.
In the future it would be interesting to investigate and develop additional approaches
for the integration of agent technology and mathematical optimization. This can be
done for the three studied application areas, but also for other application areas, either
in the studied domain or in other domains. Moreover, it is possible to further develop
the three approaches that have been presented in this thesis, and in the rest of this section we discuss conclusions and future work in relation to the three application areas
that have been studied.
Application area 1. Prediction of consequences of the introduction of production
and transportation measures.
We have presented TAPAS, which is an agent-based simulation model for a rather wide
scope of supply chain scenarios. We have shown that agent-based simulation can be
used to simulate the decision making and the interaction between decision makers, as
well as, dealing with the mixing of timetabled and demand driven transports in the route
selection algorithm, which is based on mathematical optimization. This is difficult, if
possible at all using traditional simulation techniques. Moreover, we have conducted
simulation experiments concerning the effects of kilometer taxation, CO2 taxation and
synchronization of timetables, which shows how TAPAS can be used to obtain improved predictions of consequences of production and transportation measures.
Possible future improvements of TAPAS include:
• Integration of more sophisticated optimization algorithms inside the agents for
modeling of more advanced decision makers.
15
• Improved execution performance, for instance, by allowing TAPAS to be executed in a grid environment.
• More detailed modeling of inventory and terminal management.
Application area 2. Integrated planning of production, inventory, and transportation.
A contribution of this thesis is an optimization model and a solution method based
on Dantzig-Wolfe decomposition for a real-world integrated production, inventory and
routing problem. The decomposition algorithm was implemented and executed as a
multi-agent system inside the TAPAS simulation model, which enabled us to simulate
the real world actors involved in the solution process of the studied problem.
Some positive effects of the agent-based solution approach, such as increased confidentiality of information and the possibility for distributed computing have been identified and discussed. Examples of negative effects include processing and communication overhead. A possible direction for future work is to parallelize the problem
solving, e.g., by using a grid network for reduced solution time. This would potentially
allow subproblems containing more real-world problem details to be modeled.
We conclude that our agent-based solution approach has the potential to function as
a framework for the more general class of integrated production, inventory and routing
problems. The studied problem is rather general, and as long as the master problem
can produce dual variables and receive production and transportation plans, the solution
method can be modified for solving other production and transportation subproblems.
A potential direction for future work concerning the integration of agent technology
and mathematical optimization is to further integrate our agent-based solution approach
into TAPAS. For instance, by applying and simulating the plans that are generated by
the optimization approach inside TAPAS, it would be possible to analyze the quality
of the plans. In particular for strategic decision making, this would be useful since
it would allow evaluation of the solution without the need to perform expensive and
hazardous real-world experiments.
Application area 3. Planning and execution of intermodal transports.
We have presented a conceptual architecture for a multi-agent-based approach for improved planning and execution of intermodal transports. The approach (PnP TCM)
provides support for finding the best sequence of transport services for a particular
goods transport, monitoring the execution of transports, etc.
The natural step in the development of PnP TCM is to create a prototype to enable
further analyses of the algorithmic approach. Preferable, such a prototype should be
built in a laboratory environment using multi-agent-based simulation in order to avoid
expensive field tests.
16
Paper I
Applications of agent based simulation
Paul Davidsson, Johan Holmgren, Hans Kyhlbäck, Dawit Mengistu and
Marie Persson
Published in Multi-Agent-Based Simulation VII, Lecture Notes in Computer Science,
Vol. 4442, 15-27, Springer, 2007.
Abstract. This paper provides a survey and analysis of applications of Agent
Based Simulation (ABS). A framework for describing and assessing the applications is presented and systematically applied. A general conclusion from the study
is that even if ABS seems a promising approach to many problems involving simulation of complex systems of interacting entities, it seems as the full potential of
the agent concept and previous research and development within ABS often is not
utilized. We illustrate this by providing some concrete examples. Another conclusion is that important information of the applications, in particular concerning the
implementation of the simulator, was missing in many papers. As an attempt to
encourage improvements we provide some guidelines for writing ABS application
papers.
1
Introduction
The research area of Agent Based Simulation (ABS) continues to produce techniques,
tools, and methods. In addition, a large number of applications of ABS have been
developed. By ABS application we here mean actual computer simulations based on
agent-based modelling of a real (or imagined) system in order to solve a concrete problem. The aim of this paper is to present a consistent view of ABS applications (as they
are described in the papers) and to identify trends, similarities and differences, as well
as issues that may need further investigation.
As several hundreds of ABS applications have been reported in different publications, we had to make a sample of these. After having performed a preliminary search
for papers describing ABS applications that resulted in about 50 papers, we identified
17
one publication that was dominating. About 30% of the papers were published in the
postproceedings of the MABS workshop series (Moss & Davidsson, 2001; Sichman
et al., 2003; Hales et al., 2003; Davidsson, Logan, & Takadama, 2005; Sichman &
Antunes, 2006) whereas the next most frequent publications covered only 10%. We
then chose to focus on the MABS publication series and found 28 papers containing
ABS applications (out of 73). Even if we cannot guarantee that this is an unbiased
sample, we think that selecting all the applications reported in a particular publication
series with a general ABS focus (rather than specializing in particular domains etc.), is
at least an attempt to achieve this.
In the next section, we present the framework that will be used to classify and
assess the applications. This is followed by a systematic survey of the sampled papers.
Finally, we analyze our findings and present some conclusions.
2
Evaluation framework
An ABS application models and simulates some real system that consists of a set of
entities. The ABS itself can be seen as a multi-agent system composed of a set of
(software) agents. That is, there is a correspondance between the real system and the
multi-agent system as well as between the (real) entities and the agents. We will use
the terms “system” and “entity” when referring to reality and “multi-agent system”
and “agent” when referring to simulation models. For each paper we describe different
aspects of the problem studied, the modeling approach taken to solve it, the implementation of the simulator, and how the results are assessed.
2.1
Problem description
Each problem description includes the domain studied, the intended end-user, and the
purpose of the ABS application.
Domain: The domain of an application refers to the type of system being simulated.
We identified the following domains after analyzing the sampled papers:
1. An animal society consists of a number of interacting animals, such as an ant
colony or a colony of birds. The purpose of a simulation could be to better
understand the individual behaviors that cause emergent phenomena, e.g., the
behavior of flocks of birds.
2. A physiological system consists of functional organs integrated and cooperatively related in living organisms, e.g., subsystems of the human body. The
purpose could be to verify theories, e.g., the regulation of the glucose-insulin
metabolism inside the human body.
3. A social system consists of a set of human individuals with individual goals, i.e.,
the goal of different individuals may be conflicting. An example could be to
study how social structures like segregation evolve.
18
4. An organization is here defined as a structure of persons related to each other
in purposefully accomplishing work or some other kind of activity, i.e., the persons of the organization have common goals. The aim of a simulation could be
to evaluate different approaches to scheduling work tasks with the purpose of
speeding up the completion of business processes.
5. An economic system is an organized structure in which actors (individuals, groups, or enterprises) are trading goods or services on a market. The applications
which we consider under this domain may be used to analyze the interactions and
activities of entities in the system to help understand how the market or economy
evolves over time and how the participants of the system react to the changing
economic policies of the environment where the system is operating.
6. In an ecological system animals and/or plants are living and developing together
in a relationship to each other and in dependence of the environment. The purpose could be to estimate the effects of a plant disease incursion in an agricultural
region.
7. A physical system is a collection of passive entities following only physical laws.
For example, a pile of sand and the purpose of the simulation may be to calculate
the static equilibrium of a pile considering forces between beads and properties
within the pile considered as a unit.
8. A robotic system consists of one or more electro-mechanical entities having sensory, decision, tactile and rotary capabilities. An example is the use of a set of
robots in patrolling tasks. The purpose of the simulation could be to study the
effectiveness of a given patrolling strategy.
9. Transportation & traffic systems concern the movement of people, goods or information in a transportation infrastructure such as a road network or a telecommunication network. A typical example is a set of interacting drivers in a road
network. The purpose of a simulation could be to create realistic models of human drivers to be used in a driving simulator.
End-users: The end-users of an ABS application are the intended users of the simulator. We distinguish here between four types of end-users: scientists, who use the
ABS in the research process to gain new knowledge, policy makers, who use ABS for
making strategic decisions, managers (of a systems), who use ABS to make operational
decisions, and other professionals, such as architects, who use ABS in their daily work.
Purpose: The purpose of the studied ABS applications is classified according to prediction, verification, training and analysis. We refer to prediction as making prognoses
concerning future states. Verification concerns the purposes of determining whether a
theory, model, hypothesis, or software is correct. Analysis refers to the purpose of gaining deeper knowledge and understanding of a certain domain, i.e., there is no specific
theory, model etc to be verified but we want to study different phenomena, which may
however lead to theory refinement. Finally, training is for the purpose of improving a
person’s skills in a certain domain.
19
2.2
Modeling approach
The modeling aspects are captured by the eight aspects described below.
Simulated Entities: They are the entities distinguished as the key constituents of the
studied systems and modeled as agents. Four different categories of entities are identified: Living thing - humans or animals, Physical entity - artifacts, like a machine or a
robot, or natural objects, Software process - executing program code, or Organization
- an enterprise, a group of persons, and other entities composed by a set of individuals.
Number of Agent Types: Depending on the nature of the studied application, the
investigators have used one or more different agent types to model the distinct entities
of the domain.
Communication: The entities can have some or no interaction with one another. The
interactions take place in the form of inter-agent communication, i.e., messaging. Here,
we defined two values to indicate whether communication between agents exists or not.
Spatial Explicitness refers to the assumption of a location in the physical space for
the simulated entities. This can be expressed either as absolute distance or relative
positions between entities.
Mobility refers to the ability of an entity to change position in the physical space.
Although the real world entities may be spatially situated or moving from place to
place, this fact need not be considered in the simulation if its inclusion or omission
does not affect the outcome of the study.
Adaptivity is the ability of the entities to learn and improve with experience that they
may acquire through their lifetime. Two values are defined to indicate whether the
simulated entities are adaptive or not.
The structure of MAS refers to the arrangement of agents and their interaction in the
modeled system to carry out their objectives. This arrangement could be in one of
the following three forms: peer-to-peer, hierarchical, or recursive. In a peer-to-peer
arrangement, individual entities of the modeled system are potentially interacting with
all other entities. In a hierarchical structure, agents are arranged in a tree-like structure
where there is a central entity that interacts with a number of other entities which are
located one level down in the hierarchy. Whereas, in a recursive structure, entities
are arranged in groups, where the organization of each group could be in either of the
forms above, and these groups are interacting among each other to accomplish their
tasks. The three types of MAS structure are illustrated in Fig. 1.
Dynamic: If the modeled entities are able to come into existence at different instances
of time during a simulation, we regard them as dynamic.
2.3
Implementation approach
The implementation approach used is described in terms of the following aspects:
Platform used: The software platform is the development environment, tool or language with which the ABS application is developed. The platforms provide support to
20
Fig. 1: Peer-to-peer, hierarchical, and recursive organization of a MAS.
different degrees for the developers so that they need not worry about every implementation detail.
Simulation size describes the number of agents participating in the implementation of
the ABS application. If the number is different between simulations or is changing
dynamically during a simulation, we will use the largest number.
Scale: The size of data used in the actual simulations has been divided into limited/partial or full-scale data. The full-scale data represents data for a whole system,
while the limited/partial data only covers parts of the system.
Input data: The data used in the experiment can either be real data, i.e. taken from
existing systems in the real world, or data that is not real, i.e. artificial, synthetic or
generated.
Distributed: ABS applications, depending on the size and sometimes the nature of the
application, may require different execution environments: a single computer, if the
number is small or several computers in a distributed environment, if the number of
agents is large.
Mobile agents: Agents executing in a distributed environment can be described by
their mobility, as static or mobile. Static agents run on a singular computer during their
lifetime. Mobile agents, on the other hand, are able to migrate between computers in a
network environment.
2.4
Results
The classification of the result of the approaches will be in terms of maturity of the
research, comparison to other approaches and the validation performed.
Maturity: ABS applications can have varying degree of maturity. In our framework
the lowest degree of maturity is conceptual proposal. Here the idea or the principles of
a proposed application is described, but there is no implemented simulator. The next
level in the classification is laboratory experiments where the application has been
tested in a laboratory environment. The final level, deployed system, indicates that
the ABS system actually is or has been used by the intended end-users, e.g., traffic
managers that use a simulator for deciding how to redirect the traffic when an accident
has occurred. If the authors of the paper belong to the intended end-users (researchers),
21
we classify the application as deployed if the authors draw actual conclusions from the
simulation results regarding the system that is simulated (rather than just stating that
ABS seems appropriate).
Evaluation comparison: If a new approach is developed to solve a problem which has
been solved previously using other approaches, the new approach should be compared
to existing approaches. That is, answer the question whether ABS actually is an appropriate approach to solve the problem. Such an evaluation could be either qualitative,
by comparing the characteristics of the approaches, or quantitative, by different types
of experiments.
Validation: In order to confirm that an ABS correctly models the real system it needs
to be validated. This can be performed in different ways, qualitatively, e.g., by letting
domain experts examine the simulation model, or quantitatively, e.g., by comparing
the output produced by the simulator with actual measurements on the real system.
3
Results
In Table 1 the framework is summarized. Table 2 and Table 3 show how the papers
were classified according to the framework. If a paper does not explicitly state to which
category the simulator belongs but there are good reasons to believe that it belongs to
a particular category, it is marked by an asterisk (*). If we have not managed to make
an educated guess, it is marked by “-”.
Table 1: Summary of the framework
Problem
description
Aspect
Categories
Domain
1.
2.
3.
4.
5.
6.
7.
8.
9.
Animal societies
Physiological systems
Social systems
Organizations
Economic systems
Ecological systems
Physical systems
Robotic systems
Transport/traffic systems
End-user
1.
2.
3.
4.
Scientists
Policy makers
Managers
Other professionals
Purpose
1.
2.
3.
4.
Prediction
Verification
Analysis
Training
Continued on next page
22
Continued from previous page
Modeling
approach
Implementation approach
Results
Simulated entity
1.
2.
3.
4.
Living
Physical artefact
Software process
Organisation
Agent types
1 - 1000
Communication
1. no 2. yes
Spatial explicitness
1. no 2. yes
Mobility
1. no 2. yes
Adaptivity
1. no 2. yes
Structure (of MAS)
1. Peer-to-peer
2. Hierachical
3. Recursive
Dynamic
1. no 2. yes
Platform used
NetLogo, RePast, Swarm, C++, JADE, etc.
Simulation size
1 - 10000000
Scale
1. Limited/partial
2. Full-scale
Input data
1. Artificial data
2. Real data
Distributed
1. no 2. yes
Mobile agents
1. no 2. yes
Maturity
1. Conceptual proposal
2. Laboratory experiment
3. Deployed
Evaluation
1. None
2. Qualitative
3. Quantitative
Validation
1. None
2. Qualitative
3. Quantitative
23
Table 2: The classification of the studied papers.
Purpose
Simulated entity
Number of agent types
Communication
Spatial explicitness
Mobile
Adaptive
MAS structure
Dynamic
(Kafeza & Karlapalem, 2001)
4
3
1
3
2
2
1
1
1
2*
1
(Wickenberg & Davidsson, 2003)
4
3,4
3
1
-
2
2
-
2
-
-
(Rouchier & Thoyer, 2003)
4
1,2
1,3
1
4
1
1
1
1*
1*
1
(Robertson, 2003)
4
1,2
3
1,4
2
1
1
1
1
2*
1
(Noda et al., 2003)
9
1,2
1
2
-
1
2
2
1
-
1
(Sosa & Gero, 2003)
3
1
3
1
1
1
2
1
1
1
1
(Miyashita, 2005)
3,9
1
2
1,2
3
2
2
2
1
1
2
Paper
End-user
Modeling
Domain
Problem
(Shah & Pritchett, 2005)
4
1,4
3
1
2
2
2
2
2
1
2
(El hadouaj et al., 2001)
9
3
2
1
1
1
2
2
1*
1
1*
(Premo, 2005)
3,6
1
3
1
3
1*
2
2
2*
1
2
(Bergkvist et al., 2005)
5,9
2
3
1
6
2
1
1
1
2
1
(Breton et al., 2001)
7
1
3
2
1
2
2
1
1
1
1*
(Takahashi & Okada, 2003)
5
1
2,3
1,4
3
2
1
1
1*
2
2
(Henein & White, 2005)
3
1,4
2
1
1
1
2
2
1*
1
2
(Hemelrijk, 2001)
1
1
3
1
2
1*
2
2
1
1
1
(Pedone & Conte, 2001)
3
1
2
1
1
1*
2
2
1
1
1
(Amigoni & Gatti, 2003)
2
1
2
2
3
2
1
1
2
3
1
(Rodrigues & da Rocha Costa, 2003) 3
1
3
1
3
2
1
1
1
1
1
(Tomita & Namatame, 2003)
3
1
3
1
1
2
2
2
1
1
2
(Elliston et al., 2005)
3,6
2
3
1
3
2
2
2
1
1
1
(Winoto, 2003)
3
1,2
3
1,3
3
2*
1
1
1
1
2
(Sahli & Moulin, 2006)
4,7
3
3
1,2
5
2
2
2
2
1
1
(Antunes et al., 2006)
3
1
2,3
1
2
1
1
1
2
1
1
(Melo et al., 2006)
4
2
3
1,2
3
2
2
2
2
1
1
(Machado et al., 2003)
8
1
1,2
2
1
2
2
2
1
1
1
(McGeary & Decker, 2001)
5
1
3
1
7
2
1
1
2
2
1
Continued on next page
24
Continued from previous page
(Downing et al., 2001)
3
2
3
1
1*
2
2
1
2*
1
1
(Ebenhöh, 2006)
5
1
3
1
1
2
1
1
1
1
1
Table 3: The classification of the studied papers (continued).
Size
Scale
Input data
Distributed
Mobile
Maturity
Evaluation
Validation
(Kafeza & Karlapalem, 2001)
Results
Platform
Paper
Implementation
C++
10
1
1
1*
1*
2
1
1
(Wickenberg & Davidsson, 2003)
-
-
-
-
-
-
1
1
1
(Rouchier & Thoyer, 2003)
-
-
1
2
1*
1*
3
1
3*
(Robertson, 2003)
RePast
60
1
1
1*
1*
3
1
1
(Noda et al., 2003)
-
120
2
1
-
-
3
1
1
(Sosa & Gero, 2003)
-
100
1
1
1*
1*
3
1
2*
(Miyashita, 2005)
(Shah & Pritchett, 2005)
(El hadouaj et al., 2001)
-
12000
2
2
2*
2*
2
1
1
WEA
25*
2
2
2*
2*
2
1
3
-
100*
1
1
1*
1*
2
2
3
Swarm
540
1
1
1*
1*
3
1
1
Jade
7
1
2
1*
1*
2
1
1
(Breton et al., 2001)
-
106
1
1
1*
1*
2
2,3 2
(Takahashi & Okada, 2003)
-
102
1
1
1*
1*
3
1
2
NetLogo
200
1
1
1*
1*
2
2
1
(Premo, 2005)
(Bergkvist et al., 2005)
(Henein & White, 2005)
(Hemelrijk, 2001)
ObjectPascal
8
1
1
1
1
3*
1
3
(Pedone & Conte, 2001)
-
250
1
1
1*
1*
3*
1
1
(Amigoni & Gatti, 2003)
Java
4
2
1*
2*
1*
3
1
3
-
9
1
1
1*
1*
2
1
1
Sugarscape
700
1
1
1*
1*
3*
1
1
(Rodrigues & da Rocha Costa, 2003)
(Tomita & Namatame, 2003)
(Elliston et al., 2005)
(Winoto, 2003)
(Sahli & Moulin, 2006)
(Antunes et al., 2006)
Cormas
-
1
2
1*
1*
2
1
3
VisualBasic
10000
1
1
1
1
2
3
1
C++
1
1
1
1
1
2
1
1
NetLogo
500
1
1
1* 1* 2
2
1
Continued on next page
25
Continued from previous page
(Melo et al., 2006)
(Machado et al., 2003)
RePast
61
1
2
1*
1*
3
2
1
C++
25
1
1
1*
1*
3*
1
1
DECAF
3
1
1
1*
1*
2
1
1
(Downing et al., 2001)
-
-
1
1
1*
1
3*
2
2
(Ebenhöh, 2006)
-
24*
2
1
1*
1*
2
3
1
(McGeary & Decker, 2001)
4
4.1
Analysis
Problem description
The results indicate that ABS is often used to study systems involving interacting human decision makers, e.g., in social, organizational, economic, traffic and transport
systems (see Fig. 2). This is not surprising given the fact that qualities like autonomy,
communication, planning, etc., often are presented as characteristic of software agents
(as well as of human beings). However, as (some of) these qualities are present also
in other living entities, it is interesting to note that there was only one paper on simulating animal societies and just two involving ecological systems. Very few papers are
found on simulating technical systems, such as ICT systems, i.e., integrated systems
of computers, communication technology, software, data, and the people who manage
and use them, critical infrastructures, power systems etc.. The aim of such models
might be to study and have a deeper understanding of the existing and emerging functionalities of the system and analyze the impact of parameter changes. (The only paper
on simulating technical systems concerned robotic systems.)
In more than half of the applications, researchers were the intended end-user. As
can be seen in Fig. 3, the most common purpose of the applications included in the
study was analysis. However, no paper reported the use of ABS for training purposes
indicating that this may be an underdeveloped area.
4.2
Modeling approach
The simulated entities are mostly living things, indicating that ABS is believed to be
better suited to model the complexity of human (and animal) behaviour compared to
other techniques. However, it should be noted that in some applications there were
entities not modeled and simulated and implemented as agents. Hybrid systems of this
kind are motivated by the fact that some entities are passive and are not making any
decisions, especially in socio-technical systems. The model design choices for some
of the aspects seem to be consequences of the characteristics of the systems simulated.
After all, the aim is to mirror the real system. These aspects include number of agent
26
Fig. 2: The distribution of the type of domains simulated.
Fig. 3: The distribution of purpose.
types, only about 15% of the applications had more than three different agent types,
spatial explicitness (60% do use it), mobility of entities (50%), communication between
entities (64%), and the structure of the MAS where a vast majority used a peer-to-peer
structure (77%). However, as illustrated in Fig. 4, there are some modelling aspects
where the strengths of the agent approach do not seem to have been explored to its full
potential. For instance, only 9 of the 28 papers make use of adaptivity, and just 7 out
of the 27 implemented systems seem to use dynamic simulations.
4.3
Implementation approach
Nearly half of the papers do not state which software were used to develop the ABS.
In particular, it is interesting to note that the two papers with the largest number of
27
Fig. 4: The distribution of modeling aspects.
agents do not state this. Of the agent platforms and simulation tools available, none
is dominantly used. In fact, many of the simulations were implemented with C++
or programs developed from scratch. A possible reason for this may be that many
ABS tools and platforms make limiting assumptions regarding the way that entities are
modeled. The number of agents in the simulation experiments is typically quite small
(see Fig. 5). In 50% of the papers the number of agents were 61 or less. The fact
that most simulation experiments were limited covering only a part of the simulated
system, may be an explanation for this. The reasons for this are seldom discussed in the
papers but are probably lack of computing hardware, software (such as proper agent
simulation platforms), or the time available to perform the experiments. Moreover,
there may be a “trade-off” between the complexity of the agents and the number of
agents in the experiments, i.e., that large sized simulations use relatively simple agents
whereas smaller simulations use more complex agents. However, further analysis is
necessary before any conclusions can be drawn.
Fig. 5: The frequency of different simulation sizes (number of agents).
Many of the simulation experiments are conducted with artificial data, typically
28
making simplifying assumptions. This is often due to reasons beyond the researchers’
control, such as availability of data. As a consequence, it may be difficult to assess
the relevance of the findings of such simulations to the real world problems they aim to
solve. It seems as very few of the simulators are distributed, and no one is using mobile
agents. However, these issues are seldom described in the papers.
4.4
Results
We have not encountered any ABS applications that are reported to be deployed to solve
actual real world operational tasks. The examples of deployed systems are limited to
the cases where the researchers themselves are the end-users. The cause of this could
be the fact that ABS is a quite new methodology, or that the deployment phase often
is not described in scientific publications. As illustrated in Fig. 6, less than half of
the simulations are actually reported to be validated. This is particularly striking as
it is in most cases the complex behaviors of humans that are being simulated. Also,
comparisons to other approaches are very rare.
Fig. 6: The frequency of different types and evaluation.
4.5
Limitations of the study
Although the conclusions drawn from our study are valid for the work published in the
MABS proceedings, a larger sample is probably needed to verify that they hold for the
whole ABS area. There were a number of interesting aspects that we were not able to
include in our study. For example, regarding the problem description, the size of the
actual problem, i.e., the system being simulated would be interesting to know. Typically, only a partial simulation is made, i.e., the number of entities in the real system
is much larger than the number of agents in the simulation. However, in most papers
29
the size of the real system is not described and often it was very difficult for us to estimate the size. Another interesting aspect not included in this study is the modeling of
entities. The representation of the behavior and state of the real world entities should
be sufficiently sophisticated to capture the aspects relevant for the problem studied.
We initially categorized the ways of modeling the entities in the following categories:
Mathematical models; Cellular automata; Rule-based (a set of explicit rules describe
the behavior of the agent); Deliberative (the behavior is determined by some kind of
reasoning such as planning). Unfortunately, there were often not enough information
in the papers concerning this aspect. Related to this is the distinction between proactive versus reactive modeling of entities, which also was very difficult to extract from
the papers due to lack of information. Regarding the implementation, we wanted to
investigate how the agent models were implemented in the simulation software. We
found examples ranging from simple feature vectors (as used in traditional dynamic
micro simulation) to sophisticated software entities corresponding to separate threads
or processes. However, also in this case important information was often left out from
the presentation.
5
Conclusions
The applications reviewed in this study suggest that ABS seems a promising approach
to many problems involving simulating complex systems of interacting entities. However, it seems as the full potential of the agent concept often is not utilized, for instance,
with respect to adaptivity and dynamicity. Also, existing ABS tools and platforms are
seldom used and instead the simulation software is developed from scratch using an ordinary programming language. There may be many reasons for this, e.g., that they are
difficult to use and adopt to the problem studied, or that the awareness of the existence
of these tools and platforms is limited. Something that made this study difficult was
that important information, especially concerning the implementation of the simulator,
was missing in many papers. This makes it harder to reproduce the experiments and
to build upon the results in further advancing the state-of-the-art of ABS. A positive
effect of our study would be if researchers became more explicit and clear about how
they have dealt with the different aspects that we have used in the analysis. Therefore,
we suggest the following checklist for ABS application papers:
1. Clearly describe the purpose of the application and the intended end-users.
2. Indicate the typical size of the system (that is simulated) in terms of entities
corresponding to agents.
3. For each agent type in the simulation model, describe
a. what kind of entities it is simulating,
b. how they are modelled (mathematical, rule-based, deliberative, etc.),
c. whether they are proactive or not,
30
4.
5.
6.
7.
8.
9.
10.
d. whether they are communicating with other agents or not,
e. whether they are given a spatial position, and if so, whether they are mobile
f. whether they are capable of learning or not.
Describe the structure of the collection of agents, and state whether this collection is static or agents can be added/removed during a simulation.
State which simulation (or agent) platform was used, or in the case the simulator
was implemented from scratch, what programming language was used.
State the size of the simulation in terms of number of agents.
Describe how the agents were implemented; feature vectors, mobile agents, or
something in-between.
State whether the simulator actually has been used by the intended end-users, or
just in laboratory experiments. In the latter case indicate whether artificial or real
data was used.
Describe how the simulator has been validated.
Describe if and how the suggested approach has been compared to other approaches.
Future work includes extending the study using a larger sample, e.g., include other
relevant workshops and conferences, such as Agent-Based Simulation, and journals
such as JASSS, in order to reduce any bias. Another interesting study would be to make
a comparative study with more traditional simulation techniques including aspects such
as size, validation, etc.
31
32
Paper II
TAPAS: A multi-agent-based model for simulation of supply chains
Johan Holmgren, Paul Davidsson, Jan A. Persson and Linda Ramstedt
Submitted for publication
Abstract. We describe an agent-based model (TAPAS) for simulation of supply
chains. TAPAS is more powerful than traditional approaches as it captures the
interaction between individual supply chain actors, their heterogeneity and decision making processes, and time aspects. Whereas traditional approaches rely on
assumed statistical correlation, TAPAS relies on causality, i.e., the decisions leading to activities. TAPAS is composed of two layers, one simulating the physical
activities, e.g., production and transportation, and another simulating the decision
making and interaction between actors. We illustrate the functionality provided by
TAPAS with a scenario where the consequences of three transportation measures
are studied.
1
Introduction
A supply chain can be referred to as the activities and organizations that are involved
in producing, handling and transporting (moving) products from a producer (supplier)
node to a customer node in a transport network. A supply chain may involve many
activities, ranging from mining of raw material, assembling of components, arranging
transport services, terminal activities, etc. A supply chain may correspond to a few
steps (activities) or to the whole chain from mining of raw material until end customer
delivery.
Supply chain activities, such as production and freight transportation, cause different types of positive and negative effects. Positive effects may relate to economy and
social welfare, e.g., due to the possibility to consume products that have been produced
at far distant locations. Negative effects typically relate to the environment, and examples are emissions, congestion and energy use. To influence the consequences of
33
supply chain activities, different types of production and transportation measures are
often taken by public authorities and enterprises. Certain governmental goals, such as
emission targets and sustainable economical development can be reached by applying
different types of governmental control policies (e.g., taxes and fees), and investing in
infrastructure. To increase their profit and positions toward competitors, enterprises
typically take different types of strategic measures, such as changing the location of
production in order to reduce the need for transportation or to decrease the cost for
production. To prevent undesirable effects from occurring, it is important to be able to
accurately estimate what will be the consequences when applying a production or transportation measure, i.e., a control policy, infrastructure investment or business strategy.
As will be shown in this paper, Multi-Agent-Based Simulation (MABS), in which
one or more of the simulated entities are modeled as agents, can be used for predicting
the effects of various types of production and transportation measures. An agent can
be viewed as a system that is situated in some environment and capable of autonomous
action in that environment in order to meet its design objectives (Wooldridge & Jennings, 1995). We present the Transportation And Production Agent-based Simulator
(TAPAS), which is a micro-level model for supply chain simulation. In TAPAS, which
is based on agent technology, the individual actors of a supply chain, such as producers, transport operators and customers, are explicitly modeled. TAPAS incorporates
the complexity of transport choices, e.g., with respect to consignment size, route and
transportation mode, as well as taking both timetabled and demand driven transports
into account. This makes TAPAS more powerful than traditional approaches to simulation of freight transportation as it is able to capture the individual goals of supply
chain actors and the interaction between them, as well as their heterogeneity and decision making. Whereas traditional approaches rely on assumed statistical correlation
between different parameters, TAPAS relies on causality, i.e., the decisions and negotiations that lead to activities are modeled. In addition, TAPAS is able to capture explicit
time aspects, such as, the effects of timetables, arrival times, and time-differentiated
taxes and fees.
By providing functionality for predicting the effects of production and transportation measures, an important aim of TAPAS is to function as a decision support system
for public policy makers by indicating how supply chain organizations are expected
to react to different production and transportation measures. Other possible applications of TAPAS include assisting companies in making tactical and operational decisions, e.g., concerning choice of consignment size and frequency of deliveries, as
well as strategic decisions, e.g., concerning choice of producer, adaptation of vehicle
fleets, and location of storages and terminals. Moreover, we argue that TAPAS may
complement existing approaches (e.g., on the macro-level) in different ways, e.g., by
generating transport demand that may serve as input data.
The research concerning TAPAS has been going on for several years, and the work
has rendered a number of conference publications (e.g., Bergkvist et al., 2005; Holmgren et al., 2007; Ramstedt et al., 2007; Davidsson et al., 2008). This paper extends
34
the previous work by providing a more detailed technical description and better motivation of the design of the TAPAS simulation model. Also, TAPAS has been extended
with new functionality, e.g., load consolidation for demand driven transports has been
added, and the model for setting transport prices has been improved. Moreover, this
paper contains a new experimental scenario, which is an extension of a scenario that
has been included in an earlier publication (Davidsson et al., 2008).
In the next section we discuss some related work, followed in Section 3 by a detailed description and motivation of the TAPAS simulation model, including an account
to the implementation of TAPAS. In Section 4 we illustrate some important functionalities provided by TAPAS by presenting a scenario and a set of simulation experiments.
Finally, in Section 5 and Section 6, we conclude the paper with a discussion and some
suggestions for future work.
2
Related work
The literature concerning supply chain modeling is rather extensive; supply chains are
often studied using different types of mathematical modeling techniques, e.g., simulation and optimization. General supply chains involving manufacturing as well as transportation are often studied with the purpose of analyzing inventory-related questions,
such as the bull-whip effect, or to study the effects of improved supply chain collaboration (e.g., Swaminathan et al., 1998; Fu et al., 2000), while the purpose for studying a
pure transportation system might be to analyze the consequences of transport policies
(Banister, 1998).
In general, mathematical modeling can be used for several purposes, e.g., for decision support, policy analysis or for studying some particular aspect of a system. In this
paper we present a simulation model (TAPAS), which can be used to study the impact
of different types of production and transportation measures (control policies, infrastructure investments and business measures). Even though TAPAS enables modeling
of rather general supply chains (due to its generic structure), we have chosen to model
transportation in a higher level of detail than, e.g., production. Therefore, we here
focus on models for transport policy analysis and pay less attention to more general
supply chain models. There exist models for pure manufacturing systems (e.g., van
der Zee, 2006), but these models are outside our scope. Moreover, since we present an
agent-based model, we will also discuss some related agent-based models.
Traditionally, transport systems have been studied using macro-level (or equationbased) models, such as SAMGODS (Swahn, 2001), ASTRA (Shade et al., 1999) and
SISD (Williams & Raha, 2002). Models of this type take a societal perspective and are
based on aggregated coarse-grained data on national or regional levels, and different
countries typically use their own models. A problem with these models is that they typically do not take the logistical processes into account, e.g., choices of carrier type and
ordering strategies, and thus fail to model the level where decisions regarding the actual transports take place. Models that take logistical aspects into consideration are for
35
example SLAM (Williams & Raha, 2002), SMILE (Tavasszy et al., 1998), GoodTrip
(Boerkamps & van Binsbergen, 1999), and the one suggested by de Jong and BenAkiva (2007). However, since these models do not represent individual supply chain
actors, the complex interactions (e.g., negotiation) and the decision making processes
from which transport plans result are impossible to capture. Moreover, these models
can only capture average times, but typically no aspects related to dynamic time (e.g.,
timetabled transportation), which is crucial when logistical decisions are coordinated.
The decision making in supply chains is subject to both short-term and long-term planning implying that the time dimension of the decisions needs to be considered.
We argue that more precise predictions regarding the effects of control policies can
be achieved by using micro-level, and in particular agent-based models, i.e., supply
chain level models that also capture the decision making of actors involved in logistical
processes. Agent-based models are appropriate since they are able to explicitly model
time aspects, interactions between decision makers, etc.
An agent-based supply chain modeling framework with the purpose of helping
managers to analyze and understand the impact (in terms of costs, risks, etc.) of different decisions was presented by Swaminathan et al. (1998). The framework made
use of a library of reusable software components to promote reusability, and it was
used for analyzing different inventory policies with the purpose of improved inventory management. Strader et al. (1998) presented a multi-agent-based simulation tool,
which was used to show the importance of information technology for supporting the
order fulfillment process. This was achieved by studying a 5-tier supply chain network
under different demand management and information sharing policies. In a simulation model by Gjerdrum et al. (2001), agent technology and mathematical optimization
were combined in order to study different inventory replenishment policies. Mathematical optimization was used to generate locally optimal manufacturing plans, and
agents (e.g., customer, warehouse, factory and transport agents) were used to manage
the supply chain. In comparison to our approach, the model by Gjerdrum et al. models
manufacturing on a more detailed level, but transportation is not modeled on a detail
that allows transport-related policies to be studied. Liedtke (2009) presented an agentbased approach to commodity modeling (INTERLOG), which is relevant for our work
since its aim is to study the same types of questions as can be studied with TAPAS. The
major difference between the models concerns which actors dominate supply chains; in
TAPAS the customer is dominating, whereas in INTERLOG the supply chain is dominated by the producers and the transport operators. Moreover, in contrast to TAPAS,
INTERLOG assumes a pre-determined, however stochastically generated, transport demand. This makes it impossible to capture changes in transport demand, e.g., caused
by changes in logistical structures.
Moreover, the literature contains a number of newer agent-based simulation approaches (van der Zee & van der Vorst, 2005; Chatfield et al., 2007; Roorda et al.,
2010), which are presented as re-usable non-implemented conceptual frameworks that
can be used as guidance when constructing agent-based simulation models. Since
36
TAPAS provides building blocks that are used when constructing scenarios, it can also
be considered to be a simulation modeling framework (or a simulation platform), which
allows for a considerable amount of modeling flexibility. However, the main difference
is that TAPAS also is an implemented model.
In summary, the literature contains a number of agent-based supply chain models
for different purposes (including policy analysis), but most of them focus on simulating
already established supply chains, while TAPAS partially constructs the supply chain,
i.e., product supplier, route and transport operators are dynamically chosen. Hence,
except for the obvious relation to other multi-agent-based simulation models, TAPAS
also relates to traditional types of macro-level models for transport policy analysis, as
well as to different types of routing algorithms (e.g., the vehicle routing problem).
3
The simulation model
In this section we present the TAPAS simulation model, which has a two-tier architecture with a physical simulator and a decision making simulator, as illustrated in
Fig. 1. In the physical simulator, all physical entities (e.g., vehicles, production facilities, transportation infrastructure) are modeled, and in the decision making simulator,
a set of supply chain decision makers (or roles) are modeled as agents. The main
motivation for choosing a two-tier architectural design is that entities in the physical
simulator are considered passive, while entities in the decision making simulator act
independently and potentially proactively. The two layers are connected so that the
activities in the physical simulator are initiated by the decisions taken by the decision
makers. The agents appear in a hierarchical structure (see Fig. 1) to be able to represent the hierarchical decision making structure that is common in real-world supply
chains. In hierarchical decision making structures, information is not automatically
made available for all agents, which may result in a certain degree of local optimization. This appears to be rather typical in supply chains today, since often only a limited
amount of information is shared (Zhou & Benton Jr., 2007).
TAPAS has mainly been validated by interviews with experts in policy issues and
transport modeling, and with practitioners in transportation and logistics. Also, simulation experiments of different scenarios have been performed with TAPAS (Davidsson
et al., 2008), the sensitivity of different input parameters has been examined, and the
results have been compared to similar studies (Ramstedt, 2008).
3.1
The physical simulator
TAPAS uses a transport network, which is modeled as a directed graph (N, L) with a
set of nodes N and a set of directed links L. A node can be a customer node, a producer
(factory) node, or a connection point (terminal) in the network. For future reference,
we let N C ⊆ N refer to the customer nodes and N F ⊆ N to the producer nodes. A
link represents a directed connection between two network nodes and it corresponds to
37
Fig. 1: Overview of the TAPAS simulation model with a physical simulator that is connected to a decision
making simulator.
exactly one mode of transportation (typically road, rail or sea), and two nodes may be
connected by multiple links representing different modes.
3.1.1
Production
TAPAS models a set of product types P , which are assumed to be produced in batches.
As will be expanded in Section 3.2.5, we have chosen to include a batch setup time
(e.g., representing changeover) in each produced batch, even when more than one batch
of the same product type is produced in sequence. For each product type p ∈ Pnf ,
where Pnf ⊆ P denotes the set of products that can be produced in node nf , we let
prod_time
batch
cmtrl
nf p denote the raw material cost per unit, snf p the maximum batch size, cnf p
the production cost per time unit, and tbatch
nf p the batch production time including setup
time tbatch_setup
and processing time tnbatch_proc
. The expected time
fp
nf p
m l
tnprod
· tbatch_setup
q/sbatch
+ tnbatch_proc
f p (q) =
fp
nf p
nf p
(1)
for producing q units of product type p in node nf is calculated as the number of
batches times the batch production time, and the expected cost
prod
prod_time
cnprod
+ cmtrl
f p (q) = tnf p (q) · cnf p
nf p · q,
(2)
for producing q units of product type p is calculated as the production cost plus the cost
for raw material.
38
Hence, we propose a cost model, in which the cost for products depends on the
time for production. The model has been chosen mainly due to its potential to represent different types of production models, i.e., (1) batch production, (2) continuous
production, by setting the batch size to one and the batch setup time to zero, and (3)
instant retrieval of products from storage, by setting the time-based production cost to
zero, however without considering inventory costs for products.
3.1.2
Transportation
In TAPAS, transportation is carried out by a set of vehicles V , where a vehicle is
characterized by its loading capacity (including type of storages), maximum traveling
speed, fuel type, and emissions (e.g., NOx , CO and CO2 ) per consumed unit of fuel.
It should be noted that we also denote electricity as a fuel type. The amount of fuel
that a vehicle consumes depends on the weight of the carried load, and for vehicle
v ∈ V , we let fuel empty
denote the fuel consumption (per distance unit) when v is
v
empty, and fuel full
the fuel consumption when v is carrying its maximum load wvmax .
v
The fuel consumption fuel v (w) (per distance unit) when v carries a load of weight w
(0 ≤ w ≤ wvmax ) is approximated linearly according to
fuel v (w) =
fuel vfull − fuel empty
v
· w + fuel empty
.
v
wvmax
(3)
A vehicle has a transportation mode (e.g., road, rail or sea) and it is only able
to travel on links with the same mode. Further, it might be controlled by a timetable
(offering so called timetabled transports with scheduled times for departure and arrival)
or not (providing transports referred to as demand driven). Transportation costs consist
of
•
•
•
•
3.1.3
time-based costs (e.g., driver, capital, and administration),
distance-based costs (e.g., fuel, vehicle wear, and kilometer tax),
link-based costs (e.g., road tolls), and
fixed operator-based ordering costs (e.g., administration).
Terminals
For terminals, the focus is on modeling times and costs for loading and unloading of
vehicles. The times for loading and unloading a vehicle are expressed in terms of fixed
fixed
fixed
and variable times. Fixed times tloading
and tunloading
represent the times
v
v
variable
it take to prepare a vehicle for loading or unloading. Variable times tloading
vp
variable
and tunloading
are given for each product type and denote the times needed
vp
for loading or unloading one unit of product p. The costs cloading
and cunloading
for
v
v
loading and unloading a vehicle are given as costs per time unit. The cost for loading
39
q units of product type p onto vehicle v is calculated as
(4)
cloading
(q) = cvloading · tloading
(q),
vp
vp
where the loading time is calculated as
tloading
(q) = tloading
vp
v
fixed
loading
+ tvp
variable
· q.
(5)
The formulas for unloading cost and time are identical to (4) and (5), except for that
the cost and times for loading are replaced with those for unloading. It is also possible
to define vehicle specific fixed costs for visiting a terminal, e.g., to represent terminal
fees, and terminal processing times in addition to the times for preparing a vehicle for
loading and unloading, e.g., to be able to model customs.
3.2
The decision making simulator
In TAPAS we consider six supply chain roles (or decision makers); supply chain coordinator, product buyer, transport buyer, transport planner, production planner and
customer. These roles can be argued to be present in all supply chains. However, a role
can be associated with different logistical operators depending on the organizational
settings within the supply chain. For instance, the supply chain coordinator may be
represented by a producer in one supply chain and by a third party company in another.
In TAPAS, each customer node nc ∈ N C is represented by a customer agent (C nc ),
each production node nf ∈ N F by a production planner agent (P nf ), and transport
planner agents (T :s) represent transport providers (operators). There exists one supply
chain coordinator agent (SCC ), one transport buyer agent (TB), and one product buyer
agent (PB ). In a supply chain it is often possible to identify additional roles, such as
terminal and inventory agents (Ramstedt, 2008), and in TAPAS we have chosen to
implicitly capture these roles in the physical simulator instead of modeling them as
agents.
3.2.1
Interaction protocol for the ordering process
The process of buying resources (products or services) is a commonly occurring and
sometimes difficult task, especially when the availability of resources are limited, different resources depend on each other, or multiple buyers and suppliers negotiate in
parallel. The problem of how to automate the process of buying scarce resources is well
covered in the literature (cf. Sandholm & Lesser, 2001; Knabe et al., 2002; Schillo et
al., 2002), but according to our knowledge there exists no efficient approach for dealing with resources that depend on each other. When buying resources that depend on
each other, it is important that booking is made in a way that there will be no situations
where one or more resources have been booked (and hence become useless) while it
has become impossible to book some other resources that are required for accomplishing an overall task. Hence, synchronization and booking should be made in a way that
it is guaranteed that either none or all required resources will be booked.
40
In TAPAS, a plan for fulfilling an order consists of a chain of tasks, starting with a
production (or retrieval of products from storage) followed by a sequence of transports
for different parts of the distance between the producer and the customer. The tasks
in a plan need to be coordinated in a way that delivery is made inside the specified
time window (if possible) and the starting and ending times of subsequent tasks are
synchronized. If a resource included in a plan is no longer available at the time of
booking, the whole plan may need to be reconsidered, and already booked resources
may need to be canceled with a potential penalty as a consequence. A possible solution
to this problem is to force resource providers to commit to their offers, as in the contract
net protocol (Smith, 1980). However, such an approach makes it more difficult to find
good solutions, as well as obtaining high resource utilization in the system (Knabe et
al., 2002). The reason is that resources may be allocated to potential buyers who later
on decide not to book them, at the same time as other potential buyers may need to
make use of those particular resources in order to accomplish their goals.
In an approach for ordering matching products and transportation, two important
challenges need to be considered: (1) products and transportation cannot be booked simultaneously, either products or transportation has to be booked first, and (2) products
cannot be booked before finding a matching transport solution, and vice versa. In an
earlier version of TAPAS (Bergkvist et al., 2005), the contract net protocol was used
for buying products from the supplier offering the best price, and a second contract net
protocol was used to buy a matching transportation even though it can be considered
hazardous to assume the availability of a cost efficient matching transport solution at
the time of buying products.
In the current version of TAPAS we have dealt with this potential problem by applying a sequential ordering process, in which only one customer order is allowed to be
processed at the same time. This guarantees that complete plans for obtaining products
will be available until all included tasks have been booked. In the ordering process,
which uses an interaction protocol originally presented by Holmgren et al. (2007),
SCC keeps a queue of incoming order requests that are processed in sequence. A similar approach, however applied to a manufacturing system, is presented by Komma et
al. (2007). The obvious shortcoming of such an approach is that longer order processing times increase the risk that the order queue becomes longer and longer, especially
when there is a high ordering frequency in the system, or if order processing times are
long. In TAPAS, this is however not a problem, since order processing is assumed to
be instantaneous.
In Fig. 2 we illustrate the interaction protocol that is used in TAPAS for fulfilling
a customer order, and in Table 1 we describe the message types that are used in the
interaction protocol. A new interaction starts when SCC receives an order request from
a customer, and in two rounds of communication, a plan is first requested and generated
(in the first ten messages) and then booked and confirmed (in the next ten messages).
Hence it follows that customer agents are able to act proactively, while the other agent
types are considered to be reactive. To improve the readability of the diagram, only the
41
main flow of messages is shown. Also, the protocol can be interrupted in most of the
steps, e.g., when PB fails to find an available supplier, or when TB is unable to find a
feasible transportation for any product proposal.
Fig. 2: Overview of the interaction protocol used in TAPAS only showing the main flow of messages.
3.2.2
Customer
Each customer node nc ∈ N C is operated by a customer agent C nc who is responsible
for ordering products in quantities that keep inventories at levels that minimize the
costs for inventory holding and ordering, while reducing the risk for stockouts. When
choosing an ordering quantity, a tradeoff has to be made between two counteracting
costs; order cost (including costs for products, transportation, administration, etc.) and
inventory holding cost. Typically, the order cost per unit decreases and the inventory
holding cost increases with an increasing consignment size, and minimizing these costs
gives the Economic Order Quantity (EOQ).
In the Wilson (EOQ) Model (Wilson, 1934), which is claimed by Alstrom (2001) to
be the most commonly used policy for finding the EOQ, the annual costs for ordering
(DC/Q)
and inventory holding (HQ/2) is minimized by calculating EOQ according
p
to 2CD/H, where C denotes the fixed order cost (independent on order quantity),
D/Q the number of orders per year, H the annual holding cost, and Q/2 the average
42
Table 1: Specification of message types in order of appearance in the interaction protocol. The confirmation
messages that are used in the protocol are considered self-explanatory, which is why we have chosen not to
specify them.
Order request
Product request
Product proposal
Transport request
Link transport request
Link transport proposal
(timetabled)
Link transport proposal
(demand driven)
Transport proposal
Order proposal
Order booking
Transport booking
Link transport booking
Product booking
Delivery node, product type, a set of candidate order quantities, and for
each candidate quantity, a delivery time window, an upper limit for how
much delivery is allowed to be delayed, and time-based convex penalty
functions for delivering earlier or later than the window.
Product type and quantity.
Product type, quantity, pickup node, price, earliest time when the products
can be picked-up, and supplier identifier.
Product type, quantity, pickup and delivery nodes, delivery time window, earliest time when pickup can be made, time-based convex delivery
penalty functions, and an upper limit for delivery delay.
Product type, quantity, departure and arrival nodes, and a time window in
which transportation is considered.
Price (differentiated on transportation, loading and unloading), route identifier, scheduled times for loading, unloading, departure and arrival, and
transport operator identifier.
Price (differentiated on transportation, loading and unloading), carrier
type, availability interval, time needed for transportation, for loading and
for unloading, and transport operator identifier.
Sequence of link transport proposals representing a transport solution and
total price for the solution. For demand driven link transport proposals,
times for departure, arrival, loading and unloading are specified. Link
transport proposals in sequence are if possible re-represented (i.e., merged
together) so that each link transport proposal has exactly one loading and
exactly one unloading.
Matching product and transport proposals.
Order proposal.
Transport proposal.
Link transport proposal as specified in the transport proposal.
Product proposal and specification of pickup time.
quantity in stock. However, the Wilson formula relies on a number of assumptions
about the modeled system (Axsäter, 2006). For instance, it assumes constant purchase
price per ordered unit and constant order cost, which both are assumed to be independent on order quantity and time of order placement. This implies, e.g., that no volume
discounts can be modeled. However, in TAPAS a customer always pays the current
cost for products and transportation, and in particular the cost for transportation varies,
e.g., due to load consolidation and departures of timetabled transports.
To be able to cope with non-constant order costs, we have used an approach based
on an idea for dealing with deterministic time-varying demand (Silver & Meal, 1973),
in which time is divided into disjoint time periods, and candidate order quantities are
43
those that cover the demand for a number of future time periods. The quantity that
minimizes the costs for ordering and inventory holding is then chosen. In TAPAS, a
customer chooses the quantity that minimizes the cost for ordering and inventory holding among a set of predetermined candidate quantities. Hence, the choice of candidate
order quantities is made differently but the evaluation of quantities is identical in the
approaches.
At a particular point in time, the cost c(p, q) per unit for ordering q units of product
type p to node nc is calculated as
c(p, q) =
corder
corder · int p · tcon (p, q)
+
,
q
2·q
where corder denotes the current order cost, i.e., costs for products and transportation,
including time-based product cost during transportation, int p the storage interest for
product type p (in node nc ), and tcon (p, q) the expected time for consuming q units of
product type p.
To be able to determine when to place an order, it is usually assumed that demand
is known and constant over time, and that the “order-to-delivery” lead time is fixed. In
TAPAS, consumption is stochastic and lead times vary due to several factors, including
choice of transportation mode and timetabled departures. Hence, the lead time remains
unknown until both product supplier and transportation have been chosen. The uncertainty of stochastic consumption is dealt with by modeling safety stock levels, and
each customer uses an estimated (approximate) lead time, chosen as an estimated upper bound of the expected lead times for different transport alternatives and suppliers.
Since demand is stochastic and lead-times are just estimations, a difficulty with the applied ordering strategy is how to determine when ordering should be considered. The
traditional approach is to consider ordering as soon as the inventory level falls below a
certain threshold level. This is typically implemented by checking the inventory level
in intervals, which in our approach is referred to as ordering opportunities. The time
between two subsequent ordering opportunities should be small enough to reduce the
risk for stock-outs. Note that C nc (the customer agent) may have different ordering
opportunities for different product types, and for each ordering opportunity a separate decision determines whether or not an order request should be send. A decision
whether or not to order at a particular point in time (i.e., an ordering opportunity) is
based on the so called order point
order (p) = saf p + lead p · con(p),
where saf p denotes the safety stock level, lead p the estimated “order-to-delivery” lead
time, and con(p) the forecasted consumption per time unit for product type p. If the
current inventory level inv cur (p) plus the planned deliveries del (p, lead p ) of product
type p during the lead time period is less than order (p), i.e.,
inv cur (p, nc ) + del (p, lead p ) < order (p),
44
C nc asks for order proposals (in an order request) for a set of quantities Q.
A delivery time window should be chosen in a way that there will be enough available inventory capacity at the time of delivery, and that the risk for stock-out before
delivery is kept at a minimum. For an order quantity of q units, the delivery time
window is calculated as
inv cur (p) + del (p, lead p ) − saf p
tcur + a, tcur + max a,
,
con(p)
where tcur denotes the current time, inv max
the maximum allowed inventory level for
p
product p, and parameter
inv cur (p) + del (p, lead p ) + q − inv max
p
,
a = max 0,
con(p)
makes sure that there will be enough available inventory capacity at the time of delivery.
3.2.3
Supply chain coordinator
SCC is responsible for managing all customer orders, and received order requests are
put in a queue for sequential processing. For each quantity q ∈ Q in an order request,
SCC tries to find the least cost feasible combination of products and transportation,
which are represented in an order proposal. The order proposals (one for each q ∈ Q)
are returned to the customer who chooses the “best” proposal (i.e., the EOQ). To be
able to generate order proposals, SCC first asks PB for relevant product proposals for
each quantity q ∈ Q, by sending product requests. Then for each received product
proposal, it asks TB for a set of matching transport proposals, by sending transport
requests.
3.2.4
Product buyer
PB operates in between SCC and the P :s, and it is mainly responsible for finding
products that satisfy product requests that are received from SCC . When receiving a
product request PB forwards it to all P :s, and the product proposals that are returned
are forwarded to SCC for further processing. When the customer has chosen an order
proposal, which represents EOQ, PB sends a product booking message to the chosen
product supplier.
The behavior of PB is not particularly advanced, and it can be argued that SCC
could communicate directly with the P :s instead of communicating through PB . We
include PB in the interaction protocol mainly for structural purposes (we argue that
all supply chains should have a product buyer), and due to its potential for future improvement. An example of a possible refinement is to let PB operate more proactively
in the ordering process, e.g., by filtering out all product proposals except the best one
in a particular geographic area.
45
3.2.5
Production planner
In TAPAS, each production node nf ∈ N F is operated by a production planner agent
P nf whose main responsibility is to plan the production in nf . When P nf receives a
product request specifying product type p ∈ Pnf and quantity q, it generates a product
proposal containing a price cnprod
, which is generated according to Equation (2), and
f
prod
the earliest time tnf when the products can be made available for pickup at nf .
Commonly used production strategies are pull and push, where production is demand driven in the former and forecast driven in the latter. Pull strategies are often
used to decrease inventory levels and to better capture demand variations, while push
strategies often use resources better due to the potential for improved planning, e.g., by
producing larger batches (Ahn & Kaminsky, 2005). In TAPAS we have chosen a pull
strategy, and inventories in producer depots are only considered for ordered products.
However, as mentioned in Section 3.1.1, it is also possible to model instant retrieval of
products from inventory similar to a push strategy.
To enable an incoming order to be processed as early as possible, it is assumed that
the existing production plan can be rescheduled so that already scheduled products are
produced earlier than originally planned, assuming there is available time and resources
for rescheduling. Due to simplicity of modeling, we have chosen not to consider the
additional cost that might be a consequence of the need for storing rescheduled products. In Fig. 3 we provide an illustrating example of how a production plan can be
updated to enable early processing of an incoming order.
Fig. 3: An illustration of how three scheduled batches (1-3) can be rescheduled in order to enable early
processing of an incoming order (4).
As mentioned in Section 3.1.1, it is assumed that setup times are included in each
produced batch, even when more than one batch of the same product type are produced
in sequence. This assumption guarantees that there will be no dependencies between
product prices and sequencing of batches, which enables the P :s to use the proposed
production cost model (Equation (2)) also for setting product prices.
3.2.6
Transport buyer
In TAPAS, the transport buyer (TB) is responsible for creating transport solutions in
order to satisfy transport requests received from SCC . A transport solution is obtained
by solving a shortest (cheapest) path problem with additional constraints for representing the following complicating factors:
46
1. Vehicle capacities and previous bookings must be considered, e.g., the remaining
capacity on a booked vehicle should be made available for future bookings.
2. There is a mix of timetabled and demand driven transports.
3. Terminal activities such as unloading, loading, and reloading should be explicitly
considered.
4. Delivery has to occur inside the delivery time window, otherwise a penalty cost
should be applied.
5. Time-based, link-based, distance-based and fixed transport costs (as discussed
in Section 3.1.2), and time-based costs, e.g., for tied up capital and deterioration
should be considered.
The literature contains a number of approaches to intermodal freight planning (e.g.,
Caramia & Guerriero, 2009; Ziliaskopoulos & Wardell, 2000; Chang, 2008; Jansen et
al., 2004). However, none of them applies to our problem since either (1) they do
not handle all complicating factors that we need to consider, or (2) the combination of
timetabled and demand driven transports are handled in an unsatisfactory way, e.g., by
representing a demand driven transport as multiple timetabled departures, i.e., one for
each time period. Such a modeling approach may have severe affects on the performance of the algorithm if the number of time-periods is high. Therefore, we have developed a customized algorithm for finding transport solutions. A compressed pseudo
code description of the proposed algorithm is given in Algorithm 1. In the algorithm, a
set of precompiled (manually specified) routes Rnf nc , expressed as sequences of network nodes is defined for each potential pair of pickup and delivery nodes nf ∈ N F
and nc ∈ N C . Since routes are defined as node sequences, two sequenced nodes in a
route may be connected by multiple links, e.g., corresponding to different transportation modes. The motivation for using precompiled routes is that useful routes generally
are known or can be found in advance.
In the algorithm, TB processes the routes r ∈ Rnf nc in sequence to be able to find
the least cost transport solution, possibly including penalty cost, for which a transport
proposal is created and returned to SCC . The algorithm is applied when TB has
received all link transport proposals for each pair of sequenced nodes (ni , nj ) included
in any route r ∈ Rnf nc (see the interaction protocol in Fig. 2). The link transport
proposals that are returned from the T :s should have departure and arrival times, or
late
intervals of availability for demand driven transports, inside an interval [tprod
nf , tnc +
is the earliest time the products can be available for pickup at nf ,
k late ], where tprod
nf
late
late
tlate
is
the
end
of
the
delivery time window [tearly
≥ 0 is a constant that
nc
nc , tnc ], and k
is used to allow delivery to be made later than the delivery time window. However,
penalty costs as specified by the customer are applied to deliveries earlier or later than
the delivery time window.
In the search for the optimal transport solution the algorithm uses a search tree T ,
in which each tree node η (except for the root of the tree) represents a link transport
proposal with departure (network) node dep(η) and arrival node arr (η). Instead of
47
Algorithm 1
Find the least cost transport solution for a transport request, given a pickup node nf , a
delivery node nc , and link transport proposals for all connections in the routes in Rnf nc . The cost for a tree
node corresponds to the cost for traveling from the departure node of the link transport proposal it represents
until unloading at nc .
procedure FIND B EST T RANSPORT S OLUTION
create rootNode
⊲ rootNode represents the delivery time window
initialization: rootNode.cost := 0, rootNode.bestChild := null, bestCost := ∞
for each route r ∈ Rnf nc do
for each link transport proposal t in r which has arrival node nc do
newChild = createChild(rootNode, r, t, bestCost)
if newChild.cost < rootNode.bestCost then
rootNode.bestChild := newChild, bestCost := newChild.cost
return best transport solution with cost bestCost ⊲ the best solution is obtained from the best child
procedure CREATE C HILD(parentNode, r, t, bestCost)
create new node currentNode
initialization: currentNode.bestChild := null, currentNode.bestChildCost := ∞
if t is infeasible in combination with the transport represented by parentNode then
currentNode.cost := ∞, return currentNode
if t is demand driven then
set preliminary times for departure and arrival, and potentially for loading and unloading ∗
calculate currentNode.cost
⊲ includes cost for transportation, loading, unloading, penalty, etc.
currentNode.cost = currentNode.cost + parentNode.cost
if t.departureNode = nf then return currentNode.cost
⊲ a complete transport solution is found
if currentNode.cost ≥ bestCost then currentNode.cost = ∞ return currentNode
for each link transport proposal t′ in r that is connected to the arrival node of t do
newChild = createChild(currentNode, r, t′ , bestCost)
if newChild.cost < currentNode.bestChildCost then
currentNode.bestChild := newChild, currentNode.bestChildCost := newChild.cost
return currentNode
∗ Potentially involving a backtracking towards rootNode in order to represent updated preliminary times for
a sequence of demand driven ancestor nodes.
representing a transport proposal, the root ρ represents the delivery time window and
serves as the parent of all tree nodes representing transports arriving at nc . The search
starts in nc and proceeds backwards (along the routes r ∈ Rnf nc ) towards nf by
gradually expanding the search tree. For a search tree node η, one child node will
be added for each link transport proposal representing a transport arriving at dep(η).
Hence, it follows that a link transport proposal will be represented by multiple tree
nodes in order to enable evaluation of each possible combination of link proposals
along the routes. Each search tree node η has a cumulative cost c(η), which corresponds
to the cost for moving the goods from dep(η) to nc (including unloading at nc ). In the
algorithm the following search strategies are applied:
1. Tree nodes for which the transports they represent are infeasible in combination
with the transports represented by their ancestor nodes, as well as nodes that
necessarily lead to transport solution that are more expensive than the so far best
found solution will be pruned (i.e., no child nodes will be added).
48
2. A depth-first based traversal strategy is adopted in order to potentially find valid
solutions early to enable early pruning of more expensive tree branches.
3. Tree nodes representing timetabled link transport proposals are expanded before
nodes representing demand driven link transport proposals.
The main challenge for the algorithm is to deal with the differences between timetabled and demand driven transports, where a previously booked demand driven transport is regarded as timetabled. The difficulty is that timetabled transports have fixed
departure times while demand driven transports are flexible concerning departure and
arrival times. For simplicity of presentation, we here refer to tree nodes representing
timetabled and demand driven transports as timetabled and demand driven nodes.
When expanding a search tree node, the feasibility is checked for all added child
nodes, however in different ways for timetabled and demand driven nodes, as explained
below. Based on the departure and arrival times of its ancestors, for a demand driven
node the algorithm specifies preliminary times for departure, arrival and potentially for
loading and unloading. For a demand driven node it also specifies a possible interval
of operation, defining when the activities for the represented transport are allowed to
take place. For a demand driven transport, the interval of operation is based on the
interval of availability that is specified in the link transport proposal, as well as on the
operation times of the ancestors, and it may need to be used further down in the tree,
e.g., when a timetabled successor requires that the preliminary specified times for one
or more demand driven ancestors should be updated. For a parent node η and child
node ζ, we let z(ζ, η) ∈ {0, 1} denote whether or not the products will be reloaded
(z(ζ, η) = 1) or not (z(ζ, η) = 0) between the transports represented by ζ and η, and
creloading (ζ, η) = cunloading (ζ) + cloading (η) the cost for reloading. Since it is only
known by the child whether or not the goods need to be reloaded, the cost for loading
has to be represented in the child node. Moreover, since a parent typically has multiple
child nodes, a reconsidering of the preliminary times for a demand driven node needs to
be represented in the particular successor node that requires that the times are updated.
The root As mentioned above, the root node ρ represents the delivery time window,
and a timetabled transport arriving at nc (i.e., a timetabled child of ρ) will always be
late
valid since a penalty cost can be applied if delivery is made outside [tearly
nc , tnc ]. Similarly, a demand driven transport is valid whenever the time interval for when it is
available, as specified in the link transport proposal, is at least as long as the time it
takes for the vehicle to perform its activities. For a demand driven transport, preliminary times for unloading, arrival and departure are set as late as possible in the delivery
time window, and if delivery inside the delivery time window is impossible due to the
interval of availability, the preliminary times are heuristically chosen either before or
after the delivery time window in a way that the penalty is minimized. The general
form for describing the cost for a node that connects to ρ is
c(ζ) = ctransp (ζ) + cunloading (ζ) + ctime (ζ) + pen(ζ),
49
where ctransp (ζ) is the transport cost, cunloading (ζ) the unloading cost, pen(ζ) the
potential penalty cost that need to be considered when adding ζ, and ctime (ζ) a timebased product cost, i.e., the mathematical product of the product value, the time between departure and unloading, and a time-based factor (or interest rate). The customer chooses this time-based factor, and it may represent a cost for tied-up capital,
deterioration, time to market, etc., for the particular type of product.
Intermediary nodes When adding a child node ζ to an intermediary search tree node
η (i.e., η is not the root), four cases can occur depending on what types of transports
η and ζ represent. It should be noted that the transport represented by ζ occurs before
the transport represented by η. With the notation introduced above, the cost c(ζ) for
reaching ζ is described as
c(ζ) = c(η) + ctransp (ζ) + z(ζ, η) · creloading (η, ζ) + ctime (ζ) + pen(ζ),
where in particalur pen(ζ) and ctime (ζ) depends on several factors. The base case is
that a time-based cost ctime (ζ) should be generated for the time between the departure
times of ζ and η.
If both η and ζ are timetabled, it is only necessary to conduct a feasibility check to
ensure that ζ will be further expanded only if the arrival time of ζ is earlier than the
departure time of η, and if η and ζ represent transports by different vehicles there also
need to be time for reloading.
When η is timetabled and ζ is demand driven, the time for departure and loading
in node η are strictly specified in the corresponding link transport proposal, and the
times for the activities represented by ζ should be synchronized with the activities in
node η. Since η represents a timetabled vehicle while ζ represents a demand driven
one (a vehicle is assumed to offer either timetabled or demand driven transports), it
is assumed that reloading will occur between ζ and η. The unloading of ζ will be
preliminary scheduled immediately before η starts loading, and the actual transport
(departure and arrival) immediately before that. If ζ is unavailable at the preferred time
of operation, instead the activities in ζ should be preliminary scheduled earlier in the
period of availability in a way that (as late as possible) the penalty is minimized.
The case when both η and ζ are demand driven is similar to the previous case.
However, if reloading needs to occur between η and ζ (i.e., η and ζ represent different
vehicle types), the loading of η needs to be preliminary scheduled, as this was impossible to do when η was created. However, the preferred time for loading in η might
be infeasible due to the interval of operation for η, which means that the preliminary
scheduled activities for η will have to be rescheduled (actually delayed) and additional
penalties, as well as an additional time-based cost (ctime (ζ)) should be considered.
Delaying η means that additional demand driven nodes, i.e., ancestors of η, also may
have to be delayed, depending on how their activities are preliminary planned. Actually, the preliminary times of all sequential demand driven nodes that can be found in
a back-track search (towards the root ρ) until either a timetabled node or the root is
50
reached, may need to be rescheduled. If (in the back-track search) a timetabled node ψ
is reached before reaching ρ, the preliminary times for the activities represented by the
demand driven ancestors between ζ and ψ should be synchronized also considering the
loading time of ψ (note that reloading will occur since ψ is timetabled and its child in
the current branch is demand driven). If ρ is reached before any timetabled node could
be found, i.e., ρ and ζ is connected by a sequence of demand driven transports, a penalty
for delivering outside the specified delivery time window may have to be applied as a
possible consequence of rescheduling the node connected to ρ. Another reason for
rescheduling a sequence of demand driven ancestors is a limited availability interval
of ζ. Of course, limited intervals of operation for one or more of the demand driven
transports that need to be rescheduled may limit how rescheduling may be conducted,
and in worst case ζ will be infeasible, and hence pruned. Since each of the, potentially
rescheduled, ancestors may have multiple successors, it is important to emphasize that
extra penalty costs and time-based costs that are a consequence of the rescheduling of
ancestors have to be represented in ζ. Also, since a rescheduled node may have other
branches, which require different or no rescheduling, a specification of how activities
for the ancestors are rescheduled should be represented in ζ.
The case when η is demand driven and ζ is timetabled is similar to the case when
both η and ζ are demand driven. The difference is that for ζ, the times for loading,
unloading, and traveling are represented in the corresponding link transport proposal.
As in the previous case, it might be necessary to reschedule η and a sequence of demand
driven ancestors of η whenever the times of ζ causes infeasibility with the preliminary
times of η. In the same way as discussed above, penalty cost and an additional timebased cost may have to be considered.
Leaf nodes Leaf nodes, which represent transports departing from nf , are processed
exactly as intermediary nodes, with the difference that loading also need to be scheduled for ζ. This might lead to infeasibility and extra penalty cost and time-based cost, in
the same way as discussed above. In general, the cost for a leaf node can be calculated
as
c(ζ) = c(η) + ctransp (ζ) + z(ζ, η) · creloading (ζ, η) + cloading (ζ) + ctime (ζ) + pen(ζ).
When the best sequence of tree nodes (a transport solution) for a transport request
has been determined, the preliminary times for all demand driven transports in the
solution need to be permanently set. This may require that demand driven transports
included in the solution needs to be rescheduled according to the preferences of nodes
further down in the tree (i.e., closer to the leaf). If more than one node specifies a
rescheduling of the same demand driven ancestor, it is the preferences of the node
closest to the leaf that should be applied. The reason is that the preferences of a node
that is added later in the tree also takes into account the preferences of nodes that have
been added earlier.
51
3.2.7
Transport planner
A transport planner agent (T ) represents an owner of a fleet of vehicles VT ⊆ V , which
are assumed to operate in some particular geographic area, and the main responsibility
of T is to plan the vehicles in VT by assigning them transport tasks. When T receives
a link transport request from TB , specifying start node ns , end node ne , and a window [ts , te ], it creates a set of link transport proposals that are returned to TB . Since
timetabled vehicles depart and arrive according to timetables, while demand driven vehicles are flexible regarding when they are able to operate, it follows that link transport
proposals for the two different types of transports need to contain somewhat different
information. For a timetabled transport, a link transport proposal specifies the scheduled times for loading, unloading and transportation, and for a demand driven transport, instead the time needed for traveling, loading and unloading, as well as a time
interval in which the transport is available for operation is specified. For a timetabled
vehicle, a separate link transport proposal will be generated for each scheduled departure between ns and nc , which has departure and arrival inside [ts , te ]. For demand
driven transports, a separate link transport proposal can be generated for each available
demand driven vehicle, but since this may result in a large number of similar (or identical) link transport proposals, instead one proposal, specifying an interval of availability
is generated for each different vehicle type in VT . Some advantages with this approach
are that the interval of availability for a vehicle type may be considerably larger than
those for the individual vehicles of the particular type, and the number of link transport
proposals can be reduced. Moreover, link transport proposals for previously booked
demand driven transports are generated as for timetabled transports, and each scheduled demand driven departure (from ns to ne within the requested time interval) with
remaining capacity should be represented in a separate link transport proposal, which
specifies the planned times for departure, arrival, loading, and unloading.
Typically, a vehicle carries products for more than one customer (i.e., load consolidation), and a buyer of transport capacity should pay a reasonable share of the total
transport cost. However, when giving a link transport proposal, T only knows about
already booked consignments. Future bookings can only be guessed, or estimated from
forecasts. Also, how much goods will be carried on the return transport is something
that potentially could have an effect on the price for transport capacity. We do not
model return transports explicitly, but return transports can implicitly be represented
by adjusting the different cost components and the average load utilization factor, and
it is the responsibility of the user to decide if and how return transports should be
considered. In summary, the major difficulty for T is to determine prices for those
transport bookings that do not utilize the full capacity of a vehicle.
An obvious approach for setting the transport price is to charge a price that is based
on the weight and size of the goods to be transported, as well as on an average load
utilization factor. In this approach, no volume discounts are modeled, and the cost for
buying transport capacity is calculated as
52
corder =
cT · f L
+ cfuel (w),
f avg
(6)
where cT is the total transport cost (including fuel cost for an empty transport), f L the
load utilization factor for the requested load, f avg the assumed average vehicle load
utilization factor (potentially different for different vehicle types, geographical areas
and transport operators), and cfuel (w) the fuel addition cost based on the weight w
of the requested load. The load factor (f L ) is calculated as the requested quantity
q divided by the maximum loading capacity of the requested product type, restricted
either by the volume or weight capacity of the vehicle. As mentioned above, the fuel
cost for a transport is included in cT , and the fuel addition cost cfuel (w) is calculated
as
cfuel (w) = l · (fuel v (w) − fuel empty
),
(7)
v
where l is the traveled distance and fuel v (w), which is the fuel consumption per distance unit when carrying a load of weight w, is calculated according to Equation (3).
In addition to the linear pricing model described above, we provide a pricing model
in which a risk cost is added to bookings that leave transport capacity unbooked. The
risk cost is based on an estimated probability d, at the time of giving a link transport
proposal, that there will be at least one more booking before the departure. Typically, the risk costs for bookings decrease as the amount of booked transport capacity
increases, and it is the responsibility of the user of TAPAS to specify how the probabilities should be calculated.
In the pricing model with a risk cost, the order cost is calculated as
corder = cT · f L + cfuel (w) + risk ,
(8)
where the risk cost is calculated as
risk = (1 − d) · cT · f R ,
(9)
and f R is the remaining transport capacity, at the time of booking, in percentage of the
total capacity.
In summary, we propose two different approaches for setting the price for transport
capacity; one where the price depends linearly on how much capacity is ordered, and
one where early bookings gets a larger share of the transport cost to cover for the
uncertainty regarding future bookings.
3.3
Implementation
TAPAS is implemented as a discrete event simulator, since the characteristics of the
studied domain makes it appropriate to describe studied systems as chronological sequences of events. We have chosen a next-event time advance mechanism instead a
53
fixed-increment time advance approach due to its possibility to model arbitrary small
time steps. TAPAS is implemented in the Java language, and the decision making simulator is implemented using the Java Agent DEvelopment Framework (JADE) platform
(Bellifemine et al., 2007) as a Multi-Agent System with software agents representing
decision makers.
Since agents operate autonomously and typically asynchronously, it is important to
consider how activities (in TAPAS: ordering, loading, unloading, departures, arrivals,
etc.) that are performed by different entities should be synchronized with the simulation
clock. Traditionally there are two approaches for synchronizing parallel simulations
(cf. Xuehui et al., 2009); in conservative protocols the focus is to avoid running event
(activities) out of time stamp order, and in optimistic protocols, events may run out of
time stamp sequence with the consequence that the simulation will have to be recovered
when a synchronization error has occurred. Typically, activities are scheduled in one or
more queues of future events ordered by time so that the next event in time is placed first
in the queue. To be able to represent both start and end times of activities, an activity
is in TAPAS represented by two events: a start event and an end event, where the latter
is created and scheduled when the start activity event is processed. To synchronize
the simulation in TAPAS, all events are stored in one event queue that is maintained
by a synchronization agent who adopts a conservative synchronization approach. The
synchronization agent is responsible for managing the time advance mechanism, as
well as for giving directives to agents and physical entities when different activities are
allowed to start and end.
4
Scenario and simulation experiments
In this section we illustrate the functionality that is included in TAPAS by briefly
describing a series of simulation experiments that has been conducted in a scenario
around the Southern Baltic Sea. The scenario is an extension of a scenario that has been
studied in collaboration with partners in a project called EastWest Transport Corridor
(http://www.eastwesttc.org). It contains one logistical terminal, in Kaunas (Lithuania),
which provides two types of products, and three customers; in Älmhult (Sweden), and
Copenhagen and Esbjerg (Denmark). In the scenario, which is illustrated in Fig. 4,
transportation of 20 ft ISO-containers (TEUs) from Kaunas to the three customers is
offered by five transport providers. Transportation by sea and rail is assumed to follow
timetables while transportation by road is demand driven. A complete description of
the scenario, including input parameters for all entities, timetables, etc., is given in the
appendix of this thesis “An extended EastWest Transport Corridor (EWTC) scenario”.
In the scenario we studied the consequences of three transportation measures; an
introduction of a kilometer tax for heavy trucks in Sweden and parts of Denmark, a
CO2 tax for all types of transports, and a new direct railway link between Karlshamn
and Älmhult (the so-called SouthEast Link). The kilometer tax level is suggested in
(Friberg et al., 2007) and it is differentiated based on the euro class, as well as on
54
Fig. 4: Illustration of the transport network that is used in the scenario, where the numbers on the links
represent distances in kilometers.
the total weight of the trucks, the CO2 tax levels are similar to the levels discussed
in (SIKA, 2008), and the SouthEast Link is an infrastructure project that is currently
discussed in Sweden.
In the study we applied the measures separately, and the experimental settings are
summarized as follows:
S0. The base case refers to a situation in which none of the studied measures are
applied.
S1. S0 + a kilometer tax of 0.15 euro/km for trucks operating in Sweden, and between Copenhagen Terminal and Copenhagen Customer.
S2. S0 + a CO2 taxation for all vehicles operating in the modeled region. Tax levels
from 0.10 euro/kg up to 0.30 euro/kg in steps of 0.05 are considered. For simplified representation, we let S2.xy refer to setting S2 with a CO2 tax level of 0.xy
euro/kg.
S3. S0 + the SouthEast Link. Two timetables, which are synchronized in different
ways with ferry arrivals in Karlshamn (from Klaipeda), are considered: a) worse
synchronization and b) better synchronization (see the appendix of this thesis for
timetables).
For each setting we simulated 420 days with a precision of 1 minute. Since the purpose
here is to illustrate the functionality provided by TAPAS, we provide no statistical
analysis of the results. For a statistical analysis the reader is referred to the companion
paper by Holmgren, Ramstedt, et al. (2010).
From the set of available routes, we observed that the following 5 routes were used,
however in different proportions for different settings:
Route 1. Kaunas (Rail) Klaipeda (Sea) Karlshamn (Road) Älmhult
Route 2. Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Älmhult
Route 3. Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Copenhagen Terminal (Road)
55
Copenhagen Customer
Route 4. Kaunas (Rail) Klaipeda (Sea) Karlshamn (Road) Copenhagen Customer
Route 5. Kaunas (Rail) Klaipeda (Sea) Fredericia (Road) Esbjerg
An important indicator of the impact of the studied measures is the route choice,
which here is illustrated by the percentage of TEUs that are transported using different
routes. In Table 2 it can be seen that all of the studied measures cause a shift towards
routes involving more transportation by rail and less transportation by road. However,
for different measures the shift is observed in different parts of the network.
A positive consequence of achieving a shift from road to rail transportation is a
reduced amount of CO2 emissions. All observed reduction of CO2 emissions in the
studied system is a consequence of a modal shift from road to rail in Sweden and Denmark. Therefore, in Fig. 5 we present the relative CO2 reduction for the whole system,
as well as for rail and road transportation in Sweden and Denmark. Moreover, the costs
for ordering are affected in different ways by different measures (see Table 3) and it
is important to analyze the positive effects that are achieved, e.g., in terms of reduced
CO2 emissions in relation to the economic impact caused by applying measures.
Table 2: For each setting and each customer, the average taken over 10 replications of the share of TEUs (in
percentage) that are transported using the different routes.
S0
S1
S2.10
S2.15
S2.20
S2.25
S2.30
S3a
S3b
Älmhult
Route 1
Route 2
100
0
100
0
100
0
100
0
100
0
100
0
100
0
77.1
22.9
66.7
33.3
Copenhagen
Route 3
Route 4
0
100
100
0
49.8
50.2
49.8
50.2
66.3
33.7
77.9
22.1
100
0
0
100
0
100
Esbjerg
Route 5
100
100
100
100
100
100
100
100
100
Table 3: For each setting, the average cost (in euro) for ordering and storing one TEU. The price for products
is not reported here since it depends linearly on the ordered quantity and is therefore the same for all settings
even though the average order quantity varies.
Älmhult
Copenhagen
Esbjerg
S0
S1
S2.10
S2.15
S2.20
S2.25
S2.30
S3a
S3b
402.9
573.6
556.0
407.5
585.3
556.0
465.0
646.2
644.2
496.0
680.0
688.3
527.1
714.3
732.4
558.1
748.2
776.4
589.1
783.5
820.5
401.0
573.6
556.0
397.7
573.6
556.0
56
0.0
0.5
1.0
Relative reduction (%)
1.5
Fig. 5: For each studied measure, the relative reduction (in percentage) of CO2 emissions for (a) the whole
system, and (b) rail and road transportation in Sweden and Denmark.
S1
S20.10
S2.15
S2.20
S2.25
S2.30
S3a
S3b
0
5
10
Relative reduction (%)
15
(a) Whole system
S1
S20.10
S2.15
S2.20
S2.25
S2.30
S3a
S3b
(b) Rail and road (Sweden, Denmark)
5
Discussion
A general assumption in TAPAS is that decision makers are local cost minimizers. It is
possible to model decision makers in other ways, e.g., by letting them behave according
to simple rules that are coded into the agents. However, often it is reasonable to assume
that real-world decision makers strive towards behaving optimally. Moreover, it may
sometimes be relevant to let other factors than cost, e.g., environmental impact, reliability and punctuality, influence the decision making. However, most types of factors
57
can be represented in the decision making process by different types of costs. For instance, uncertainty regarding reliability and punctuality may be represented as internal
costs in organizations, and environmental impact may be represented as governmental
taxes and fees.
The cost models that are used in TAPAS (e.g., for production, transportation and
ordering) have mainly been chosen to enable real-world resemblance to be obtained
in modeled scenarios, and we argue that this is the best way to define cost models in
a general-purpose simulation tool. For instance, the model for estimating production
costs allows the user to define three types of production strategies; batch production,
continuous production, and instant retrieval of products from inventory. Moreover, two
different models for setting transport prices are provided, and the user of TAPAS decides on case basis which model should be used. However, there is room for improvement of the cost and pricing models. For instance, it could be relevant to provide the
possibility to model product-dependent fixed costs and preparation times in terminals
to be able to represent special requirements (time and other resources) that are needed
for loading and unloading of particular types of product. Also, it could be relevant
to include sequencing of batches in the production cost by separating the batch setup
time from the batch production time, as well as introducing fixed costs in a production
line, e.g., for representing wastage when changing product types. However, this would
require more advanced models for production planning and for determining production costs and product prices. Further, it would be relevant to extend and improve the
models for calculating transport costs. Different types of time aspects have an important influence on the decision making regarding which transport alternatives are most
appropriate (Sommar & Woxenius, 2007). A possible extension would be to model
punctuality as a cost component to let it have an influence on the decision making.
Moreover, train transport costs include many different cost components, which interact
in a rather complex way, and a possible extension would be to make use of some of the
ideas in the detailed train transport cost model proposed by Troche (2009). Similarly,
the ship transport cost model could be further refined to account for the cost structure
in a more realistic way, e.g., by modeling fuel consumption at berth.
An advantage of agent models is the modular structure, which enables adjustments
of local models. To develop TAPAS to function even better as a general supply chain
simulation model, a library of different types of models would facilitate the simulation
of different scenarios. For instance, different models for production strategies, customer behavior, etc., would be desirable to include in such a library. Moreover, the
possibility to achieve benefits by advanced cooperation, such as joint planning within
the supply chain, is an aspect that would be relevant to investigate further. As an example, the transport providers, as well as the customer could benefit from letting TB
negotiate directly with the customer regarding the delivery time window when there are
cost efficient transport alternatives that have been disregarded due to penalties. However, this is something that needs to be properly negotiated, because sometimes it is
important that delivery is made inside the specified window, while in other cases deliv58
ery is allowed to be made outside the window. To enable cooperation between decision
makers to be captured in TAPAS, it is necessary to extend the proposed interaction protocol. A possible approach would be to model agents as finite state machines, in which
different types of behavior are allowed only when an agent is in certain states. This
would make it easier to customize the communication between agents, and it would
considerable increase the generalizability of TAPAS.
Another aspect that would be interesting to consider is dynamic agent behavior,
which would further improve the possibility to accurately mimic real-world situations.
It would be interesting to consider agents that learn from experience how to improve
their behavior. For instance, it would be possible for customer agents to improve their
ordering strategies by dynamically updating their safety stock levels when it is realized
that some product types frequently run out of stock. Moreover, it would be interesting
to allow agents to dynamically enter or leave the system, which would make it possible
to study how situations evolve over longer periods of time.
6
Conclusion and future work
We have presented a micro-level model for supply chain simulation. By using agent
technology, we were able to simulate the decision making activities as well as the interaction between actors, which is difficult, if possible at all, using traditional techniques.
By conducting simulation experiments in a scenario around the Southern Baltic Sea,
we have shown that it is possible to use TAPAS for studying various types of production
and transportation measures and their consequences, e.g., in terms of mode and route
choice. Moreover we have shown that: (1) it is possible to deal with the complexities
of mixing timetabled and demand driven transports in the algorithmic approach (2) it
is possible to simulate the principles of EOQ by letting the customer select the best
order quantity among a set of possible quantities, and (3) the interaction framework
is appropriate for capturing the ordering process in a multi-agent-based supply chain
simulation model.
The studied scenario contains 12 agents; 3 customers, 1 production planner, 5 transport planners, 1 supply chain coordinator, 1 product buyer, and 1 transport buyer. Since
the running time does not grow exponentially with the number of agents, we believe
it would be possible to scale up the size of scenarios to a few hundreds of producers
and customers without having to reimplement the model, but this need to be confirmed
in simulation experiments. The goal is to be able to use TAPAS for studying larger
regions containing thousands of producers and customers. To improve the scalability of TAPAS, a possible future development is to implement a more advanced timeincrement and synchronization approach to enable parallel execution (cf. Xuehui et al.,
2009).
Below we give a few pointers to further development of TAPAS. Extensions of the
modeling on the agent level include: (1) integration of sophisticated optimization algorithms in the agents to improve the quality of their decisions, (2) allowing agents to
59
communicate outside the proposed interaction protocol to enable enhanced cooperation between supply chain actors, (3) allowing agents to learn from experience, and (4)
allowing agents to dynamically enter and leave the agent system. Examples of interesting extensions to the physical simulator are: (1) including external aspects that affect
transportation, e.g., by simulating other traffic on the links, which would enable us to
study the effects of link congestion, (2) simulating that real world ordering processing
is time consuming (currently order processing is assumed to be instantaneous), and
(3) allowing customer orders to be processed in parallel, which requires that aspects
related to resource allocation in the ordering process need to be carefully considered.
60
Paper III
Multi-agent-based simulation for analyzing production
and transportation measures: A case study
Johan Holmgren, Linda Ramstedt, Paul Davidsson and Jan A. Persson
Submitted for publication
Abstract. The focus of this paper is on the usage of Multi-Agent-Based Simulation (MABS) for analyzing production and transportation measures. From the perspective of its usage, we describe an agent-based supply chain simulation model
(TAPAS), and we motivate that there is a need for a model like TAPAS. We describe
a simulation study concerning a transport corridor around the Southern Baltic Sea
that has been conducted with TAPAS. Moreover, we provide a general discussion
on how to conduct simulation studies with TAPAS, focusing on issues related to input data management, validation and verification, calibration, output data analysis,
and generalization of results.
1
Introduction
Supply chain activities, such as production and freight transportation, cause different
types of positive and negative effects. Positive effects may relate to economy and social
welfare, e.g., due to the possibility to consume products that have been produced at far
distant locations. Negative effects often relate to the environment, and typical examples
are emissions, congestion and energy use. By applying different types of production
and transportation measures it is often possible to influence how supply chain activities
are performed. Essentially, there are three types of measures that we find relevant to
consider:
1. Control policies include different types of taxes and fees, such as kilometer taxes,
fuel taxes, etc.
2. Infrastructure investments, such as investments in roads, railway tracks, intermodal freight terminals, industry tracks, etc.
61
3. Strategic business measures, such as changing the location and strategy of production, synchronizing timetables, adjusting vehicle fleets to better meet the demand for transportation, etc.
For public authorities, the purpose for applying production and transportation measures
is typically to reach certain governmental goals, e.g., concerning emission targets. Another goal is to incorporate the societal costs (e.g., for road wear) caused by different
types of supply chain activities into the internal costs of the supply chain actors (Button,
1997). However, public authorities usually also want to have a sustainable business climate in order to maintain economic growth, which is why internal costs should be
kept at reasonable levels. For enterprises, the goals are typically to optimize their operations (either individually or in collaboration), and hence improving their positions
towards competitors, e.g., by reducing lead-times, costs for production and transportation, improving delivery accuracy, etc. To prevent undesirable effects from occurring,
it is important to be able to accurately predict what will be the consequences of governmental control policies, infrastructure investments and strategic business measures.
In particular, when the reality is complex and difficult to analyze manually, there is a
need for models that provide high quality decision support to public policy makers and
other types of decision makers concerning how to implement and react to production
and transportation measures.
The focus of this paper is on the usage of multi-agent-based simulation for predicting the consequences of production and transportation measures, and in particular on
a simulation model called TAPAS (Transportation And Production Agent-based Simulator). TAPAS is a micro-level model for simulating decision making and activities in
supply chains, with an important aim to function as a decision support system for different types of users or stakeholders. The outcome of simulation studies with TAPAS
typically indicates how supply chain actors will react to production and transportation
measures. However, the focus of TAPAS is on transportation measures. It is able to
predict what the economic, logistic, and environmental effects will be. Other possible
applications of TAPAS include assisting companies in making tactical and operational
decisions, e.g., concerning consignment size and frequency of deliveries, as well as
strategic decisions like choice of producer, adaptation of vehicle fleets, and where to
locate storages and terminals. In particular, TAPAS could be used for generating transport demand for new markets or areas. Since TAPAS models a larger part of the supply
chain (also production and storage are simulated), the transport demand is a natural part
of the output (as a consequence of the product demand). Due to the scope of TAPAS,
the transport demand only concerns companies, i.e., transportation to the end-customer
when it is a private person is not considered.
TAPAS is based on agent technology where actors, decision makers, or roles that
appear in supply chains are explicitly modeled as software agents. Examples of actors that are represented in TAPAS are producers, transport operators, and customers.
TAPAS incorporates the complexity of transport choices with respect to consignment
size, route and transportation mode, and it is able to take both timetabled and demand62
driven transports into account when transport routes are selected. This makes TAPAS
more powerful than traditional approaches to transport simulation, as it is able to capture the interactions between individual actors of a supply chain as well as their heterogeneity and decision making. Whereas traditional approaches rely on assumed statistical correlation between different parameters, TAPAS relies on causality, i.e., decisions
and negotiations determine how supply chain activities are performed. In addition,
TAPAS is able to capture time aspects, such as the effects of timetables, and timedifferentiated taxes and fees.
The research around TAPAS has been going on for several years, and the work has
been presented in a number of conference publications (e.g., Bergkvist et al., 2005;
Holmgren et al., 2007; Ramstedt et al., 2007; Davidsson et al., 2008), and this paper
extends the previous work in several ways. From the perspective of different users
and stakeholders, we show that there is a need for a model like TAPAS. We contribute
with a detailed description of a simulation study that has been conducted with TAPAS,
concerning the so-called EastWest Transport Corridor (EWTC) around the Southern
Baltic Sea. TAPAS has been used in several other studies, e.g., in other scenarios of the
EWTC and within a study called Modal Backshift, which has been conducted within
an EU-financed project called SKEMA1 . In the latter study, the purpose was to predict
what consequences, mainly in terms of potential modal shifts, that are expected to appear when applying new sulphur requirements on vessel fuels. We here focus on the
EWTC scenario since it is the most detailed simulation study that has been conducted
with TAPAS. Further, we provide a discussion on how to use TAPAS for predicting the
consequences of different types of production and transportation measures. By presenting and accounting for how to conduct a simulation study with TAPAS, we make
a contribution with respect to: determining the purpose of the study, designing simulation experiments, validating scenarios, and analyzing simulation results including the
possibility of obtaining generalized results.
In the next section we motivate that there is need for a model like TAPAS and in
Section 3 we briefly describe the TAPAS model on a level that is relevant for its usage.
In Section 4 we describe a simulation study that has been conducted with TAPAS, and
in Section 5 we provide a discussion on how to design and conduct simulation studies
with TAPAS. Finally, in Section 6 we conclude the paper and give some directions for
future work.
2
Motivation for the TAPAS simulation model
In this section we motivate that there is a need for a model like TAPAS for predicting
the consequences of different types of production and transportation measures. For
public policy makers, and also for corporate decision makers, it is important to be
able to accurately predict what the consequences will be when applying production
1 http://www.skematransport.eu/
63
and transportation measures. Important reasons are that undesired effects should be
avoided and desired effects should be confirmed. Hence, there is often a need to analyze
questions on the form:
What are the expected consequences when a set of production and transportation measures is applied?
To be able to answer such questions, it is typically necessary to make use of different types decision support systems. The types of effects that need to be captured in
such a decision support system are often related to economy, environment, and logistics. Environmental effects include emissions, congestion, noise, accidents, land use,
etc. Economic effects are costs and revenues for supply chain actors and public authorities caused by activities in supply chains. Examples are fuel costs, governmental
taxes and fees, and costs for infrastructure maintenance. Logistical effects are related
to the utilization of resources and infrastructure, and include how well the resources
(e.g., vehicles, producer depots and storages) and infrastructure (e.g., terminals, roads
and railway tracks) are utilized in terms of time, space, weight, etc. Moreover, logistical effects include quality aspects of the performed activities, such as punctuality and
product quality. Examples of logistical effects are consignment sizes, route and mode
choices, and transport efficiency, which can be defined as the ratio between transport
work (ton kilometers) and traffic work (vehicle kilometers).
Public policy makers have traditionally used macro-level (or equation-based) models for studying transport systems. Macro-level models take a societal perspective
and are typically based on aggregated coarse-grained data on national or regional levels. Examples of traditional macro-level freight transportation models are SAMGODS
(Swahn, 2001), ASTRA (Shade et al., 1999) and SISD (Williams & Raha, 2002). Models of this type are often used to study questions concerning effects in larger regions
or countries, and a potential problem is that they do not take the logistical processes
into account. For instance, the processes for choosing carrier types are not captured.
Hence, they fail to model the level where decisions regarding the actual transports take
place. There is also a trend in transport policy modeling to take more logistical aspects
into account, and examples of models of this type are SLAM (Williams & Raha, 2002),
SMILE (Tavasszy et al., 1998), GoodTrip (Boerkamps & van Binsbergen, 1999), and
the one suggested by de Jong and Ben-Akiva (2007). Models of this type typically
include discrete choice models, which enable them to capture more details than is
possible in pure macro-level models. In discrete choice models, choices between alternatives, e.g., transport modes and routes, are based on probability. In particular,
they enable logistical effects to be captured in more detail. However, we believe that
even more precise predictions regarding the effects of production and transportation
measures can be achieved by explicitly modeling individual entities and the relations
between them as in micro-level models. By modeling individual entities, more details
of the studied system can be captured, which makes it possible to study effects and
consequences in more detail. Discrete event simulation enables modeling of individual
64
entities and their relations and it is commonly used when supply chains are simulated
(see a review made by Terzi and Cavalieri (2004)). Discrete event simulation is used,
for instance, in order to determine the most cost efficient locations of logistics nodes
and logistic setups, and hence not often for public policy making.
The decision making processes of supply chain actors determine the activities that
occur in supply chains, and since decision makers in supply chains are not explicitly
represented in models traditionally used for studying supply chains and freight transportation, the complex interactions (e.g., negotiation) and the decision making processes from which supply chain activities result are not captured. Moreover, traditional
macro-level models for transport policy modeling are typically able to capture average
time aspects, but no aspects related to dynamic and explicit time. Dynamic time aspects
are crucial for the ability to capture coordination between certain logistical operations,
such as timetabled transportation. Due to the possibility to explicitly model individual decision makers, as well as the interactions between them, we believe agent-based
models are appropriate for studying supply chain activities.
Whereas traditional macro-level models typically are used for studying questions
concerning more general tendencies and larger regions, typical questions that can be
studied with micro-level models, and in particular multi-agent-based models, include:
• Which logistic effects (e.g., concerning transport route/mode choices, order sizes
and order frequencies) will appear in a particular supply chain network under the
influence of a set of production and transportation measures.
• How will the costs and quality of service (e.g., delays) for the actors involved in
a supply chain change as a consequence of the introduction of a set of production
and transportation measures.
• What environmental effects (e.g., CO2 emissions) will be the consequences of
the introduction of a set of production and transportation measures?
• How is it appropriate to design a supply chain in terms of frequency of transportation, route and mode choices, time of deliveries, etc.?
There exist agent-based simulation models for studying policies in supply chains
(e.g., Gambardella et al., 2002; Liedtke, 2009). However, these models assume predetermined transport demand, which makes it impossible to capture changes in transport demand that are caused by changes in logistical structures, such as availability of
production facilities and transport alternatives. In the following section we present a
multi-agent-based supply chain simulation model (TAPAS), which overcomes this difficulty. TAPAS uses product demand as input, and the transport demand is assumed to
be a consequence of the product demand. The TAPAS model can be used to study the
types of questions listed above, as well as capturing the types of effects and aspects
that have been discussed in this section.
65
3
The TAPAS simulation model
We here briefly describe the TAPAS simulation model, focusing on aspects that are
relevant for its intended users. A detailed technical description of the TAPAS model
is provided by Holmgren, Persson, et al. (2010). As illustrated in Fig. 1, TAPAS uses
a 2-tier architecture with a physical simulator and a decision making simulator. The
physical simulator models all physical entities (e.g., links, vehicles, and products) and
their activities, and in the decision making simulator, six supply chain decision makers
(or roles) are modeled as agents.
Fig. 1: Overview of the TAPAS simulation model with a physical simulator that is connected to a decision
making simulator.
3.1
Decision makers and their interaction
To fulfill a customer demand, the agents participate in a process, which includes ordering of products and transportation, selection of which resources and infrastructure
to use, and planning of how resources and infrastructure should be used. The process
starts when a customer communicates an order request to the supply chain coordinator,
and it ends when products and a plan for moving the products to the customer have
been booked and confirmed.
The customer is responsible for ordering products in quantities that keep customer
inventories at levels that minimize the costs for inventory holding and ordering (which
includes costs for production and transportation) while reducing the risk for stockouts.
The ordering behavior is based on the principles of the EOQ model (Wilson, 1934)
66
where the optimal order quantity is determined by minimizing the costs for inventory
holding and ordering for a number of candidate ordering quantities, which are specified by the analyst. Together with corresponding delivery time windows, the candidate
order quantities are included in an order request, which is sent to the supply chain coordinator agent. For a number of proposals (specifying cost and delivery time) that
are returned from the supply chain coordinator (i.e., one for each candidate quantity),
the customer chooses the best one from a cost perspective. To allow the customer
to determine the delivery time window for a candidate quantity, the analyst needs to
provide initial storage levels, maximum allowed inventory levels, safety-stock levels,
forecasted demand, and estimated (approximate) order-to-delivery lead times for all
relevant product types. Moreover, the analyst needs to provide a frequency for when
ordering should be considered (i.e., once a week), as well as time-based penalty costs
for delivering outside the delivery time window. The supply chain coordinator is responsible for fulfilling customer orders by requesting products from the product buyer
and transport solutions from the transport buyer. For each order quantity in an order
request, it finds the best combination of products and transportation and lets the customer determine which quantity should be delivered. The product buyer is responsible
for finding products in order to satisfy product requests (from the supply chain coordinator), and it communicates with the production planners by sending product requests
and receiving product proposals. A production planner is responsible for planning
the production in a producer node, based on available production resources and costs.
Production costs and times when products can be picked-up are sent to the production
buyer as a response to a product request, and it is also responsible for sending bookings
to the factories. The transport buyer is responsible for combining transport proposals
that are received from the transport planners into producer-to-customer transport solutions. Each transport planner controls a fleet of vehicles, which operates in some
geographical area. From transport requests that are received from the transport buyer
it creates and returns transport proposals.
3.2
Input and physical entities
To be able to use the TAPAS simulation model, it is important to be familiar with what
input need to be specified. In addition to providing some general input, such as length
and precision of simulated time, all modeled entities need to be specified in a sufficient
level of detail. We will here briefly describe the different types of entities that can be
modeled in TAPAS.
Transportation The transport network is defined as a set of nodes, i.e., customer
nodes, producer (factory) nodes, and connection points (terminals), and a set of directed
links, which define connections between nodes. A link represents exactly one mode of
transportation (e.g., road, rail, or sea), and it has a length and an average traveling
speed, which defines the traveling speed for vehicles that do not operate according to
67
timetables. For each terminal where loading and unloading may occur, the analyst
needs to specify vehicle-specific fixed costs for visiting the terminal, how much time it
will take to prepare vehicles for loading and unloading, how much time is required for
loading and unloading one unit of each type of product, as well as time-based costs for
loading and unloading.
Vehicle types are used to specify the characteristics of vehicles, and a vehicle type
is described by a vehicle weight, maximum allowed weight (including load), load capacity (i.e., a set of storages with capacities), fuel (or energy) type and distance-based
consumption, emissions (e.g., CO2 and NOx ) per unit of consumed fuel, and mode of
transportation. A fuel type (e.g., diesel or electricity) is defined by a cost and a tax
that is charged per unit (e.g., liter or kWh). Four types of costs can be defined for
transportation; time-based costs (e.g., driver, capital, and deterioration of products),
distance-based costs (e.g., fuel, vehicle wear, and kilometer taxation), link-based costs
(e.g., road tolls), and fixed operator-based ordering costs (e.g., administration). Moreover, vehicles are either demand-driven or they operate according to timetables. TAPAS
provides two approaches for determining the price for buying transport capacity. In the
first approach, the price depends linearly on the size of the order, based on assumed
average load utilization for the particular type of transport. In the second approach, a
risk cost is added to cover for the uncertainty regarding future bookings, and it is the
responsibility of the analyst to specify the risk parameter. An important characteristic
of the risk cost is that if the probability for future bookings on a particular transport is
zero, the buyer of transport capacity will have to pay the full remaining transport cost
regardless of the size of the booking.
Storage A storage type is described by the types of products that can be stored, and
whether or not multiple product types can be stored at the same time in the particular
type of storage. For instance, it might be possible to store more than one type of liquid
in the same tank, however not at the same time. A storage is described by a storage
type, additional restrictions regarding which product types can be stored (other than
specified for the particular storage type, according to the preference of the owner),
as well as capacity (weight and volume). Storages are defined for vehicles, and for
customer and producer nodes; nodes that only serve as connection points in the network
do not have storages. Moreover, it is possible to specify time-based costs for storing
products, which are differentiated on product type and storage owner.
Production and consumption A product type is described by mass and volume attributes, and for each product type that can be produced in a production node, the following parameters should be specified: cost for raw material (for the particular node),
maximum batch size, batch production time, batch setup time, and time-based production cost. The price for products is the cost for raw material plus the production
cost, which is proportional to the production time. Even though batch production is
assumed, the parameters that describe production can be adjusted to represent: (1)
68
batch production, (2) continuous production, and (3) instant retrieval of products from
storage (however without considering inventory costs for the products). Moreover, for
each type of product that can be consumed in a customer node, the analyst needs to define several types of parameters describing the ordering behavior, as already has been
discussed above when introducing the customer agent.
4
Case study: EastWest Transport Corridor (EWTC)
4.1
Scenario description
There is a wish within the European Union (EU) to achieve a modal shift from road
to rail and sea transportation (European Commission, 2001). In a case study around
the Southern Baltic Sea we studied three types of measures that can be used to achieve
such an effect; a kilometer tax for heavy trucks in Sweden, a CO2 tax for all types
of transports, and a new direct railway link between Karlshamn and Älmhult (the socalled SouthEast Link). Possible consequences are effects on mode and route choices,
transport costs, emissions, etc. The studied kilometer tax level is suggested by the
Swedish Institute for Communication Analysis (SIKA) (Friberg et al., 2007) and it is
differentiated based on the euro class as well as on the total weight of the trucks. We
investigated a range of levels of a CO2 tax, which are in line with the levels discussed in
another report by SIKA (SIKA, 2008). The SouthEast Link is an infrastructure project
that is currently discussed in Sweden, and in the study we investigated two different
timetables for the considered link.
The presented scenario is an extension of a scenario that has been studied earlier in
collaboration with partners in a project financed by the EU2 . It contains one logistical
terminal in Kaunas (Lithuania), which provides two types of products, and three typical customers within the studied area; one in Sweden (Älmhult) and two in Denmark
(Copenhagen and Esbjerg). In the scenario, transportation by rail, road, and sea is offered by five transport providers, and there are several possible routes for transportation
of 20 ft ISO-containers (TEUs) from Kaunas to the three customers (see Fig. 2). In the
scenario, transportation by sea and rail is assumed to follow timetables, while transportation by road is demand driven. A detailed description of the scenario, including
input parameters for all entities, timetables, etc., is given in the appendix of this thesis
“An extended EastWest Transport Corridor (EWTC) scenario”.
The main purpose for studying the scenario is to investigate the consequences
of three different transportation measures on a set of typical supply chains in a particular region. Another purpose is to illustrate the usage of the TAPAS simulation
model by describing a simulation study that has been conducted with TAPAS. The
input data that is used in the scenario has been collected from different sources (e.g.,
http://www.ntm.a.se/). Since the aim was to mirror a real-world scenario, we have used
2 http://www.eastwesttc.org
69
Fig. 2: Illustration of the transport network modeled in the studied scenario, where the numbers on the links
represent distances in kilometers.
data from existing companies in the studied region as much as possible. However, since
the case study models future scenarios, it has not always been possible to make use of
real data. Therefore, it was necessary to make certain assumptions, e.g., concerning
train frequencies on the SouthEast Link. Moreover, assumptions were made concerning consumption, customer behavior, and average load utilization for different types of
transports.
The scenario and its results have been validated through interviews with domain
experts, and a visualization of the scenario helped us discover unrealistic assumptions
and to facilitate the communication of assumptions and results to people working in
the supply chain domain. We have performed sensitivity analyses regarding different
input parameters in order to understand how different parameters influence the results.
Moreover, the estimated cost structures for transportation, i.e., the relations between
time-based and distance-based costs have been compared to the cost structures used in
the Swedish SAMGODS model (Swahn, 2001).
In the simulation runs we applied measures separately even though it is possible
to combine measures, and the considered experimental settings are summarized as follows:
S0. The base case refers to the current situation in which none of the studied measures are applied.
S1. S0 + a kilometer tax of 0.15 euro/km for trucks operating in Sweden, and between Copenhagen Terminal and Copenhagen Customer.
S2. S0 + a CO2 taxation for all vehicles operating in the modeled region. Tax levels
from 0.10 euro/kg up to 0.30 euro/kg in steps of 0.05 are considered. For simplified representation, we let S2.xy refer to setting S2 with a CO2 tax level of 0.xy
euro/kg.
S3. S0 + a new railway link between Karlshamn and Älmhult (i.e., the SouthEast
Link). Two timetables, which are synchronized in different ways with ferry ar70
rivals in Karlshamn (from Klaipeda), are considered: a) worse synchronization
and b) better synchronization (see the appendix of this thesis for timetables).
To be able to obtain results with statistical significance we made simulation runs
with 10 sets of random generator seeds for variation of consumption (different seeds
were used for different customers). Each set of seeds was used in one replication for
each setting, which enabled us to make pair-wise comparisons of results for different
settings. In each replication the simulation time was 420 days with a precision of 1
minute.
Future extensions of the study concern strengthening the results by performing simulation experiments in which the location and characteristics of customers and producers are randomly varied according to statistics about companies located in and around
the studied geographical area. Another possible extension is to study the effects that
are obtained when measures are combined.
4.2
Output data analysis and discussion
We illustrate the impact of the studied transportation measures by using different types
of output data, i.e., route choice, order size, order cost, transport work and CO2 emissions. The relevant output data is presented in Table 1, in which we show the average
taken over 10 replications for each setting and each type of output data. For the route
choice we also present the 95% confidence interval inside square brackets whenever
the standard deviation is greater than 0.
From the set of available routes for transportation we observed that the following 5
routes were used, however in different proportions for different settings:
Route 1. Kaunas (Rail) Klaipeda (Sea) Karlshamn (Road) Älmhult
Route 2. Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Älmhult
Route 3. Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Copenhagen Terminal (Road)
Copenhagen Customer
Route 4. Kaunas (Rail) Klaipeda (Sea) Karlshamn (Road) Copenhagen Customer
Route 5. Kaunas (Rail) Klaipeda (Sea) Fredericia (Road) Esbjerg
An important indicator of the impact of the studied transportation measures is the
route choice, i.e., the percentage of TEUs that are transported using different routes.
For transportation to Älmhult, the only measure that shows an effect on the route choice
is the SouthEast Link. In the settings without the SouthEast Link, all TEUs are transported using road transportation between Karlshamn and Älmhult (i.e., Route 1). In
the settings with the SouthEast Link (S3a and S3b) we observed shifts toward Route
2 using rail transportation on the SouthEast Link. In S3a in average 22.9% and in
S3b in average 33.3% of the TEUs were transported using Route 2. Not surprisingly,
in the setting with better timetable synchronization (S3b) we observed a higher shift
than in the setting with slightly worse synchronization (S3a). In all settings, transportation of all TEUs to Esbjerg are made using Route 5, with sea transportation from
71
Table 1: For each setting, this table shows the average taken over 10 replications for a number of relevant
types of output data. For the route choice we also provide the 95% confidence interval within square brackets
whenever the standard deviation is greater than 0.
S0
S1
S2.10
S2.15
S2.20
S2.25
S2.30
S3a
S3b
Share of TEUs (in percentage) transported using different routes (differentiated on customer)
100
100
100
100
100
100
100
77.1
66.7
Route 1
- [76.0,78.2] [65.5,67.9]
Älmhult
0
0
0
0
0
0
0
22.9
33.3
Route 2
- [21.8,24.0] [32.1,34.5]
Copenhagen
Esbjerg
Route 3
0
-
100
49.8
49.8
66.3
77.9
- [48.8,50.8] [48.8,50.8] [65.1,67.4] [77.1,78.7]
100
-
0
-
0
-
Route 4
100
-
0
50.2
50.2
33.7
22.1
- [49.2,51.2] [49.2,51.2] [32.6,34.9] [21.3,22.9]
0
-
100
-
100
-
Route 5
100
-
100
-
100
-
100
-
100
-
100
-
100
-
100
-
100
-
Average transport work (in tonkm) for transportation of one TEU to each customer (differentiated on
transport mode)
Rail
2640 2640
2640
2640
2640
2640
2640
2834
Road
847
847
847
847
847
847
847
653
Älmhult
Sea
5907 5907
5907
5907
5907
5907
5907
5907
2921
565
5907
Rail
Copenhagen Road
Sea
2640
2123
5907
5280
352
5907
3954
1241
5907
3954
1241
5907
4389
950
5907
4697
743
5907
5280
352
5907
2640
2123
5907
2640
2123
5907
Rail
Road
Sea
2640
1045
9900
2640
1045
9900
2640
1045
9900
2640
1045
9900
2640
1045
9900
2640
1045
9900
2640
1045
9900
2640
1045
9900
2640
1045
9900
Average CO2 emissions (in tons) for transportation of one TEU from Kaunas to each customer
Älmhult
0.627 0.627
0.627
0.627
0.627
0.627
0.627
0.622
Copenhagen
0.689 0.662
0.676
0.676
0.671
0.668
0.662
0.689
Esbjerg
0.890 0.890
0.890
0.890
0.890
0.890
0.890
0.890
0.620
0.689
0.890
Esbjerg
Average order size (in number of TEUs)
Älmhult
1.87
1.87
1.87
Copenhagen
1
1
1
Esbjerg
1.61
1.61
1.61
1.87
1
1.61
1.87
1
1.61
1.87
1
1.61
1.87
1
1.61
1.53
1
1.61
Average cost (in euro) for ordering one TEU (including cost for transportation and inventory holding of
delivered products)
Älmhult
402.9 407.5
465.0
496.0
527.1
558.1
589.1
401.0
Copenhagen
573.6 585.3
646.2
680.0
714.3
748.2
783.5
573.6
Esbjerg
556.0 556.0
644.2
688.3
732.4
776.4
820.5
556.0
1.46
1
1.61
397.7
573.6
556.0
Klaipeda to Fredericia followed by road transportation from Fredericia to Esbjerg. This
is reasonable due to the fact that the long distance makes it economically tractable to
use sea transportation instead of land transportation through Sweden and Denmark.
For the Copenhagen Customer, which can be reached only by truck, the results vary
for the different settings. For settings S0 and S3 in which no measures are applied
for transportation on the routes to Copenhagen Customer, all transports are made us72
ing road transportation from Karlshamn directly to Copenhagen Customer (i.e., Route
4). In setting S1 (kilometer taxation), a 100 % shift towards Route 3 using rail between Karlshamn and Copenhagen Terminal followed by road transportation between
Copenhagen Terminal and Copenhagen Customer is observed. For the settings with
CO2 taxation, a step-wise increasing shift towards Route 3 is observed as the tax level
is gradually increased.
Another indication of the impact of the studied measures is the transport work,
which is defined as tonkm, i.e., the traveled distance times the weight of the carried
load. The transport work is a common way of capturing the amount of transportation,
and for all studied measures we observed increases (of different degrees) of the amount
of rail transportation and corresponding reductions of the amount of road transportation. The observed changes in transport work is important since it is in line with the
wish (within EU) to obtain a modal shift from transportation by road towards rail and
sea. It should be noted that due to the route choices (see Table 1), all the observed
modal shift is accomplished in Sweden and Denmark. The relative changes in transport work for rail and road transportation is shown in Table 2. In Table 2 we also
provide the changes of CO2 emissions for the studied transportation measures.
Table 2: For each studied measure, the relative change (in percentage) of (1) the total transport work for
rail and road modes (no change is observed for sea mode), and (2) the CO2 emissions in the whole system,
as well as for rail and road in Denmark and Sweden. The 95% confidence interval is given within square
brackets when the standard deviation is greater than 0.
S2.30
S3a
Change in transport work for rail and road (in percentage)
33.3
16.6
16.6
22.1
26.0
Rail
- [16.3,16.9] [16.3,16.9] [21.7,22.5] [25.7,26.2]
S1
33.3
-
2.5
[2.3,2.6]
3.6
[3.4,3.7]
-44.1
-22.0
-22.0
-29.2
-34.4
- [-22.4,-21.5] [-22.4,-21.5] [-29.7,-28.7] [-34.7,-34.0]
-44.1
-
-4.8
[-5.1,-4.6]
-7.0
[-7.2,-6.8]
Change in CO2 emissions (in percentage)
-1.21
-0.603
-0.603
-0.802
-0.943
The whole system
- [-.615,-.590] [-.615,-.590] [-.816,-.789] [-.952,-.936]
-1.21
-0.228
- [-.240,-.217]
-0.332
[-.344,-.320]
Rail + road
(Sweden, Denmark)
-13.8
-2.61
- [-2.73,-2.47]
-3.79
[-3.92,-3.65]
Road
S2.10
S2.15
S2.20
S2.25
-13.8
-6.88
-6.88
-9.15
-10.8
- [-7.02,-6.73] [-7.02,-6.73] [-9.31,-8.99] [-10.9,-10.7]
S3b
Another important output is the amount of CO2 emissions, and in particular the
change in CO2 emissions as a consequence of the studied measures. With the same
discussion as for transport work, all reduction of CO2 emissions in the studied system will be a consequence of a modal shift from road to rail in Sweden and Denmark.
Therefore, in Table 2 and Fig. 3 we present the relative CO2 reduction for the whole
system, as well as for rail and road transportation in Sweden and Denmark, when different measures are applied. It can be seen that each studied measure cause a total
reduction of CO2 emissions in the studied system as a consequence of a shift from
road to rail transportation. The calculation of CO2 emissions for a transport is based
73
on the fuel consumption for the vehicle performing the particular transport, and in the
scenario the CO2 tax is also implemented as a fuel tax (or energy tax for electricity).
It should be mentioned that CO2 emissions for timetabled transports (i.e., rail and sea)
are based on load utilization factors as specified in the appendix of this thesis, and the
CO2 emissions for road transportation is based on 70% load utilization.
0.0
0.5
1.0
Relative reduction (%)
1.5
Fig. 3: For each studied measure, the relative reduction (in percentage) of CO2 emissions for (a) the whole
system, and (b) rail and road transportation in Sweden and Denmark.
S1
S20.10
S2.15
S2.20
S2.25
S2.30
S3a
S3b
0
5
10
Relative reduction (%)
15
(a) Whole system
S1
S20.10
S2.15
S2.20
S2.25
S2.30
S3a
S3b
(b) Rail and road (Sweden, Denmark)
For a production or transportation measure to be useful, it is important that it does
not cause an unsustainable business climate. Therefore, it is important to carefully analyze the economic effects (related to the costs for ordering), in relation to the positive
effects that might be achieved when applying the measure. Since the product price per
unit is constant, we have chosen here to only discuss transportation costs and expected
74
costs for inventory holding. The inventory holding cost at the customer is the average
quantity in stock times the price per unit for products (including transport cost) multiplied with a time-based factor. An average cost (actually price) per TEU, as shown in
Table 1, for transportation and inventory holding is calculated as the total (taken over
all orders for the particular customer) cost for transportation and inventory holding
divided by the total number of ordered TEUs for the particular customer.
For instance, it can be seen in Table 1 that setting S1 (a kilometer tax of 0.15
euro/km) and S2.30 (a CO2 tax of 0.30 euro/kg) give the same logistical effects in the
studied system. However, the economic impact is considerably higher for S2.30, and
to gain short-term effects it may therefore be better to apply a kilometer tax instead
of a rather high CO2 tax. However, the considered CO2 tax is more fair in the sense
that it does not discriminate any particular mode of transportation. In the long run, the
CO2 tax may therefore have a general effect on the vehicle fleets since it provides an
incentive to replace old vehicles of all mode types with vehicles that are more environmental friendly. However, it is difficult to predict what kind of long-term effects
different measures will have on vehicle fleets. To gain immediate as well as long-term
effects on the modal shift, a possible approach would be to combine a CO2 tax with a
kilometer tax for trucks in a way that the CO2 tax gradually increases over time and
the kilometer tax gradually decreases over time.
The customers in TAPAS determine order quantities in a way that the costs for
ordering (including transport cost) and inventory holding are minimized. This means
that the order quantity tend to increase when the fixed part of the cost for transportation
increases. For the customer in Älmhult it is observed that the average order quantity
decreases for settings S3a and S3b, since the SouthEast Link offers a lower price than
the road alternative between Karlshamn and Älmhult. For the other settings we did
not observe any changes of the order size. Also, for the Esbjerg customer we did
not observe any change on the order size for any of the measures. The average order
sizes are between 1 and 2 TEUs, and a possible reason is that the possibility for load
utilization on trucks operating in Sweden and Denmark (with capacity of 3 TEUs)
has an important influence on the order size. Moreover, the customer in Copenhagen
always chooses an order size of 1 TEU since the inventory holding cost for the rather
expensive product type that is ordered to Copenhagen is relatively high in relation to
the cost for transportation.
5
Discussion on how to conduct simulation studies with
TAPAS
In this section, we discuss a number of aspects that are important to consider when
conducting a simulation study with TAPAS. We start by discussing some general design
issues, and then we discuss a number of more specific aspects, e.g., related to input
data management, validation and verification, and output data analysis. Overviews of
75
different aspects that are related to conducting simulation studies can be found in the
literature, e.g., design of simulation studies (Kleijnen, 2005; Kelton & Barton, 2003;
Kleijnen, 2008), data collection (Sapsford & Jupp, 2006), verification and validation
(Sargent, 2005), and output data analysis (Law, 2007).
The process of conducting a simulation study can be regarded as three sequential
phases; design, execution and analysis. In the design phase, the analyst finds out what
should be done as well as deciding how it is appropriate to conduct the study. Typical
questions that should be answered in the design phase concern identifying the purpose
of the study, deciding what type of data that should be collected, what data sources
should be used, how output data should be analyzed, etc. In the execution phase, input
data is collected, scenarios are coded, and simulation runs are made. Finally, in the
analysis phase, the output from the experiments is analyzed and potentially the output
is generalized to enable general conclusions to be made. Actually, the process can be
considered to be iterative since there is often a need to return to previous phases and
reconsider earlier decisions and activities. For instance, from a pre-study it may be
realized that the ambitions concerning data collection, generalization, complexity of
the studied scenario, etc., might have to be revised.
5.1
General design decisions
In this section we briefly discuss some important aspects that need to be considered
during the design of a simulation study. Since the purpose for conducting a study will
have a significant influence on other design decisions it is important to identify the purpose as early as possible in the process. Typical examples of purposes for conducting
a simulation study include learning about what measures (or level of measures) are required to reach a certain goal, and gaining general knowledge about a particular supply
chain, e.g., by conducting a sensitivity analysis. In addition to establishing an underlying purpose for conducting the study, the identification of a purpose typically involves
defining which production and transportation measures are relevant to consider, as well
as identifying what particular questions should be studied.
In the design phase of a simulation study there are potentially many design questions that should be answered, and below we list a number of relevant questions that
are relevant to consider when designing a simulation study involving the TAPAS model
(some of these questions are also discussed by Kelton and Barton (2003)):
• What particular set of production and transportation measures should be studied?
• What is the expected outcome of the study, i.e., which types of effects are expected?
• What is an appropriate scope of the studied scenario considering complexity and
the potential to obtain useful results (e.g., concerning which physical entities and
what geographical areas that should be considered)?
• Should the scenario be calibrated towards current practice, and how should it be
calibrated?
76
•
•
•
•
•
•
•
•
•
5.2
How should the scenario and the results be validated?
If (and how) should a sensitivity analysis be conducted?
What output data is relevant to study, and what type of analysis should be made?
Is there a need to generalize the results, and how is it appropriate to obtain generalizable results?
From which data sources should data be collected, and how should data be preprocessed?
How should prices and costs for different entities be represented? Is it relevant to
model estimated internal costs, or is it better to model market prices of services,
which potentially include profit margins?
How should the modeled physical entities be represented in the model? For
instance, is it relevant to aggregate entities of the same type (e.g., product types
as in the studied scenario)?
How should decision makers be represented in the model, e.g., concerning how
geographical areas and decision strategies are assigned to agents?
How many simulation runs should be made, what parameter settings should be
used for the different runs, and how long should the simulation runs be?
Input data management
When conducting a simulation study with TAPAS it is important to identify all entities
that should be modeled, and describe them in an appropriate level of detail. Input data
for describing physical entities e.g., vehicle characteristics, link lengths and timetables,
should be collected. Further, input distributions should be specified for consumption,
and potentially for transportation time and production delays, and strategies of the
modeled supply chain decision makers need to be described. In most realistic scenarios, this means that a large amount of input data need to be collected from various
sources, and this is a problem that generally applies to micro-level simulation. There
are several other issues related to collecting input data, e.g., crucial (micro-level) data
might be missing or difficult to obtain. Typical reasons are that data do not exist, or
that organizations and enterprises that are holding information are unwilling to share
accurate data on a relevant level of detail. Further, the quality of available data may be
low, and data collection may require too much time and effort. Therefore, the analyst
sometimes needs to make a trade-off between how much effort should be spent on data
collection and the possibility to obtain high-quality data.
If data is partially or completely inaccurate or missing, appropriate assumptions
about the reality may have to be made to be able to represent those entities that are
completely or partially unknown. For instance, to be able to study certain taxes and
fees that apply to transportation, it is sometimes necessary to break down the cost
for transportation into detailed cost parameters, such as time-based and distance-based
costs. If the relations between these cost parameters are unknown, which is often the
77
case, it is the responsibility of the analyst to make proper estimations. This is exactly
what had to be done in the EWTC study, in which time-based and distance-based cost
parameters for transportation were estimated and validated using interviews and macrolevel data from the SAMGODS model (Swahn, 2001).
Due to limited availability of data or when the need for a high level of detail in the
scenario is low, it is sometimes appropriate to aggregate multiple real-world entities
into fewer entities in the model, e.g., by using available aggregated (macro-level) data.
On the contrary, if accurate data is available it is sometimes possible and relevant to
represent a real world entity with multiple model entities, e.g., when the same type
of entity is associated with different costs in different geographical areas. Below we
exemplify how real-world entities can be aggregated or disaggregated:
• A vehicle type can in the model be represented by different vehicle types, which
operate in different parts of the network. This may be relevant, e.g., since operational costs typically are different in different areas (or countries), and since
electricity is produced in different ways in different geographical areas. This
means, e.g., that the CO2 emissions for a train will vary depending on where it
operates.
• If demand information is given on a coarse-grained level concerning product
types, it may be relevant to also model product types on an aggregate level.
For instance, in the EWTC study, producers have been aggregated and represented by a
single logistical terminal, and product types are also represented on an aggregate level.
Moreover, depending on the purpose of a study, it is sometimes relevant to disregard
input that is assumed to have little or no effect on the decision making and on the types
of output that are studied. For instance, if no measures or effects that concern vehicle
emissions are considered, it is typically not relevant to consider input data related to
emissions.
An option that is always possible when dealing with issues concerning availability
of high-quality input data is to narrow the scope of the scenario to a size for which
appropriate data can be found. However, it should be emphasized that it is important
for the analyst to consider that the validity and possibility for generalizing the results
may be affected when data is assumed or aggregated, or when the scope of the study is
narrowed.
A question that is related to the management of input data is whether it is relevant
to model estimated internal costs, or if it better to model market prices of services, potentially including profit margins. If TAPAS is used internally within an organization,
it is more likely that estimated internal costs are available and should be represented,
while it might be better to model market prices if TAPAS is used by public policy makers. Typically it might be difficult to obtain data that accurately estimate the internal
cost structures, and the analyst may have to use market prices of services. Reasons
might be that companies are unwilling to share data, or that the study concerns future
scenarios for which no real-world data exists. Further, internal cost estimates might be
78
more accurate in case of non-stable or unknown market prices, e.g., if a new market or
newly introduced product types is studied.
5.3
Validation, verification and calibration
The purpose for validating and verifying a simulation model is to establish that the
model and the output provided by the model are correct and credible. Complete validity is difficult to obtain, and the level of validity and credibility that is needed depends
on the purpose of the model (Sargent, 2005). The focus here is on the validation and
verification of simulation studies conducted with TAPAS. Validation and verification
of the actual TAPAS model has been discussed in previous publications (Holmgren,
Persson, et al., 2010; Ramstedt, 2008). The actual TAPAS model can be seen as a
simulation platform, which provides the infrastructure for running a simulation experiment, and a scenario is basically a specification of a set of entities (agents and physical
entities) that is loaded into TAPAS. This means that a considerable amount of effort
may have to be put into validating and verifying scenarios. It should be noted that the
process of conducting simulation experiments and validating scenarios also contributes
to the validity of TAPAS.
For a simulation study conducted with TAPAS, verification concerns whether or
not the input data files representing a scenario is a correct mapping of the conceptual model of the scenario. Validation concerns aspects related to the correctness of
purpose, design of experiment, output analysis, modeling of entities including accuracy of estimated parameter values, reasonableness of the results, etc. From the wide
range of available techniques for validation and verification (see Sargent (2005) for an
overview), it is the responsibility of the analyst to determine on case basis how the validity of a particular simulation study should be shown. A few examples of techniques
for validation and verification are:
• Letting real-world decision makers be involved when developing scenarios.
• Comparing results with historic and recent real-world data, with statistics concerning activities in the studied area, and with results that have been obtained
with other models or techniques.
• Conducting sensitivity analyses of certain input parameters and assess the behavior of the studied system.
• Performing pre-studies with limited versions of the scenario, which would make
the results easier to compare with analytically generated output. Also, it would
enable the results to be compared with what is to be logically expected.
An import aspect that needs to be considered is the warm-up period and initial
states of inventories and other resources, since a steady state behavior typically does
not appear until a certain period of time has elapsed. For instance, customers may
choose fast but expensive transports even though this is not the normal behavior if
inventory levels are unusually low at the beginning of simulation. Moreover, it may
79
take a while until effects related to load utilization are possible to observe. In the
studied scenario we found it reasonable not to consider a warm-up period. Instead we
initiated all customer inventories to the maximum allowed levels. We consider this to
be reasonable since we only studied choices and effects related to actual ordering. For
the studied types of output it is not important if there is an initial period in which no
ordering takes place, which typically will be the case due to the fact that an inventory
level must fall down to a certain level before ordering is considered.
In real-world supply chains, decisions that are ineffective from a cost perspective
are sometimes taken, e.g., due to old habit or since costs are estimated incorrectly by
decision makers. If a purpose is to mimic a current (potentially non-optimal) situation,
it is in TAPAS possible to compensate for non-optimal behavior by tuning certain input
parameters (costs, load utilization factors, etc). A further possibility, which however
requires a modification of TAPAS, is to actually model the non-optimal behavior of
real-world decision makers. For instance, it might be relevant to model that it may take
some time before a change of transport provider occurs even though it might be known
that somebody else is providing the same service at a lower price. It would also be
possible to enable factors such as environmental impact, reliability and punctuality, to
influence the decision making in a more explicit way. Another reason for calibrating a
scenario (other than representing non-optimal behavior) is to compensate for errors in
input data.
A typical approach when conducting a study with TAPAS is to compare the results
of a base scenario, which often corresponds to the current situation, with the results
of a number of situations in which one or more measures are applied. If a calibration
of the base scenario needs to be made, parameters should (if possible) be tuned in a
way that the base scenario and the extended scenarios are affected in a similar way.
However, this is something that can be difficult to achieve, and it is often also difficult
to validate that a calibration is made properly. Moreover, it is difficult to provide strict
guidelines for how to calibrate a scenario, which is why it is the responsibility of the
analyst to make a proper calibration. Further, it is often reasonable to assume that
decision makers behave rationally, and that in the long run, they will adjust their actions
towards cost optimal behavior. Therefore, it is not obvious that potential non-optimal
current behavior should be represented in a scenario even though the modeled realworld decision makers may act in such a way.
It should be emphasized that, in a model like TAPAS, it is not only the actual costs
that may need calibration, also the decision making may need to be calibrated due to the
fact that costs and other real-world phenomena may be interpreted in different ways by
different decision makers. The possibility to locally modify the models of the decision
makers is an important advantage of agent-based models even though this is currently
only partially included in TAPAS; for each customer agent it is possible to tune the
ordering behavior by specifying different parameters for interpreting the reality. A
relevant direction for development of TAPAS is to further develop the possibility to
locally modify the behaviors of individual decision makers.
80
5.4
Result analysis and generalization
In TAPAS, all input data, as well as all physical activities that occur during a simulation run are logged in a database, which makes it possible to reproduce and carefully
analyze simulation runs afterwards. We argue that it is a good idea to keep a database
containing all relevant information concerning a simulation run, in contrast to just saving specific types of output, which is typically better from a performance perspective.
This is due to the fact that it is often realized late in the study which particular types
of output data are needed. Examples of relevant output data are choices of vehicle
types and transportation routes, order sizes and frequencies, transport times, different types of costs (e.g., for production and transportation), environmental performance
(e.g., CO2 emissions), and ton kilometers.
Since simulation often is considered to be a statistical experiment (activities occur
according to stochastic input distributions), the output will therefore typically be randomly distributed. In TAPAS, consumption, transportation and production is described
using random distributions, and to be able to draw strong conclusions, it is important
to manage statistics in a proper way, e.g., by choosing input distributions carefully and
analyzing output data statistically. Output data is typically analyzed using significance
tests, correlation analyses, and by generating confidence intervals for the results (e.g.,
Law, 2007). Also, to obtain statistical significance, a larger number of replications
typically need to be run for each setting.
Depending on what types of questions are studied, it is sometimes desirable to
generalize the results that are provided by TAPAS. Due to difficulties regarding performance of micro-level simulation and collection of real-world data, TAPAS is suitable
mainly for studying limited networks of supply chains. However, generalizable results can still be obtained by studying a larger number of smaller scenarios in which
the location and characteristics of customers and producers are randomly varied. By
simulating a range of different actors and settings, it is typically possible to observe
more general tendencies than can be obtained by only simulating smaller supply chain
networks. To reduce the effort of managing a large number of smaller scenarios, it
is relevant to improve the execution performance of TAPAS to enable it to be used
for studying large networks in which a wide range of actors are represented. Such
an approach was presented by Liedtke (2009), who proposed a method for randomly
generating a large network of producers and customers based on national (German)
statistics about companies.
6
Concluding remarks and future work
From the perspective of its usage, we have presented an agent-based supply chain simulation model called TAPAS. In particular, we have motivated that there is a need for a
model like TAPAS, e.g., by discussing what types of questions that are possible to study
with TAPAS but not with traditional models for studying supply chains and freight
transportation. We have described a simulation study in a scenario (EWTC) around the
81
Southern Baltic Sea that has been conducted with TAPAS. Moreover, we have provided
a rather general discussion on how it is appropriate to design and conduct simulation
studies with TAPAS.
From our experience of conducting simulation studies with TAPAS, we have been
able to arrive to a number of conclusions. In order to obtain useful results, it is important to carefully design the study, manage input data, analyze output data, etc. Regarding the EWTC simulation study, we have observed that it is possible to achieve a shift
from road to rail transportation in Sweden and Denmark by considering a kilometer tax
for trucks, a CO2 tax for all types of transports, or a new railway link in the studied area
(the so-called SouthEast Link). In particular, we have observed that reduced amounts of
CO2 emissions can be achieved by applying different types of transportation measures.
However, the exact conditions of the studied measures need to be further analyzed and
verified.
Future work related to the usage of TAPAS mainly relates to the possibility to obtain results from which it is possible to draw more general conclusions. Moreover,
future work includes incorporation of more real-world aspects in TAPAS, which would
be of particular relevance when there is a purpose to mimic and study specific realworld supply chains. For instance, it would be interesting to consider distribution to
end customers, which would make it possible to study consequences in a wider scope.
TAPAS is a model for studying limited systems of supply chains, and to be able draw
more general conclusions than is currently possible, it is relevant to improve the execution performance of TAPAS to enable larger and more complex scenarios to be studied.
There is ongoing research concerning parallelization of large-scale agent-based simulation models (e.g., Mengistu et al., 2008; Pawlaszczyk & Strassburger, 2009), and
we hope that in a not to distant future, it will be possible to incorporate such ideas in
TAPAS. Below, we list some additional directions for future work related to the usage
of the TAPAS model:
• Due to problems related to validation of data that has been collected on case
basis, it would be relevant to build up and maintain a library of typical actors
and supply chains that can be used when constructing simulation scenarios. In
particular when the purpose is to draw conclusions regarding general tendencies
concerning production and transportation measures, rather than studying particular real-world supply chains, this might enable high quality output even when it
is difficult (e.g., time consuming) or impossible to collect high-quality real-world
data.
• To investigate how to take advantage of the characteristics of different types of
models, we are currently involved in a project, which aims at combining TAPAS
with traditional macro-level transport policy analysis models (e.g., SAMGODS
(Swahn, 2001)). An example is to let TAPAS produce input data for a macrolevel model or vice versa.
82
Paper IV
Roles and responsibilities in supply chains: An agent
simulation modeling framework
Johan Holmgren, Linda Ramstedt and Paul Davidsson
Presented at the 4th Workshop on Artificial Transportation Systems and Simulation at
the 13th International IEEE Conference on Intelligent Transportation Systems
Abstract. To predict which supply chain effects will appear when applying governmental control policies, infrastructure investments, and business strategies, multiagent-based simulation (MABS) can be used. In this paper, we identify abstract
supply chain responsibilities, roles and interactions that are argued to be sufficient
for representing all types of organizations involved in the processes of buying and
selling products and transport services. The identified responsibilities, roles and
interactions are organized into a framework together with a set of modeling guidelines, which we relate to the GAIA methodology to simplify the process of developing multi-agent-based supply chain simulation models. To illustrate the usage
of the framework, we provide two case studies where we apply it to two different
MABS models.
1
Introduction
A supply chain can be referred to as the activities and organizations (actors) that are
involved in producing, handling and transporting (moving) products from a producer
depot to a customer depot. A supply chain may involve many different activities, ranging from mining of raw material, assembling of components, arranging of transport
services and terminal activities, etc. We regard a supply chain as either the whole chain
from mining of raw material until delivery to the end-customer, or as only one or a few
steps in the supply chain, e.g., in production. In this paper we focus on the decision
making processes that are involved when buying (using) and selling (providing) products and transport services. This means that there are supply chain activities, such as
customs, which are outside the scope of our work.
83
Supply chain activities, such as production and freight transportation, cause different types of effects. There are positive economic and social effects, for instance, due
to the possibility to consume products that have been produced at far distant locations,
and negative effects, such as emissions and congestion. To influence the consequences
of supply chain activities, governmental control policies (e.g., taxes and fees), and
infrastructure investments are often used by public authorities to reach governmental
goals, such as emission targets and sustainable economic development. On a business
level, companies take different types of strategical measures to make their operations
as efficient as possible, thereby increasing their profit and improving their positions
toward competitors. For instance, the location of a production facility may be changed
in order to reduce the need for transportation, or to decrease the cost for production.
Another example is to change the production strategy, e.g., to produce according to
make-to-order instead of make-to-stock. To prevent undesirable effects from occurring, it is important to be able to predict how different types of measures, such as,
governmental control policies or business strategies, will affect the supply chain. Predicting the consequences of production and transportation measures can be done by
using multi-agent-based simulation (MABS), in which the individual actors of a supply chain, their heterogeneity, as well as the decision making processes can be explicitly modeled (Davidsson et al., 2008). Studying the relationship between production
and transportation measures and effects is one important reason for simulating supply
chain activities, other purposes include gaining knowledge about a system, visualizing certain phenomena, educating persons in the domain, etc. However, the structure
of a simulation model and the entities that need to be modeled are basically the same
regardless of what is the purpose of the model.
Supply chains can be organized in many different ways; for instance, transportation
can in one supply chain be managed by the seller, and in another supply chain by the
buyer or a third party logistics provider. This means that activities, roles and responsibilities in different supply chains will appear differently. However, we argue that on
some level of abstraction, the same building blocks can be used to represent all types
of supply chains.
The purpose of our work is to simplify the modeling of multi-agent-based supply
chain simulation models by identifying abstract roles, responsibilities and interactions
that can be used to model all types of supply chain organizations, and to organize
them in a framework so that they can be used by analysts and designers of multiagent-based supply chain simulation models. Moreover, in the framework we will
include a set of modeling guidelines that can be used together with an agent-based
development methodology, such as GAIA (Zambonelli et al., 2003), to simplify the
process of developing multi-agent-based supply chain simulation models.
As already mentioned, one purpose of our work is to develop domain specific
guidelines, which can be used to simplify the process of developing (analyzing and
designing) multi-agent-based supply chain simulation models. Since we suggest that
the guidelines can be used together with agent-based development methodologies, it
84
is here relevant to present a short discussion concerning such methodologies. A development methodology can be general or it can be specific for a certain domain, a
type of model (e.g., simulation model), or a platform/run-time environment. If we disregard the platform dimension, in our context we have four categories of agent-based
development methodologies:
1. General purpose methodologies (e.g., GAIA (Zambonelli et al., 2003) and Tropos (Bresciani et al., 2004)).
2. Methodologies for the supply chain domain.
3. Methodologies for general agent-based simulation modeling (easyABMS (Garro
& Russo, 2009)), which can be applied to the domain of supply chain decision
making, however without giving any domain specific guidelines.
4. Methodologies for developing supply chain simulation models.
In this categorization of agent-based development methodologies, our work relates to
the fourth category, and potentially also to the second category. That is, our framework
is specific for the supply chain domain. For the fourth category, the literature contains
a number of more or less “re-usable” supply chain simulation frameworks and architectures (Chatfield et al., 2007; van der Zee & van der Vorst, 2005; Hellingrath et al.,
2009). In comparison to our work, these frameworks are more detailed and aim towards
generating concrete simulation models, while our work is more about conceptualizing
the simulated supply chain organizations on a rather abstract level in order to guide the
developer in the early analysis and design phases without putting any restrictions on
simulation platform, implementation, etc.
From our experience of developing a multi-agent-based supply chain simulation
model (i.e., TAPAS (Davidsson et al., 2008)), we have realized that domain specific
guidance during the early phases would have been useful for supporting and facilitating the development of the model. Moreover, the amount of literature concerning
methodological approaches for developing agent-based supply chain simulation models is rather limited, which motivates our work.
In the next section we present a framework of supply chain roles, responsibilities, interactions and modeling guidelines, and in the section after that we apply the
framework to two agent-based supply chain simulation models. Finally, we discuss the
usability and validity of the framework and the paper is concluded with some future
work.
2
A framework of supply chain responsibilities, roles,
interactions and modeling guidelines
In this section we describe a framework of supply chain roles, responsibilities, interactions and modeling guidelines. However, before presenting the framework, a few
important concepts will be introduced in order to help unversed readers.
85
As mentioned in the introduction, a supply chain can be defined as the activities and
organizations that are involved in producing, handling and transporting products from a
producer depot to a customer depot. In a supply chain, organizations refer to customers,
producers, transport operators, etc. Organizations may also refer to sub-organizations
within larger organizations, which enables supply chains to be represented internally
within organizations, e.g., when production is performed in multiple steps. We define
an organization as a set of roles that are represented within the organization, such as
transport planner and order administrator. Different organizations typically include
different roles, and just as roles are assigned to humans in real-world organizations,
roles are in an agent-system represented by agents. However, the process of assigning
roles to agents is outside the scope of our work. Moreover, a role can be defined as a set
of (well-defined) responsibilities, and in the context of supply chain decision making,
a responsibility can be defined as a set of decisions.
2.1
Responsibilities
An important phase during the analysis and design of a system, is to decide which
responsibilities should be captured, and how they should be represented in different
roles. As mentioned above, a role is defined as a set of responsibilities, and an agent can
be defined as a set of roles together with a set of protocols describing how it is supposed
or allowed to interact with other agents in the system. Since our focus is on the decision
making processes in supply chains, we have chosen to define a responsibility as a set of
decisions concerning some particular aspect or activity. Even though a responsibility
is defined as a set of decisions, there are other more concrete activities, such as actual
planning processes, which need to be included in the responsibility to enable decisions
to be taken. It should be emphasized that decisions may be delegated, and a decision
that relates to a responsibility in a particular role can be delegated to a responsibility
in another role, either within the same or another organization. An example is Vendor
Managed Inventory (VMI) (Daugherty et al., 1999), in which decisions about planning
and replenishments of customer inventories are delegated to the supplier.
To capture the demand for products and transportation, which resources and infrastructure to use, and how to use the resources on the infrastructure, we have identified
two main types of decisions that need to be represented in a supply chain organization;
ordering decisions and planning decisions. Since ordering also relies upon effective
planning, we consider planning decisions to be the central type of responsibility that
should be considered in our framework. In our scope, ordering concerns ordering of
products and transportation, and planning concerns planning of production, transportation, and inventories. Many important planning activities, such as shunting, reloading,
etc., take place at terminals. When these types of activities are performed by organizations providing transports, they are covered by transport planning. However, sometimes
they are outside the control of the transport providers, e.g., when they are performed
and planned by terminal personnel. In the latter case they should not be considered
86
as part of transport planning, but their costs and execution times should be accounted
for in the planning. Since the focus of our framework is on transport and production
activities in supply chains, we do not regard planning of terminal activities as a type of
responsibility that should be included in the framework.
Ordering decisions are typically based on ordering policies, such as the Economic
Order Quantity (EOQ) model (Wilson, 1934), which takes costs for ordering and transportation into account. Planning decisions, on the other hand, is based on the availability of resources (production facilities, vehicles,...) and on different explicit strategies,
for instance, concerning replenishment and load coordination.
In an organization it is typically the case that only some responsibility types are represented. Also, since the decisions included in a responsibility may vary substantially,
the same type of responsibility will often appear differently in different organizations.
Therefore, it is impossible to give any strict guidelines about which responsibilities and
decisions should be modeled in a particular organization. However, below we present
a set of responsibility areas (types) that we find relevant to model in a supply chain organization, together with some examples of what decisions might be included in each
type of responsibility. Since there are too many decisions that potentially could be included in a responsibility, it is impossible here to provide a complete list of relevant
decisions.
• Product ordering. From which product provider should products be ordered?
What types of products should be ordered, and in which quantities? In what time
window should the products be delivered?
• Transport ordering. From which transport service provider(s) should transportation be ordered? What quantity should be transported and in what time window
should pickup and delivery occur?
• Production planning. At which production depot should products be produced?
When should products be produced and in which quantities?
• Inventory planning. Which inventory should be replenished? Which quantities
should be replenished and when?
• Transportation planning. Which mode of transportation, vehicle type, load carrier and route should be selected? What consignment size is appropriate and
when should the transport be performed? Which products should be load coordinated? Should transportation be performed according to timetables or not?
When and where should the consignment be loaded and unloaded?
From these examples of decisions related to the identified areas of responsibility, it
appears to be difficult to find a general one-to-one mapping between decisions and
responsibilities. Instead it has to be up to the designer of the model to use her good
judgment when defining responsibilities. Moreover, it has to be assumed that within an
organization, decisions are disjoint so that there will exist only one decision regarding
the same aspect of an activity or a resource.
Let Dec o denote the set of all decisions that should be taken in an organization
87
o ∈ Org, where Org denotes a set of organizations represented in a system (or types of
organizations in case there are identical organizations). Defining responsibilities can
to
pp
ip
be seen as a partitioning of Dec o into disjoint subsets Dec po
o , Dec o , Dec o , Dec o and
tp
Dec o . That is,
to
pp
ip
tp
Dec po
o ∪ Dec o ∪ Dec o ∪ Dec o ∪ Dec o = Dec o ,
and
tp
ip
pp
to
Dec po
o ∩ Dec o ∩ Dec o ∩ Dec o ∩ Dec o = ∅.
In other words, in organization o, the partitions of Dec o define the five responsibilities
of product ordering, transport ordering, production planning, inventory planning and
transportation planning.
2.2
Roles
In the framework, we have identified/included supply chain roles on two levels of visibility; on an external level the parts of the organization that are visible for other organizations are modeled, and on an internal level the internal operations of an organization
are modeled. On the external level, we define four supply chain roles, which we argue can be used on an intra-organizational level to represent all types of organizations
involved in buying (using) and selling (providing) products and transport services:
• Transport User (TU) refers to a consumer, or a buyer, of transport services, i.e.,
someone who wants to transport cargo.
• Transport Provider (TP) is a provider of transport services.
• Product User (PU) is someone who buys products.
• Product Provider (PP) refers to a provider, or a seller, of products.
In different organizations, these roles will be represented slightly differently (e.g., since
the included responsibilities may differ). We let Rol ext
⊆ {TU o , TP o , PU o , PP o }
o
denote the representation of the four external roles in organization o. No internal operations, i.e., the responsibilities that were introduced above, are included in the external
roles. However, a few other activities, such as negotiation, have to be represented at
this level, but such activities are not explicitly considered in the framework. Moreover, it should be noted here that an organization is allowed to, and typically will, play
multiple external roles in a supply chain. For instance, a freight forwarder plays two
external roles; the role of a TU as well as that of a TP; it provides transport services to
TUs and it consumes transport services from TPs.
To be able to completely model an organization, also the internal operations of
the organization needs to be modeled. Therefore, the set of external roles should be
complemented with a set of internal planner roles. In an organization there might
potentially be one type of planner for each type of responsibility in the framework.
The planner roles concern planning of resources or planning of ordering. We suggest
88
that there is one planner role for each type of planning task and the following planner
roles are suggested:
•
•
•
•
•
Product Order Planner (POPL)
Transport Order Planner (TOPL)
Production Resource Planner (PPL)
Inventory Resource Planner (IPL)
Transport Resource Planner (TPL)
In the same way as for external roles, the representation of internal roles in organization
o is denoted Rol int
⊆ {POPLo , TOPLo , PPLo , IPLo , TPLo }. For future reference
o
ext
we let Rol o = Rol int
o ∪ Rol o denote all roles represented in o. Further, the identified
roles can, and probably will, be decomposed into more detailed/specialized subroles,
but we argue that on an abstract level these are the only roles that need to be considered.
2.3
Interaction
In our framework, interaction is considered to be something that occurs between roles,
e.g., when a task or activity requires the involvement of two or more roles. Typical examples include sending, receiving and negotiating orders, and exchanging information
in order to allow decisions that need to be taken in different roles to be coordinated.
Since the framework is defined on an abstract level, the representation of interaction is
restricted to identifying those roles that need to interact and defining connections (interaction links) between them. High-level interaction protocols that define the actual
flow of messages between interacting roles need to be specified, but that is something
that is outside the scope of our framework.
We have identified two types of interactions that are considered in the framework.
The first type of interaction concerns external roles, with the purpose of partially capturing the ordering/replenishment processes that take place between organizations. The
second type concerns interaction that enables decisions in different roles to be coordinated. It should be noted that the second type of interaction might involve roles within
the same organization as well as between organizations in case decisions in different
organizations need to be coordinated. To be able to model ordering processes, it is
typically necessary to also involve coordinating interaction as will be discussed in the
next paragraph. We refer to the first type of interaction as order connection since it
only concerns interaction between external roles, and the second type as coordination
interaction.
Since there always exists a connection between the user and the seller of a product
or a transport service, it is important to identify those users and providers that potentially will be involved in exchanging products or transport services. To model the
interactions that are required to capture the process of buying and selling products and
transport services, it is in most cases required to create interaction links between the
user roles and the provider roles (i.e., TU ↔ TP , PU ↔ PP ). Basically, TUs are al89
lowed to communicate with TPs, and PUs are allowed to interact with PPs. However, in
basically all types of ordering/replenishment processes, also different types of coordination interaction need to be involved. As an example, illustrations (from a perspective
of roles and interactions) of a “normal” ordering process, where orders are explicitly
communicated between buyers and sellers, and VMI where the provider is responsible
for planning the inventory of the customer and deciding about replenishments, is given
in Fig. 1. To clarify the example in Fig. 1, in the VMI case, the PU role of the buyer
only gets the responsibility of providing information (e.g., consumption forecasts and
inventory levels) to the IPL in the supplier (via the PP role).
Fig. 1: Illustration of how the differences between a “normal” ordering process (a) and VMI (b) can be
expressed in the framework. In the examples, the product buyer is represented by the circles marked o′ and
the seller by the circles marked o′′ .
Coordination in decision making can be recognized as something that occurs between roles in order to allow related decisions to be taken (by different roles). Hence
coordination is closely related to interaction, and in fact, coordination has to be achieved by means of interaction. Examples of what is considered to be coordination include,
but are not limited to:
• Coordination of product order planning and inventory planning as, for instance,
in the EOQ ordering model.
• Coordination of production planning, transport planning, and inventory planning
to reduce the need for storages in the supply chain.
The coordination interaction
between two organizations o′ and o′′ can be described
⊆
{r
,
r
}
:
ri , rj ∈ (Rol o′ ∪Rol o′′ ) of the set of all un-ordered
as a subset Int ocoord
′ o′′
i j
pairs of roles in o′ and o′′ . The
order
connections between o′ and o′′ can be seen as
ext
a another subset Int ord
⊆
{r
,
r
}
: ri , rj ∈ (Rol ext
i j
o′ o′′
o′ ∪ Rol o′′ ) only involving
external roles in o′ and o′′ . When applying this notation
to the example
in Fig. 1, the
ord
′
′′
interactions
in
(a)
can
be
denoted
as
Int
=
{PU
,
PP
}
,
and
Int ocoord
=
′ o′′
o
o
o′ o′′
{IPLo ′ , POPLo ′ }, {POPLo ′ , PUo ′ }, {PPo ′′ , PPLo ′′ } and the interactions in (b)
coord
as Int ord
o′ o′′ = {PUo ′ , PPo ′′ } , and Int o′ o′′ = {{PPo ′′ , IPLo ′′ }, IPLo ′′ , PPLo ′′ } .
90
2.4
Modeling guidelines
To make the framework more applicable we have created a set of modeling guidelines
that can be used when developing multi-agent-based supply chain simulation models.
It is recommended that one of many available agent-based development methodologies, such as GAIA (Zambonelli et al., 2003) or Tropos (Bresciani et al., 2004), is
used when developing agent systems. We have chosen to relate the framework to the
GAIA methodology, since it is highly developed and accepted in the agent community.
The GAIA methodology contains an analysis phase, which is followed by two design
phases (architectural and detailed). Our framework mainly relates to the analysis phase
(in GAIA), in which organizations are identified, and preliminary role and interaction
models are constructed. In the preliminary role and interaction models, those roles and
interactions that are expected to be the same regardless of what organizational structure
is chosen for the multi-agent-system, are identified and specified. In GAIA, the preliminary role and interaction models are refined/extended in the architectural design
phase with organizational roles and interactions that are consequences of the chosen
organizational structure. However, since our framework is defined on an abstract level,
we do not consider the process of refining the early design models.
Below we present a set of guidelines, which should be applied in sequence, and
that can be integrated in the GAIA methodology to assist the analyst/designer when
building a multi-agent-based supply chain simulation model.
1. Identify all supply chain organizations and sub-organizations (or types of organizations in case there are multiple identical organizations) Org that might be
involved in buying and selling products and transport services. This guideline
directly corresponds to the first step of the GAIA methodology, in which organizations and sub-organizations are identified.
2. For each organization o ∈ Org, identify all decisions Dec o that need to be taken
in o and map them to the different planning responsibilities, i.e., create subsets
to
pp
ip
tp
Dec po
o , Dec o , Dec o , Dec o and Dec o . In GAIA, this guideline can be used as
a pre-step to the preliminary role model.
3. For each organization o ∈ Org, identify which of the four external roles Rol ext
o it
represents, and for the responsibility types that are represented in o, create internal planner roles Rol int
o . In GAIA, this modeling guideline is directly applicable
to the preliminary role model since typically this will help identifying most of
the preliminary roles.
4. Identify the organizations that are allowed to exchange products and transport
services and define which external roles are connected, and how they are allowed
to communicate (for an example see Fig. 1). This guideline concerns creating the
′ ′′
set Int ord
o′ o′′ for each pair of organizations o , o ∈ Org. In GAIA, this guideline
helps the analyst/designer partially representing the ordering/replenishment process in the preliminary interaction model.
5. Identify roles, and their corresponding decisions, which need to be coordinated,
91
i.e., for each pair of organizations o′ , o′′ ∈ Org, create the set Int ocoord
′ o′′ . Also,
define how coordination should be accomplished (e.g., what information need
to be communicated). In GAIA, this guideline concerns the representation of
coordination in the preliminary interaction model.
It should be pointed out here that even though the framework only concerns the existence of interaction, it is generally a good idea to preliminary define the details of
interaction. This means that the analyst need to define how communication in the supply chain should be accomplished (i.e. defining interaction protocols), who initiates
and participates in the protocols, what is the expected outcome of the protocols, and
what the roles should communicate about.
3
Applicability of the framework
In this section, we illustrate the usage of the presented framework by applying it to two
different agent-based supply chain simulation models; TAPAS (Davidsson et al., 2008)
and a simulation model proposed by Strader et al. (1998).
3.1
Case study I - TAPAS
First we apply the framework to an agent-based simulation model called TAPAS (Transportation And Production Agent-based Simulator) (Davidsson et al., 2008). TAPAS
is a micro-level simulation tool with the purpose of predicting the effects of governmental control policies, infrastructure investments and business strategies. For more
information regarding the simulation model (including simulated decisions, and hence
responsibilities, simulation experiments, etc.), the reader is referred to our companion
publications (Davidsson et al., 2008; Ramstedt, 2008). TAPAS is not an actual contribution in this paper but it has helped us to validate the framework, and therefore it is
relevant here to provide a brief description of the simulation model.
In TAPAS the following six supply chain roles are modeled: Customer (C ), Supply Chain Coordinator (SCC ), Product Buyer (PB ), Transport Buyer (TB ), Transport
Planner (T ) and Production Planner (P). Actually, these roles are considered to be
functions that are represented in all supply chains, and it might be the case that more
than one of these functions are represented in the same organization. To avoid confusion (the concept of a role has been used with a different meaning earlier in the paper),
we will refer to them as functions rather than roles. Anyhow, in our framework terminology each of the defined functions can be referred to as a particular type of supply
chain organization.
In TAPAS, the agents (each agent represent one function) are assumed to follow
a predefined interaction protocol aiming at matching production and transportation in
order to fulfill customer orders. The progress of TAPAS is driven by consumption,
and the interaction protocol is initiated when a C sends an order request, with a set of
92
different order quantities, to the SCC . After that, the SCC asks the PB to ask the P s
for relevant product proposals, and for each of the received proposals, it asks the TB
for matching transport solutions for a set of different predetermined routes (paths). The
TB generates transport solutions by asking the T s for transport proposals for relevant
parts of the routes, which are compiled into overall transport solutions. For each of
the requested quantities, the SCC then chooses the least cost combination of products
and transportation, and informs the C about these combinations. Then the C chooses
the quantity, which from a cost perspective is the most beneficial, when minimizing
the costs for storage and ordering. Finally, the chosen alternative is booked with all
the involved P s and T s. Hence it follows that the agents are ordered hierarchically as
shown in Fig. 2.
Fig. 2: Illustration of the TAPAS simulation model.
An illustration of how TAPAS applies to our framework is given in Fig. 3. The
main responsibilities for a customer are inventory planning and product order planning.
The SCC is responsible for product order planning, transport order planning, as well
as coordination of production and transportation. The P s are involved in production
planning and inventory planning, and transportation planning is performed by the TB ,
and by the T s.
3.2
Case study II - Strader et al.
To further validate the framework and demonstrate its generality, we have chosen to
apply it to a second supply chain simulation model, which was proposed by Strader et
93
Fig. 3: Illustration of how the framework applies to the TAPAS simulation model.
al. (1998). The purpose of their model is to show the importance of information technology for supporting the order fulfillment process, by studying a 5-tier supply chain
network under different demand management (e.g., Assembly-To-Order and Make-ToStock) and information sharing policies. Two basic types of supply chain entities (or
organization types) are modeled; entities with and without manufacturing (assembling)
capabilities. In Fig. 4, we illustrate how the model by Strader et al. is represented in
our framework.
In the actual agent system, the abstract roles defined in the framework are played
by different agent (types) in the following way:
• The roles of PU, PP and POPL are played by Order Management and Supply
Chain Network Management agents,
• the IPL role is played by an Inventory Management agent, and
• PPL is played by Material Planning, Production Planning, Shopfloor Control,
Manufacturing Systems, and Capacity Planning agents.
From an agent perspective, the major difference between entities with and without
manufacturing capabilities is that, in an entity without manufacturing capabilities only
Order Management, Supply Chain Network Management and Inventory Management
agents are represented, whereas in a manufacturing entity, also Material Planning, Production Planning, Shopfloor Control, Manufacturing Systems, and Capacity Planning
agents are represented.
In contrast to the TAPAS model, which models both production and transportation,
the model by Strader et al. only includes some of the responsibilities, and hence roles,
94
Fig. 4: Illustration of how the framework applies to the simulation model by Strader et al., i.e., the roles,
interactions and organizations are illustrated, but not the agents.
defined in the framework; i.e. no transport-related responsibilities are represented. This
shows that the framework can be applied to models with different scopes, e.g., when
the focus is more detailed on some responsibilities while others are excluded.
4
Discussion and future work
We have presented a domain-specific framework, which on an abstract level defines
which roles, responsibilities and interactions should be considered when representing
supply chain organizations in a multi-agent-based simulation model. The framework
contains a set of modeling guidelines, which we have related to the GAIA methodology
to improve the applicability of the framework.
An important issue that needs to be discussed is what we have done to show the
validity and usability of our framework. In our context, validity primarily concerns:
1. The correctness of the framework, which relates to if the framework is logical
and correct, and
2. the completeness, which refers to whether the framework includes all relevant
aspects that need to be covered in a supply chain simulation model.
We have identified three main types of measures that can be used to show the validity
and usability of the framework:
1. Confirmation by domain experts, practitioners, etc,
2. comparison to existing models, and
3. applying the framework to simulation models.
We have partially validated the framework by applying it to two different supply chain
simulation models; the TAPAS simulation model, which has been used in several
projects (e.g., (Sakalys et al., 2007)) and a simulation model by Strader et al. which
has been used to study supply chain information sharing. Therefore, the validation of
95
these simulation models is relevant for the validity of the framework. What measures
have been taken to validate the model by Strader et al. is unknown to us since we have
not been involved in the development of the model. However, TAPAS has mainly been
validated by interviews with experts in policy issues and transport modeling, and practitioners in transportation and logistics. Moreover, simulation experiments of different
scenarios have been compared to similar studies, e.g., (Yngström-Wänn, 2007). However, to further validate the usability, as well as the correctness and completeness of
the framework, it needs to be accepted and further used by the agent and supply chain
community.
Since our framework is defined on an abstract level, it can be used when creating
an early design of a supply chain simulation model. This design is then typically refined in later phases of the design process. When applying the framework, in our case
studies, we recognized that the identified roles typically do not directly translate into
agents in the actual system, and that is actually expected. Potential directions for future
work is to provide guidelines concerning how to refine the early design models, as well
as how to assign roles to agents. It would also be interesting to investigate how the
framework can be used for validating already existing agent-based supply chain simulation models. Applying the framework to an existing model would give the developer
of that model an opportunity to consider the model from a different perspective, and
potentially providing validation of the model.
96
Paper V
Plug and Play Transport Chain Management: Agentbased support to the planning and execution of transports
Paul Davidsson, Johan Holmgren, Jan A. Persson and Andreas Jacobsson
Extended version1 of a paper that will appear in Communications in Computer and
Information Science: E-Business and Telecommunication Networks. Springer.
Abstract. A novel approach to efficiently plan and execute effective transport solutions is presented. It provides agent-based support for key tasks, such as, finding
the best sequence of transport services for a particular goods transport, monitoring
the execution of the transport, as well as the interaction between the involved actors. The approach is based on the FREIGHTWISE framework in which a minimal
set of information packages is defined. The purpose is to capture all the information that needs to be communicated between the actors involved in a transport,
such as, transport users, transport providers, and infrastructure managers, during
the complete process from planning to termination. The approach is inspired by
the concepts of virtual enterprises and breeding environments. We analyse the
requirements of such an approach and describe a multi-agent system architecture
meeting these requirements.
1
Introduction
There is a need for increased collaboration between transport chain actors, e.g. transport users, transport coordinators, transport operators and terminal operators, in order
to achieve efficient, and adaptive intermodal transportation. We propose an approach,
called Plug and Play Transport Chain Management (PnP TCM), which focuses on
1 Section 3.1 have been extended with a more detailed description of how we applied the GAIA methodology for defining an architectural design for the Plug and Play Transport Chain Management approach.
97
collaboration for developing transport solutions, for activity coordination, and for administrative information transactions.
PnP TCM is based on the FREIGHTWISE framework (FWF) (Fjørtoft et al., 2009)
whose main purpose is to simplify the phases of planning, executing and following up
transport services between users and providers of such services. An important aim is to
do this without interfering with the internal processes and systems in the organisations.
The FWF identifies four transport chain roles. A Transport User (TU) is anyone (e.g.
a 3PL provider) who wants to transport cargo. A Transport Service Provider (TSP)
carries out the transport of the cargo, including the management of the transport services and the operation of the transport means and handling equipment. The Transport
Network Manager (TNM) is responsible for providing information regarding the infrastructure related to planning and executing transports. Finally, the Transport Regulator
(TR) monitors that all transport services are completed according to existing regulations. All interaction between these actors makes use of a small set of well-defined
information packages, for which the responsibilities and requirements for use are specified. The PnP TCM approach can be seen as an instantiation of the more general Plug
and Play Business concept (Davidsson et al., 2006) and aims at:
• making information about the available transport services easily accessible,
• providing support for finding the “best” set of transport services for a particular transport, including a match-making functionality that makes it easier for
potential transport chain actors to find each other and negotiate with potential
collaborators,
• supporting the negotiation and collaboration between the actors in a transport
chain,
• lowering the entry barriers for small-sized companies to participate in highly
integrated transport chains by providing low cost and easy-to-use software tools.
Ideally, Pnp TCM should be implemented in a completely distributed fashion, both
with respect to control and information, and it should be seamlessly interoperable with
relevant legacy ERP (Enterprise Resource Planning) systems of the participating actors. Fig. 1 illustrates the PnP TCM approach where each actor uses the PnP TCM
software to set up and participate in a transport chain. The software has two types of
user interfaces, one type interacts directly with legacy ERP systems, or other relevant
information systems, and the other is a simple web browser interface, which may be
particularly useful for small enterprises.
In PnP TCM, transport chains are viewed as virtual enterprises, which may be defined as temporary alliances of enterprises that come together to share skills or core
competencies and resources in order to better respond to business opportunities, and
whose cooperation is supported by computer networks (Camarinha-Matos & Afsarmanesh, 2003). Another important concept for PnP TCM is Internet community. Potential transport chain actors join a PnP TCM community by (installing and) executing
98
Fig. 1: An illustration of the PnP TCM approach with five participating transport chain actors.
the PnP TCM software. To enter the community, an actor needs to declare its address
and other formalities, as well as, agreeing on a user license agreement. In addition, a
TSP needs to provide a Transport Service Description (TSD) for each transport service
it provides. The TSDs should be updated continuously so as to mirror the current situation. The community is dynamic in the sense that enterprises may join and leave it at
any time. PnP TCM can be seen as a breeding environment (Camarinha-Matos & Afsarmanesh, 2003) for transport chains, i.e., an association of enterprises that have both
the potential and the ambition to collaborate with each other through the establishment
of long-term cooperation agreements and an interoperable infrastructure.
2
The FREIGHTWISE framework
The interaction between the transport chain actors is illustrated in Fig. 2. With exception for the first step, where the Transport Provider plan which Transport Services it
should offer, the figure shows what happen during the planning, execution and completion of a transport concerning a certain cargo. Initially, the Transport Provider interacts
with the Transport Network Managers using Transportation Network Status (TNS) information packages in order to take into account information about the transportation
network.
At the beginning of the planning process for a specific goods transport, the TU
specifies its transport demands, resulting in an initial Transport Execution Plan (TEP)
covering the complete transport from origin to destination. The TEP is initial, or preliminary in the sense that it specifies the items that are to be transported, the desired
time and date of collection and delivery, the origin and destination, and the condition
requirements of the items during the transport (e.g., ambient temperature conditions),
but not which Transport Service(s) to use. The next step is to find relevant transport
services that potentially can meet the transport demands specified in the initial TEP.
99
Fig. 2: The interaction between transport chain actors.
This is done by searching among the TSDs published by the TSPs and selecting those
that potentially can be used for meeting the requirements of the TEP.
This set of TSDs then provides the input to the next step, which is to find the
sequence of TSDs that satisfies the requirements of the TEP. If more than one such
sequence is found, the one that is “best” according to one or more criteria, such as,
cost, reliability, environmental impact, etc, is chosen. If no sequence that satisfies the
requirements is found, the TEP needs to be revised, e.g. with respect to desired time of
delivery (or, additional TSDs need to be found). When a sequence is found, it is time to
negotiate the detailed conditions for each of the TSD with the corresponding TSP. This
is done in terms of a TEP corresponding to that part of the transport, i.e., for each TSD
in the sequence a TEP will be produced, and the sequence of TEPs will correspond
to the initial TEP covering the complete transport from origin to destination. If no
agreement is reached for one (or more) of the TSDs the process of finding the best
sequence will be resumed. The final step of the planning phase is to book the transport
services (one for each TEP in the sequence).
During the execution phase, the transport is monitored by the TSP through keeping
track of the driver, the transport means, load units etc. The Transportation Network
100
Manager is providing information about the transport network, the traffic as well as
individual Transport Operation Status (TOS). The Transport Regulator also receives
the Transport Execution Plan and is using this information as part of hazardous goods
management, and tax and customs management. The information from the monitoring
functions is put together and made available to the TU by means of the Transport
Execution Status (TES) information package. When the transport is completed, the
required statistic information (STA) is collected, prepared and sent to the TU and the
relevant Transport Regulators.
3
The PnP TCM software
The set of installed PnP TCM software clients, which reside on the users’ computers in
a community, can be viewed to form an artificial society. Davidsson lists four types of
artificial societies: open, closed, semi-closed, and semi-open (Davidsson, 2001). These
categories balance the trade-off between important society properties, such as, openness, flexibility, robustness, and trustfulness. In open societies there are no restrictions
at all for joining the society, which makes it very open and flexible, but not robust and
trustworthy. In an FWF setting, this may correspond to that all interaction is performed
in an ad-hoc fashion, e.g., TSDs are published openly on the WWW and the Transport
Users need to find the offers through the use of general WWW search engines, etc.
The opposite is true for closed societies where all members must be known when the
society is initiated. In an FWF setting, a closed society solution may be a completely
centralized system in which all information is stored and through which all interaction
between the transport chain actors is mediated. In many situations, such as in breeding
environments for transport chains, there is a need for societies that balance the tradeoff between the society properties. We will therefore limit our discussion to the two
intermediate categories.
An important actor in the context of artificial societies is the “owner” of the society, i.e., the person or organization that have the power to decide which software entities may enter, which roles they are allowed to occupy, what communication language
should be used, the set of norms and rules that are valid within the society, etc.
In semi-closed artificial societies, external software agents are not allowed to enter. However, actors have the possibility to initiate new software agents in the society,
which will act on behalf of the actor. In semi-closed societies, there is a (central) physical environment, in which the agents (representing their owners) execute and communicate with other agents. This requires that the actors’ agents can access some level
of mutual communication properties, which are included in the breeding environment.
Semi-closed societies convey almost the same degree of openness as semi-open societies, but are less flexible. From a FWF perspective, they fail to meet the requirement of
a distributed solution. On the other hand, they have a larger potential for implementing
important society attributes, such as, security and trustfulness.
101
The main difference to semi-closed artificial societies is that, in semi-open societies, agents execute locally on the clients individual computer systems. Another distinction is that the environment owner is no longer in control of the agents even though
the environment owner still has the power to, e.g., dictate the rules of engagement
within the society. In order to meet security-related requirements, semi-open societies
are equipped with a Gatekeeper, to which every agent needs to connect before entering
the society. In addition, the gatekeeper, being a trusted third party, may also mediate
the payment of transport services, provide contract validation, etc.
When analyzing semi-open societies, it is useful to make a distinction between two
types of such societies, those with a centralized and those with a decentralized communication architecture. In the case of centralized communication, the agents run on
the members’ own individual computer systems, but all communication between the
agents is routed via a central server. In decentralized communication, the agents run
on the members’ individual computer systems and all communication is conducted directly between these end nodes. As the vision of FWF consists of a distributed solution,
a semi-open agent society with decentralized communication seems desirable.
3.1
Software architecture
To arrive at an architectural design for the PnP TCM system, we used the GAIA
methodology (Zambonelli et al., 2003). Due to the fact that GAIA takes an organizational view over the modeled system, we find it more appealing than other methodologies for developing agent systems, such as TROPOS (Bresciani et al., 2004) and
Promotheus (Padgham & Winikoff, 2004). In order to proceed from a initial set of
requirements towards a detailed design of the system, GAIA defines three sequential
steps (analysis, architectural design, and detailed design), in which a number of models should be defined. An simplified overview of the GAIA methodology, in which the
relations between the different models are illustrated, is provided in Fig. 3.
We here provide a brief summary of how we applied the GAIA methodology to
develop an architectural design for the PnP TCM approach (a complete description is
available online2 ). The models that are relevant to discuss here are the ones related to
the identification of organizations, roles and agents. We start by discussing the first activity in GAIA, which concerns dividing the modeled system into organizations. Each
type of actor, i.e., Transport User (TU), Transport Service Provider (TSP), Transport
Network Manager (TNM) and Transport Regulator (TR), that is able to connect to the
PnP TCM community defines a distinct organization. Moreover, the owner (or manager) of the PnP TCM community defines another organization. Each organization
is described by a set of roles, which are assigned to agents, and in Fig. 4 - Fig. 7 we
illustrate the agent systems for the five types of organizations.
In the preliminary role model we mapped the five types of organization into five
preliminary roles. Moreover, we identified four categories of activities (i.e., commu2 http://www.bth.se/tek/jhm.nsf/bilagor/pnptcm_gaia_pdf/$file/pnptcm_gaia.pdf
102
nity connection management, TSD management, building, negotiating and booking of
transport solutions, and information management), which helped us to
1. identify important activities and responsibilities that should be modeled in the
preliminary roles, and
2. decompose the five preliminary roles into more specific roles.
Fig. 3: A simplified overview of the GAIA methodology.
In many cases, the organizational structure of the modeled system maps directly
to the structure of the agent system, but that is something that does not always has to
be the case. When choosing a structure of the Multi-Agent System (MAS), a trade-off
usually has to be made between several factors, such as workload of the members of
the organization, computational complexity, organizational simplicity, organizational
rules, the structure of the real world system, etc. (Zambonelli et al., 2003). We have
chosen structures for the organizations in a way that the design of generic clients is
supported. The idea is that the same client should be able to represent real-world enterprises that vary in size, structure, etc. Moreover, we have defined different organizational roles in order to achieve a reasonable workload distribution among the members
of the organizations.
On an overall PnP TCM organizational level we have chosen a distributed approach,
where agents interact directly with each other in a peer-to-peer fashion. The PnP TCM
community manager organization is represented by a Gatekeeper role, which is re103
sponsible for: (1) taking decisions about who should be allowed to enter the PnP TCM
community, (2) providing information about connected actors, and (3) managing a reputation system. A distributed approach (in contrast to a system where all information is
stored centrally) makes the system more robust, and it helps distributing the workload
among the different members of the system. Also, it provides privacy assurance of the
participating organizations since it enables local control of information. Information
that an organization typically wants to keep private include certain types of transportrelated costs that can be used in negotiations, historical performance that influence the
choice of transport service providers, etc.
Three types of sub-roles are modeled in all four types of organizations that are able
to connect to the PnP TCM community; a (Community) Connection Manager role is
responsible for managing the connection to the PnP TCM Community, a Human User
Interface role allows the human operators to interact with the multi-agent system, and
an Information Manager role is responsible for providing and processing information
that is communicated between organizations. Moreover a connection to the local ERP
system should be possible. The internal operations of the TNMs and TRs are outside
the focus of our design, but an ERP Adapter role is explicitly modeled for TUs and
TSPs.
A characteristic feature of a TU is that it typically performs multiple sequences of
activities in parallel in order to find, negotiate, and book solutions for transport tasks
(TEPs), at the same time as it manages the connection to the PnP TCM community.
We propose a hierarchical structure where a TEP Manager role is responsible for coordinating all parallel sequences of activities (multiple TEPs should be processed in
parallel). To deal with the computational bottleneck of combining TSDs into end-toend transport solutions (i.e., optimizing), we propose that the TU also has an Optimization Manager role which is responsible for initiating new Optimizers (described
by an Optimizer role) to which optimization tasks are delegated. For maintaining a
local repository of TSDs, which includes subscribing for TSDs, etc., a TSD Finder
role is defined. To further distribute the workload of the TU, responsibilities related to
negotiating and booking of transport services is assigned to a Negotiation & Booking
Manager role.
The main characteristic of a TSP is that it performs several parallel, however not
particularly resource demanding activities, which are assigned to different organizational sub-roles. A TSD Announcer role is responsible for managing subscription
information, sending TSDs to subscribers, etc, and a Negotiation Manager & Order
Manager role is responsible for negotiating and managing bookings of transport services. It should be noted that fleet management is performed externally, and the ERP
Adapter serves as the interface towards the planning system.
The purpose of the agent model is to map the identified roles into agents, and there
are many ways in which such a mapping can be made. With a few exceptions we
propose a one-to-one mapping between roles and agent types; in a TU there are several
Optimizer agents and the TEP Manager agent plays both the TEP Manager role and
104
the Optimization Manager role. As an example, in the agent system representing a
TSP organization, there will be one agent for each of the following roles: Human User
Interface, Community Connection Manager, TSD Announcer, Negotiation & Order
Manager, ERP Adapter, and Information Manager. For each of the four organization
types that are able to connect to the PnP TCM community, the collection of agents
(i.e., a multi-agent system) defines a software client, and the suggested architectures
for these clients are presented in Fig. 4 - Fig. 6. Moreover, the suggested architecture
for the PnP TCM Community Manager is provided in Fig. 7.
Fig. 4: Suggested architecture for the Transport User software client.
3.2
The TSD Announcers and Finders
The task of the Finder is to provide the Optimizer with all TSDs currently relevant
for the corresponding TU. The task of the Announcer is to distribute the TSDs of the
corresponding TSP to those TUs who finds them relevant (and to notify the TUs if a
TSD is not valid anymore).
There are a number of important quality attributes that should be taken into account when designing the Announcer and the Finder. Assuming that there may be
hundreds of thousands transport services, or TSDs, available at any point in time, and
that thousands of new TSDs may be made available each day, this places some strong
requirements with respect to scalability. That is, the system should be able to handle
large numbers of users without causing long response times, etc. The scalability is re105
lated both to telecommunication, computer processing, and computer memory usage.
Another important quality attribute is robustness, by which we here mainly mean the
availability of system critical information (e.g., the TSDs) at any point in time.
Fig. 5: Suggested architecture for the Transport Service Provider software client.
Fig. 6: Suggested architectures for the Transport Network Manager and the Transport Regulator software
clients.
Distributing and Storing the TSDs The main design issue is where to store the
TSDs and how to distribute them. A simple solution would be to store all TSDs in a
central repository. The task of the TSD Announcer is then just to send new TSDs to
this repository, and the TSD Finder would interact directly with this repository asking for relevant TSDs. However, there are several problems with this solution. For
instance, it is not robust as the repository will constitute a single point of failure and,
moreover, scalability can be questioned, as the central repository will constitute both
106
Fig. 7: Suggested architecture for the PnP TCM Community Manager.
a communication and processing bottleneck. An extreme solution would be to let the
task of finding the best sequence of TSDs be handled centrally, but such an approach
would put even harder requirements on the central processing capacity. However, it
may be a back-up solution for situations when the TU interacts with PnP TCM using
equipment with limited processing capabilities, such as, some mobile devices. There
are in principle two different completely distributed extreme solutions:
1. The TSDs are stored only at the Transport Service Provider offering it. This is
fairly robust, but will cause a huge amount of communication overhead. A TU
would need to ask all TSPs about their TDSs for each transport to be planned.
2. All TSDs are stored in a local repository at all TUs. This is very robust as all
TSDs will always be available for the TUs. However, the scalability is weak with
respect to the number of TSDs as the distribution and storage will require a large
amount of memory and communication.
An attractive feature of the second distributed approach, where each TU has all
relevant TSDs stored in a local repository, is that there is no need for communication
between the Announcers and the Finder during the planning of a particular transport,
thus minimizing response time and adding to the system’s robustness. However, as
mentioned above, scalability could be perceived as a problem. Broadcasting all TSDs
to all TUs will probably lead to unnecessary communication and storage of irrelevant
TSDs at the TUs. A slightly more sophisticated approach, which may remove a large
number of the irrelevant TSDs and thus reduce the communication and storage needs,
would be to let the TUs subscribe to TSDs with specific characteristics, e.g., based
on geographical areas. (Note that the subscription information does not need to be
stored and distributed by any central entity, it is only known by the TSP and the TU
involved.) A TU does not need to subscribe to all TSDs of a TSP, it could be limited to
transport services within a geographical area, and/or concerning certain type of goods.
However, the TU then needs, in order to know which TSP a TU should subscribe,
some general characteristics of what type of transport services each TSP provides.
This information does not need to include information about timetables, costs, etc., but
instead focus on “from-to” information (i.e., shipping between port A and B, or the
geographical areas covered) and goods type. This info is assumed to be updated rather
infrequently. The TU (Finder) then subscribes to the TSDs of the TSPs it finds relevant,
107
by sending a subscription message to those TSPs (Announcers). The TU (Finder) will
then immediately receive the TSDs currently offered by the TSP. When a TSP has a
new transport service to offer, the corresponding TSD will be sent (by the Announcer)
to those TUs (Finders) subscribing to it. There is also a possibility for the TSP to
inform the TUs that a TSD is no longer available, e.g., due to that all capacity of a
timetabled transport is already allocated by sending a retract message.
Analysis of the Scalability As mentioned above, this approach may be weak with
respect to scalability. Therefore, this aspect is analyzed in more detail. In the proposed
approach, each TU needs to store the (IP) address and characterization of each TSP.
Assuming that this information can be stored in 1 kB, the information for 100.000
TSPs could be stored in 100 MB which is negligible for modern computer devices and
would take just a minute or two to distribute via a normal broadband connection.
We estimate that the memory requirement of a TSD in average is approximately 20
kB. Thus, 100.000 TSDs would then correspond to 2 GB. As the cost of memory of
relevant sizes is negligible (e.g., 8 GB flash memory costs below e10), we can conclude
that storing 400.000 TSDs locally would be no problem for any type of device. Thus,
the main issue concerns the distribution of the TSDs. In Table 1, it is presented how
long time it would take to send X TSDs using a communication channel with capacity
Y (20kB corresponds to 20*1024*8 = 163.840 bits).
Table 1: A presentation of the timeslots involved in TSD distribution for three types of network communication.
144 kbps∗
2 Mbps∗∗
10 Mbps∗∗∗
1 TSD
100 TSDs
10.000 TSDs
1.000.000 TSDs
1.14s
0.08s
0.02s
114s
8.19s
1.64s
190 min
13.6 min
2.73 min
316 h
22.8 h
4.55 h
IMT-2000 (the global 3G wireless communication standard) specifies a minimum data rate of 144 kB/second in highmobility (vehicular) applications of 3G
∗∗
IMT-2000 specifies a minimum data rate of 2 MB/second for indoor (stationary) applications of 3G
∗∗∗
Normal broadband connection (ADSL, WiFi, etc.)
∗
As can be seen, using a normal broadband connection, the initial downloading of
one million TSDs would take a couple of hours and daily updates of ten thousands
TSDs would take a few minutes. These figures seem acceptable from a users point of
view. For highly mobile (vehicular) devices, on the other hand, such an approach seems
not viable using current communication technologies. However, it would probably not
be necessary to have a complete and updated set of TSDs while on the move.
Interaction Protocols A TU may at any time decide to start subscribing for TSDs of
TSPs to which it previously is not subscribing. This could be useful when a transport to
or from an unforeseen geographical region is planned. Similarly, it could unsubscribe
from TSDs of a particular TSP. A TSP may at any time revise its general characterization of the transport services it provides. The revised characterization is sent to the
108
Gatekeeper, who then distributes it to all TUs. The Gatekeeper also distributes the
characterizations of new TSDs entering the PnP TCM community immediately to all
TUs. The interaction between the Gatekeeper, TUs (only one is shown) and TSPs (only
one is shown) focusing on the Finder-Announcer interaction can be seen in Fig. 8.
Fig. 8: The interaction between the Gatekeeper, TUs and TSPs.
In addition, there should be interaction protocols for leaving the community. Moreover, the Gatekeeper may be responsible for a reputation system concerning the TUs
and TSPs. For instance, if a TSP (or TU) has refused to act according to the agreement
between two parties, the other part can inform the Gatekeeper, who keeps track of the
complaints, and if necessary takes an appropriate action. It could also be the case that a
TSP (or TU) refuses to follow the rules of the community, e.g., not replying to requests.
Related Solutions There are a number of varieties of the proposed approach, e.g., it can
be made even more distributed by letting the Gatekeeper only know about the addresses
of the TSPs (and thus not their characteristics). A disadvantage with this approach is
that a TU must ask all the TSPs about their characteristics, causing a lot of unnecessary
communication and processing. In this case, the distribution of revised TSP characteristics becomes more complex in that the TSP needs to know the addresses to all
TUs.
On the other hand, the approach can be made slightly more centralized and thereby
lowering the communication needs. The distribution of new TSDs does not have to
be done continuously (at announcement); it could also be done in batches, e.g., once
a day. In this case the distribution could be handled by the Gatekeeper. However, this
makes the system more centralized, as the central entity needs to store and distribute
the TSDs.
109
3.3
Optimizer
From the set of locally stored TSDs, the task of the Optimizer is to find the “best”
sequence of TSDs that satisfies the requirements of a TEP, according to one or more
criteria, such as, cost, reliability, environmental impact, etc. A large number of optimization algorithms have been developed to solve different types of shortest path
problems. However, the type of optimization problem that needs to be addressed by
the Optimizer has a number of non-standard characteristics, e.g., the mixing of scheduled and non-scheduled transports, restricted vehicle capacities, and time windows for
pick-ups and deliveries. According to our knowledge, there is no available off-the-shelf
algorithm that can be used.
Solution Approach For the problem of generating a set of transport solutions (sequences of TSDs), we propose a heuristic solution approach that consists of three steps
that are performed in sequence. An important reason for suggesting a heuristic approach is that there might exist millions of TDSs that can be combined into an immense number of transport solutions. This makes an exact model too complex even for
a smaller number of available TSDs. For the transport task at hand, the Optimizer first
filters out a set of relevant TSDs (defining a network of TSDs) from a possible huge
amount of available TSDs that the TU has at hand by its rules of subscription. Next,
it uses the selected TSDs to create a number of candidate end-to-end paths based on
approximated average characteristics of TSDs, which in the final step are considered
in more detail to find the best sequences of TSDs (exact characteristics of the TSDs are
considered).
Step 1: Transport Service Network Generation (finding relevant TSDs) The main task
of the first step is to find a relevant set of TSDs, in order to reduce the set of TSDs
to be used in the subsequent steps of the solution approach. As mentioned above, the
TU keeps a local repository of TSDs (managed by the TSD Finder), corresponding to
some specific characteristics, such as geographical area, cargo type, etc. Since the local
repository of TSDs may contain a huge amount of TSDs, the optimizer needs to have
some kind of filtering mechanism that enables it to find a set of relevant TSDs for the
particular transport at hand. Filtering based on geographic areas, makes the filtering
non-trivial. For instance, how can it be determined whether a TSD with origin X and
destination Y is relevant for a TEP with origin A and destination B? It should be noted
that filtering can be made in many ways, and here we present one possible way of doing
it, i.e., more filtering rules can be added if needed.
The first step of the solution approach requires the following input (i) definition of
a transport task, i.e., origin, destination, time-windows for pickup and delivery, as well
as, information about the goods to be transported. This information is available in a
preliminary TEP and (ii) the set of all locally stored TSDs (including cost, timing, etc)
that describe the available transport services. A scheduled TSD specifies the origin,
destination of the transport service, departure/arrival times, transport cost (potentially
including cost for loading and unloading), as well as, time for loading and unloading
110
goods. For a demand-driven TSD, a service location (area or point), cost and time for
loading and unloading cargo are specified, as well as, information that allows the transport cost and time between two specific locations to be estimated by the Optimizer.
It produces a set of relevant artificial TSDs (ATSDs) including their origin and destination nodes/terminals. The idea of introducing ATSDs is that an ATSD will always
have the information of a specific origin, a specific destination, a travel time and a cost.
This is in contrast to a TSD, which may be specified for operation within a service area
without specific origin and destination. Further, a TSD may be representing multiple
transport options between different pairs of service locations or possibly represent the
transport legs of a route, and hence, will be substituted by a number of ATSDs.
Step 1.1 (initial filtering) A first activity is to filter out non-relevant TSDs by disregarding all TSDs that are incompatible with the specified type of goods or have irrelevant
timing, i.e., scheduled TSDs with departure earlier than the pickup time window or
arrival later than the delivery time window.
Step 1.2 (geographic limitation of transport services) Next, we propose to use a geographical limitation of the transport service network. An obvious approach that can
be used to reduce the size of the transport service network is to focus on all scheduled
transport services within a specified geographical area. We propose to use an ellipse
that contains both the origin and destination of the TEP to disregard those transport
services that do not support any service (both pickup and delivery) in the elliptic area.
In most cases, an appropriately chosen geographical area should work satisfactory, but
there are also examples of when the characteristics of the geography (for instance, when
there is a geographical obstacle in between the origin and destination) might make this
approach somewhat inefficient. This problem can be dealt with by using pregenerated
paths between main terminals, but this is, however, outside the scope of this paper. In
order to further limit the scheduled transport services within a geographical area, we
propose to use a sequence of 2-dimensional circles with the center on a straight line between the origin and destination of the TEP. We suggest that these circles are numbered
with higher numbers for areas closer to the destination. The approach with sequenced
circles enables filtering out transports going in the “wrong” direction.
Step 1.3 (creating scheduled ATSDs) The aim of this step is to generate a network of
scheduled transport services represented as ATSDs. Before creating ATSDs, the Optimizer should select a set of terminals or nodes, where the considered type of goods
can be reloaded. A minimum requirement is that these terminals should be located
inside the geographical area that was selected in step 1.2 and be served by scheduled
transports.
The idea is to iterate over all TSDs that were used to select relevant terminals,
and for each of them create a relevant set of ATSDs (one or more). We suggest to only
create ATSDs that have both the origin and destination within the geographical limiting
ellipse. We also suggest to filter out (i.e. not considering) ATSDs that departs from a
circle with a higher number and arriving to a circle with smaller number. An example
111
of how TSDs can be transformed into ATDs is given in Fig. 9.
Fig. 9: Example of how artificial TSDs for a timetabled route are generated.
Step 1.4 (connecting origin and destination) In this step non-scheduled ATSDs are
added in order to connect the origin and destination (of the TEP) with the previously
generated network of scheduled transport services. We propose to follow an approach
similar to Caramia and Guerriero (Caramia & Guerriero, 2009). In our context, their
approach translates into:
1. First, generate ATSDs that represent non-scheduled (typically road) transports
directly from the origin to the destination of the TEP. These transports somehow
represent backup solutions that can be used in case no better solution can be
found.
2. Next, generate ATSDs, corresponding to non-scheduled TSDs that connect the
origin and destination, respectively, with the n closest terminals.
Note that these ATSDs require that transport costs and transport times can be estimated
despite the fact that non time-tabled TSDs often are specified for service areas and not
for point to point locations.
Step 1.5 (connecting transport networks) When using the proposed strategy, there is
a risk that there exist clusters of connected nodes (i.e., groups of terminals) that are
not connected (i.e., there is no ATSD connecting them). We suggest to fill these gaps
in the service transport network by adding nonscheduled ATSDs between terminals
that otherwise cannot be connected. One could potentially look for non-scheduled
TSDs between all pairs of nodes belonging to different sets of connected nodes. The
considered pairs could be reduced by using their geographical location (within the
group in relation to origin and destination of the TEP). However, exactly how this
could be done efficiently is not obvious and we leave this issue to future work.
Step 2: Path Selection The aim of this step is to create candidate paths and subsequently
also to reduce the set of ATSDs by disregarding ATSDs that do not belong to any of
the candidate paths that connect the origin with the destination of the TEP. We propose
to solve k-shortest paths problems to obtain a set of candidate paths. Since the kshortest paths problem cannot handle time-dependencies (i.e., timetables) explicitly,
the network of ATSDs that was generated in step 1 cannot be used directly in this step:
• Two nodes may be connected by multiple scheduled ATSDs, with different departure times, traveling times, costs, etc.
112
• The departure and arrival times of the transports that might be used in a path
from the origin to the destination of the TEP cannot be assumed to be well synchronized, and it is difficult to explicitly account for this, i.e., to estimate the
total of waiting and travel time.
To deal with these complicating factors, this step includes the computation of approximated costs and traveling times of the scheduled ATSDs. We suggest to do the
approximation by computing the average cost and travel time per operator between two
nodes. Obviously there are alternatives to consider when approximating cost and travel
time, e.g., such as using the minimum cost and travel time offered for an operator.
To compensate for lack of synchronization and terminal processing time, we propose to add some extra time to the approximated (averaged) transport time and subsequently to the cost of the scheduled ATDS. We suggest that, in order to produce
potentially relevant paths, the k-shortest paths problem should be solved at least three
times with different link attributes: cheapest, fastest, and weighted time and cost.
Step 3: Optimizing the Selected Paths (finding sequences of TSDs) The final step in the
solution approach is to iterate over the paths that were generated in the previous step,
and for each of them find the best combination of TSDs that fulfills the requirements of
the TEP. The output is a set (possibly empty) of feasible sequences of ATSDs, which
can be sent to the “negotiation and booking” agent for further processing.
Holmgren et al. (Holmgren et al., 2007) proposed an optimizing algorithm for a
problem that is similar to the problem that needs to be solved in this step of the solution approach. They considered a problem with time-based costs, and allowed pickup
and delivery outside the time windows with a penalty cost. These minor differences
should not cause any problems for reapplying the approach in this context. The approach has been incorporated in a multi-agent-based transport chain simulator, where
simulated transport planners used it to propose intermodal door-to-door transport solutions. The approach has shown to work well in simulated scenarios (Davidsson et al.,
2008) for a reasonable amount of alternative transport services. It is based on using
a search tree with nodes representing ATSDs with departure times, arrival times and
(cumulative) costs. The search tree is gradually expanded with new child nodes as the
search progresses, and since the search begins in the destination of the TEP, the child
node represents an ATSD one step (in the considered path) closer to the origin than
the parent node. It uses a number of techniques to make the search tree more efficient,
i.e., reduce the nodes investigated: (i) identify and remove branches which will lead
to infeasibility, (ii) depth first based search for finding potential feasible solutions, (iii)
choose branches representing earlier transports first, and (iv) prune on costs (possible
since costs are cumulative from the root).
Sometimes, the TEP defines strict time windows with earliest and latest times both
at the origin and destination. A relevant issue that needs to be considered in this step
of the solution approach is how the Optimizer should act when an optimal transport
alternative is too fast to obey the time windows of the TEP. The proposed solution to
113
this problem is to reapply the algorithm with relaxed time windows to at least be able
to produce a set of solutions that can be sent to the negotiator for further processing.
Fault Recovery (infeasibility handling) An important issue that needs to be considered is that the Optimizer may fail to generate a feasible solution (or the best solution
may not fulfill the required quality). Two reasons might be that: (i) no connection
exists between origin and destination given the considered TSDs, and (ii) no existing
connection obeys the time windows. Hence, the Optimizer should provide information
to the TEP Manager about the results: suggest one or more solutions, or a failure and
its reason. Hence, the TEP Manager could accept one or more solutions or suggest appropriate actions in case of failure (i.e., expand the considered geographical area or the
set of subscription of TSD), and potentially involve a human planner. Thus, searching
for a transport solution can be seen as an algorithm with an inner loop containing the
three steps performed by the Optimizer, and the outer loop contains the analysis of the
feedback and decision taken by the TEP Manager.
Alternative Approaches for the Optimizer For the problem of generating a set of
sequences of TSDs that fulfill the requirements of a TEP, we have proposed a solution
approach were the Optimizer solves the problem in three sequential steps. It is possible
to integrate these steps in a number of ways; for example, the steps of path selection and
optimizing the selected paths could be performed together. In the literature, we have
not found any model that deals with all of the three steps, either integrated nor sequentially as in our solution approach. However, there exist a few models (cf. (Caramia &
Guerriero, 2009; Ziliaskopoulos & Wardell, 2000; Chang, 2008; Jansen et al., 2004))
that deal with, and integrate, the second and third steps of the solution approach, but
none of them solves exactly the same versions of the problem that we are dealing with.
Nevertheless, some of the approaches show promising results which could be explored
further.
3.4
Negotiation, Booking and Order Manager
The task of the Negotiation and Booking Manager of a TU is to book a transport service for each of the TSDs in the sequence of TSDs provided by the Optimizer (which
has been converted to a sequence of TEPs by the TEP Manager) according to the preferences of the TU. Thus, the output is a sequence of TEPs that are agreed upon with the
TSPs providing the transport services. The task of the Negotiation and Order Manager
of a TSP is to secure agreements with TUs according to the preferences of the TSP.
There is a long tradition in the area of agent-based systems of studying the automation of reaching agreements. From work in the negotiation area (cf. Jennings et al.
(Jennings et al., 2001)), we identify four different components as relevant for the PnP
TCM setting, namely:
• a negotiation set, representing the space of possible obligations agents can make,
• a protocol, which defines the legal obligations that the agents can make,
114
• a collection of strategies, one for each agent, which determines what obligations
the enterprises will make, and
• a rule that determines when the negotiation is over and the deal has been closed.
In the negotiation between a TU and TSP the negotiation set consists of the different
terms and conditions specified in the TEP (and the possible values they can assume).
The protocol has two components, the pre-booking agreement as specified by a
TEP, and the actual order (or booking), which is also specified as a TEP. The negotiation results in an electronic contract, in this case a TEP, which govern the collaboration
process. Electronic contracts are to be regarded as virtual representations of traditional
contracts, i.e., “formalizations of the behaviour of a group of agents that jointly agree
on a specific business activity” (Cardoso & Oliveira, 2004). Electronic contracts usually have a set of identified roles, obligations or prohibitions to be fulfilled by the parties
involved in the relation. The FREIGHTWISE framework focuses on obligations, i.e.,
that an agent’s role is defined by the obligation, which it has towards another agent to
bring about a certain state of affairs before a certain deadline.
The general strategy of the Negotiation Manager of a TU is to first reach prebooking agreements for all the TEPs in the sequence, and then place actual orders
for each of the TEPs. If agreement is not reached for one or more of the TEPs (and the
alternative choices that may have been provided by the Optimizer has been tried), this
is reported to the TEP Manager who then asks the Optimizer to find a new sequence of
TSDs (or possibly just replace the ones where negotiation failed).
The pre-booking phase starts when the Negotiation Manager of the TU sends the
first version of the TEP to the Negotiation Manager of the TSP (for each of the TEPs in
the sequence). The TSP’s Negotiator then has three options: (i) to accept the TEP as it
is, thus conforming the pre-booking of the transport service, (ii) to reject the request, or
(iii) to modify the TEP by changing one or more terms or condition, let us denote this
revised version for TEP’. The two first options will end the negotiation (by sending
an accept or reject message to the TU), whereas the third option will give back the
initiative to the TU. The TU’s Negotiator now has the same three options as the TSP’s
Negotiator had: to accept TEP’, to reject it, or to modify it. As before, the two first
options will terminate the negotiation, whereas the third will provide a new bid (TEP”)
to the TSP to consider. The negotiation will continue until either the TU or the TSP
accepts or rejects the current TEP, as illustrated in Fig. 10.
The Negotiators may be given limits for what is acceptable by its “owner” (the
human/organization on whose behalf it negotiate) regarding the terms and conditions
that are subject for negotiation. This can make the negotiation automated to a large
extent. However, when such directives are not available, it may be necessary for a
Negotiator to check with its owner whether a certain bid is acceptable or not. Moreover,
it may be necessary for the TU Negotiator to coordinate a number of negotiations. For
instance, it may have been given a limit on the total cost of the transportation.
When the TU Negotiator has managed to negotiate agreements (pre-bookings) with
115
Fig. 10: An example of a negotiation process between a TU and a TSP.
all the involved TSP Negotiators, it should book (order) all the transport services. This
is done by sending the agreed-upon, final version of the TEP for each of the transport
services to the corresponding TSP Negotiator. They will then confirm the order or,
if something unforeseen has happened which caused the TSP not to be able to carry
out the service, reply with a reject message. If the TU Negotiator receives one or
more reject message, it needs to report this to the TEP Manager, who then can ask the
Optimizer to find the second best option for the missing transport service (which may
be a completely new sequence of TEPs). The TU Negotiator may even report the reject
to the Gatekeeper, who then can keep track on the number of rejects of different TSP.
This could form a basis for the reputation system, where the number of rejects (in the
booking/ordering phase) gives an indication on the reliability and trustworthiness of a
certain TSP.
3.5
Interface agents
From the users’ perspective, the complexity of the process of setting up the transport
chain should be hidden by the PnP TCM software. As mentioned earlier, there are, at
least, two types of interfaces:
• A web-based interface, which can be used by all types of users, independently
of company size and IT maturity. One version for the TU, which consists of a
number of different views specialized for each of the phases in the process, and
one version for the Transport Service Provider, also with a number of different
views.
• An adapter agent interface, which makes the PnP TCM software interoperable
with the user’s ERP or other legacy system. An adapter may have to be developed for each ERP system, but once it is developed it can be re-used by other
organizations using that ERP system. One approach to implement the adapters
is the general wrapper agent solution based on open source freeware introduced
by Davidsson et al. (Davidsson, Henesey, et al., 2005) that makes it possible for
any business system to exchange (administrational) information with any other
business system.
116
4
Conclusions
We have suggested a distributed approach to realize the FREIGHTWISE Framework
vision, based on the concepts of Virtual Enterprises and Breeding Environments. Moreover, we have described agent-based software architectures for the PnP TCM software
clients. The viability of the approach was analysed theoretically and has been partially
validated in a number of business cases within the FREGHTWISE project.
117
118
Paper VI
On the integration of agent-based and mathematical optimization techniques
Paul Davidsson, Jan A. Persson, and Johan Holmgren
Published in Agent and Multi-Agent Systems: Technologies and Applications, Lecture
Notes in Computer Science, Vol. 4496, 1-10, Springer, 2007.
Abstract. The strengths and weaknesses of agent-based approaches and classical
optimization techniques are compared. Their appropriateness for resource allocation problems were resources are distributed and demand is changing is evaluated.
We conclude that their properties are complementary and that it seems beneficial
to combine the approaches. Some suggestions of such hybrid systems are sketched
and two of these are implemented and evaluated in a case study and compared to
pure agent and optimization-based solutions. The case study concerns allocation
of production and transportation resources in a supply chain. In one of the hybrid
systems, optimization techniques were embedded in the agents to improve their decision making capability. In the other system, optimization was used for creating a
long-term coarse plan which served as input the agents that adapted it dynamically.
The results from the case study indicate that it is possible to capitalize both on the
ability of agents to dynamically adapt to changes and on the ability of optimization
techniques for finding high quality solutions.
1
Introduction
For a long time, mathematical optimization techniques based on linear programming
and branch and bound have been used to solve different types of resource allocation
problems, e.g., production and transportation planning in various industries at strategic
and tactical level (Wolsey, 1998). Additionally one can find examples of optimization techniques applied to short term planning (operational), e.g., activity scheduling
(Karmarkar & Schrage, 1985; Brandimarte & Villa, 1995). Agent-based computing
119
has often been suggested as a promising technique for problem domains that are distributed, complex and heterogeneous (Weiss, 1999; Wooldridge, 2002) . In particular,
a number of agent-based approaches have been proposed to solve different types of
resource allocation problems (H. V. Parunak, 1999). We compare the strengths and
weaknesses of these two approaches and evaluate their appropriateness for a special
class of resource allocation problems, namely dynamic distributed resource allocation.
The purpose is to find hybrid approaches which capitalize on the strengths of the two
approaches. In the class of problems studied, information and/or resources are distributed and the exact conditions, e.g., the demand and the availability of resources,
are not known in advance and are changing. These characteristics make the problem
domain particularly challenging and suitable for exploring different hybrid approaches.
Examples of using multi-agent systems for solving optimization problems can be found
(Kwon et al., 2005; Wei et al., 2005). However, the potential of mathematical optimization techniques are typically not explored in such approaches, which is done in
this paper.
The decisions of how to manage the resources may either be taken locally at distributed decision centers, or at a central node (as is common in optimization approaches). In a strictly centralized solution, all nodes except one are just sensors and/or
actuators with little or no information processing.
In the next section, an evaluation framework is applied in a theoretical comparison
of the two approaches. This is followed by a small experimental case study concerning
planning and allocation of resources in combined production and transportation. In
this study, a number of different agent-based and optimization-based approaches are
compared, including hybrid approaches. Then the experimental results are presented,
and finally, some conclusions are drawn and future directions are discussed.
2
Comparison of the approaches
We will compare the two approaches with respect to how well they are able to handle
some important properties of the problem domain. (This analysis is based on earlier
work (Davidsson et al., 2003) and (Persson et al., 2005).) Please note that some of
the statements below are hypotheses that need to be verified through further analysis
or experiments. We make the assumptions that in agent-based approaches, control is
distributed and concurrent. Some approaches that often are classified as agent-based,
such as highly centralized auction-based approaches, do not comply to this assumption.
Regarding optimization approaches, we choose to focus on methods using a central
node which has the entire responsibility for computing the optimal (or near optimal)
solution/allocation to the problem. Further, we focus on methods that have the potential
to provide solutions of guaranteed good quality. These are typical characteristics of
many classical optimization methods (e.g. linear programming, branch-and-bound,
branch-and-price and branch-and-cut).
120
Size (number of resources to be allocated): Since agent-based approaches support the
dividing of the global problem into a number of smaller local allocation problems,
large-sized problems could be handled well in such cases the problem is modular. On
the other hand, the complexity and the size of the problem may affect the solution time
dramatically when applying an optimization method. Since optimization techniques attempt to achieve global optimality, capitalizing on partial modularity in order to handle
large-sized problems is difficult.
Cost of communication: Since agent-based approaches typically depend on frequent
interaction in order to coordinate activities and decisions, they are not a good choice
when communication is expensive. The need for communication in centralized decision making, such as classical optimization, is rather small, since the nodes only need
to send information and receive the response of the decision once.
Communication and computational stability: The more centralized the decision making is, the more vulnerable the system gets to single point failures of a central node. In
agent-based systems, the reallocation may function partially even though some nodes
or links have failed since the decision making is distributed and agents can have strategies for handling link failures. In optimization it is typically assumed that computations
and communication will occur as planned. Furthermore, due to its centralized structure, optimization is not particular robust with respect to failures in computation and
communication.
Modularity (see H. V. Parunak (1999)): As agent-based approaches are modular by
nature they are as such very suitable for highly modular domains. However, if the
modularity of the domain is low they may be very difficult to apply. Some optimization techniques may be parallelized, but this parallelization is typically made from an
algorithmic standpoint and not with the physical nodes in mind.
Time scale/Adaptability (time between re-allocation of resources): Since agents are
able to continuously monitor the state of its local environment and typically do not
have to make very complex decisions, they are able to react to changes fast. Optimization techniques often require a relatively long time to respond. Hence a rather high
degree of predictability is required for optimization methods to work efficiently if a
short response time is required. Sometimes methods of re-optimization can be used for
lowering the response time. However, the scope for efficient use of re-optimization in
complex decision problems is rather limited.
Changeability (how often the structure of the domain changes): As it is relatively simple to add or delete agents during run-time, agent-based approaches are highly modifiable (H. V. Parunak, 1999). On the other hand, a complete restart of the optimization
method may be required if the structure of the system changes, e.g. a decision node is
added or removed.
Quality of solution (how important it is to find a good allocation): Since agent-based
approaches are distributed, they do not have (or at least it is costly to get) a global view
of the state of the system, which unfortunately often is necessary in order to find a truly
121
good allocation. Therefore, the quality of the solution suggested by an optimization
method in this context often will be of a higher quality.
Quality assurance: It may be very difficult (and sometimes even impossible) to estimate the quality of the allocation made by an agent-based approach due to the lack of
a global view. In many optimization methods a measure of how far (in terms of cost)
a solution is at most from an optimal solution is obtained (i.e., a bound of the optimal
solution values is obtained).
Integrity (importance of not distributing sensitive information): Agent-based approaches supports integrity since sensitive information may be exclusively processed locally, whereas centralized decision making implies that all information must be made
available at the central node. Hence integrity may be hard to achieve for optimization
approaches.
Decomposition in optimization may make the approach partially distributed; subproblems may equate nodes. In decomposition approaches though, the central node
typically retains the control of all decisions, which makes most of the analysis above
(assuming a central node is responsible for decision making) also hold for decomposition approaches. However, in a decomposition approach, dual prices and suggestions
of solutions are typically sent between the central node and the other nodes a large
number of times, which makes it sensitive to high communication costs. If (optimization) heuristics are considered (e.g. tabu search, simulated annealing and genetic algorithms), problems with Size and Time scale can potentially be alleviated. However,
Quality assurance of the solution can hardly be achieved in such case.
According to our comparison, agent-based approaches tend to be preferable when:
the size of the problem is large, communication and computational stability is low, the
time scale of the domain is short, the domain is modular in nature, the structure of
the domain changes frequently (i.e., high changeability), there is sensitive information
that should be kept locally; and classical optimization techniques when: the cost of
communication is high, the domain is monolithic in nature, the quality of the solution
is very important, it is desired that the quality of the solution can be guaranteed.
Thus, the analysis indicates that agent-based approaches and optimization techniques complement each other. There are a number of ways of combining the approaches into combined approaches which potentially can make use of this complementarity. In the following sections, we will investigate two such hybrid approaches
and particularly focus on aspects related to Time scale/Adaptability and Quality of solution. The first approach is using an optimization technique for coarse planning and
agents for operational replanning, i.e., for performing local adjustments of the initial
plan in real-time to handle the actual conditions when and where the plan is executed.
In the second approach, optimization is embedded in the agents, which can be seen as
a further development of distributed optimization where agent technology is used, e.g.,
to improve coordination.
122
3
Problem description
We will now describe a small case suitable for illustrating some of the strengths and
weaknesses of agent-based and optimization approaches, as well as the potential of hybrid approaches. The case study concerns the planning and allocation of resources in
combined production and transportation based on a real world case within the food industry. The problem concerns how much to produce and how much to send to different
customers in each time period. Due to the complexity of the problem, (combinatorial
structure, uncertainty associated with the demand, the many actors involved, etc.) optimal or near optimal solutions are hard to find. If optimization tools are to be employed,
extensive and time consuming interactions between planner and tools will typically be
required including many runs of the optimization algorithm. Hence, the time requirement is typically a limiting factor in this problem domain. The problem is dynamic
since one often has to plan based on forecasts which may be rather uncertain; and there
are uncertainties associated with the availability of the resources, i.e., the production
and transportation capacity.
In the simple version of the problem, there are one production unit, two customers
and inventories of a single product at the customers and at the production unit (producer). A few transport options (to a single customer or to both customers) are available. The actual demand often diverges from the forecast. The forecasted demand for
a day (a period) of a customer is 4 units if the forecast is made 14 days (or more) in
advance. However, this forecast changes as more information becomes known about
the customers demand. For each day, the forecast changes according to the probabilities given in Table 1. Forecasts made on the time period for the customer demand
are equal to the actual customer demand. Thus, the closer you get to the day of the
demand the more accurate the forecast is. However, the actual demand in a time period
for each customer is never lower than 0 and never larger than 8. There are a number of
decisions to be made: volumes to produce and transport; and a number of costs to consider: production, transportation; inventory and inventory level penalty costs. A formal
description of the problem, including the parameter values (costs, capacities etc.), is
given in Appendix.
Table 1: Probabilities of changes to the demand.
Change
Probability (case 1)
Probability (case 2)
-4
-3
-2
-1
0
+1
+2
+3
+4
0.01
0.04
0.03
0.08
0.06
0.12
0.15
0.16
0.50
0.20
0.15
0.16
0.06
0.12
0.03
0.08
0.01
0.04
123
4
Solutions
Next we introduce agents which make the decisions concerning production and transportation based on rudimentary decision rules. Later we embed optimization within
the agents; and assist the agents with a coarse plan obtained by optimization (i.e. the
two hybrid approaches suggested in Section 2).
In the real world case, the decisions (and some planning) of production and transportation are taken by two different actors (from different organizations). Hence, we
find it suitable to introduce an agent for each type of decisions. Agent A is the production and production inventory planner; Agent B is the transportation as well as
customer inventory planner, see Fig. 1.
Fig. 1: The transport chain and Agents A and B; and a potential Agent C.
The resource allocation problem of both production and transportation can be viewed as an optimization problem as indicated in Appendix. For the simple case, with
a time horizon of 14 time periods (days), the problem can be solved to optimality
rather quickly (in seconds) by using Cplex1 8.1.1 for solving. However, in a real world
application this would not be the case due to the large size of the problem, and we
make some assumptions in order to make the experimental setting more realistic. We
assume that if the optimization is applied to the whole system, it can at most be applied
once every week. The reason is both related to difficulties of information gathering and
the time requirements of solving the real world problem using optimization techniques.
Further, if agents A or B use optimization, we assume they can only solve a problem
with a time horizon of 7 days. The reason for this limitation is that in a real world
setting, the computational time needs to be short in order to be reactive.
We have chosen to use Cplex as the solver when applying optimization to the
mixed-integer linear programming (MILP) problem occurring in this paper. The solver
employs a branch-and-bound solutions strategy and is recognized as a efficient solver
widely used in academia for MILP problems. Since the general MILP problem is NPhard, and probably the MILP models formulated in this work, we cannot guarantee
1 www.ilog.com
124
good running times for large problems with any algorithm. However, the branch-andbound solution strategy implies that we can guarantee that we find the optimal solution.
4.1
Pure agent approach
In this setting, we use rather simple decision rules for Agents A and B. The rule is to
order production or transportation if the inventory level is anticipated to become lower
than a certain level (safety stock level), which is a rule commonly used in logistics.
Further, in case a transport order cannot be satisfied, the agents interact in order to find
a suitable transport order quantity.
The following actions (steps) are taken by agents A and B in each period in order
to make production and transportation decisions in the Pure Agent approach:
1. Agent B receives customer forecasts of the demand and suggests, if necessary,
transports to be initiated (current evening). It sends a request of transport (of
a full truck load) to Agent A if the planned inventory level of tomorrow is estimated to be less than a safety stock level (3 units) at a customer, and a zero
request if there is no transport need.
2. Based on the request from Agent B, Agent A suggests today’s production. If the
inventory level is estimated to become less than 0, production at full capacity
is ordered, else no production is ordered. Further, Agent A tells Agent B if the
request can be satisfied, or if not, how much that at most can be delivered.
3. Based on information from Agent A, Agent B may change its transportation
plan in order to comply with any production restrictions. If the plan is changed,
it informs Agent A about this.
4. Agent A and B implement the decisions (production and transportation) for the
current period.
4.2
Embedded optimization
In order to improve the performance of Agents A and B, optimization is embedded.
In this implementation, the agents run an optimization of the next seven time periods
before suggesting today’s decisions. A MILP-model is created for each of the agents,
see Appendix for a formal description. The steps of actions given in Section 4.1 are
maintained. However, Agent B sends a suggestion of a transport plan with a time horizon of seven days to Agent A in step 1 (and not just today’s transport order); and Agent
A considers a planning horizon of seven days when planning production in step 2.
4.3
Pure optimization
In the Pure Optimization approach, the production and transportation decisions are
given by a global plan which is created once a week, i.e., every 7th period. This global
125
plan is created by solving the the global optimization model (MILP), presented in Appendix, with a time horizon of 14 days.
4.4
Tactical/operational hybrid approach
In this hybrid approach, the Embedded Optimization is improved by utilizing information of the previously created global plan (as in Pure Optimization). The global
(or coarse) plan is obtained from Agent C, see Fig. 1, which uses optimization on the
whole MILP model as specified in Appendix. The global coarse plan is obtained by
solving the MILP model of the whole system every seventh time period (as in Pure
Optimization). Agent A and B uses its MILP model with the inclusion of costs for deviating from the coarse plan. This can be viewed as there is a coarse plan which helps
the production and transportation to be better coordinated.
The global plan is communicated to Agent A and B, and might enhance the agents’
decisions in actions 1 to 4. When each agent runs embedded optimization, costs for
deviating from the global plan are considered in addition to the real costs, see Appendix
for further details. Note that the quality of the coarse plan is probably good right after
it has been created, since it is up-to-date, and probably less good later due to changes
in the demand compared to the forecast.
5
Experimental results
In Table 2, the results of using the different approaches for 3500 time periods are
presented. It shows the average total cost and computational time (in seconds) per
time period.
Table 2: Cost and time requirements for the different approaches.
Approach
Pure Agent
Embedded Optimization
Pure Optimization
Tact./Oper. Hybrid
Total cost
Case 1
Total cost
Case 2
Time (s)
22.7
21.7
20.7
20.2
23.4
22.7
25.3
21.4
0.03
0.07
0.22
0.44
When the problem size increases significantly, guaranteed optimal solutions to the
formulations are unlikely to be obtained within reasonable time using off-the-shelf optimization software. For instance, additional experiments indicate that when the number of customers is doubled to four, the time for solving the problem using approach
Tact./Oper. Hybrid, increases roughly with a factor of 100. However, good solutions
might still be obtained by using customized optimization techniques.
126
The results for the approaches Pure Agent and Pure Optimization, are consistent
with the results of the theoretical analysis in Section 2 with respect to time, quality
and communication properties. Further, by comparing the total costs between approach Pure Agent, Embedded Optimization and Tact./Oper. Hybrid, the results indicate: adding optimization to the agents, improves the agents’ decision making with
respect to the quality of the solution.
6
Conclusions and future Work
According to our analysis, the properties of agent-based approaches and optimization
techniques complement each other. This was partially confirmed by the experimental
results, which in addition investigated two promising ways of combining agent-based
and optimization techniques into hybrid approaches: using coarse planning and embedded optimization techniques. The hybrid approaches appear to combine some of
the good properties from each of the two investigated approaches.
Additional potential hybrid approaches can be based on that the multi-agent system
invoke optimization algorithms when it cannot handle the situation. Another approach
is to “Agentify” optimization techniques that are already based on decomposition to
encompass some of the properties of agent-based approaches. In order to make sure
a solution which is possible to implement is available at each node/sub-problem, one
may let the sub-problems keep track of a convex combination of previous solutions.
Ideas from the volume algorithm (Barahona & Anbil, 2000) can be adopted in order
to have a reasonable good solution to be implemented at any time during progress of
the algorithm. We plan to further experimentally verify the conclusions of the theoretical analysis regarding the properties of the agent-based and classical optimization
techniques and explore hybrid approaches. Yet another hybrid approach would be to
experiment with the combination of pure optimization with the usage of reactive agents
for dealing with unpredictable events.
Future experiments will include an increased number of customers and producers,
several product types, and different lengths of planning horizons, time steps and time
in between global planning. Increased numbers of customers, producers and product
types will of course increase the computational requirements for solving the optimization problems and therefore algorithmic improvements might be necessary. It would
also for example be interesting to partition the customers into clusters and let different
agents make the plans for these clusters. The partitioning can for instance be based
on geographical locations of the customers. Possible improvements, for solution quality rather than for performance, is to develop more advanced routing and production
scheduling mechanisms than those used today.
127
Appendix
In the following, sets, variables and parameters are introduced in order to formally
define the problem as an optimization problem. Set T (with index t) denotes the set of
periods; J (with index j) denotes the set of customers; and R (with index r) the set of
transport routes. Further, the set Rj ⊂ R is the set of routes visiting customer j.
The variables used are: xt , produced units in period t; yt , 1 if production occurs in
period t; st , 1 if production starts in period t; It , inventory level at the producer at the
end of period t; zjrt , transported quantity from producer to customer j on route r in
period t; ort , 1 if transport route r is used in period t; Ljt , inventory level at customer
j at the end of period t; vjt , shortage of products at customer j in period t; wjt , excess
of products at customer j in period t; Vjt , shortage of products with respect to safety
stock level at customer j in period t.
Parameters (constants) are given below with their values given within parentheses (superscripts are used to distinguish between different parameters): ux , production
capacity (12); uI , inventory capacity at producer (35); uz , truck capacity (30); djt , demand forecast for period t and customer j; uL , inventory capacity at customers (35); lL ,
safety stock level at customers (3); cy , fixed production cost if products are produced
in period t (10k); cs , cost of starting production if the product was not produced in previous period t (20k); cr , cost of using a transport route r (20k and 22k), respectively,
for visiting a single customer and 23k for visiting both customers; cI , inventory cost at
producer (100); cL , inventory cost at customer (110); Llc , cost of inventory shortages
at customers (8k); Luc , cost of exceeding inventory levels at customers (2.5k); lc , cost
of not meeting the inventory safety levels (2k).
Given the variables and parameters above, a cost function can be specified accordingly:


X
X
X
c y y t + c s s t + c I I t +
f (·) =
cL Ljt + Llc vjt + Luc wjt  .
cr Ort +
j∈J
r∈R
t∈T
At the end of each period, the cost is recorded using function f (·) for period t equal to
one. Then, inventory levels are computed given the actual demand (not the forecast),
which becomes the initial inventory levels the next day. Below is an optimization model
of the problem presented.
128
min
s.t.
f (·) + lc Vjt
xt ≤ ux ,
t∈T
sT ≥ yt + tt−1 ,
t∈T
(1)
(2)
t∈T
(3)
t∈T
(4)
zjrt ≤ uz ort ,
r ∈ R, t ∈ T
(5)
X
j ∈ J, t ∈ T
(6)
j ∈ J, t ∈ T
(7)
I
0 ≤ It ≤ u ,
XX
zjrt = It ,
It−1 + xt −
j∈J r∈Rj
X
j∈J
Lj,t−1 +
zjr,t−1 − djt = Ljt ,
r∈Rj
0 − vjt ≤ Ljt ≤ uL + wjt ,
L
l − Vjt ≤ Ljt ,
j ∈ J, t ∈ T
(8)
All variables and cost parameter are assumed to be non-negative. Variables yt , st , ort
are binary. In the case of Embedded Optimization, an optimization problem is created
for each of the agents: variables x, y, s, I and constraints (1)-(4) for Agent A; and
variables z, o, L, v, w, V and constraints (5)-(8) for Agent B, with the associated costs,
respectively. In Agent A’s optimization problem, z is regarded as a parameter (i.e. a
transport plan). In the Tactical/Operational Hybrid approach, a cost (200) per unit of
deviation from the coarse plan with respect to values x, I, z and L is considered when
solving the agents optimization problems.
129
130
Paper VII
Improving multi-actor production, inventory and transportation planning through agent-based optimization
Johan Holmgren, Jan A. Persson and Paul Davidsson
To be published in Agents and Multi-Agent Systems in Distributed Systems - Digital
Economy and E-Commerce. Springer.
Abstract. We present an agent-based optimization approach that is built upon the
principles of Dantzig-Wolfe column generation, which is a classic reformulation
technique. We show how the approach can be used to optimize production, inventory, and transportation, which may result in improved planning for the involved
supply chain actors. An important advantage is the possibility to keep information
locally when possible, while still enabling global optimization of supply chain activities. In particular, the approach can be used as strategic decision support to
show how the involved actors may benefit from applying Vendor Managed Inventory (VMI). In a case study, the approach has been applied to a real-world integrated production, inventory and routing problem, and the results from our experiments indicate that an increased number of VMI customers may give a significant
reduction of the total cost in the system. Moreover, we analyze the communication overhead that is caused by using an agent-based, rather than a traditional (non
agent-based) approach to decomposition, and some advantages and disadvantages
are discussed.
1
Introduction
Supply chain management is an area in which actors may experience considerable benefits by the use of efficient e-business solutions. The introduction of powerful computers and efficient methods for formulating and solving complex optimization problems
has made it possible to improve the operations in supply chains. In traditional central approaches for solving optimization problems, all information that need to be used
131
when formulating and solving a problem has to be shared with a central node of computation. However, if multiple organizations are involved there is often a wish to keep
sensitive information local. We propose an agent-based approach for integrated optimization of production, inventory and transportation, which has the potential to offer
increased confidentiality for the involved organizations.
In this paper we describe how Dantzig-Wolfe (DW) decomposition, which is a classic reformulation technique, can be incorporated in a multi-agent system. The main
purpose is to give a detailed account to how a classic optimization approach can be
“agentified”. Another purpose is to validate that some positive characteristics can be
achieved by using this type of approach. The main characteristic is confidentiality of information, which is of particular importance in applications where different, potentially
competing, organizations are represented. Moreover, we investigate the possibility to
achieve performance improvements by distribution and parallelization of the approach.
In a case study we apply our approach to a real-world integrated production, inventory and routing problem. The problem includes production planning, vehicle routing
and inventory planning, and the objective is to minimize the total cost for production,
transportation and inventory holding, while meeting the customers’ demands for products. In particular, we show how the approach can be used for strategic decision making
by quantifying the economic benefits that can be achieved by introducing Vendor Managed Inventory (VMI) for one or more supplier-customer relations. In VMI (Daugherty
et al., 1999), the supplier is responsible for replenishing the customers’ inventories,
while given continuous access to information about forecasted customer demand and
storage levels. Typically, the supplier owns the products until the customer removes
them from inventory. The supplier benefits from being able to get updated information
about forecasted customer demand and storage levels in contrast to being forced to deal
with often late arriving, and changing customer orders. This provides flexibility in production and transportation planning. The customer potentially benefits from being able
to pay later (and typically less) for products. Also, since it is the responsibility of the
supplier to decide about deliveries, the customer does not have to bother about ordering
products. For the studied problem we have performed simulation experiments, which
indicate that an increased number of VMI customers may give a significant reduction
of the total cost in the system. Moreover, we discuss how the approach can be used
for operational planning, e.g., by providing decision support for real-world planners
concerning how to perform supply chain activities.
In summary, we focus on the supply chain cooperation dimension of e-business by:
(1) exploring an approach for integrated planning (involving multiple actors), which
supports the keeping of planning related information confidential, and (2) from a strategic perspective, analyzing and quantifying the benefit of increased cooperation by VMI.
In next section we introduce the reader to the fields of agent-based optimization
and decomposition, and in Section 3 we given an account to integrated planning of
production, inventory and transportation, including some related work. In Section 4,
we present a real-world case problem, and for the case problem, in Section 5 we de132
scribe an agent-based decomposition approach. Finally, in Section 6 we present some
computational experiments before concluding the paper with a discussion on confidentiality in Section 7 and some conclusions and directions for future work Section 8.
2
Agent-based optimization and decomposition
Agent-based approaches to optimization can be built in many ways, e.g., by using classical agent concepts, such as auctions and negotiation, as in the examples provided by
Karageorgos et al. (Karageorgos et al., 2003) and Dorer and Calisti (Dorer & Calisti, 2005). However, the focus here is on agent-based approaches that make use of
techniques and concepts from classical optimization, e.g., methods for formulating and
solving complex optimization problems.
It has been argued that the strengths and weaknesses of agent-based approaches
and classical optimization techniques complement each other well for dynamic resource allocation problems (Davidsson, Persson, & Holmgren, 2007). The strengths
and weaknesses of agent-based approaches and mathematical optimization techniques
were compared for resource allocation in the domain of production and transportation.
The comparison indicated that agent-based approaches tend to be preferable when: the
size of the problem is large, communication and computational stability is low, the
time scale of the domain is short, the domain is modular in nature, the structure of the
domain changes frequently and there is sensitive information that should be kept locally, and classical optimization techniques when: the cost of communication is high,
the domain is monolithic in nature, the quality of the solution is important, and it is
desired that the quality of the solution can be guaranteed. Moreover, the comparison
indicated that the properties of the two approaches are complementary and that it can
be advantageous to combine them. In a case study, two hybrid approaches were tested:
1. Optimization was embedded in the agents to improve their abilities to take good
decisions.
2. Optimization was used for creating long-term coarse plans, which were refined
dynamically by the agents.
Another hybrid approach is referred to as distributed constraint optimization. According to Petcu (Petcu, 2007), a Constraint Optimization Problem (COP) is defined
as a set of variables with corresponding discrete and finite variable domains and a set
of utility functions. Each utility function assigns a utility to each possible assignment
of the variables, and the purpose is to find the variable instantiation that maximizes the
sum of utilities of the utility functions. An interesting property is that variable domains
are not restricted to numerical values, e.g., a variable domain may refer to colors or
whatever is relevant for a particular problem. A Distributed Constraint Optimization
Problem (DCOP) is defined as a set of agents, where each agent owns a centralized
COP (i.e., a local subproblem), and a set of inter-agent utility functions, which are
133
defined over variables from the local subproblems. An inter-agent utility function represents the award that is assigned to the involved agents when they take a joint decision.
Decomposition approaches, such as Dantzig-Wolfe column generation (Dantzig &
Wolfe, 1961) has been developed for solving linear problems, and Lagrangean relaxation (Geoffrion, 1974) and Benders’ decomposition (Benders, 1962) have been developed for solving Mixed Integer Linear optimization Problems (MILPs). Moreover,
decomposition approaches for linear problems have been used together with branchand-price (Barnhart et al., 1998) to solve MILPs.
Combining agents with decomposition approaches is another, relatively new approach, which we find particularly interesting to investigate. An example is provided
by Hirayama (Hirayama, 2006), who proposed an agent-based approach for solving
the Generalized Mutual Assignment Problem. In the approach, which was built using a
distributed solution protocol based on Lagrangean decomposition and distributed constraint satisfaction; agents were used to solve individual optimization problems, which
were coordinated in order to improve a global solution.
In this paper the focus is on another decomposition approach, and we describe how
Dantzig-Wolfe decomposition can be agentified into a multi agent system. In DantzigWolfe decomposition, a linear Master Problem (MP) is reformulated into a Restricted
Master Problem (RMP) containing only a subset of the variables in MP, and a set of
subproblems which produce new solutions (columns) that are coordinated by RMP. In
an iterative process, subproblem solutions based on so-called dual variables (which is a
control mechanism) are added as improving variables to RMP. A dual variable is often
interpreted as a value or price, e.g., for obtaining an additional unit of a scarce resource,
or for producing one more unit of a particular product type.
In contrast to approaches to agent-based optimization, in which agents are able to
communicate directly with each other in a peer-to-peer fashion, agent-based decomposition requires a coordinator agent who is responsible for managing the problem
solving process. In DW decomposition, the coordinator agent corresponds to the RMP,
and planner agents are responsible for providing plans (solutions) to the coordinator by
solving subproblems. A conceptual illustration of agent-based DW decomposition is
provided in Fig. 1, in which it can be seen that the coordinator sends dual variables to
the planner agents, who return plans to the coordinator.
Fig. 1: A conceptual model of agent-based Dantzig-Wolfe decomposition. In an iterative process, the coordinator sends dual variables to the planner agents, who return improving plans to the coordinator.
For a case problem, in Section 5 we provide a detailed example of an agent-based
decomposition approach for an integrated production, inventory, and routing problem.
134
We have chosen a decomposition formulation that we find attractive, in particular since
it allows for a natural interpretation of dual prices and subproblems. The studied problem class captures the difficulties with distributed decision making since information
and resources typically are distributed and the exact conditions, e.g., the demand and
the availability of resources, are unknown in advance.
Planning tasks in supply chains are often performed by different organizations,
which is why confidentiality is an important concept. Traditionally, a decomposition
algorithm runs in a single process (on a single computer), which needs access to all
information that is required for formulating and solving the optimization problem. In
such an approach it is typically not possible to achieve confidentiality due to the fact
that information, which might be considered sensitive for the planners may have to be
shared. With an agent-based approach, where different problems are represented by
different agents, it is often possible to run the optimization with less need for sharing
sensitive information. In our case problem there is an agent who coordinates production, transportation and inventory. The coordinator agent needs access to customer
demand forecasts, but it does not need to know any underlying details about how transportation plans and production plans are created. Hence, the agents responsible for
solving subproblem do not need to share all information to the coordinator. Obviously,
the use of agents may have a negative impact on the performance, i.e., concerning the
execution time due to an increased need for communication. However, a possible advantage over classic decomposition approaches is that it is straightforward to distribute
an agent system over several computers. In a distributed solution approach, there is
a potential for reduced computation time and in some cases improved solution quality since more computing power allows for solving more complex subproblems. The
reason is that the subproblems can be solved in parallel, which is impossible when
the approach runs on a single processor. Further, a decentralized approach makes the
system less vulnerable to single point failures. In the agent-based approach, where the
coordinator agent typically retains control of all decisions, a failure of the coordinator agent is fatal. However, in case of a planner agent failure, the rest of the planners
will still be able to produce new (improving) plans, which can be considered by the
coordinator.
3
Integrated planning of production, inventory and
transportation
Raw material supply, production and transportation have often been separated by large
inventory buffers allowing different supply chain activities, such as production and
transportation, to be planned separately. Various planning problems for different parts
of the supply chain have been studied; a survey of lot sizing and scheduling problems
is provided in (Drexl & Kimms, 1997), and an overview of the vehicle routing problem
and variations is given in (Toth & Vigo, 2002). The importance of inventory reduction
has led to an increased interest in integrated planning of different logistical activities
135
(Thomas & Griffin, 1996), and a review covering efforts in the area of integrated supply
chain planning is provided in (Sarmiento & Nagi, 1999).
Our focus is on optimization approaches that consider planning of production, inventory, as well as transportation. There is research focusing on only two of these aspects (e.g., (Federgruen & Zipkin, 1984; Chien, Balakrishnan, & Wong, 1989; Campbell, Clarke, Kleywegt, & Savelsbergh, 1998)). According to our knowledge, the earliest contribution that combines all three problem aspects, i.e., planning of production,
inventory and transportation, was presented in (Chandra & Fisher, 1994). For a multiperiod planning horizon, the authors solved a combination of the production scheduling problem and the vehicle routing problem where multiple products were distributed
from a single production facility to a number of customers.
A more recent approach was presented in (Lei et al., 2006), in which the authors
considered an integrated production, inventory, and routing problem with a single product, multiple heterogeneous production plants, multiple customer demand centers and
heterogeneous vehicles. Inventory management was considered both at the production
plants and at the customer demand centers. The model was approached by formulating a large mixed-integer linear problem, which was solved using a 2-phase solution
method. In phase one, the problem was reformulated to only include direct transportation between the producers and the customer demand centers. This restricted problem
gives a feasible but non-optimal solution to the original problem. In phase two, a
heuristic approach was used to improve the solution from phase one by also considering transport routes involving multiple customer demand centers. The main differences
compared to their approach are that we model transportation in more detail, and that
we use a different solution approach.
Another recent contribution is provided by Persson and Göete-Lundgren (Persson
& Göthe-Lundgren, 2005), who formulated and solved an optimization model for planning the production at a set of oil refineries and shipments of finished products while
considering inventories both at producer and customer depots. Their problem is similar to the one we are considering. However, they used a longer planning horizon, but
with longer individual time periods, there was no separation of the production planning
into subproblems, and they used ships for transportation whereas we use trucks including explicit modeling of driving time restrictions. They proposed a solution approach
based on column generation and valid inequalities, and integer solutions were obtained
by using a fixing strategy in which vehicles were fixed to visit certain depots at specific
times. To determine how much of each product should be delivered to each depot, an
integer model was formulated and solved.
Bilgen and Ozkarahan (Bilgen & Ozkarahan, 2007) considered a problem for optimization of blending and shipment of grain (bulk) products from a set of producers
to a set of customers. Whereas our approach is built on decomposition, Bilgen and
Ozkarahan formulated a single MILP model with the objective to minimize the costs
for blending, loading, transportation and inventory. The optimization problem was
solved with the ILOG CPLEX solver for a rather short planning horizon.
136
4
Real world case problem description
We consider a real-world case problem with a producer of vegetable oils and a single hauler that manages a fleet of bulk trucks that take care of deliveries of finished
products to a set of customers. Production, and hence the planning of production and
transportation is driven by the arrival of customer orders. Production is performed on
multiple production lines, which are scheduled (individually) to match the shipping
times that are chosen to match the delivery time windows of the customer orders. A
typical horizon for production and transportation planning is usually less than a week.
Before loaded onto vehicles, finished products are stored in short-term inventory
at the producer depot. The capacity of this short-term inventory is rather limited, and
shipping is typically initiated the same day as the last production step is finished. At
delivery, products are stored in customer inventories. Starting with a full (or close
to full) truck load at the producer, sometimes a truck visits only one customer before
returning but sometimes deliveries are grouped together and the truck visits multiple
customers in a trip. Occasionally, a vehicle can be scheduled for a non-empty transport
on the return trip from a customer to the producer. When the transportation demand
exceeds the available transportation capacity, it is possible to call in extra capacity to
a higher cost. Furthermore, time and costs for loading and unloading are considered,
and the drivers have to follow the European Economic Community (EEC) regulations
(EEC 3820/1985) for working and resting hours.
Raw material arrive to the production plant by boat or truck in quantities based
on long term forecasts since the order-to-delivery lead time of raw material considerably exceeds the production planning horizon. Therefore, an unlimited supply of raw
material can be assumed, and the considered operational production planning can be
separated from ordering of raw material.
Currently, the considered real-world producer is considering an introduction of
VMI for some of its customers. An introduction of VMI requires that accurate forecasts of consumption can be made available, which is also assumed to be possible. VMI
might lead to a higher flexibility in the production and transportation planning, and the
expectation is that a higher utilization of (often limited) production and transportation
resources can be achieved.
In Fig. 2 we provide a conceptual illustration of the case problem with a small example of a transportation network containing a factory, inventories, customer depots
and trucks, and planners who are responsible for taking decisions about physical resources.
5
Decomposition formulation
The identified real world problem is modeled as a MILP, which is built using the principles of Dantzig-Wolfe decomposition. The decomposition formulation includes a
linear DW master problem, a set of transportation subproblems and a set of production
137
Fig. 2: An illustration of the case problem, with physical resources, planners and a supply chain coordinator.
The dashed arrows represent connections that are present only for VMI customers.
scheduling subproblems for construction of transportation plans and production plans.
Even though MP is a linear problem, there are no restrictions regarding which types of
variables the subproblems are allowed to model. It should be mentioned that DW decomposition is a technique for reformulating optimization problems, and in many cases
it is necessary to apply a branch and bound method, i.e., branch-and-price (Barnhart et
al., 1998), to be able to use it for solving problems with integer variables.
In addition to the practical issues, like for example confidentiality, reasons for not
formulating the problem as a large MILP include: 1) a large MILP would most probably be difficult, or impossible, to solve to optimality due to its size and high complexity,
and 2) a decomposition approach allows the subproblems to be reformulated without
modifying the master problem.
It is possible to use alternative decomposition approaches for modeling the studied
problem, e.g., Lagrangean relaxation (Geoffrion, 1974) and Benders’ decomposition
(Benders, 1962). In our opinion, the choice of which decomposition technique to use
can often be seen as a matter of preference. Important reasons for using DW decomposition for modeling the studied problem is that it allows us to benefit from the special block structure that characterize the problem. According to Fumero and Vercellis
(Fumero & Vercellis, 1999), problems in the studied area tend to use an underlying
network structure that may be exploited by decomposition approaches. The objective is to minimize the costs for production, distribution, and inventory holding, while
satisfying the customers’ product demand throughout a given planning horizon. The
problem formulation includes production planning at producer depots, transportation
planning including route choice, quantities to ship and times for deliveries to customers
and pickups from the producers, and inventory planning of finished products. The pre138
sented approach focuses on the VMI situation due to its potential for improved resource
utilization. However, it is not limited to VMI since a tight specification of customer
inventory constraints mimics a non-VMI situation.
We have built the agent-based decomposition approach using a hierarchical agent
model for decision making in a multi-agent-based supply chain simulation model called
TAPAS, which was presented by Davidsson et al. (Davidsson et al., 2008). The model
contains a supply chain coordinator, a transport buyer, a product buyer, production
planners, transport planners, and customers. However, in the suggested decomposition
approach we have chosen not to model the product and transport buyer agents. The
downscaled version of the hierarchical agent model in TAPAS corresponds to the agent
model in Fig. 2. In the agent system, the supply chain coordinator agent represents MP,
each production planner agent handles a set of production scheduling subproblems (one
subproblem for each production line in one producer depot), and each transport planner
agent handles a set of transportation subproblems (one subproblem for each vehicle in
its vehicle fleet).
In the problem formulation, we let DP denote the set of producer depots, DC the
set of customer depots, D = DP ∪ DC the set of all depots, V the set of (inhomogeneous) vehicles, P the set of product types, and L the set of production lines. The
planning horizon is represented by an ordered set T = {1, 2, . . . , t̄} of discrete time
periods with uniform length τ . A transportation plan for a vehicle is defined as the
amount of each product delivered to each customer depot and picked-up from each
producer depot in each time period throughout the planning horizon. The set of all
feasible transportation plans for a vehicle v ∈ V is denoted Rv , and the cost for using
plan r ∈ Rv is denoted ψr . If d is a producer depot (i.e., d ∈ Dp ) we let variable xdptr
denote the amount of product p that is picked-up from depot d for plan r by vehicle
v in period t, otherwise (d ∈ DC ) xdptr represents a delivery to depot d. Similarly,
we define a production plan for a production line as the amount of each product that
is produced in each time period throughout the planning horizon. We let Sl denote the
set of all valid production plans for production line l ∈ L, and ωs denotes the cost for
using plan s ∈ Sl . For production plan s ∈ Sl , which represents a production line located at some depot d = d(s), we let ydpts represent the amount of product p produced
in period t. Furthermore, parameter ̺dpt denotes the demand for product p ∈ P at
customer depot d ∈ DC in time period t ∈ T . Hence, the parameter ̺dpt specifies the
amount of product p removed from the customer inventory in time period t. It should
be noted that, in our methodological approach, only a subset of all the plans for the
available resources will be generated and represented in the model.
Each depot d ∈ D has an inventory level modeled by variable zdpt . An inventory
cost φdp is considered for each unit of product p ∈ P in inventory at depot d ∈ D
between two subsequent periods. For a depot d, the inventory level of product p in
time period t must not fall below a lower bound z dpt (which typically corresponds to
a safety inventory level) and must not exceed an upper bound (typically a maximum
capacity) of z dpt units. To allow violating the safety inventory and maximum allowed
139
inventory levels, we let variable udpt represent how much the inventory level of product
p falls below the safety inventory level at depot d in period t, qdpt how much it exceeds
q
u
and Mdpt
the maximum allowed inventory level, and Mdpt
corresponding penalty costs
for violating the inventory constraints. It is assumed that, if any of the u:s or q:s are
greater than zero in a period (i.e., an inventory constraint has been violated), a penalty
is applied for resolving the inventory level infeasibility. There are other ways to model
violation of inventory constraints, e.g., to include the u:s and q:s in constraint set (4)
instead of in constraint sets (2) and (3). However, it is not obvious if one of these
approaches is better than the other.
Binary decision variables are used to determine which transportation plans and
production plans to use, and for obvious reasons exactly one transportation plan for
each vehicle and exactly one production plan for each production line are allowed.
Decision variable vr determines if transportation plan r ∈ Rv is used (vr = 1) or not
(vr = 0), and ws if production plan s ∈ Sl is used (ws = 1) or not (ws = 0). We
formulate our main problem (IMP) as the following MILP (MP is the LP-relaxation of
IMP):
X X X
q
u
min
φdp zdpt + Mdpt
udpt +
qdpt + Mdpt
p∈P d∈D t∈T
X X
ψr v r +
zdpt−1 +
X X
(1)
ωs ws ,
l∈L s∈Sl
v∈V r∈Rv
s.t.
XX
vr xdptr + udpt − qdpt − ̺dpt = zdpt ,
v∈V r∈Rv
zdpt−1 −
X X
t ∈ T, d ∈ DC , p ∈ P, (2)
vr xdptr +
v∈V r∈Rv
XX
ws ydpts + udpt − qdpt = zdpt ,
l∈L s∈Sl
t ∈ T, d ∈ DP , p ∈ P, (3)
d ∈ D, p ∈ P, t ∈ T, (4)
z dpt ≤ zdpt ≤ z dpt ,
X
vr = 1,
v ∈ V, (5)
r∈Rv
ws = 1,
l ∈ L, (6)
vr ∈ {0, 1},
ws ∈ {0, 1},
v ∈ V, r ∈ Rv , (7)
l ∈ L, s ∈ Sl , (8)
X
s∈Sl
d ∈ D, p ∈ P, t ∈ T. (9)
zdpt , udpt , qdpt ∈ R+ ,
In IMP, the first component (i.e., the triple sum) of the objective function (1) models
the inventory costs with penalties for violating the inventory constraints. The second
component of (1) represents the cost for the transportation plans, and the third compo140
nent the cost for production plans. Constraint sets (2) and (3) express the customer and
producer depot inventory balances. For a customer depot, an inventory level at the end
of a period equals the inventory level at the end of the previous period, plus the deliveries minus the consumption in the current period. For a producer depot, an inventory
level at the end of a period equals the inventory level in the previous period, minus the
pickups plus the produced amount in the current period. Constraints (4) assure that the
inventory levels are kept between the minimum and maximum allowed levels, and (5)
and (6) that exactly one plan is used for each resource (vehicle or production line).
For MP (as well as for RMP, which will be introduced below), we let λ denote
the dual variables for constraints (2), µ the dual variables for constraints (3), δ the dual
variables for constraints (5), and θ the dual variables for constraints (6). A dual variable
expresses the change of the optimal objective function value per unit increase of the
right hand side of the corresponding constraint. For example, λ̄dpt > 0 represents the
value of having one extra unit of product p in depot d in period t, and a positive dual
variable µ̄dpt > 0 the value of having one extra unit of product p at depot d in period t.
A value µ̄dpt < 0 on the other hand, means that we want to decrease the production or
reduce the inventory by transporting products away from depot d.
As mentioned above, to solve the IMP we relax the integer constraints and get an
MP, i.e., a master problem. Furthermore, we only consider a subset of the potentially
huge number of production and transportation plans, which gives an RMP, i.e., a restricted master problem. At initiation, RMP contains only a small number of plans
for each resource (vehicle or production line), typically the procedure starts with an
empty plan for each resource. For instance, for a vehicle an empty plan is one that
has no deliveries and pickups. It should be emphasized that, to be able to satisfy constraints (5) and (6), RMP needs to contain at least one plan for each resource. We let
Rv′ ⊆ Rv denote a set of all currently known transportation plans for vehicle v ∈ V ,
and Sl′ ⊆ Sl a set of currently known production plans for production line l ∈ L. That
is, RMP is identical to MP, except for that we replace all occurrences of Rv with Rv′ ,
all occurrences of Sl with Sl′ .
In the solution approach, RMP is iteratively updated with new improving production and transportation plans that are generated by the planner agents based on the
current optimal values of the λ, µ, δ, and θ dual variables. Dual variables are obtained
from the current optimal solution (to RMP) when using a standard solver, which is typically based on the simplex method. A flow chart describing the main algorithm used
by the coordinator agent is presented in Fig. 3, and a diagram showing how the coordinator agent communicates with the planners is provided in Fig. 4. In a distributed
approach it is possible, and in many cases preferable, to send the transportation and
production requests in parallel to allow the planners to solve subproblems simultaneously. Plans with negative reduced cost are added as improving columns/variables to
RMP, and when no improving plan can be generated, the optimal solution to MP is
obtained. Since the optimal solution to MP typically contains fractional combinations
of plans, it is typically infeasible (due to the integer properties) in the original problem
141
IMP. One approach for finding an optimal, or at least a heuristically “good” integer
solution to IMP, some delivery/pickup (depot, period, product, and vehicle) or production (period, product and production line) must be restricted (fixed) to some integer
quantity whenever a fractional optimal solution to RMP is obtained. To handle the
integer characteristics of the studied problem, we apply branch-and-price (Barnhart et
al., 1998), however in a limited form. To guarantee that the optimal solution to IMP
will be generated, it is necessary to use a search tree, in which each node represents
a restricted version of the original MP due to additional restrictions. In the branching
approach, all possible combinations of fixings are represented somewhere in the search
tree, and in theory the optimal solution of the original problem is guaranteed. However,
since time and memory are limited, this is not possible for the studied problem. Due to
its characteristics of being NP-hard and the size of real-world scenarios, we choose to
explore only one branch in the search tree. Variable restrictions are determined by the
coordinator and communicated to the planners to prevent them from generating future
plans that violate variable fixings. Throughout the procedure of the algorithm, more
and more variables are fixed, and eventually the algorithm terminates with an integer
solution to IMP. In Section 5.1 we give a more detailed account to our strategy for
variable fixings and termination.
5.1
Heuristic strategy for variable fixing and termination
In our variable fixing strategy, which is inspired by the approach in (Persson & GötheP
Lundgren, 2005), we let fptl
∈ Z+ , p ∈ P, t ∈ T, l ∈ L represent production fixings
T
(i.e., minimum quantities to produce), and fdptv
∈ Z+ , d ∈ D, p ∈ P, t ∈ T, v ∈ V
transportation fixings (i.e., minimum quantities to deliver and pickup). That is, there
is one (production) fixing parameter for each combination of product, period and production line, and one (transportation) fixing parameter for each combination of depot,
product, period and vehicle. All f P :s and f T :s are initialized to 0, meaning that no
P
quantities are fixed when the algorithm starts. A fixing of a quantity fptl
means that
all subsequent production plans that are generated for production line l must contain
P
a production of at least fptl
units of product p in period t. Similarly, a transportation
T
fixing fdptv for vehicle v means that all subsequent plans for v must contain a pickup
T
(if d ∈ DP ) or delivery (if d ∈ DC ) of at least fdptv
units of product p for depot d in
period t. Hence, it follows that already fixed productions, pickups and deliveries may
be re-fixed to higher values later in the process, as long as the capacities of vehicles
and production lines are met when new plans are created. After a fixing has been determined, all columns (plans) violating the fixing (i.e., infeasible columns) are removed
from RMP.
The main idea in the variable fixing strategy is that the production, pickup or delivery with the highest representation in the optimal solution to RMP should be chosen
for fixing. For instance, to calculate how much a production is represented in RMP, the
values representing how much the plans are used in the solution are added together for
142
Fig. 3: A flow chart of the main algorithm used by the supply chain coordinator agent.
Fig. 4: Diagram describing the communication between the coordinator and planner agents.
those plans (for the particular production line) that have a production strictly greater
than zero units for the particular product and period. The calculation of how much a
143
pickup or delivery is represented in RMP is made in the same way. Hence, a number
between 0 and 1 is obtained for each production, pickup and delivery, and a higher
number means a higher representation in RMP.
For transportation, we find out which pickup or delivery (depot, product, period
and vehicle) that is most represented in RMP by calculating
X
(10)
(d′ , p′ , t′ , v ′ ) =
arg max
vr ΛTdptr ,
d∈D,p∈P,t∈T,v∈V r∈R′
v
where
ΛTdptr =
(
0
1
if xdptr = 0
if xdptr 6= 0.
(11)
To avoid fixing pickups and deliveries that are represented in all columns in RMP, and
to disregard those pickups and deliveries that are not represented at all, in equation (10)
we require that
X
(12)
vr ΛTd′ p′ t′ r < 1.
0<
′
r∈Rv
′
Since it is only relevant to consider pickups and deliveries that are represented by a
strictly higher quantity than previously fixed, we also require that
X
(13)
vr xd′ p′ t′ r > fdT′ p′ t′ v′ .
r∈R′ ′
v
In the same way as for transportation, we find out which production (production line,
product and period) is most represented in RMP by calculating
X
(l′ , p′ , t′ ) = arg max
ws Λ P
(14)
d(s)pts
l∈L,p∈P,t∈T
where
s∈Sl′
if ydpts = 0
if ydpts 6= 0,
(15)
and where it is required in equation (14) that
X
0<
ws Λ P
d(s)p′ t′ s < 1,
(16)
ΛP
dpts
=
(
0
1
s∈Sl′
and
X
ws yd(s)p′ t′ s > flP′ p′ t′ ,
s∈Sl′′
144
(17)
If only (d′ , p′ , t′ , v ′ ) exists (i.e., no candidate for production fixing exists), or if
X
X
ws Λ P
vr ΛTd′ p′ t′ r ≥
d(s)p′ t′ s ,
(18)
s∈Sl′′
′
r∈Rv
′
then fdT′ p′ t′ v′ (i.e., a transportation fixing) is fixed (or re-fixed) for vehicle v ′ according
to


X
T

vr xd′ p′ t′ r 
f d ′ p ′ t′ v ′ =  (19)
.

r∈R′ ′
v
Otherwise, if only (l′ , p′ , t′ ) exists, or if
X
X
ws Λ P
vr ΛTd′ p′ t′ r <
d(s)p′ t′ s ,
(20)
s∈Sl′′
′
r∈Rv
′
then flP′ p′ t′ (i.e., a production fixing) will be fixed (or re-fixed) for production line l′
according to


X
flP′ p′ t′ = 
ws yd(s)p′ t′ s 
(21)

.
s∈S ′′

l
If neither a pickup or delivery pickup fixing candidate (d′ , p′ , t′ , v ′ ), or a production fixing candidate (l′ , p′ , t′ ) can be found, there might still exist any two columns
r′′ , r′′′ ∈ Rv′ ′ or s′′ , s′′′ ∈ Sl′′ (for a vehicle v ′ ∈ V or a production line l′ ∈ L)
with different coefficients in the optimal solution to RMP. This scenario can occur
if equation (12) or (16) equals one for some delivery, pickup or production while
xd′ p′ t′ r′′ 6= xd′ p′ t′ r′′′ or yd′ p′ t′ s′′ 6= yd′ p′ t′ s′′′ for any d′ ∈ D, p′ ∈ P and t′ ∈ T .
Then we either set


X
T

f d ′ p ′ t′ v ′ =  vr xd′ p′ t′ r 
(22)


r∈R′ ′
or
v


ws yd(s)p′ t′ s 
flP′ p′ t′ = 
,


s∈S ′′
(23)
|xd′ p′ t′ r | 6= fdT′ p′ t′ v′
(24)
X
l
to be able to converge towards an integer solution to IMP. Moreover, we remove from
RMP all columns r ∈ Rv′ ′ with parameter
if a delivery or a pickup was fixed, or all columns s ∈ Sl′′ with parameter
yd(s)p′ t′ s 6= flP′ p′ t′
145
(25)
if a production was fixed.
From a few small-scale experiments, we realized that the convergence rate of the
column generation approach was too slow to allow the RMPs to be solved to optimality
before considering termination or variable fixing. Instead we use a heuristic termination strategy that is based on the relative improvement of generated plans, resulting in
heuristic solutions to the RMPs (and hence MPs). The idea is that it still will be possible to find heuristically good integer solutions to IMP at termination of the algorithm.
A solution to RMP is considered to be good enough when: for each resource, the
average reduced cost of the e (actually eV for a vehicle or eP for a production line) most
recently added plans (for the particular resource) is less than g (g V or g P ) percent better
than the average reduced cost of the e (eV or eP ) plans that were added immediately
before that. That is, plans are added until the improvement rate has decreased to a
certain level. At this point the algorithm either determines a variable to fix if the current
solution of RMP is fractional, or terminates if the solution is integer. The choice of eV ,
eP , g V , and g P is typically a trade-off between solution time and quality.
5.2
Transportation subproblems
We formulate a transportation subproblem for a vehicle v ∈ V using a hierarchical
approach with two separated subproblems; one routing problem and one product assignment problem. The routing problem is formulated as a shortest path problem with
additional constraints for representing pickup and delivery fixings. The output is a sequence of depots with corresponding time-periods, which will be visited by the vehicle
throughout the planning horizon. In other words, the output is a route serving as input
to the product assignment problem. Then the product assignment problem decides how
much of each product should be delivered for each customer depot visit in the route.
For the studied problem it was found reasonable to allow a maximum of two customer depot visits before visiting a producer. Formally this assumption can be described by introducing a set of network layers, denoted H = {0, . . . , h̄}, as a means
to prevent vehicles from visiting more than h̄ customers before visiting some producer.
In our problem formulation h̄ = 2, and this is the largest number that makes it possible
to calculate analytically correct dual variables for the routing subproblems.
The idea is that layer 0 belongs to the producer depots and layer 1 through h̄ to the
customer depots (each customer is represented in all layers from 1 to h̄). A transport
to a customer arrives in one layer higher than the departure layer, and a transport to
a producer always arrives in layer 0 regardless of which is the departure layer. As an
example, a transport from a producer depot to a customer depot starts in layer 0 and
ends in layer 1. Accordingly, after h̄ customer depot visits it is only possible to travel to
a producer depot. However, it is possible to return to a producer before h̄ customer depots have been visited. An outbound trip for a vehicle v is defined as a trip that starts at
a producer depot, visits a number of customer depots, and ends when v returns to some
producer. We require that an outbound trip must contain at least one customer, which
146
is why a transport between two producers is not considered as an actual outbound trip
even though it typically is allowed to travel directly between producers. The optimal
route from the routing subproblem is defined as a set of outbound trips, which we denote Ov . A small example, including only a few transport options, of a time expanded
transportation network is shown in Fig. 5. In the example, 3 network layers are used to
allow a maximum of 2 customer depot visits before visiting a producer.
Fig. 5: An example of a time expanded transportation network, in which a maximum of two customer depot
visits are allowed before returning to the producer depot.
A time expanded transportation network for vehicle v is defined as a directed graph
(Nv ∪{a}, Av ) with a set of nodes Nv ∪{a} and a set of arcs Av . The set Nv = {ndht :
d ∈ D, h ∈ H, t ∈ T } is a set of network nodes corresponding to actual depots, and
a is an artificial node that allows v to end its route anywhere in the network. An
v
arc (ni , nj ) ∈ Av , with travel cost cRP
(ni ,nj ) , is a connection between a starting node
ni ∈ Nv and an ending node nj ∈ Nv ∪ {a}. We introduce parameter η(ni ,nj ) as a
function of the actual dual variables µ and λ to describe an extra cost or discount that is
added to the cost of arc (ni , nj ). The calculation of the η(ni ,nj ) parameters is made in a
way that the structure of the transportation network is being utilized, as will be detailed
v
below. We introduce decision variable xRP
(ni ,nj ) ∈ {0, 1} to determine the usage of arc
v
(ni , nj ) ∈ Av so that xRP
(ni ,nj ) = 1 if arc (ni , nj ) is used in the solution, otherwise
v
xRP
(ni ,nj ) = 0.
The routing subproblem RPv for vehicle v is formulated as a standard minimum
cost flow problem as:
min
X
RPv
v
(cRP
(ni ,nj ) − η(ni nj ) )x(ni ,nj )
(26)
(ni ,nj )∈Av
s.t.
X
v
xRP
(nk ,ni ) −
nk :(nk ,ni )∈Av
X
v
xRP
(ni ,nj ) = bni , ni ∈ Nv ∪ {a},
(27)
nj :(ni ,nj )∈Av
v
xRP
(ni ,nj ) ∈ {0, 1},
(ni , nj ) ∈ Av .
Constraint set (27) specifies the node balance constraints where bni follows the rules in
equation (28). Node ns ∈ Nv denotes the node where v is situated at the beginning of
the planning period, and a allows v to be at any node at the end of the planning period.
147
The node balance parameter bni for node ni


−1
bni = 1


0
is defined as
if ni = ns
if ni = a
otherwise.
(28)
The arc set Av can be described as a subset of the union
[
[
[
[
[
AWP
APP
APC
ACC
ACP
AA
v
v
v
v
v
v,
where the content of each of these sets will be detailed below. The estimated time
′
′′
tlink
d′ d′′ hv , that vehicle v needs for traveling the direct link from depot d to depot d ,
starting in layer h, includes actual driving time, estimated times for loading and unloading, and estimated resting time. How to calculate link-traveling times will be detailed below. We here represent a network node using three indices; depot, layer and
time period.
AWP
= {(nd0t , nd0,t+1 ) : d ∈ DP , t ∈ T \ {t̄}} contains arcs going from a producer
v
to the same producer. This allows v to wait at a producer depot between to
subsequent time periods.
APP
=
{(nd′ 0t , nd′′ 0,t+⌈tlink′ ′′ ⌉ ) : d′ , d′′ ∈ DP , d′ 6= d′′ , t ∈ {0, . . . , t̄ − tlink
v
d′ d′′ 0v }}
d d 0v
contains arcs going from one producer to a different producer to allow v to travel
between producer depots.
APC
=
{(nd′ 0t , nd′′ 1,t+⌈tlink′ ′′ ⌉ ) : d′ ∈ DP , d′′ ∈ DC , t ∈ {0, . . . , t̄ − tlink
v
d′ d′′ 0v }}
d d 0v
contains arcs going from a producer to a customer, allowing v to travel from
producer depots to customer depots.
ACC
=
{(nd′ ht , nd′′ ,h+1,t+⌈tlink′ ′′ ⌉ ) : d′ , d′′ ∈ DC , d′ 6= d′′ , h ∈ {1, . . . , h̄ − 1}, t ∈
v
d d hv
{0, . . . , t̄−tlink
d′ d′′ hv }} contains arcs going from a customer to a different customer
allowing v to travel between customer depots.
ACP
=
{(nd′ ht , nd′′ 0,t+⌈tlink′ ′′ ⌉ ) : d′ ∈ DC , d′′ ∈ DP , h ∈ H \ {0}, t ∈ {0, . . . , t̄ −
v
d d hv
link
td′ d′′ hv }} contains arcs going from a customer to a producer to allow v to travel
from customer depots to producer depots.
A
Av = {(n, a) : n ∈ Nv } contains one arc from each network node to the artificial
node a to allow v to stop its route at any location, in any layer, and in any time
period. The transportation cost for an “artificial arc”, starting in node n, corresponds to the cost for traveling from n to the “home base” of v. The reason for
adding costs to the artificial arcs, even though they do not correspond to actual
transports, is that we do not want any particular location to be favored at the end
of the planning period.
If there is no direct connection between two depots, Av will not contain any arcs between the corresponding network nodes. Moreover, the time expanded transportation
148
networks contain no arcs allowing vehicles to wait at customer depots. We consider
this modeling assumption reasonable, because in the considered problem there is no
need for waiting at customers.
Transportation costs for arcs in the routing subproblems are composed of three
types of costs, which in the model are represented by link-based costs:
1. Time-based costs (e.g., driver salary, capital cost, and administration) are assumed for the time the vehicle spends away from a producer depot. The driver is
assumed to receive salary when the vehicle is on the road and during unloading
of products. Loading of products is performed by ground staff, who has the same
salary as the drivers. Unloading, on the other hand, is assumed to be performed
by the drivers. Therefore, the driving time, as well as the time for unloading
need to be compensated for by resting time, and salary is not considered during
resting.
2. Distance-based costs (e.g., fuel, vehicle wear, and kilometer taxes) are based on
the distance the vehicles travel.
3. Link-based costs (e.g., road tolls) are fixed costs that are charged when vehicles
travel on certain links.
When a routing subproblem is formulated there exists no information about loadings and unloadings (e.g., concerning quantities). Therefore, loading and unloading
times have to be estimated, and we have chosen to base these estimations on average
loading and unloading times taken over all available product types. We assume loading
times for a full vehicle at producer nodes, and unloading times for a 50% load at customer depots, i.e., loading time is added to arcs leaving producers and unloading time
to arcs arriving to customer depots. Accordingly, we model fixed times for loading and
unloading, which are independent on actual transportation volumes.
The working and resting hour regulation used in the routing subproblem allows for
a maximum of tmax working hours of working (driving) before there must be a minimum
of tmin resting hours of resting. However, we assume that two outbound trips that in sequence violate the working hour regulation are performed by different drivers. Hence,
working hour restrictions are only considered within a single outbound trip.
To be able to estimate the time that the driver needs to rest when traveling on a link
from depot d′ to depot d′′ , starting in layer h, we introduce a working hour estimation
working
tdest′ hv
. This is a lower bound estimation of the time it takes for v to drive from any
producer depot to the starting depot d′ , with the requirement that it must pass exactly
h different customer depots. The estimation is actually the shortest path from any
producer to d′ with the additional requirement of exactly h customer depot visits. For
small networks, and small numbers of h̄, these lower bound estimations can be found
rather easily.
′
The estimated time tlink
d′ d′′ hv that vehicle v needs to travel a link from depot d to
′′
depot d , when starting in layer h, is calculated according to equation
working
resting
tlink
d′ d′′ hv = td′ d′′ hv + td′ d′′ hv ,
149
(29)
where the link traveling time is decomposed into working time tworking
d′ d′′ hv (i.e., time for
driving and unloading) and resting time tresting
.
The
resting
time
tresting
′
′′
d d hv
d′ d′′ hv is estimated
according to equation
d
min resting
tresting
,
(30)
d′ d′′ hv = k · t
as the number of resting periods k d times the minimum resting time tmin resting of each
such resting period. The number of resting periods depends on the link working time
est working
tworking
for traveling to depot d′ , and it is
d′ d′′ hv and on the working time estimation td′ hv
calculated as
 
 working
 

tdest′ hv
− test load mod tmax working + tworking
′ d′′ v − ε 

d
d
 , 0 , (31)

k = max


tmax working
where the expression
working
tdest′ hv
− test load mod tmax working
(32)
working
denotes the remaining portion of the estimated working time tdest′ hv
that has not been
′
accounted for by resting time when traveling to d . The loading time is subtracted from
working
the estimated working time test
because loading is assumed to be performed by
d′ hv
ground staff. The parameter 0 < ε < 1/tmax working is introduced in order to avoid a
special case that occurs in equation (31) whenever the denominator is a devisor of the
nominator, causing k d to take on a value that is 1 unit too large. It is worth noting that
all times are expressed in minutes represented by integer numbers. It should also be
noted that the estimation of resting times assumes that vehicles never wait at customer
depots, which is also prohibited in the routing problem.
As mentioned above, the η cost parameters that are used in the routing subproblems are calculated from the µ and λ dual variables in a way that the structure of the
transportation network is utilized. For each arrival customer depot, network layer and
time period, the calculation of an analytically correct value of the η parameter requires
knowledge about when and from which producer depot the vehicle has departed. To
enable correct costs and strong estimates on time, we make the following assumptions:
1. An outbound trip is allowed to contain at most two customer depot visits.
2. Each customer receives products from exactly one producer depot.
3. Waiting at customer depots is not allowed.
With these assumptions, the estimated resting times will also be analytically correct,
i.e., not estimated. Otherwise it is impossible to know how vehicles travel in the network. The assumptions listed above are essential because driving time, which has not
been “rested for” accumulates over traveled links. A small example of a driving and
resting time approximation is given in Fig. 6.
150
Fig. 6: An example of a working and resting time approximation with tmax working = 10 and tmin resting = 9.
From the maximum capacity of vehicle v (weight capacity ϕweight
and volume
v
capacity ϕvolume
), for each p ∈ P we estimate the maximum number
v
weight
ϕv
ϕvolume
v
(33)
Φvp = min
,
weight(p) volume(p)
of items of product p that can be loaded on v. The Φvp :s are restricted either by the
volume capacity or by the weight capacity of v, and they will be used when calculating
the η parameters, as well as in the product assignment problem presented below.
In order to compute the parameter η we first consider transports from producer
depots to customer depots. A transport is assumed to start in a network node ns representing producer depot d(ns ) ∈ DP and period t(ns ), and it is assumed to end in
a network node ne representing customer depot d(ne ) ∈ DC and period t(ne ). This
case is rather straightforward and the η(ns ,ne ) value is calculated according to
(34)
η(ns ,ne ) = max 0, max′ λd(ne )pt(ne ) − µd(ns )pt(ns ) · Φvp ,
p∈P
where P ′ ⊆ P describes the set of products that can be produced in d(ns ) and consumed in d(ne ). Next we consider transports between two different customer depots.
Here a transport is assumed to start in a network node ne representing customer depot
d(ne ) ∈ DC and period t(ne ), and it is assumed to end in a network node nc representing customer depot d(nc ) ∈ DC and period t(nc ). Knowledge about the network
node ns representing the producer depot d(ns ) ∈ DP and the period t(ns ) from where
the transport was assumed to start is required for a correct calculation of η(ne ,nc ) . As
mentioned above, such information is accessible since: at most two customer visits is
allowed in an outbound trip, each customer can be reached from at most one producer
and waiting at customer depots is forbidden. The value of η(ne ,nc ) can be calculated as
η(ne ,nc ) = max 0, η(ns ,nc ) − η(ns ,ne ) ,
(35)
where η(ns ,ne ) and η(ns ,nc ) is calculated according to equation (34). Hence the value
for going from ne to a customer depot nc is equivalent to the potential extra value that
can be obtained at nc compared to the value at ne .
151
In a routing subproblem, quantities can be fixed either at producer depots or at
customer depots and the two cases are handled differently. In routing problem RPv , a
constraint
X
X
RP ′
=1
(36)
x(niv,n
k)
ni :d(ni )=d′ ,t(ni )=t′
nk :(ni ,nk )∈Av′
is added for each producer depot fixing fdT′ p′ t′ v′ > 0, and for each customer depot
fixing fdT′ p′ t′ v′ > 0 we add a constraint
X
X
RP
(37)
x(nkv′,nj ) = 1.
nk :(nk ,nj )∈Av′ nj :d(nj )=d′ ,t(nj )=t′
Constraint (36) means that v ′ must depart from producer depot d′ in period t′ , and
constraint (37) forces vehicle v ′ to arrive at customer depot d′ in period t′ . It should
be emphasized that these constraints remove the integrality property of the routing
problems.
Implicitly the product assignment subproblem is solved already in the routing subproblem. However, we explicitly formulate an optimization problem in order to handle
fixings, i.e., minimum quantities for pickups and deliveries. From the optimal route Ov
determined by RPv , defined as a set of outbound trips, a product assignment problem
is formulated. The purpose of a product assignment problem is to decide how much
of each product will be picked-up from each producer depot and delivered to each customer depot in the route. The problem separates into one subproblem (ASPo ) for each
outbound trip o ∈ Ov .
We introduce an ordered index set Jo = {1, . . . , jo } over the depot visits in outbound trip o ∈ Ov , starting with index 1 for the producer depot, index 2 for the first
customer depot, etc. For simplified representation we let d(j) and t(j) refer to the
depot and time period represented by visit j in the outbound trip. Moreover, we let
+
o
decision variable xASP
d(j)p ∈ Z , p ∈ P, j ∈ Jo \ {1} represent the amount of product
type p that is delivered to the j :th customer in outbound trip o.
We formulate the product assignment problem ASPo for outbound trip o ∈ Ov as:
X X
o
max
λd(j)pt(j) − µd(1)pt(1) xASP
(38)
d(j)p ,
p∈P j∈Jo \{1}
s.t.
X
X
weight
o
,
weight(p) · xASP
d(j)p ≤ ϕv
(39)
p∈P j∈Jo \{1}
X
X
volume
o
,
volume(p) · xASP
d(j)p ≤ ϕv
(40)
p∈P j∈Jo \{1}
+
o
xASP
d(j)p ∈ Z ,
p ∈ P, j ∈ Jo \ {1}.
The objective function (38) maximizes the utility of pickup and deliveries for the given
route, and constraint sets (39) and (40) express the weight and volume restrictions on
vehicle v.
152
In a product assignment problem, a quantity can be fixed either for a producer depot
or for a customer depot. For each producer depot fixing fdT′ p′ t′ v′ > 0, a constraint
X
ASP
T
o′
xd(j)p
′ ≥ f d ′ p ′ t′ v ′
(41)
j∈Jo′ \{1}
is added to the assignment problem ASPo′ that represents fdT′ p′ t′ v′ . This forces v ′
to pickup at least fdT′ p′ t′ v′ units of product p′ from producer depot d′ in period t′ .
Moreover, for each customer fixing fdT′ p′ t′ v′ > 0, we add a constraint
ASP
xd′ p′o′ ≥ fdT′ p′ t′ v′ ,
(42)
to the assignment problem ASPo′ that represents fdT′ p′ t′ v′ . This guarantees that at least
fdT′ p′ t′ v′ units of product p′ will be delivered to customer depot d′ in period t′ .
The ASPo subproblems assign products to the optimal route Ov , and together they
form a transportation plan. After solving the routing subproblem and the product assignment subproblems, the optimal objective function value (i.e., the reduced cost in
RMP) of the transportation subproblem for vehicle v can be calculated as
X
X
∗RPv
v
ASP∗o − δv ,
(43)
+
x
cRP
(ni ,nj ) (ni ,nj )
o∈Ov
(ni ,nj )∈Av
RPv
∗
v
where x∗RP
(ni ,nj ) denotes the optimal value of variable x(ni ,nj ) , ASPo denotes the optimal
objective value of ASPo , and δv is the convexity constraint dual variable for vehicle v.
5.3
Production scheduling subproblems
The purpose of a production scheduling subproblem for a production line l ∈ L is to
find improving production plans for l guided by the values of the µ dual variables. We
let cprod
lp denote the cost for production line l to produce one unit of product p ∈ P , and
setup
clp denote a fixed setup cost for each period product p is produced. The modeled realworld problem contains costs for startup and changeover, but we consider the problem
formulation here to be detailed enough. A more advanced model for the studied realworld production problem is provided by Sohier (Sohier, 2006). The model by Sohier
includes product sequencing on a set of production lines, but it is restricted to short
planning horizons, which makes it difficult for us to use.
l
∈ Z+ determine the amount of product p to be
We let decision variable xPSP
pt
produced in period t. The products that are produced in a period are assumed to be
PSPl
available for pickup in the same period. Binary variable ypt
∈ {0, 1} is used to
PSPl
indicate whether there will be a production of product p in period t (ypt
= 1) or not
PSPl
(ypt = 0), and we let U denote the maximum number of different product types that
153
can be produced in one period. The production scheduling subproblem PSPl can be
formulated as:
X X prod
X X prod PSP
l
min
clp − µpt xPSP
clp ypt l − θl
(44)
pt +
p∈P t∈T
s.t.
X
PSPl
tprod
lp xpt
p∈P t∈T
≤ τ,
t ∈ T,
(45)
p ∈ P, t ∈ T,
(46)
t ∈ T,
(47)
p∈P
PSPl
PSPl
tprod
,
≤ τ ypt
lp xpt
X PSP
ypt l ≤ U,
p∈P
l
∈ Z+ ,
xPSP
pt
PSPl
ypt
p ∈ P, t ∈ T,
∈ {0, 1},
p ∈ P, t ∈ T.
Constraints (45) models the capacity constraints, where tprod
lp denotes the time needed
for production line l to produce one unit of product p, and τ denotes the length of a time
PSPl
variable
period. To be able to model setup costs, constraint set (46) forces each ypt
PSPl
to value one whenever the corresponding xpt is greater than 0. Constraint set (47)
restricts the number of different product types can be produced in any period to U .
Note that we subtract the convexity constraint dual variable θl in the objective function,
and that the inventory balance constraints normally included in production scheduling
problems here belong to the master problem, which is controlled by the supply chain
coordinator. Therefore, the production scheduling problems separate over time. The
objective function value of the optimal solution gives the reduced cost of the generated
production plan.
To represent production fixings in the production scheduling subproblems, for each
production fixing fpP′ t′ l′ > 0 we add a constraint
PSP
xp′ t′l′ ≥ fp′ t′ l′
(48)
to subproblem PSPl′ . This forces production line l′ to include a production of at least
fp′ t′ l′ units of product p′ in period t′ in all subsequently generated plans.
6
Computational experiments
Our DW column generation algorithm has been implemented inside a multi-agentbased simulation tool called TAPAS (Davidsson et al., 2008). TAPAS is implemented
in the Java programming language using the Java Agent DEvelopment Framework
(JADE) platform (Bellifemine et al., 2007) and the MILP solver ILOG CPLEX1 10.0
1 http://www.ilog.com/
154
is used for solving optimization problems. In the experiments TAPAS runs on a single
computer, but a distributed implementation where agents run on different computers,
is straightforward. This would increase the communication overhead while potentially
reducing the overall solution time due to the availability of more processors and the
potential for parallel processing. In our implementation, overhead is caused by JADE,
e.g., by spending effort on coding and decoding messages. Our implementation approach simulates a situation with a coordinator agent and planning agents located at
different locations, and it allows for investigation of the potential usage of the approach.
6.1
Scenario description
The proposed solution approach has been used for solving 5 scenarios with a transportation network containing 2 producer depots d1 and d7 (with one production line
each), 6 customer depots d2 , . . . , d6 and d8 , and a planning horizon of 72 time periods
with uniform length 2 hours (i.e., 6 days). The scenarios were generated randomly,
and they differ in customer demand, as well as minimum, maximum and initial storage
levels. In each scenario, three different settings regarding VMI were tested, giving a total of 15 simulation runs. Producer depot d1 provides customer depots d2 , . . . , d6 with
products and the purpose of d7 and d8 is to model possibly non-empty return transports
for a small portion of the vehicles returning to d1 . The routes between depots are represented by direct links, with distances given in Table 1. From depot d1 it is possible to
travel to depots d2 , . . . , d7 , from d2 , . . . , d6 to all depots except d8 , from d7 to d1 and
d8 , and from d8 to d1 . The average speed is 70 km/hour on all links and the time-based
transportation cost is estimated to 250 SEK/hour. Furthermore, the EEC regulations
(EEC 3820/1985) for working and resting hours are approximated by allowing a maximum of 10 hours of working before a minimum of 9 hours of resting has to take place.
Moreover, the distance-based cost during transportation is 7.69 SEK/km.
Table 1: Distance (in km) between the depots in the scenario.
d1
355
353
450
531
615
209
95
d2
216
407
487
455
130
-
d3
167
248
333
232
-
d4
141
226
362
-
d5
93
442
-
d6
522
-
d7
119
d8
The scenarios use a fleet of 9 vehicles v1 , . . . , v9 with identical weight capacities of 35 tons. The volume restriction for the vehicles are dominated by the weight
restrictions, and there are no limitations concerning which types of products can be
155
transported on the different vehicles. For each vehicle, we specify a depot and an earliest time period from which it is available for further planning. Vehicles v8 and v9
represent third party transport capacity, which can be called in to a cost approximately
10% higher than the cost for using v1 , . . . , v7 .
The scenarios use 4 different product types p1 , . . . , p4 , each with a mass of 5 tons
per unit (or batch). Product type p4 is used to model return transports and it is assumed
that p4 is produced only in d7 and consumed only in d8 . Therefore, the production
and setup costs for p4 are assumed to be 0. Products p1 , . . . , p3 can be produced in
production line l1 with production costs of 1500 SEK/unit and setup costs of 1000
SEK. The production capacity of product types p1 , . . . , p3 is 2.5 batches/hour and the
capacity for producing p4 is 4 batches/hour. The cost for storing one unit of p1 , . . . , p3
between two subsequent periods is 300 SEK in d1 and 350 SEK in d2 , . . . , d6 . For p4 ,
the storage cost equals 150 SEK in d7 and 175 SEK in d8 .
For each producer depot, an initial inventory level was chosen randomly between
0 and a maximum inventory level, which is 10 for products p1 , . . . , p3 in d1 , and 7 for
product p4 in d7 . The penalty cost for violating the allowed minimum and maximum
inventory levels is 8200 SEK/unit for d1 and 4120 SEK/unit for d7 . For customer
depots, the penalty cost for exceeding the maximum allowed inventory level is 8200
SEK/unit for depots d2 , . . . , d6 and 4120 SEK/unit for d8 . For inventory shortages, the
penalty is 9020 SEK/unit for depots d2 , . . . , d6 and 4520 SEK/unit for depot d8 .
In depots d2 , . . . , d6 , the forecasted average consumptions (in units per 2 hour time
period) of products p1 , . . . , p3 is 0.15, and in d8 , the average forecasted consumption
of p4 is 0.35. A demand-forecast used in a scenario is chosen randomly in steps of
0.05 units with equal probability between 0 and 2 times the averaged forecasted demand. For example, for an expected forecast of 0.2, values between 0 and 0.4 can be
generated. Consumption is aggregated to integer values, which means, for instance,
that an average consumption of 0.2 units per period gives a demand for 1 unit every
5:th period. The main reason for aggregating consumptions is that transportation is
performed in integer quantities, and it simplifies our comparisons between scenarios
with and without VMI.
In a customer depot, the safety inventory level for a product is chosen as the quantity that, according to the consumption forecast, is consumed during any period of
random length between 1 and 2 days. In the same way, for a VMI customer, the maximum inventory level is chosen as the quantity that is expected to be consumed during
a period of random length between 5 and 7 days. An initial inventory level is chosen
randomly as an integer number between the safety and the maximum inventory levels.
For non-VMI customers, we randomly generated delivery quantities (one for each customer and each product type) in steps of 5 between 5 and 35 tons (i.e., 1 to 7 units).
This is justified by a historical, for the studied producer, average delivery size of approximately 20 tons. Hence, for a non-VMI customer the maximum inventory level for
a product is assumed to be equal to the safety inventory level plus the delivery size, minus one (deliveries are made so that the inventory level never falls below the minimum
156
level). To be able to compare the results for VMI and non-VMI settings, a maximum
inventory level for a VMI customer is not allowed to be less than the maximum level
for the same customer and product in the corresponding non-VMI setting. For VMI
customers, the inventory levels always have to be kept between the safety and maximum allowed inventory levels, and for a non-VMI customer the inventory level of a
product in a particular period equals (i.e., with equality in equation (4)) a certain level
that depends on the initial inventory level, delivery size, order point, and forecasted
consumption rate.
The time it takes to load a truck is estimated to 1 hour and the time it takes to unload
a truck is estimated to 2 hours, with costs 250 SEK and 500 SEK respectively. Before
loading takes place at a producer depot, the truck has to be cleaned, and cleaning takes
1 hour and costs 1300 SEK. Loading and unloading times are assumed for full trucks,
which we consider to be reasonable since the studied transport operator indicates that
it is common that vehicles are fully loaded (or close to being fully loaded).
6.2
VMI analysis
For the set of 5 randomly generated scenarios, simulation experiments with 3 different
VMI settings have been performed. We let full refer to a setting where all customers
except d8 use VMI, none to a setting with only non-VMI customers, and one to a
setting where only customer d3 use VMI. In the experiments we used a termination
criteria with parameters eV = eP = 3 and g V = g P = 10.
Table 2: The costs for production, transportation, storage, and penalty, as well as the total cost in the system,
for each scenario (Sc) and VMI setting. In the penalty cost column, the total penalty cost for violating safety
stock levels is written first, followed by the total penalty cost for exceeding maximum inventory levels.
Sc
Setting
1
1
1
2
2
2
3
3
3
4
4
4
5
5
5
full
one
none
full
one
none
full
one
none
full
one
none
full
one
none
Production
Transportation
Storage
Penalty (short / exc)
Total
119000
119500
140000
212500
233000
234500
166000
173500
145000
194500
213500
222500
134500
241000
221000
220741
283987
261653
300789
354719
398659
262935
385060
366564
264527
304449
342993
252012
295026
305386
135738
139617
139838
172210
174083
170829
174190
176325
163920
156875
162915
157340
160033
186117
178754
0/0
0 / 28720
0 / 114800
27080 / 0
99280 / 65600
72220 / 98400
0/0
63140 / 114800
198880 / 271480
0/0
54120 / 4120
81180 / 172200
0/0
36080 / 164000
63140 / 176320
475479
571824
656291
712579
926682
974608
603125
912825
1145844
615902
739104
976213
546545
922223
944600
157
The results from the experiments, with respect to different types of costs, are presented in Table 2. In Table 3 we present the reduction of each type of cost when taking
the step from setting none to setting one, i.e., when going from zero to one VMI customer. The additional cost reductions when letting all customers except d8 use VMI
are presented in Table 4. The economic advantage for full compared to one is rather
obvious since it is observed that all costs in each scenario is lower in full. However, the
economic advantage for one compared to none is less obvious. Penalty costs represent
real costs for obtaining products too early or too late, e.g., by approximating costs for
additional storage, wastage, and missed sales. Sometimes, slightly penalized (but cost
efficient) plans might be accepted due to the flexibility of the customers. Therefore, it
is relevant here to also compare the costs when penalties are disregarded. If penalty
costs are included in the comparison of the total costs, one always performs better than
none. However, if the penalty costs are disregarded, none sometimes performs better
than one and sometimes the opposite holds. The average improvement of 1228 SEK
does however indicate that one works better. In summary, the results indicate that the
algorithm manages to find better solutions for the full setting than for the one and none
settings.
Table 3: The reduction of the production cost, transportation cost, storage cost, total penalty cost, total
system cost, and total cost when the penalty cost is disregarded, when going from setting none to setting one.
It should be noted that cost reductions are represented by positive numbers.
Sc
1
2
3
4
5
Avg
Std Dev
6.3
Production
Transportation
Storage
Penalty
Total
Total (no penalty)
20500
1500
-28500
9000
-20000
-22334
43940
-18496
38544
10360
221
-3254
-12405
-5575
-7363
86080
5740
292420
195140
39380
84467
47926
233019
237107
22377
-1613
42186
-59401
41969
-17003
-3500
20338
10403
30917
-5675
4711
123752
118332
124980
102897
1228
42877
Time performance analysis
In each iteration, the coordinator agent sends one plan request message to each planner
agent (in our scenarios: one transport planner and two production planners), and each
planner returns a response message to the coordinator. A response message can either
contain a generated plan or a failure notification indicating that no plan could be generated at the time of the request. For our 15 simulation runs, which used an average of
2171 master problem iterations to reach the final solution, in average 13023 messages
was be sent. The number of messages can be used as a measure of the overhead in
the system in comparison to a non-agent-based implementation approach. The size of
158
Table 4: The reduction of the production cost, transportation cost, storage cost, total penalty cost, total
system cost, and total cost when the penalty cost is disregarded, when going from setting one to setting full.
Again cost reductions are presented with positive numbers.
Sc
1
2
3
4
5
Avg
Std Dev
Production
Transportation
Storage
Penalty
Total
Total (no penalty)
500
20500
7500
19000
106500
63246
53930
122125
39922
43014
3879
1873
2135
6040
26084
28720
137800
177940
58240
200080
96345
214103
309700
123202
375678
67625
76303
131760
64962
175598
30800
43118
64447
33540
8002
10244
120556
74551
223806
119273
103250
48755
each message depends on the actual application and the problem size, since a bigger
problem requires that more information (e.g., dual variables) need to be communicated.
For each of the 15 simulation runs, we estimated an upper bound of the overhead
imposed by the agentification our decomposition algorithm. This upper bound was
calculated as the total running time minus the estimated time for performing decomposition related tasks. We measured an average total running time of 9509 seconds and an
average lower bound estimation of 6583 seconds for the time spent in the actual decomposition algorithm. This gives an average estimated overhead of approximately 35.7%
of the total running time, which is taken as the average over the estimated overhead of
all simulation runs.
Moreover, we estimated the expected performance improvement that can be achieved when all subproblems are distributed and solved in parallel on different computers. For the 15 simulation runs, we measured average estimated total solution times
of 3856 seconds for the transportation subproblems and 17.1 seconds for the production scheduling subproblems. Assuming all problems of the same type need the
same solution time, we get average times of 0.20 and 0.0039 seconds for solving one
transportation and one production scheduling subproblem. The average transportation
subproblem solution time is calculated as the average of the average transportation subproblem solution times taken over the 15 simulation runs, and the average production
subproblem solution time is calculated in the same way.
If the communication overhead that is caused by a parallelization is disregarded, a
theoretical average potential time reduction from (3856+17.1) ≈ 3873 seconds to 429
seconds is estimated for our scenarios. The theoretical time reduction for a scenario
is calculated as the number of master problem iterations times the maximum of the
average solution time of one transportation subproblem and the average solution time of
one production subproblem. In our scenarios, this would give an average time reduction
of 3873 − 429 = 3444 seconds of the total running time. Here, we assume a use of 12
computers; 9 for transportation subproblems, 2 for production scheduling subproblems
159
and 1 for the master problem. Solving the production scheduling subproblems and the
master problem on the same computer would give the same improved running time, but
confidentiality of information would be weakened. Note that it is impossible to use the
main algorithm as it is displayed in Fig. 3 to utilize a complete parallelization. Instead
dual variables have to be sent to the transport planners and the production planners in
parallel without resolving RMP in between.
7
Confidentiality of information
An important advantage of the proposed agent-based approach to DW decomposition,
compared to a centralized approach, is the possibility to achieve increased confidentiality of information. From the perspective of what type of information need to be communicated, we here provide a comparison between a centralized and an agent-based
approach to DW decomposition.
In a centralized approach, a central node of computation needs to be given access to
all information that will be used when formulating the problem. From a confidentiality
perspective it is not important whether the problem is formulated using decomposition
or using a different approach; basically the same information need to be shared. In an
agent-based approach, the coordinator needs to obtain all information that need to be
used when formulating the master problem, but subproblem specific information can
be kept local. The exact information that needs to be shared is case specific, depending
on how the problem is formulated with respect to what aspects are modeled in the
master problem and what aspects are modeled in the subproblems. Moreover, in each
iteration, dual variables need to be sent to the planner agents, who return plans to
the coordinator. It follows that complete confidentiality is practically impossible to
achieve. For instance, since dual variables and plans are iteratively communicated
between the coordinator and the planners, it is often possible for the coordinator to
create a model of how planner agents generate plans. However, this has to be done
without using explicit information about the planner agents.
In addition to knowing about which depots, production lines and vehicles should
be modeled, in our case specific solution approach, the coordinator needs the following
information to be able to construct MP (or actually IMP): (1) demand forecast for VMI
customers and orders for non-VMI customers, (2) inventory constraints for all depots,
and (3) penalty costs (for each depot) for violating inventory constraints. In each iteration, dual variables are sent to the planner agents, who return improving production
plans and transportation plans. A production plan (for a particular production line)
consists of a price and the amount of each product type that is produced in each period
throughout the planning horizon. A transportation plan (for a vehicle) defines a price
and the amount of each product type that is delivered to, or picked-up from, each depot
in each period during the planning period.
160
8
Concluding remarks and future work
We have shown that it is possible to create an agent-based approach to optimization
based on the principles of Dantzig-Wolfe decomposition. Some rather obvious positive effects of the agent-based approach are increased confidentiality, robustness and
possibility of distributed computing. Negative effects are increased processing and
communication. However, a parallelization of the approach will typically have a positive effect on solution time and quality. One advantage is the ability to locally specify
and modify the subproblems, and another is that a local agent always is able to provide
the most recent subproblem solution to the local planners even though it may be based
on old dual variables.
In order to capitalize on the use of our multi-agent-based approach for achieving
performance improvements, we find it interesting to experiment with a distributed system where agents run on different computers. This is a natural representation of the
real world, where actors (agents) are geographically separated and an agent typically
only has access to its own data and its own computer. The estimations presented in
Section 6.3 indicate that a parallelization may give a significant improvement on the
time performance. Also, a parallelization would allow for solving more complex subproblems, which would make it possible to capture more details of the actual problem,
as well as obtaining solutions with higher quality. Note that our time performance
improvement estimation assumes perfect parallelization with no communication overhead, and further investigation needs to be done regarding communication overhead.
Regarding the robustness of the approach, planner agents may fail (go down) temporarily, while the coordinator never is allowed to fail. Future work includes refining
the algorithmic approach to enable permanent failures of all agent types to be dealt
with. For instance, a possible solution to a coordinator failure is to let a planner agent
take on the role as coordinator.
In a case study, we have applied the agent-based decomposition approach to a realworld integrated production, inventory and routing problem. The studied problem is
rather general and it is independent of the choice of production and transportation subproblems. However, the planners (subproblems) must be able to take dual variables as
input and be able to produce new production or transportation plans that can be communicated to the coordinator (master problem). By choosing customized production
and transportation subproblems, our solution approach can be used to solve integrated
production, inventory, and routing problems where:
1. Decisions about inventories are taken centrally and detailed decisions about transportation and production are taken locally.
2. The master problem can produce dual variables and receive production and transportation plans.
Hence, we conclude that our approach has the potential to work as a framework for this
type of problem. Moreover, the ideas behind our decomposition approach are rather
general, and we argue that it can be used to develop solution approaches for other
161
types of problems than our case problem. However, it should be emphasized that a
decomposition scheme including master/subproblem formulations, variable restriction
strategy, and termination criteria needs to be designed in such a way that the special
characteristics of the studied problem is utilized.
For a set of scenarios in the studied case, the presented decomposition approach
has been used to conduct a quantitative comparison of different degrees of VMI utilization. The main purpose of the VMI comparison was to illustrate the use of our
approach. To obtain results that are statistically significant, more experiments need to
be conducted and the approach need to be further validated. The results indicate that
the algorithm produces solutions with lower costs for scenarios with more VMI customers. Most likely, the reason is that a higher number of VMI customers increases
the solution space of the problem. For instance, we have experienced solutions with
high penalty costs for scenarios without VMI customers, which has not been the case
for scenarios with VMI customers. A possible explanation is that the algorithm performs better for cases with VMI customers. One reason for this might be that the full
setting in general uses more iterations than the other settings. Therefore it would be
interesting to experiment with termination criteria that allow the different settings to
use approximately the same number of iterations before termination. Another possible
explanation is the restriction that allows vehicles to wait only in producer depots. This
makes it more difficult to obtain transport solutions in which more than one customer
is visited in the same outbound trip.
By enabling the economic effects of the introduction of VMI to be studied, we believe that the proposed problem specific solution approach has the potential to provide
strategic decision support (concerning VMI) for the involved actors. Moreover, since
the approach can be used for suggesting candidate plans for the modeled resources we
further believe it has potential to be used as an operational decision support system. For
instance, it can suggest plans to human planners in real time to facilitate their decision
making.
162
Appendix
An extended EastWest Transport Corridor (EWTC) scenario
1
Introduction
The scenario contains one supplier (in Kaunas) of two types of products, and three
customers (Älmhult, Copenhagen and Esbjerg). Transportation is carried out by five
different transport operators using three modes of transportation (rail, road and sea).
An illustration of the transport network that is used in the scenario is given in Fig. 1.
Fig. 1: An illustration of the transport network that is used in the scenario.
The purpose of the simulation study is to investigate the impact of the following
transportation measures:
• A kilometer taxation of 0.15 e1 /km for trucks operating in Sweden and between
Copenhagen Terminal and Copenhagen Customer.
1 e=
euro
163
• A CO2 taxation for all vehicles operating in the modeled region. Tax levels from
0.10 e/kg up to 0.30 e/kg in steps of 0.05 are considered.
• A new direct railway track between Karlshamn and Älmhult (i.e., the South-East
Link). Two different timetables, which are synchronized in different ways with
the ferry arrivals in Karlshamn (from Klaipeda) are investigated (see Section 3.1
for detailed timetables).
In the scenario, entities are described using real data whenever possible, and estimations have been made when no real data could be found. Estimations are primarily
based on interviews with domain experts and real actors in the studied region.
2
Transport network
As can be seen in Fig. 1 the following 9 nodes (or terminals) are modeled; Kaunas
and Klaipeda (Lithuania), Karlshamn, Älmhult and Hässleholm (Sweden), and Copenhagen, Fredericia, Taulov and Esbjerg (Denmark). Kaunas represents a supplier node,
Älmhult, Copenhagen and Esbjerg represent customer nodes, and the other nodes represent transport terminals, in which some type of logistical operations (e.g., shunting)
are performed.
In the scenario, there is enough physical storage capacity in all nodes to be able
to handle the cargo volumes that flow in the system. However, as will be discussed
further in Section 4, customers use internal storage constraints, which are used when
determining how much and when products should be ordered.
The relevant input data for the connections in the transport network (represented
as double directed links) are presented in Table 1. For rail and sea links (on which
vehicles are restricted by timetables instead of by traveling speeds) we have chosen not
to report on average link traveling speeds.
3
Transportation
In the scenario, 8 different vehicle types are modeled (see Table 3) and the vehicles
consume 6 types of fuel, which are specified in Table 2. Vehicle types 1, 2, 3, 4, and
8 are used for time-tabled transportation, while vehicle types 5, 6, and 7 are used for
demand driven transportation. When studying the impact of a CO2 taxation, the CO2
tax is added as an additional fuel tax, denoted as “CO2 tax” in Table 2. For vehicles
that run on electricity, i.e., vehicle type 3 and 4, the CO2 emissions are determined
by how electricity is produced in the different countries where transportation is carried
out. In the scenario, 5 different transport operators (2 rail operators, 2 road operators
and 1 sea operator) are modeled, and the details of the 5 transport operators are given
in Table 4. For each transport operator involved in a (potentially intermodal) “supplierto-customer” transport, a fix order cost of 10 e will be charged.
164
Taulov − Esbjerg (Rail)
Fredericia - Esbjerg (Road)
Copenhagen Terminal - Esbjerg (Road)
Copenhagen Terminal- Taulov (Rail)
Copenhagen Terminal - Copenhagen Customer (Road)
Hässleholm - Copenhagen Terminal (Rail)
Hässleholm - Älmhult (Rail)
Karlshamn − Copenhagen Customer (Road)
Karlshamn − Copenhagen Terminal (Road)
Karlshamn − Hässleholm (Rail)
Karlshamn − Älmhult (Road)
Karlshamn − Älmhult (Rail)
Klaipeda − Fredericia (Sea)
Klaipeda − Karlshamn (Sea)
Kaunas − Esbjerg (Road)
Kaunas − Klaipeda (Rail)
Table 1: The available connections (representing double directed links).
Identifier
1
2
3
4
5 6 7
8
9
10 11 12 13 14 15 16
Length (km)
240 1562 537 900 77 77 100 195 193 60 140 32 240 292 95 81
Avg speed (km/h) 36.6 71 75 78 27 71 75 -
To be able to cross the bridges over “Oresund” (between Sweden and Denmark)
and the “Great Belt” (Denmark) the transport operators need to pay fees according to
Table 5. The following routes are considered for traveling from Kaunas to the customers:
•
•
•
•
•
•
•
•
•
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Hässleholm (Rail) Älmhult
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Road) Älmhult
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Älmhult
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Hässleholm (Rail) Copenhagen
Terminal (Road) Copenhagen Customer
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Road) Copenhagen Customer
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Hässleholm (Rail) Copenhagen
Terminal (Rail) Taulov (Rail) Esbjerg
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Rail) Hässleholm (Rail) Copenhagen
Terminal (Road) Esbjerg
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Road) Copenhagen Terminal (Road)
Esbjerg
Kaunas (Rail) Klaipeda (Sea) Karlshamn (Road) Copenhagen Terminal (Rail)
165
Taulov (Rail) Esbjerg
• Kaunas (Road) Esbjerg
• Kaunas (Rail) Klaipeda (Sea) Fredericia (Road) Esbjerg
Table 2: Input data for the modeled fuel types. In the table we only report on a CO2 tax level of 0.05 e/kg.
However, this level can be used to generate other tax levels.
Sweden)∗
MK3 Diesel (Denmark,
MK3 Diesel (Continent)∗
MK3 Diesel Train (Denmark)∗
Electricity Train (Denmark, Sweden)
Vessel fuel (Denmark, Lithuania, Sweden)
Electricity Train (Lithuania)
∗
Id
Cost
CO2 tax (0.05 e/kg)
1
2
3
4
5
6
1.173
1.036 e/dm3
1.036 e/dm3
0.05 e/kWh
1.25 e/dm3
0.01 e/kWh
e/dm3
0.1321 e/dm3
0.1321 e/dm3
0.1319 e/dm3
0.0891 e/kWh
0.1590 e/dm3
0.063 e/kWh
MK3 (European fuel or Diesel environmental class 3) is allowed to contain a maximum of 0.5 % sulfur/dm3 (by weight).
3.1
Timetables
Timetabled vehicles travel in both directions on the links they operate. However, since
the scenario focus on transports going in direction towards the customers, we have
chosen to only present timetables in that direction.
Kaunas-Klaipeda: The link between Kaunas and Klaipeda is operated by daily train
departures, with departure time at 16.40 and arrival time at 06.40 the morning after.
Klaipeda-Karlshamn: Klaipeda and Karlshamn is operated by ferries, which depart
from Klaipeda 6 days per week, i.e., Monday-Friday and Sunday. The time table for
the ferry line between Klaipeda and Karlshamn is presented in Table 6.
Klaipeda-Fredericia: The link between Klaipeda and Fredericia is operated by two
ferry departures each week, and the timetable is shown in Table 7.
Karlshamn-Hässleholm-Älmhult: From Karlshamn to Älmhult (via Hässleholm)
there are tree train departures per week, with departure and arrival times as shown in
Table 8.
Karlshamn-Hässleholm-Copenhagen-Taulov: From Karlshamn to Taulov (via Hässleholm and Copenhagen), there are three train departures per week, and the timetable
is given in Table 9.
Taulov-Esberg: From Taulov to Esbjerg there are three weekly train departures, with
departure and arrival times as presented in Table 10.
Karlshamn-Älmhult (South-East Link): Two different timetables are considered for
transportation on the direct link between Karlshamn and Älmhult, and in both timetables there is one scheduled departure per day. In the first timetable trains depart from
166
Karlshamn at 16.50 and arrive to Älmhult at 18.07, and in the second timetable departures are at 06.00 and arrivals at 07.17.
Identifier
Mode
Fuel type
Fuel consumption per km (empty vehicle)
Fuel consumption per km (full vehicle)
Distance based cost (e/km)∗
Kilometer tax (e/km)∗∗
CO2 emission (g/ unit of fuel)
Cargo Capacity (m3 )
Cargo Capacity (ton)
Cargo Capacity (TEUs)
Loading/unloading prep time (mins)
TEU loading/unloading time (mins)
Loading/unloading cost (e/min)
1
Sea
5
80
80
20
3179
16175
4562
414
60
1
0.39
2
Rail
3
3.3
3.3
4
2637
858
242
22
30
1
0.39
3
Rail
4
21.1
21.1
4.6
178.2
858
242
22
30
1
0.39
4
Rail
6
28
28
8
1260
1950
550
50
30
1
0.39
5
Road
1
0.236
0.354
0.41
0.153
2642
96
26
2
15
1
0.39
6
Road
1
0.327
0.49
0.43
0.165
2642
120
40
3
15
1
0.39
7
Road
2
0.236
0.354
0.4
2642
96
26
2
15
1
0.39
Ferry Klaipeda-Fredericia
Truck 2 TEU (Continent)
Truck 3 TEU (Sweden-Denmark)
Truck 2 TEU (Sweden-Denmark)
Train Electricity (Lithuania)
Train Electricity (Sweden-Denmark)
Train Diesel (Denmark)
Ferry (Klaipeda-Karlshamn)
Table 3: Input data for the vehicle types available in the scenario.
8
Sea
5
80
80
10
3179
16175
4562
414
60
1
0.39
In addition to the fuel cost, which is also assumed to be distance based.
Kilometer taxation is applied on the road links between Karlshamn and Copenhagen (link 8 and 9), and on the road link
between Karlshamn and Älmhult (link 6).
∗
∗∗
4
Production and consumption
In the scenario, two types of products (furnitures and electronics) and one supplier (in
Kaunas, Lithuania) are modeled, and we have made the following assumptions:
• A logistics operator is responsible for handling two types of products (i.e., furnitures and electronics). Hence, in the scenario the time it takes to fill a container
with products is represented instead of actual production.
• It is assumed that both product types are packed and transported in 20 ft ISOcontainers (TEUs), with weight 11 tonnes and volume 39 m3 .
167
• Each container (TEU) takes 30 minute to fill with a cost of 1 e/minute.
In Table 11 the relevant details for the product types are summarized.
Details about the three customers (forecasted consumptions, storage constraints,
etc) are summarized in Table 12. For deliveries earlier or later than the delivery time
window, a penalty cost corresponding to 1% of the cost for the ordered products will
be charged each day. The penalty costs are evenly distributed over time so that, for
instance, a delay of half a day will result in a penalty of 0.5% of the ordering cost.
Moreover, all modeled customers allow deliveries to be made up to 18 days later than
the delivery time window, however to a considerably large penalty cost.
Table 4: Input data for five transport operators that provide different types of transportation.
Vehicle
Type
Time-based
cost (e/h)
Traveled
links
load factor∗
Rail operator 1
4
50
1
0.8
Rail operator 2
3
2
54
54
5,7,10,11,13
16
0.7
0.7
Road operator 1
7
30
2
0.8
Road operator 2
5
6
39.7
39.7
6,8,9,12,14,15
6,8,9,12,14,15
0.8
0.8
Sea operator
1
8
900
900
3
4
0.88
0.88
For rail and sea transportation, the load factor refers to the average load utilization factor. For road transportation it refers
to a probability, at the time of booking, that additional bookings will utilize some or all of the remaining capacity of the
particular transport. This probability is assumed to be independent on the amount of remaining capacity and the time of
booking.
∗
168
8. Karlshamn − Copenhagen Terminal (Road)
9. Karlshamn − Copenhagen Customer (Road)
11. Hässleholm - Copenhagen Terminal (Rail)
13. Copenhagen Terminal- Taulov (Rail)
14. Copenhagen Terminal - Esbjerg (Road)
Table 5: Summary of the fees for crossing the Oresund Bridge and the Great Belt Bridge.
101
101
101
101
319
-
390
-
104
104
3. Train Electricity (Sweden-Denmark)
5. Truck 2 TEU (Sweden-Denmark)
6. Truck 3 TEU (Sweden-Denmark)
Table 6: Timetable for the ferry line between Klaipeda and Karlshamn.
Klaipeda (dep)
Karshamn (arr)
∗
Mon
Tue
Wed
Thu
Fri
Sat
Sun
18.00
09.00∗
18.00
08.30∗
19.00
10.00∗
18.00
08.30∗
20.00
11.00∗
-
17.00
08.00∗
Ferries depart in the evening and arrive the morning after.
169
Table 7: Timetable for the ferry line between Klaipeda and Fredericia.
Klaipeda (dep)
Fredericia (arr)
Dep 1
Dep 2
Thu:11.00
Fri:18.30
Sun:21.00
Tue:06.00
Table 8: Timetable for train between Karlshamn and Älmhult (via Hässlehom).
Karlshamn (dep)
Hässleholm (arr)
Hässleholm (dep)
Älmhult (arr)
Mon
Wed
Fri
Mon:15.00
Mon:16.25
Mon:16.55
Mon:17.43
Wed:15.00
Wed:16.25
Wed:16.55
Wed:17.43
Fri:15.00
Fri:16.25
Fri:16.55
Fri:17.43
Table 9: Timetable for train between Karlshamn and Taulov (via Hässlehom and Copenhagen).
Karlshamn (dep)
Hässleholm (arr)
Hässleholm (dep)
Copenhagen (arr)
Copenhagen (dep)
Taulov (arr)
Mon
Wed
Fri
Mon:15.00
Mon:16.25
Mon:16.55
Mon:18.55
Mon:21.55
Tue:01.07
Wed:15.00
Wed:16.25
Wed:16.55
Wed:18.55
Wed:21.55
Thu:01.07
Fri:15.00
Fri:16.25
Fri:16.55
Fri:18.55
Fri:21.55
Sat:01.07
170
Table 10: Timetable for train from Taulov to Esbjerg.
Taulov (dep)
Esbjerg (arr)
Tue
Thu
Sat
02.52
04.02
02.52
04.02
02.52
04.02
Table 11: The two product types that are included in the scenario.
Identifier
Weight (kg/TEU)
Value (e/TEU)
Volume (m3 /TEU)
Interest rate (% of product cost per day)∗
Furnitures
Electonics
1
11000
20000
39
0.075
2
11000
50000
39
0.075
∗
The interest rate describes the approximate costs for tied up capital, and other inventory carrying costs, e.g., warehousing,
depreciation, insurance, taxation, obsolescence, and shrinkage, during transportation. The cost is calculated as the product
cost (i.e., product value plus the cost for filling the containers) times the traveling time (in days) times the interest rate.
Table 12: Overview of the input data for the customers.
Product type
Forecasted consumption (TEUs/day)
Safety storage level (TEUs)
Max storage level (TEUs)∗
Candidate order quanties (units)
Estimated order-to-delivery lead-time (days)
Ordering opportunity period (days)∗∗
Inventory holding (% of product cost per day)∗∗∗
Esbjerg
Älmhult
Copenhagen
Furnitures
1
7
15
1,2,3
4
0.5
0.075
Furnitures
1
7
15
1,2,3
4
0.5
0.075
Electronics
1
7
15
1,2,3
3
0.5
0.075
At the beginning of simulation, the storage level in a customer is set to the maximum allowed storage level.
An ordering opportunity expresses the time between two occasions when the customer may place orders.
The inventory holding cost for one day is calculated as the interest holding rate times the price of the products. The
price of the products is the product value for all ordered TEUs plus the costs for transportation and filling the containers.
∗
∗∗
∗∗∗
171
172
References
Ahn, H., & Kaminsky, P. (2005). Production and distribution policy in a two-stage
stochastic push-pull supply chain. IIE Transactions, 37(7), 609–621.
Alstrom, P.(2001). Numerical computation of inventory policies, based on the EOQ/σx
value for order-point systems. International Journal of Production Economics,
71(1-3), 235-245.
Amigoni, F., & Gatti, N. (2003). On the simulation of multiagent-based regulators
for physiological processes. In Lecture Notes in Computer Science: Vol. 2581.
Multi-Agent-Based Simulation II (pp. 142–154). Springer.
Antunes, L., Balsa, J., Urbano, P., Moniz, L., & Roseta-Palma, C. (2006). Tax compliance in a simulated heterogeneous multi-agent society. In Lecture Notes in
Computer Science: Vol. 3891. Multi-Agent-Based Simulation VI (pp. 147–161).
Springer.
Axsäter, S. (2006). Inventory control (2nd ed.). New York, USA: Springer.
Banister, D. (Ed.). (1998). Transport policy and the environment. Oxford: Alexandrine
Press.
Barahona, F., & Anbil, R. (2000). The volume algorithm: producing primal solutions
with a subgradient algorithm. Mathematical Programming, 87(3), 385–399.
Barnhart, C., Johnson, E. L., Nemhauser, G. L., Savelsbergh, M. W. P., & Vance,
P. H. (1998). Branch-and-price: Column generation for solving huge integer
programs. Operations Research, 46, 316–329.
Bellifemine, F. L., Caire, G., & Greenwood, D. (2007). Developing multi-agent systems with JADE (Wiley Series in Agent Technology). Chippenham, Wiltshire,
England: John Wiley & Sons.
Benders, J. (1962). Partitioning procedures for solving mixed-variables programming
problems. Numerische Mathematik, 4, 238–252.
Bergkvist, M., Davidsson, P., Persson, J. A., & Ramstedt, L. (2005). A hybrid microsimulator for determining the effects of governmental control policies on transport chains. In Lecture Notes in Computer Science: Vol. 3415. Multi-Agent and
Multi-Agent-Based Simulation (pp. 236–247). Springer.
Bilgen, B., & Ozkarahan, I. (2007). A mixed-integer linear programming model for
bulk grain blending and shipping. International Journal of Production Eco173
nomics, 107(2), 555–571.
Boerkamps, J., & van Binsbergen, A.(1999). Goodtrip - a new approach for modelling
and evaluation of urban goods distribution. In Proceedings of City Logistics I
(pp. 175–186). 12-14 July, Cairns, Australia.
Brandimarte, P., & Villa, A.(1995). Advanced models for manufacturing systems management. Bocan Raton, Florida: CRC Press, Inc.
Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., & Mylopoulos, J.(2004). Tropos:
An agent-oriented software development methodology. Autonomous Agents and
Multi-Agent Systems, 8(3), 203-236.
Breton, L., Zucker, J.-D., & Clément, E. (2001). A multi-agent based simulation of
sand piles in a static equilibrium. In Lecture Notes in Computer Science: Vol.
1979. Multi-Agent-Based Simulation (pp. 108–118). Springer.
Button, K.(1997). Transport economics (2nd ed.). Glos, UK: Edward Elgar Publishing
Limited.
Camarinha-Matos, L., & Afsarmanesh, H. (2003). Elements of a base VE infrastructure. Journal of Computers in Industry, 51(2), 139–163.
Campbell, A., Clarke, L., Kleywegt, A., & Savelsbergh, M. (1998). The inventory
routing problem. In G. Laporte & G. Grainic (Eds.), Fleet Management and
Logistics. Kluwer.
Caramia, M., & Guerriero, F. (2009). A heuristic approach to long-haul freight transportation with multiple objective functions. Omega, 37(3), 600–614.
Cardoso, H. L., & Oliveira, E. C. (2004). Virtual enterprise normative framework
within electronic institutions. In Engineering Societies in the Agents World V,
5th International Workshop (ESAW 2004), Revised Selected and Invited Papers
(p. 14-32). October 20-22, Toulouse, France: Springer.
Chandra, P., & Fisher, M. L. (1994). Coordination of production and distribution planning. European Journal of Operational Research, 72(3), 503–517.
Chang, T. (2008). Best routes selection in international intermodal networks. Computers & Operations Research, 35(9), 2877–2891.
Chatfield, D. C., Hayya, J. C., & Harrison, T. P.(2007). A multi-formalism architecture
for agent-based, order-centric supply chain simulation. Simulation Modelling
Practice & Theory, 15(2), 153-175.
Chien, T. W., Balakrishnan, A., & Wong, R. T. (1989). An integrated inventory allocation and vehicle routing problem. Transportation Science, 23(2), 67–76.
Creswell, J. W. (2009). Research design: Qualitative, quantitative, and mixed methods
approaches (3rd ed.). USA: SAGE Publications, Inc.
Dantzig, G., & Wolfe, P. (1961). The decomposition algorithm for linear programs.
Econometrica, 29, 767–778.
Daugherty, P. J., Myers, M. B., & Autry, C. W. (1999). Automatic replenishment
programs: an empirical examination. Journal of Business Logistics, 20(2), 63–
82.
Davidsson, P. (2001). Multi agent based simulation: Beyond social simulation. In
174
Lecture Notes in Computer Science: Vol. 1979. Multi-Agent-Based Simulation
(pp. 97–107). Springer.
Davidsson, P., Hederstierna, A., Jacobsson, A., Persson, J. A., Carlsson, B., Johansson,
S. J., et al. (2006). The concept and technology of plug and play business. In
Proceedings of the Eighth International Conference on Enterprise Information
Systems: Databases and Information Systems Integration (ICEIS 2006) (p. 213217). May 23-27, Paphos, Cyprus.
Davidsson, P., Henesey, L., Ramstedt, L., Törnquist, J., & Wernstedt, F. (2005). An
analysis of agent-based approaches to transport logistics. Transportation Research Part C, 13(4), 255–271.
Davidsson, P., Holmgren, J., Persson, J. A., & Ramstedt, L. (2008). Multi agent
based simulation of transport chains. In Proceedings of the 7th international
joint conference on Autonomous agents and multiagent systems (AAMAS 2008)
(pp. 1153–1160). May 12-16, Estoril, Portugal: International Foundation for
Autonomous Agents and Multiagent Systems.
Davidsson, P., Johansson, S. J., Persson, J. A., & Wernstedt, F. (2003). Agent-based
approaches and classical optimization techniques for dynamic distributed resource allocation: A preliminary study. In Workshop on Representations and Approaches for Time-Critical Decentralized Resource/Role/Task Allocation (AAMAS 2003). May 9, Melbourne, Australia.
Davidsson, P., Logan, B., & Takadama, K. (Eds.). (2005). Lecture Notes in Computer Science (LNCS): Vol. 3415. Multi-Agent and Multi-Agent-Based Simulation. Springer.
Davidsson, P., Persson, J. A., & Holmgren, J. (2007). On the integration of agentbased and mathematical optimization techniques. In Lecture Notes in Computer
Science: Vol. 4496. Agents and Multi-Agent Systems: Technologies and Applications (pp. 1–10). Springer. (Paper VI in this thesis)
de Jong, G., & Ben-Akiva, M. (2007). A micro-simulation model of shipment size and
transport chain choice. Transportation Research Part B, 41(9), 950–965.
Dorer, K., & Calisti, M. (2005). An adaptive solution to dynamic transport optimization. In Proceedings of the fourth international joint conference on Autonomous
agents and multiagent systems (AAMAS 2005) (pp. 45–51). July 25-29, Utrecht,
The Netherlands: ACM.
Downing, T. E., Moss, S., & Pahl-Wostl, C. (2001). Understanding climate policy
using participatory agent-based social simulation. In Lecture Notes in Computer
Science: Vol. 1979. Multi-Agent-Based Simulation (pp. 198–213). Springer.
Drexl, A., & Kimms, A. (1997). Lot sizing and scheduling - survey and extensions.
European Journal of Operational Research, 99, 221–235.
Ebenhöh, E. (2006). Modeling non-linear common-pool resource experiments with
boundedly rational agents. In Lecture Notes in Computer Science: Vol. 3891.
Multi-Agent-Based Simulation VI (pp. 133–146). Springer.
El hadouaj, S., Drogoul, A., & Espié, S. (2001). How to combine reactivity and an175
ticipation: the case of conflicts resolution in a simulated road traffic. In Lecture
Notes in Computer Science: Vol. 1979. Multi-Agent-Based Simulation (pp. 82–
96). Springer.
Elliston, L., Hinde, R., & Yainshet, A. (2005). Plant disease incursion management.
In Lecture Notes in Computer Science: Vol. 3415. Multi-Agent and Multi-AgentBased Simulation (pp. 225–235). Springer.
European Commission. (2001). White paper - European transport policy for 2010:
time to decide (Tech. Rep.). Luxemburg.
Eurostat. (2009). Panorama of transport (2009 edition). Luxembourg: Office for
Official Publications of the European Communities.
Federgruen, A., & Zipkin, P.(1984). A combined vehicle and inventory routing allocation problem. Operations Research, 32(5), 1019–1037.
Fjørtoft, K., Westerheim, H., Vannesland, A., & Hagaseth, M. (2009). FREIGHTWISE
framework architecture, Release 3 (FREIGHTWISE project, Work Package 13
Delivarable).
Friberg, G., Flack, M., Hill, P., Johansson, M., Vierth, I., McDaniel, J., et al. (2007).
Kilometerskatt för lastbilar - effekter på näringar och regioner (Redovisning av
ett regeringsuppdrag i samverkan med ITPS, Rapport 2007:2). Swedish Institute
for Transport and Communications Analysis (SIKA).
Fu, Y., Piplani, R., de Souza, R., & Wu, J. (2000). Multi-agent enabled modeling
and simulation towards collaborative inventory management in supply chains.
In Proceedings of the 2000 Winter Simulation Conference (pp. 1763–1772). December 10-13, Orlando, Florida, USA: IEEE.
Fumero, F., & Vercellis, C. (1999). Synchronized development of production, inventory, and distribution schedules. Transportation Science, 33(3), 330–340.
Gambardella, L., Rizzoli, A., & Funk, P. (2002). Agent-based planning and simulation
of combined rail/road transport. Simulation, 78(5), 293–303.
Garro, A., & Russo, W. (2009). Exploiting the easyABMS methodology in the logistics domain. In Proceedings of the 2nd Multi-Agent Logics, Languages, and
Organisations Federated Workshops (MALLOW 2009). September 7-10, Turin,
Italy.
Geoffrion, A. M. (1974). Lagrangean relaxation for integer programming. Mathematical Programming Study, 2, 82–114.
Gjerdrum, J., Shah, N., & Papageorgiou, L. G. (2001). A combined optimization and
agent-based approach to supply chain modelling and performance assessment.
Production Planning & Control, 12, 81–88.
Hales, D., Edmonds, B., & Rouchier, E. N. J. (Eds.). (2003). Lecture Notes in Computer Science (LNCS): Vol. 2927. Multi-Agent-Based Simulation III. Springer.
Hellingrath, B., Böhle, C., & Huet, J. van. (2009). A framework for the development
of multi-agent systems in supply chain management. In Proceedings of the 42nd
Hawaii International Conference on System Sciences (HICSS 2009) (pp. 1–9).
January 5-8, Waikoloa, Big Island, Hawaii, USA.
176
Hemelrijk, C. K. (2001). Sexual attraction and inter-sexual dominance among virtual
agents. In Lecture Notes in Computer Science: Vol. 1979. Multi-Agent-Based
Simulation (pp. 167–180). Springer.
Henein, C. M., & White, T. (2005). Agent-based modelling of forces in crowds. In
Lecture Notes in Computer Science: Vol. 3415. Multi-Agent and Multi-AgentBased Simulation (pp. 173–184). Springer.
Hirayama, K. (2006). Distributed lagrangean relaxation protocol for the generalized
mutual assignment problem. In Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems (AAMAS 2006) (pp. 890–
892). May 8-12, Hakodate, Japan: ACM.
Holmgren, J., Davidsson, P., Persson, J. A., & Ramstedt, L. (2007). An agent based
simulator for production and transportation of products. In The 11th World Conference on Transport Research. June 8-12, Berkeley, USA.
Holmgren, J., Persson, J. A., Davidsson, P., & Ramstedt, L. (2010). TAPAS: A multiagent-based model for simulation of supply chains. (Submitted for publication,
Paper II in this thesis)
Holmgren, J., Ramstedt, L., Davidsson, P., & Persson, J. A. (2010). Multi-agent-based
simulation for analyzing production and transportation measures: A case study.
(Submitted for publication, Paper III in this thesis)
Jansen, B., Swinkels, P., G.J.A., Teeuwen, B. d., & Fleuren, H. (2004). Operational
planning of a large-scale multi-modal transportation system. European Journal
of Operational Research, 156(1), 41–53.
Jennings, N., Faratin, P., Lomuscio, A., Parsons, S., Sierra, C., & Wooldridge, M.
(2001). Automated negotiation: Prospects, methods and challenges. International Journal of Group Decision and Negotiation, 10(2), 199–215.
Kafeza, E., & Karlapalem, K.(2001). Speeding up CapBasED-AMS activities through
multi-agent scheduling. In Lecture Notes in Computer Science: Vol. 1979. MultiAgent-Based Simulation (pp. 119–132). Springer.
Karageorgos, A., Mehandjiev, N., Weichhart, G., & Hämmerle, A.(2003). Agent-based
optimisation of logistics and production planning. Engineering Applications of
Artificial Intelligence, 16(4), 335–348.
Karmarkar, U. S., & Schrage, L. (1985). The deterministic dynamic product cycling
problem. Operations Research, 33(2).
Katagishi, H., & Pearce, J. P. (2007). Distributed DCOP algorithm for arbitrary koptima with monotonically increasing utility. In CP 2007 Workshop on Distributed Constraint Reasoning. September 23, Providence, RI.
Kelton, W. D., & Barton, R. R. (2003). Experimental design for simulation. In Proceedings of the 2003 Winter Simulation Conference (pp. 59–65). December 7-10,
New Orleans, Louisiana, USA: IEEE.
Kleijnen, J. P. C. (2005). An overview of the design and analysis of simulation experiments for sensitivity analysis. European Journal of Operational Research,
164(2), 287–300.
177
Kleijnen, J. P. C.(2008). Design of experiments: overview. In Proceedings of the 2008
Winter Simulation Conference (pp. 479–488). December 7-10, Miami, Florida,
USA: IEEE.
Knabe, T., Schillo, M., & Fischer, K. (2002). Improvements to the FIPA contract net
protocol for performance increase and cascading applications. In International
Workshop for Multi-Agent Interoperability at the German Conference on AI (KI2002).
Komma, V., Jain, P., & Mehta, N. (2007). Agent-based simulation of a shop floor
controller using hybrid communication protocols. International Journal of Simulation Modelling, 6(4), 206–217.
Kwon, O., Im, G., & Chang, K. (2005). MACE-SCM: An effective supply chain decision making approach based on multi-agent and case-based reasoning. In Proceedings of the 38th Annual Hawaii International Conference on System Sciences
(HICSS’05). January 3-6, Big Island, Hawaii, USA: IEEE Computer Society.
Law, A. M. (2007). Statistical analysis of simulation output data: the practical state of
the art. In Proceedings of the 2007 Winter Simulation Conference (pp. 77–83).
December 9-12, Washington, DC, USA: IEEE.
Law, A. M., & Kelton, W. D. (2000). Simulation modelling and analysis (3rd ed.).
Singapore: McGraw-Hill.
Lei, L., Liu, S., Ruszczynski, A., & Park, S. (2006). On the integrated production,
inventory, and distribution routing problem. IIE Transactions, 38(11), 955–970.
Liedtke, G. (2009). Principles of micro-behavior commodity transport modeling.
Transportation Research Part E, 45(5), 795–809.
Lundgren, J., Rönnqvist, M., & Värbrand, P.(2003). Optimeringslära (2nd ed.). Lund:
Studentlitteratur.
Machado, A., Ramalho, G., Zucker, J.-D., & Drogoul, A. (2003). Multi-agent patrolling: an empirical analysis of alternative architectures. In Lecture Notes in
Computer Science: Vol. 2581. Multi-Agent-Based Simulation II (pp. 155–170).
Springer.
March, S. T., & Smith, G. F.(1995). Design and natural science research on information
technology. Decision Support Systems, 15(4), 251–266.
McGeary, F., & Decker, K. (2001). Modeling a virtual food court using DECAF. In
Lecture Notes in Computer Science: Vol. 1979. Multi-Agent-Based Simulation
(pp. 68–81). Springer.
Melo, A., Belchior, M., & Furtado, V. (2006). Analyzing police patrol routes by simulating the physical reorganization of agents. In Lecture Notes in Computer
Science: Vol. 3891. Multi-Agent-Based Simulation VI (pp. 99–114). Springer.
Mengistu, D., Tröger, P., Lundberg, L., & Davidsson, P. (2008). Scalability in distributed multi-agent based simulations: The JADE case. In Proceedings of the
2008 Second International Conference on Future Generation Communication
and Networking Symposia (FGCNS 2008) (pp. 93–99). December 13-15, Sanya,
Hainan Island, China: IEEE Computer Society.
178
Miyashita, K. (2005). ASAP: Agent-based Simulator for Amusement Park. In Lecture
Notes in Computer Science (LNCS): Vol. 3415. Multi-Agent and Multi-AgentBased Simulation (pp. 195–209). Springer.
Modi, P. J., Shen, W.-M., Tambe, M., & Yokoo, M.(2003). An asynchronous complete
method for distributed constraint optimization. In Proceedings of the second
international joint conference on Autonomous agents and multiagent systems
(AAMAS 2003) (pp. 161–168). July 14-18, Melbourne, Australia: ACM.
Moss, S., & Davidsson, P. (Eds.). (2001). Lecture Notes in Computer Science (LNCS):
Vol. 1979. Multi-Agent-Based Simulation. Springer.
Munroe, S., Miller, T., Belecheanu, R. A., Pěchouček, M., McBurney, P., & Luck,
M. (2006). Crossing the agent technology chasm: Lessons, experiences and
challenges in commercial applications of agents. Knowledge engineering review,
21(4), 345-392.
Noda, I., Ohta, M., Shinoda1, K., Kumada, Y., & Nakashima, H. (2003). Evaluation
of usability of dial-a-ride systems by social simulation. In Lecture Notes in
Computer Science: Vol. 2927. Multi-Agent-Based Simulation III (pp. 167–181).
Springer.
Padgham, L., & Winikoff, M.(2004). Developing intelligent agent systems: A practical
guide. Chippenham, Wiltshire, England: John Wiley & Sons.
Parunak, H. V. (1999). Industrial and practical applications of DAI. In G. Weiss (Ed.),
Multiagent systems, - a modern approach to distributed artificial intelligence
(pp. 377–421). Cambridge, MA, USA: MIT Press.
Parunak, H. V. D., Savit, R., & Riolo, R. L.(1998). Agent-based modeling vs. equationbased modeling: A case study and users’ guide. In Lecture notes in computer
science: Vol. 1534. Multi-Agent Systems and Multi-Agent-Based Simulation (pp.
10–25). Springer.
Pawlaszczyk, D., & Strassburger, S. (2009). Scalability in distributed simulations of
agent-based models. In Proceedings of the 2009 Winter Simulation Conference
(pp. 1189–1200). Dec 13-16, Austin, Texas, USA: IEEE.
Pedone, R., & Conte, R. (2001). The Simmel effect: imitation and avoidance in social
hierarchies. In Lecture Notes in Computer Science: Vol. 1979. Multi-AgentBased Simulation (pp. 149–156). Springer.
Persson, J. A., Davidsson, P., Johansson, S. J., & Wernstedt, F. (2005). Combining
agent-based approaches and classical optimization techniques. In Proceedings
of the Third European Workshop on Multi-Agent Systems (EUMAS 2005) (pp.
260–269). December 7-8, Brussels, Belgium.
Persson, J. A., & Göthe-Lundgren, M. (2005). Shipment planning at oil refineries using column generation and valid inequalities. European Journal of Operational
Research, 163, 631–652.
Petcu, A. (2007). A class of algorithms for distributed constraint optimization. Thesis
Nr 3942, Swiss Federal Institute of Technology in Lausanne, Switzerland.
Premo, L. (2005).
Patchiness and prosociality: An agent-based model of
179
plio/pleistocene hominid food sharing. In Lecture Notes in Computer Science: Vol. 3415. Multi-Agent and Multi-Agent-Based Simulation (pp. 210–224).
Springer.
Ramstedt, L. (2008). Transport policy analysis using multi-agent-based simulation.
Doctoral Dissertation Series No. 2008:09, Blekinge Institute of Technology,
Sweden.
Ramstedt, L., Davidsson, P., Holmgren, J., & Persson, J. (2007). On the use of microlevel simulation for estimation of the effects of governmental control policies. In
The 11th World Conference on Transport Research. June 8-12, Berkeley, USA.
Robertson, D. A. (2003). The strategy hypercube: Exploring strategy space using
agent-based models. In Lecture Notes in Computer Science: Vol. 2927. MultiAgent-Based Simulation III (pp. 182–192). Springer.
Rodrigues, M. R., & da Rocha Costa, A. C. (2003). Using qualitative exchange values
to improve the modelling of social interactions. In Lecture Notes in Computer
Science: Vol. 2927. Multi-Agent-Based Simulation III (pp. 57–72). Springer.
Roorda, M. J., Cavalcante, R., McCabe, S., & Kwan, H. (2010). A conceptual framework for agent-based modelling of logistics services. Transportation Research
Part E: Logistics and Transportation Review, 46(1), 18–31.
Rouchier, J., & Thoyer, S. (2003). Modelling a European decision making process
with heterogeneous public opinion and lobbying: The case of the authorization
procedure for placing genetically modified organisms on the market. In Lecture
Notes in Computer Science: Vol. 2927. Multi-Agent-Based Simulation III (pp.
149–166). Springer.
Sahli, N., & Moulin, B.(2006). Agent-based geo-simulation to support human planning
and spatial cognition. In Lecture Notes in Computer Science: Vol. 3891. MultiAgent-Based Simulation VI (pp. 115–132). Springer.
Sakalys, A., Davidsson, P., Jarzemskis, A., Kronbak, J., Persson, J., Ramstedt, L., et al.
(2007). Knowledge development on international transport corridor (EastWest
Transport Corridor project, Work Package 5 Final Report). Vilnius, Lithuania.
Sandholm, T. W., & Lesser, V. R.(2001). Leveled commitments contracts and strategic
breach. Games and Economic Behaviour(35), 212–270.
Sapsford, R., & Jupp, V. (Eds.). (2006). Data collection and analysis (2nd ed.). Chennai, India: SAGE Publications Ltd.
Sargent, R. G. (2005). Verification and validation of simulation models. In Proceedings of the 2005 Winter Simulation Conference (pp. 130–143). December 4-7,
Orlando, Florida, USA: IEEE.
Sarmiento, A. M., & Nagi, R. (1999). A review of integrated analysis of productiondistribution systems. IIE Transactions, 31, 1061–1074.
Schillo, M., Kray, C., & Fischer, K. (2002). The eager bidder problem: a fundamental
problem of DAI and selected solutions. In Proceedings of the first international
joint conference on autonomous agents and multiagent systems (AAMAS 2002)
(pp. 599–606). July 15-19, Bologna, Italy: ACM.
180
Shade, W., Martino, A., & Roda, M. (1999). Assessment of transport strategies. In
Proceedings of the 17th International Conference of the System Dynamics Society and the 5th Australian & and New Zealand Systems Conference. July 20-23,
Wellington, New Zealand.
Shah, A. P., & Pritchett, A. R.(2005). Work-environment analysis: Environment centric
multi-agent simulation for design of socio-technical systems. In Lecture Notes
in Computer Science: Vol. 3415. Multi-Agent and Multi-Agent-Based Simulation
(pp. 65–77). Springer.
Sichman, J. S., & Antunes, L. (Eds.). (2006). Lecture Notes in Computer Science
(LNCS): Vol. 3891. Multi-Agent-Based Simulation VI. Springer.
Sichman, J. S., Bousquet, F., & Davidsson, P. (Eds.). (2003). Lecture Notes in Computer Science (LNCS): Vol. 2581. Multi-Agent-Based Simulation II. Springer.
SIKA. (2008). Vilken koldioxidskatt krävs för att nå framtida utsläppsmål? (PM
2008:4). Swedish Institute for Transport and Communications Analysis (SIKA).
Silver, E., & Meal, H. (1973). A heuristic for selecting lot size requirements for the
case of a deterministic time-varying demand rate and discrete opportunities for
replenishment. Production and Inventory Management, 14, 64–74.
Smith, R. G. (1980). The contract net protocol: High-level communication and control
in a distributed problem solver. IEEE Transactions on Computers, C-29(12),
1104-1113.
Sohier, E. (2006). Modelling a complex production scheduling problem - optimization techniques. Unpublished master’s thesis, Blekinge Institute of Technology
(BTH), Sweden.
Sommar, R., & Woxenius, J. (2007). Time perspectives on intermodal transport of
consolidated cargo. European Journal of Transport and Infrastructure Research,
7(2), 163–182.
Sosa, R., & Gero, J. S. (2003). Social change: Exploring design influence. In Lecture
Notes in Computer Science: Vol. 2927. Multi-Agent-Based Simulation III (pp.
106–119). Springer.
Strader, T., Lin, F., & Shaw, M. (1998). Simulation of order fulfillment in divergent
assembly supply chains. Journal of Artificial Societies and Social Simulation,
1(2).
Swahn, H.(2001). The Swedish national model systems for goods transport SAMGODS
- a brief introductory overview (SAMPLAN-report 2001:1). Swedish Institute
for Transport and Communications Analysis (SIKA).
Swaminathan, J. M., Smith, S. F., & Sadeh, N. M. (1998). Modeling supply chain
dynamics: A multiagent approach. Decision Sciences, 29(3), 607–632.
Takahashi, I., & Okada, I. (2003). Monetary policy and banks’ loan supply rules to
harness asset bubbles and crashes. In Lecture Notes in Computer Science: Vol.
2927. Multi-Agent-Based Simulation III (pp. 89–105). Springer.
Tavasszy, L., Smeenk, B., & Ruijgrok, C. (1998, November). A DSS for modelling
logistic chains in freight transport policy analysis. International Transactions in
181
Operational Research, 5(6), 447–459.
Terzi, S., & Cavalieri, S. (2004). Simulation in the supply chain context: a survey.
Computers in Industry, 53(1), 3–16.
Thomas, D. J., & Griffin, P. M. (1996). Coordinated supply chain management. European Journal of Operational Research, 94, 1–15.
Tomita, S., & Namatame, A. (2003). Bilateral tradings with and without strategic
thinking. In Lecture Notes in Computer Science: Vol. 2927. Multi-Agent-Based
Simulation III (pp. 73–88). Springer.
Toth, P., & Vigo, D. (Eds.). (2002). The vehicle routing problem. SIAM Monographs
on Discrete Mathematics and Applications.
Troche, G.(2009). Activity-based rail freight costing - a model for calculating transport
costs in different production systems. Unpublished doctoral dissertation, KTH,
Royal Institute of Technology, Sweden.
van der Zee, D. (2006). Modeling decision making and control in manufacturing simulation. International Journal of Production Economics, 100(1), 155–167.
van der Zee, D., & van der Vorst, J. (2005). A modeling framework for supply chain
simulation: Opportunities for improved decision making. Decision Sciences,
36(1), 65.
Wei, Q., Sawaragi, T., & Tian, Y. (2005). Bounded optimization of resource allocation among multiple agents using an organizational decision model. Advanced
Engineering Informatics, 19(1), 67–78.
Weiss, G. (Ed.). (1999). Multiagent systems: a modern approach to distributed artificial intelligence. Cambridge, MA, USA: MIT Press.
Wernstedt, F., Davidsson, P., & Johansson, C. (2007). Demand side management in
district heating systems. In Proceedings of the 6th international joint conference
on Autonomous agents and multiagent systems (AAMAS 2007) (pp. 1–7). May
14-18, Honolulu, Hawaii, USA: ACM.
Wickenberg, T., & Davidsson, P. (2003). On multi agent based simulation of software
development processes. In Lecture Notes in Computer Science: Vol. 2581. MultiAgent-Based Simulation II (pp. 171–180). Springer.
Williams, I., & Raha, N.(2002). Review of freight modelling (Tech. Rep.). Cambridge,
UK. (Final Report DfT Integrated Transport and Economic Appraisal)
Wilson, R. (1934). A scientific routine for stock control. Harvard Business Review,
13(1), 116-129.
Winoto, P. (2003). A simulation of the market for offenses in multiagent systems: is
zero crime rates attainable? In Lecture Notes in Computer Science: Vol. 2581.
Multi-Agent-Based Simulation II (pp. 181–193). Springer.
Wolsey, L. A.(1998). Integer programming. New York, USA: John Wiley & Sons, Ltd.
Wooldridge, M. J. (2002). An Introduction to MultiAgent Systems. London, UK: John
Wiley & Sons, Ltd.
Wooldridge, M. J., & Jennings, N. R. (1995). Intelligent agents: theory and practice.
The Knowledge Engineering Review, 10(2), 115–152.
182
Xuehui, W., Lei, Z., Nong, X., & Yuhua, T. (2009). Time management in parallel
discrete event simulation. In International Forum on Information Technology
and Applications (IFITA 2009) (pp. 209–212). May 15-17, Chengdu, China:
IEEE.
Yngström-Wänn, S. (2007). Kilometerskatt som styrmedel för tung trafik i Skåne och
Blekinge (Publikation No. 2007:97). Kristianstad, Sweden.
Zambonelli, F., Jennings, N. R., & Wooldridge, M. (2003). Developing multiagent
systems: The GAIA methodology. ACM Transactions on Software Engineering
and Methodologies, 12(3), 317–370.
Zhou, H., & Benton Jr., W. (2007). Supply chain practice and information sharing.
Journal of Operations Management, 25(6), 1348–1365.
Ziliaskopoulos, A., & Wardell, W. (2000). An intermodal optimum path algorithm
for multimodal networks with dynamic arc travel times and switching delays.
European Journal of Operational Research, 125(3), 486–502.
183
This thesis concerns the integration of agent
technology and mathematical optimization for
improved decision support within the domain
of analysis and planning of production and transportation.These two approaches have often been
used separately in this domain but the research
concerning how to combine them is very limited.
The studied domain is considered to be complex due to the fact that many decision makers,
which influence each other, often are involved in
the decision making process. Moreover, problems
in the domain are typically large and combinatorial, which makes them more difficult to solve.
We argue that the integration of agent-based
approaches and mathematical optimization has
a high potential to improve analysis and planning of production and transportation. In order
to support this hypothesis, we have developed
and analyzed three different approaches to the
integration of agent technology and mathematical optimization.
First, we present a Multi-Agent-Based Simulation (MABS) model called TAPAS for simulation of decision-making and physical activities
in supply chains. By using agent technology and
optimization, we were able to simulate the decision-making of the involved actors as well as the
interaction between them, which is difficult using
traditional simulation techniques. In simulation
experiments, TAPAS has been used to study the
effects of different types of governmental taxes,
and synchronization of timetables. Moreover, we
provide an analysis of existing MABS applications with respect to a number of criteria. Also,
we present a framework containing a number of
abstract roles, responsibilities, and interactions,
which can be used to simplify the process of developing MABS models.
Second, we present an approach for efficient
planning and execution of intermodal transports.
The approach provides agent-based support for
key tasks, such as, finding the optimal sequence of
transport services (potentially provided by different transport operators) for a particular goods
transport, and monitoring the execution of transports. We analyzed the requirements of such an
approach and described a multi-agent system architecture meeting these requirements.
Finally, an optimization model for a real world
integrated production, inventory, and routing problem was developed. For solving and analyzing the
problem, we developed an agent-based solution
method based on the principles of Dantzig-Wolfe
decomposition. The purpose was to improve resource utilization and to analyze the potential effects of introducing VMI (Vendor Managed Inventory). In a case study, we conducted simulation
experiments, which indicated that an increased
number of VMI customers may give a significant
reduction of the total cost in the system.
On the integration of optimization
and agent technology for transportation and production planning
ABSTRACT
Johan Holmgren
ISSN 1653-2090
ISBN: 978-91-7295-189-1
2010:09
2010:09
On the integration of optimization and
agent technology for transportation
and production planning
Johan Holmgren
Blekinge Institute of Technology
Doctoral Dissertation Series No. 2010:09
School of Computing
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement