Multi-Agent-Based Simulation and
Optimization of Production
and Transportation
Johan Holmgren
Blekinge Institute of Technology Licentiate Dissertation Series
No 2008:05
ISSN 1650-2140
ISBN 978-91-7295-140-2
Multi-Agent-Based Simulation and
Optimization of Production
and Transportation
Johan Holmgren
Department of Systems and Software Engineering
School of Engineering
Blekinge Institute of Technology
SWEDEN
© 2008 Johan Holmgren
Department of Systems and Software Engineering
School of Engineering
Publisher: Blekinge Institute of Technology
Printed by Printfabriken, Karlskrona, Sweden 2008
ISBN 978-91-7295-140-2
Abstract
This thesis addresses the integration of software agent technology, simulation
and mathematical optimization within the domain of production and transportation. It has been argued that agent-based approaches and mathematical
optimization can complement each other in the studied domain.
These tech-
nologies have often been used separately, but the existing amount of literature
concerning how to combine them is rather limited, especially in the domain of
production and transportation.
This domain is considered complex since; for
instance, the decision making is characterized by many decision makers that are
inuencing each other.
Also, problems in the domain are typically large and
combinatorial.
The transportation of goods has both positive and negative eects on society.
A positive eect is the possibility for people to consume products that have
been produced at distant locations. Examples of negative eects are: emissions,
congestion, accidents, and large costs for infrastructure investments. Increasing
competition, experienced by manufacturers and haulers, acts as a motivation
for improving the utilization of often limited and expensive production and
transportation resources.
It is important to maximize the positive eects of
transportation while the negative eects are minimized.
We present a rather general agent-based simulator (TAPAS) for simulation of
production and transportation. By using agent technology, we have been able
to simulate the decision making and interaction between decision makers, which
is dicult using traditional simulation techniques. We provide a technical description of how TAPAS was modeled, and examples of how it can be used.
An optimization model for a real world Integrated Production, Inventory, and
Distribution Routing Problem (IPIDRP) has been developed. The identied
IPIDRP is in the domain of production and transportation problems. For solvi
ing and analyzing the problem, we developed a solution method based on the
principles of Dantzig-Wolfe decomposition, which was implemented as a multiagent system inside TAPAS. The purpose is to improve resource utilization and
to analyze the potential eects of introducing VMI (Vendor Managed Inventory). Experiments are performed for quantifying the benets of VMI and for
estimating the eects of an agentication of the decomposition approach. Some
advantages and disadvantages of an agentication are discussed in this thesis.
The work indicates high potentials for integrating agent technology and mathematical optimization. One direction for future work is to use TAPAS as a tool
for evaluating the results that are produced by the optimization algorithm. For
real world systems, evaluation of optimization results can be expensive and difcult to carry out, and we believe that simulation can be useful for evaluation
purposes.
ii
Acknowledgement
The research in this thesis has primarily been funded by the Swedish Knowledge
Foundation (KK-stiftelsen) and the Swedish Agency for Innovation Systems
(VINNOVA). The work has also been nancially supported by the municipality
of Karlshamn.
First, I would like to thank my supervisors Paul Davidsson and Jan Persson for
giving me invaluable guidance throughout my work. Without their support this
thesis would never have been possible. I would like to thank Mattias Ivarsson
and the co-authors of the papers included in this thesis. Also, I would like to
thank the members of the DISL research group for interesting discussions about
research and other generic items.
Thanks to my family and my friends for supporting me prior to, and throughout
the time I have been working with this thesis.
Finally, I would like to thank the project partners, in particular AarhusKarlshamn and FoodTankers for their invaluable assistance throughout the work.
iii
iv
Preface
This licentiate thesis includes the following 5 papers:
Paper I
Davidsson, P., Holmgren, J., Kyhlbäck, H., Mengistu, D., & Persson,
Applications of agent based simulation. In. Multi-AgentBased Simulation VII, Lecture Notes in Computer Science, Vol. 4442,
M., (2007).
15-27, Springer.
Paper II
Davidsson, P., Holmgren, J., Persson, J.A., & Ramstedt, L., (2008).
Multi agent based simulation of transport chains. Proceedings of the 7th
joint conference on autonomous agents and multiagent systems (AAMAS
'08), Estoril, Portugal, 14-16 May 2008.
Paper III
Holmgren, J., Davidsson, P., Persson, J.A., & Ramstedt, L., (2007).
An agent based simulator for production and transportation of products,
The 11
th World Conference on Transport Research, Berkeley, USA, 8-12
June 2007.
Holmgren, J., Persson, J.A., & Davidsson, P. (2008) Agent based
decomposition of optimization problems, The First International Workshop
Paper IV
on Optimisation in Multi-Agent Systems, Estoril, Portugal, 12 May 2008.
Holmgren, J., Persson, J.A., An integrated production, inventory and
distribution routing problem within the area of food industry, (To be sub-
Paper V
mitted for publication).
The published papers have been updated with editorial changes to t the structure of the thesis.
The following 2 papers are related but not included in the thesis:
v
Paper VI
Ramstedt, L., Davidsson, P., Holmgren, J., & Persson, J.A., (2007)
On the use of micro-level simulation for estimation of the eects of governmental control policies, The 11th World Conference on Transport Research,
Berkeley, USA, 8-12 June 2007.
Davidsson, P., Persson, J.A., & Holmgren, J., (2007), On the Integration of Agent-Based and Mathematical Optimization Techniques. In.
Agents and Multi-Agent Systems: Technologies and Applications, LNAI
Paper VII
series, Vol. 4496, 1-10, Springer.
In papers I-II, all the authors contributed equally whereas I made the largest
contribution to papers III-V. I made a minor contribution to paper VI, but my
eort into the development of the software that was used for the experiments was
signicant. Paper VII is very relevant for the purpose of this thesis. However,
as my contribution was not major, it is not included as part of the thesis.
The work in this thesis has primarily been carried out within the projects Integrated Production and Transportation Planning within Food Industry
1 and
Eects of Governmental Control Policies on Transportation Chains: A Micro-
2
Level Study .
1 http://www.ipd.bth.se/fatplan/
2 http://www.ipd.bth.se/stem/
vi
Contents
Abstract
i
Acknowledgements
iii
Preface
v
Introduction
1
1
Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1
The Production and Transportation Domain
. . . . . . .
2
1.2
Software Agent Technology
. . . . . . . . . . . . . . . . .
3
1.3
Optimization
. . . . . . . . . . . . . . . . . . . . . . . . .
5
1.4
Agent Technology and Optimization
. . . . . . . . . . . .
7
2
Research Questions and Research Method . . . . . . . . . . . . .
7
3
Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
4
Conclusions and Directions for Future Work . . . . . . . . . . . .
13
5
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
Paper I
17
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2
Evaluation Framework . . . . . . . . . . . . . . . . . . . . . . . .
18
2.1
19
Problem Description . . . . . . . . . . . . . . . . . . . . .
vii
2.2
Modeling Approach
. . . . . . . . . . . . . . . . . . . . .
20
2.3
Implementation Approach . . . . . . . . . . . . . . . . . .
22
2.4
Results
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.1
Problem description
. . . . . . . . . . . . . . . . . . . . .
27
4.2
Modeling Approach
. . . . . . . . . . . . . . . . . . . . .
28
4.3
Implementation Approach . . . . . . . . . . . . . . . . . .
30
4.4
Results
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.5
Limitations of the Study . . . . . . . . . . . . . . . . . . .
31
5
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
6
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
Paper II
37
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
2
Simulation Model . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
2.1
The Physical Simulator
. . . . . . . . . . . . . . . . . . .
40
2.2
The Decision Making Simulator . . . . . . . . . . . . . . .
42
3
Implementation and Validation
. . . . . . . . . . . . . . . . . . .
48
4
Case Study
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.1
Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.2
Simulation Results . . . . . . . . . . . . . . . . . . . . . .
52
4.3
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
5
Conclusions and Future Work . . . . . . . . . . . . . . . . . . . .
56
6
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
viii
Paper III
61
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
2
The simulator model . . . . . . . . . . . . . . . . . . . . . . . . .
63
2.1
The physical simulator . . . . . . . . . . . . . . . . . . . .
64
2.2
The Decision Making Simulator . . . . . . . . . . . . . . .
67
3
Implementation and Execution
. . . . . . . . . . . . . . . . . . .
77
4
Conclusions and Suggestions of Further Work . . . . . . . . . . .
78
5
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
Paper IV
81
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
2
Decomposition and Agent Technology
. . . . . . . . . . . . . . .
82
3
Case Description
. . . . . . . . . . . . . . . . . . . . . . . . . . .
85
4
Case Specic Decomposition Formulation
5
4.1
Fixations and Termination
4.2
Subproblem formulations
. . . . . . . . . . . . .
86
. . . . . . . . . . . . . . . . .
91
. . . . . . . . . . . . . . . . . .
95
Computational Experiments . . . . . . . . . . . . . . . . . . . . . 100
5.1
Scenario Description . . . . . . . . . . . . . . . . . . . . . 100
5.2
Results and Discussion . . . . . . . . . . . . . . . . . . . . 101
6
Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . 104
7
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Paper V
107
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2
Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . 109
3
Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4
Mathematical Model Formulation . . . . . . . . . . . . . . . . . . 113
4.1
Transportation Subproblems
4.2
Production Scheduling Subproblems
ix
. . . . . . . . . . . . . . . . 117
. . . . . . . . . . . . 126
5
6
Column Generation . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.1
Algorithm Overview
5.2
Branching, xations and termination . . . . . . . . . . . . 128
5.3
Subproblem xations . . . . . . . . . . . . . . . . . . . . . 132
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.1
7
. . . . . . . . . . . . . . . . . . . . . 128
Performance and Convergence . . . . . . . . . . . . . . . . 134
Computational Experiments . . . . . . . . . . . . . . . . . . . . . 135
7.1
Scenario Description . . . . . . . . . . . . . . . . . . . . . 135
7.2
Results and Analysis . . . . . . . . . . . . . . . . . . . . . 139
7.3
Time Performance Analysis . . . . . . . . . . . . . . . . . 143
8
Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . 145
9
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
x
Introduction
This thesis concerns the integration of software agent technology, simulation,
and mathematical optimization for studying and solving problems in the domain
of production and transportation. The domain of production and transportation
is well studied but it is considered dicult because of its high complexity that
is caused by, for instance, the high number of actors that is typically involved
in the decision making.
An important purpose of this thesis is to combine the technologies of software
agents, simulation and mathematical optimization in order to analyze and improve production and transportation resource utilization in the studied domain.
An example of the combination of these technologies is the usage of mathematical optimization inside a simulation tool for realistic modeling of a studied
system.
Another example is that agent technology can be used alone or in
integration with mathematical optimization for solving complex optimization
problems. A second purpose is to create a model and a method for solving and
analyzing a real world integrated production, inventory and distribution routing
problem.
A multi-agent-based tool for simulating the decision making and the activities
involved in production and transportation of products has been developed, and
a real world problem of optimizing the production, inventory holding and distribution of vegetable oils from a set of producers to a set of customers has been
studied.
This introductory chapter starts with a short background presentation, together
with some ideas about how software agent technology, simulation, and mathematical optimization can be combined. Then the research questions and the
research method that was used throughout the research will be presented, followed by a presentation of the relevant contributions. Finally, some conclusions
and directions for future work will be given.
1
1 Background
1.1 The Production and Transportation Domain
Transportation of goods has both positive and negative eects on society. The
possibility for people to consume products that have been produced at far distance locations is an example of a positive eect that contributes to the welfare
of society. Examples of negative eects caused by transportation are: emissions,
congestion, accidents and large costs for infrastructure investments. Negative
eects can, for instance, appear in terms of environmental impacts, unhealthiness and delay costs. Increasing fuel costs and competition in the transportation
sector are examples of factors that increase the importance of ecient transportation planning. Lower production costs at distant locations and the possibility for long distance transportation of goods are factors that put pressure
on manufacturers located closer to the customers.
Typically, production and
transportation resources are limited and expensive to use which constitute yet
another motivation for ecient utilization of resources.
The domain of production and transportation is well studied but it is considered
complicated for several reasons. One reason is that logistics management typically requires distributed decision making because a large amount of spatially
separated actors are involved in the process of transforming raw material into
nished products that are transported to the end customers. Another reason
is that problems in the domain are typically large and exhibit combinatorial
properties. Because of the high complexity of the domain, there is a need for
additional research for development of models, techniques and tools.
A special type of problem in the domain of production and transportation is
Integrated Production, Inventory, and Distribution Routing Problems (IPIDRPs). For an overview of IPIDRPs, see Lei et al. (2006). The IPIDRP problem type is relevant because it covers a considerable part of the production and
transportation domain. For instance, it includes vehicle routing and production
scheduling, which in separate are important research areas. Traditionally, raw
material supply, production and transportation have been separated by large
inventory buers allowing dierent activities, such as production and transportation, to be planned separately.
The importance of inventory reduction
has led to an increased interest in synchronized planning of dierent logistical
activities (Thomas & Grin, 1996).
2
1.2 Software Agent Technology
Software agent technology might be seen as a relatively new paradigm in software engineering, where 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 an object. An
agent has its own thread of execution and typically, it can exhibit goal directed
behavior in its operating environment.
Agents operate in environments over
which they may have full, or more common, partially inuence.
These envi-
ronments are usually non-deterministic with the eect that an agent cannot
expect the same result each time it perform the same action.
An important
consequence of this property of non-determinism is that agents might fail.
Various denitions of software agents exist but none has, been adopted universal
acceptance. The following very popular denition was 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.
A
multi-agent system
can be dened as a system that contains some set of
competing and/or cooperating agents that interact with each other in order to
reach their respective design goals.
Common properties that a software agent might possess are as follows (Wooldridge & Jennings, 1995):
Autonomy Agents must be able to operate without direct intervention by
humans or other agents.
Reactivity Agents must be able to react to changes in the environment in time
for the action to be useful.
Pro-activeness Agents must be able to take initiative to act in their operating
environment.
Social ability Agents participating in a multi-agent system must be able to
communicate with other agents in the system.
3
A software agent might be considered intelligent if it exhibits an appropriate
balance of these properties. For an introduction to software agents and multiagent systems, see Wooldridge (2002).
Dierent kinds of agents can be dened; A
deliberative
agent is an agent that
keeps some symbolic model of its world. Which action to perform, is decided
by means of reasoning about the world model.
A (purely)
reactive
agent is
one whose behavior can be described as to simply react to its environment,
and to choose what action to perform without logical deliberation.
more, various types of
hybrid
Further-
agents, which can be described as combinations
of deliberative and reactive agents, can be dened.
A survey covering agent-based approaches to transport logistics, which is relevant for the domain of production and transportation, is provided by Davidsson
et al. (2005). Another survey, of deployed applications, is provided by Munroe
et al.
(2006).
The survey by Munroe et al.
(2006) covers application areas
such as military training, information management for international insurance
claims, and logistics and supply chain management.
1.2.1
Agent-Based Simulation
Simulation can be described as the process of imitating some important aspects
of a real or imagined system. In simulation, a set of entities are modeled and the
actions and relationships between these entities are studied over some period
of time. One motivation for developing a computer-based simulation model for
a system is that the relations between the entities might bee too complex to
model or analyze mathematically.
Another is that experimenting with large
real systems might be too expensive and in some cases, even impossible. (Law
& Kelton, 2000)
In
Multi-Agent-Based Simulation
(MABS) (Davidsson, 2001), a micro-simula-
tion technique, some or all of the simulated entities are modeled and implemented as agents.
In micro-simulation, the individual behaviors of and the
interaction between the simulated entities are explicitly modeled, whereas in
macro-simulation approaches, the characteristics of the population is averaged
together and the average of the population is simulated. 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
4
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.
Davidsson (2001) compared multi-agent-based simulation with traditional discrete-event simulation and discovered both advantages and disadvantages of the
multi-agent approach. Examples of advantages of MABS are:
•
there is a close relation between real entities, entities in the model and
entities in the software,
•
it is possible to model pro-active behavior,
•
it supports distributed computing since each agent typically runs as a
separate process, and
•
for the same reason, it is possible to add and remove agents at runtime
without restarting the simulation.
A disadvantage of multi-agent-based simulation is increased need for computational and communication resources.
1.3 Optimization
In mathematical optimization, mathematical models and methods are used for
deciding how to act in given situations. An optimization model constitutes an
abstraction of a real world problem. From a modeling perspective; one challenge
is how to determine an abstraction that constitutes a usable representation of
the studied problem and that can be solved in a reasonable amount of time. An
optimization model contains a set of decision variables that maximizes or minimizes an objective function, and a set of constraints that restricts the solution
space of the decision variables. The purpose of an optimization method is to
nd the values of the decision variables that give the best value of the objective
function, without violating the constraints.
A process of how a problem can be approached with mathematical optimization
is presented in gure 1.
This optimization process is presented in a slightly
dierent version in Lundgren et al. (2003). The process starts with the identication of a real world problem, followed by a simplication of this problem in
order to obtain a problem for which it is possible to formulate an optimization
5
Real problem
Identification, simplification
Simplified problem
Verification
Validation
Formulation
Optimization model
Optimization Method
Solution
Results
Figure 1: Outline of the optimization process.
model (problem). Then some optimization method (standard or customized) is
applied for solving the optimization problem.
The development of a solution
method can of course be regarded as a part of the optimization process. At any
stage of the process, the models and the method can be rened in a new cycle
if a need for improvement is indicated by validation and verication.
For solving large optimization problems, decomposition approaches such as
Dantzig-Wolfe column generation (Dantzig & Wolfe, 1961) for linear problems
and Lagrangean relaxation (Georion, 1974) and Benders' decomposition (Benders, 1962) for mixed-integer programs have been developed.
Decomposition
approaches for linear problems have later on been used for solving mixed-integer
linear problems, for instance by branch and price (Wolsey, 1998).
6
1.4 Agent Technology and Optimization
In paper VII (Davidsson et al., 2007), we compared the strengths and weaknesses of agent-based approaches and mathematical optimization techniques for
resources allocation in the domain of production and transportation. The comparison indicated that the properties of the two approaches were complementary
and that it could be advantageous to combine them. In a case study, two hybrid
approaches were tested:
•
In the rst approach, optimization were embedded in the agents to improve
their ability to make good decision.
•
In the second approach, optimization was used for creating long-term
course plans which were rened dynamically by the agents.
Software agent technology and optimization can be combined in various ways.
One example is the usage of mathematical optimization inside a multi-agentbased simulation tool for the purpose of realistic modeling.
The idea is that
in some cases decision makers can be represented more accurately by using
optimization models.
Another possibility is to let software agents optimize some system.
It must
be stressed that a system sometimes can be optimized also without the use of
advanced mathematical optimization. This is the case in some of the approaches
we have encountered in the literature.
An example of such an approach is
provided by Karageorgos et al. (2003), with application to virtual collaboration
networks. In this example, 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), which utilized agent
technology for solving real world dynamic transportation problems, where transportation orders were allocated to trucks. The problem was solved by means of
a neighborhood search algorithm and auction-based negotiations for gradually
improving the solution.
2 Research Questions and Research Method
The general purpose of this thesis is to examine how the technologies of software
agents, simulation and mathematical optimization can be combined in order to
7
analyze and improve the resource utilization in the domain of production and
transportation problems. A more specic purpose is to create an optimization
model and a solution method for solving and analyzing a real world identied
IPIDRP, which belongs to the domain of production and transportation problems. This purpose is also about gaining practical knowledge of how to improve
the eciency of the studied IPIDRP. Another specic purpose is to investigate
how multi-agent-based simulation can be used for simulation of decision making
and activities involved in the production and transportation domain.
Throughout the process of fullling the purposes of this thesis, three research
questions were formulated. In this section we will present each of these questions, together with a brief motivation and an overview of the research method
that was used.
The rst two research questions were formulated to guide re-
search in the specic purposes, optimization and multi-agent-based simulation,
respectively. The general purpose is covered by the third question, which also
serves the purpose of connecting the rst two questions.
RQ1
- What is a suitable optimization model and solution method
for IPIDRPs?
RQ1 helped us deal with the second purpose of the thesis, i.e. to analyze and
to produce practical knowledge about the identied IPIDRP. An optimization
model and an optimization-based solution method for the identied IPIDRP
were developed. The IPIDRP is a real world planning problem involving a pro-
3
ducer, AarhusKarlshamn , which is a producer of high value-added speciality
4
vegetable fats and a transporter, FoodTankers , which is responsible for transportation of products to the customers.
Information about the problem was
mainly gained by means of 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.
Throughout the process, starting with the identication of a real world problem
and ending with a completed solution method for an optimization model of the
identied problem, we have collaborated with practitioners in the industry to
gain valuable feedback about the progress of the research.
Such feedback is
important, for instance, in order to make sure that a suitable model for the
correct real world problem is developed.
3 http://www.aak.com/
4 http://www.foodtankers.com/
8
The optimization process which is
presented in gure 1, describes the process we used to approach the real world
IPIDRP.
RQ2
- How can agent technology be applied for simulation of deci-
sion making and activities involved in the production and transportation domain?
RQ2 has mainly been approached by developing (designing and constructing) a
complex multi-agent-based tool (TAPAS) for simulation of decision making and
activities involved in the production and transportation domain. The simulation
tool is rather general and it has been used in simulation experiments presented
in paper VI (Ramstedt et al., 2007).
RQ3
- How can the technologies of software agents, simulation and
mathematical optimization complement each other in order to
analyze and possibly improve resource utilization in the domain
of production and transportation?
RQ3 covers several ways to combine the technologies. One example is to use
optimization for modeling purposes in a multi-agent-based simulator. Another
example is the usage of agent technology together with mathematical optimization for optimizing a system.
With RQ3, we try to connect the disciplines
of software agent technology, simulation and mathematical optimization.
We
discovered that combining these technologies could be of great interest for the
production and transportation domain.
In general, there seems to be a gap
in the research aiming at using the technologies together. The third research
question has mainly been approached by means of experimental validation. For
instance, we have performed practical experiments with the optimization-based
solution method running inside TAPAS. Additionally, we have used literature
studies to evaluate the ideas.
3 Contributions
Paper I
Paper I provides an analysis of applications of agent-based simulation covering
papers presented in the postproceedings of the 1
st through the 5th Multi-Agent-
Based Simulation (MABS) workshops at the AAMAS conference. According to
9
our knowledge, there exists no previous analysis regarding applications of multiagent-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 provided us with
valuable ideas for how to construct a multi-agent-based tool for simulating the
decision making and activities involved in the production and transportation
domain, thus contributing to RQ2.
Paper II-III
Paper II and III present the Transportation And Production Agent-based Simulator (TAPAS) which is a signicant contribution to RQ2. TAPAS is an agentbased tool for simulation of decision making and physical activities involved
in production and transportation of products. Paper II provides a general description of TAPAS and its usage, whereas paper III provides a more detailed
presentation of the modeling in TAPAS.
TAPAS was built upon a two-level architecture with a physical simulator and a
decision making simulator. This architecture is motivated by the fact that some
entities, such as vehicles and products, are considered passive and some entities,
the decision makers, are able to act independently and potentially proactively.
Figure 2 presents the architecture and the decision makers; transport chain coordinator, product buyer, transport buyer, transport planner, production planners
and customers that are modeled by TAPAS. The decision makers were modeled
as software agents and implemented in the Java Agent DEvelopment framework
(JADE) (Bellifemine et al., 2007).
The use of software agent technology enabled us to:
1. capture the decision making as well as the interaction between decision
makers,
2. deal with aspects of time such as mixing timetabled and demand driven
transports in the route selection algorithm,
which is dicult, if even possible to achieve using traditional simulation techniques.
The decision makers were designed to communicate according to a predetermined interaction protocol.
The aim of this interaction protocol is to match
valid productions with valid transportations in order to satisfy the customers'
10
Customer
Transport chain
coordinator
Decision making simulator
Product buyer
Transport buyer
Production
planners
Transport
planners
Physical simulator
Figure 2: The TAPAS simulation architecture with decision layer and physical
layer.
order requests. The interaction framework contributes both to RQ2 and RQ3. It
contributes to RQ2 since it models the interaction between the decision makers
and to RQ3 since:
1. the agents cooperate in order to nd the optimal, from a cost perspective,
combination of production and transportation that satises a customer
order, and
2. it contains an optimizing route selection algorithm, including multiple
agents.
11
During the development of the interaction framework, a few challenges had to
be addressed; a transport and a production cannot be booked simultaneously.
Either one has to be booked before the other, and a production cannot be
booked without matching it with a valid transport and vice versa.
Paper IV-V
In paper IV and paper V, we present an optimization model for the identied
real world IPIDRP, and an optimization-based solution method that was customized for solving the optimization model. The optimization model was built
upon the principles of Dantzig-Wolfe column generation, with a master problem
and two types of subproblems; one transportation subproblem for generating
transportation plans and a production scheduling subproblem for generating
production plans. The formulation of the optimization model and the solution
method constitutes a major contribution to RQ1.
The optimization method was implemented (and executed) inside the TAPAS
simulation tool, with software agents corresponding to the master problem and
the subproblems in the Dantzig-Wolfe decomposition formulation. This implementation approach allowed us to simulate the real actors involved in the solution process of our IPIDRP. 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 agent-based approach
to Dantzig-Wolfe decomposition constitutes a major contribution to RQ3. In
paper IV, we discuss some eects and potentials of agent-based approaches to
decomposition methods, which is another contribution to RQ3.
Examples of
positive eects are the possibility to provide increased condentiality between
the involved actors and the possibility for distributed computing. Some negative
eects, such as processing and communication overhead were also discussed.
The decomposition-based solution method is described in detail in paper V,
which focuses on the optimization aspects of the solution method. The focus of
paper IV is more towards the agentication of the method. Another dierence
between paper IV and paper V is the purpose of the included experiments.
The experiments in paper IV are directed towards analyzing computational
performance and the experiments in paper V concern the actual analysis of the
studied problem.
The experiments presented in paper IV were performed on a single processor
computer. However, estimations show that the potential time performance im12
provement that can be achieved by a parallelization is rather big. Furthermore,
a parallelization would make it possible to solve more complicated subproblems,
thus making it possible to catch more real world problem details. In paper V
we present experiments, where we use our optimization method for quantifying
the benets that can be achieved by a full or partial introduction of
managed inventory
vendor
(VMI) (Daugherty et al., 1999).
Furthermore, paper V provides a discussion of the generalization of the agentbased solution approach for solving IPIDRPs.
4 Conclusions and Directions for Future Work
We have presented TAPAS, which is an agent-based simulator for a rather wide
scope of production and transportation scenarios. We have shown that agentbased simulation can be used to simulate the decision making as well as the
interaction between decision makers. We were also able to capture aspects of
time, and deal with the mixing of timetabled and demand driven transports in
the route selection algorithm. This is dicult, if even possible using traditional
simulation techniques.
Possible improvements of TAPAS include:
•
Integration of more sophisticated optimization algorithms inside the agents
for more realistic modeling,
•
improvement of time performance by, for instance, allowing TAPAS to be
executed in a grid environment, and
•
more detailed modeling of inventory and terminal management.
A major contribution of this thesis is an optimization model and a solution
method based on Dantzig-Wolfe decomposition for a relevant real world planning
problem.
The decomposition algorithm was implemented and executed as a
multi-agent system inside the TAPAS simulator, which enabled us to simulate
the real world actors involved in the solution process of the studied IPIDRP.
Some positive eects of the agent-based solution approach, such as increased
condentiality of information and the possibility for distributed computing have
been identied. Examples of negative eects include processing and communication overhead. A possible direction for future work is to parallelize the problem
13
solving by, for instance, using a grid network for achieving decreased solution
time, and possibly solving subproblems containing more real world problem
details.
We conclude that our agent-based solution approach has the potential to work
as a framework for the class of IPIDRPs that contains the studied problem.
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 modied for solving other production and transportation
subproblems.
For the optimization model, a possible direction for future work is to develop
means for letting the subproblems produce higher quality solutions so that the
decomposition algorithm hopefully, will converge faster. An idea is that it might
be possible to calculate (estimate) ranges for the dual variables and let the
subproblems calculate non-optimal solutions. Another possible extension is to
let dierent vehicles and production lines solve dierent types of subproblems.
Future work includes tighter integration of our optimization ideas in TAPAS,
for instance, to evaluate the results obtained by the optimization algorithm.
An evaluation of the results can be useful because an optimization model in
some meaning always constitutes an estimation of the real world. Real world
evaluations of the results are typically hard to carry out since they tend to
become rather expensive. Such an evaluation might be the main contribution
to be able to provide an answer to RQ3.
We have shown the possible use of mathematical optimization together with
multi-agent-based simulation.
Certainly, it is possible to nd additional dis-
ciplines where software agent technology and optimization can be combined.
Therefore, a future task could be to identify additional branches of agent technology that can be useful to integrate, or combine, with mathematical optimization.
5 References
Developing multi-agent
systems with JADE (Wiley Series in Agent Technology). John Wiley &
Bellifemine, F. L., Caire, G., & Greenwood, D. (2007).
Sons.
Benders, J.
(1962).
Partitioning procedures for solving mixed-variables pro-
gramming problems.
Numerische Mathematik, 4, 238252.
14
Dantzig, G., & Wolfe, P. (1961). The decomposition algorithm for linear programs.
Econometrica, 29, 767778.
Daugherty, P. J., Myers, M. B., & Autry, C. W. (1999). Automatic replenishment programs: an empirical examination.
20 (2), 6382.
Journal of Business Logistics,
Davidsson, P. (2001). Multi agent based simulation: Beyond social simulation.
Lecture notes in computer science: Vol.
1979. Multi-Agent-Based Simulation (pp. 141155). Springer.
In S. Moss & P. Davidsson (Eds.),
Davidsson, P., Henesey, L., Ramstedt, L., Törnquist, J., & Wernstedt, F. (2005).
An analysis of agent-based approaches to transport logistics.
tion Research Part C, 13 (4), 255271.
Davidsson, P., Persson, J. A., & Holmgren, J.
(2007).
Transporta-
On the integration of
Lecture notes
in computer science: Vol. 4496. agents and multi-agent systems: Technologies and applications (pp. 110). Springer.
agent-based and mathematical optimization techniques. In
Dorer, K., & Calisti, M.
(2005).
An adaptive solution to dynamic transport
AAMAS'05: Proceedings of the fourth international joint conference on autonomous agents and multiagent systems (pp. 4551). New York, NY,
optimization. In M. Pěchouček, D. Steiner, & S. Thompson (Eds.),
USA: ACM Press.
Georion, A. M. (1974). Lagrangean relaxation for integer programming.
ematical Programming Study, 2, 82114.
Karageorgos, A., Mehandjiev, N., Weichhart, G., & Hämmerle, A.
Agent-based optimisation of logistics and production planning.
Math-
(2003).
Engineer-
ing Applications of Articial Intelligence, 16, 335348.
Simulation modelling and analysis
Law, A. M., & Kelton, W. D. (2000).
(3rd
ed.). Singapore: McGraw-Hill.
Lei, L., Liu, S., Ruszczynski, A., & Park, S.
(2006).
On the integrated pro-
duction, inventory, and distribution routing problem.
38 (11), 955970.
Lundgren, J., Rönnqvist, M., & Värbrand, P.
(2003).
IIE Transactions,
Optimeringslära
(2nd
ed.). Lund: Studentlitteratur.
Munroe, S., Miller, T., Roxana A, B., Pěchouček, M., McBurney, P., & Luck, M.
(2006). Crossing the agent technology chasm: Lessons, experiences and
challenges in commercial applications of agents.
review, 21 (4), 345-392.
Knowledge engineering
Parunak, H. V. D., Savit, R., & Riolo, R. L. (1998). Agent-based modeling vs.
equation-based modeling: A case study and users' guide. In J. Sichman,
R. Conte, & N. Gilbert (Eds.),
Lecture notes in computer science: Vol.
15
1534. Multi-Agent Systems and Multi-Agent-Based Simulation
(pp. 10
25). Springer.
On the use of
micro-level simulation for estimation of the eects of governmental control
policies. The 11th World Conference on Transport Research, Berkeley,
Ramstedt, L., Davidsson, P., Holmgren, J., & Persson, J. (2007).
USA, 8 - 12 June 2007.
Thomas, D. J., & Grin, P. M. (1996). Coordinated supply chain management.
European Journal of Operational Research, 94, 115.
Integer programming. New York, USA:
Wolsey, L. A. (1998).
Sons, Ltd.
Wooldridge, M. J. (2002).
John Wiley &
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), 115152.
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.
17
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 dierences, as well as issues that may need further
investigation.
As several hundreds of ABS applications have been reported in dierent 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 identied one publication that was dominating. About 30% of the papers
were published in the postproceedings of the MABS workshop series [1, 2, 3,
4, 5] 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 ndings 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 dierent aspects of the problem studied, the modeling
approach taken to solve it, the implementation of the simulator, and how the
results are assessed.
18
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 identied 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 ocks of birds.
2. A
physiological system
consists of functional organs integrated and coop-
eratively related in living organisms, e.g., subsystems of the human body.
The purpose could be to verify theories, e.g., the regulation of the glucoseinsulin metabolism inside the human body.
3. A
social system
consists of a set of human individuals with individual
goals, i.e., the goal of dierent individuals may be conicting. An example
could be to study how social structures like segregation evolve.
4. An
organization
is here dened 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 dierent 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 eects of a plant disease
incursion in an agricultural region.
19
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 eectiveness of a given patrolling strategy.
9.
Transportation
&
trac 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
scientists, who
policy makers, who
simulator. We distinguish here between four types of end-users:
use the ABS in the research process to gain new knowledge,
use ABS for making strategic decisions,
managers (of a systems), who use ABS
professionals, such as architects, who
to make operational decisions, and other
use ABS in their daily work.
Purpose:
to
The purpose of the studied ABS applications is classied according
prediction, verication, training
and
analysis.
ing prognoses concerning future states.
We refer to prediction as mak-
Verication 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 specic theory, model etc to be veried but we
want to study dierent phenomena, which may however lead to theory renement.
Finally, training is for the purpose of improving a person's skills in a
certain domain.
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 dierent categories of entities are identied:
Living thing
- humans or animals,
20
Physical entity
- artifacts,
Software process - executing proOrganization - an enterprise, a group of persons, and other entities
like a machine or a robot, or natural objects,
gram code, or
composed by a set of individuals.
Number of Agent Types:
Depending on the nature of the studied applica-
tion, the investigators have used one or more dierent agent types to model the
distinct entities of the domain.
Communication:
other.
The entities can have some or no interaction with one an-
The interactions take place in the form of inter-agent communication,
i.e., messaging. Here, we dened 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
space.
refers to the ability of an entity to change position in the physical
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 aect 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 dened to indicate
whether the simulated entities are adaptive or not.
The structure of MAS
refers to the arrangement of agents and their inter-
action 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 Figure 1.
Dynamic:
If the modeled entities are able to come into existence at dierent
instances of time during a simulation, we regard them as
21
dynamic.
Figure 1: Peer-to-peer, hierarchical, and recursive organization of a MAS.
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 dierent degrees for the developers so that they need not worry about
every implementation detail.
Simulation size
describes the number of agents participating in the implemen-
tation of the ABS application. If the number is dierent 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
articial,
from existing systems in the real world, or data that is not real, i.e.
synthetic or generated.
Distributed:
ABS applications, depending on the size and sometimes the na-
ture of the application, may require dierent 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 de-
scribed 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.
22
2.4 Results
The classication 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.
framework the lowest degree of maturity is
conceptual proposal.
In our
Here the idea or
the principles of a proposed application is described, but there is no implemented
simulator. The next level in the classication is
laboratory experiments
the application has been tested in a laboratory environment.
where
The nal level,
deployed system, indicates that the ABS system actually is or has been used by
the intended end-users, e.g., trac managers that use a simulator for deciding
how to redirect the trac when an accident has occurred. If the authors of the
paper belong to the intended end-users (researchers), 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 prob-
lem 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 dierent types of experiments.
Validation:
In order to conrm that an ABS correctly models the real system it
qualitatively, e.g.,
quantitatively, e.g.,
needs to be validated. This can be performed in dierent ways,
by letting domain experts examine the simulation model, or
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 classied 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 -.
23
Table 1: Summary of the framework
Problem
description
Aspect
Categories
Domain
1. Animal societies
2. Physiological systems
3. Social systems
4. Organizations
5. Economic systems
6. Ecological systems
7. Physical systems
8. Robotic systems
9. Transport/trac systems
End-user
1. Scientists
2. Policy makers
3. Managers
4. Other professionals
Purpose
1. Prediction
2. Verication
3. Analysis
4. Training
Modeling
approach
Simulated entity
1. Living
2. Physical artefact
3. Software process
4. 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
Implementation
approach
Dynamic
1. no 2. yes
Platform used
NetLogo, RePast, Swarm, C++,
JADE, etc.
Simulation size
1 - 10000000
Scale
1. Limited/partial
Continued on next page
24
Continued from previous page
2. Full-scale
Input data
1. Articial data
2. Real data
Results
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
Table 2: The classication of the studied papers.
Domain
End-user
Purpose
Sim. Entity
N.o. types
Commun.
Spatial
Mobile
Adaptive
MAS str.
Dynamic
Modeling
Paper
Problem
[6]
4
3
1
3
2
2
1
1
1
2*
1
[7]
4
3,4
3
1
-
2
2
-
2
-
-
[8]
4
1,2
1,3
1
4
1
1
1
1*
1*
1
[9]
4
1,2
3
1,4
2
1
1
1
1
2*
1
[10]
9
1,2
1
2
-
1
2
2
1
-
1
[11]
3
1
3
1
1
1
2
1
1
1
1
[12]
3,9
1
2
1,2
3
2
2
2
1
1
2
[13]
4
1,4
3
1
2
2
2
2
2
1
2
[14]
9
3
2
1
1
1
2
2
1*
1
1*
[15]
3,6
1
3
1
3
1*
2
2
2*
1
2
[16]
5,9
2
3
1
6
2
1
1
1
2
1
Continued on next page
25
Continued from previous page
[17]
7
1
3
2
1
2
2
1
1
1
1*
[18]
5
1
2,3
1,4
3
2
1
1
1*
2
2
[19]
3
1,4
2
1
1
1
2
2
1*
1
2
[20]
1
1
3
1
2
1*
2
2
1
1
1
[21]
3
1
2
1
1
1*
2
2
1
1
1
[22]
2
1
2
2
3
2
1
1
2
3
1
[23]
3
1
3
1
3
2
1
1
1
1
1
[24]
3
1
3
1
1
2
2
2
1
1
2
[25]
3,6
2
3
1
3
2
2
2
1
1
1
[26]
3
1,2
3
1,3
3
2*
1
1
1
1
2
[27]
4,7
3
3
1,2
5
2
2
2
2
1
1
[28]
3
1
2,3
1
2
1
1
1
2
1
1
[29]
4
2
3
1,2
3
2
2
2
2
1
1
[30]
8
1
1,2
2
1
2
2
2
1
1
1
[31]
5
1
3
1
7
2
1
1
2
2
1
[32]
3
2
3
1
1*
2
2
1
2*
1
1
[33]
5
1
3
1
1
2
1
1
1
1
1
Table 3: The classication of the studied papers (continued).
Input data
Distributed
Mobile
10
1
1
1*
1*
2
1
1
-
-
-
-
-
-
1
1
1
Validation
Scale
C++
[7]
Evaluation
Size
[6]
Maturity
Platform
Results
Paper
Implementation
[8]
-
-
1
2
1*
1*
3
1
3*
[9]
RePast
60
1
1
1*
1*
3
1
1
[10]
-
120
2
1
-
-
3
1
1
[11]
-
100
1
1
1*
1*
3
1
2*
[12]
-
12000
2
2
2*
2*
2
1
1
Continued on next page
26
Continued from previous page
[13]
WEA
25*
2
2
2*
2*
2
1
3
[14]
-
100*
1
1
1*
1*
2
2
3
[15]
Swarm
540
1
1
1*
1*
3
1
1
[16]
Jade
7
1
2
1*
1*
2
1
1
[17]
-
106
1
1
1*
1*
2
2,3
2
[18]
-
102
1
1
1*
1*
3
1
2
[19]
NetLogo
200
1
1
1*
1*
2
2
1
[20]
ObjectPascal
8
1
1
1
1
3*
1
3
[21]
-
250
1
1
1*
1*
3*
1
1
[22]
Java
4
2
1*
2*
1*
3
1
3
[23]
-
9
1
1
1*
1*
2
1
1
[24]
Sugarscape
700
1
1
1*
1*
3*
1
1
[25]
Cormas
-
1
2
1*
1*
2
1
3
[26]
VisualBasic
10000
1
1
1
1
2
3
1
[27]
C++
1
1
1
1
1
2
1
1
[28]
NetLogo
500
1
1
1*
1*
2
2
1
[29]
RePast
61
1
2
1*
1*
3
2
1
[30]
C++
25
1
1
1*
1*
3*
1
1
[31]
DECAF
3
1
1
1*
1*
2
1
1
[32]
-
-
1
1
1*
1
3*
2
2
[33]
-
24*
2
1
1*
1*
2
3
1
4 Analysis
4.1 Problem description
The results indicate that ABS is often used to study systems involving interacting human decision makers, e.g., in social, organizational, economic, trac
and transport systems (see Figure 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
27
animal societies
and just two
involving
ecological systems. Very few papers are found on simulating technical
ICT systems, i.e., integrated systems of computers, communi-
systems, such as
cation 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.)
Figure 2: The distribution of the type of domains simulated.
In more than half of the applications, researchers were the intended end-user. As
can be seen in Figure 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
28
Figure 3: The distribution of purpose.
the real system. These aspects include number of agent types, only about 15%
of the applications had more than three dierent 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 Figure 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.
Figure 4: The distribution of modeling aspects.
29
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 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 Figure 5).
papers the number of agents were 61 or less.
In 50% of the
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-o 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.
Figure 5: The frequency of dierent simulation sizes (number of agents).
Many of the simulation experiments are conducted with articial data, typically making simplifying assumptions. This is often due to reasons beyond the
researchers' control, such as availability of data. As a consequence, it may be
dicult to assess the relevance of the ndings 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.
30
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 scientic publications. As
illustrated in Figure 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.
Figure 6: The frequency of dierent 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 the size of the
real system is not described and often it was very dicult for us to estimate the
31
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 suciently 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 dicult 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 dicult 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 dicult 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-theart of ABS. A positive eect of our study would be if researchers became more
explicit and clear about how they have dealt with the dierent 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.
32
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,
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.
4. Describe the structure of the collection of agents, and state whether this
collection is static or agents can be added/removed during a simulation.
5. State which simulation (or agent) platform was used, or in the case the
simulator was implemented from scratch, what programming language was
used.
6. State the size of the simulation in terms of number of agents.
7. Describe how the agents were implemented; feature vectors, mobile agents,
or something in-between.
8. State whether the simulator actually has been used by the intended endusers, or just in laboratory experiments. In the latter case indicate whether
articial or real data was used.
9. Describe how the simulator has been validated.
10. 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.
33
6 References
1. S. Moss, P. Davidsson (Eds.),
Multi-Agent Based Simulation,
LNAI Vol.
1979, Springer, 2000.
2. J. S. Sichman, F. Bousquet, and P. Davidsson (Eds.),
Simulation II, LNAI Vol.
3. D. Hales et al. (Eds.),
Multi-Agent Based
2581, Springer, 2003.
Multi-Agent Based Simulation III, LNAI Vol.
2927,
Springer, 2003.
4. P. Davidsson, B. Logan, K. Takadama (Eds.),
Agent-Based Simulation, LNAI Vol.
5. J.S. Sichman, L. Antunes (Eds.),
Multi-Agent and Multi-
3415, Springer, 2005.
Multi-Agent Based Simulation VI, LNAI
Vol. 3891, Springer, 2006.
6. E. Kafeza, K. Karlapalem, Speeding Up CapBasED-AMS Activities through Multi-Agent Scheduling, in [1]
7. T. Wickenberg, P. Davidsson, On Multi Agent Based Simulation of Software Development Processes, in [2]
8. J. Rouchier, S. Thoyer, Modelling a European Decision Making Process
with Heterogeneous Public Opinion and Lobbying: The Case of the Authorization Procedure for Placing Genetically Modied Organisms on the
Market, in [3]
9. D. A. Robertson, The Strategy Hypercube:
Exploring Strategy Space
Using Agent-Based Models, in [3]
10. I. Noda, M. Ohta, K. Shinoda, Y. Kumada, H. Nakashima, Evaluation of
Usability of Diala-Ride Systems by Social Simulation, in [3]
11. R. Sosa, J. S. Gero, Social change: exploring design inuence, in [3]
12. K. Miyashita, SAP: Agent-based Simulator for Amusement Park - Toward
Eluding Social Congestions through Ubiquitous Scheduling, in [4]
13. A. P. Shah, A. R. Pritchett, Work Environment Analysis: Environment
Centric Multi-Agent Simulation for Design of Socio-technical Systems, in
[4]
34
14. S. El hadouaj, A. Drogoul, S. Espié, How to Combine Reactive and Anticipation: The Case of Conicts Resolution in a Simulated Road Trac,
in [1]
15. L.S. Premo, Patchiness and Prosociality: An Agent-Based model of Plio/
Pleistocene Hominid Food Sharing, in [4]
16. M. Bergkvist, P. Davidsson, J. A. Persson, L. Ramstedt, A Hybrid MicroSimulator for Determining the Eects of Governmental Control Policies
on Transport Chains, in [4]
17. L. Breton, J.-D. Zucker, E. Clément, A Multi-Agent Based Simulation of
Sand Piles in a Static Equilibrium, in [1]
18. I. Takahashi, I. Okada, Monetary Policy and Banks' Loan Supply Rules
to Harness Asset Bubbles and Crashes, in [3]
19. C. M. Henein, T. White, Agent Based Modelling of Forces in Crowds, in
[4]
20. C. K. Hemelrijk, Sexual Attraction and Inter-sexual Dominance among
Virtual Agents, in [1]
21. R. Pedone, R. Conte, The Simmel Eect:
Imitation and Avoidance in
Social Hierarchies, in [1]
22. F. Amigoni, N. Gatti, On the Simulation for Physiological Processes, in
[2]
23. M. R. Rodrigues, A. C. da Rocha Costa, Using Qualitative Exchange
Values to Improve the Modelling of Social Interaction, in [3]
24. S. Tomita, A. Namatame, Bilateral Tradings with and without Strategic
Thinking, in [3]
25. L. Elliston, R. Hinde, A. Yainshet, Plant Disease Incursion Management,
in [4]
26. P. Winoto, A Simulation of the Market for Oenses in Mulitagent Systems:
Is Zero Crime Rates Attainable?, in [2]
27. N. Sahli, B. Moulin, Agent-based Geo-simulation to Support Human Planning and Spatial Cognition, in [5]
35
28. L. Antunes, J. Balsa, P. Urbano, L. Moniz, C. R. Palma, Tax Compliance
in a Simulated Heterogeneous Multi-agent Society, in [5]
29. V. Furtado, A. Melo, M. Belchior, Analyzing Police Patrol Routes by
Simulating the Physical Reorganization of Agents, in [5]
30. A. Machado, G. Ramalho, J.-D. Zucker, A. Drogoul, Multi-Agent Patrolling: an Empirical Analysis of Alternative Architectures, in [2]
31. F. McGeary, K. Decker, Modeling a Virtual Food Court Using DECAF,
in [1]
32. T. Downing, S. Moss, C. Pahl-Worstl, Integrated Assessment: Prospects
for Understanding Climate Policy Using Participatory Agent-Based Social
Simulation, in [1]
33. E. Ebenhöh, Modeling Non-linear Common-pool Resource Experiments
with Boundedly Rational Agents, in [5]
36
Paper II
Multi Agent Based Simulation of
Transport Chains
Paul Davidsson, Johan Holmgren, Jan A. Persson and Linda Ramstedt
Proceedings of the 7th joint conference on autonomous agents and
multiagent systems (AAMAS '08), Estoril, Portugal, 14-16 May 2008.
Published in
Abstract
An agent-based tool for micro-level simulation of transport chains (TAPAS)
is described.
It is more powerful than traditional approaches as it is able to
capture the interactions between individual actors of a transport chain, as well
as their heterogeneity and decision making processes. Whereas traditional approaches rely on assumed statistical correlation between dierent parameters,
TAPAS relies on causality, i.e., the decisions and negotiations that lead to the
transports being performed.
An additional advantage is that TAPAS is able
to capture time aspects, such as, the inuence of timetables, arrival times, and
time-dierentiated taxes and fees. TAPAS is composed of two layers, one layer
simulating the physical activities taking place in the transport chain, e.g., production, storage, and transports of goods, and another layer simulating the
dierent actors' decision making processes and interaction. The decision layer
is implemented as a multi-agent system using the JADE platform, where each
agent corresponds to a particular actor.
We demonstrate the use of TAPAS
by investigating how the actors in a transport chain are expected to act when
37
dierent types of governmental control policies are applied, such as, fuel taxes,
road tolls, and vehicle taxes. By analyzing the costs and environmental eects,
TAPAS provides guidance in decision making regarding such control policies.
We argue that TAPAS may also complement existing approaches in dierent
ways, for instance by generating input data such as transport demand. Since
TAPAS models a larger part of the supply chain, the transport demand is a natural part of the output. Studies may concern operational decisions like choice of
consignment size and frequency of deliveries, as well as strategic decisions like
where to locate storages, terminals, etc., choice of producer, and adaptation of
vehicle eets.
1 Introduction
In this paper we present the Transportation And Production Agent-based Simulator (TAPAS), a general tool for micro-level simulation of production and
transportation of products. The purpose is to provide a brief technical description of TAPAS and to illustrate its use.
In TAPAS, the individual actors of
a transport chain, such as, producers, transport operators, and customers are
modeled explicitly.
It incorporates the complexity of transport choices with
respect to consignment size, route and mode, as well as taking into account
both timetabled and non-timetabled (demand driven) transports. This makes
TAPAS more powerful than traditional approaches to transport simulation as
it is able to capture the interactions between individual actors of a transport
chain, as well as their heterogeneity and decision making. Whereas traditional
approaches rely on assumed statistical correlation between dierent parameters,
TAPAS relies on causality, i.e., the decisions and negotiations that lead to the
transports being performed. In addition, TAPAS is able to capture time aspects,
such as, the eects of timetables, arrival times, and time-dierentiated taxes and
fees. To closer model reality, TAPAS also assumes stochastic consumer demand,
transportation time, and production lead time.
We will illustrate the use of TAPAS by describing a case study concerning
prediction of the eects of an introduction of a kilometer tax.
As a decision
support system, it can give governmental policy makers indications on how
companies will react to proposed transport policies and what the economical,
quality, and environmental eects will be. Other possible applications of TAPAS
include assisting companies in making tactical and operational decisions such
as choice of consignment size and frequency of deliveries, as well as strategic
38
decisions like choice of producer, adaptation of vehicle eets, and where to locate
storages and terminals. In particular, TAPAS could be used for the generation
of input data for new markets where information regarding transport demand
is not available. 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 (generated from the product demand).
In the next section we describe the TAPAS model which is followed by some
reections on its implementation and validation. Then a case study is described.
Finally, conclusions are presented together with suggestions of future work.
2 Simulation Model
Traditionally, transport systems have been studied using macrolevel models,
such as SAMGODS [17], ASTRA [16] and SISD [19].
This type of models is
taking a societal perspective and is based on aggregated course-grained data
on the national level.
A problem with these models is that they do not take
the logistical processes into account, e.g., choice of carrier type and ordering
strategies, and thus fail to model the level where the decisions regarding the
actual transports are taking place.
Models that take logistical aspects into
consideration are for example SMILE [18], GoodTrip [4], SLAM [19], and the
one suggested by de Jong and Ben-Akiva [10]. However, since individual actors
within transport chains are not modeled, the complex interactions, such as
negotiation, between these actors from which the transport solution results are
not captured. Moreover, these models cannot capture aspects related to time
which are crucial when coordination between logistical decisions are made.
Due to (increased) cooperation between actors in transport chains (e.g., producers, customers, transport operators) and their ability to adapt to new situations,
there exists a signicant exibility of how to carry out their operations in dierent scenarios. We believe that more precise predictions regarding the eects of
transport policies can be achieved using micro-level models, i.e., transport chain
level models, that capture also the decision making of the actors in the logistical processes. Agent-based models seem appropriate since they can deal with
the above issues. There exist agent-based simulation models aimed at studying
transport chains, see for instance [7] and [8].
However, these models assume
a pre-determined transport demand, why changes in transport demand due to
changes in logistical structures, etc. cannot be captured.
39
In general, a transport chain can be organized in a number of dierent ways with
respect to the owner of the products at dierent locations and to the decision
makers organizational belonging, e.g., the transport could be carried out by
either the seller, buyer or third party logistics operator. The decision making in
transport chains is subject to both short- and long-term planning implying that
the time dimension of the decisions needs to be considered when modeling the
transport chains. We assume that the actors in our model are cost minimizers
locally with virtually no exploration of potential cost savings achievable by
cooperation in the transport chain.
However, due to a hierarchical decision
structure with some knowledge of production and transportation alternatives,
some global optimization occurs. This appears to be rather typical in transport
chains today, e.g. only a limited amount of information is shared.
TAPAS uses a two-level architecture with a physical simulator and a decision
making simulator (see Figure 1).
This design is motivated by the fact that
entities in the physical simulator (e.g., vehicles and products) are considered
passive while entities in the decision making simulator (the decision makers)
act independently and potentially proactively. The two layers are connected by
letting the decisions taken in the decision making simulator initiate the actions
in the physical simulator.
2.1 The Physical Simulator
The transportation network is modeled as a directed graph with a set of nodes
and a set of directed links. A link, with average speed and length, is a directed
connection between two nodes.
A node can either be a consumer depot, a
producer (factory) depot or a connection point in the transportation network.
Further, TAPAS models a set of product types and a set of vehicles.
Each
product type has mass, volume and value, and each vehicle has maximum speed,
fuel type and emissions (e.g., NOx , CO and CO2 ) per distance unit.
Also, a
vehicle has fuel consumptions for empty and fully loaded transports respectively.
The actual fuel consumption is computed as a linear function of the current load.
2.1.1
Transportation
A vehicle has a transportation mode (road, rail or sea) and can only travel links
with the same mode and it is either controlled by a timetable (with xed departure/arrival times) or by the departure time of a transport solution. Transport
costs consist of
40
•
time based costs (e.g. driver, capital, and administration),
•
distance based costs (e.g. fuel, vehicle wear, and km tax),
•
link based costs (e.g. road tolls).
Travel times are stochastic and the time it takes for a vehicle to travel a link is
assumed to follow a probability distribution which, for instance, can be lognormal [12].
Figure 1: The TAPAS simulation model.
2.1.2
Production
The production is performed in factories located in the producer nodes. Each
node has exactly one factory with a set of individually scheduled production
lines. For each product type that can be produced there is a maximum batch
size, a production cost per time unit and a batch production time. Delays can
occur since production lead times are stochastic. They are assumed to follow a
probability distribution, e.g., a normal distribution [14].
41
2.1.3
Terminals
Times for loading and unloading at terminals are expressed in terms of xed and
variable times. Fixed times are used for the times it take to prepare a vehicle
for loading or unloading. Variable times are given for each product type and
denote the times for loading or unloading one unit of a product. There are also
costs for loading/unloading a vehicle that are given as cost per time unit.
2.2 The Decision Making Simulator
A number of decision makers, i.e., transport chain coordinator (TCC), product
buyer (PB), transport buyer (TB), transport planner (TP), production planners
(PP) and customers (C), were identied in previous work [3].
2.2.1
Customer (C)
Each customer node is operated by a customer agent who is responsible for keeping inventories at reasonable levels by sending order requests (to the TCC). An
order request contains a delivery node, a product type, a single order quantity
q
and a delivery time window.
The ordering behavior is based on the principles of the EOQ (Economic Order
Quantity) model [1].
In EOQ, the calculation of the quantity
q
is based on
xed order (transport) cost and inventory holding cost, but the presence of
dierent vehicles, with dierent transport costs makes it dicult to estimate
this quantity. Instead, we let the order request contain a number of dierent
quantities. For the oers (one for each
q)
returned to the customer, it chooses
the best one from a cost perspective including cost of inventories.
Another problem is that the customer needs knowledge about lead time from
order to actual delivery, to be able to deduce the order point. Such information
is however inaccessible to the customer since lead times are dierent for dierent
transport modes and dependent on departure times for timetabled transports.
To deal with this problem, we let the customer use estimated lead times (chosen
as an upper bound) and safety stock levels for the dierent products. This corresponds to integrating the knowledge built from experience by real customers.
Details of how the order quantity and order point are computed can be found
in [9].
42
2.2.2
Transport Chain Coordinator (TCC)
The TCC has a central role and it is responsible for receiving order requests,
sending product and transport requests and receiving the corresponding proposals. For an order request from a customer it nds the cheapest oer (via requests
to the TB and the PB) for production and delivery for each order quantity and
sends order proposals back to the customer.
2.2.3
Product Buyer (PB)
The PB operates between the TCC and the PP:s and is responsible for handling
production related communication with these decision makers. When a product
request is received it forwards it to all PP:s and when the production proposals
are returned, it sends them back to the TCC for further processing. It also takes
care of product bookings received from the customer via the TCC.
2.2.4
Production Planner (PP)
Each production node is operated by a production planner. Upon the reception
of an order request from the PB, it creates a production proposal with a cost and
the earliest time when the products can be ready for pickup. It is assumed that
the products can be produced and scheduled for pickup later but not earlier than
this time. At the reception of a booking message (of a production previously
given as a request), it communicates the booking to the factory.
2.2.5
Transport Buyer (TB)
The TB is responsible for compiling transport solutions from producers to consumers to fulll order requests initiated by customers and communicated to the
TB via the TCC agent.
The problem of creating an optimal transport solution from a production node
to a delivery node contains the following complicating factors:
1. The capacities of the vehicles are restricted.
2. Some vehicles follow time tables, while others do not.
43
3. Delivered products must be unloaded at the customer depot inside a time
window.
4. Previous bookings must be considered before booking new transports and
productions.
The problem of how to nd the cheapest transport solution can be seen as a
shortest (cheapest) path problem, in the transportation network, with additional
constraints for handling timetables and time windows. We were unable to nd
any existing research on how to address the problem, and therefore we had to
develop and implement our own customized search algorithm.
For a transport request containing a production node, a delivery node, a product type, an order quantity and a delivery time window, the TB uses a set of
precompiled transportation paths between the production node and the delivery node. For each link (or connection) in each path, the TB sends a transport
request to all TP agents, containing a start node, an end node, the requested
product type and quantity and some time interval which is calculated from the
earliest possible production time and the preferred delivery time window.
After the receipt of all requested link transport proposals, the TB combines
them into one transport proposal for each precompiled path using a tree-based
search algorithm. The best path proposals are then sent for validation to the
customer via the TCC. Details about how transport proposals are created and
selected can be found in [9].
2.2.6
Transport Planner (TP)
Each TP controls a vehicle eet which operates some set of network nodes. Upon
the reception of a transport request between two nodes, it generates proposals
for the requested product and quantity with departure and arrival times inside
the requested time window. Since timetable controlled vehicles have xed departure and arrival times which are repeated within some certain frequency, and
non timetabled transports only departs when they are booked, the corresponding transport proposals are dierent. For a timetabled transport, a transport
proposal is generated for each departure with departure no earlier than the
start of the interval and arrival no later than the end of the interval, and for
non timetabled transports, the TP generates one proposal, containing the actual travel time (without departure and arrival times), for each vehicle type in
the eet.
The cost returned to the TB includes all costs associated with the
transport.
44
2.2.7
Interaction Protocol
In this section we present the communication framework aiming at matching
valid transport and production proposals to fulll a customer order. When we
developed the interaction protocol we had to deal with a number of challenges.
•
Transport and production cannot be booked simultaneously, one must be
booked before the other,
•
a production cannot be booked without matching it with a valid transport
and vice versa,
•
the computations needed to nd the cheapest combination of production
and transportation that fulls the order might be very time consuming.
In the rst version of the simulator, products were booked without considering
the possibility to match a transport. A standard contract net negotiation was
used to buy the cheapest products before using a second contract net negotiation to buy the cheapest transports. However, it can be risky to assume the
existence of valid transports for an already booked production. In the framework presented below, where a negotiation requires two steps, a production is
booked before a transport but bookings are preceded by production and transport requests to assure valid overall solutions. See Figure 2 for the interaction
diagram. Observe that only one production planner and one transport planner
are shown to increase the readability of the diagram.
1. (Cn
→
TCC) A customer Cn sends an order request to the TCC. The
order request contains customer identier, product identier, a number of
quantities and delivery time window for each quantity.
2. (TCC
→ PB) The TCC receives the order request sent by Cn and forwards
it as a production request to the PB.
3. (PB
→
PP:s) The PB receives the production request from the TCC and
sends it to all PP:s.
4. (PPf
→
PB) PPf creates a production proposal for each of the requested
quantities that can be produced by factory
f , including the producer iden-
tier, the earliest time the products can be ready for pickup and the production cost, and sends them back to the PB.
45
Figure 2: Interaction diagram.
5. (PB
→
TCC) When all PP:s have responded to the production requests
sent in message 3, the PB sends them to the TCC.
6. (TCC
→
TB) After receiving the production proposals from the PB, the
TCC sends a transport request to the TB. The transport request actually consists of a transport request for each production proposal, and it
contains producer identier, customer identier, product identier and a
number of quantities with corresponding delivery time windows and earliest times for pickup.
46
→
7. (TB
TP:s) For each transport request received from the TCC, the TB
extracts the producer node and consumer node and sends a link transport request for each connection in each precompiled path between those
nodes. Each such transport request contains departure node, arrival node,
product identier, quantity and time interval in which the transport must
depart and arrive.
→
8. (TPk
TB) After receiving a transport request from the TB, the TPk
creates a number of transport proposals and sends them back to the TB.
Each link transport proposal contains departure/arrival times, link identier and transportation cost. Also, the starting time for loading the vehicle
before departure and the ending time for unloading after arrival is included
to be used if necessary.
→
9. (TB
TCC) After receiving all link transport proposals from the TP:s,
the TB uses them to compile one transport solutions for each production
proposal sent in message 5. For each producer and quantity, the transport
proposal with lowest transport cost is sent to the TCC.
10. (TCC
→
Cn ) After receiving the transport proposals from the TB, the
TCC combines them with the production proposals to form one valid order
proposal (the cheapest) for each order quantity. The order proposals are
sent to Cn for validation.
11. (Cn
→
TCC) Cn receives the order proposals and accepts the most ben-
ecial proposal.
12. (TCC
→ TB) After receiving the order acceptance (message 11) from Cn ,
the TCC sends a transport booking message to the TB.
13. (TB
→
TPi ) The TB receives the message from the TCC and sends a
transport booking message for each link (actually departure) in the transport solution for the accepted proposal to the corresponding transport
planner TPi .
14. (TPi
→
TB) TPi receives the transport booking message from the TB,
books the transport with the agreed vehicle and sends a booking acceptance message to the TB.
15. (TB
→
TCC) After receiving all transport booking acceptance messages
from the TP:s involved in the transport solution, the TB sends a transport
booking inform message to the TCC.
47
16. (TCC
→
PB) The TCC sends a production booking message to the PB.
This message contains quantity, pickup time and selected producing factory
f.
17. (PB
→
PPf ) After receiving the production booking message from the
TCC, the PB sends a production booking message to PPf .
18. (PPf
→
PB) PPf adds a production order to the factory and sends a
production booking inform message back to the PB.
19. (PB
→
TCC) The PB informs the TCC that the production is booked by
PPf .
20. (TCC
→ Cn ) After receiving the production booking inform message,
the
TCC sends an information message to Cn that the order has been booked
by PPf and the TP:s.
If the TCC receives a reject message from the PB, the TB or Cn , it is forwarded
to all involved agents and the negotiation terminates. The same happens if the
PB receives rejects from all PP:s, or if the TB receives rejects from all TP:s.
3 Implementation and Validation
TAPAS is implemented as a discrete time event based simulator in the Java
1.4 language. The decision making simulator is implemented as a Multi-Agent
System with software agents representing decision makers. To simplify the implementation of the agent system, we used the Java Agent DEvelopment Framework (JADE) platform [2].
As noticed in a survey of applications of Multi Agent Based Simulation (MABS)
[5], few MABS applications do actually utilize any agent platform. One reason
might be lack of knowledge about these platforms and another reason might be
that the behavior of the simulated entities is not complex enough to motivate
their use and a simpler technology would suce.
Moreover, it should be noticed that agent platforms often introduce limitations
to the system.
Even though JADE has many useful properties, it is easy to
integrate in Java and it has been used in the development of many other systems, we realized that there are also some problems of using JADE for our
48
particular system.
For example, we found it dicult to implement advanced
communication protocols, such as the one presented in this paper.
Simulated activities (loading/unloading, departures, arrivals, etc) are all represented by events, which are scheduled in an event list. An activity is actually
represented by two events, a start activity event and an end activity event. At
the start of a simulation activity (triggered by a start activity event), the execution time of the activity is determined (possibly stochastic) and the end event
is created and scheduled. Further, if an activity cannot be started when a start
activity is scheduled, e.g. since it might be waiting for some other activity to
nish, then it must wait for the blocking activity to terminate before trying
again.
TAPAS has mainly been validated by interviews with experts in policy issues
and transport modeling, and practitioners in transportation and logistics. Simulation experiments of dierent scenarios have been performed with TAPAS and
the results have been compared to similar studies (cf. [11],[15],[20]) as well as to
existing transport chains. Moreover, existing models of transport chain actors
and decisions have been compared to our model. The sensitivity for dierent
input parameters has also been examined.
4 Case Study
We have chosen to illustrate the usage of TAPAS with a scenario of a transport
corridor between the Baltic States and England.
The scenario is a part of a
larger transport corridor between China and northern Europe studied within
a project nanced by the European Union (http://www.eastwesttc.org).
The
transport corridor is interesting since it is possible that larger goods volumes will
be transported via the Trans-Siberian railway, instead of with container ships
directly from China to northern Europe which is currently the most common
way. It is also interesting to predict and inuence the mode and route choices
made in the corridor from a regional perspective. In this section the scenario
design will be described followed by the simulation results and the analysis of
the results.
49
4.1 Scenario
The scenario consists of several possible transport alternatives for transportation
of 20 ft ISO-containers from Kaunas in Lithuania to Harwich in England. The
transport links considered are:
•
Rail transport from Kaunas to Klaipeda.
•
Road transport from Kaunas to Esbjerg.
•
Sea transport from Klaipeda to Karlshamn.
•
Rail transport from Karlshamn to Esbjerg.
•
Road transport from Karlshamn to Esbjerg.
•
Sea transport from Esbjerg to Harwich.
The containers contain goods with medium value, such as furniture or kitchen
appliances. The producer is assumed to be located in Kaunas, and the customer
is assumed to be located in Harwich, where there is a customer inventory. This
result in three alternative routes (see Figure 3):
1. Kaunas (train) Klaipeda (ferry) Karlshamn (train) Esbjerg (ferry) Harwich
2. Kaunas (train) Klaipeda (ferry) Karlshamn (truck) Esbjerg (ferry) Harwich
3. Kaunas (truck) Esbjerg (ferry) Harwich
More details on the scenario can be found in [13].
In the simulation experiments we study the introduction of a kilometer tax on
trucks in Sweden and its eects. The tax levels that we are examining are the
levels suggested by Swedish Institute for Communication Analysis (SIKA) [6].
The suggested kilometer taxation is dierentiated based on the euro class of
the truck, as well as on the total weight of the truck. As a compensation for
the proposed kilometer taxes, dierent fuel tax levels are proposed. Dierent
choices of kilometer tax, vehicle dierentiation, and fuel taxes are suggested and
studied in the following cases:
50
Figure 3: The three alternative routes in the scenario
•
Case 0. Current situation, no kilometer taxation and diesel taxation as
today (0.36 euro/l).
•
Case 1.
A high kilometer tax as suggested by SIKA. Dierentiation.
Diesel taxation is lowered to the minimum level within EU (0.30 euro/l).
Marginal cost principle as dened by SIKA is assumed.
•
Case 2. A low kilometer tax as suggested by SIKA. Dierentiation. Diesel
taxation remains as it is today. Marginal cost principle as dened by SIKA
is assumed.
•
Case 3. The same average level of kilometer taxation is assumed for all
vehicle types and euro classes. Diesel taxation is lowered to the minimum
level within EU (0.30 euro/l).
•
Case 4. A high kilometer tax as suggested by SIKA, including dierentiation, but without compensation, i.e., current level of the diesel taxation.
Below some of the input data is given in the tables.
Moreover, we use the following values (the same for all dierent transport
modes):
•
Loading/unloading cost: 0.39 euro/min
•
Loading/unloading time: 60 min/unit
•
Preparation loading/unloading time: 60 min/unit
51
Table 1: Input data for the links.
Nodes
Modes
Length
(km)
Speed
(km/h)
Link 1
Link 2
Link 3
Link 4
Link 5
Kaunas -
Klaipeda -
Karlshamn -
Kaunas -
Esbjerg -
Klaipeda
Karlshamn
Esbjerg
Esbjerg
Harwich
Rail
Sea
Road, rail
Road
Sea
240
537
487, 517
1562
648
19
37
78, 18
70
37
•
Weight of a container: 11 tons
•
Product value of a container: 20 000 Euro
Around 520 days are simulated and the precision is 1 minute.
4.2 Simulation Results
The results from the experiments are summarized in Figures 4-6.
Figure 4: Proportion of TEUs per route and case
52
Truck 2TEU Link 3
Truck 3TEU Link 3
Truck 1TEU Link 4
Truck 2TEU Link 4
Train Link 1
Train Link 3
Ferry Link 2
Ferry Link 2
Capacity (TEU)
Truck 1TEU Link 3
Table 2: Input data for the vehicle types.
1
2
3
1
2
50
22
374
374
Av. vehicle util.
Time-based cost
(euro/h)
Distance-based cost
(euro/km per TEU)
CO2 (g/km/TEU)
Km tax (euro/km)
case1
Km tax (euro/km)
case2
Km tax (euro/km)
case3
Km tax (euro/km)
case4
50%
50%
88%
88%
40
40
40
40
40
18
18
1860
1860
0.68
0.39
0.32
0.56
0.31
0.01
0.39
0.64
0.51
675
444
406
691
440
111
109
680
680
0.14
0.15
0.16
0.11
0.12
0.12
0.16
0.16
0.16
0.14
0.15
0.16
From the simulation experiments it is possible to see the breakpoints concerning choice of trac mode, truck type, transport route as well as the size of the
consignments.
Also, performance metrics in terms of for instance amount of
emissions, the total costs, and the tax income to the public authorities.
The
simulation results show that the largest modal split from road to rail transportation on the link between Karlshamn and Esbjerg is for Case 4, i.e., the
case where the highest levels of kilometer and diesel taxation is introduced. This
corresponds to a change of the route choice (Figure 4)
Another eect which can be observed is that the order quantities vary in the
dierent cases.
In Case 4 where rail transportation between Karlshamn and
53
Figure 5: Proportion of orders per order size and case.
Esbjerg mainly is used, the order quantities are mostly 1 (Figure 5). The reason
for this is probably that the cost per TEU for the customer is lower when
choosing to have three containers on a large truck, while the costs per container
for all order quantities are equal for the rail alternative between Karlshamn and
Esbjerg.
Figure 6: Transport costs (euro) per TEU for the customer per case and CO2
per TEU.
In Figure 6 the transport costs per TEU for the customer and the amount of
CO2 per TEU are illustrated. The highest costs for the customer appear with
54
the highest taxation, while the lowest costs appear for the current situation
with no kilometer taxation.
If delays from the planned arrival time to the
customer occur, a delay cost will occur in terms of larger time costs. However,
in these simulation experiments no delays occur. Concerning the environmental
performance in terms of CO2 , as expected, the lowest amount of CO2 appears
in Case 4 where rail transportation is used more frequently instead of road
transportation (which also is the case where the transport cost is the highest).
Finally, we studied the tax income (kilometer and diesel tax) to the public
authorities in Sweden.
It was concluded that the lowest tax income occurs
when there are fewer road transports due to a large amount of rail transports.
4.3 Analysis
The simulation experiments have shown that it is possible to observe several
eects of an introduction of a kilometer tax, e.g., concerning order quantity,
mode choice, route choice, etc.
However, there is a need to analyze the sim-
ulation results in more depth, as well as to validate the results more.
In the
scenario we explored the following functionalities of TAPAS among others:
•
Intermodal transportation, i.e., transportation with several trac modes
with the same load carrier. Also, changes between vehicles types with the
same trac modes are possible.
•
Restrictions of vehicle capacities.
•
Loading/reloading.
•
Timetabled as well as non-timetabled (demand driven) transports.
•
Time window for delivery.
Some further experiment using TAPAS including more advanced timing issues,
such as synchronization of time tables are presented in [15]. These experiments
also include studies of the importance of the storage interest and product value.
Other issues that would be interesting to study in the scenario are:
•
Changes in prerequisites for the transport chain actors in terms of lower
costs and times in nodes. The price sensitiveness of the actors is interesting
to study.
55
•
Dierent aspects of demand and consumption, e.g., a changed demand distribution are relevant to study, as well as dierent settings of the ordering
and consumption behavior.
•
There are dierent vehicle restrictions within the EU. Since the goal is to
harmonize the prerequisites for businesses in the EU, it is possible that
the maximum allowed vehicle capacity will increase to the Swedish level,
i.e., maximum 60 tons.
5 Conclusions and Future Work
We have presented a micro-level simulator for a rather wide scope of production
and transportation. By using agent technology, we were able to simulate the
decision making activities as well as the interaction between the actors. This is
very dicult, if possible at all, using traditional techniques. We have showed
that it is possible to deal with the complexities of mixing timetabled and non
timetabled transports in the algorithmic approach.
Further, we simulate the
principles of EOQ by letting the customer select the best order quantity among
a set of possible quantities.
Also, the interaction framework is shown to be
appropriate for tools such as TAPAS.
However, there is still room for further development of TAPAS. Possible extensions of the modeling on the agent level include:
•
The integration of sophisticated optimization algorithms in the agents to
improve the quality of their decisions (making the system prescriptive
rather than descriptive).
•
Allowing agents to learn from experience, e.g., customer agents regarding
lead times and safety stock levels.
•
Let other costs than the direct ones, such as environmental impact in
terms of external costs, inuence the decision making of the agents.
•
Experiment with other interaction protocols, e.g., allowing agents to initiate and respond to messages outside the interaction framework presented.
For example, the production buyer suggests an order quantity that ts
some producer.
56
•
Allow the product buyer to discard production proposals that it considers
useless instead of returning them to the TCC.
•
Additional agents, possibly storage agents and terminal agents (simple
storage and terminal behaviors are currently modeled in the physical simulator).
Regarding the physical simulator, we plan to:
•
Increase the level of detail, such as, simulate the loading and unloading at
the terminals, possibly causing congestion.
•
Including external aspects that aects the transports. As an example, to
simulate other trac on the links would allow us to study the eects of
link congestion.
Some possible general developments of TAPAS are:
•
Performance improvements, such as, more ecient route selection method,
and make TAPAS run in a GRID environment.
•
Investigate how TAPAS could be used in the context of the Trading Agent
Competition, TAC SCM (www.sics.se/tac/)
6 References
1. Alstrom, P., Numerical computation of inventory policies, based on the
EOQ/σx value for order-point systems, International Journal of Production Economics, Vol. 71(1-3), pages 235-245, 2001.
2. Bellifemine F.L., Caire G., Greenwood D., Developing Multi-Agent Systems with JADE, Wiley, 2007.
3. Bergkvist, M., Davidsson, P., Persson, J.A., Ramstedt, L., A Hybrid
Micro-Simulator for Determining the Eects of Governmental Control
Policies on Transport Chains, Multi-Agent and Multi-Agent Based Simulation, LNAI, Vol. 3415, Springer, 2005.
4. Boerkamps, J., van Binsbergen, A., GoodTrip .
A New Approach for
Modelling and Evaluation of Urban Goods Distribution, Urban Transport
Conference, 2nd KFB Re-search Conference, Lund, Sweden, 1999.
57
5. Davidsson P., Holmgren J., Kyhlbäck H., Mengistu D., Persson M., Applications of Multi Agent Based Simulation, Multi-Agent-Based Simulation
VII, LNAI, Vol. 4442, Springer, 2007.
6. Friberg, G., M. Flack, P. Hill, M. Johansson, I. Vierth, J. McDaniel, T.
Lundgren, P-O. Hesselborn, G. Bångman, Kilometerskatt for lastbilar. Effekter på näringar och regioner. SIKA Report 2007:2, Stockholm, Sweden,
2007.
7. Gambardella, L.M., Rizzoli, A., Funk., P., Agent-based Planning and Simulation of Combined Rail/Road Transport, Simulation, Vol. 78(5), pages
293-303, 2002.
8. Heinitz, F.M., Liedtke, G.T., Experience from CLP Applications in Microscopic Transport Modeling, 11
th World Conference on Transport Research,
Berkeley, USA, 2007.
9. Holmgren, J., Davidsson, P., Persson, J.A., Ramstedt, L., An Agent Based
Simulator for Production and Transportation of Products, 11
th World
Conference on Transport Research, Berkeley, USA, 2007.
10. de Jong, G., Ben-Akiva, M., A micro-simulation model of shipment size
and transport chain choice, Transportation Research Part B, Vol.
41,
pages 950-965, 2007.
11. Lundin, M., Structuring and Analysis of the East-West-Corridor via SkåneBlekinge, EastWest Transport Corridor Project Deliverable (Work Package 2), Stockholm, Sweden, 2007.
12. Noland R.B, Small K.A., Koskenoja P.M, Chu X., Simulating travel reliability, Regional Science and Urban Economics, Vol. 28(5), pages 535-564,
1998.
13. Ramstedt, L., Davidsson, P., Holmgren, J., and Persson, J.A., On the Use
of Micro-level Simulation for Estimation of the Eects of Governmental
Control Policies, 11
th World Conference on Transport Research, Berkeley,
USA, 2007.
14. Riaño G., Serfozo R., Hackman S., Ng, S.H., Chan L.P., Lendermann
P., Simulation test bed for manufacturing analysis:
benchmarking of a
stochastic production planning model in a simulation testbed, 35
Simulation Conference, pages 1183-1191, 2003.
58
th Winter
15. Sakalys A., Davidsson P., Jarzemskis A., Kronbak J., Persson J., Ramstedt
L., Sturys V., Vasilis Vasiliauskas A., Knowledge Development on Intermodal Transport Corridor, EastWest Transport Corridor project, Work
Package 5 Final report, Vilnius, Lithuania, 2007.
16. Shade, W., Martino, A., Roda, M., ASTRA - Assessment of Transport
th International Conference of the System Dynamics Society
Strategies, 17
th Australian & New Zealand Systems Conference, Wellington,
and the 5
New Zealand, 1999.
17. Swahn, H., The Swedish model systems for goods transport. SAMGODS.
A brief introductory overview. SAMPLAN Report 2001:1, SIKA, 2001.
18. Tavasszy, L.A., van de Vlist, M., Ruijgrok, M., van de Rest, J., Scenariowise analysis of transport and logistics systems with a SMILE, 8
th World
Conference on Transport Research, Antwerp, Belgium, 1998.
19. Williams, I., Raha, N., Review of Freight Modelling, Final Report, DfT
Integrated Transport and Economic Appraisal, Cambridge, UK, 2002.
20. Yngström-Wänn, S., Kilometerskatt som styrmedel for tung trak i Skåne
och Blekinge, Publikation 2007:97, Vägverket Region Skåne, 2007.
59
60
Paper III
An Agent Based Simulator
for Production and Transportation
of Products
Johan Holmgren, Paul Davidsson, Jan A. Persson and Linda Ramstedt
th World Conference on Transport Research, Berkeley, USA,
Presented at The 11
8-12 June 2007.
Abstract
We present a technical description of TAPAS, an agent based simulation tool,
for simulating the decision makers and the activities in a supply chain. TAPAS
is a micro level simulator composed of two connected layers.
A higher layer
simulates the interactions and decisions taken by a number of decision makers
(actors) involved in the supply chain and a lower layer simulates all physical
activities. The decisions simulated concern the choices of production and transport quantity, route, mode, vehicle, and the time for initiating the operations.
We use micro level simulation techniques since it enables us to capture the
behaviours of individual actors as well as the interaction between them.
61
1 Introduction
In this paper we present the
ulator
Transportation And Production Agent-based Sim-
(TAPAS), a general tool for micro level simulation of production and
transportation of products. The purpose of this paper is to provide a technical
description of TAPAS and to illustrate the basis for the decision making processes. In TAPAS, individual actors such as producers, transport operators, and
customers are modelled. It incorporates the complexity of transport choices with
respect to consignment size, route, and mode when taking into account both
timetabled and non timetabled (demand driven) transports. A challenge is to
match transport with production capabilities and consumer demand.
One important purpose of TAPAS is evaluation of the eects of dierent governmental control policies such as fuel taxes, road tolls and kilometre taxes. As a
decision support system, it can give governmental policy makers indications on
how companies will react to proposed policies. In addition, it can assist companies in making decisions, regarding e.g. choice of transport mode, based on the
control policies. For example, the eect of fuel tax on transports by truck and
on green house gases such as CO2 can be studied. In such an example, TAPAS
can be used by the policy makers to study if the fuel tax had the desired effects and by the transport companies to prepare how to react to the changed
conditions.
Additional examples of the use includes studies of environmental
impacts of transportation under certain policy settings and breakpoint analysis
(e.g. when it is protable to choose transports by train instead of by truck).
TAPAS is mainly developed within the Eects of Governmental Control Policies on Transportation Chains:
a Micro-Level Study
1 project, as a tool to
study eects of governmental control policies. From a business perspective, we
plan to use TAPAS for evaluating dierent production and transportation planning strategies in a project called "Integrated Production and Transportation
2
Planning within Food Industry" . Further, it will be applied in the EastWest
3
Transport Corridor project to study the eciency of a particular transport
4
corridor under dierent policy settings and potentially in the ARENA project
to make studies about kilometre taxes for heavy trac. Also, it can be used to
study the eects of potential investments in the transportation infrastructure.
For further discussion about the purpose and usability perspectives of TAPAS,
1 http://www.ipd.bth.se/stem/
2 http://www.ipd.bth.se/fatplan/
3 http://www.eastwesttc.org/
4 http://www.arena-ruc.com/
62
as well as experiments, see the companion paper by Ramstedt et al. (2007).
We use micro level simulation together with agent technology since this approach
enables us to capture the decision making, communication and negotiations
between individual transport chain actors. In macro level simulation where the
behaviours of the individuals are averaged together, such aspects are impossible
to capture (Parunak et al., 1998). Also, micro level simulation makes it is easy to
equip dierent actors with dierent goals and behaviours and the complexity of
the transportation domain increases the importance of studying the interactions
between individuals.
Moreover, we are able to study aspects of time, such
as the inuence of timetables and time dierentiated fees and taxes, which
are dicult to capture using macro level models. Also, we assume stochastic
consumer demand, transportation times and production lead times, justifying
the simulation approach.
A survey of agent-based approaches to transport logistics can be found in
Davidsson et al.
(2005) and a survey of macro level freight models can be
found in Ramstedt (2005).
The next section contains a presentation of the TAPAS model followed by a
brief discussion of the implementation and execution of TAPAS in section 3.
Finally, some conclusions and suggestions of further work are given in section 4.
2 The simulator model
TAPAS is a further development of a simulation tool presented by Bergkvist et
al. (2005) who partially based their work on Davidsson and Wernstedt (2004).
TAPAS uses a two-level architecture with a
making simulator.
physical simulator
and a
decision
This design is motivated by the fact that entities in the
physical simulator (e.g. vehicles and products) are considered passive while entities in the decision making simulator (the decision makers) act independently
and potentially proactively. The two layers are connected by letting the decisions taken in the decision making simulator initiate the actions in the physical
simulator. For an illustration of the TAPAS model, see gure 1. The actions
necessary to reach a physical delivery is described in terms of three steps:
1. Request for valid transports and productions,
2. booking of matching transport and production, and
63
3. execution of the booked transports and production.
Customer
Transport chain
coordinator
Decision making simulator
Product buyer
Transport buyer
Production
planners
Transport
planners
Physical simulator
Figure 1: The TAPAS model with decision layer and physical layer.
2.1 The physical simulator
(N, L) is a directed graph with a set of nodes N
L. A link l ∈ L with average speed and length is
between two nodes. A node n ∈ N can be a consumer
The transportation network
and a set of directed links
a directed connection
depot, a producer (factory) depot or a connection point in the transportation
network.
For reference, we let
NC
denote the consumer depots and
producer depots.
64
NF
the
Further, TAPAS has a set of product types
product type
p∈P
P
V . Each
v ∈ V has
and a set of vehicles
has mass, volume and value, and each vehicle
maximum speed, fuel type and a number of emissions (e.g., NOx , CO and CO2 ).
Also,
v
has fuel consumptions
fuel empty
v
and
fuel full
v
for empty and fully loaded
transports respectively.
We let
wvempty
its maximum load. The fuel consumption
a load of weight
w
is then approximated as
fuel (v, w) =
2.1.1
fuel full
− fuel empty
v
v
wvfull − wvempty
· w + fuel empty
.
v
(1)
Transportation
A vehicle
l∈L
v and wvfull the weight of v carrying
fuel (v, w) per km when v transports
denote the unloaded weight of
v∈V
with transportation mode (road, rail or sea) can only travel links
with the same mode and it is either controlled by a timetable (with xed
departure/arrival times) or not. It can however not oer both timetabled and
non timetabled transports. The dierences of timetabled and non timetabled
vehicles and how they are handled in the decision making process is discussed
in section 2.2.5. Transport costs consist of
1. time based costs (e.g. driver, capital, and administration),
2. distance based costs (e.g. fuel, vehicle wear and kilometre taxes), and
3. link based costs (e.g. road tolls).
Since load consolidation is not currently included in TAPAS, a consumer pays
the complete transport cost when it uses a non timetabled transport. As oers
are given at the time of booking, care must be taken for timetabled transports
in order to split the transport costs fairly between the buyers of transportation
capacity even though no information is available about future bookings. The
actual transport cost is the same as for non timetabled transports, but the cost
for a particular booking is calculated as the transport cost for the fully loaded
vehicle times the consumers share of the maximal load divided by the assumed
average vehicle utilization.
Travel times are stochastic and the time it takes for vehicle
l
v
to travel link
is assumed to follow a probability distribution which e.g. can be lognormal
(Noland et al., 1998).
65
2.1.2
Production
The production is performed in factories in the producer nodes
n ∈ N F has exactly one factory with a
lines An . For each product type p ∈ P
NF .
Each
set of individually scheduled production
batch
that can be produced in n we let snp
prod/time
denote the maximum batch size, cnp
the production cost per time unit
batch
and tnp
the batch production time. These parameters are assumed equal for
all a ∈ An , allowing production planners to give consistent production oers, in
terms of cost and time.
From the estimated production time
batch
batch
tprod
np (q) = dq/snp e · tnp
for producing
q
units of product
p,
the estimated production cost is calculated
as
prod
prod/time
cprod
+ cmaterial
· q,
np (q) = tnp (q) · cnp
p
where
cmaterial
p
denotes the raw material value for one unit of product
p.
This
method of calculating production costs makes it easy to calculate costs for production delays. Delays can occur since production lead times are stochastic and
the time it takes to produce
q
units of product
p
in node
n
is assumed to follow
a probability distribution, e.g. a normal distribution (Riaño et al., 2003).
2.1.3
Terminals
Times for loading and unloading at terminals are expressed in terms of xed
and variable times. Fixed times
tloadingfixed
v
and
tunloadingfixed
v
are the times it
loadingvariable
take to prepare a vehicle for loading or unloading. Variable times tv
unloadingvariable
and tv
are given for each product type and denote the times for
loading or unloading one unit of a product. The costs
cloading
v
and
cunloading
v
for
loading/unloading a vehicle are given as cost per time unit.
The time for loading
q
units of product type
p
for vehicle
tloading
(q) = tfixed
+ tvariable
· q,
vp
v
vp
v
is calculated as
(2)
and the loading cost is calculated as
cloading
(q) = cloading
· tloading
(q).
vp
v
vp
(3)
The formulas for unloading time and unloading cost are identical to (2) and (3)
except for that times and cost for loading are replaced with times and cost for
unloading.
66
2.2 The Decision Making Simulator
A number of decision makers (transport chain coordinator (TCC), product
buyer (PB), transport buyer (TB), transport planner (TP), production planners (PPn , n
∈ NF )
and customers (Cn , n
∈ N C ))
were identied in Bergkvist
et al. (2005). Details about the behaviours of the decision makers as well as the
interaction between them is presented in this section. The interaction framework by Bergkvist et al. has been rened, to be able to cope with simultaneous
production and transportation negotiations (see section 2.2.7).
2.2.1
Customer
Each node
n ∈ NC
is operated by a customer Cn who is responsible for keeping
inventories at reasonable levels by sending order requests (to the TCC). Ideally,
n, a product type p, a single order
[tds (p, q), tde (p, q)], where tds (p, q) and
an order request contains a delivery node
quantity
tde (p, q)
q
and a delivery time window
denote the start and end time of the time window.
In the Bergkvist et al. version of the simulator,
q
was chosen randomly from
a set of quantities each matching the exact capacity of some vehicle, resulting
in the undesired behaviour that the selection of vehicle to deliver the order was
too much inuenced by the order quantity. Instead we considered a more realistic ordering behaviour based on the principles of the EOQ (Economic Order
Quantity) model, (see Alstrom, 2001, ,e.g.), with intentions to provide us with
the desired property of immediate eects of policy changes that otherwise would
take long time to measure. In EOQ, the calculation of
q
is based on xed order
(transport) cost and inventory holding cost, but the presence of dierent vehicles, with dierent transport costs makes it dicult to estimate this quantity.
Instead, we let the order request sent by Cn contain a number of dierent quantities
q ∈ Q.
For the oers (one for each
q ∈ Q)
returned to Cn , it chooses the
best one from a cost perspective including cost of inventories at
n.
Another problem is that Cn needs knowledge about lead time from order to actual delivery, to be able to deduce the order point. Such information is however
inaccessible to Cn since lead times are dierent for dierent transport modes
and dependent on departure times for timetabled transports. To deal with these
problems, we let Cn use assumed approximate lead times (chosen as an upper
bound) and safety stock levels for the dierent products. This corresponds to
integrating the knowledge built from experience by real customers in Cn .
67
p
n, saf pn denotes the assumed safety stock level, lead pn
con(p, n, lead pn ) the forecasted consumption per time
max
unit during the next period of length lead pn time units and inv pn the maximum
current
allowed inventory level. Furthermore, t
denotes the current time. Note
For product
and node
the assumed lead time,
that Cn can access forecasts of future consumption but it has no control over the
actual consumption which is assumed to follow a known probability distribution,
e.g. a poisson distribution as in (Rabta & Aissani, 2005). The purpose of
is to handle the uncertainty in
The order point
order (p, n)
saf pn
con(p, n, lead pn ).
is calculated as
order (p, n) = saf pn + lead pn · con(p, n, lead pn ).
If the current inventory level
of product
p
inv (p, n)
plus the planned deliveries
during the lead time period is less than
order (p, n),
del (p, lead pn )
i.e.
inv (p, n) + del (p, lead pn ) < order (p, n),
q ∈ Q as discussed above.
[tds (p, q), tde (p, q)] for order quantity q at order point
then, Cn acts by placing order proposals for quantities
The delivery time window
order (p, n) is
"
t
where
calculated as
current
+ a, t
current
#
inv (p, n) + del (p, lead pn ) − saf pn
+
,
con(p, n, lead pn )
(
inv (p, n) + del (p, lead pn ) + q − inv max
pn
a = max 0,
con(p, n, lead pn )
Parameter
a
#)
.
is included in order to make sure enough inventory capacity is
available at the time of delivery.
2.2.2
Transport chain coordinator
The TCC is central in the communication framework as shown in gure 1 and
it is responsible for receiving order requests, sending product and transport
requests and receiving the corresponding proposals. For an order request from
Cn it nds the cheapest oer (via requests to the TB and the PB) for production
and delivery for each order quantity
q∈Q
Cn .
68
and sends order proposals back to
2.2.3
Product buyer
The PB operates between the TCC and the PP:s and it is responsible for handling production related communication with these decision makers. When a
product request is received it forwards it to all PP:s and when the production
proposals are returned, it sends them back to the TCC for further processing.
It also takes care of product bookings received from the customer via the TCC.
2.2.4
Production Planner
Each node
n ∈ NF
is operated by a production planner PPn . Upon the recep-
tion of an order request from the PB, PPn creates a production proposal with
cprod
(q)
n
pickup at n.
cost
and the earliest time
tprod
(q)
n
when the products can be ready for
It is assumed that the products can be produced and scheduled
for pickup later but not earlier than
tprod
(q).
n
At the reception of a booking
message (of a production previously given as a request), it communicates the
booking to the factory.
2.2.5
Transport buyer
The TB is responsible for compiling and suggesting transport alternatives from
producers to consumers for transport requests received from the TCC. A transport request contains production node
order quantity
q,
delivery time window
tprod
nf (q).
nf , delivery node nc , product type p,
de
[tds
nc (q), tnc (q)] and earliest pickup time
The problem of nding the cheapest transport solution can be seen as a shortest
(cheapest) path problem, in the network, with additional constraints for handling timetables and time windows.
Since we were unable to nd a suitable
method for this problem, we developed and implemented a customized search
algorithm.
Based on a set of precompiled transportation paths between
nf
and
nc ,
the
TB asks all TP:s for transport proposals for each link in the paths within the
relevant time interval (which is computed based on the earliest possible production time and the preferred delivery time window). These transport proposals
are combined by the TB into one transport proposal for each precompiled path
using a tree-based search algorithm. The best path proposal is then sent for validation to the customer via the TCC. Details about creating transport proposals
are presented below.
69
For each producer-consumer couple
paths, or rather sequences of nodes,
(nf , nc ), the TB uses a set of precompiled
Rnf nc , all starting in nf and ending in nc .
An example of such a set of sequences is given in gure 2. Each pair of adjacent
nodes in
r ∈ R nf nc
is connected by one or more links also seen in gure 2. In
a path, all types of links between two adjacent nodes are considered, implying
that both rail and truck, for instance, are considered in the search as between
ns
and
ne
in gure 2. The use of precompiled paths is motivated by assuming
that usable paths (transport routes) are generally known or can be found in
advance.
nf and a customer nc connected by three
Rnf nc = {nf → ns → ne → nc , nf → ns → nu → ne → nc ,
n f → n s → n u → n c }.
Figure 2:
Example of a producer
precompiled paths
r ∈ Rnf nc at a time to nd one trans(ni , nj ) of adjacent nodes in r, with direction ni to nj , the TB asks the TP:s for link transport proposals between ni and
de
nj with departure and arrival times inside [tprod
nf (q), tnc (q) + k]. Note that difThe TB processes one precompiled path
port solution for each. For each pair
ferent departure times between the same nodes are represented by dierent link
k ≥ 0 alnc when it is impossible to deliver inside [tprod
(q),
tde
nf
nc (q)].
de
transports later than tn (q) are penalized by a strict increasing
c
transport proposals even if they represent the same vehicle. Constant
lows for late arrivals to
The cost for
penalty function of the delay, chosen to represent a suitable trade-o between
transport cost and delay. Some of the link transport proposals will of course be
infeasible when it comes to combining them into complete transport solutions,
which will be discussed later.
When all link transport proposals are returned from the TP:s, the TB uses them
to generate the cheapest transport for path
70
r.
The algorithm, implemented as
a search tree
Tr ,
concentrates on one path
ows from the leafs towards the root
ρ
r ∈ R nf nc
at a time. The transport
of the tree. The search for transports
nc and follows r towards nf . For path r, a search tree node η (in
Tr ) represents a link transport proposal between two network nodes dep(η) and
arr (η), with departure and arrival times (for a timetabled transport) or transportation time (for a non timetabled transport). Additionally, η has a parent
node parent(η) representing a transport with departure from arr (η), a cost c(η)
representing the best cost for travelling from dep(c(η)) to the consumer, and
a number of child nodes child i (η), i ∈ Iη . As mentioned above, η represents
starts in
departure and arrival times of the corresponding link transport proposal. For
non timetabled transports, these times are not xed and not known in advance,
as they are for timetabled transports.
search algorithm as described below.
Instead they are updated inside the
Also, in our algorithm, the root
ρ
does
not correspond to an actual transport proposal. Its purpose is to connect all sub
trees rooted by a transport proposal arriving to the consumer node, which otherwise would have constituted separate search trees.
The dierences between
timetabled and non timetabled transports constitutes the main challenge for
the search algorithm and to handle them, timetabled and non timetabled transports are represented by dierent types of search tree nodes. For simplicity we
say timetabled and non timetabled tree nodes instead of respective transport
proposals.
For an ecient tree traversal, the following search strategies were adopted.
1. Branches that unavoidable lead to infeasible or more expensive solutions
than the so far best found solution are pruned.
Nodes are pruned if it
is impossible for the corresponding transport proposal to depart at time
tprod
nf (q)
or later.
2. A depth rst based traversal strategy was adopted to search the tree allowing for potential valid solutions early to prune more expensive tree
branches later on.
3. Later arriving but feasible (possibly penalized) children are visited before earlier arriving children because we believe this strategy most likely
produces valid solutions early.
When traversing search tree node
η , Tr
each link transport proposal arriving in
1.
η
and
ζ
is expanded by creating a child
dep(η).
are both timetabled,
71
ζ
for
One of four cases can occur:
2.
η
and
ζ
3.
η
is timetabled while
4.
η
is non timetabled while
are both non timetabled,
ζ
is non timetabled, and
ζ
is timetabled.
z(ζ, η) ∈ {0, 1} indicate if the products will be reloaded (z(ζ, η) = 1)
= 0) between link transport proposals ζ and η (reload is asreloading
sumed if ζ and η represent dierent modes or vehicle types), c
(ζ, η) =
unloading
loading
waiting
c
(ζ) + c
(η) the cost for reloading and t
(ζ, η) the waiting
arr
time between the arrival time t
(ζ) of ζ and the departure time tdep (η) of η .
We let
or not (z(ζ, η)
Note that each vehicle belongs to a certain vehicle type as discussed further in
section 2.2.6.
If
ζ
is timetabled,
tdep (ζ)
and
tarr (ζ)
are given in the link transport proposal.
Otherwise, it has no given departure and arrival times.
node
ζ
Instead search tree
is assigned a temporary arrival time as the departure time of
η
minus
the time for reloading (if there is a reload), and temporary departure time as the
temporary arrival time minus the travelling time. If the arrival and departure
times of
ζ
is temporary,
twaiting (ζ, η)
is of course temporary as well.
The cost c(ζ) for reaching a search tree node (from the root) ζ is calculated as
c(η), plus the cost for the link transport proposal ctransp (ζ) (see section 2.1.1 for
details), plus the cost for potential reloading between ζ and η , plus the potential
capital costs and some waiting time implied by ζ . That is,
c(ζ) = c(η) + ctransp (ζ) + z(ζ, η) · creloading (ζ, η) + cwaiting · twaiting (ζ, η),
where
cwaiting
is the waiting cost per time unit and
the four cases listed above. The exact value of
twaiting (ζ, η)
waiting
c
depends on
is dierent for dierent
vehicles and for dierent locations and when it is possible to choose where to
wait, we allocate the waiting time to the vehicle/location with lowest waiting
cost, as discussed below.
Let us present two special cases.
1) For a search tree node
ζ
arriving at the
consumer (its parent is the root), the products must of course be unloaded,
and therefore,
c(ζ) = cunloading (ζ) + ctransp (ζ).
2) If, however,
ζ
is a leaf (with
departure from the producer), the products must be loaded and the cost is
c(ζ) = c(η)+ctransp (ζ)+z(ζ, η)·creloading (ζ, η)+cloading (ζ)+cwaiting ·twaiting (ζ, η).
twaiting (ζ, η) equals the elapsed time between the arrival of ζ and
waiting
departure of η . For case two and three, t
(ζ, η) = 0. There might
For case one,
the
72
however still be a waiting time between
ζ
and
η,
but this cannot be determined
until a timetabled node transport is found, which leads us into case four.
The problem with the fourth case is the presence of a number of non timetabled
transports
t
0
Θ,
squeezed in between two xed times
must of course be the departure time
t
dep
(ζ)
t0
and
t00 .
The earlier time
while the later time
t00
might be
either the departure time of another timetabled link transport proposal or the
end time
tds
nc (q) + k
of the delivery time window at the consumer, whichever is
found rst in a trace from
ζ
towards the root of the tree.
The latter applies
if the root of the tree is reached before any timetabled search tree node. The
elapsed time between
timetabled transports
t0 and t00 minus the actual total travel time of the non
Θ constitutes the total waiting time which is allocated
to the location or vehicle with the lowest waiting cost. This allows us to x the
departure and arrival times of all non timetabled transports
from wherever the trace ended, to
2.2.6
Θ
by going back,
ζ.
Transport planner
Each TP controls a vehicle eet which operates some set of network nodes.
Upon the reception of a transport request from node
proposals from
ns
to
ne
ns
to node
ne , it generates
for the requested product and quantity with departure
and arrival times inside the requested time window
[tstart , tend ].
Since timetable controlled vehicles have xed departure and arrival times which
are repeated within some certain frequency, and non timetabled transports only
departs when they are booked, the corresponding transport proposals are different. For a timetabled transport, a transport proposal is generated for each
departure with departure no earlier than
tstart
and arrival no later than
tend
and for non timetabled transports, the TP generates one proposal, containing
the actual travel time (without departure and arrival times), for each vehicle
type in the eet. The cost returned to the TB includes all costs discussed in
section 2.1.1.
2.2.7
Interaction protocol
In this section we present the communication framework aiming at matching
valid transport and production proposals to fulll a customer order. The main
chain of interactions (messages) in a successful negotiation from order placement
to delivery agreement is shown in gure 3.
73
Customer
1, 11
Transport chain
coordinator
2, 16
10, 20
9, 15
5, 19
6, 12
Product buyer
Transport buyer
3, 17
7, 13
4, 18
8, 14
Transport
planner
Production
planner
Figure 3: The interaction framework used in TAPAS.
When we developed the interaction framework we had to deal with a number
of challenges.
1. Transport and production cannot be booked simultaneously, one must be
booked before the other,
2. a production cannot be booked without matching it with a valid transport
and vice versa,
3. the computations needed to nd the cheapest combination of production
and transportation that fulls the order might be very time consuming.
In the Bergkvist et al. version of the simulator, products were booked without
considering the possibility to match a transport. A standard contract net negotiation was used to buy the cheapest products before using a second contract
net negotiation to buy the cheapest transports.
We think it can be risky to
assume the existence of valid transports for an already booked production. In
the framework presented below, where a negotiation requires two steps, a production is booked before a transport but bookings are preceded by production
and transport requests to assure valid overall solutions.
74
1. (Cn
→
TCC). A customer Cn sends an order request to the TCC. The
order request contains customer identier, product identier, a number of
quantities and delivery time window for each quantity.
2. (TCC
→ PB). The TCC receives the order request sent by Cn and forwards
it as a production request to the PB.
3. (PB
→ PP:s).
The PB receives the production request from the TCC and
sends it to all PP:s.
4. (PPnf
→ PB) PPnf
creates a production proposal for each of the requested
quantities that can be produced by factory
nf ,
including the producer
identier, the earliest time the products can be ready for pickup and the
production cost, and sends them back to the PB.
5. (PB
→
TCC) When all PP:s have responded to the production requests
sent in message 3, the PB sends them to the TCC.
6. (TCC
→
TB) After receiving the production proposals from the PB, the
TCC sends a transport request to the TB. The transport request can be
seen as one transport request for each production proposal and it contains
producer identier, customer identier, product identier and a number
of quantities with corresponding delivery time windows and earliest times
for pickup.
7. (TB
→
TP:s) For each transport request received from the TCC, the TB
extracts the producer node
nf
and consumer node
transport request for each connection
(ns , ne )
n
and sends a link
in each precompiled path
nf and n. Each such transport request contains departure node
ns , arrival node ne , product identier, quantity and time interval in which
between
the transport must depart and arrive.
8. (TPk
→
TB) After receiving a transport request from the TB, the TPk
creates a number of transport proposals and sends them back to the TB.
Each link transport proposal contains departure/arrival times, link identier and transportation cost.
Also, the starting time for loading the
vehicle before departure and the ending time for unloading after arrival is
included to be used if necessary. For details about the dierences between
timetabled and non timetabled transport proposals, see section 2.2.6.
9. (TB
→
TCC) After receiving all link transport proposals from the TP:s,
the TB uses them to compile one transport solutions for each production
75
proposal sent in message 5. For each producer and quantity, the transport
proposal with lowest transport cost is sent to the TCC.
10. (TCC
→
Cn ) After receiving the transport proposals from the TB, the
TCC combines them with the production proposals to form one valid order
proposal (the cheapest) for each order quantity. The order proposals are
sent to Cn for validation.
11. (Cn
→ TCC) Cn
receives the order proposals (one for each order quantity)
and accepts the most benecial proposal.
12. (TCC
→ TB) After receiving the order acceptance (message 11) from Cn ,
the TCC sends an accept message to the TB.
→
13. (TB
TPi ) The TB receives the accept message from the TCC and
sends a booking message for each link (actually departure) in the transport
solution for the accepted proposal to the corresponding transport planner
TPi .
→
14. (TPi
TB) TPi receives the transport booking message from the TB,
books the transport with the agreed vehicle and sends a booking acceptance message to the TB.
15. (TB
→
TCC) After receiving all transport booking acceptance messages
from the TP:s involved in the transport solution, the TB sends a transport
booking inform message to the TCC.
16. (TCC
→
PB) The TCC sends a production booking message to the PB.
This message contains quantity, pickup time and selected producing factory
17. (PB
n0f .
→
PPn0 ) After receiving the production booking message from the
f
TCC, the PB sends a production booking message to PPn0 .
f
→
18. (PPn0
f
PB) PPn0 adds a production order to the factory and sends a
f
production booking inform message back to the PB.
19. (PB
→
TCC) The PB informs the TCC that the production is booked by
PPn0 .
f
20. (TCC
→ Cn ) After receiving the production booking inform message,
the
TCC sends an information message to Cn that the order has been booked
by PPn0 and the TP:s.
f
76
If a decision maker receives a failure or a reject message, it is forwarded to all
agents and the order is rejected. This is however not completely true since for
example, if one production planner refuses to produce, the protocol can continue
with the oers from the other producers. However, if all production planners
refuse, the negotiation terminates.
3 Implementation and Execution
TAPAS is implemented as a discrete time event based simulator in the Java
1.4 language. The decision making simulator is implemented as a
System
Multi-Agent
(MAS) with software agents representing decision makers. A MAS is
a system inhabited by cooperative or competitive software agents that coexists
with each other. A software agent (Wooldridge, 2002) might be dened in terms
of a software system situated in some environment capable of autonomous action
in that environment. Desirable properties of an agent can e.g. be the ability to
react to changes in the environment and to be able to produce plans.
Agent platforms (Bordini et al., 2006) provide means for developing MAS. Common functionality included is support for communication, coordination, debugging and testing. To simplify the implementation of the agent system, we used
the Java Agent DEvelopment Framework (JADE) platform (Bellifemine et al.,
1999).
As noticed in a survey of applications of Multi Agent Based Simulation (MABS)
(Davidsson et al., 2006), all MABS applications do not utilize any agent platform for implementation. One reason might be lack of knowledge about these
platforms and another reason might be that the behaviour of the simulated
entities is not complex enough to motivate their use and a simpler technology
would suce. Moreover, it should be noticed that agent platforms often introduce limitations to the system. Even though JADE has many useful properties,
it is easy to integrate in Java and it has been used in the development of many
other systems, we realized that there are also some problems of using JADE
for our particular system. According to our experience, the major disadvantage
with JADE is that it is dicult to implement advanced communication protocols, such as the one presented in this paper. As long as normal Contract Net
negotiations are used, JADE works well, but when you deal with nested negotiations, JADE and probably many other FIPA compliant platforms, seems too
rigid. This drawback also has been identied by others (Bordini et al., 2006)
77
and we suggest to carefully consider the choice of agent platform before starting
to implement a MAS.
Simulated activities (loading/unloading, departures, arrivals, etc) are all represented by events, which are scheduled in an event list. An activity is actually
represented by two events, a start activity event and an end activity event. At
the start of a simulation activity (triggered by a start activity event), the execution time of the activity is determined (possibly stochastic) and the end event
is created and scheduled. Further, if an activity cannot be started when a start
activity is scheduled, e.g. since it might be waiting for some other activity to
nish, then it must wait for the blocking activity to terminate before trying
again.
A simple test case of the eects of kilometre taxation on a transport chain is
presented in Ramstedt et al. (2007). Ramstedt et al. also contributes a general
discussion of experiments, results, output analysis and validation.
4 Conclusions and Suggestions of Further Work
We have presented a micro-level simulator for a rather wide scope of production
and transportation. By using agent technology, we were able to simulate the
decision making activities as well as the interaction between the actors. This is
very dicult, if possible at all, using traditional techniques. We have showed
it is possible to design a production and transport simulator in two levels. We
have also showed that it is possible to deal with the complexities of mixing
timetabled and non timetabled transports in the algorithmic approach (as discussed in section 2.2.5). Further, we simulate the principles of EOQ by letting
the customer select the best order quantity among a set of possible quantities.
Also, the interaction framework is shown to be appropriate for tools such as
TAPAS. However, there is still room for further development of TAPAS:
•
Integrate sophisticated optimization algorithms in the agents, thus making
the system prescriptive rather than descriptive.
•
Allowing customer agents to learn from experience regarding lead times
and safety stock levels.
•
Include (non-internalized) external costs, such as environmental impact,
into the decision making process.
78
•
Experiment with other interaction protocols and allow agents to initiate
and respond to messages outside the interaction framework presented in
section 2.2.7. For example, the production buyer suggests an order quantity that ts some producer.
•
Simulate the actions at the terminals, e.g. it could be interesting to simulate congestion at loading and unloading.
•
Simulate other trac on the links allowing us to study link congestion.
•
Allow the product buyer to discard production proposals that it considers
useless instead of returning them to the TCC.
5 References
Alstrom, P. (2001). Numerical computation of inventory policies, based on the
EOQ/σx value for order-point systems.
tion Economics, 71 (1-3), 235-245.
International Journal of Produc-
Bellifemine, F., Poggi, A., & Rimassa, G. (1999).
agent framework
JADE - A FIPA-compliant
(Tech. Rep.). CSELT.
Bergkvist, M., Davidsson, P., Persson, J. A., & Ramstedt, L. (2005). A hybrid
micro-simulator for determining the eects of governmental control poli-
Lecture notes in computer science: Vol. 3415.
multi-agent and multi-agent-based simulation (pp. 236247). springer.
cies on transport chains. In
Bordini, R. H., Braubach, L., Dastani, M., Seghrouchni, A. E. F., Gomez-Sanz,
J. J., Leite, J., et al.
(2006).
A survey of programming languages and
platforms for multi-agent systems.
Informatica, 30 (1), 33-44.
Davidsson, P., Henesey, L., Ramstedt, L., Törnquist, J., & Wernstedt, F. (2005).
An analysis of agent-based approaches to transport logistics.
tion Research Part C, 13 (4), 255271.
Transporta-
Davidsson, P., Holmgren, J., Kyhlbäck, H., Mengistu, D., & Persson, M. (2006).
Applications of multi agent based simulation.
(Presented at the Sev-
enth International Workshop on Multi-Agent-Based Simulation, Hakodate, Japan, 8 May 2006. To be published in the Lecture Notes in Computer Science Series, Springer)
Davidsson, P., & Wernstedt, F. (2004). A framework for evaluation of multiagent system approaches to logistics network management. In
systems: An application science.
Kluwer.
79
Multi-agent
Noland, R. B., Small, K. A., Koskenoja, P. M., & Chu, X. (1998). Simulating
travel reliability.
Regional Science and Urban Economics, 28 (5), 535-564.
Parunak, H. V. D., Savit, R., & Riolo, R. L. (1998). Agent-based modeling vs.
equation-based modeling: A case study and users' guide. In J. Sichman,
Lecture notes in computer science: Vol.
1534. Multi-Agent Systems and Multi-Agent-Based Simulation (pp. 10
R. Conte, & N. Gilbert (Eds.),
25). Springer.
International Journal of Production Economics, 97 (2), 159-171.
Ramstedt, L. (2005). Analysing the eects of governmental control policies in
transport chains using micro-level simulation. Licentiate Dissertation No.
Rabta, B., & Aissani, D. (2005). Strong stability in an inventory model.
2005:11, Blekinge Institute of Technology, Sweden.
On the use of
micro-level simulation for estimation of the eects of governmental control
policies. The 11th World Conference on Transport Research, Berkeley,
Ramstedt, L., Davidsson, P., Holmgren, J., & Persson, J. (2007).
USA, 8 - 12 June 2007.
Riaño, G., Serfozo, R., Hackman, S., Ng, S. H., Chan, L. P., & Lendermann,
P. (2003). Simulation test bed for manufacturing analysis: benchmarking
of a stochastic production planning model in a simulation testbed.
Wsc '03: Proceedings of the 35th conference on winter simulation
In
(pp.
11831191). Winter Simulation Conference.
Wooldridge, M. J. (2002).
An introduction to multiagent systems.
John Wiley & Sons, Ltd.
80
London, UK:
Paper IV
Agent Based Decomposition of
Optimization Problems
Johan Holmgren, Jan A. Persson and Paul Davidsson
Presented at The First International Workshop on Optimisation in Multi-Agent
Systems, Estoril, Portugal, 12-13 May 2008.
Abstract
In this paper, we present an agent-based approach for solving an optimization
problem using a Dantzig-Wolfe column generation scheme, i.e., a decomposition
approach.
It has been implemented and tested on an integrated production,
inventory, and distribution routing problem.
We developed a decomposition
model for this optimization problem, which was implemented in the Java programming language, using the Java Agent DEvelopment Framework (JADE)
and the ILOG CPLEX mixed integer linear problem solver.
The model was
validated on a realistic scenario and based on the results, we present estimates
of the potential performance gain by using a completely distributed implementation. We also analyze the overhead, in terms of communication costs, imposed
by an agent based approach. Further we discuss the advantages and the disadvantages that come with an agent-based decomposition approach.
81
1 Introduction
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 [5]. A number of ways to combine the approaches
in order capitalize on their respective strengths were sketched and two of these
were implemented and evaluated.
The rst approach was using an optimiza-
tion 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 was embedded in the agents.
This can be seen as a further de-
velopment of distributed optimization where agent technology is used, e.g., to
improve coordination.
In this paper, we describe another approach, namely how an optimization approach can be agentied into a multi-agent system (MAS) by using principles
of decomposition which is a classical optimization (reformulation) method. One
purpose is to detail the concept of agentifying an optimization approach. Further, the purpose is to validate that some positive characteristics can be achieved
by this type of approach. The main characteristics studied are condentiality
aspects of information, i.e. keep the information locally when possible, and the
potential to achieve performance improvements by distribution and parallelization. Obviously, an agentication comes at a price, which is also discussed in
this paper.
In the next section the integration of agent technology and decomposition is outlined, and a real world case is presented in section 3. The application of agent
based decomposition is given in section 4, and in section 5, we present our computational experiment, some results and discussions. Finally, some conclusions
and directions for future work is given in section 6.
2 Decomposition and Agent Technology
Decomposition in linear optimization, such as the Dantzig-Wolfe (DW) column
generation scheme [2], were originally developed for solving large linear optimization problems. Later, decomposition approaches have been used for solving
mixed integer linear problems by branch and price [8].
82
In DW decomposition, a mixed integer linear optimization problem is reformulated in terms of a linear master problem and a set of planning subproblems
which produces new plans that are coordinated by the master problem.
The
linear master problem, which contains a restricted number of variables, is solved
in each iteration. From the optimal dual variables obtained from the solution
of the restricted master problem, the subproblems produce new plans which are
added as new improving variables (or columns), to extend the restricted master
problem.
In this paper, we suggest a multi-agent based DW decomposition approach
illustrated by the conceptual MAS model presented in gure 1. This hierarchical
Coordinator
Planner 1
Planner 2
Planner n
Figure 1: The conceptual MAS model.
model contains a coordinator agent and a set of planner agents, where the
coordinator agent corresponds to a DW master problem and each planner agent
corresponds to a set of DW subproblems. Note that it is possible for a planner
agent to handle more than one DW subproblem. This number of subproblems
depends on the organizational settings in the studied scenario. A planner agent
is responsible for planning some set of resources assisting the coordinator agent
in nding a globally optimal solution. The planning procedure is guided by the
values of the dual variables which the coordinator uses as a control mechanism to
help the planner agents in nding improving plans. Hence, the coordinator is not
explicitly dictating the characteristics of the plans to be produced by the planner
agents, and the planner agents are thereby to some extent autonomous. The
coordinator agent is responsible for coordinating the plans that are produced by
the planner agents. Moreover it decides if and when the planner agents should be
given some directives of partially xating the plan, i.e. to xate the use of some
resources. This xation of plans is necessary in cases where DW-decomposition
does not guarantee any feasible (i.e. not integer) solution, which is a common
characteristic of DW-decomposition. Such decisions (xations) must of course
be based on previously generated plans, and the planner agents in question are
83
forced to obey the xations when they create future plans. Note however, that
the DW-decomposition approach allows for many dierent ways of dening the
coordinator and the planner agents.
Traditionally, a decomposition algorithm formulated with a master problem and
a set of subproblems is executed in a single process (on a single computer), which
has access to all pieces of information necessary to run the optimization. This
classical approach can not provide condentiality since the coordinator must
be given access to information that might be considered sensitive.
With an
agent based approach however, where the master problem, and subproblems
are represented by dierent individual agents, it is often (depending on the
actual application) possible to run the optimization with less need for sharing
sensitive information. For instance, in the case presented in section 4, we have
a master problem which coordinates production, transportation and inventory.
This master problem needs access e.g. to customer demand forecasts, but it does
not need any underlying details about how transportation plans and production
plans are actually created, because such information belongs to the subproblems.
In a classical approach, however, all such information needs to be shared with
the master problem, causing decreased condentiality.
When the agent system runs on a single computer, there is actually a loss in
performance due to the use of agents, because of the increased need for communication.
In the distributed solution approach, where the system runs on
several computers (or a multi processor computer), there is however a potential
gain in computation time and in some cases solution quality since more computing power allows for solving more complex subproblems. The reason for this
is that the subproblems can be solved in parallel, which is not the case when
the optimization runs on a single processor.
The easiness in which an agent
system can be distributed over several, geographically or non geographically
distributed, computers gives another possible advantage over classical decomposition approaches. Such a decentralized solution approach further makes the
system less vulnerable to single point failures of one computing node. In our
approach, where the coordinator agent typically retains control of all decisions,
but does not need to know any details about how solutions were generated, a
failure of the coordinator agent is fatal, because the presence of the coordinator agent is absolutely necessary.
However, in the case when the coordinator
loose contact with some planners, the rest of the planners might still be able to
produce new plans that can be considered by the coordinator. This makes the
suggested approach more robust towards planner agent failures.
In section 4 we demonstrate the agent based decomposition approach by pre84
senting a case study for an integrated production, inventory, and distribution
routing problem. We have chosen a decomposition formulation which we nd
attractive particularly from the perspective of having a natural interpretation
of dual prices and having real world correspondence to the sub-problems.
In
general, the decomposition scheme including e.g. master/subproblem formulations, xations, termination criterias need to be designed to utilize the special
characteristics of the studied problem type.
We would like to point out that
some problems can be extremely dicult to even formulate as a single mixed
integer problem, and solving it can be an even more dicult task. According to
Fumero and Vercellis [6], problems in this area tend to use an underlying network structure that may be exploited by decomposition approaches. Also, the
studied problem class captures the diculties with distributed decision making since typically, 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. Another characteristic is that these problems typically are NP-hard and that they can be extremely dicult to solve, even for
very small problem instances. An overview of integrated production, inventory,
and distribution routing problem is provided by Lei et al [7].
3 Case Description
We consider a real world problem with a producer of vegetable oils and a transport operator with a eet of trucks handling deliveries of nished products to
a number of customers. The production, and hence the planning of production
and deliveries are driven by, sometimes changing and often late arriving, customer orders and the producer has limited knowledge about the contents of and
arrival times of new orders. The actual production is performed in batches at
a single production plant with multiple production lines which are scheduled to
match the shipping times deduced from the customer orders.
Products are delivered by trucks operated by a single haulier and before loading, the nished products are stored in short-term (rather capacity limited)
producer depot inventory. At delivery, products are stored in customer inventories for storage of nished products. Starting with a full (or close to full) 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 the same trip.
The transportation cost includes time based driver
cost, distance based fuel cost and vehicle wear cost.
85
When the transportation demand exceeds the available transportation capacity,
it is possible to call in extra capacity to a higher cost. Occasionally, a vehicle
can be scheduled for a non empty transport on the return trip from a customer
to the producer.
Furthermore, time and costs for loading and unloading are
considered, and the drivers must follow the European Economic Community
1 for driving and resting hours. A typical planning horizon
(EEC) regulations
for the production and transport planning is usually less than a week.
A possible utilization of customer demand forecasts would allow the producer to
introduce
Vendor Managed Inventory
(VMI) [3], where the producer is respon-
sible for replenishment of customer inventories, for one or more customer. This
leads to a higher exibility in the production and transportation planning, and
hopefully, an introduction of VMI can lead to a higher utilization of (often limited) production and transportation resources. We focus on the VMI situation,
due to its potential of improved resource utilization, but the presented approach
is not limited to VMI, since a tight specication of customer inventories mimics
a non-VMI situation.
In gure 2, we present a small transport network containing a factory, inventories, customer depots and trucks, and planners who are responsible for taking
decisions about the physical entities.
4 Case Specic Decomposition Formulation
To illustrate our agent based approach, we designed a Dantzig-Wolfe decomposition scheme to model the integrated production, inventory, and distribution
routing problem presented in the previous section. The decomposition formulation contains a master problem, a production scheduling subproblem for construction of production plans, and a transportation subproblem for construction
of transportation plans.
Building upon the conceptual agent model in gure 1 we constructed an agent
system containing a transport chain coordinator agent, a set of production planner agents and a set of transportation planner agents.
In this decomposition
formulation, the transport chain coordinator agent maps to the master problem,
1 EEC
3820/1985
86
Coordinator
Production planner
Transport planner
Customer
Producer
Customer
Figure 2: A transport chain with planners, coordinator and physical entities
(trucks, inventories, factories and customer depots.
each production planner agent to a production scheduling subproblem and each
transportation planner agent handles a set of transportation planning subproblems.
We let
V
DP
denote the set of producer depots,
P
the inhomogeneous eet of vehicles,
DC
the set of customer depots,
the set of product types and
L
the set
of production lines available in the model. The planning horizon is represented
by an ordered set
τ.
A
T = {1, 2, . . . , t̄}
transportation plan
of discrete time periods with uniform length
for a vehicle is dened 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 transportation
plans for a vehicle
v ∈V
is denoted
Rv ,
v.
For a customer depot
depot
d ∈ D
P
d ∈ DC , xdptr
it represents a pickup.
r is ψr , and xdptr
p at period t by vehicle
the cost for using
represents a delivered or a picked-up amount of product
represents a delivery and for a producer
Similarly, we dene a
production plan
for a production line as the amount of each product produced in each time
period throughout the planning horizon. We let
production plans for production line
l ∈ L,
87
and
Sl
ωs
denote the set of all valid
denotes the cost for using
s ∈ Sl . For production plan s ∈ Sl , located in some depot d = d(s), we
ydpts represent the amount of product p produced in period t. Furthermore,
C
parameter %dpt denotes the demand of product p ∈ P at customer depot d ∈ D
at time period t ∈ T .
plan
let
Each depot
d∈D
has an inventory where variable
level of product
p
in depot
d
at period
t.
zdpt
is used to decide the
d, the inventory
p at time period t must not fall below a lower bound z dpt (which
inventory level of product
For depot
typically corresponds to a safety stock level) and must not exceed a maximum
capacity of
p∈P
z dpt
units. An inventory cost
in stock in depot
d∈D
φdp
is charged for each unit of product
between two subsequent periods.
Furthermore, binary decision variables are used to determine which delivery
plans and production plans will be used (exactly one transportation plan for
each vehicle and exactly one production plan for each production line must be
vr determines if transportation plan r ∈ Rv
= 1) or not (vr = 0) and ws if production plan s ∈ Sl is used (ws = 1)
(ws = 0).
used). Therefore, decision variable
is used (vr
or not
udpt to represent how much the storage level of product
p in depot d falls below the safety stock level in period t, and qdpt expresses how
We introduce variable
much the storage level exceeds the corresponding maximum allowed storage
level. To avoid violating the safety stock levels and maximum allowed storage
levels, or in other words minimizing the usage of the
penalty costs
Mq
and
Mu
u:s
and
q :s
we introduce
which are applied as shown in equation (1).
Our Dantzig-Wolfe Master Problem (MP) can now be formulated as to minimize
X
X
X
ωs ws ,
(φdp zdpt +M q qdpt +M u udpt ) +
ψr vr +
(1)
S
S
r∈ v∈V Rv s∈ l∈L Sl
p∈P,d∈D,t∈T
subject to customer depot inventory balance constraints
zdpt−1 +
X
vr xdptr
S
r∈ v∈V Rv
+udpt − qdpt − %dpt = zdpt ,
t ∈ T, d ∈ DC , p ∈ P,
(2)
producer depot inventory balance constraints
zdpt−1 −
X
vr xdptr +
S
r∈ v∈V Rv
X
ws ydpts
S
s∈ l∈L Sl
+udpt − qdpt = zdpt ,
t ∈ T, d ∈ DP , p ∈ P,
88
(3)
storage level constraints
z dpt ≤ zdpt ≤ z dpt , d ∈ D, p ∈ P, t ∈ T,
(4)
and convexity constraints
X
vr = 1, v ∈ V,
(5)
ws = 1, l ∈ L,
(6)
r∈Rv
X
s∈Sl
where
vr ∈ {0, 1} ∀ r ∈
[
Rv , ws ∈ {0, 1} ∀ s ∈
v∈V
[
Sl
and
zdpt ≥ 0 ∀ d ∈
l∈L
D, p ∈ P, t ∈ T .
Before we dene the restricted (Dantzig-Wolfe) Master Problem RMP we need
Rv0 ⊆ Rv of all currently known transportation plans for
0
vehicle v ∈ V and Sl ⊆ Sl of all currently known production plans for production
line l ∈ L. RMP is identical to MP, except for that we replace all occurrences
0
0
of Rv with Rv , all occurrences of Sl with Sl , and all integer restrictions on
variables vr and ws with constraints
to introduce subset
0 ≤ vr ≤ 1, r ∈
[
Rv ,
and
(7)
v∈V
0 ≤ ws ≤ 1, s ∈
[
Sl .
(8)
l∈L
In other words, RMP is the LP-relaxation of MP, with restrictions on the
and
Sl
Rv
sets.
In RMP, we let
λ
denote the dual variables for constraint group (2),
variables for group (3),
δ
the dual variables for constraints (5) and
variables for constraints (6). A value
λ̄dpt > 0
µ the
θ the
dual
dual
means that an increased delivery
p to depot d in period t will improve the objective function value.
µ̄dpt > 0 is interpreted to mean that we want to increase the production
product p in depot d in period t. A value µ̄dpt < 0 on the other hand, means
of product
Also,
of
that we want decrease the production or reducing the inventory by transporting
products away from depot
d.
Figure 3 presents the main algorithm ow for the decomposition approach. RMP
is resolved before each request for new production plans or transportation plans
is send because we want all new plans to be based on as fresh dual variables as
89
Create empty production/transportation plans
for all vehicles and all production lines
Start
Solve RMP
Send dual variables and fixations to transportation planners
and receive new transportation plans with costs
Add all transportation plans with Yes
negative reduced cost to RMP.
Does any transportation
plan with negative reduced
cost exist?
No
Resolve RMP, and send dual variables and fixations to
production planners and receive new production plans with costs
Add all production plans with
negative reduced cost to RMP.
Does any production
plan with negative reduced
cost exist?
Yes
No
Yes
At least one transportation
plan was added
No
Fix a quantity for some vehicle
or production line and throw
away columns
Yes
Does candidate for
fixing exist?
No
Terminate
Figure 3: Master problem (coordinator agent) algorithm ow chart.
possible. However, we have not tested whether this design option is appropriate
or not, but we nd it reasonable to believe that generating plans based on fresh
dual variables will give fast convergence since that means that all new plans
90
are up-to-date.
In a multi processor approach, it is possible (and probably
preferable) to send the transportation and production requests in parallel to
allow the subproblems to be solved simultaneously.
A diagram showing how
the coordinator communicates with the transport planners and the production
planners in our decomposition approach is presented in gure 4.
Transport
planners
Coordinator
Production
planners
Duals + transportation fixations
New transportation plans
Solve transportation
subproblems
Duals + production fixations
Solve production
subproblems
New production plans
Figure 4: Communication diagram.
The described decomposition approach is for integrated production and transportation, where inventory levels between production and transportation, and
between transportation and customer usage are considered.
This is a rather
general type of problem and it is independent of the choice of production and
transportation subproblems. The subproblems must, however, be able to take
the dual variables as input and be able to produce new production or transportation solutions.
4.1 Fixations and Termination
In each master problem iteration, the subproblems generate new transportation and production plans based on the current values of the
θ
dual variables.
λ, µ, δ ,
and
Plans with negative reduced cost are added as improving
columns/variables to RMP, and when none of the subproblems can produce any
91
new improving column, the optimal solution of RMP is reached. This optimal
solution typically gives fractional combinations (see constraint sets (7) and (8))
of plans, which of course is infeasible in integer problem MP. To be able to
nd an optimal or, at least a heuristically good integer solution to MP, some
delivery/pickup (depot, period, product, and vehicle) or production (period,
product and production line) must be restricted (xated) to some integer quantity, whenever a fractional optimal solution of RMP is found.
Fixations are
determined by RMP and communicated to the subproblems to restrict them
from violating the xations when subsequent plans are generated. During the
procedure of the algorithm, more and more quantities are xated, and eventually, when the solution space of the subproblems are too much restricted by the
xations, the algorithm has no other option than to terminate with an integer
solution.
See [8, ch 11.4] for a general discussion on branching and variable
xations in integer problem column generation algorithms.
T
: d ∈ D, p ∈ P, t ∈ T, v ∈
F T = {fdptv
In our heuristic xation strategy, we let
V } represent the set of all transportation xations (deliveries and pickups), and
P
F P = {fptl
: p ∈ P, t ∈ T, l ∈ L} represent all production xations available in
the model. In other words, we have one xation for each depot, product, period
and vehicle, and one xation for each product, period and production line.
Initially all xations are set to 0, meaning that there exist no xations, but we
allow re-xations to higher values as will be described below. For convenience,
FvT
and future reference, we let
all xations for production line
period
t,
l ∈ L.
v ∈ V,
and
A production xation of a quantity
FlP
P
fptl
l means that all subsequent
P
units or more of product
l must contain a production of fptl
T
p in period t. Similarly, a transportation xation fdptv for some vehicle v means
that all subsequent plans for v must contain a delivery or pickup (pickup if
T
d ∈ DP or delivery if d ∈ DC ) of at least fdptv
units of product p at depot
d in period t. In other words, it is possible to re-xate production, delivery,
for some product
p,
denote all xations for vehicle
and production line
production plans for
and pickup quantities to higher values as long as the capacities of the vehicles
and production lines are kept, and after each xation, all columns violating the
xation must be thrown away from RMP. E.g. if we xate a quantity
production line l , product
a production of
P
fptl
p,
and period
units for product
p
t,
then all columns for
in period
t
l
P
fptl
for
not containing
must be removed from
Sl0 .
Our xation strategy does not guarantee that the decomposition algorithm converges to the optimal integer solution of MP. In order to guarantee this, we
would need to create a search tree, where we branch on the xations. In such
a branching tree, we create one branch of
92
f
to a higher integer value and one
branch of
f
to a lower integer value, whenever a xation
f
is indicated by a
fractional value (of delivery/pickup or production). Such a branching tree can
however only be generated in theory since we are dealing with an NP-hard
problem and therefore, the branching tree will grow exponentially.
In order to decide what to xate (production, delivery or pickup), we calculate
(d0 , p0 , t0 , v 0 ) =
X
arg max
d∈D,p∈P,t∈T,v∈V r∈R0
v
where we introduce
(
0
=
1
ΛTdptr
if
if
vr ΛTdptr ,
xdptr = 0
xdptr 6= 0,
(9)
(10)
to restrict equation (9) to merely consider columns with non-zero coecients.
Otherwise, all sums in (9) would take on value 1, since, according to constraint
set (5), all transportation convex combinations must sum up to 1.
To avoid
xating deliveries/pickups which are represented in all columns in RMP, and
more trivially, to disregard those deliveries and pickups that are not represented
at all, we require
X
0<
vr ΛTd0 p0 t0 r < 1.
(11)
0
r∈Rv
0
Further, it is only interesting to consider deliveries/pickups that are represented
by a higher quantity than previously xated. Therefore, equation
X
0
0
0
vr xd p t r > fdT0 p0 t0 v0
r∈R0 0
(12)
v
must hold. From the transportation plans, the most represented vehicle, depot,
product and period, which because of equation (12) has a xation strictly lower
than currently represented by RMP is determined. With the same arguments
as for the transportation plans, we calculate
(l0 , p0 , t0 ) = arg max
l∈L,p∈P,t∈T
where
ΛP
dpts
(
0
=
1
if
if
93
X
ws ΛP
dpts
(13)
s∈Sl0
ydpts = 0
ydpts 6= 0,
(14)
and
0<
X
ws ΛP
d0 p0 t0 s < 1,
(15)
s∈Sl0
and
X
ws yd(l0 )p0 t0 s > flP0 p0 t0
(16)
s∈Sl00
must hold for the production lines.
As for the transportation plans, we nd
the currently most represented production line, product and period.
(d0 , p0 , t0 , v 0 )
X
vr ΛTd0 p0 t0 r ≥
fdT0 p0 t0 v0
X
ws ΛP
d(l0 )p0 t0 s ,
(17)
s∈Sl00
0
r∈Rv
0
then
If only
exists, or if
is rexated for vehicle
fdT0 p0 t0 v0
v0
according to
X
0
0
0
=
v
x
r d p t r .
r∈R0 0
(18)
v
If on the other hand, only
(l0 , p0 , t0 )
X
exists, or if
vr ΛTd0 p0 t0 r <
flP0 p0 t0
ws ΛP
d(l0 )p0 t0 s ,
(19)
s∈Sl00
0
r∈Rv
0
then
X
will be rexated for production line
l0
according to
X
flP0 p0 t0 =
ws yd(l0 )p0 t0 s
.
s∈S 00
(20)
l
The absolute values in equations (12) and (18) are introduced since pickups
at producer depots are represented by negative numbers in the transportation
plans, and we dene all xations as non negative quantities.
(d0 , p0 , t0 , v 0 ) or (l0 , p0 , t0 ) could be found, there might still exist any
0 00
0
0 0
0
0
columns r , r ∈ Rv 0 or s , s ∈ Sl0 (for a vehicle v ∈ V or a production
0
l ∈ L) with dierent coecients in the optimal solution of RMP. This
If neither
two
line
scenario can occur if equation (11) or (15) equals 1 for some delivery, pickup
94
or production while
0
p ∈P
and
0
t ∈ T.
xd0 p0 t0 r0 6= xd0 p0 t0 r00
or
yd0 p0 t0 s0 6= yd0 p0 t0 s00
for any
d0 ∈ D ,
Then, we xate
fdT0 p0 t0 v0
X
0
0
0
=
v
x
r d p t r
r∈R0 0
(21)
v
or
X
flP0 p0 t0 =
ws yd(l0 )p0 t0 s
,
s∈S 00
(22)
l
to be able to converge towards an integer solution of MP.
0
For the xated object (v or
l0 )
we remove all columns (r
∈ Rv0 0
or
s ∈ Sl00 )
with
parameter
|xd0 p0 t0 r | =
6 fdT0 p0 t0 v0
(23)
if a delivery or a pickup was xated, or
yd(l0 )p0 t0 s 6= flP0 p0 t0
(24)
if a production was xated.
4.2 Subproblem formulations
In our integrated production, inventory, and distribution routing problem, we
dene two types of subproblems, one single vehicle transportation subproblem
and one single production line production scheduling problem. Each vehicle (and
similarly, each production line) has its own problem instance of the same type.
Since each agent constitutes an autonomous entity, possibly with individual
restrictions and requirements, it is however natural to solve dierent types of
subproblems for dierent vehicles and dierent production lines.
4.2.1
Transportation subproblem
We formulate a transportation subproblem, using a hierarchical approach, with
two separate problems; a routing subproblem and a product assignment subproblem. The routing subproblem is formulated as a side constrained shortest
path problem and it determines which depots (the route) the vehicle will visit
throughout the planning horizon.
Given the optimal route (output from the
95
routing problem), a product assignment problem is formulated to decide how
much of each product will be sent on each link, thus determining how much will
be picked up and delivered for each visit in the route.
The routing subproblem RPv for vehicle
v
can be formulated as standard min-
imum cost ow problem as to minimize
RPv
v
(cRP
(ni ,nj ) − η(ni nj ) )x(ni ,nj )
X
(25)
(ni ,nj )∈Av
subject to
X
v
xRP
(nk ,ni ) −
nk :(nk ,ni )∈Av
where
Nv
is a set of nodes and
X
v
xRP
(ni ,nj ) = bi , ni ∈ Nv ,
Av
is a set of arcs in a directed graph representing
a time expanded transportation network. Variable
the usage of arc
(ni , nj ) ∈ Av
(26)
nj :(ni ,nj )∈Av
such that
RPv
RPv
x(ni ,nj ) = 1
v
xRP
(ni ,nj ) ∈ {0, 1}
if arc
(ni , nj )
determines
is used in the
x(ni ,nj ) = 0 otherwise. The dual variable representation η(ni ,nj )
for arc (ni , nj ) ∈ Av , which is dened as a function of the actual dual variables
µ and λ, describes an extra cost/discount which is applied to the actual cost
v
cRP
(ni ,nj ) of (ni , nj ). Constraint set (26) species the node balance constraints
where bi follows the rules in equation (27). Node ns ∈ Nv denotes the node
where v is situated at the beginning of the planning period and node a is an
articial end node that allows v to be at any node at the end of the planning
period. The node balance parameter bni for node ni is dened as
−1 if ni = ns
bni = 1
(27)
if ni = a
0
otherwise.
solution and
Ov determined by RPv (dened as a set of outbound
trips ), a product assignment problem is formulated to decide how much of each
Given the optimal route
product will be sent on each link, thus determining how much will be picked up
and delivered for each visit in the route. Actually, the problem of how to assign
products to the shortest paths separates into one subproblem (ASPo ) for each
outbound trip
o ∈ Ov .
We dene an outbound trip for a vehicle as a trip that
starts in a producer depot, visits a number of customers and ends when the
vehicle returns to some producer, i.e. the last customer depot before returning
is the last depot included in the trip.
96
o
xASP
∈ {0, 1}, p ∈ P, i ∈ Ip , j ∈ Jo \ {1}
ijp
assuming value 1 if the i :th item of product p is delivered to the j :th depot in
outbound trip o and 0 otherwise. Here Ip = {1, . . . , Φp } is an ordered index set
over the number of products that can be loaded on v , and Jo is an index set over
the visits in outbound trip o, starting with index 1 for the producer depot. From
weight
volume
the maximum capacity (weight capacity ϕv
and volume capacity ϕv
)
of v , we get for each p ∈ P the maximum number
weight
ϕvolume
ϕv
v
,
(28)
Φp = min
weight(p) volume(p)
We introduce binary decision variable
of items (of product
p) that can be loaded on v .
Note that
Φp
by the volume capacity or by the weight capacity of vehicle
is restricted either
v.
We formulate our product assignment problem ASPo as maximize
XX
o
λd(∆j )pt(∆j ) − µd(∆1 )pt(∆1 ) xASP
ijp ,
X
(29)
p∈P i∈Ip j∈Jo \{1}
subject to
XX
X
o
weight(p) · xASP
≤ ϕweight
,
v
ijp
(30)
p∈P i∈Ip j∈Jo \{1}
XX
X
o
volume(p) · xASP
≤ ϕvolume
,
v
ijp
(31)
p∈P i∈Ip j∈Jo \{1}
ASPo
o
xASP
i+1jp ≤ xijp , p ∈ P, i ∈ Ip \ {Φp }, j ∈ Jo \ {1}.
Constraint (30) and (31) expresses the weight and volume restrictions on
constraints (32) says that item
before item
i+1
i
(32)
v
and
of a product must be delivered to a depot
is delivered. ASPo assigns products to the optimal route
Ov ,
and the result is a transportation plan.
The optimal objective function value of the transportation subproblem for vehicle
v
can now be calculated as
X
∗RPv
v
cRP
(ni ,nj ) x(ni ,nj ) +
∗RPv
x(n
i ,nj )
is the optimal value of variable
objective value of ASPo , and
vehicle
∗
ASPo
− δv
(33)
o∈Ov
(ni ,nj )∈Av
where
X
δv
∗
v
xRP
(ni ,nj ) , ASPo
denotes the optimal
is the convexity constraint dual variable for
v.
97
For transportation, a quantity can be xated either at a producer depot or
at a customer depot, and the two cases are handled dierently in the routing
d(f ) ∈ D
problem and in the product assignment problem. We let
depot, and
f ∈ FvT .
t(f ) ∈ T
the period, and
p(f )
denote the
the product represented by a xation
Now, in routing problem RPv we add constraint
X
X
v
xRP
(nk ,nj ) = 1,
(34)
nj :d(nj )=d(f ),t(nj )=t(f ) nk :(nk ,nj )∈Av
for each customer depot xation
xation
f ∈ FvT : d(f ) ∈ DP ,
X
f ∈ FvT : d(f ) ∈ DC .
For each production
we add a constraint
X
v
xRP
(ni ,nk ) = 1.
(35)
ni :d(ni )=d(f ),t(ni )=t(f ) nk :(ni ,nk )∈Av
Constraint (34) says that vehicle
and constraint (35) mean that
v
v
d(f ) in period t(f ),
d(f ) in period t(f ). Note that these
must arrive at depot
must leave
xation constraints remove the integer properties of the LP relaxation of the
routing problem.
In the product assignment problems, we add a constraint
X
X
o
xASP
ijp(f ) ≥ f
(36)
i∈{1,...Φp(f ) } j∈Jo \{1}
f ) for each prof ∈ FvT : d(f ) ∈ DP . This forces v to pickup at least f units
of product p(f ) from producer depot d(f ) in period t(f ). For each customer
T
C
xation f ∈ Fv : d(f ) ∈ D , we instead add a constraint
to some assignment problem ASPo (representing the xation
ducer xation
o
xASP
f jp(f ) = 1,
(37)
f
t(f ).
which together with constraint set (32) guarantees that a minimum of
of product
4.2.2
p(f )
will be delivered to customer depot
d(f )
in period
units
Production scheduling subproblem
A production scheduling subproblem for a production line
improving production plans for
l
l ∈ L, aims at nding
µ dual
based on some current values of the
variables, which are subtracted from the actual production costs in the objective
98
cprod
denote the cost for production line l to
lp
p ∈ P and csetup
denote a xed setup cost for
lp
function (38). We let
produce one
unit of product
each period
product
p
is produced.
We let decision variable
produced in period
t.
l
xPSP
∈ Z+
pt
determine the amount of product
All products produced in a period
t
p
to be
is assumed to be
PSPl
ypt
∈ {0, 1} is
= 1) of product p
available for pickup at the same period (t). Binary variable
PSPl
used to indicate whether there will be a production (ypt
PSPl
or not (ypt
= 0). Furthermore, we let U denote the maximum
number of dierent product types that can be produced in one period. The
in period
t
production scheduling problem PSPl can now be dened as minimize
X X
X X prod PSP
l
cprod
− µpt xPSP
+
clp ypt l − θl
pt
lp
p∈P t∈T
(38)
p∈P t∈T
subject to
X
PSPl
tprod
≤ τ,
lp xpt
t ∈ T,
(39)
p ∈ P, t ∈ T,
(40)
t ∈ T,
(41)
p∈P
PSPl
PSPl
tprod
≤ τ ypt
,
lp xpt
X PSP
ypt l ≤ U,
p∈P
tprod
denotes the time
lp
needed for production line l to produce one unit of product p, and τ denotes the
PSPl
time period length. Constraint set (40) forces each ypt
variable to value one
PSPl
whenever the corresponding xpt
is greater than 0 to be able to model setup
costs. Finally constraint set (41) says that no more than U dierent product
Constraints (39) models the capacity constraints, where
types can be produced in any period. Also note that we subtract the convexity
constraint dual variable
θl
from the objective function, and that the inventory
balance constraints normally included in production scheduling problems, here
belongs to the master problem which is controlled by the transport chain coordinator agent, and therefore, the production scheduling problems separate over
time.
For each production xation
f ∈ FlP ,
we add
l
xPSP
p(f )t(f ) ≥ f
99
(42)
l
t(f )
to the constraint set of subproblem PSPl , which forces production line
include a production of no less than
f
units of product
p(f )
in period
to
in
all subsequent plans.
5 Computational Experiments
We implemented our optimization model inside a multi-agent based simulation
tool (TAPAS [4]) to be able to utilize a previously developed agent system. The
software agent system in TAPAS is implemented in the Java Agent DEvelopment
Framework (JADE) platform [1] and the optimization problems were solved
2 10.0 mixed integer linear problem solver.
using the ILOG CPLEX
Currently, TAPAS runs on a single computer but a distributed implementation (with dierent agents running on dierent computers) is possible. As discussed above, a distributed approach would increase the communication overhead, while potentially reducing the overall solution time because the availability
of more processors. In our experimental implementation, JADE causes overhead
time for coding and decoding of messages. We could however not perform any
real experiments with a parallelization of the computations, since we do not
have access to the necessary amount of computers and ILOG CPLEX licenses.
Because of the slow convergence speed caused by the complexity of the studied
problem, we found it unreasonable to solve RMP to optimality before xating
delivery, pickup and production quantities.
Instead xations are performed
whenever the average relative improvement of a certain number of the latest
generated plans fall below some required improvement level.
Of course, this
termination criteria imposes a restriction on the solution space of RMP, but
hopefully we end up with a heuristically good, integer solution to MP.
5.1 Scenario Description
We solved our problem on a set of 4 realistic scenarios using a transportation
network consisting of two producer depots
d1
(with production line l1 ) and
(with production line l2 ) and 6 customer depots
d2 , . . . , d 6
and
d8 ,
d7
and with a
planning horizon of 72 time periods of uniform length 2 hours. The scenarios
were generated randomly from a set of parameters, and they dier only in the
average customer demands, the minimum and maximum storage levels, and the
2 http://www.ilog.com/
100
storage levels at the beginning of the planning period.
are VMI customer, while
d8
Customers
d2 , . . . , d 6
is a non VMI customer, which means that delivery
d8 , but not for the rest of the customer
d1 provides customer depots d2 , . . . , d6 with products
and the purpose of d7 and d8 is to model possible non empty return transports
for a small portion of the vehicles traveling back from d2 , . . . , d6 to d1 . The
depots are connected with direct links, and from depot d1 it is possible to travel
to depots d2 , . . . , d7 , from depots d2 , . . . , d6 all depots except depot d8 can be
reached, from d7 it is possible to travel to d1 and d8 , and from d8 , all transports
must go to depot d1 .
times and delivery quantities are xed for
depots. Producer depot
We have a eet
v1 , . . . , v9
of 9 identical vehicles, where
v8
and
v9
represents
third party transport capacity which can be called in with a transportation
cost approximately
10%
higher than the cost of
v1 , . . . , v7 .
In our scenario, all
vehicles are planned by the same transport planner, which means that we have
one transport planner agent and two production planner agents (one for depot
d1
d7 ). Moreover, we have 4 dierent products p1 , . . . , p4 ,
p4 is used to model return transports, and we assume p4 is produced
in d7 and consumed only in d8 . For storage in each node, we have a min
and one for depot
where
only
storage level (safety) and a max storage level, and penalty costs for breaking
these levels. Each node also has an initial storage level, somewhere in between
the minimum level and the maximum level, for each product.
Furthermore, we have expected forecasted consumptions (in units) per time
period for each customer and each product. These forecasts are known to the
coordinator agent, which also knows about the number of vehicles, products,
production lines and depots, and the penalty costs for breaking the storage
constraints. The coordinator does however not need to know anything about
e.g. routes, transportation costs and production costs.
5.2 Results and Discussion
In each iteration, the coordinator agent sends one plan request message to each
planner agent (in our scenario; 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 some kind of failure notication indicating that no plan could be generated at the time of the request.
For our scenarios, which used an average of
reach the nal solution, in average
15968
101
2661
master problem iterations to
message had to be sent. The exact
number of iterations and messages for each of the
4 scenarios is detailed in table
1. The number of messages can be used as a measure of the overhead in the system, compared to a non agent-based implementation approach. The size of each
message depends on the actual application and the problem size of course, since
a bigger problem e.g. means that more dual variables must be communicated.
Table 1: Number of master problem iterations and number of communicated
messages for each of the 4 scenarios.
Scenario
Iterations
Messages
1
2239
13440
2
2375
14256
3
3289
19734
4
2740
16440
For each of the 4 scenarios, we estimated an upper bound of the overhead
imposed by the agentication of our decomposition approach. This upper bound
is calculated as the total running time minus the estimated time for performing
decomposition related tasks. For the 4 scenarios, we measured an average total
running time of
12108
seconds, and an average lower bound estimation of the
8469 seconds. This gives an
30.0% of the total running time,
time spent in the actual decomposition algorithm of
average estimated overhead of approximately
with a standard deviation of
1.6
percentage units. Here the average estimated
overhead is taken as the average over the overhead of the 4 scenarios.
For the 4 scenarios, we estimated the expected performance improvement that
can be achieved when all subproblems are distributed to, and solved in parallel on, dierent computers. This is one of the purposes with the agent based
decomposition approach, and for the scenarios, we got average estimated total
solving times of
5149
seconds for the transportation subproblems and
21.3
sec-
onds for the production scheduling subproblems. Table 2 presents, for each of
the 4 scenarios, some interesting solving times and the estimated performance
overhead imposed by the decomposition agentication. Assuming all problems
of the same type need the same solving time, we get average times of
0.0040
0.22
and
seconds respectively, for solving one transportation subproblem and one
production scheduling subproblem. Here, the average transportation subproblem solve time is calculated as the average, taken over the 4 scenarios, of the
quotient with the estimated total transportation subproblem solve time in the
numerator and 9 (number of transportation subproblems) times the number of
master problem iterations in the denominator. The average production subprob102
Table 2: The total running time (Total), estimated decomposition algorithm
time (Alg.), estimated times for solving transportation (Transp.) and production (Prod.)
subproblems, and estimated overhead (Over.)
for each of the 4
scenarios.
Scenario
Total (s)
Alg. (s)
Transp. (s)
Prod. (s)
Over.
(%)
1
10043
7032
5349
18
30.0
2
11674
8412
4997
19
27.9
3
14785
10283
5403
26
30.4
4
11931
8149
4846
22
31.7
lem solve time is calculated similarly, except for that the numerator is replaced
with the total production subproblem solve time and the denominator with 2
(number of production subproblems) times the number of iterations.
In theory, ignoring the increased communication time imposed by a parallelization, an average potential time reduction from
572 seconds can be achieved.
(5149 + 21.3) ≈ 5170
seconds to
The reduced time for a scenario is calculated as the
number of master problem iterations times the maximum taken of the average
solve time of one transportation subproblem and the average solve time of one
production subproblem. In our scenario, this would constitute a time reduction
of in average
5170−572 = 4598 seconds of the total running time. The standard
241 seconds. Here, we further assume a usage
deviation of this time reduction is
of 12 computers, 9 for transportation subproblems, 2 for production scheduling
subproblems and 1 for the master problem. We see that solving the production
scheduling subproblems and the master problem on the same computer would
give the same improved running time, but condentiality of information would
be weakened. Note that we cannot use the main algorithm as it is displayed in
gure 3 to utilize a complete parallelization. Instead dual variables must be sent
to the transportation planners and the production planners in parallel without
resolving RMP in between. The actual optimal (or actually heuristic solution)
of our scenario is however unimportant for the purpose of this paper since it is
identical to the solution of the corresponding non agent-based algorithm, and
therefore, we have chosen not to present any such data.
Results based on 4 scenarios give indications on the improvements that can
be achieved by the agentication, but to obtain better signicance we need to
103
perform additional experiments.
6 Conclusions and Future Work
From our experiments, we see that it is possible to use a multi-agent system
to implement a decomposition based optimization approach.
There are some
rather obvious positive eects of the approach, such as the possibility to provide increased condentiality and distributed computing.
However, there are
some negative eects experienced in terms of processing and communication
overheads.
Future work includes implementation of a traditional non agent based approach
to allow us to perform an exact calculation of the performance overhead imposed by the agent-based implementation. Today the performance overhead is
estimated by an approximated upper bound, which we indeed think is a decent
indication of the overhead. Unfortunately, it is only possible to quantify the negative eects, in terms of messages and extra computing time, of an agent-based
decomposition approach. Positive eects, e.g. in terms of increased condentiality and robustness, have been discussed throughout this paper and we believe
our approach has big potentials.
There are also potential positive eects connected to the dierent planners involved in the planning, in our case study, the production and transportation
planners and the coordinator. Their tasks could be better supported by a distributed agent based decomposition approach than by a centralized approach.
As mentioned, the condentiality is one, another is the ability to locally specify and modify the problem. Further, the local agent could always provide the
most recent subproblem solution to local planners (even though based on old
dual variables). Also the local planner could manually intervene by developing
(modifying) some solutions and send to the coordinator.
In order to capitalize on the use of the multi-agent based approach for achieving performance improvements, we nd it interesting to experiment with a distributed system where each agent runs on its own computer, for example in a
GRID system. Such a distributed approach is a natural model of the real world,
where the actors (agents) are geographically separated and each agent typically
only has access to its own data and its own computer.
The estimations pre-
sented in section 5.2 indicates that the potential benets from a parallelization
of our approach is quite interesting. Also, a parallelization would allow us to
104
solve more complicated subproblems thus making it possible to catch more real
world details, which is important to be able to take the step from using the
model in a laboratory environment to solving real problems. For this purpose
we need to invest in more computers and for our optimization problems, we
either have to use an open source mixed integer linear problem solver or buy
more ILOG CPLEX licenses.
Furthermore, we plan to perform a tighter integration of our optimization ideas
in TAPAS. TAPAS can, for instance, be used to evaluate the results from the
optimization algorithm.
An evaluation of the results can be useful because
an optimization model in some meaning always constitutes an estimation of the
real world. Also, real world evaluations of the results are typically hard to carry
out since they tend to become rather expensive.
From a modeling perspective, there might be a need to improve how visit xations are applied to the routing subproblems. The removal of the integer properties, as discussed in section 4.2.1, may cause too much performance overhead,
which might need to be addressed. We will perform a computational analysis
to measure the actual performance loss caused by this potential bottleneck.
7 Acknowledgments
This research was primarily carried out within the projects Integrated Produc-
3 and Eects of Gov4
ernmental Control Policies on Transportation Chains: A Micro-Level Study
tion and Transportation Planning within Food Industry
with fundings from the Swedish Knowledge Foundation and the Swedish Agency
for Innovation Systems (VINNOVA). Further, the municipality of Karlshamn is
in part nancially supporting this research. We would like to thank our project
partners, in particular AarhusKarlshamn and FoodTankers for their invaluable
assistance in developing and verifying our optimization model.
8 References
1. F. L. Bellifemine, G. Caire, and D. Greenwood. Developing Multi-Agent
Systems with JADE (Wiley Series in Agent Technology). John Wiley &
Sons, 2007.
3 http://www.ipd.bth.se/fatplan/
4 http://www.ipd.bth.se/stem/
105
2. G. Dantzig and P. Wolfe.
The decomposition algorithm for linear pro-
grams. Econometrica, 29:767-778, 1961.
3. P. J. Daugherty, M. B. Myers, and C. W. Autry.
Automatic replenish-
ment programs: an empirical examination. Journal of Business Logistics,
20(2):63-82, 1999.
4. P. Davidsson, J. Holmgren, J. A. Persson, and L. Ramstedt. Multi agent
based simulation of transport chains. In Proceedings of the 7th International Joint Conference on Autonomous agents and multiagent systems
(AAMAS'08), Estoril, Portugal, 2008.
5. P. Davidsson, J. A. Persson, and J. Holmgren. On the integration of agentbased and mathematical optimization techniques. In Agents and MultiAgent Systems: Technologies and Applications, volume 4496 of Lecture
Notes in Articial Intelligence, pages 1-10. Springer, 2007.
6. F. Fumero and C. Vercellis.
Synchronized development of production,
inventory, and distribution schedules. Transportation Science, 33(3):330340, 1999.
7. L. Lei, S. Liu, A. Ruszczynski, and S. Park. On the integrated production,
inventory, and distribution routing problem. IIE Transactions, 38(11):955970, 2006.
8. L. A. Wolsey. Integer Programming. John Wiley & Sons, Ltd, New York,
USA, 1998.
106
Paper V
A Dantzig-Wolfe approach for an
Integrated Production, Inventory and
Distribution Routing Problem
Johan Holmgren and Jan A. Persson
Abstract
In this paper, we present an optimization model for a real world integrated production, inventory and distribution routing problem, and a solution approach for
this model built upon the principles of Dantzig-Wolfe column generation. The
Dantzig-Wolfe decomposition algorithm was implemented, using agent technology, inside a multi-agent-based simulation tool called TAPAS. The agent system
was implemented in the Java Agent DEvelopment Framework (JADE) and the
ILOG CPLEX mixed-integer linear programming solver is used for solving the
optimization problems.
Our decomposition approach has been used for solv-
ing a set of scenarios with the purpose of quantifying the benets that can be
achieved by a full or partial introduction of vendor managed inventory (VMI).
107
1 Introduction
In this paper, we consider a real world planning problem for optimizing the production, inventory and distribution (or transportation) of vegetable oils from a
set of producers to a set of customers. The problem is formulated and solved
using a mathematical optimization methodology. It includes production planning at the producer depots, vehicle routing, and when and what to deliver, to
be able to satisfy the specic product demands of a specied set of customers.
Inventory levels at producer and customer depots are considered and the objective is to minimize the total cost for production, transportation and inventory
holding.
An important motive for improving the planning of production and transportation is the wish to increase resource utilization.
Allowing producers to gain
continuous information about their customers inventory levels and forecasted
consumptions (Småros et al., 2003), would open for an introduction of
managed inventory
vendor
(VMI) (Daugherty et al., 1999). In VMI, the vendor is re-
sponsible for replenishment of the customers' inventories. Together with access
to accurate consumption information, VMI might enable increased utilization
of, often limited and expensive, production and transportation resources.
In
this work we assume reliable forecasts of customer demand is available when
assessing the eect of introducing VMI.
Raw material supply, production and transportation have often been separated
by large inventories allowing dierent activities, such as production and transportation, to be planned separately.
The importance of inventory reduction
has led to an increased interest in integrated planning of dierent logistical activities (Thomas & Grin, 1996).
Lei et al.
(2006) introduced the concept
integrated PIDRP to refer to any integrated Production, Inventory, and Distribution Routing Problem.
In this paper we use the abbreviation IPIDRP
instead of integrated PIDRP.
According to our knowledge, there exists only a limited amount of research
regarding optimization approaches to IPIDRPs. A reason for this might be that
optimal solutions are practically impossible to nd for problems of relevant sizes
because of the combinatorial properties of the studied problem type. However,
in next section some related research will be discussed.
We propose a solution approach based on Dantzig-Wolfe column generation
(Dantzig & Wolfe, 1961) with one subproblem type for generation of production
plans and one subproblem type for generation of transportation plans. To handle
108
the integrality properties in our problem, we apply
et al., 1998), however in a limited form.
branch-and-price
(Barnhart
According to Fumero and Vercel-
lis (1999), problems in this area tend to use an underlying network structure
that may be exploited by decomposition approaches. Alternative decomposition
methods for approaching IPIDPRs, include Lagrangean relaxation (Georion,
1974) and Benders' decomposition (Benders, 1962). The choice of decomposition
technique can be seen as a matter of taste, and our choice is mainly motivated
by the use of column generation in Persson and Göthe-Lundgren (2005). We
implemented the optimization model as a Multi-Agent System (MAS) (Wooldridge, 2002), inhabited by software agents acting as, for instance, information
carriers between the master problem and the subproblems in the Dantzig-Wolfe
problem formulation. The implementation approach is mainly motivated by the
obvious correspondence between real world actors, modeled as agents, and the
dierent problems in the decomposition formulation.
The main contribution of this paper is an optimization model and a decomposition based solution method for a relevant real-world IPIDRP. Another contribution is that we implemented the decomposition method as a multi-agent
system for actual simulation of the real actors involved in the solution process
of IPIDRPs. We suggest an optimization-based tool for analyzing the eciency
(in terms of production and transportation resource utilization) of introducing
VMI at the customers.
In next section we present a real world IPIDRP and in section 4 we present a
mathematical model (or actually models) that represents this IPIDRP, followed
in section 3 by a presentation of related work. In section 5 we present the column
generation algorithm. Some implementation issues are discussed in section 6 and
some computational experiments are presented in 7. Finally, in section 8, some
conclusions and directions for future research are given.
2 Problem Description
We consider a real-world problem with a producer of vegetable oils and a transporter that operates a eet of trucks that handle the deliveries of nished products to a number of customers. The production, and hence the production and
transportation planning are driven by, sometimes changing and late arriving customer orders. Currently, the producer has limited knowledge about the contents
and arrival times of new customer orders. Demand forecasts exist, but they are
uncertain due to the limited knowledge about orders.
109
The actual production
is performed in batches at a single production plant with multiple production
lines, which are scheduled individually in order to match the shipping times
derived from the delivery times of the customer orders. A typical horizon for
production and transportation planning is usually less than a week.
Products are delivered by bulk trucks operated by a single hauler and before
loading, nished 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 nished. 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 the same 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 trans-
portation capacity, it is possible to call in extra capacity to a higher cost. The
transportation cost includes time based driver cost, distance based fuel cost and
vehicle wear cost. Furthermore, time and costs for loading and unloading are
considered, and the drivers must follow the European Economic Community
(EEC) regulations
1 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 lead time of raw material largely exceeds the
production planning horizon. Therefore, an unlimited supply of raw material
can be assumed and consequently, the subsequent planning activities can be
separated from the ordering of raw material.
A possible utilization of customer demand forecasts would allow the producer
to introduce VMI for one or more customer. In VMI, the producer is responsible for replenishment of the customer inventories.
Currently, the real-world
producer in our problem is considering an introduction of VMI for a subset of
their customers. They assume that accurate forecasts of consumption can be
made available. An introduction of VMI might lead to a higher exibility in the
production and transportation planning, and hopefully, a higher utilization of
(often limited) production and transportation resources can be achieved.
Figure 1 illustrates the physical infrastructure of our 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
the physical entities.
1 EEC
3820/1985
110
Coordinator
Production planner
Transport planner
Customer
Producer
Customer
Figure 1:
A sample transport chain with planners, coordinator and physical
entities; trucks, inventories, factories and customer depots. The dashed arrows
are present in VMI, but not otherwise.
In section 4 we will present an optimization model for the IPIDRP presented
in this section.
The mathematical model focus on the VMI situation, due to
its potential of improved resource utilization, but the presented approach is
not limited to VMI, since a tight specication of customer inventories mimics a
non-VMI situation.
3 Related Work
Raw material supply, production and transportation have often been separated
by large inventory buers allowing dierent activities, such as production and
transportation, to be planned separately.
Various planning problems for dif-
ferent parts of the supply chain have been studied. For a survey of lot sizing
and scheduling problems, see Drexl and Kimms (1997), and for an overview of
the vehicle routing problem and its variations, see Toth and Vigo (2002). The
importance of inventory reduction has led to an increased interest in integrated
planning of dierent logistical activities (Thomas & Grin, 1996).
111
A review
covering eorts in the area of integrated supply chain planning is provided by
Sarmiento and Nagi (1999).
Federgruen and Zipkin (1984) combined the vehicle routing problem and the
inventory allocation problem in a single period domain.
The problem can be
described as maximizing the prot when distributing a scarce product to a set
of customers from a single depot. The demand at each location is assumed to be
stochastic according to some known distribution function. The model is convex
with linear constraints and it is constructed in a way that each customer has
to be visited by exactly one vehicle (route), where one route is a dummy route
containing those customers that does not get any delivery. A heuristic method
is presented as well as an exact one based on Benders' decomposition.
Chien et al. (1989) considered somewhat the same problem, however with xed
demands and a slightly dierent model than Federgruen and Zipkin (1984). In
this model, a vehicle is not allowed to visit each customer more than once,
but there is no restriction on how many vehicles that are allowed to visit each
customer. It is also assumed that each vehicle makes at most one trip during the
planning period.
The problem was solved using a Lagrangean based solution
approach.
The inventory routing problem (IRP) (Campbell et al., 1998) combines the
vehicle routing problem with the repeated delivery of a product from a single
producer to a set of customers. In the IRP, the focus is on customers' usage
instead of explicit customer orders and for our purpose, it is interesting since it
covers the features of vendor managed inventory.
According to our knowledge, Chandra and Fisher (1994) is the earliest contribution that combines all three problem types.
They 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 within a multi-period planning horizon.
More recent research include Lei et al.
(2006), which considered an IPIDRP
with a single product, multiple heterogeneous production plants, multiple customer demand centers and heterogeneous vehicles.
Inventory management is
considered both at the production plants and at the customer demand centers.
The model is approached by formulating a large mixed-integer linear problem
which is solved with a 2-phase solution method. In phase one, the problem is
reformulated to only include direct transportation between the producers and
the customer demand centers. The restricted problem gives a feasible but nonoptimal solution to the original problem.
112
In phase two, a heuristic approach
is taken for improving the solution from phase one by consideration of indirect
shipment.
Another recent contribution is Persson and Göthe-Lundgren (2005), which solved a production and shipment problem.
They formulated an optimization
model for planning the production at a set of oil reneries and shipments of
nished products while considering inventories both at producer and customer
depots. The problem by Persson and Göthe-Lundgren (2005) 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, they used ships instead of trucks for transportation,
and their approach was more restricted with respect to the maximum number
of depots for unloading. They proposed a solution approach based on column
generation and valid inequalities. The integrality properties were handled using
a xation strategy where vehicles were xated to visit certain depots at certain
times. Our solution approach uses a dierent xation approach, with xations
of produced/delivered/picked-up quantities.
To determine how much of each
product to deliver to each depot, an integer model was formulated and solved.
Bilgen and Ozkarahan (2007) considered a problem of blending and shipment
of grain (bulk) products from a set of producers to a set of customers. They
formulated a mixed-integer linear optimization model for their problem with
the objective to minimize the costs for blending, loading, transportation and
inventory.
The optimization was solved with the ILOG CPLEX solver for a
short planning horizon.
4 Mathematical Model Formulation
Our real-world IPIDPR was formulated as a mixed-integer linear problem built
on the principles of Dantzig-Wolfe decomposition (Dantzig & Wolfe, 1961), with
the objective to minimize the costs for production, distribution, and inventory
holding, while satisfying the customer demands throughout a given planning
horizon. The problem formulation includes production planning at the producer
depots, transportation planning including route choice, quantities and times for
deliveries to customers and pickups from the producers, and inventory planning
of nished products at all depots.
Bergkvist et al. (2005) presented a hierarchical agent model for decision making in a multi-agent-based transport chain simulator. Ramstedt and Woxenius
113
(2006) concluded that this agent model can be of advantage to use when dealing
with integrated transportation and production, and later on, it has been used
by Davidsson et al.
(2008) in an agent-based production and transportation
simulation tool called TAPAS. The agent model, which is presented in gure 2,
contains a transport chain coordinator agent, a transport broker agent, a product broker agent, a set of production planner agents, a set of transportation
planner agents and a set of customer agents. In the decomposition approach,
Customer
Transport chain
coordinator
Product buyer
Product planner
Customer
Transport buyer
Transport
planner
Product planner
Transport
planner
Figure 2: The hierarchical agent model
the product buyer agent and transport buyer agent are omitted.
Instead the
transport chain coordinator agent communicates directly with the production
planner agents and the transportation planner agents.
The decomposition formulation includes a linear master problem and two types
of planning subproblems; a transportation subproblem for construction of transportation plans (for one vehicle) and a production scheduling subproblem for
construction of production plans (for one production line). The transport chain
coordinator agent maps to the master problem, each production planner agent
handles a set of production scheduling subproblems (the subproblems corresponding to all production lines in one producer node), and each transportation
planner agent handles a set of transportation subproblems (one subproblem for
each vehicle in its vehicle eet).
114
We let
V
DP
denote the set of producer depots,
the inhomogeneous eet of vehicles,
P
DC
the set of customer depots,
the set of product types, and
L the set
of production lines available in the model. The planning horizon is represented
by an ordered set
τ.
A
T = {1, 2, . . . , t̄}
transportation plan
of discrete time periods with uniform length
for a vehicle is dened 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 transportation
Rv , the cost for using r ∈ Rv is ψr , and xdptr
p, which is delivered or picked-up to/from
C
depot d by vehicle v by plan r in period t. For a customer depot d ∈ D , xdptr
P
represents a delivery and for a producer depot d ∈ D
it represents a pickup.
plans for a vehicle
v∈V
is denoted
represents the amount of product
Similarly, we dene a
production plan for a production line as the amount of each
product that is produced in each time period throughout the planning horizon.
l ∈ L,
s ∈ Sl . For production plan s ∈ Sl ,
which is 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
C
demand for product p ∈ P at customer depot d ∈ D in time period t ∈ T . The
parameter %dpt species the amount of product p removed from the inventory,
We let
where
Sl
ωs
denote the set of all valid production plans for production line
denotes the cost for using plan
and not the actual required size of delivery.
d∈D
zdpt is used for determining
p at depot d in period t. For depot d, the inventory
level of product p in time period t must not fall below a lower bound z dpt (which
Each depot
has an inventory where variable
the inventory level of product
typically corresponds to a safety stock level) and must not exceed a maximum
capacity of
p∈P
z dpt
units. An inventory cost
in stock at depot
d∈D
φdp
is charged for each unit of product
between two subsequent periods.
Furthermore, binary decision variables are used to determine which delivery
plans and production plans will be used (exactly one transportation plan for
each vehicle and exactly one production plan for each production line must be
used).
Decision variable
(vr
= 1) or not (vr = 0),
not (ws = 0).
We introduce variable
p
vr
determines if transportation plan
and
udpt
ws
if production plan
s ∈ Sl
r ∈ Rv
is used (ws
is used
= 1)
or
to represent how much the storage level of product
falls below the safety stock level at depot
d
in period
t,
and
qdpt
how much it
exceeds the maximum allowed storage level. To avoid violating the safety stock
levels and maximum allowed storage levels, or in other words minimizing the
usage of the
udpt
and
qdpt
variables, we introduce penalty costs
which are applied as shown in equation (1).
115
Mq
and
Mu
We formulate our Dantzig-Wolfe Master Problem (MP) as the mixed-integer
linear problem
(MP)
min
s.t.
XXX
(φdp zdpt + M q qdpt + M u udpt ) +
p∈P d∈D t∈T
X X
ψr vr +
v∈V r∈Rv
zdpt−1 +
XX
ωs ws ,
(1)
l∈L s∈Sl
X X
vr xdptr + udpt − qdpt − %dpt = zdpt ,
v∈V r∈Rv
zdpt−1 −
X X
t ∈ T, d ∈ DC , p ∈ P,
XX
vr xdptr +
ws ydpts + udpt −
v∈V r∈Rv
(2)
l∈L s∈Sl
t ∈ T, d ∈ DP , p ∈ P,
(3)
d ∈ D, p ∈ P, t ∈ T,
(4)
v ∈ V,
(5)
ws = 1,
l ∈ L,
(6)
vr ∈ {0, 1},
v ∈ V, r ∈ Rv ,
(7)
ws ∈ {0, 1},
l ∈ L, s ∈ Sl ,
(8)
d ∈ D, p ∈ P, t ∈ T.
(9)
qdpt = zdpt ,
z dpt ≤ zdpt ≤ z dpt ,
X
vr = 1,
r∈Rv
X
s∈Sl
zdpt ≥ 0,
The rst component of the objective function (1), i.e. the triple sum, models
the inventory costs with penalties for inventory shortages and exceeding the
maximum allowed inventory levels. The second component of (1) expresses the
costs of the transportation plans and the third part represents the costs of the
production plans.
Constraint set (2) expresses the customer depot inventory balances and constraints (3) models the producer depot inventory balances.
For a customer
depot, the inventory level of a product in a period equals the inventory level in
the previous period plus the deliveries, minus the consumption in the current
period. For a producer depot, the inventory level of a product in a period equals
the inventory level in the previous period minus the pickups, plus the productions in the current period. Constraint set (4) assures that the inventory levels
are always kept between the minimum and maximum allowed levels.
116
Before dening the Restricted (Dantzig-Wolfe) Master Problem (RMP) we need
Rv0 ⊆ Rv of all currently known transportation plans for
0
vehicle v ∈ V , and the subset Sl ⊆ Sl of all currently known production plans
for production line l ∈ L. RMP is identical to MP, except for that we replace
0
0
all occurrences of Rv with Rv , all occurrences of Sl with Sl , and all integer
restrictions on the vr and ws variables with linear constraints
to introduce the subset
0 ≤ vr ≤ 1, v ∈ V, r ∈ Rv ,
and
(10)
0 ≤ ws ≤ 1, l ∈ L, s ∈ Sl .
(11)
In other words, RMP is the LP-relaxation of MP, with additional restrictions
on the
Rv
and
Sl
For RMP, we let
sets.
λ
denote the dual variables for constraints group (2),
dual variables for constraints (3),
δ
the dual variables for constraints (6). A value
delivery to depot
d
of product
p
µ
the
θ
λ̄dpt > 0 means that an increased
the dual variables for constraints (5), and
t has an positive inuence of the
µ̄dpt > 0 is interpreted to mean that we
product p at depot d in period t. A value
in period
objective function value. Dual variable
want to increase the production of
µ̄dpt < 0
on the other hand, means that we want decrease the production or
reducing the inventory by transporting products away from depot
d.
4.1 Transportation Subproblems
We formulate a transportation subproblem for a vehicle
v ∈ V , using a hierarchi-
cal approach with two separated optimization problems; one routing subproblem
and one product assignment subproblem. The routing subproblem is formulated
as a side constrained shortest path problem that determines which depots (the
optimal route) the vehicle should visit throughout the planning horizon. Given
this optimal route, a product assignment problem is formulated to decide how
much of each product will be picked-up and delivered from/to each visited depot
in the optimal route.
4.1.1
Routing Subproblem
Before formulating the transportation network for vehicle
a set of network layers denoted
visiting more than
h̄
H = {0, . . . , h̄}
v ∈ V,
we introduce
as a means to prevent
v
from
customers before visiting some producer. Without these
117
network layers, nothing would prevent the routing subproblem from producing
solutions where
v travels around between arbitrary many customer depots before
visiting any producer depot, and thereby generating unrealistic routes.
For
the studied problem, it was found reasonable to limit the maximum number
of customer depot visits before visiting a producer to two, thus letting
{0, 1, 2}.
H =
As will be discussed below, this requires that each customer depot can
be provided by products from at most one producer depot. Also, two consecutive
customer depot visits is the largest number of visits that makes it possible to
calculate analytically correct dual variables for the routing subproblems.
A
small example of a time expanded transportation network, which uses 3 network
layers to allow a maximum of 2 customer depot visits between two producer
depot visits, is shown in gure 3. In this example, only a few transport options
are included.
Layer 2
Layer 1
Layer 0
Consumer
Consumer
Producer
time
Figure 3: An example of a transportation network for a vehicle
The idea is that layer
the customers.
start in layer
layer
1.
An
0,
0
belongs to the producers and layer
1
through
h̄
to
Transports from a producer depot to a customer depot must
indicating the start of a new outbound trip, and arrives in
outbound trip
for a vehicle
v
is dened as a trip that starts at
a producer depot, visits a number of customer depots and ends at the last
customer depot visit before the vehicle is about to return to some producer.
We require that an outbound trip must contain at least one customer, and
118
therefore, a transport between two producers is not considered as an actual
outbound trip.
a set
layer
The optimal route from the routing subproblem is dened as
Ov , of outbound
0 (indicating the
trips. Transports to a producer depot always arrive in
end of a trip) and transports between customer depots
always arrive in one layer higher than the departure layer. Accordingly, after
h̄
customer depot visits, it is only possible to travel to a producer depot. Note
however, that it is possible to return to a producer without visiting
h̄
customer
depots.
v is dened as a directed
(Nv ∪ {a}, Av ) with a set of nodes Nv ∪ {a} and a set of arcs Av .
Nv = {ndht : d ∈ D, h ∈ H, t ∈ T } is a set of network nodes corresponding
to actual depots, and a is an articial node that allows v to end its route at any
location and in any time period. An arc (ni , nj ) ∈ A, for which vehicle v has
RPv
the travel cost c
(ni ,nj ) , is a connection between a start node ni ∈ Nv and an end
node nj ∈ Nv ∪ {a}. Normally in column generation, the dual variables from
A time expanded transportation network for vehicle
graph
the master problem are added to the objective functions of the subproblems in
order to guide them in generating plans that allow the master problem to converge towards the global optimum. In this problem, where several products are
transported on each link, this is not possible. Instead, we introduce parameter
η(ni ,nj )
as a function of the actual dual variables
µ
cost or discount, which is added to the cost of arc
the values of these
η(ni ,nj )
parameters are calculated will be discussed below.
We introduce decision variable
(ni , nj ) ∈ Av
RPv
x(ni ,nj ) = 0
such that
and λ to describe an extra
(ni , nj ). Details about how
RPv
v
xRP
(ni ,nj ) ∈ {0, 1}
x(ni ,nj ) = 1
if arc
to determine the usage of arc
(ni , nj )
is used in the solution and
otherwise.
The routing subproblem RPv for vehicle
v
can now be formulated as a standard
minimum cost ow problem as
(RPv )
min
s.t.
RPv
v
(cRP
(ni ,nj ) − η(ni nj ) )x(ni ,nj )
X
(12)
(ni ,nj )∈Av
X
v
xRP
(nk ,ni ) −
nk :(nk ,ni )∈Av
X
v
xRP
(ni ,nj ) = bni ,
ni ∈ Nv ∪ {a},
v
xRP
(ni ,nj ) ∈ {0, 1},
(ni , nj ) ∈ Av .
Constraint set (13) species the node balance constraints where
rules in equation (14).
Node
(13)
nj :(ni ,nj )∈Av
ns ∈ N v
bni
v
denotes the node where
119
follows the
is situated
at the beginning of the planning period, and
allows
v
a
is the articial end node, that
to be at any node at the end of the planning period. The node balance
parameter
bni
for node
ni
is dened as
bni
The arc set
Av
−1
= 1
0
ni = ns
ni = a
otherwise.
if
(14)
if
can be described as a subset of the union
AA
v
[
AWP
v
[
APP
v
[
APC
v
[
ACC
v
[
ACP
v ,
where the content of each of these subsets will be detailed below.
is no direct connection between two depots, then
arcs between the corresponding network nodes.
that vehicle
v
h,
If there
does not contain any
tlink
d0 d00 hv ,
00
depot d ,
The estimated time
needs for traveling the direct link from depot
starting in layer
d
0
to
includes actual driving time, estimated times for loading
and unloading, and estimated resting time.
calculate these
Av
tlink
d0 d00 hv
A detailed discussion of how to
values will be given below.
AWP
= {(nd0t , nd0,t+1 ) : d ∈ DP , t ∈ T \ {t̄}}
v
contains the arcs going from a
producer to the same producer. This allows
v
to wait at a producer depot
between to subsequent time periods.
APP
= {(nd0 0t , nd00 0,t+dtlink
v
0 00
d d 0v
: d0 , d00 ∈ DP , d0 6= d00 , t ∈ {0, . . . , t̄ − tlink
d0 d00 0v }}
one producer to a dierent producer to allow v
e)
contains arcs going from
to travel between producer depots.
APC
= {(nd0 0t , nd00 1,t+dtlink
v
0 00
: d0 ∈ DP , d00 ∈ DC , t ∈ {0, . . . , t̄ − tlink
d0 d00 0v }}
producer to a customer, allowing v to travel from
d d 0v
contains arcs from a
e)
producer depots to customer depots.
ACC
= {(nd0 ht , nd00 ,h+1,t+dtlink
v
0 00
d d hv
e)
: d0 , d00 ∈ DC , d0 6= d00 , h ∈ {1, . . . , h̄ − 1}, t ∈
{0, . . . , t̄ − tlink
d0 d00 hv }} contains arcs going from a customer
customer allowing v to travel between customer depots.
ACP
= {(nd0 ht , nd00 0,t+dtlink
v
0 00
tlink
d0 d00 hv }}
d d hv
e)
to a dierent
: d0 ∈ DC , d00 ∈ DP , h ∈ H \ {0}, t ∈ {0, . . . , t̄ −
contains arcs going from a customer to a producer to allow
travel from customer depots to producer depots.
120
v
to
AA
v = {(n, a) : n ∈ Nv } contains one arc from each network
articial node a to allow v to stop its route at any location,
and in any time period.
starting in node
home base of
v.
n,
node to the
in any layer,
The transportation cost for an articial arc,
corresponds to the cost for traveling from
n
to the
The main reason for adding costs to the articial arcs,
even though they do not correspond to actual travel costs, is that we do
not want any particular location to be favored at the end of the planning
period.
The transportation 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. Also, knowledge
about the actual travel times from producer depots to each customer depot is
required for being able to perform correct calculations of resting times and the
η
parameters.
Transportation costs for arcs in the routing subproblems are composed of three
basic types of costs: (Holmgren et al., 2007):
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 get paid when the vehicle is on the road and during
unloading of products. Loading of products are performed by ground sta,
which have the same salary as the drivers. Since unloading is assumed to
be performed by the drivers, the time for unloading, as well as the actual
driving time of course, must be compensated for by resting time. Drivers
do not receive salary when they are resting.
2. Distance based costs (e.g.
fuel, vehicle wear, and kilometer taxes) are
based on the distance the vehicles travel. Fuel costs are based on assumed
full weight utilization.
3. Link based costs (e.g. road tolls) are charged once for each link traveled
by a vehicle.
When a routing subproblem is solved, there exists no information about loadings
and unloadings, and therefore, loading and unloading times must be estimated.
We have chosen to base these estimations on the average loading and unloading times taken over all products available in the model, and accordingly, we
get xed times for loading and unloading, regardless of actual transportation
121
volumes.
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 customer depots.
The working and resting hours regulation used in the routing subproblem allows
for a maximum of
tmax working
hours of working before there must be a minimum
min resting hours of resting. The transportation planning is performed on a
of t
vehicle level rather than on a driver level.
This means that two subsequent
outbound trips, that together break the working hours regulation are assumed
to be performed by dierent drivers.
To be able to estimate the time that the driver of vehicle
is traveling a link from depot
v
to depot
working
test
.
d0 hv
a working hour estimation
time it takes for
d0
d00 ,
v
must rest, when
starting in layer
h,
This is a lower bound estimation of the
d0 ,
to drive from any producer depot to the starting depot
with the requirement that it must pass exactly
h
dierent customer depots.
The estimation is actually the shortest path from any producer to
additional requirement of exactly
h
v
we introduce
d0
with the
customer depot visits. In theory, this is a
dicult problem which we believe cannot be solved in polynomial time. However, for small networks, and small numbers of
h̄, these lower bound estimations
can be found rather easily.
The estimated time
to depot
d
00
tlink
d0 d00 hv
that vehicle
, starting in layer
h,
v
needs to travel a link from depot
d0
is calculated according to equation
working
resting
tlink
d0 d00 hv = td0 d00 hv + td0 d00 hv ,
tworking
d0 d00 hv
(i.e. time
The resting time
is
where the elapsed link time is decomposed into working time
for driving and unloading) and resting time
tresting
d0 d00 hv .
(15)
tresting
d0 d00 hv
estimated according to equation
d
min resting
tresting
,
d0 d00 hv = k · t
as the number of resting periods
of each such resting period.
link working time
traveling to depot
tworking
d0 d00 hv
d0 . The
kd
(16)
times the minimum resting time
tmin resting
The number of resting periods depends on the
and on the working time estimation
working
test
d0 hv
for
number of resting periods is calculated as
working
est load mod tmax working + tworking − ε
test
−
t
0
0
00
d hv
dd v
,0 ,
k d = max
tmax working
(17)
122
where the expression
working
test
− test load mod tmax working
d0 hv
(18)
working
test
that
d0 hv
d0 . The loading
denotes the remaining portion of the estimated working time
has not been accounted for by resting time on the travel to
time is subtracted from the estimated working time
is assumed to be performed by the ground sta.
1/tmax working
working
test
d0 hv
because loading
The parameter
0 < ε <
was introduced in order to avoid having to deal with a special
case that occurs in equation (17) whenever the denominator is a devisor of
the nominator, causing
kd
undesired special case is if
introduction of the
max
to take on a value that is
kd
1
too much.
Another
gets a negative value. This is prevented by the
operator in equation (17). It is worth noting that all
times are expressed in minutes represented as integer numbers. Also note that
the estimation of resting times assumes that vehicles never wait at customer
depots, which, is prohibited in the routing problem.
As mentioned above, the
µ
and
λ
routing subproblems. Instead the
and
λ
dual variables cannot be used directly in the
η
parameters must be calculated from the
µ
values in such a way that the structure of the transportation network
is being 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 departed
from. Such information can easily be available if:
1. An outbound trip can contain at most 2 consecutive customer depot visits
before a producer depot visit,
2. each customer can be reached from at most one producer depot, and
3. waiting at customer depots is not allowed.
With these assumptions, the estimated resting times will also be analytically
correct, i.e. not estimated. This is true because the vehicles can wait only at
producer depots implying that we always know how and when the vehicle are
able to travel to the customer depots.
This is not the case if, for instance,
more than two consecutive customer visits is allowed because then, it is not
possible to know how vehicles have been traveling to reach customer depots.
Such information is essential because driving time which has not been rested
for accumulates over traveled links. A small example of how driving and resting
hours are calculated is presented in gure 4.
123
h=2
3
d
d
3
h=1
d
3
2
6+9
13+9
6
13+18
Link times:
1 - 2: 6
1 - 3: 13
2 - 1: 6
2 - 3: 5
3 - 1: 13
13+9
d
1
h=0
Figure 4: Working and resting time approximation with
tmin resting
tmax working = 10
and
=9
.
From the maximum capacity of vehicle
volume
capacity ϕv
) we get for each
Φvp = min
of items (of product
p)
that
v
v
p ∈ P,
(weight capacity
and volume
the maximum number
ϕweight
ϕvolume
v
v
,
weight(p) volume(p)
can load. The
volume capacity or by the weight capacity of
derivation of the
ϕweight
v
(19)
Φvp :s is restricted either by
v , and they will be used in
the
the
η parameters and in the product assignment problem presented
below.
First we consider transports from producer depots to customer depots. A trans-
ns representing producer depot
t(ns ), and it is assumed to end in a network node ne
C
representing customer depot d(ne ) ∈ D
and period t(ne ). This case is rather
straight forward and the η(ns ,ne ) value is calculated according to
η(ns ,ne ) = max 0, max0 λd(ne )pt(ne ) − µd(ns )pt(ns ) · Φvp ,
(20)
port is assumed to start in a network node
d(ns ) ∈ DP
and period
p∈P
where
P0 ⊆ P
describes the set of products that can both be produced in
and consumed in
d(ne ).
d(ns )
Next we consider transports between two dierent
124
customer depots.
Here a transport is assumed to start in a network node
representing customer depot
d(ne ) ∈ DC
t(ne ), and it is
C
depot d(nc ) ∈ D
and period
ne
assumed to
nc representing customer
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 ) . Such knowledge is accessible
end in a network node
because: at most two consecutive customers visits is allowed, each customer can
be reached from at most one producer and waiting at customers is not allowed.
Now the value of
η(ne ,nc )
can be calculated as
η(ne ,nc ) = max 0, η(ns ,nc ) − η(ns ,ne ) ,
where
4.1.2
η(ns ,ne )
and
η(ns ,nc )
(21)
is calculated according to equation (20).
Product Assignment Subproblem
Implicitly the product assignment subproblem is solved already in the routing
subproblem. However we formulate the problem for simpler usage at the occurrences of pickup and delivery xations. From the optimal route
Ov
determined
by RPv , dened as a set of outbound trips, a product assignment problem is formulated. This problem decides how much of each product that will be picked-up
at each producer depot visit and delivered at each customer depot visit in the
route. Actually, the problem of how to assign products to the shortest paths
separates into one subproblem (ASPo ) for each outbound trip
o ∈ Ov .
o
xASP
∈ {0, 1}, p ∈ P, i ∈ Ip , j ∈ Jo \ {1}
ijp
which equals 1 if the i :th item of product p will be delivered to the j :th depot
in outbound trip o and 0 otherwise. Here Ip = {1, . . . , Φvp } is an ordered
index set over the number of products that can be loaded on v , and Jo is an
ordered index set over the visits in outbound trip o, starting with index 1 for
the producer depot. The main reason for using the Ip index sets together with
We introduce binary decision variable
binary variables for modeling pickups and deliveries is to simplify the xations
that are modeled by constraint sets (50) and (51).
We formulate the product assignment problem ASPo for outbound trip
125
o ∈ Ov
as
(ASPo )
max
s.t.
XX
o
λd(j)pt(j) − µd(1)pt(1) xASP
ijp ,
X
XX
X
o
weight(p) · xASP
≤ ϕweight
,
v
ijp
(23)
p∈P i∈Ip j∈Jo \{1}
XX
X
o
volume(p) · xASP
≤ ϕvolume
,
v
ijp
(24)
p∈P i∈Ip j∈Jo \{1}
ASPo
o
xASP
i+1jp ≤ xijp , p ∈ P, i ∈ Ip \ {Φvp }, j ∈ Jo \ {1}, (25)
o
xASP
∈ {0, 1},
ijp
In the objective function (22), we let
period for the
(22)
p∈P i∈Ip j∈Jo \{1}
j :th
p ∈ P, i ∈ Ip , j ∈ Jo \ {1}.
d(j)
denote the depot and
o.
depot visit in outbound trip
t(j)
the time
Constraint sets (23) and
v , and
i of a product must be delivered to a depot before
(24) express the weight and volume restrictions respectively on vehicle
constraints (25) say that item
item
i+1
is delivered to the same depot.
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 of in RMP) of the transportation subproblem for vehicle
calculated as
X
∗RPv
v
cRP
(ni ,nj ) x(ni ,nj ) +
X
∗
ASPo
v
can be
− δv .
(26)
o∈Ov
(ni ,nj )∈Av
∗RPv
RPv
∗
Here x
(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.
4.2 Production Scheduling Subproblems
l ∈ L,
µ dual
The purpose of a production scheduling subproblem, for a production line
is to nd improving production plans for
variables. The
µ
guided by the values of the
dual variables are subtracted from the actual production costs
in the objective function (27). We let
l
l
to produce one unit of product
each period product
p
cprod
lp
p ∈ P,
and
denote the cost for production line
csetup
lp
denote a xed setup cost for
is produced. The modeled real world problem contains
costs for startup and changeover, but we consider the problem formulation here
126
relevant enough for our purpose. A more advanced model for the same problem
is provided by Sohier (2006).
The model by Sohier (2006) includes product
sequencing on a set of production lines, but the considered planning horizon is
shorter than we need.
We let decision variable
produced in period
t.
l
xPSP
∈ Z+
pt
determine the amount of product
p
to be
The products produced in a period are assumed to be
PSPl
ypt
∈ {0, 1} is used to
= 1) of product p in period
available for pickup in the same period. Binary variable
PSPl
indicate whether there will be a production (ypt
PSPl
t
or not (ypt
= 0), and we let U denote the maximum number of dierent
product types that can be produced in one period. The production scheduling
problem PSPl can be formulated as
(PSPl )
min
s.t.
X X
X X prod PSP
l
cprod
−
µ
xPSP
+
clp ypt l − θl (27)
pt
pt
lp
p∈P t∈T
X
p∈P t∈T
prod PSPl
tlp xpt
≤ τ,
t ∈ T,
(28)
p ∈ P, t ∈ T,
(29)
t ∈ T,
(30)
p∈P
PSPl
PSPl
tprod
≤ τ ypt
,
lp xpt
X PSP
ypt l ≤ U,
p∈P
l
xPSP
∈ Z+ ,
pt
PSPl
ypt
p ∈ P, t ∈ T,
∈ {0, 1},
p ∈ P, t ∈ T.
tprod
denotes the time
lp
needed for production line l to produce one unit of product p, and τ denotes the
PSPl
length of a time period. Constraint set (29) forces each ypt
variable to value
PSPl
one whenever the corresponding xpt
is greater than 0 to be able to model setup
costs. Constraint set (30) says that no more than U dierent product types can
Constraints (28) models the capacity constraints, where
be produced in any period.
dual variable
θl
Note that we subtract the convexity constraint
from the objective function, and that the inventory balance
constraints normally included in production scheduling problems, here belongs
to the master problem which is controlled by the transport chain coordinator
agent. Therefore, the production scheduling problems separate over time. The
objective function value of the optimal solution gives the reduced cost of a
production plan.
127
5 Column Generation
5.1 Algorithm Overview
We developed a column generation based solution algorithm where the LPrelaxation (RMP) is updated iteratively with new improving production plans
and transportation plans from the subproblems. At the optimum (or at least
near optimal) solution of RMP, fractional solutions are xated to integer values
until nally, an integer solution is found. Our decomposition approach, including
branching, xation and termination strategies, is discussed in this section, and
the ow chart of the main algorithm is presented in gure 5.
5.2 Branching, xations and termination
In each master problem iteration, the subproblems generate new transportation
and production plans based on the values of the
λ, µ, δ ,
and
θ
dual variables.
Plans with negative reduced cost are added as improving columns/variables to
RMP. When no subproblem can produce any new improving column, the optimal
solution of RMP is reached.
This optimal solution typically gives fractional
combinations (see constraint sets (10) and 11)) of plans, which of course is
infeasible in our integer problem MP. To be able to nd an optimal or, at
least a heuristically good integer solution to MP, some delivery/pickup (depot,
period, product, and vehicle) or production (period, product and production
line) must be restricted (xated) to some integer quantity, whenever a fractional
optimal solution of RMP is found.
Fixations are determined by RMP and
communicated to the subproblems to prevent them from violating the xations
in subsequently generated plans. Throughout the procedure of the algorithm,
more and more quantities are xated, and eventually, when the solution space
of the subproblems is restricted enough by xations, the algorithm terminates
with an integer solution.
See Wolsey (1998, ch 11.4) for an introduction to
branching and variable xation in integer problem column generation.
T
fdptv
∈ Z+ , d ∈ D, p ∈ P, t ∈ T, v ∈ V
P
+
(deliveries and pickups), and fptl ∈ Z , p ∈
In our heuristic xation strategy, we let
represent transportation xations
P, t ∈ T, l ∈ L
represent production xations.
We have one xation for each
depot, product, period and vehicle (transportation xation), and one xation
for each product, period and production line (production xation). Initially, all
xations are set to 0, which means that there exist no xations. However, rexations to higher values are allowed as will be described below. A production
128
Create empty production/transportation plans
for all vehicles and all production lines
Start
Solve RMP
Send dual variables and fixations to transportation planners
and receive new transportation plans with costs
Add all transportation plans with Yes
negative reduced cost to RMP.
Does any transportation
plan with negative reduced
cost exist?
No
Resolve RMP, and send dual variables and fixations to
production planners and receive new production plans with costs
Add all production plans with
negative reduced cost to RMP.
Does any production
plan with negative reduced
cost exist?
Yes
No
Yes
At least one transportation
plan was added
No
Fix a quantity for some vehicle
or production line and throw
away columns
Yes
Does candidate for
fixing exist?
No
Terminate
Figure 5: Main algorithm ow chart.
xation of a quantity
P
fptl
for some product
p,
means that all subsequent production plans for
at least
P
fptl
units of product
p
in period
129
t.
period
l
t,
and production line
l
must contain a production of
Similarly, a transportation xation
T
fdptv
for some vehicle
v
units of product
p
v must contain a
T
d ∈ DC ) of at least fdptv
means that all subsequent plans for
d ∈ DP or delivery
depot d in period t. In
pickup or delivery (pickup if
from/to
if
other words, it is possible to
re-xate production, delivery, and pickup quantities to higher values as long as
the capacities of vehicles and production lines are met. After a xation has been
determined, all columns violating the xation are thrown away from RMP. For
P
fptl
p, and period
P
t, then all columns for l not containing a production of fptl units of product p
0
in period t are removed from Sl .
instance, if we xate a quantity
for production line l , product
Our xation strategy does not guarantee that the decomposition algorithm converges to the optimal integer solution of MP. In order to guarantee this, we
would need to create a search tree, where we branch on the xations. For each
xation
f
in such a branching tree, one branch must be created for solutions
with higher values than
f,
and one branch must created for lower values. Since
time and memory are limited, we do not expect this to be possible for real world
scenarios due to the problem size and its characteristics of being NP-hard.
In order to decide what to xate (a production, a delivery or a pickup), we
calculate
(d0 , p0 , t0 , v 0 ) =
arg max
X
d∈D,p∈P,t∈T,v∈V r∈R0
v
where we introduce
ΛTdptr
(
0
=
1
if
if
vr ΛTdptr ,
xdptr = 0
xdptr 6= 0,
(31)
(32)
to restrict equation (31) to merely consider columns with non-zero coecients.
Otherwise, all sums in (31) would take on value 1, since, according to constraint
set (5), all transportation convex combinations must sum up to 1.
To avoid
xating pickups and deliveries which are represented in all columns in RMP, and
more trivially, to disregard those deliveries and pickups that are not represented
at all, we require
0<
X
vr ΛTd0 p0 t0 r < 1.
(33)
0
r∈Rv
0
It is only interesting to consider pickups and deliveries that are represented by
a higher quantity than previously xated. Therefore, equation
X
vr xd0 p0 t0 r > fdT0 p0 t0 v0
r∈R0 0
v
130
(34)
must hold. From the transportation plans, the most represented vehicle, depot,
product and period, which because of equation (34) has a xation strictly lower
than currently represented by RMP is determined. The absolute values in equations (34) are introduced since pickups at producer depots are represented by
negative numbers in the transportation plans, and all xations are dened to
be non negative. With the same arguments as for the transportation plans, we
calculate
(l0 , p0 , t0 ) = arg max
l∈L,p∈P,t∈T
X
ws ΛP
dpts
(35)
s∈Sl0
where
ΛP
dpts
(
0
=
1
if
if
ydpts = 0
ydpts 6= 0,
(36)
and
0<
X
ws ΛP
d0 p0 t0 s < 1,
(37)
s∈Sl0
and
X
ws yd(l0 )p0 t0 s > flP0 p0 t0
(38)
s∈Sl00
must hold for the production lines.
As for the transportation plans, we nd
the currently most represented production line, product and period.
(d0 , p0 , t0 , v 0 )
X
vr ΛTd0 p0 t0 r ≥
0
r∈Rv
0
then
fdT0 p0 t0 v0
If only
exists, or if
X
ws ΛP
d(l0 )p0 t0 s ,
(39)
s∈Sl00
(i.e. a transportation xation) is re-xated for vehicle
v0
according
to
fdT0 p0 t0 v0
X
=
vr xd0 p0 t0 r
.
r∈R0 0
(40)
v
If on the other hand, only
0
0
0
(l , p , t )
X
0
r∈Rv
0
exists, or if
vr ΛTd0 p0 t0 r <
X
s∈Sl00
131
ws ΛP
d(l0 )p0 t0 s ,
(41)
then
flP0 p0 t0
(i.e. a production xation) will be re-xated for production line
l0
according to
X
flP0 p0 t0 =
ws yd(l0 )p0 t0 s
.
s∈S 00
(42)
l
0
0
0
0
0
0
0
(d , p , t , v ) or (l , p , t ) could be found, there might still exist any
r0 , r00 ∈ Rv0 0 or s0 , s0 ∈ Sl00 (for a vehicle v 0 ∈ V or a production
0
l ∈ L) with dierent coecients in the optimal solution of RMP. This
If neither
two columns
line
scenario can occur if equation (33) or (37) equals 1 for some delivery, pickup
or production while
0
p ∈P
and
0
t ∈ T.
xd0 p0 t0 r0 6= xd0 p0 t0 r00
or
yd0 p0 t0 s0 6= yd0 p0 t0 s00
for any
d0 ∈ D ,
Then, we xate
fdT0 p0 t0 v0
X
0
0
0
=
v
x
r d p t r
r∈R0 0
(43)
v
or
X
flP0 p0 t0 =
ws yd(l0 )p0 t0 s
,
s∈S 00
(44)
l
to be able to converge towards an integer solution of MP.
0
For the xated object (v or
l0 )
we remove all columns (r
∈ Rv0 0
or
s ∈ Sl00 )
with
parameter
|xd0 p0 t0 r | =
6 fdT0 p0 t0 v0
(45)
if a delivery or a pickup was xated, or
yd(l0 )p0 t0 s 6= flP0 p0 t0
(46)
if a production was xated.
5.3 Subproblem xations
In this section we discuss how xations of productions, deliveries and pickups are
applied to the production and transportation subproblems. Production xations
are straight forward and easy to apply, whereas transportation xations are
slightly more complicated to handle, as we will discuss below. Also, a xation
in a routing subproblem removes the integrality property which can impose
negative eects on the performance of the algorithm.
132
For each production xation we
P
fptl
, p ∈ P, t ∈ T, l ∈ L,
we add a constraint
l
xPSP
≥ fptl
pt
to the constraint set of subproblem PSPl .
fptl
include a production of no less than
(47)
This forces production line
units of product
p
in period
t
l
to
in all
subsequently generated plans.
For transportation, quantities can be xated either at producer depots or at
customer depots and the two cases are handled dierently both in the routing
problems and in the product assignment problems. In routing problem RPv we
add a constraint
X
X
v
xRP
(nk ,nj ) = 1,
(48)
nk :(nk ,nj )∈Av nj :d(nj )=d,t(nj )=t
T
> 0, d ∈ DC , p ∈ P, t ∈ T . For each
fdptv
> 0, d ∈ DP , p ∈ P, t ∈ T , we add a constraint
for each customer depot xation
T
producer depot xation fdptv
X
X
v
xRP
(ni ,nk ) = 1.
(49)
ni :d(ni )=d,t(ni )=t nk :(ni ,nk )∈Av
v to arrive at depot d in
v must depart from depot d in period t.
t
Constraint (48) forces vehicle
period
(49) means that
Note that these xation
and constraint
constraints remove the integrality properties of the routing problem.
For each producer depot xation
T
fdptv
> 0, d ∈ DP , p ∈ P, t ∈ T ,
a constraint
T
o
xASP
ij(d)p(f ) ≥ fdptv
X
(50)
i∈{1,...Φp(f ) }
to pickup at least
T
fdptv
T
fdptv
).
This forces v
p from producer depot d in period t.
> 0, d ∈ DC , p ∈ P, t ∈ T , we add a constraint
is added to some assignment problem ASPo (representing
units of product
For each customer xation
T
fdptv
o
xASP
= 1,
f T j(d)p
(51)
dptv
which together with constraint set (25) guarantees that a minimum of
units
p will be delivered to customer depot d in period t. In equations (50)
we let j(d) refer to the depot of the j :th visit in ASPo .
of product
and (51)
T
fdptv
133
6 Implementation
The proposed column generation algorithm was implemented inside a multiagent-based simulation tool named
Simulator
Transportation And Production Agent-based
(TAPAS) (Davidsson et al., 2008).
One purpose for using TAPAS
was to utilize a previously developed agent system instead of implementing one
from scratch. The software agent system in TAPAS was implemented in the Java
Agent DEvelopment Framework platform (JADE) (Bellifemine et al., 2007) and
the optimization problems described throughout this paper were solved with the
ILOG CPLEX
2 10.0 mixed-integer linear problem solver.
Currently, TAPAS runs on a single computer.
However, a distributed execu-
tion, where dierent agents are running on dierent computers is possible. As
discussed in Holmgren et al. (2008), such a parallelization would increase the
communication overhead, while potentially reducing the overall solution time
due to the availability of more processors. More processors allows for subproblems covering more real world details, which might increase the quality of the
solutions. In this particular implementation, overhead time is caused by JADE
by, for instance, coding and decoding of messages. We could not perform any
real experiments with a parallelization of the computations, since we did not
have access to enough computers and ILOG CPLEX licenses.
However, the
agent-based approach simulates a reality with a coordinator agent and planning
agents located at dierent locations and, our conceptual implementation allows
for testing the potential usage of the approach.
6.1 Performance and Convergence
From the results of a few some small-scale performance experiments, it was
realized that the convergence rate of the column generation approach was far
too slow to allow each RMP (LP-relaxation) to be solved to optimality before
considering termination or xation. Even for small scenarios it could take hours
to solve one RMP to optimality. For dealing with this performance problem, a
termination strategy was constructed. In this termination strategy, xations
are performed whenever the average relative improvement of a certain number of
the latest generated plans fall below some required improvement level, resulting
in near optimal solutions to RMP. Therefore, a restriction on the solution space
2 http://www.ilog.com/
134
of RMP is imposed, but the results in section 7 indicate that our algorithm still
is able to produce heuristically good integer solutions.
eV
For each vehicle, two lists of size
containing the reduced costs of the most
recently added columns are kept in memory. A reduced cost for a column refers
to the reduced cost at the time it was generated. We let
1, . . . , ejv , ejv +1, . . . , 2·ejv
denote an indexed list over the reduced costs in the order they were added to
RMP. Index
1
2 · ejv to the oldest
j
costs 1, . . . , ev , and the
refers to the most recently added column and
column. The rst list contains the most recent reduced
second list the older reduced costs
P
e
line, two lists of size
ejv +1, . . . , 2·ejv .
Similarly for each production
are kept for containing the reduced costs of the most
recently added production columns.
In this termination strategy, the solution of RMP is accepted as optimal enough
if, for each vehicle and each production line, the average of the reduced cost
in the rst list is less then
gV
(for a vehicle) or
gP
(for a production line)
percentages better than the average of the reduced costs in the second list. At
this point the algorithm either determines a xation or terminates depending
on if the current solution of RMP is fractional or not. The actual choice of list
sizes and the required improvement percentage is a trade-o between solution
time and solution quality.
7 Computational Experiments
7.1 Scenario Description
The decomposition algorithm was used for solving a set of scenarios with a
transportation network consisting of two producer depots
line l1 ) and
d8 .
d7
d1
(with production
(with production line l2 ) and 6 customer depots
d2 , . . . , d 6
and
All scenarios have a planning horizon of 72 time periods with uniform
length 2 hours (equaling 6 days). The scenarios were generated randomly with
respect to consumptions, storage constraints, initial storage levels, and locations
of the vehicles at the beginning of the planning period. Each scenario allows
for dierent settings regarding which customers use VMI and which do not.
Customer
d2 , . . . , d 6
can either be a VMI customer or not, while customer
is always a non-VMI customer.
d2 , . . . , d 6
Producer depot
with products and the purpose of
d7
d1
d8
provides customer depots
and
d8
is to model possibly
non-empty return transports for a small portion of the vehicles traveling back
from
d2 , . . . , d 6
to
d1 .
The nodes are connected with direct links, with distances
135
given in table 1. From depot
d2 , . . . , d 6
d1 it is possible to travel to depots d2 , . . . , d7 , from
d8 , from d7 to d1 and d8 , and from d8 to d1 . The
to all depots except
average speed is 70 km/hour on all links and the time-based transportation cost
is estimated to
250
3 for working
SEK/hour. Furthermore, the EEC regulations
and resting hours are approximated by allowing a maximum of 10 hours working
before a minimum 9 hours of resting.
Table 1: Distance (in km) between the depots available in the scenario.
d1
355
d2
353
216
d3
450
407
167
d4
531
487
248
141
d5
615
455
333
226
93
209
130
232
362
442
522
d7
95
-
-
-
-
-
119
The scenarios use a eet of 9 vehicles
of 35 tons. Vehicles
v8
and
v9
d6
v1 , . . . , v9
d8
with an identical weight capacity
represents third party transport capacity which
can be called in to a cost approximately
10%
higher than the cost of
v1 , . . . , v7 .
In these scenarios the volume constraints are dominated by the weight restrictions, i.e. the volume restrictions are redundant. There are no restrictions on
which products can be transported. For each vehicle, we specify a depot and
an earliest time period from which it is available for planning. A vehicle has a
wear cost of
4
SEK/km and the fuel consumption is estimated linearly between
the empty load consumption of
0.49
0.327
l/km and the full load consumption of
l/km, as described in Holmgren et al. (2007). For a fuel cost of
(as of Nov 2007) we get the corresponding fuel costs
vehicle and
4.42
2.95
9.03
SEK/l
SEK/km for an empty
SEK/km for a full vehicle.
Moreover, the scenarios dene
4
dierent products
p1 , . . . , p 4 ,
each with a mass
of 5 tons per unit and with production and setup costs as specied in table 2.
Product type
p4
is used to model return transports and it is assumed that
produced only in
d7
and consumed only in
p4
is
d8 .
For producer depots we chose initial storage levels randomly between minimum
3 EEC
3820/1985
136
Table 2: Product value (SEK/unit), production cost (SEK/unit), and production setup costs (SEK) for products
p1 , . . . , p 4
product
production line
p1
p2
p3
p4
l1
l1
l1
l2
and production lines l1 and l2 .
production cost
setup cost
1500
1000
1500
1000
1500
1000
0
0
and maximum storage levels. Penalty costs (shortage and exceedance) for breaking the allowed minimum and maximum levels of the storages as presented in
table 3. Production costs and setup costs for all products and all production
lines are presented in table 2. In table 4 all costs associated with customers are
given.
Table 3: Minimum and maximum allowed storage levels of nished products
at the producer depots, and penalty costs (SEK/unit) for breaking the allowed
storage level intervals.
p1
p2
p3
Min level
0
0
0
-
Max level
10
10
10
-
Shortage cost
8200
8200
8200
-
Exceedance cost
8200
8200
8200
-
Storage cost
300
300
300
-
Min level
-
-
-
0
Max level
-
-
-
7
Shortage cost
-
-
-
4120
Depot
d1
d7
p4
Exceedance cost
-
-
-
4120
Storage cost
-
-
-
150
In table 5 we present the expected forecasted consumption (in units) per time
period for each customer and each product. A demand-forecast used in a scenario is chosen randomly in steps of
0
and
2
0.05
units with equal probability between
times the averaged forecasted demand. For example, for an expected
forecast of
0.2,
it is possible to choose values between
137
0
and
0.4.
The consump-
Table
4:
Storage
costs
(SEK/day)
and
shortage
and
exceedance
costs
(SEK/unit) for customer depots.
Depot
Shortage cost
d2
d3
d4
d5
d6
d8
p1
p2
p3
p4
9020
9020
9020
-
Exceedance cost
8200
8200
8200
Storage cost
350
350
350
-
Shortage cost
9020
9020
9020
-
Exceedance cost
8200
8200
8200
-
Storage cost
350
350
350
-
Shortage cost
9020
9020
9020
-
Exceedance cost
8200
8200
8200
-
Storage cost
350
350
350
-
Shortage cost
9020
9020
9020
-
Exceedance cost
8200
8200
8200
Storage cost
350
350
350
-
Shortage cost
9020
9020
9020
-
Exceedance cost
8200
8200
8200
-
Storage cost
350
350
350
-
Shortage cost
-
-
-
4520
Exceedance cost
-
-
-
4120
Storage cost
-
-
-
175
tions are aggregated to integer values which mean that for example, an average
consumption of
0.2 units per period gives a demand for 1 unit every 5:th period.
Table 5: Average consumption per 2 hour time period.
depot
d8
The consumption at
corresponds to a small portion of non-empty return transports.
Customer
d2
d3
d4
d5
d6
d8
p1
p2
p3
p4
0.15
0.15
0.15
0
0.15
0.15
0.15
0
0.15
0.15
0.15
0
0.15
0.15
0.15
0
0.15
0.15
0.15
0
0
0
0
0.35
138
From the generated consumption forecasts, safety stock levels were generated
for consumptions corresponding to a randomly chosen time between 1 and 2
days, and maximum allowed stock levels randomly for a consumption of between 5 and 7 days. An initial storage level was chosen randomly as an integer
number between the safety stock level and the maximum stock level. For nonVMI customers, we generated random (integer) delivery quantities (one for each
customer and each product) between
5
and
35
tons. This is justied by histori-
cal averages from our project partners, which shows an average delivery size of
approximately 20 tons. A maximum stock level for a non-VMI customer equals
the safety stock level plus the delivery quantity. To be able to compare VMI and
non-VMI results, the maximum stock level for a VMI customer was not allowed
to be less than the maximum level in the corresponding non-VMI setting.
For VMI customers, the storage levels must always be kept between the minimum and maximum allowed storage levels. For a non-VMI customer, the maximum storage level for some product is assumed to equal the minimum allowed
storage level plus the predetermined delivery size, minus one (deliveries are made
so that the storage level never falls below the minimum level). The storage level
in a period must equal, i.e. with equality in equation (4), a certain level that is
determined by initial storage level, delivery size, order point, and consumption
rate. Figure 6 gives an example of how the storage constraints for a non-VMI
customer with a consumption of 1 unit per time period are generated. It can be
seen how the storage level varies between the minimum level and the maximum
level. The storage level in period 3 equals 5 and at the end of period 5 it equals
10 because there was a delivery of 7 in period 5 (and also in period 12 and 19).
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. At the producer depots, before any loading takes place, the truck
has to be cleaned.
Cleaning takes 1 hour and costs
1300
SEK.
Loading and
unloading times are assumed for full trucks, even though the actual average
vehicle utilization is less than a full vehicle load. We consider this estimation
reasonable since our result indicates a full (or close to full) vehicle utilization.
7.2 Results and Analysis
For a set of 5 randomly generated scenarios, experiments with 3 dierent VMI
settings have been performed. We let full (VMI) refer to the setting where all
customers except
d8
are VMI customers, none (VMI) to the setting where all
139
Storage level (units)
Max (10)
Initial (8)
Min (4)
5
10
15
20 Time (periods)
Figure 6: Storage constraints for a non-VMI customer.
customers are non-VMI customers and one (VMI) to the setting where all customers except
d3
are VMI customers. The purpose was to perform comparisons
regarding dierent levels of VMI utilization in the scenarios. In the main series
of experiments, we used a termination criteria with parameters
and
g
V
= g
P
= 10.
eV = eP = 3
The results from these experiments, as well as informa-
tion about which customers are VMI customers (the remaining customers are
non-VMI customers) are detailed in table 6.
The measured improvements for each type of cost (e.g. production, transportation and storage) for taking the step from the none setting to the one setting
is given in table 7. The measured additional improvements for letting all customers, except for
d8 ,
be VMI customers are correspondingly presented in table
8. The benets for the full setting, compared to the one setting, are rather
obvious since all costs are better in this case and the advantage for one over
none is less obvious.
If penalty costs are included in the comparison of the total costs, the one
setting always performs better than the none setting. However, if the penalty
costs are disregarded, the none setting sometimes performs better than one
setting and sometimes the opposite holds.
The average improvement of
SEK does however indicate that one works better.
1228
However, the standard
deviation is rather high, which indicates that more experiments need to be performed. We identied some relations between the dierent costs, which makes
140
Table 6:
The total cost, production cost, transportation cost, storage cost,
penalty cost (shortage/exceedance of maximum allowed storage level) for each
setting and each scenario (Sc) for the experiments with
g
V
eV = eP = 3
and
P
= g = 10.
Sc
VMI
Prod
Transp
Storage
Penalty
1
119000
220741
135738
0 / 0
1
d2 , . . . , d 6
d3
119500
283987
139617
0 / 28720
1
-
140000
261653
139838
0 / 114800
2
d2 , . . . , d 6
d3
212500
300789
172210
27080 / 0
2
233000
354719
174083
99280 / 65600
2
-
234500
398659
170829
72220 / 98400
3
d2 , . . . , d 6
d3
166000
262935
174190
0 / 0
3
173500
385060
176325
63140 / 114800
3
-
145000
366564
163920
198880 / 271480
4
d2 , . . . , d 6
d3
194500
264527
156875
0 / 0
4
213500
304449
162915
54120 / 4120
4
-
222500
342993
157340
81180 / 172200
5
d2 , . . . , d 6
d3
134500
252012
160033
0 / 0
5
241000
295026
186117
36080 / 164000
5
-
221000
305386
178754
63140 / 176320
Total
475479
571824
656291
712579
926682
974608
603125
912825
1145844
615902
739104
976213
546545
922223
944600
the analysis regarding VMI and non-VMI more complex:
•
A shortage of a product at a customer might possibly decrease the costs
for transportation and storage,
•
while an exceedance at a customer might increase the transportation cost,
and
•
an exceedance of a product at a producer might cause increased production
cost.
The results in table 6 clearly show that the algorithm manages to nd better
solutions for the full setting than for the one and none settings. The results
from table 6 further indicate that the penalty costs sometimes are very high, for
instance, for the none setting for scenario 3. To investigate the reason behind
141
Table 7: The cost reductions for taking the step from none to one, for the
experiments with
eV = eP = 3
and
g V = g P = 10.
Sc
Prod
Transp
Storage
Penalty
1
20500
-22334
221
0/86080
2
1500
43940
-3254
-27060/32800
3
-28500
-18496
-12405
135740/156680
4
9000
38544
-5575
27060/168080
5
-20000
10360
-7363
27060/12320
Avg
-3500
10403
-5675
32560/91192
Std Dev
20338
30917
4711
61890/70457
Total
84467
47926
233019
237107
22377
124980
102897
Tot-Pen
-1613
42186
-59401
41969
-17003
1228
42877
Table 8: The cost reductions for taking the step from one to full, for the
experiments with
eV = eP = 3
and
g V = g P = 10.
Sc
Prod
Transp
Storage
Penalty
1
500
63246
3879
0/28720
2
20500
53930
1873
72200/65600
3
7500
122125
2135
63140/114800
4
19000
39922
6040
54120/4120
5
106500
43014
26084
36080/164000
Avg
30800
64447
8002
45108/75448
Std Dev
43118
33540
10244
28533/64727
Total
96345
214103
309700
123202
375678
223806
119273
Tot-Pen
67625
76303
131760
64962
175598
103250
48755
this unwanted high penalties we performed a second series of experiments with
a tougher termination criteria, with parameters
g
P
= 10.
eV = 4, eP = 3, g V = 5
The results from these experiments are presented in table 9.
and
It
is reasonable to assume that the results with the tougher termination criteria
should be better than the results from the initial experiments. The reason is that
more transportation subproblems, and hence more production subproblems, will
be solved before breaking for xation or termination.
This should bring the
solution closer to optimum. However, the results in tables 6 and 9 show that for
some experiments, the results were better for the
sometimes for the
V
e
= 3, g
V
= 10
eV = 4, g V = 5
setting and
setting. A comparison of the results from
142
6593 SEK better
15 runs and
eV = 4 and g V = 5
the two experiment series show that the total cost is in average
for the
eV = 4, g V = 5
settings. Here, the average is taken over
the standard deviation is
94256
SEK. The experiment with
shows signicantly less penalty costs for the none setting of scenario 3.
Table 9:
The total cost, production cost, transportation cost, storage cost,
penalty cost (shortage/exceedance of maximum allowed storage level) for each
setting and each scenario (Sc) for the experiments with
and
eV = 4, eP = 3, g V = 5
P
g = 10.
Sc
VMI
Prod
Transp
Storage
Penalty
1
109000
214711
132429
0/0
1
d2 , . . . , d 6
d3
140500
264411
142179
0/65640
1
-
151500
260599
140663
0/139400
2
d2 , . . . , d 6
d3
201000
312457
172396
18060/0
2
235500
356970
176792
72220/82000
2
-
227000
363655
172117
126340/139400
3
d2 , . . . , d 6
d3
175000
298852
188515
0/8200
3
199500
341624
186804
63140/98440
3
-
189500
353713
166933
36080/147600
4
d2 , . . . , d 6
d3
227500
314953
160283
0/32800
4
204000
323585
156331
36080/8240
4
-
209000
345207
157040
135300/180400
5
d2 , . . . , d 6
d3
159000
290195
169658
0/0
5
206500
288396
183754
27060/65600
5
-
213500
302787
180642
45100/131200
Total
456140
612730
692162
703913
923482
1028512
670567
889508
893826
735536
728236
1026947
618853
771310
873229
7.3 Time Performance Analysis
A number of performance measures were made with the rst series of experi-
V
ments (e
= eP = 3
of the algorithm.
and
g V = g P = 10)
to try to understand the behavior
For the full setting, the results presented in tables 10 to
12 were disturbed by the results of one particular scenario (number
consumed almost twice as many iterations and approximately
4
2)
which
times the total
solving time. Therefore we also present averages and standard deviations where
we exclude the results from scenario
2.
These results are written inside square
143
brackets in tables 10 to 12.
In the scenario 2, the extremely long execution
time is mainly caused by the long master problem solution time, which is
seconds compared to
8403
28898
seconds in average for the remaining scenarios. The
reason for this might be that in this scenario, which uses
before termination compared to
2661
3911 master iterations
in average for the rest of the scenarios, a
typical RMP contains much more columns and therefore it needs longer solving
time. An observation from the average master problem solving times presented
in table 11 is that a higher number of iterations seems to give a longer average
master problem solving time, probably because of an increased size of RMP.
From table 10, it is easy to see that in average, the solutions times increase with
the number of VMI customers. Also, it is possible to see that the main reason
might be that cases with more VMI customers in general need more iterations
before termination. A consequence is longer average master problem solve times
which further increases the solving time. Also, from table 11 it can be seen that
the average times for solving the production and transportation subproblems is
basically the same for the dierent VMI settings.
From table 12 we see that the average number of production xations is approximately the same for all three VMI settings, while the number of transportation
xations seems to decrease with an increasing number of VMI customers.
A
similar relation is indicated for the number of re-xations, but the most noticeable observation is that the number of production xations is higher than the
number of transportation xations. It is dicult to see any extraordinary gures, but it is interesting to see that the xation strategy utilizes the possibility
to re-xate numbers to higher values. Note that, in table 12, a re-xation also
counts as a xation.
15 experiments gives 100355 routing subproblems without
192667 routing subproblems with a least one visit xation
with corresponding total solving times of 18137 and 30444 seconds respectively.
This gives average times of 0.181 and 0.158 seconds respectively for solving one
Summarizing over all
visit xations and
routing subproblem with and without visit xations. An indication from these
measurements is that adding integer variables to the routing subproblems does
not seem to have any severe eects on the performance of the algorithm.
Note that we subtracted estimated overhead times, e.g. for coding and decoding
messages, that is imposed by the agent-based implementation. This is further
discussed in Holmgren et al. (2008). The reason for not including it here is that
the analysis in this paper addresses the performance of the actual decomposition
approach and not the implementation.
144
Table 10: For each VMI setting, the number of iterations, total solving time
and accumulated times for solving master problems, production subproblems
and transportation subproblems averaged over the
5
scenarios. The standard
deviation for each average is written inside the paranthesis.
VMI
Iterations
Total (s)
Master (s)
Prod (s)
Transp (s)
full
2911 (691)
[2661 (469)
1950 (323)
1651 (280)
12502 (9240)
8403 (1353)
3924 (762)
3323 (572)
5874 (7585)
2509 (1087)
300 (77.4)
210 (57.4)
23.4
21.0
15.4
12.6
5664
5082
3159
2744
one
none
(6.35)
(3.92)
(2.88)
(2.19)
(1323)
(271)]
(662)
(432)
Table 11: For each VMI setting, the average times for solving one master problem, one production subproblem and one transportation sub problem (routing
subproblem and product assignment problem) averaged over the
5
scenarios.
The standard deviations are written inside the parentheses.
VMI
Master (s)
Production (s)
Transportation (s)
full
1.72 (1.82)
[0.919 (0.302)
0.152 (0.0167)
0.125 (0.0129)
4.00 · 10−3
3.94 · 10−3
3.94 · 10−3
3.82 · 10−3
0.219
0.217
0.182
0.186
one
none
(1.52 · 10−4 )
(1.00 · 10−4)
(1.10 · 10−4 )
(3.48 · 10−5 )
(0.0324)
(0.0370)]
(0.0381)
(0.0265)
8 Conclusions and Future Work
The studied problem belongs to a more general IPIDRP problem class which is a
subclass of production and transportation problems. Our problem formulation
is general in the sense that it is formulated with a master problem which controls inventories and which coordinates production and transportation, and two
types of subproblems; one transportation subproblem for generating transportation plans and a production scheduling subproblem for generating production
plans. By choosing customized production and transportation subproblems, our
solution approach can be used to solve IPIDRPs where:
1. decisions about inventories are taken centrally and detailed decisions about
145
Table 12: For each VMI setting, the average number of production xations,
production re-xations, transportation xations and transportation re-xations
and the corresponding standard deviations, averaged over the
5 scenarios.
Note
that a re-xation also counts as a xation.
Production
VMI
full
one
none
Transportation
xations
re-xations
xations
re-xations
71.8 (13.1)
[66.5 (6.40)
75.6 (18.0)
69.4 (16.4)
31.4
30.5
43.8
38.4
69.4
66.5
54.2
44.2
4.20
4.25
2.00
1.80
(3.21)
(2.87)
(15.4)
(13.9)
(10.9)
(9.98)
(8.58)
(10.3)
(1.30)
(1.50)]
(2.35)
(1.30)
transportation and production are taken locally, and
2. the master problem can produce dual variables and receive production
plans and transportation plans.
We conclude that our agent-based solution approach has the potential to work
as a framework for this type of IPIDRPs. The decomposition formulation was
used for making a quantitative comparison of dierent degrees of VMI in a set of
scenarios. The results clearly show that the algorithm produces solutions with
lower costs for scenarios with more VMI customers. Most likely, the reason for
this is that a higher number of VMI customers cause fewer restrictions to the
problem. Also, we have experienced strange results, in terms of unreasonable
high penalty costs, for scenarios without VMI customers. This is not the case for
scenarios with only VMI customers. A possible explanation is that our algorithm
works better in cases with VMI customers. One reason for this might be that
the full setting in general consumes more iterations than the other settings
before termination. Therefore we think it might be interesting to experiment
with termination criterias that allows the dierent settings to use approximately
the same number of iterations before termination. Another possibility is to use
the proposed termination criteria, but to run scenarios with less VMI customers
with parameters
eV , eP , g V
and
gP
that forces the algorithm to take RMP closer
to optimum before termination.
Future work includes tighter integration of our optimization ideas in our simulator model.
For instance, TAPAS can be used for evaluation of the results
obtained by the optimization algorithm. An evaluation of the results can be
146
useful because an optimization model in some meaning always constitutes an
estimation of the real world, which contains uncertainty. Also, real world evaluations of the results are typically hard to carry out since they tend to become
rather expensive.
Further, it is interesting to let the subproblems produce higher quality solutions so that the decomposition algorithm hopefully, will converge faster. For
example, it might be possible to use ranges for the dual variables and let the
subproblems calculate non-optimal solutions as candidate solutions to RMP.
Another extension is to let dierent vehicles and production lines solve dierent
subproblems. Possible extensions to the production scheduling problems include
consideration of setup costs/times and restrictions on the number of products
types that can be produces over longer periods of time (e.g. a day). Currently
we only constraint the number of dierent product types that can be produced
in a single time period. Furthermore, it could be interesting to formulate transportation and production subproblems which involve more than one vehicle and
production line respectively.
In order to capitalize on the use of the multi-agent-based approach for achieving performance improvements, we nd it interesting to experiment with a distributed system where each agent runs on its own computer, for example in a
grid environment.
Such a distributed approach is a natural representation of
the real world, where the actors (agents) are geographically separated and each
agent typically only has access to its own data and its own computer. A parallelization would allow us to solve more complicated subproblems thus making
it possible to catch more real world details. This might be important for taking
the step from using the model in a laboratory environment to solving real
problems.
Currently we restrict the maximum number of customer visits that is allowed
before visiting a producer. To allow the vehicle to visit more than two consecutive customers, it is necessary to generalize the calculations of the
η
parameters
(see section 4.1.1) and the resting hours, that is used the routing subproblems.
Such generalizations need to be based on estimations, and it could be interesting to investigate if we are able to nd estimations that can be useful for the
studied problem.
147
9 References
Barnhart, C., Johnson, E. L., Nemhauser, G. L., Savelsbergh, M. W. P., &
Vance, P. H.
(1998).
Branch-and-price: Column generation for solving
Operations Research, 46, 316329.
Bellifemine, F. L., Caire, G., & Greenwood, D. (2007). Developing multi-agent
systems with JADE (Wiley Series in Agent Technology). John Wiley &
huge integer programs.
Sons.
Benders, J.
(1962).
Partitioning procedures for solving mixed-variables pro-
gramming problems.
Numerische Mathematik, 4, 238252.
Bergkvist, M., Davidsson, P., Persson, J. A., & Ramstedt, L. (2005). A hybrid
micro-simulator for determining the eects of governmental control poli-
Lecture notes in computer science: Vol. 3415.
multi-agent and multi-agent-based simulation (pp. 236247). springer.
cies on transport chains. In
Bilgen, B., & Ozkarahan, I. (2007). A mixed-integer linear programming model
for bulk grain blending and shipping.
Economics, 107 (2), 555571.
International Journal of Production
Campbell, A., Clarke, L., Kleywegt, A., & Savelsbergh, M. (1998). The inventory routing problem. In G. Laporte & G. Grainic (Eds.),
ment and logistics.
Fleet manage-
Kluwer.
Chandra, P., & Fisher, M. L. (1994). Coordination of production and distribution planning.
European Journal of Operational Research, 72 (3), 503517.
Chien, T. W., Balakrishnan, A., & Wong, R. T. (1989, May). An integrated
inventory allocation and vehicle routing problem.
23 (2), 6776.
Transportation Science,
Dantzig, G., & Wolfe, P. (1961). The decomposition algorithm for linear programs.
Econometrica, 29, 767778.
Daugherty, P. J., Myers, M. B., & Autry, C. W. (1999). Automatic replenishment programs: an empirical examination.
20 (2), 6382.
Journal of Business Logistics,
Davidsson, P., Holmgren, J., Persson, J. A., & Ramstedt, L.
(2008).
Multi
Proceedings of the 7th international joint conference on autonomous agents and multiagent systems
(AAMAS'08). Estoril, Portugal, 14-16 May 2008.
agent based simulation of transport chains. In
Drexl, A., & Kimms, A. (1997). Lot sizing and scheduling - survey and extensions.
European Journal of Operational Research, 99, 221235.
Federgruen, A., & Zipkin, P. (1984). A combined vehicle and inventory routing
allocation problem.
Operations Research, 32 (5), 10191037.
Fumero, F., & Vercellis, C. (1999). Synchronized development of production,
148
inventory, and distribution schedules.
Transportation Science, 33 (3), 330
340.
Georion, A. M. (1974). Lagrangean relaxation for integer programming.
ematical Programming Study, 2, 82114.
Holmgren, J., Davidsson, P., Persson, J. A., & Ramstedt, L. (2007).
based simulator for production and transportation of products.
Math-
An agent
The 11th
World Conference on Transport Research, Berkeley, USA, 8 - 12 June
2007.
Holmgren, J., Persson, J. A., & Davidsson, P.
position of optimization problems.
(2008).
Agent based decom-
The First International Workshop on
Optimisation in Multi-Agent Systems, Estoril, Portugal, 12 May 2008.
Lei, L., Liu, S., Ruszczynski, A., & Park, S.
(2006).
On the integrated pro-
duction, inventory, and distribution routing problem.
38 (11), 955970.
IIE Transactions,
Persson, J. A., & Göthe-Lundgren, M. (2005). Shipment planning at oil reneries using column generation and valid inequalities.
Operational Research, 163, 631652.
Ramstedt, L., & Woxenius, J.
(2006).
Modelling approaches to operational
desicion-making in freight transport chains. In
FOMA 2006 conference.
Sarmiento, A. M., & Nagi, R.
(1999).
production-distribution systems.
European Journal of
Proceedings from the NO-
A review of integrated analysis of
IIE Transactions, 31, 10611074.
Småros, J., Lehtonen, J.-M., Appelqvist, P., & Holmström, J.
(2003).
The
impact of increasing demand visibility on production and inventory con-
International Journal of Physical Distribution & Logistics
Management, 33 (4), 336354.
Sohier, E. (2006). Modelling a complex production scheduling problem - optimization techniques. Master's thesis, Blekinge Institute of Technology
trol eciency.
(BTH), Sweden.
Thomas, D. J., & Grin, P. M. (1996). Coordinated supply chain management.
European Journal of Operational Research, 94, 115.
(2002). The vehicle routing problem.
Toth, P., & Vigo, D. (Eds.).
SIAM
Monographs on Discrete Mathematics and Applications.
Wolsey, L. A. (1998).
Integer programming.
Sons, Ltd.
Wooldridge, M. J. (2002).
New York, USA: John Wiley &
An introduction to multiagent systems.
John Wiley & Sons, Ltd.
149
London, UK:
© Copyright 2026 Paperzz