21
Supply chain optimization in the pulp mill industry––IP models, column generation and novel constraint branches David Bredstr om a , Jan T. Lundgren b , Mikael Ronnqvist a, * , Dick Carlsson c , Andrew Mason d a Department of Mathematics, Linkoping University, Linkoping, Sweden b Department of Science and Technology, Linkoping University, Linkoping, Sweden c Sodra Cell AB, Vaxjo, Sweden d 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Õs manual 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 Sodra 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 Sodra Cell AB. With five pulp mills in use (three in Sweden and two in Norway), Sodra 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. Ronnqvist). 0377-2217/$ - see front matter Ó 2003 Published by Elsevier B.V. doi:10.1016/j.ejor.2003.08.001 European Journal of Operational Research xxx (2003) xxx–xxx www.elsevier.com/locate/dsw ARTICLE IN PRESS

Supply chain optimization in the pulp mill industry––IP

Embed Size (px)

Citation preview

Page 1: Supply chain optimization in the pulp mill industry––IP

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

Page 2: Supply chain optimization in the pulp mill industry––IP

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

Page 3: Supply chain optimization in the pulp mill industry––IP

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

Page 4: Supply chain optimization in the pulp mill industry––IP

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.

Page 5: Supply chain optimization in the pulp mill industry––IP

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

Page 6: Supply chain optimization in the pulp mill industry––IP

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.

Page 7: Supply chain optimization in the pulp mill industry––IP

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Þ

Page 8: Supply chain optimization in the pulp mill industry––IP

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Þ

Page 9: Supply chain optimization in the pulp mill industry––IP

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Þ

Page 10: Supply chain optimization in the pulp mill industry––IP

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 ; and

Cw \ C~ww ¼ ;; when w 6¼ ~ww:

�ð15Þ

Page 11: Supply chain optimization in the pulp mill industry––IP

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

Page 12: Supply chain optimization in the pulp mill industry––IP

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.

Page 13: Supply chain optimization in the pulp mill industry––IP

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�rr2Rjnfrg

Xk2Xj�rr :k6 t

sj�rrrkt ð20Þ

and outflow

X�rr2Rjnfrg

Xk2Xj�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:

Page 14: Supply chain optimization in the pulp mill industry––IP

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.

Page 15: Supply chain optimization in the pulp mill industry––IP

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

Page 16: Supply chain optimization in the pulp mill industry––IP

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

Page 17: Supply chain optimization in the pulp mill industry––IP

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.

Page 18: Supply chain optimization in the pulp mill industry––IP

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

Page 19: Supply chain optimization in the pulp mill industry––IP

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

Page 20: Supply chain optimization in the pulp mill industry––IP

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.

Page 21: Supply chain optimization in the pulp mill industry––IP

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.