Date post: | 20-Jun-2015 |
Category: |
Documents |
Upload: | thesupplychainniche |
View: | 489 times |
Download: | 0 times |
ARTICLE IN PRESS
European Journal of Operational Research xxx (2003) xxx–xxx
www.elsevier.com/locate/dsw
Supply chain optimization in the pulp millindustry––IP models, column generation and novel
constraint branches
David Bredstr€oom a, Jan T. Lundgren b, Mikael R€oonnqvist a,*,Dick Carlsson c, Andrew Mason d
a Department of Mathematics, Link€ooping University, Link€ooping, Swedenb Department of Science and Technology, Link€ooping University, Link€ooping, Sweden
c S€oodra Cell AB, V€aaxj€oo, Swedend Department of Engineering Science, The University of Auckland, Auckland, New Zealand
Abstract
We study the supply chain problem of a large international pulp producer with five pulp mills located in Scandi-
navia. The company currently uses manual planning for most of its supply chain, which includes harvesting and
transportation of pulp, production scheduling and distribution of products to customers. We have developed two new
mixed integer models that determine daily supply chain decisions over a planning horizon of three months. One model
is based on column generation, where the generation phase is to find new production plans using a shortest path
network. The second, slightly less flexible, has the daily production decisions explicitly included in the model. In order
to solve the models within practical time limits we use a flexible approach that aggregates together the less immediate
decisions. We also introduce a novel constraint branching heuristic. The models and solution approaches are intended
to become an integrated component in the company�s new management system. In tests and comparisons with today�smanual planning, we have found new strategic policies that significantly reduce the company�s supply chain costs.
� 2003 Published by Elsevier B.V.
Keywords: Branch and bound; Integer programming; Production; Scheduling; Supply chain management
1. Introduction
This paper considers planning the supply chain for S€oodra Cell AB, the world�s leading manufacturer of
market pulp intended for paper production. A large proportion of all pulp used in European non-integrated
paper industries (writing paper, board, tissue etc.) originates from pulp mills owned by S€oodra Cell AB.
With five pulp mills in use (three in Sweden and two in Norway), S€oodra Cell produces more than two
million tonnes of pulp per year comprising around 15 different products that are distinguished by brightness
* Corresponding author.
E-mail address: [email protected] (M. R€oonnqvist).
0377-2217/$ - see front matter � 2003 Published by Elsevier B.V.
doi:10.1016/j.ejor.2003.08.001
2 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
and other properties. S€oodra Cell AB is a subsidiary of S€oodra, an economical association owned by morethan 33,000 forest owners in southern Sweden.
Both short and long-range planning of pulp production occurs throughout the year. This planning is
currently performed manually, with a focus on meeting demand for products and ensuring sufficient
supplies of raw material are maintained. The complete supply chain includes harvesting, transportation of
logs, production at the mills, storage (at mills, in forests and at harbours), distribution to terminals by ship,
storage at terminals and distribution by truck and train to customers. The planning of the supply chain is a
complex task. It is difficult to satisfy all production restrictions, and at the same time keep the total supply
chain cost low. Rapid growth in S€oodra Cell�s business makes it increasingly important to accuratelyevaluate how decisions affect total costs and to estimate the value of specific production schedules. The
manual scheduling strategies are based on solid experience incorporating knowledge of possible unplanned
occurrences such as stoppages in production and new unexpected orders. However, the components of the
supply chain are continually changing as a result of new products, new demands and the development of
new technologies. S€oodra Cell�s production planners have identified the need for a new decision support
system to improve the quality of their decision making and provide increased flexibility in their planning.
The use of supply chain models within businesses is a rapidly growing area of interest. Shapiro�s book [7]
provides a good overview of work in this area, while Drexl and Kimms [11] provide a good survey paper.The chapters by Kilger [5] and Wagner and Meyr [6] in [13] discuss supply chain models similar to ours in
that they combine product flows, production, storage and distribution within an integrated model.
The purpose of this paper is to develop optimization models and methods for supply chain planning at
S€oodra Cell, and evaluate how optimization models and methods can be used to support the planners at
S€oodra Cell. We focus on the decision making for short-range planning (three months). The models include
the distribution to domestic customers, but exclude ship scheduling to export customers, with export de-
mands being aggregated. This mimics the current manual planning where the ship scheduling and distri-
bution from terminals to international customers is carried out by S€oodra Shipping, a subsidiary of S€oodra.The case study used in the paper considers S€oodra�s three Swedish pulp mills. The two Norwegian mills have
been excluded because one focuses on a specialist product not produced in the other mills, while the second
mill does not use the Swedish harvest districts for its supply of logs. Furthermore, the distribution to
domestic customers is separated between the two countries. For comparisons, we have used the original
manual production plan covering January to April 2001.
We have developed two models. The first model uses variables representing production plans for indi-
vidual mills covering all three months. A natural solution approach which we have adopted for this model
is column generation. A production plan essentially consists of a sequence of products to produce each day.The production plan can also be considered as a sequence of �campaigns� (batches), where a campaign is the
production in consecutive days of one single product. The subproblem used to generate production plans
includes restrictions on the minimum and maximum lengths of each campaign, and takes into consideration
the change-over costs of switching between products. This subproblem can be formulated as a shortest path
problem. The column generation is integrated with a limited branch and bound search using constraint
branching to find integer solutions. We use a flexible approach where arbitrary time periods can be
aggregated to allow the models to be solved within practical time limits. In the second model we use binary
variables representing the explicit decisions of which product to produce on each day. The limitations ofthis simplified approach are that it does not consider the maximum lengths of campaigns and provides a
production plan that is less detailed than that produced by the column generation approach. Feasible
production plans have been found in reasonable time using both solution methods. All solutions generated
by the models have a lower total supply chain cost than the manually generated solutions. The solutions
also share some common strategic differences that are not found in the manual solutions.
The outline of this paper is as follows. The paper begins with a detailed problem formulation in Section
2. We then describe the mathematical models in Section 3, and proceed in Section 4 with details on the
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 3
ARTICLE IN PRESS
column generation approach. The application of the two solution methods to the case study from S€oodratogether with comparison with the manual schedules is presented in Section 5. In this section we also
discuss the relative advantages and disadvantages of the two models. The paper ends with some suggestions
for further work (Section 6) and conclusions (Section 7).
2. Problem formulation
S€oodra Cell�s complete supply chain, from harvesting of trees to delivery of pulp-products, involvesseveral important steps. A huge amount of pulp is produced, and so the savings generated by careful
planning of both production and transportation can be significant. This section begins with a detailed
description of the complete supply chain. We then focus on production plans, examining their role in the
supply chain and our modelling of these plans as sequences of campaigns.
2.1. Components of the supply chain
The supply chain begins in Sweden�s forests, typically in harvesting areas owned by the members ofS€oodra. These areas are aggregated by S€oodra into domestic supply forest districts. The supply of raw
material includes harvests of soft and hard wood from these forests, together with limited imports of raw
materials from other countries, mainly Russia and the Baltic States. It is customary for S€oodra Cell to
choose domestic logs over non-member deliveries. It is possible to store harvested timber within a forest
district before it is transported to the production mills; there are costs associated with this storage. The
byproduct from saw mills in the form of wood chips is another important raw material used in pulp
production.
The domestic logs are transported to the pulp mills by truck, while imported logs are delivered by cargoships. The production of pulp products from logs and chips at each mill takes place according to pro-
duction recipes. Both the manufactured pulp and raw materials can be stockpiled in local storage areas
close to each mill. The limited size of these areas makes it important to find good schedules that keep
storage levels as even as possible during production.
Although the majority of export customers are located in Western Europe, deliveries are also made to
North America. The wide spread of customer locations makes the planning of distribution a difficult but
important task, not only because of the associated travel distances, but also because it is difficult to meet all
the demands for different products with the limited range of production possibilities available. To distributepulp, S€oodra uses three cargo ships that they have hired on long term contracts. In addition, they occa-
sionally hire additional spot vessels for short trips, and make some deliveries by train or truck. Close to
each mill there is a harbour, either rented or owned by S€oodra. It is possible to store pulp (typically pulp
destined for export) at these harbours. As well as exports, there are domestic customers whose demands
need to be met using deliveries by truck. These customers are aggregated by S€oodra to form a smaller
number of distinct demand locations.
In this paper we consider a restricted supply chain that excludes decisions concerning distribution to
export customers. The overall picture of the supply chain is shown in Fig. 1, where the broken line indicatesthat detailed exporting decisions are outside our model.
2.2. Production plans
The production plans are created at different planning levels. First a planning period of one year is
considered, whereby coarse schedules are produced. This is done mainly using forecasts of demand for the
upcoming year. Second, a more detailed schedule for each pulp mill is developed, which shows what is
Fig. 1. The modeled supply chain of S€oodra Cell.
4 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
produced in a shorter range with an accuracy usually of single days. These schedules are together supposed
to meet determined deliveries and to have a balanced production matching the supply of raw materials.
At each pulp mill only one pulp type can be produced at a time. Production is done in campaigns, which
are sequences of days producing the same pulp type. There are many factors that affect the production,
both obvious ones such as limited storage capacities and transportation flows, and also less obvious factorsbased on experience. When developing production plans, it is important to consider production changes
between successive products and the lengths of the campaigns. Due to limitations at the pulp mills (run-
ning-in problems and other machine properties) and difficulties with providing a continuous supply of
particular assortments, campaigns can have both minimum and maximum length restrictions. Fig. 2 shows
a possible production plan for the pulp mill at M€oonster�aas.A production plan has two important cost factors: daily production costs and change-over costs between
campaigns. Both costs differ depending on what product is produced and at which pulp mill it runs. The
pulp mills are different in the sense that there are differences in machinery and the consumption of rawmaterials differs between the pulp mills. The change-over cost is estimated from previous costs of equivalent
changes and is dependent on the sequence of products involved. For example, a change from hardwood to
softwood products costs more than a change between two softwood products. The change-over costs also
vary with the change in brightness levels, with a change from high to low brightness costing less than a
change in the opposite direction. Hence, large changes in brightness imply losses that can be interpreted as
costs. A reduction in production efficiency, or the output of mixed products with lower market value, can
also occur at the beginning and end of a campaign.
There is a large literature that deals with the scheduling of (typically discrete) jobs on machines; Pottsand Kovalyov [14] offer an excellent review in this area. Our problem has elements of these problems in that
we have one or more non-identical parallel machines on which we need to batch daily production into
campaigns to reduce the total time spent on sequence-dependent setups. As an example, Meyr [8] (see also
[9,12]) formulates an integer programming formulation of single-machine problem similar to this in which
production is scheduled in �micro� periods to meet demand that occurs in �macro� periods. Meyr then solves
this problem heuristically. However, in our model, the production problem is just one element within the
larger supply chain problem.
Fig. 2. Example of a production plan for M€oonster�aas. Products from the pulp mill are shown on the vertical axis and time periods
(daily) are on the horizontal axis. The marked squares give the production choices for each time period.
Fig. 3. This figure illustrates the mechanism that defines a recipe. If the recipe includes straining, several different products are pro-
duced.
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 5
ARTICLE IN PRESS
2.3. Recipes and products
There are four main assortments (classes) of wood used in the production: pulp wood from conifer,
aspen, and birch trees and wood chips from sawmills. Aspen is treated specially in one class of its own,while the birch class includes all other hardwood. A recipe transforms, through several processes, different
shares of assortments to form one unit of pulp. The outcome when using a given recipe is a specific pulp
product. As an example of a recipe, we can take the combination 3/4 of conifer and 1/4 of wood chips with
the transformation proportion of five tonnes of raw materials to one tonne of output pulp. This produces
S€oodra 90Z (S90Z), S€oodra Cell�s whitest pulp that is used in the production of printing and writing paper.
There are eight other recipes frequently used. The number of recipes changes from time to time, but has
lately been decreasing following a drive by S€oodra Cell to decrease their number of products.
Most recipes give only one product as outcome. However, some recipes give an intermediate productthat is �strained� (separated) to produce several different products. For the sake of simplicity, straining is
modelled as one special recipe with several outcome products, even though there are recipes that produce
the same products individually, but only one at the time. The relationship between recipes and products is
given in a transformation matrix. Because of varying equipment and restrictions on the products that can
be produced at each mill, the transformation matrix is unique to each pulp mill. The relationship between
recipes and products is shown in Fig. 3.
Occasionally, there are planned stops at the pulp mills due to, for example, cleaning and upgrading of
machinery. These stops are treated as recipes with no outcome product and no consumption of assort-ments. Usually S€oodra defines a span of days when a stop can occur, and it is then up to the industrial
workers at the mill to choose suitable days within this span.
3. Model formulations
We have used two different approaches to model the supply chain of S€oodra Cell. The first model, model
A, is a column generation model where we have one variable for each production plan. The columngeneration model has some advantages when it comes to limits in campaign lengths and in changes of
recipes. The other model, model B, is based on an explicit mixed integer formulation with a branch and
bound strategy as the solution method. In an extension of the second model we use valid inequalities to
strengthen the linear relaxation and to decrease the size of the branch and bound tree. Further, a method to
aggregate time periods is developed that accelerates the solution process but still gives detailed schedules for
6 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
the more important time periods. We begin this section with a presentation of the common variables andconstraints for both models. Then the two models are presented in more detail.
3.1. Constraints and variables
Before developing the models, we present a summary of the symbols we will be using. We begin by listing
the index sets, along with the typical choice of index variable associated with each set. Let
M ¼ set of pulp mills, index j,T ¼ set of time periods, index t,A ¼ set of assortments (raw material types), index a,D ¼ set of domestic demand locations, index d,P ¼ set of products, index p,F ¼ set of forest districts including imports, index i,Qj ¼ set of production plans at pulp mill j, index q,Rj ¼ set of recipes at pulp mill j, index r.
We introduce the flow and storage variables by means of two illustrations, Figs. 4 and 5. These variables
are divided into two groups; the first contains assortment (raw material) variables, while the second fo-
cusses on products. The assortment variables, detailed in Fig. 4, are listed below.
Fig. 4. Assortment variables.
Fig. 5. Variables concerning flows of pulp products.
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 7
ARTICLE IN PRESS
xijat ¼ flow from district i to pulp mill j of assortment a during time period t,fja ¼ target flow level of assortment a to pulp mill j (discussed later),
lFiat ¼ quantity stored in district i of assortment a during time period t,lAjat ¼ quantity stored at pulp mill j of assortment a during time period t.
The following variables model the flows of pulp products shown in Fig. 5.
lPjpt ¼ quantity stored at pulp mill j of product p during time period t,lHjpt ¼ quantity stored at Swedish harbour adjacent to mill j of product p during time period t,yjdpt ¼ amount of product p transported from pulp mill j to domestic demand location d during time
period t,wjpt ¼ amount of product p transported from pulp mill j to associated harbour during time period t,vjpt ¼ total amount of product p transported from the harbour associated with pulp mill j to inter-
national customers during time period t.
The known supply of logs is based on a forecast for the 90 days planning period and is modeled as dailyharvest quantities in each area. There are transportation limits in each district and at each pulp mill that
are considered to be fixed. Each recipe at a specific mill specifies the amount of raw materials required per
day and the quantity of pulp that is produced per day. The full set of these and other parameters are as
follows:
Hiat ¼ amount of assortment a harvested in district i during time period t,DD
dpt ¼ amount of product p demanded at domestic demand location d during time period t,DE
pt ¼ amount of product p demanded for export during time period t,TMj ¼ maximum total quantity of assortments that may be transported to pulp mill j during one period,
TDi ¼ maximum total quantity of assortments that may be transported from district i during one time
period,
Rinjra ¼ amount of assortment a used in one time period when running recipe r at pulp mill j,
Routjrp ¼ amount of product p produced in one time period when running recipe r at pulp mill j.
There is a number of constraints that are common to both models; these are listed next. (Constraints
concerning production, such as flow conservation constraints of pulp and assortments close to mills,are specific to each model.) Note that there is an initial level for each storage which is given by time
index 0.
lFia;t�1 þ Hiat �Xj2M
xijat ¼ lFiat; i 2 F ; a 2 A; t 2 T ; ð1Þ
lHjp;t�1 þ wjpt � vjpt ¼ lHjpt; j 2 M ; p 2 P ; t 2 T ; ð2Þ
Xa2A
fja 610
11TMj ; j 2 M ; ð3Þ
9
10fja P
Xi2F
xijat 611
10fja; j 2 M ; a 2 A; t 2 T ; ð4Þ
Xj2M
Xa2A
xijat 6 T Di ; i 2 F ; t 2 T ; ð5Þ
8 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
Xj2M
yjdpt ¼ DDdpt; d 2 D; p 2 P ; t 2 T ; ð6Þ
Xj2M
vjpt ¼ DEpt; p 2 P ; t 2 T : ð7Þ
First there are flow conservation constraints in storage locations in forest district (1) and at domestic
harbours (2). It is not realistic for inflow to vary more than approximately 10% from a fixed level. This is
mostly dependent on factors in the transport planning. The constraints (3) set a maximum inflow level for
each mill and the constraints (4) give the feasible interval of daily inflow changes. Capacity constraints for
outflow from each forest district are given in (5) and there are constraints to meet demand from domestic
(6) as well as export (7) customers.In practice it is possible to, in certain cases, delay distribution and thereby go below the minimum
storage limits. We allow this, but at the cost of a daily fee. This is handled with punished slack variables
added to the constraints (6) and (7). This gives a more robust model, since the production and demand
volumes almost always are of about equal size. Note that any deficit in one time period increases the de-
mand in the following time period. It is also possible to relax the storage limits with an associated cost,
estimated from the risk of being under the minimum limits. These numbers are internally used by S€oodra for
measuring the impact of the deficit.
3.2. Model A
The column generation model has one binary variable for each production plan. We state here the full
model and then discuss the column generation subproblems in the next section. Let the variables be defined
as
zjq ¼ 1 if production plan q at pulp mill j is used, 0 otherwise.
A production plan specifies which recipe is to be used in each time period. The contents of possible
production plan q at mill j are specified by constants djqrt, where
djqrt ¼ 1 if recipe r is used in production plan q during time period t at pulp mill j, 0 otherwise.
Using knowledge of the exchange between assortments and products at each pulp mill, flow conservation
constraints can be constructed. The separation of djqrt from the amount of assortments and pulp products
(i.e. Rinjra and Rout
jrp ) is made to facilitate the solution methods discussed shortly. The model becomes
½PA� minz ¼Xi;j;a;t
CXij xijat þ
Xj;d;p;t
CYjdyjdpt þ
Xj;p;t
CWj wjpt þ
Xi;a;t
CFial
Fiat þ
Xj;a;t
CAjal
Ajat
þXj;p;t
CHjpl
Hjpt þ
Xj;p;t
CPjpl
Pjpt þ
Xj;p;t
CVjptvjpt þ
Xj;q
CZjqzjq
s:t:
ð1Þ–ð7Þ;
lAja;t�1 þXi2F
xijat �Xq2Qj
Xr2Rj
Rinjradjqrtzjq � lAjat ¼ 0; j 2 M ; a 2 A; t 2 T ; ð8Þ
lPjp;t�1 þXq2Qj
Xr2Rj
Routjrp djqrtzjq � wjpt �
Xd2D
yjdpt � lPjpt ¼ 0; j 2 M ; p 2 P ; t 2 T ; ð9Þ
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 9
ARTICLE IN PRESS
Xq2Qj
zjq ¼ 1; j 2 M ; ð10Þ
zjq 2 f0; 1g; j 2 M ; q 2 Qj:
In the objective function, appropriate cost coefficients have been introduced to capture the costs asso-
ciated with transportation and storage. The last sum (P
j;q CZjqzjq) gives the production plan costs com-
prising usage of recipe costs and costs for changes in production between successive recipes. The
summations are defined over the ranges for the indices specified earlier. The production plan specific
constraints are: flow conservation of assortments at pulp mills (8), flow conservation of products at pulp
mills (9), convexity constraints that require each pulp mill to use exactly one production plan (10), and
binary restrictions.The number of constraints is highly dependent on the length of the planning horizon and the length of
each time period. For example, to schedule production defining every time period to be one day for a period
of 90 days gives a model with more than 28,000 constraints and 90,000 continuous variables. In addition we
have the binary variables for each production plan.
3.3. Model B
The supply chain problem can also be formulated as a mixed integer model which can be approacheddirectly with branch and bound on the binary variables. In order to do this we introduce variables
describing the recipes used in each time period, and variables representing successive changes in recipes; see
[10] for detailed discussion of models for the latter. The production plan characteristics are defined directly
in the model using convexity constraints and minimum campaign length constraints. In this model, we
choose to exclude upper limits on campaign lengths because of the extensive increase in constraints and
binary variables this would entail. Let the variables be defined as
gjrt ¼ 1 if recipe r is run during time period t at pulp mill j, 0 otherwise.ujsrt ¼ 1 if there is a change from recipe s to recipe r at the end of time period t at pulp mill j, 0 otherwise.
and let
Ljr ¼minimum campaign length for recipe r at pulp mill j.
Then model B becomes
½PB� minz ¼Xi;j;a;t
CXij xijat þ
Xj;d;p;t
CYjdyjdpt þ
Xj;p;t
CWj wjpt þ
Xi;a;t
CFial
Fiat þ
Xj;a;t
CAjal
Ajat
þXj;p;t
CHjpl
Hjpt þ
Xj;p;t
CPjpl
Pjpt þ
Xj;p;t
CVjptvjpt þ
Xj;s;r;t
CUjsrujsrt þ
Xj;r;t
CYjrtgjrt
s:t:
ð1Þ–ð7Þ
lAja;t�1 þXi2F
xijat �Xr2Rj
Rinjragjrt � lAjat ¼ 0; j 2 M ; a 2 A; t 2 T ; ð8BÞ
lPjp;t�1 þXr2Rj
Routjrp gjrt � wjpt �
Xd2D
yjdpt � lPjpt ¼ 0; j 2 M ; p 2 P ; t 2 T ; ð9BÞ
10 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
Xr2Rj
gjrt ¼ 1; j 2 M ; t 2 T ; ð10BÞ
gjrt þ gjs;tþ1 � 16 ujrst; j 2 M ; s 2 Rj; r 2 Rj n fsg; t 2 T ; ð11BÞ
Ljr
Xs2Rjnfrg
ujsrt 6XtþLjr
s¼tþ1
gjrs; j 2 M ; r 2 Rj; t 2 T ; ð12BÞ
gjrt 2 f0; 1g; j 2 M ; r 2 Rj; t 2 T :
The differences in the constraints, compared to model A, are that the used quantity of assortment in (8B)
and the produced quantity of product in (9B) are defined using the new recipe variables representing the
production plan. The constraints (10B) specify that only one recipe per time period can be in use at eachpulp mill. The relation between recipe variables and recipe-change variables is expressed in (11B) and the
minimum campaign lengths is taken care of in (12B). The constraints (11B) and (12B) also guarantee that the
variables ujsrt are zero or one in any feasible solution; these variables can be considered binary but are
modeled as continuous variables.
To strengthen the linear relaxation and to decrease the size of the branch and bound tree valid
inequalities can be included in the model. This extended model is referred to as model Bþ. The first set of
valid inequalities, constraints (13), says that the total production up to time period t must exceed the total
demand over those periods. The second set of valid inequalities, constraints (14), says that the consumptionof assortment up to each time period can not exceed the available assortment during the corresponding
periods.
Xj2M
Xr2Rj
Xt
s¼1
Routjrp gjrs P
Xd2D
Xt
s¼1
DDdps þ
Xt
s¼1
DEps �
Xj2M
lPjp0; p 2 P ; t 2 T ; ð13Þ
Xj2M
Xr2Rj
Xt
s¼1
Rinjragjrs 6
Xd2D
Xt
s¼1
Hdas þXj2M
lAja0; a 2 A; t 2 T : ð14Þ
Compared with model A, model B is larger both with respect to the number of constraints and the
number of continuous variables. As before, the number of constraints is highly dependent on the length of
the planning horizon and its discretization.
3.4. Aggregation of time periods
Initial trials to solve ½PA� with 90 time periods, three pulp mills and ten domestic locations gave
excessively long solution times. The major time consuming part was the solution of the linear relaxation of
½PA�. What most affects the number of constraints and thereby also the solution time is the number of time
periods. Therefore, a possible way to decrease the solution time is to aggregate time periods. While
aggregation can speed up the solution procedure, important information is lost in the process. Hence, it is
important to consider how the aggregation should be made and where the accuracy is to be emphasized,
that is to consider if some periods are more important than others. We suggest a flexible way to make theaggregation, where arbitrary sets of the time periods can be aggregated.
Let Cw be a subset of T representing the time periods that are aggregated to new period w, and let ~TT be an
enumeration of the new periods. Choose Cw such that
Sw2~TT Cw ¼ T ; andCw \ C~ww ¼ ;; when w 6¼ ~ww:
�ð15Þ
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 11
ARTICLE IN PRESS
The relationship between an aggregated production plan and an original production plan can be expressed
in model A as
~ddjqrw ¼Xs2Cw
djqrs: ð16Þ
This implies that ~ddjqrw 2 f0; 1; . . . ; jCwjg. Hence, ~ddjqrw can be larger than 1. The new ~ddjqrw can be inter-
preted as the number of original time periods recipe r is running during the new time period w using
production plan q at pulp mill j. The model A remains the same, with the difference that ~ddjqrw replaces djrqtand ~TT replaces T , and all constants involved are recalculated appropriately. The only modifications nec-
essary to model B are to recalculate the parameter values to match the specific period aggregation; the
binary variables gjrt now determine the single recipe used within an aggregated time period.
The level of detail concerning the production is reduced in the aggregated periods in both models. Al-
though model B loses the flexibility to change recipe within such a period, model A retains this ability.
4. Solution methods for model A
We solve model A with a constraint branching heuristic and use column generation to solve the linear
relaxation of the model. This section begins with an introduction to the restricted master problem and the
column generation process. We then present formulations and associated solution methods for two possible
subproblem formulations, where one is a simplified version of the other. We end this section by discussingthe constraint branching heuristic and how it is applied to model A.
4.1. Restricted master problem
In the column generation approach we iteratively solve a restricted master problem and a set of sub-
problems to obtain a solution to the linear programming relaxation of the integer program. Suppose~QQj � Qj is a selection of known feasible production plans for each pulp mill j. The restricted master
problem including only production plans in ~QQj, then becomes
½RMPA� minz ¼Xi;j;a;t
CXij xijat þ
Xj;d;p;t
CYjdyjdpt þ
Xj;p;t
CWj wjpt þ
Xi;a;t
CFial
Fiat þ
Xj;a;t
CAjal
Ajat
þXj;p;t
CHjpl
Hjpt þ
Xj;p;t
CPjpl
Pjpt þ
Xj;p;t
CVjptvjpt þ
Xj2M ;q2~QQj
CZjqzjq
s:t:
ð1Þ–ð7Þ
lAja;t�1 þXi2F
xijat �Xq2~QQj
Rinjra~ddjqrtzjq � lPjat ¼ 0 jajat; j 2 M ; a 2 A; t 2 ~TT ;
lPjp;t�1 þXq2~QQj
Routjpr
~ddjqrtzjq � wjpt �Xd2D
yDjdpt � lPjpt ¼ 0 jbjpt; j 2 M ; p 2 P ; t 2 ~TT ;
Xq
zjq ¼ 1 jcj; j 2 M ;
where ajat, bjpt and cj are dual variables associated with the constraints involving the production plan
variable zjq. Let the dual optimum to ½RMPA� have dual values �aajat, �bbjpt, and �ccj. Then the next step is to
check whether the primal feasible solution is dual feasible for the linear relaxation of ½PA�, i.e. to check for
Fig. 6. Restricted master problem in co-operation with one subproblem for each mill.
12 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
all j 2 M that there exists no column in Qj such that the reduced cost to the corresponding variable zjq is lessthan zero. For an arbitrary production plan column, given a mill j, the reduced cost for variable zjq can beexpressed as
Fig
�ccjq ¼ CZjq þ
Xa2A
Xt2~TT
Xr2Rj
~ddjqrtRinjra�aajat �
Xp2P
Xt2~TT
Xr2Rj
~ddjqrtRoutjrp
�bbjpt � �ccj; ð17Þ
where q 2 Qj and j 2 M .
The subproblem is to search for the minimal reduced cost for all mills j 2 M . That is, to solve
vj ¼ argminn2Qjf�ccjng for all j 2 M : ð18Þ
The structure of (18) depends on the restrictions made to production plans. We propose a shortest path
network formulation of the problem, discussed in the next section. If �ccjvj P 0 for all j 2 M , an optimum to
½RMPA� is also an optimum to linear relaxation of ½PA�. Otherwise, there exists a j 2 M with �ccjvj < 0 and
½RMPA� must be resolved with ~QQj :¼ ~QQj [ fvjg. We continue until �ccjq P 0 for all j 2 M and for all q 2 Qj.
The procedure is illustrated in Fig. 6.
4.2. Column generation subproblem
We have formulated the subproblem for each mill as a shortest path problem. The network construction
is based on the idea that a feasible path should constitute a possible production plan, with the shortest path
giving the most profitable plan to include in ½RMPA�. Restrictions in the production, such as limits on the
length of campaigns, can be treated directly in the subproblem. To consider those restrictions a network
with arcs corresponding to all possible campaigns is constructed. The network is illustrated in Fig. 7. Note
. 7. Shortest path network, where arcs symbolize campaigns. For the sake of clarity, arcs from only one recipe are drawn.
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 13
ARTICLE IN PRESS
that we use the original (non-aggregated) definition of time periods, making it possible to take decisions ona daily basis.
There is one node for each original time period t for each recipe r corresponding to the state �just finishedrecipe r at the end of period t�. In the unaggregated model, we can define our periods so that the �end of
period t� is equivalent to �time t�, and so a node ðr; tÞ represents the system state at time t. An arc between
nodes ðr1; t1Þ and ðr2; t2Þ, r1 6¼ r2 represents changing from recipe r1 to recipe r2 at the end of time period t1and then operating recipe r2 through to the end of period t2. The bold arc in Fig. 7 represents this case
where recipe r1 follows recipe r3 and runs for k periods through to the end of period t. Let
Xjr ¼ index set of possible campaign lengths when running recipe r at pulp mill j.rj0 ¼ initial recipe running before period t ¼ 1. This can be interpreted in the network as the recipe used
during �time period 0�.
In ½RMPA� we used CZjq to represent the total production plan costs. In the subproblem we have to introduce
costs that appear when recipes are changed or when are run. Let
Cr-changejr�rr ¼ cost of changing from recipe r to recipe �rr at pulp mill j,
Crecipejr ¼ cost of running recipe r at pulp mill j for one time period.
Any possible costs concerning recipe changes in the form of lower quality and other losses in production
should be included in these figures.
Consider now the aggregation of time periods discussed in Section 3.4 to form a new time period
enumeration ~TT defined by Cw, w 2 ~TT . Although the dual variables in the master correspond to aggregated
time periods Cw, w 2 ~TT , the resource coefficients in the associated constraints have also increased, and so the
actual dual values for these constraints are effectively dis-aggregated. To see this formally, recall that Rinjra
specifies the amount of assortment a used per day by recipe r at mill j, and Routjrp defines the quantity of
product p produced per day by the same. The coefficient for the dual variable ajaw and recipe r at mill j isjCwjRin
jra, and so the number of original time periods, jCwj, is cancelled out when distributing the dual
variable on a daily basis. Therefore, the arc (reduced) cost for j 2 M , r 2 Rj, �rr 2 Rj n frg, k 2 Xjr and t 2 Tis defined as
ajr�rrkt ¼ Cr-changejr�rr þ
Xw2~TT
Crecipej�rr
�Xa2A
Rinj�rraajaw þ
Xp2P
Routj�rrp bjpw
!� jCw \ ft � k þ 1 . . . tgj: ð19Þ
Further, given r 2 Rj, �rr 2 Rj n frg, t 2 T , k 2 Xjr, k6 t let
sjr�rrkt ¼1 if recipe r is used during period t � k after which recipe �rr is used for
k periods from the end of period t � k to the end of period t;0 otherwise:
8<:
With this notation, an arbitrary node ðr; tÞ, r 2 Rj, t 2 T , has inflow
X�rr2RjnfrgXk2Xj�rr :k6 t
sj�rrrkt ð20Þ
and outflow
X�rr2RjnfrgXk2Xj�rr
X�tt:tþk¼�tt
sjr�rrk�tt: ð21Þ
The subproblem for pulp mill j 2 M can then be stated as a shortest path network:
Fig. 8
to 2 ti
14 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
½SUBj� : minXr2Rj
X�rr2Rjnfrg
Xk2Xj�rr
Xt2fk...jT jg
ajr�rrktsjr�rrkt
s:t:X
�rr2Rjnfrg
Xk2Xj�rr :k6 t
sj�rrrkt �X
�rr2Rjnfrg
Xk2Xj�rr
X�tt:tþk¼�tt
sjr�rrk�tt
¼�1 t ¼ 0; r ¼ rj01 t ¼ jT j0 otherwise
8><>: ; r 2 Rj; t 2 T [ f0g;
sjr�rrkt P 0; r 2 Rj; �rr 2 Rj n frg; t 2 T ; k 2 Xjr; k6 t:
Note that for simplicity of explanation, we have assumed that the first campaign must begin by changing
recipe; this could easily be changed if required.
When ½SUBj� is solved to give optimal variables �ssjr�rrkt a new column, q, can be extracted from the relation
~ddjqrw ¼X
�rr2Rjnfrg
Xk2Xj�rr
Xt2fk...jT jg
jCw \ ft � k þ 1 . . . tgj�ssj�rrrkt; j 2 M ; r 2 Rj; w 2 ~TT : ð22Þ
The reduced cost for a new production plan variable, zjq, is the cost of the shortest path less the dual cj:
�ccjq ¼Xr2Rj
X�rr2Rjnfrg
Xk2Xjr
Xt2fk...jT jg
ajr�rrkt�ssjr�rrkt � �ccj: ð23Þ
Finally the cost coefficient for zjn in the objective function is calculated as
CZjq ¼
Xr2Rj
X�rr2Rjnfrg
Xk2Xj�rr
Xt2fk...jT jg
Cr-changejr�rr �ssjr�rrkt þ
Xr2Rj
Xw2~TT
Crecipejr
~ddjqrw: ð24Þ
The size of the subproblem is closely related to the number of possible campaigns. Taking three mills
with 5 recipes at each and all with possible lengths between 2 and 30 days gives a network with more than
300,000 arcs for a 90 day planning horizon.
4.3. Subproblem 2: Simplified version
If the upper limits on campaign lengths are disregarded, a smaller (fewer arcs) subproblem can be
created. We do this to obtain a simplified version of the column generation approach that resembles model
B in most properties. The only difference between this new model and model B is that this version allows a
change between recipes within an aggregated several-day period. The sharp decrease in arcs in this sim-
plified version gives a remarkable reduction in build time (initialisation of arc costs) over the full sized
subproblem. In this new network, each node in a time period is connected to the node for the same recipe in
the next time period. Each node is also connected to all possible legal successor recipes using an arc of the
. Shortest path network for one mill with three recipes and six time periods. The minimum campaign length for all recipes is set
me periods.
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 15
ARTICLE IN PRESS
associated minimum campaign length for that successor recipe. The very first node is similarly connected,but taking into account any days during which the opening recipe has already run. Fig. 8 shows a small
example of a possible network. Using this representation we get a network with at most 7000 arcs if there
are 90 time periods and three mills with 5 recipes each.
We redefine the minimum campaign constants Ljr�rr and the variables sjr�rrt as
Ljr�rr ¼ minimum campaign length for recipe �rr at pulp mill j if r 6¼ �rr, 1 otherwise.
sjr�rrt ¼ if recipe r is used during period t � Ljr�rr after which recipe �rr is used for Ljr�rr periods from the end of
period t � Ljr�rr to the end of period t.
Apart from cj, all components in the reduced cost for each column variable are dependent on both the
time periods and recipes. With this in mind, suitable arc costs can be found within the expression of the
reduced cost. The reduced cost of the most profitable column to enter the basis can then be expressed as
�ccjn ¼Xt2T
Xr2Rj
X�rr2Rj
ajr�rrt�ssjr�rrt � �ccj; ð25Þ
where
ajr�rrt ¼ Cr-changejr�rr þ
Xw2~TT
Crecipej�rr
�Xa2A
Rinj�rraajat þ
Xp2P
Routj�rrp bjpt
!jCw \ ft � Ljr�rr þ 1 . . . tgj; ð26Þ
and �ssjr�rrt, r, �rr 2 Rj, t 2 T , is the optimal solution to the shortest path network program for pulp mill j 2 M .
This program is formulated as
½SUBj� : minXt2T
Xr2Rj
X�rr2Rj
ajr�rrtsjr�rrt
s:t:X
�rr2Rj:Lj�rrr 6 t
sj�rrrt �X
�rr2Rj:tþLjr�rr 6 jT jsjr�rr;tþLjr�rr
¼�1 t ¼ 0; r ¼ rj0
1 t ¼ jT j0 otherwise
8><>: ; r 2 Rj; t 2 T [ f0g;
sjr�rrt P 0:
As before, we have simplified our model explanation by assuming that at the start of our planning
period, we have just finished a campaign using recipe rj0.
4.4. Constraint branching heuristic
It is most unlikely that an optimal solution to ½RMPA� will contain only binary values. In a feasible
solution to model A, we require that all variables zjq are binary, representing exactly one production plan
for each pulp mill in each time period. We therefore suggest an algorithm based on a greedy heuristic
involving constraint branching. See [3] for a discussion of the main ideas behind the algorithm.
For column generation to perform correctly, initial feasible columns (production plans) are needed.
Considering the complexity of creating feasible production plans manually, it is not an easy task to find a
set of initial columns. Instead, dummy variables (slack and surplus variables) are added for the assortmentconstraints (8) and product constraints (9) with costs substantially higher than the cost of any production
plan. If dummy variables are still in use when ½RMPA� is solved to optimality, we have no solution to the
16 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
supply chain problem. This can be because of insufficient quantities of assortments being available ordemands for products being too large.
Suppose there is an initial set of feasible production plans available (including dummy variables). Let
zRMP be the optimal objective value to ½RMPA� and let zRMPn be the objective value in iteration n. Let �ccjv,
j 2 M , be the reduced costs from the optimal solution to the subproblem in iteration n. Then we have the
relation (see e.g. [1])
zRMPn þ
Xj2M
�ccjv 6 zRMP6 zRMP
n : ð27Þ
Eq. (27) allows the relative error in each iteration to be calculated. This can then be used to form a ter-
mination criterion for the column generation process. Once this is satisfied, we will have a (typicallyfractional) solution that needs to be integerized.
Assume that we have a solution to the ½RMPA� with fractional values on some of the zjq variables. Thebasic branching strategy is to investigate, for each time period, which recipes are used at each mill. Since
many production plans can include the same recipe in a given time period, the summation of all fractional
variables representing these production plans may be very close to one, or even exactly one, for some time
periods. This sum represents the proportion of all generated production plans that use recipe r at mill j intime period t, and if large, indicates very strongly that the recipe under consideration should be used in that
time period for mill j in an optimal solution. The heuristic therefore finds that recipe, mill and time periodcombination ðr; j; tÞ which gives the highest sum of fractional values. It then fixes the recipe for the mill in
that time period by constraining it to the required value. This is an example of a Ryan–Foster �constraintbranch� [4]. Henceforth, only production plans satisfying this ðr; j; tÞ constraint branch will be considered;
all other production plans (columns) are now considered illegal for this mill, and so are banned from
½RMPA�.To implement a constraint branch, we begin we by removing from ~QQj any production plans that violate
the new constraint branch. The column generator then needs to be modified to respect the new constraint
branch; we discuss this below. Once this has been done, the master ½RMPA� is then solved again, and thewhole procedure repeated. This process continues until an integer solution is determined. Note that unlike
standard branch and bound, we never explore the other side of the branches we apply, and thus we cannot
prove that our solutions are optimal. This �fix and dive� approach is used in several implementations of
airline scheduling, see e.g. [2,3].
The implementation of an ðr; j; tÞ constraint branch in the column generator is easy if a disaggregated
model is used. In this case, applying the constraint branch simply requires that all arcs that specify a recipe
other than r in time period t are deleted from the network for mill j. However, the procedure becomes more
complicated when aggregated time periods are used. One possible approach is to keep a copy of the fullperiod-by-period disaggregated columns, and use these copies in the ðr; j; tÞ constraint branching proce-
dures described above. Thus, even though the master operates at the aggregated level, the ðr; j; tÞ con-
straints are determined and applied at the disaggregated period-by-period level.
An alternative approach which we adopted is to branch on the number of periods that are spent working
recipe r during some aggregated time period w 2 ~TT . Information on this is directly available from the
columns in the master, and so disaggregated columns do not need to be stored.
The most general branch of this form would be �at least (or no more than) d periods are spent using
recipe r at mill j during aggregated time period w 2 ~TT .� Unfortunately, branches of this form would typ-ically require that side constraints be added to the network formulation in the generator. The simplified
approach we adopted instead was to use ðrjw; j;w; dÞ branches which specify a lower bound d on the number
of periods spent using some particular recipe rjw for some aggregated time period w 2 ~TT and mill j. Note
that only one recipe rjw may be specified for any ðj;wÞ mill-period combination; we do not allow mixed-
recipe branches such as �at least 1 period be worked using recipe 1 and at least 1 period be worked using
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 17
ARTICLE IN PRESS
recipe 3 during period w at mill j�. We note that by making d sufficiently large, a sequence of ðrjw; j;w; dÞbranches can be used to fully specify the activities on each period of the planning horizon, and so these
branches will always be sufficient to force integrality. However, we recognize that mixed-recipe branches
may be required to obtain optimal solutions in some cases.
To determine the next constraint branch to apply, our algorithm computes the number of periods spent
working each recipe at each mill for each aggregated time period. If a branch has already been applied for
some mill j and aggregated time period w, we consider only the associated recipe rjw; otherwise all recipes
are considered. The branch to be applied next is determined by finding that ðr; j;wÞ sum with the largest
(possibly) fractional component. This value is then rounded up to give d. Note that there may be fractionalsolutions that give an integer number of periods spent on each recipe in each aggregated period. To remove
these, we must allow for integers to be �rounded up� to the next larger integer value.
Consider now the impact of an ðrjw; j;w; dÞ branch on the column generator�s network. In general, such
a branch would require the addition of side constraints to the network. However, the problems we
consider specify a minimum campaign length of 2 days. If we use daily periods and aggregations of more
than 3 days in size, we can enforce any ðrjw; j;w; dÞ branch by simply removing arcs from the network. To
see this, consider a branch with d ¼ 1 specifying that recipe rjw must be used for at least 1 day during
some 3-day aggregated period w. We observe that each arc in the generator network specifies, via itsstarting node, the recipe used in (at least) the previous 2 days. The arc�s end node then specifies the
activities for the following day (for the simplified generator with no recipe change) or next 2 days
(otherwise). Consider now the network nodes at the end of the first day within period w. The node for
recipe rjw corresponds to the constraint branch having been satisfied, and so all possible arcs from this
node remain in the network. However, each node for some recipe other than rjw corresponds to the
constraint branch not yet having been satisfied. Changing to a recipe other than rjw will occupy at least
the next 2 days, and thus result in the constraint branch never being satisfied, and so all these arcs must be
removed. The remaining arcs leaving these nodes correspond to the options of either working recipe rjw(for at least 2 days), and hence satisfying the constraint, or continuing the current recipe for another day.
Consider now the nodes at the end of the second day. As before, the node for recipe rjw corresponds to
the constraint branch having been satisfied, and so all possible arcs from this node remain in the network.
However, the nodes for some recipe other than rjw correspond to some non-rjw recipe having been worked
during the previous 2 days, and so the constraint branch is not yet satisfied. Therefore, recipe rjw must be
worked next; all non-rjw arcs leaving these nodes must be deleted. The only arcs remaining to consider in
this process are those that specify all 3 days in period w. Clearly, all such arcs using a recipe other than rjwmust be deleted. This completes the network modification required to enforce the branch; Fig. 9 shows aschematic of the modified network. Similar arguments can be used to specify the network changes for
d ¼ 2 and d ¼ 3.
In our implementation, we always sought branches with d ¼ 1 in preference to higher d values. In
practice, these d ¼ 1 branches were sufficient to generate integrality; higher d branches were not required.
5. Numerical results
The test case we have used covers a period of three months. In this problem there are, as well as exports,
six domestic customer districts and, in addition to imports, ten domestic harvest areas. The problem in-
cludes S€oodra Cell�s three Swedish pulp mills. In the model the demand for products is given by the forecast
demand for the period. At one of the pulp mills, there are two production lines. One line produces products
in common with other mills, while the other is mostly used to produce one particular product. This special
line is also included in our case to give correct inflows, outflows and storage levels. The daily production
cost is excluded because it does not differ between products or pulp mills included in this problem.
Fig. 9. Schematic of how the column generator network is modified by a constraint branch. Outgoing arcs specifying campaign lengths
longer than 2 days have not been shown.
18 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
We made all test runs on a personal computer based on a 1.7 GHz pentium III processor equipped with 1
GB RAM and running Microsoft Windows NT 4. The algorithms were implemented using ILOG AMPL
10.6.16 with ILOG CPLEX 7.0 as solver.
It is natural to define each time period to cover 1 day. However, even with the power of today�s modern
personal computers, it is almost impossible to find a feasible solution within a reasonable time for a modelof more than 70 time periods. We have therefore used an aggregation of the time periods in which the first
month was modelled at a daily level, the second month had 2 days in each aggregated time period, and the
third month aggregated 3 days into one aggregated time period. This resulted in a total of 55 time periods of
decreasing accuracy as we proceed through the 3 months.
We have solved the supply chain problem with five different combinations of models and solution
methods. The first run, �A1,� used model A with the first column generation subproblem and a varying
maximum campaign length (between one week and 20 days). This was the only run for which maximum
campaign lengths were specified. The second, �A2,� used model A with the simplified column generatorsubproblem (subproblem 2). The remaining cases used model B and its strengthened version Bþ. These were
both solved using the CPLEX built-in branch and bound with a maximum running time of 2 hours. Model
Bþ was also solved using an iterative variable fixing heuristic designed to quickly find an integer solution.
This heuristic operated by finding that binary variable gjrt with the largest fractional value and then setting
this to 1, effectively fixing the recipe for some aggregated time period. The problem was then resolved, and
the process repeated. This heuristic is similar in spirit to the constraint branching heuristic used for model A.
5.1. Comparison with manual schedule
For a comparison with S€oodra�s manually generated schedule, we have optimized flow and storage using
their schedule for the planning period. Table 1 shows cost factors for the solutions found by the various runs,
including the optimal costs for the manually produced plan. In the table, we have identified the costs
associated with recipe changes, inflow, outflow, and storage. We have also shown the other costs (delivery
delay costs and violation of storage risk costs) that must be added to give the final total cost. The �A1� runusing model A and subproblem 1 is not comparable with the others and is therefore not included in the table.
All the solution methods achieved better (lower) objective function values (expressed in not disclosedunits due to secrecy) than the manual solution shown above. All our methods generated solutions with
Table 1
Cost comparisons between different approaches and the manual (optimized) solution
Model Solution method Recipe changes Storage Inflow Outflow Other Total cost
Manual schedule 2726 10,442 66,609 14,343 25,359 119,479
A2 Constraint branching 4685 10,444 66,936 13,578 13,140 108,783
B 2 hours of B&B 7519 10,202 60,806 14,526 19,352 112,405
Bþ 2 hours of B&B 7039 10,287 60,464 14,554 19,529 111,873
Bþ Variable fixing 3420 10,648 68,730 15,316 14,673 112,787
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 19
ARTICLE IN PRESS
more changes between recipes than occurred in the manual solution, with some of our solutions including
very expensive changes that do not initially appear efficient. However, when considering the complete
supply chain, this shows that the costs for the production plans only represent a minor part of the total cost.
5.2. Comparisons between solution methods
We illustrate the differences in size and time consumption between our solution methods in Table 2. For
each model and solution method we report the number of constraints in the master problem, the number of
general and binary variables in the master (where * means the number of binary variables changed as they
were generated), the CPU time (which was limited to 2 hours for the branch and bound runs), and the
number of nodes (being branch and bound nodes, constraint branches, or the number of times a variablewas fixed).
As has been noted before, it was not possible to solve model A within reasonable time using 90 time
periods (one period for each day). When we aggregated the problem to 55 time periods, we obtained a
solution in less than 3 hours (162 minutes). Using the complete formulation of the subproblem (model A1),
the initialisation of the more than 300,000 arcs in every iteration takes a very long time when implemented
in a non-compiling modelling language. If one considers the simplified subproblem (model A2), with at
most 7000 arcs in its network, there is a remarkable speed up in initialisation time which explains the lower
CPU time. Model A1, with subproblem 1, allows explicit upper bounds on the campaign lengths. However,the demand pattern in the test problem is such that these bounds are never binding. The relative advantage
of subproblem 1 is therefore not realized.
When model B was strengthened with the valid inequalities (13) and (14) it increased the initial lower
bound (the objective of the first linear relaxation) by 1.2% and during the CPU time of 2 hours, it was
possible to search twice as many nodes of the branch and bound tree. With CPLEX used on model Bþ with
a search emphasizing integer feasibility, solutions within 10% of optimality were found in less than 1 hour.
When we used the variable fixing heuristic on model Bþ both the number of nodes and the solution time
decreased, as expected. We note that this method has the disadvantage that no changes between recipes canoccur during an aggregated time period, which resulted in a slightly worse objective value than was found
using model A2. However, it is a fast solution method because it needs to fix no more than one variable for
each aggregated time period for each mill.
Table 2
Model and run-time statistics
Model Solution method #Constraints #Variables general/binary CPU-time (min) #Nodes
A1 Constraint branching 9518 31,831/* 162 52
A2 Constraint branching 9518 31,831/* 58 50
B 2 hours of B&B 13,435 34,768/660 120 1204
Bþ 2 hours of B&B 14,260 34,768/660 120 2699
Bþ Variable fixing 14,260 34,768/660 30 53
20 D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx
ARTICLE IN PRESS
6. Further work
A natural extension of the supply chain model is to include the ship scheduling and distribution to the
export customers. This distribution is today taken care of by another subsidiary of S€oodra, S€oodra Shipping
AB. The optimization of the ship schedules simultaneously with train and truck flows is itself another
ongoing project within this research. The two scheduling models are separated at the domestic harbours
(located close to the pulp mills), with demanded pulp quantities aggregated at the harbour in the pro-
duction planning model and produced pulp quantities aggregated in the ship scheduling model. Togetherthey describe the complete supply chain and with this separation at domestic harbours a possible (and
natural) connection arises for interactions between them. The next step of this project is to allow integration
between the ship-scheduling model and the models presented in this paper. With these models together in
one environment S€oodra could optimize and evaluate different supply chain components while gaining an
overview of how changes affect other parts of the supply chain.
7. Conclusions
The models introduced in this paper have with their extensions fulfilled our goals of creating a modelling
environment useful for S€oodra Cell. These models are capable of producing production plans and optimized
flows and storage for S€oodra�s supply chain. We have had a close interaction with the planners and con-
tinuously adjusted the models so that they match their supply chain with a high accuracy.
We have found some strategic implications, the most important of which concerns the tradeoff between
recipe changes and the flow and storage costs. The optimized plans indicated that some strategic changes in
the production planning, in form of shorter campaigns and more expensive changes, would be profitablewhen looking at other major cost factors such as inflow of raw materials to the pulp mills. These changes
have been discussed with the scheduling personnel at S€oodra Cell, and will be incorporated in their future
planning decisions. The potential savings indicated from the proposed plans are substantial.
When looking at our solution methods, they produce solutions that are both useful and more effective
than the manually generated schedules we compared with. We have in all our tests on different cases found
high quality solutions, which indicate that the approaches we are using are effective methods for these
model formulations. Furthermore, the solution times are well within the practical time limits of the
planning process. Our results open up the possibility of using longer time periods for the detailed pro-duction planning, as well as allowing planners to quickly investigate a variety of scenarios with different
demand profiles and maintenance plans.
Acknowledgements
This research was performed with support from S€oodra Cell AB and the Swedish National Board for
Industrial and Technical Development (NUTEK).
References
[1] L. Wolsey, Integer Programming, John Wiley & Sons, US, 1998.
[2] D.M. Ryan, The solution of massive generalized set partitioning problems in air crew rostering, Journal of the Operational
Research Society 43 (1997) 459–467.
[3] C. Barnhart, E.L. Johnson, G.L. Nemhauser, M.W.P. Savelsbergh, P.H. Vance, Branch-And-Price: Column generation for
solving huge integer programs, Operation Research 46 (3) (1998) 316–332.
D. Bredstr€oom et al. / European Journal of Operational Research xxx (2003) xxx–xxx 21
ARTICLE IN PRESS
[4] D.M. Ryan, B.A. Foster, An integer programming approach to scheduling, in: A. Wren (Ed.), Computer Scheduling of Public
Transport Urban Passenger Vehicle and Crew Scheduling, North-Holland, Amsterdam, 1981, pp. 269–280.
[5] C. Kilger, Computer assembly, Chapter 18, in: H. Stadtler, C. Kilger (Eds.), Supply Chain Management and Advanced Planning,
Springer-Verlag, Berlin, 2000.
[6] M. Wagner, H. Meyr, Food and beverages, Chapter 19, in: H. Stadtler, C. Kilger (Eds.), Supply Chain Management and
Advanced Planning, Springer-Verlag, Berlin, 2000.
[7] J.F. Shapiro, Modeling the Supply Chain, Duxbury, 2001.
[8] H. Meyr, Simultaneous lotsizing and scheduling by combining local search with dual reoptimization, European Journal of
Operational Research 120 (2) (2000) 311–326.
[9] B. Fleischmann, H. Meyr, The general lotsizing and scheduling problem, OR Spectrum 19/1 (1997) 11–21.
[10] L.A. Wolsey, MIP modelling of changeovers in production planning and scheduling problems, European Journal of Operational
Research 99 (1997) 154–165.
[11] A. Drexl, A. Kimms, Lot sizing and scheduling––survey and extensions, European Journal of Operational Research 99 (1997)
221–235.
[12] H. Meyr, Simultaneous lotsizing and scheduling on parallel machines, working paper, Department of Production and Logistics,
University of Augsburg, Germany, 2001.
[13] H. Stadtler, C. Kilger (Eds.), Supply Chain Management and Advanced Planning, Springer-Verlag, Berlin, 2000.
[14] C.N. Potts, M.Y. Kovalyov, Scheduling with batching: A review, European Journal of Operational Research 120 (2000) 228–249.