optimal order and distribution strategies in production networks

OPTIMAL ORDER AND DISTRIBUTION
STRATEGIES IN PRODUCTION NETWORKS
Simone Göttlich, Michael Herty, and Christian Ringhofer
Abstract Production networks are usually defined as a set of processes utilized to
efficiently integrate suppliers, manufacturers, and customers so that goods are produced and distributed in the right quantities, to the right locations, and at the right
time, in order to reduce costs while satisfying delivery conditions. More precisely,
in our setting, we focus on a network of suppliers which order goods from each
other, process a product according to orders, and receive payments according to a
pricing strategy.
Modeling manufacturing systems is characterized by many different scales and several different mathematical approaches. Here, we follow a dynamic approach: we
are interested in the time behavior of the entire system. Therefore we introduce a
coupled system of ordinary differential delay equations where time-dependent distribution and order strategies of individual manufacturers affect the flow of goods
and hence the total revenue. It is even possible that manufacturers face bankruptcy.
All order and distribution strategies are degrees of freedom which can vary in time.
They need to be fixed by solving an optimization problem where additionally economic factors such as production and inventory costs, liquidity and credit limits influence the maximization of profit. Instead of using a simulation-based optimization
procedure, we derive an efficient way to transform the original model into a mixedinteger programming problem and benefit from established commercial solvers.
Simone Göttlich
TU Kaiserslautern, e-mail: [email protected]
Michael Herty
RWTH Aachen University e-mail: [email protected]
Christian Ringhofer
Arizona State University e-mail: [email protected]
1
2
Simone Göttlich, Michael Herty, and Christian Ringhofer
1 Introduction
A supply chain consists of suppliers, manufacturers, warehouses and stores where
parts are produced and distributed among different production facilities. Mathematical models are used to monitor cost efficient distribution of parts and to measure
current business processes. Naturally, depending on the scale, these models are characterized by several approaches which are either discrete (Discrete Event Simulations) or continuous (differential equations). The main difference between these two
mathematical concepts is the description of parts as individuals at discrete time instances or as a dynamic flow.
Simulations in general represent a powerful computing technique to analyze
manufacturing systems while performing numerical experiments of the models. In
case of discrete event simulations the evolution of the system is viewed as a sequence of significant changes in time, also called events, for each part separately.
For instance, consider a supply chain consisting of numerous consecutive facilities
where parts arrive, get processed and depart when their service is completed. Informally, this means that the transportation of parts from one production step to another
characterizes dynamic events that can be easily evaluated using performance measures like the number of parts in the system, the individual waiting times and so
forth. Definitely, discrete event simulations [10, 14, 12] serve as the finest level of
description of interacting part-based systems but with the drawback of exponentially increasing computing times for large-scale systems which is in particular a
drawback concerning optimization issues.
An alternative modeling approach which remedies the computational aspect are
differential equations. In contrast to the discrete event simulation, averaged quantities in case of large quantity production predict the time evolution of parts and
include the dynamics inside the different production steps. To derive accurate continuous models the overall modeling goal is to transfer as much of the detailed and
complex discrete model to the continuous level. This will be achieved regarding
dynamic flows, i.e. parts per time unit, instead of individual parts. Since numerical schemes for differential equations allow for fast simulation times, supply chain
problems with multiple manufacturers and thousands of parts are solved very costeffective. It furthermore allows to apply efficient optimization methods.
In recent years these continuous models have been intensively investigated. Continuous models like [21, 2, 4, 33, 22] use partial differential equations to model production flow in an aggregate way, leading to deterministic coarse grained and fast
models. The fundamental setup is as in [5]. A high volume multi stage production
line is considered. Of fundamental interest is the time evolution of the lot-density
ρ (x,t) describing WIP at time t at a position x. Here, the position x ∈ [0, 1] does not
represent physical positions in the factory but the stages or degree of completion
in a production process. The factory has a prescribed inflow λ (t) at x = 0 and an
outflow x = 1 generated by the production process through the factory. Since mass
or WIP is conserved, the system has to satisfy a conservation law of the form
PRODUCTION NETWORKS
3
∂ρ ∂F
+
= 0.
∂t
∂x
(1)
All the important details of the modeling approach are hidden in the exact model
for the flux F. Typical models are the adiabatic model F = veq (ρ )ρ with a suitable
equilibrium velocity veq (ρ ) [5] and the Chapman Enscog model F = veq (ρ )ρ + ∂∂Dxρ
[2]. Alternatively, Eq (1) is the first in an infinite hierarchy of conservation laws [4].
Recently those models based on scalar conservation laws have been reformulated
in the framework of network models where the dynamics on the arcs is governed by
a partial differential equation (PDE); see [29, 30, 24, 31]. This approach is inspired
by other recent discussions on other problems on networks; see, e.g., [8, 20, 32, 24,
35, 37, 34, 9].
Here, we consider the following problem modelled by continuous equations for a
supply chain network. A network of suppliers, each processing a product at various
stages. Each supplier receives orders for its output from the other suppliers in the
network, as well as from a final customer. Each supplier orders its input from a
select set of other suppliers in the network as well as from a raw material supplier.
Each supplier receives payments for delivered items at a certain fixed set of prices
and has to pay production costs at certain rates for each item produced. This setup is
similar to the ones studied in [7], [11] and [18], where it is shown that the resulting
dynamics can exhibit a quite complicated behavior.
One of the key features of the model considered in this paper is the presence of
limited production capacities. We assume that each supplier has a certain limited capacity µ , i.e. it cannot process more than µ∆ t items in the infinitesimal time interval
∆ t. We use a generalization of the model employed in [1] to incorporate this additional limitation. The modeling of the payments allows for the definition of capital
flows through the network and, consequently, for the occurrence of bankruptcies
if the capitalization of a node in the network falls below a certain threshold. We
consider the optimization of profits, i.e., given a set of production costs, to choose
ordering strategies to maximize the income of each node. The optimization of routing strategies for networks of almost arbitrary complexity has been investigated in
[31] using an adjoint calculus approach and a discretization based on mixed–integer
variables. Both, the model and the discreitzation, will be discussed in the following
sections. Finally, we present some numerical results on sample problems taken from
the literature.
2 The mathematical models
In this section we review commonly used macroscopic models for supply chains.
These models are in particularly useful, if the number of parts is large and the number of machines is large, too. This assumption allows to pass from a discrete event
model description to a continuous description of flow properties [2, 3, 6, 43, 44].
This limit can be proven rigorously in various situations [1, 3, 5, 6, 25]. Further-
4
Simone Göttlich, Michael Herty, and Christian Ringhofer
more, in case of a continuous description of the arising flow patterns gradient–based
optimization procedures [38, 42] can be applied. Therefore, also from control point
of view the continuous description allows to make use of the underlying structure
of the problem in an iterative optimization scheme. This has been employed for example in [38] for a general supply chain model and in [42] for a highly re–entrant
supply chain model. We refer to the references for more details on the derived calculus. In the following we derive and discuss a class of models used to describe
2.1 The supply chain model
The basic setup requires two inventories for each supplier, namely
1. An input inventory, allowing for the storage of items the supplier has ordered at a
rate faster than it can process. (This might be a reasonable strategy if the supplier
expects shortages in the future.)
2. An output inventory, allowing for the storage of items which have been produced
at a rate faster than ordered. (This might be a reasonable strategy if the supplier
anticipates a future demand larger than its capacity.)
Additionally, we might have a delay for the transport from input to output inventory.
This delay is caused by a processing time of the supplier. This time might, for example, be given by a processing velocity v and the length of the supplier [29, 38]. A
spatial variable x corresponds to the stage of completion of the part. It is assumed to
be completed as soon as x = 1 and this may take the constant time T.
3. A part enters the supply chain at stage x = 0 and leaves at stage x = 1 after a
given, fixed processing time T = 1v ; the throughput time of the processor.
In the case of a model including property three, the dynamics inside the supplier
requires a detailed modeling. Clearly, no parts are lost due to the transition from
input to output inventory. Therefore, inside the supply chain the dynamics of the
number of parts per unit length ρ (x,t) is given by the conservation law
∂t ρ (x,t) + v∂x ρ (x,t) = 0.
(2)
The mass flux is given by f = vρ and the previous equation can be solved explicitly:
ρ (1,t) = ρ (0,t − T ).
Hence, the hyperbolic partial differential equation (2) is nothing else but a time
delay in the throughput. Therefore, a model fulfilling properties (1) and (2) can be
extended to a model including processing times at the expense of a single additional
equation.
In order to derive a deterministic input and output inventory model it has to be
prescribed at which rate parts are released. We therefore might define a simple deterministic model for inventories as follows. The inventory has an influx ψ and an
PRODUCTION NETWORKS
5
output µ . Thus the inventory position p would satisfy the simple differential equation
p′ (t) = ψ − µ .
This constitutes the balance of mass. However, the inventory position cannot become negative. Thus, in addition to the simple ODE, we also have to satisfy the
constraint
p(t) ≥ 0.
Therefore, we have in fact an obstacle problem. We use a relaxation model for the
obstacle problem, replacing the differential equation by
p(t)
dp
= max{ψ (t) − µ , −
},
dt
ε
(3)
where ε denotes a small relaxation parameter. Equation (3) has the following features:
• As long as the inventory is growing (ψ − µ > 0) the inventory in the model (3)
grows according to ddtp = ψ − µ .
• If the inventory position is decreasing (ψ − µ < 0), the inventory in (3) decays
until p = ε (µ − ψ ) holds, i.e. until the inventory is almost empty. From this point
on equation (7) becomes ddtp = − εp , and the inventory position decays exponentially to zero on an O( ε1 ) time scale, until the net flux ψ − µ becomes positive
again, and we switch to the previous regime.
Thus, the inventory position p(t) in (3) will remain always positive, and represent an
O(ε ) approximation of the (deterministic) evolution of an actual inventory. Equation
(3) represents an approximate relaxation model where the actual depletion of the
inventory in finite time is replaced by an exponential decay to zero. As discussed
above the model can be easily extended to inventories with processing times. This
amounts in replacing equation (3) by
dp
p(t)
= max{ψ (t − T ) − µ , −
},
dt
ε
or equivalently by
p(t)
1
1
dp
1
} ∂t ρ + ∂x ρ = 0, ρ (0,t) = ψ (t).
= max{ ρ (1,t) − µ , −
dt
T
ε
T
T
In order to describe a realistic supply chain, we need to consider connected input
and output inventories. This can be done as follows. We now consider a network
of processors. So, we have J processors connected by K nodes. We need two inventories to describe the evolution of a single node, namely an input and an output
inventory. The input inventory pk of node number k = 1 : K receives an influx ψk ,
and has an outflux, given by the processing rate µk . Thus we have in a model respecting (1) and (2)
6
Simone Göttlich, Michael Herty, and Christian Ringhofer
d pk
pk
= max{ψk − µk , − } = ψk − φk ,
dt
ε
φk = min{µk ,
pk
+ ψk } .
ε
(4)
The term φk denotes the flux from the inventory into the processor. Obviously φk ≤
µk holds, since the processor cannot accept items at a rate larger than µk . Assuming
the processing time Tk := τk , the influx into the output inventory is given by φk (t −
τk ), i.e. the time delayed outflux of the input inventory. The evolution of the output
inventory position qk is then given in the same way by
qk
dqk
= max{φk (t − τk ) − ωk , − } = φk (t − τk ) − fk ,
dt
ε
(5)
qk
+ φk (t − τk )} ,
ε
with ωk the rate of orders received by processor k, and fk the total outflux of node
number k. Again, fk cannot exceed ωk , and node number k cannot deliver at a faster
rate than orders are received. The inventory model used here essentially corresponds
to replacing the inventory by a processor with a very short cycle time ε , and then
using a version of the model for a production unit developed in [1] and [30, 29].
Similar simple inventory models have been used in [1] and [4] in a different context.
Given the evolution of the input and output inventories, defined previously, we have
to define the interaction of the different nodes in the supply chain network. This
means, we have to define the influx ψk of node number k in (4) in terms of the
outfluxes fk of the other nodes, given by (5), and we have to decide on a rule for
the order rates ωk in (5). One of the key mechanisms, governing the dynamics of
the system is obviously the policy of placing orders. In general, we will denote
with Ω jk the rate at which node number j places orders to node number k, and
the total rate of orders received by node number k in (5) is given by ωk = ∑ j Ω jk .
Concerning the rules governing the node policies we also refer to recent literature
on the theory of traffic flow and internet traffic. Therein, similar problems appears
and a suitable definition of the distribution of parts or vehicles among in- and output
inventories has to be modeled. Obviously, a wide variety of choices exist. We refer
to [13, 15, 16, 17, 19, 23, 27, 28, 37] for more details. Here, we consider a simple
distribution policy. The need for this policy arises in the case that not all orders
can be filled. We define by Fjk the flux from node k into node j. Consequently,
fk = ∑ j Fjk is the total outflux of node number k. Because of (5) we already have
that fk ≤ ωk holds. The need for a distribution policy arises when fk is actually
strictly less than ωk , i.e. node number k cannot satisfy all its orders and has to
make a decision how to distribute its limited resources. We write the flux from node
number k to node number j as Fjk = A jk fk , where the matrix A = {A jk } is a Markov
matrix, i.e. a matrix with non - negative entries whose column sums equal unity.
For an admissible distribution policy, the matrix A should satisfy the following two
criteria:
fk = min{ωk ,
• Fjk = A jk fk ≤ Ω jk , i.e. node k cannot deliver more to node j than node j is
ordering from node k.
PRODUCTION NETWORKS
7
• If fk = ωk holds in (5), then Fjk = Ω jk should hold, i.e. if node number k can
satisfy all its orders, then it will do so.
This assumption is also found in the traffic and internet traffic flow literature, see e.g.
[19, 37, 39]. It is also well–known that, in addition, we have to define an external
supplier of raw materials and a final customer. For simplicity, we assume a single
raw material supplier, defined as node number k = 0, and a single customer, defined
as node number k = K + 1. So Ω j0 denote the rates at which raw materials are
ordered, ΩK+1,k denote the rates at which the final customer orders, and FK+1,k are
the rates at which product is delivered to the customer.
There are many different ways to define a distribution policy, i.e. a matrix A,
satisfying the two criteria above. Here, we will restrict ourselves to the simplest
one, namely a proportional policy, setting
A jk =
Ω jk
, j = 1 : K + 1, k = 1 : K,
ωk
ωk =
K+1
∑ Ω jk , k = 1 : K .
(6)
j=1
The distribution policy (6) satisfies the admissibility criteria since, by definition,
Ω f
Fjk = ωjk k holds. Thus the inequality is always satisfied because of fk ≤ ωk , and
k
equality holds in the case fk = ωk . The distribution policy (6) means that, if not
all orders can be satisfied, node number k distributes the product proportionally
according to the orders received.
In summary, the dynamics of the flow of the network is given by equations (4)
and (5) for all processor nodes k = 1 : K, where the influx functions ψk in (4) are
determined by the outflux rates fk in (5) through the connectivity matrix A = {A jk }.
So
ψj =
K
∑ A jk fk + Ω j0,
j=1:K
(7)
k=1
holds. Ω j0 denote the external inputs into the system, from the raw material supplier
which, assuming an unlimited supply, equal the orders placed to the raw material
supplier. After choosing an order matrix Z = {Ω jk , j = 1 : K + 1, k = 0 : K} the
dynamics of the system are therefore completely defined. However, the system (4)(7) represents an open system, i.e. mass is not conserved, due to the external influx
and outflux at the supplier and the customer node. For analytical purposes, it will be
convenient to replace the open system by a closed system by introducing an artificial
’recycling step’. That is we artificially identify the raw material supplier with the
customer, and feed the delivered product back into the system as raw material. So,
Ω j0 still denote the order rates from the raw material supplier and Ω0k = ΩK+1,k
denote now the rates at which the customer orders. With this change in notation, (6)
and (7) become
(a) A jk =
Ω jk
, j = 0 : K, k = 0 : K,
ωk
ωk =
K
∑ Ω jk , k = 0 : K ,
j=0
(8)
8
Simone Göttlich, Michael Herty, and Christian Ringhofer
(b) ψ j =
K
∑ A jk fk ,
j=0:K .
k=0
ψ0 , the influx into the raw material supplier / customer is now the rate at which final product is delivered. The advantage of this notational trick is, that it allows for a
uniform treatment of all the nodes and yields a mass conserving system. In order not
to change the dynamics of the system we have to design node number k = 0 in such
a way, that there is a limitless supply. This is easily done by giving the raw material
supplier / customer formally an infinite production capacity and a zero processing
time, and by making its output inventory large enough at the beginning such, that it
never runs dry, i.e. we set formally µ0 = ∞, τ0 = 0 in (4) and make q0 (0) sufficiently
large. This has the effect that all the product delivered to the final customer immediately goes to the output inventory, and the system is fed from this (sufficiently large)
output inventory q0 , i.e. we have φ0 = ψ0 , f0 = ω0 in (4). Alternatively, we could
simply change the definition of the fluxes in (4) and (5) for the node k = 0 to
φ0 = ψ0 ,
f 0 = ω0 ,
allowing the output inventory q0 to become negative. The system is now closed
and the total product is conserved, since the columns of the square matrix A =
{A jk , j, k = 0 : K} all add up to unity. If we define the contents of the processor
k
number k at time t by rk (t) its evolution is given according to (4)-(5) by dr
dt =
φk (t) − φk (t − τk ), and the evolution of the total mass in the system is given by
d
dt
K
K
k=0
k=0
∑ (pk + qk + rk ) = ∑ ψk − fk = 0 .
We note that this modification of the system is done only for technical convenience,
and that, if the initial supply inventory q0 (0) is chosen large enough, the dynamics
of the network remain unchanged.
Concerning a detailed analysis of the system we refer to [31]. An existence result
for the model including the processing time is given in [36]. These results ensure
well–posedness of the model in case of L1 –initial data.
In the inventory model given a set of capacities, production costs and a certain
topography, we can derive the following conclusions [31]: A steady state of the
system is characterized, via Kirchhoff’s law, by the fact that the influx into each node
equals the outflux. More precisely, for pk , rk , qk in (4)-(5) to be time independent, the
condition ψk = φk = fk has to hold for time independent functions φk . The condition
ψk = fk implies, that the fluxes fk are eigenvectors of the connectivity matrix A,
satisfying
Af = f .
Because we have formulated the system as a closed system, the connectivity matrix
A is a Markov matrix, i.e. a matrix with nonnegative entries whose column sums
equal unity. In the following, we employ some standard properties of Markov matrices. We start with the following
PRODUCTION NETWORKS
9
Lemma 1. The matrix A = {A jk , j, k = 0 : K} is primitive, that is, there exists an
index n such that all the values of An are strictly positive.
Lemma 1 essentially excludes only trivial cases. It basically states that a part
starting out in node number k at time t = 0 has a nonzero probability to appear in all
the other nodes after a sufficiently long time, i.e. after iterating the matrix A sufficiently often. Given the recycling trick employed, this will be the case, since the part
will eventually end up at the final customer and re - enter the system as raw material.
The only possibility that Assumption 1 is violated arises for the (pathological) case
of closed loops, i.e. the existence of a self contained sub - graph which is not connected to the rest of the network and the raw material supplier. As a consequence,
we have
Lemma 2. The matrix A, defined in (8) has an eigenvalue λmax equal to unity. All
other eigenvalues are strictly less than 1. The eigenspace to the eigenvalue λmax = 1
is one dimensional. The unique normalized eigenvector z to the eigenvalue λmax = 1
has only nonnegative elements.
Lemma 3. Given a primitive distribution matrix A and, correspondingly, a unique
normalized eigenvector z with Az = z, all possible steady states of the system are
given by choosing a constant γ ≤ min{ µz k , k = 0 : K} and a vector α = (α0 , .., αK )
k
with 0 < αk ≤ 1, k = 0 : K, and setting
fk = γ zk ,
ωk =
γ zk
,
αk
Ω jk = A jk ωk .
All orders are satisfied in steady state if α = (1, .., 1) is chosen, and the system runs
at its optimal capacity if γ = min{ µz k , k = 0 : K} holds.
k
Lemma 3 describes how to choose the optimal orders received, the quantities ωk
given a distribution policy matrix A. In this sub-optimal solution, the nodes with
index k, for which fk = γ zk < µk holds, will run below capacity. To construct an optimal solution, where all nodes run at their capacity, would involve the construction
of a matrix A such that the eigenvector z is parallel to the capacity vector µ . In this
case, setting α = (1, .., 1), we would obtain fk = µk = ωk , k = 0 : K. So, all nodes
would run at their capacity and all orders would be satisfied. Given, that the network will in general not allow a supplier to order from any other supplier, because
not all suppliers are equal, and there is some hierarchical structure in the production
process, finding the optimal matrix A will be impossible in general.
10
Simone Göttlich, Michael Herty, and Christian Ringhofer
3 A mixed integer programming approach
An important question in the context of production networks are optimal order and
distribution strategies. Depending on the model, many aspects will be of interest:
inventory and production costs, distribution of goods and supply and demand. Here,
we introduce a special cost functional and choose the distribution matrix A and the
order matrix Z dynamically to optimize the functional. The solution to this problem
can of course only be given numerically. We start, by discretizing the dynamical
system defined in Section 2. On the discrete time level, the dynamics will actually
appear as a large set of nonlinear constraints for a given cost functional. There are
essentially two ways to treat the the resulting constrained optimization problem:
Either the constraints are formulated on a continuous level using an adjoint calculus
to compute a restricted gradient direction as in [38, 41], or a nonlinear programming
approach is used, introducing additional binary variables. The latter leads to a mixed
integer program MIP [26].
3.1 Numerical discretization
We start with a proper discretization of the differential equations (4) and (5) for
the inventories pk and qk . We discretize on a uniform mesh in time setting pnk =
pk (n∆ t), n = 0 : N with T = N ∆ t the final time of the simulation. As is almost
always the case in relaxation models, we have introduced an artificial O( ε1 ) time
scale in the system, and thus artificially created a stiff system. In order not to impose
too severe a restriction on the time step ∆ t we discretize equation (4) implicitly,
giving
pnk
n−1
∆
t
max{
ψ
µ
}, n = 1 : N ,
(9)
−
pnk = pn−1
+
,
−
k
k
k
ε
with ψkn−1 the influx at the previous time step. Equation (9) can be inverted explicitly
for pnk , by using the following
Lemma 4. The function u(x) = min{ax + b, cx + d} is invertible for a > 0, c > 0.
y−d
This inverse is given by u−1 (y) = max{ y−b
a , c }.
Reordering equation (9), we have
min{pnk − ∆ t(ψkn−1 − µk ), (1 +
∆t n
)p } = pn−1
k
ε k
and therefore, setting a = 1, b = −∆ t(ψkn−1 − µk ), c = 1 + ∆εt , d = 0 in Lemma 4,
we obtain
n−1
− µk ),
pnk = max{pn−1
k + ∆ t(ψk
pn−1
k
1+
∆t
ε
n−1
− µk , −
} = pn−1
k + ∆ t max{ψk
1
pn−1 }
ε + ∆t k
PRODUCTION NETWORKS
which we write as
11
pnk = pn−1
+ ∆ t(ψkn−1 − φkn−1 )
k
with
1
pn−1 }
(10)
ε + ∆t k
Therefore the implicit discretization of equation (4) can be written in explicit form
as
+ ∆ t(ψkn−1 − φkn−1 )
pnk = pn−1
k
φkn−1 = min{µk , ψkn−1 +
with the numerical outflux φkn−1 given by (10). Note, that this eliminates any restriction on the time step, since the flux function φkn−1 , as defined in (10), is well
defined in the limit ε → 0. We employ the same implicit discretization strategy for
the evolution of the output inventory qk in (5). To avoid any additional interpolation procedure, we assume that all the processing times τk , k = 0 : K are integer
multiples of the time step ∆ t. So ∆τkt ∈ N holds. Thus, we obtain, setting
n−τk /∆ t
ψkn → φk
µk → ωkn−1 ,
,
n−τk /∆ t
(a) qnk = qn−1
+ ∆ t(φk
k
− fkn−1 ),
(11)
1
qn−1 }
ε + ∆t k
Any optimization problem, involving the discretization of the dynamical system, as
formulated above, will still be nonlinear, because of the nonlinear (or, more precisely, piecewise linear) definition of the flux functions in (10) and (11). The goal
of this section is to formulate an optimization problem for the dynamics defined in
Section 2 in a framework close to a linear programming problem, i.e. as a mixed
integer programming problem. A mixed integer program is a linear program which
includes binary switches, i.e. variables taking only values in {0, 1}. The advantage
of linear and mixed integer programming approaches is, that they are capable of
dealing with an enormous amount of free variables. The basic tool to convert an
optimization problem involving the piecewise linear flux functions (10) - (11) into
a MIP is given by the following Lemma (see [26]):
n−τk /∆ t
(b) fkn−1 = min{ωkn−1, φk
+
Lemma 5. Let ξ ∈ {0, 1} be a binary variable. Let M > |a − b| be a sufficiently
large constant. Then, for a given constant M, the solution of the inequalities
a − M ξ ≤ φ ≤ a,
is given by
b − M(1 − ξ ) ≤ φ ≤ b
(12)
φ = min{a, b} .
Using Lemma 5, we replace the definition (10)-(11) of the fluxes φkn , fkn by the constraints
12
Simone Göttlich, Michael Herty, and Christian Ringhofer
(a) µk − M ξkn ≤ φkn ≤ µk ,
(b) ψkn +
pnk
ε + ∆t
− M(1 − ξkn) ≤ φkn ≤ ψkn +
(13)
pnk
ε + ∆t
(c) ωkn − M ηkn ≤ fkn ≤ ωkn ,
n−τk /∆ t
(d) φk
+
qnk
qnk
n−τ /∆ t
− M(1 − ηkn) ≤ fkn ≤ φk k +
ε + ∆t
ε + ∆t
with the binary variables ξkn , ηkn ∈ {0, 1}, k = 0 : K, n = 0 : N, and a constant M,
chosen a priori sufficiently large.
The MIP approach allows us to optimize the order strategies, given by the matrix
Z, as well as the distribution strategies, given by the matrix A dynamically at the
same time. In order to encode the topology of the network, we define the elements
of the order matrix Z as Ω njk = θ jk Ω̃ njk , where the matrix Θ = {θ jk , j, k = 0 : K}
denotes the adjacency matrix of the graph defining the network topology, i.e. θ jk = 1
if node number j can order from node number k, and θ jk = 0 otherwise. Similarly,
we define Fjkn = θ jk F̃jkn for the fluxes. In the context of the MIP approach, the orders
and fluxes Ω̃ njk , F̃jkn at each time step are treated as free variables to be optimized. In
order to guarantee conservation of product, we have to add the constraint
fkn =
K
∑ θ jk F̃jkn ,
j=0
ψkn =
K
∑ θk j F̃knj ,
k = 0 : K, n = 0 : N ,
(14)
j=0
and in order to guarantee that fluxes cannot exceed orders, we enforce the constraints
0 ≤ F̃jkn ≤ Ω̃ njk ,
k = 0 : K, n = 0 : N .
(15)
Of course, only the orders and fluxes for adjacent nodes, i.e. for nodes j and k for
which θ jk = 1 holds, have to be used in the actual program. The solution of the
MIP implicitly defines an, adaptive and time dependent, distribution policy matrix
A, given by
θ jk F̃jkn
,
Anjk =
fkn
and the amount of orders received by node number k, which is used in the constraint
(13)(b), is given by
ωkn = ∑ θk j Ω̃knj .
(16)
j
So, altogether, the external variables, which have to be supplied to the MIP, are
•
•
•
•
•
µk the processor capacities.
θ jk the adjacency matrix of the graph.
Ω̃Kn j the time dependent orders of the final customer.
p0k , q0k , the initial inventory positions.
φkn , n = −τk /∆ t : 0, the past influx of the processors, defining the processor
contents at time t = 0.
PRODUCTION NETWORKS
13
The free variables, to be optimized consist of
• Ω̃ njk , j = 1 : K − 1, k = 1 : K: the internal orders
• F̃jkn , fkn , ψkn , φkn , ωkn : the partial and total fluxes and total orders received for each
node, given in terms of the Ω̃knj by the constraints (13)-(16)
• ξkn , ηkn : the auxiliary binary variables, used in the MIP formulation.
There are various possible goals to be followed when defining the cost functional to
be optimized. A general cost functional might be of the form
K
N
∑ ∑ J (pnk , qnk ),
(17)
k=1 n=1
where J is a function depending on the queue-loads pnk and qnk . For example, think
of the minimization of storing costs or the maximization of fluxes. Combining all
discretization we observe that the optimization problem is in a fact mixed–integer
programming problem and given by
max or min (17) subject to (9) − (16).
(18)
Remark 1. The optimization problem (18) can be extended introducing an additional
equation for the flow of capital. We assume that each node in the network charges a
production cost βk , k = 0 : K per item delivered, and has a specific price bk per unit
delivered. The evolution of the amount of capital κkn of node number k is therefore
given by the discretized equation
K
κkn = κkn−1 + ∆ t(βk fkn−1 − ∑ Ak j β j f jn−1 − bk φkn−1 ),
n=1:N .
(19)
j=0
In order to study the actual profitability of a given policy, it is necessary to adapt
the objective. The simplest choice is then to optimize the capitalization of all the
interior nodes at the final time:
K
J =
∑ κkN .
(20)
k=1
In order to further incorporate bankruptcies, we make the possible orders dependent
of the capitalization rates of the individual nodes, and force each node to cease
ordering as soon as its capital falls below a certain threshold κ k . In the context
of the MIP approach, we implement this by introducing another binary variable
νkn ∈ {0, 1} and by defining the total rate at which node k orders as
σkn =
K
∑ θk j Ω̃knj .
j=0
(21)
14
Simone Göttlich, Michael Herty, and Christian Ringhofer
To force the node into bankruptcy as soon as its capital falls below the threshold, we
add the constraints
σkn ≤ M νkn ,
M(νkn − 1) ≤ κkn − κ k ≤ M νkn ,
(22)
where M again denotes a sufficiently large a priori constant. Again, as in the Lemma
5, there are two ways to satisfy the constraint (22). For νkn = 1 we have 0 ≤ κkn − κ k
and essentially no constraint for σkn (provided that M is sufficiently large). For νkn =
0, the bankruptcy case, we have κkn − κ k ≤ 0 and σkn = 0. Adding the variables
κkn and σkn to the the system together with the constraints (19)-(22), allows now
for the optimization of the cost functional (20) together with the possibilities of
bankruptcies.
The optimization problem
max (20) subject to (9) − (16), (19), (21), (22).
(23)
gives rise to a case study where three different order and distribution rates are compared:
I
As ’benchmark’ scenario we denote the problem as stated in equation (23). The
solution to this problem should give the maximal possible profit since there are
no additional constraints on the distribution and order rates.
II We require the order policies to be time–independent. This amounts to add the
constraints
n
Ω n+1
jk = Ω jk .
(24)
This choice is reasonable if the suppliers do not want to change there policy dynamically. Clearly, this additional constraint restricts the set of possible solutions
and we expect a lower profit. The optimization problem hence reads
max (20) subject to (9) − (16), (19), (21), (22) and (24)
(25)
and this scenario will be called ’time–independent orders’ in the numerical results.
III We impose the following rule: Whenever the supplier Sk is not bankrupt, the
supplier has to order up to his capacity µk :
∑ Ω njk ≤ νkn µk .
(26)
j
where νkn is the binary variable introduced in equation (22). This rule is motivated
by the fact that the complete production line should have the highest possible
utilization. Therefore, whenever a supplier has a positive cash flow, he should
order as much goods as possible from his peers. The optimization problem hence
reads
max (20) subject to (9) − (16), (19), (21), (22) and (26)
(27)
PRODUCTION NETWORKS
15
and this scenario will be called ’order–up to capacity’ for short.
3.2 Computational experiments
All optimization problem are solved using the mixed–integer programming framework. The latter is solved using the commercial software ILOG CPLEX V11.0 [40]
with default parameters. We study the behavior of the optimal controls Ω jk and
A jk on two different networks and the three different cases I − III and study the
complexity of the mixed–integer problem. If not stated otherwise we use default parameters when running the commercial solver with a maximum computation time
of 24h. All computations are done on a AMD 2 Ghz personal computer.
In the models we set τk ≡ ∆ t ≡ ε ≡ 1 for all examples. The network we are interested in consists of seven suppliers and six vertices, see Figure 1.
A51
S1
S5
rrrrr
rrrrr
rrrrr
rrr
rrrrr
r
rrrrr
rrr
rrrrr
rr
rrrrr
rr
rrrrr
rr
rrrrr
rrrrr
rrr
rrrrr
rrrrr
rrr
rrrrr rr
rrr
rrrrr rr
rrrrr rr
rrr
r
rrrrrrrrrrrrrrr
rrrrrrr
r
r
r
rr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
r
r
rr
rrrrr
rrrrrr
rrrrrrrrrrrrrrrr
rr
r
rrrrr
rr
rrrrrrrrr
rrrrr
r
r
r
r
r
rrrrr
rr rr
rr
rrrrr
rrrrr
rr
rrrrr
rrrrr
rrrrr
rrrrr
rrr
rrrrr
rrrrr
rrrrr
rrrrr
rrr
rrrrr
rrrrr
r
r
r
r
r
r
rrrrr
rr r rr
rrrr
rrrrr
rrrrr
rrrrr rr rrrrrrrrrrrrr
rrrrr
rrrrr rr rr
rrrrr
rrrrr rr
rrrrr
r
rrrr
rrrrrrrrrrrrrrr
S0
rrrrrrrrrrrrrrr
rr r
rrrrr rrr
rrrr rrr
rrrrr
rrrrr
r
r
r
r
rrrrr
r
r
r
r
rrr
rrrrr
rrrrr
rrrrr
rrrrr
rrrrr
rrrrr
r
r
r
rrrr
A10
S3
S2
S6
rrrrrrr
r
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
r
rrrrrr
S4
Fig. 1 Sample network of six suppliers and a customer
Each supplier (except for customer k = 6 and raw material supplier k = 0) has specific prices, production capacities and production costs as given in Table 1.
Processor k
1
2
3
4
5
bk
1
2
1
1
1
µk
2
1
1
1
1
βk
0
1
1
10
10
Table 1 Specification of suppliers Sk present in the diamond network.
For each scenario we consider a constant inflow ψ0n = 2 and a threshold for going
bankrupt of κ k = −5. The total simulation time is T = 40. Note that, for the data
given the processing chain ’raw material supplier → supplier 1 → supplier 5 →
customer’ is the preferred one. However, the inflow of two parts per time cannot be
16
Simone Göttlich, Michael Herty, and Christian Ringhofer
passed through supplier 5 and there is the possibility to either store the goods in the
input inventory of 5 or redistribute along suppliers 3 and 4.
We give computational results for the scenarios I-III by solving (23), (25) and
(27), respectively. In Table 2 we report on the size of the optimization problem
(non–zero variables), the computational time used by CPLEX (CPU time), the optimal profit ∑k κk (T ) and the amount of delivered parts over time at customer, i.e.,
RT
0 f 6 (t)dt.
Benchmark (I) Time–independent orders (II) Order up to capacity (III)
# nonzero vars
CPU–times [sec]
Bankruptcy percentage
Optimal profit
Delivered parts
1497
3480
24 %
260,4
3,6
1907
406
1%
16,72
1,54
1600
140
14.5 %
31,00
4,00
Table 2 Comparison of computation results for the diamond network.
On a simple factory of six suppliers rule (I) yields the highest profit, but rule (III)
yields the most delivered parts since the policy requires to order as many parts as
possible. The highest profit is only obtained at the expense of the bankruptcy of
some internal suppliers for a very long time. The optimal choice in the benchmark
case is to accept the bankruptcy of most of suppliers in order to maximize the total
profit. In the case of the time–dependent policy most of the suppliers to do not go
bankrupt, however, there is nearly no part delivered and the overall profit is the least
of all cases.
4 Conclusion
The presented production network is suitable for a wide range of applications including order and distribution policies and money flow as well. The model is an essential extension to recently proposed continuous production network models. The
distribution and order rates are determined by an optimization problem for maximizing the money flow where the discretized maximization problem is solved by
mixed–integer programming techniques. We added a case study for a sample network where we studied a priori determined order and distribution strategies, namely,
each supplier can decide at every time on his own how to order and deliver (I), each
supplier has to fix an order and delivery rule for the full production process (II) or
each supplier has to order up to his capacity as long as he is not bankrupt (III). As
indicated by the case study, the presented model might be used to compare different
a priori given rules (e.g., I to III) or to detect costly suppliers.
PRODUCTION NETWORKS
17
References
1. D. A RMBRUSTER , C. DE B EER , M. F REITAG , T. JAGALSKI , AND C. R INGHOFER , Autonomous control of production networks using a pheromone approach, PHYSICA A, 363
(2006), pp. 104–114.
2. D. A RMBRUSTER , P. D EGOND , AND C. R INGHOFER , A model for the dynamics of large
queuing networks and supply chains., SIAM J. Appl. Math., 66 (2006), pp. 896–920.
, Kinetic and fluid models for supply chains supporting policy attributes, Bull. Inst.
3.
Math. Acad. Sin. (N.S.), 2 (2007), pp. 433–460.
4. D. A RMBRUSTER , D. M ARTHALER , AND C. R INGHOFER , Kinetic and fluid model hierarchies for supply chains., Multiscale Model. Simul., 2 (2004), pp. 43–61.
5. D. A RMBRUSTER , D. M ARTHALER , C. R INGHOFER , K. K EMPF, AND T.-C. J O , A continuum model for a re-entrant factory, Operations Research, 54 (2006), pp. 933–950.
6. D. A RMBRUSTER AND C. R INGHOFER , Thermalized kinetic and fluid models for reentrant
supply chains., Multiscale Model. Simul., 3 (2005), pp. 782–800.
7. P. BAK , K. C HEN , J. S CHEINKMAN , AND M. W OODFORD , Aggregate fluctuations from
independent sectoral shocks: Self- organized criticality in a model of production and inventory
dynamics, Ricerche Economiche, 3 (1993), pp. 3–30.
8. M. K. BANDA , M. H ERTY, AND A. K LAR , Coupling conditions for gas networks governed
by the isothermal Euler equations, Netw. Heterog. Media, 1 (2006), pp. 295–314.
9. M. K. BANDA , M. H ERTY, AND A. K LAR , Gas flow in pipeline networks, Networks and
Heterogenous Media, 1 (2006).
10. J. BANKS AND J. S. C ARSON , Discrete-event system simulation., Prentice-Hall International
Series in Industrial and Systems Engineering. Englewood Cliffs, New Jersey: Prentice-Hall,
Inc. XIV, 514 p. $ 33.70 , 1984.
11. S. BATTISTON , D. D ELLI G ATTI , M. G ALLEGATI , B. G REENWALD , AND J. S TIGLITZ,
Credit chains and bankruptcy propagation in production networks, Journal of Economic Dynamics and Control, 31 (2007), pp. 2061–2084.
12. W.-J. BAUMOL, Economic Dynamics, Macmilan, New York, 1970.
13. S. B LANDIN , G. B RETTI , A. C UTOLO , AND B. P ICCOLI , Numerical simulations of traffic
data via fluid dynamic approach, Appl. Math. Comput., 210 (2009), pp. 441–454.
14. G. B OLCH , S. G REINER , H. DE M EER , AND K. S. T RIVEDI , Queueing networks and Markov
chains. Modeling and performance evaluation with computer science applications. 2nd ed.,
Hoboken, NJ: John Wiley &amp; Sons. xvi, 878 p. EUR 104.20; 73.95 , 2006.
15. G. B RETTI , C. D’A PICE , R. M ANZO , AND B. P ICCOLI , A continuum-discrete model for
supply chains dynamics, Networks and Heterogeneous Media, (2007).
16. G. B RETTI , R. NATALINI , AND B. P ICCOLI , Fast algorithms for the approximation of a
traffic flow model on networks., Discrete Contin. Dyn. Syst., Ser. B, 6 (2006), pp. 427–448.
17. G. B RETTI , R. NATALINI , AND B. P ICCOLI , Numerical approximations of a traffic flow
model on networks., Netw. Heterog. Media, 1 (2006), pp. 57–84.
18. G. C ALDARELLI , S. BATTISTON , D. G ARLASCHELLI , AND M. C ATANZARO , Emergence of
complexity in financial networks, Lecture Notes in Physics, ”Complex Networks”, editors: Eli
Ben-Naim, Hans Frauenfelder, Zoltan Toroczkai, Springer-Verlag, 650 (2004), pp. 399–423.
19. G. M. C OCLITE , M. G ARAVELLO , AND B. P ICCOLI , Traffic flow on a road network, SIAM
J. Math. Anal., 36 (2005), pp. 1862–1886.
20. R. M. C OLOMBO , G. G UERRA , M. H ERTY, AND V. S CHLEPER , Optimal control in networks
of pipes and canals, SIAM J. Control Optim., 48 (2009), pp. 2032–2050.
21. C. F. DAGANZO , A theory of supply chains., Lecture Notes in Economics and Mathematical
Systems. 526. Berlin: Springer. viii, 123 p, 2003.
22. C. D’A PICE AND R. M ANZO , A fluid dynamic model for supply chains, Networks and Heterogenous Media, 1 (2006), pp. 379–389.
23. C. D’A PICE , R. M ANZO , AND B. P ICCOLI , Packet flow on telecommunication networks.,
SIAM J. Math. Anal., 38 (2006), pp. 717–740.
18
Simone Göttlich, Michael Herty, and Christian Ringhofer
24. P. D EGOND , S. G ÖTTLICH , M. H ERTY, AND A. K LAR , A network model for supply chains
with multiple policies, Multiscale Model. Simul., 6 (2007), pp. 820–837.
25. P. D EGOND AND C. R INGHOFER , Stochastic dynamics of long supply chains with random
breakdowns, SIAM J. Appl. Math., 68 (2007), pp. 59–79 (electronic).
26. A. F ÜGENSCHUH , S. G ÖTTLICH , M. H ERTY, A. K LAR , AND A. M ARTIN , A discrete optimization approach to large scale supply networks based on partial differential equations,
SIAM J. Sci. Comput., 30 (2008), pp. 1490–1507.
27. M. G ARAVELLO AND B. P ICCOLI , Traffic flow on a road network using the aw-rascle model,
Comm. Partial Differential Equations, 31 (2006), pp. 243–275.
28. M. G ARAVELLO AND B. P ICCOLI , Traffic flow on networks, vol. 1 of AIMS Series on Applied
Mathematics, American Institute of Mathematical Sciences (AIMS), Springfield, MO, 2006.
Conservation laws models.
29. S. G ÖTTLICH , M. H ERTY, AND A. K LAR , Network models for supply chains, Communication in Mathematical Sciences, 3 (2005), pp. 545–559.
, Modelling and optimization of supply chains on complex networks, Communication
30.
in Mathematical Sciences, 4 (2006), pp. 315–350.
31. S. G ÖTTLICH , M. H ERTY, AND C. R INGHOFER , Optimization of order policies in supply
networks, European J. Oper. Res., 202 (2010), pp. 456–465.
32. M. G UGAT, G. L EUGERING , K. S CHITTKOWSKI , AND E. J. P. G. S CHMIDT, Modelling,
stabilization, and control of flow in networks of open channels, in Online optimization of
large scale systems, Springer, Berlin, 2001, pp. 251–270.
33. D. H ELBING , Verkehrsdynamik, Springer-Verlag, Berlin, Heidelberg, New York, 1997.
34. M. H ERTY, C. K IRCHNER , AND S. M OUTARI , Multi-class traffic models for road networks,
Communications in Mathematical Sciences, 4 (2006).
35. M. H ERTY AND A. K LAR , Simplified dynamics and optimization of large scale traffic networks, Math. Models Methods Appl. Sci., 14 (2004), pp. 579–601.
36. M. H ERTY, A. K LAR , AND B. P ICCOLI , Existence of solutions for supply chain models based
on partial differential equations., SIAM J. Math. Anal., 39 (2007), pp. 160–173.
37. M. H ERTY AND M. R ASCLE, Coupling conditions for a class of second order models for
traffic flow, SIAM J. MATH. ANAL, 38 (2006), pp. 592–616.
38. M. H ERTY AND C. R INGHOFER , Optimization for supply chain models with policies, Physica
A, (2007).
39. H. H OLDEN AND N. H. R ISEBRO , A mathematical model of traffic flow on a network of
unidirectional roads, SIAM J. Math. Analysis, 26 (1995), pp. 999–1017.
40. IBM ILOG CPLEX, IBM Deutschland GmbH, 71137 Ehningen, Germany, 2010. Information available at URL http://www.ibm.com/software/products/de/de/ilogcple/.
41. C. K ELLEY , Iterative methods for optimization, SIAM Frontiers in Applied Mathematics,
1999.
42. M. L A M ARCA , D. A RMBRUSTER , M. H ERTY, AND C. R INGHOFER , Control of continuum
odels of production systems, IEEE Transacations on Control, (2010).
43. C. R INGHOFER , A level set approach to modeling general service rules in supply chains,
Comm. Math. Sci., (2008).
44. A. U NVER AND C. R INGHOFER , Estimation of transport coefficients in re-entrant factory
models, submitted, (2008).