Directory UMM :Data Elmu:jurnal:I:International Journal of Production Economics:Vol68.Issue3.Dec2000:

Int. J. Production Economics 68 (2000) 287}306

Integration of assembly and fabrication for
make-to-order production
R. Kolisch*
Fachgebiet Baubetriebswirtschaftslehre, Institut fu( r Betriebswirtschaftslehre, Technische Universita( t Darmstadt, Hochschulestr.
1, 64289 Darmstadt, Germany
Received 27 April 1998; accepted 4 February 1999

Abstract
The problem of make-to-order production is as follows. A number of customer-speci"c orders have to be assembled in
a multi-project type environment. Each order is made of di!erent assembly jobs which are interrelated by precedence
constraints. To be processed, an assembly job requires in-house fabricated and out-house procured parts as well as
capacity of assembly resources (assembly workers, power tools). Di!erent customer orders need the same part types and
hence the fabrication of parts has to take into account lot sizing decisions. The overall problem is how to coordinate
fabrication and assembly with respect to scarce capacities in the assembly and the fabrication such that the holding- and
setup-cost of the entire supply chain } fabrication}assembly } are minimized. This problem has not been treated in the
literature so far. Hence, we give a mixed}integer programming model for the problem and discuss its properties.
Afterwards, we propose a simple, two-level backward oriented heuristic and evaluate it on a set of benchmark
instances. ( 2000 Elsevier Science B.V. All rights reserved.
Keywords: Assembly; Lot-sizing; Make-to-order; Supply chain management


1. Introduction
Make-to-order producers of investive goods
such as ships (cf. [1]), airplanes (cf. [2]), and largescale machine tools (cf. [3]) face the following
production planning problem. Multiple customerspeci"c orders have to be manufactured subject to
tight due dates while at the same time there are long
makespans which result from order-speci"c assembly and special parts which have to be in-house
fabricated or outside procured. Capacity is generally scarce because, to be competitive, recent years
* Corresponding author. Tel.: #49-431-880-4581; fax: #49431-880-1531.
E-mail address: kolisch@bwl.uni}kiel.de (R. Kolisch).

have seen the reduction of "xed cost by downsizing and outsourcing. Companies now focus
on their core competences which are construction,
fabrication, and assembly of customer-speci"c investive goods. Fig. 1 shows the supply chain of
make-to-order companies with the four levels customers, assembly, fabrication, and suppliers. On
the customer-level there are multiple orders with
speci"c due dates. Each order is depicted on the
assembly-level by a set of assembly jobs which are
interrelated by technological precedence constraints. To be processed, an assembly job demands
scarce assembly capacity as well as in-house fabricated and outside procured parts. Holding cost of

the assembled parts have to be taken into account.
A resource- and precedence-feasible assembly

0925-5273/00/$ - see front matter ( 2000 Elsevier Science B.V. All rights reserved.
PII: S 0 9 2 5 - 5 2 7 3 ( 9 9 ) 0 0 0 1 1 - 0

288

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

Fig. 1. Supply-chain of make-to-order companies.

schedule determines the time-phased demand for
parts. In-house part fabrication takes place on the
third level. Here, multiple parts have to be manufactured subject to scarce resources while taking
into account setup and holding cost. Part ordering
from outside suppliers is subject of the fourth level.
Relevant cost are ordering and holding cost. The
objective is to provide a time- and resource-feasible
production plan which respects the due dates while

minimizing the cost of the entire supply chain.
The remainder of this paper is as follows. Section
2 provides a more detailed and formal description
of the problem. An extensive literature review in
Section 3 reveals that the outlined problem has not
been treated so far. Hence, Section 4 proposes
a mixed integer programming (MIP) formulation of
the decision problem and discusses properties of
the MIP formulation. Section 5 proposes a twolevel, backward oriented, top-down approach in
order to solve the problem heuristically. The
approach is experimentally evaluated on a set of
test instances in Section 6. Finally, Section 7 summarizes the results and gives an outlook on further
research.

2. Problem description
We will now detail the planning problem in
a more formal way by considering each level of the
supply chain. In order to keep the amount of notation small, we employ, whenever possible, the same

parameter for the assembly and the fabrication

level. Distinction will be made by the superscripts
`Aa and `Fa which stand for assembly and fabrication, respectively. Table 11 in the Appendix provides a compact overview of the notation. Let us
now begin with the customer level.
Customer. From production planning we have
A*0 di!erent customer orders, where order
a"1,2, A has the due date d *0.
a
Assembly. Order a is made of assembly jobs
j"s ,2, e . The number of all assembly jobs is
a
a
J"e . Due to aggregation, each assembly job
A
j represents a set of operations. E.g., in shipbuilding
so-called super blocks comprise a number of panelled or curved blocks (cf. [1]). The assembly of
a panelled or curved block is depicted by an operation while the assembly of a super block is depicted
by a job. Assembly job j has a processing time of
p *0 and requires c *0 units from the RA*0
j
j,r

di!erent types of assembly resources (assemblers
with di!erent skills, power tools) during every time
instant it is processed. Job preemption is not allowed. Assembly resource type r"1,2, RA has an
available capacity of CA *0 units at time instant
r,t
t*0. We assume that all events on the customer
and the assembly level, i.e., due dates and the
change of available capacities, occur at discrete
multiples of a standard period length and that the
processing times of the assembly jobs are multiples
of the standard period length. In this case, the start
time of the assembly jobs will be also discrete multiples of the period length.
The assembly jobs are interrelated by an assembly network where job j has a set P of immediate
j
predecessor jobs. The start of an assembly job at
time instant t determines a demand for in-housefabricated and outside procured parts. The sum of
the holdings cost for all parts which are assembled
by job j equals hA per period. A graphical represj
entation of orders, due dates, and assembly jobs
with their technological precedence relations can

be given by an integrated assembly graph where
each assembly job j is depicted by a node, and each
precedence relation between assembly job h and its
immediate successor j is depicted by an arc hPj
with weight t.*/"0. We introduce two additional
h,j
jobs, a dummy source j"0 and a dummy sink
j"J#1, and additional arcs from the source 0 to

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

each assembly job without predecessors and from
each "nal assembly job to the sink J#1. The arcs
from the source have weight 0 while the arcs from
the "nal assemblies e (a"1,2, A) to the source
a
"d.!9!d where d.!9 dehave the weight t.*/
a
ea, J`1
notes the maximal due date of all orders. With

J"M0,2, J#1N we denote the set of all assembly
jobs of the integrated network.
Fig. 2 gives the assembly graph on an example
instance with A"2 orders and due dates d "5
1
and d "3. The processing time p and the capacity
2
j
requirement c
w.r.t. the single resource type
j,1
RA"1 are given above the nodes. The jobs of each
order are enclosed by a dotted rectangle, i.e., order
a"1 comprises the assembly jobs 1,2, 3 and order a"2 is made of the "nal assembly job 4. That
is, we have s "1, e "3, and s "e "4.
1
1
2
2
Fabrication. An assembly schedule determines

a time-phased demand for part types which have to
be either manufactured in-house or have to be
procured from outside suppliers. The number of
part types which are manufactured in-house is
I*0 and the number of part units of type
i"1,2, I needed by assembly job j is q *0. The
j,i
in-house fabrication comprises RF di!erent production units. A production unit might be, dependent
on the amount of aggregation, an entire job shop or
#ow shop, a set of identical machines such as numerically controlled lathes or one physically machine such as a steel burning machine. Production
unit r"1,2, RF in period t has an overall period
capacity of CF *0 where period t is the time span
r,t
between the time instants t!1 and t. The length of
a period amounts between one day and one week.
Each part type i"1,2, I is solely fabricated by

289

production unit rF3M1,2, RFN in a single level

i
production process. For the production of one unit
of part i, a capacity of c is needed. Within each
i
period part i is produced, "xed setup cost of s are
i
incurred. The use of setup time is not explicitly
considered because setup times are negligible in the
aggregated view. In order to guarantee feasible
production plans, we set the available period capacity CF not equal the total capacity but we withr,t
draw some capacity in order to obtain slack
capacity (cf. [4]). Production of one unit in period
q(t for a demand in period t incurs holding cost of
hF per period.
i
Supplier. Parts which are procured from outside
suppliers have to be available in the period preceding the start time of the assembly. The holding cost
of all parts which are procured by assembly job
j are hP per period; for reasons to be explained
j

below, "xed ordering cost do not have to be taken
into account.
We extend the example given by the assembly
graph of Fig. 2 as follows. There is a single assembly
and a single fabrication resource, with a capacity of
CA "3 and CF "10 for each time instant t and
1,t
1,t
period t, respectively. The number of fabricated
part types equals I"3; there are no external procured parts. Production coe$ents, setup and holding cost of the three internal fabricated part types
are cF"(1, 1, 1), s"(20, 10, 10), and hF"(1, 2, 1),
respectively. The demand for fabricated parts as
imposed by the assembly jobs is given in Table 1.
According to formula hA"hP#+I hF ) q the
i/1 i j,i
j
j
holding cost for the assembly jobs can be calculated
to hA"5 ) 1"5, hA"5 ) 2"10, hA"5 ) 1"5, and
3

2
1
hA"5 ) 1"5.
4

Fig. 2. Integrated assembly graph for an example instance.

290

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

Table 1
Part demand of the assembly jobs
i

1
2
3

j
1

2

3

4

5
0
0

0
5
0

5
0
0

0
0
5

3. Literature review
There have been di!erent approaches for production planning of multi-level production systems.
According to the type of the production system
regarded at each level, we can discriminate (i) integrated project scheduling and part ordering, (ii)
multi-level capacitated lotsizing, and (iii) integrated
lotsizing and scheduling.
Integrated project scheduling and part ordering.
Project scheduling and part ordering depicts the
case where on the "rst level multiple projects have
to be scheduled subject to precedence and resource
constraints. The jobs of the project require parts at
the second level. Costs associated with the parts are
ordering and holding cost.
Aquilano and Smith [5] were the "rst who integrated project scheduling and material requirements
planning. Without providing a formal decision
model, they depict a single project which has to be
scheduled subject to precedence constraints only.
The jobs of the project require parts. In order to
determine the time-phased demand for these parts,
Aquilano and Smith proposed a two-stage approach. First, latest start times for the jobs are
calculated by traditional backward recursion (cf.
[6]) from the project's due date. The obtained start
times determine the gross requirements for parts.
The second phase performs calculation of the net
requirement by balancing gross requirements, onhand inventories, and scheduled receipts in a forward oriented fashion (cf. [7]). Finally, a lot-for-lot
policy is used to calculate planned production
quantities for the parts.
Hastings et al. [8] extend this approach. They
perform forward oriented scheduling of the jobs by
explicitly considering scarce capacities. The time-

phased demand of parts is obtained from the earliest precedence and resource feasible start times of
the jobs. Hastings et al. coin this approach `schedule based materials requirements planninga instead
of `lead time materials requirements planninga
which derives the start times of the jobs by uncapacitated backward recursion of jobs from the
due date.
Sum and Hill [9] consider multiple projects,
scarce capacities on the scheduling level, and lot
sizing decisions on the fabrication level. Without
providing a decision model, they suggest a twostage approach. First, backward loading of the jobs
subject to capacity constraints is done. Second,
three greedy heuristics are proposed in order to
perform the order sizing for the time-phased part
demand of the jobs.
Smith-Daniels and Smith-Daniels [10] extended
the work of Aquilano and Smith [5]. They propose
a MIP model for a single project, multi-part ordering problem where a single project has to be scheduled such that the sum of holding cost for parts and
jobs, ordering cost for parts, and penalty cost for
a project delay is minimized. A MIP model is
proposed and it is shown that the optimal solution
is obtained by realizing a late-start schedule and
solving the remaining I single-level uncapacitated
dynamic lotsizing models to optimality. In an
experimental investigation Smith-Daniels and
Smith-Daniels compared the optimal solutions to
the ones which were obtained by a lot-for-lot strategy and showed that the latter resulted in signi"cantly higher cost.
In [11], the scope of the model is headed towards
a cash oriented perspective. The objective function
maximizes the net present value of the integrated
project scheduling and part ordering model and
a new constraint depicts the dynamic cash balance
constraint for each period.
Dodin and Elimam [12] modi"ed the model of
Smith-Daniels and Smith-Daniels [10] by allowing
job crashing and considering rewards for project
termination ahead of the due date. Dodin and
Elimam show (i) that in the case of no reward
payments an optimal solution is obtained by scheduling every job at its latest start time and (ii) that
the optimal schedule either start at time zero or
ends at the projects due date. Based on these

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

observations, Dodin and Elimam device a simple
heuristic which, based on the instance at hand,
alternatively generates an earliest start or latest
start schedule with jobs at normal or at crash
duration. The remaining lot-size problems are solved with the part-period heuristic (cf. [13]).
Ronen and Trietsch [14] consider the case where
the parts demanded by the jobs can be sourced
from di!erent suppliers. Furthermore, the processing times of the jobs and the lead time of parts is
not deterministic but stochastic. Each part-supplier
combination is de"ned by a price and a lead time
distribution. Holding cost accrue if parts arrive
ahead of the time needed by the job. If late parts
delay the project beyond its due date, lateness cost
are debited. The decision problem is, to choose for
each part a supplier and an ordering time such that
the total expected cost are minimized. Assuming
that the variability of the processing times is negligible, Ronen and Trietsch propose the following
solution procedure. First, latest start times of the
jobs are computed by backward recursion from the
project's due date (cf. [6]). Then, order times for
each part are computed, and "nally, a supplier is
chosen for each part. The method is embedded in
a decision support system (cf. [14]).
Multi-level capacitated lotsizing. Multi-level
capacitated lotsizing models depict a production
system with multiple levels where on each level
lotsizing rather than scheduling decision have to be
undertaken. Given are the demands for multiple
parts (which are usually referred to as items) where
each part is depicted by a multi-level product structure. Each part within the product structure has to
be fabricated on one level of the production system.
Since there is no a priori lot size, any amount of
a part can be produced as long as the capacity
constraints are respected. Production of a part incurs setup cost and in some cases setup times; part
inventories incur holding cost. The problem is to
obtain a cost minimal production plan which respects the scarce capacities of the resources on all
levels of the production system and delivers "nal
demand parts without backlogging. Models and
methods for this intricated problems can be distinguished w.r.t. the type of product structure allowed
and w.r.t. the amount of aggregation. Regarding
the product structure, general product structures

291

and assembly product structures can be distinguished. Regarding the amount of aggregation, socalled big bucket and small bucket models can be
distinguished (cf. [15]). Big bucket models such as
the capacitated lotsizing problem (CLSP) have
a rather high aggregation level where one period
amounts about a week. Here, scheduling decision
which determine the sequence of production lots in
one period are not taken into account. Contrary, in
small bucket models a period embraces a smaller
time span and the planning problem is to simultaneously determine lot sizes and lot sequences in
each period. Multi-level big bucket problems with
general product structures have been addressed in
[4,16}21]. Helber [20], and ZaK pfel [22] give
a cash-#ow oriented model where the net present
value is maximized. Work on special big bucket problems where either serial or assembly product structures are taken into account or constrained resources
are only considered on one production level can be
found, amongst others, in [23}27]. Work on multilevel, small bucket models with general product
structures has been presented by Kimms [28].
Integrated lotsizing and scheduling. Lasserre [29]
introduces a model which integrates the lotsizing
decision on an aggregated decision level and the
scheduling decision on a detailed decision level.
The lotsizing decision is modelled as a multi-part,
single level CLSP and the scheduling decision is
modelled as a job shop problem (JSP) (cf., e.g.,
[30]). The production decisions for one period in
the lotsizing model determine an entire JSP.
Dauzère-PeH res and Lasserre [31] propose a solution method which alternates between solving the
lotsizing problem for a "xed sequence of the jobs at
the machines and solving the scheduling problem
for given lotsizes.
From the literature review we can see that the
problem of a heterogenous production system
where multiple customer speci"c projects have to
be scheduled subject to scarce capacities on the "rst
level and where capacitated lotsizing of multiple
parts has to be done on the second level such that
the cost of the entire supply chain are minimized
has not been treated so far. In what follows, we will
"rst propose an MIP formulation of the problem
and then outline a heuristic method in order to
solve this problem.

292

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

4. An integrated model

I

4.1. MIP formulation
To model the integrated assembly and fabrication problem, we introduce the following decision
variables. First, for the assembly we have the binary
decision variable x which equals 1, if job j is
j,t
started at time instant t, and 0 otherwise (cf. [32]).
We can reduce the number of decision variables by
calculating for each job j an earliest start time ES
j
and a latest start time ¸S by traditional forward
j
and backward recursion (cf. [6]) from t"0 and the
maximal due date d.!9, respectively. Second, for the
fabrication we use the production variable Q *0
i,t
which gives the quantity of part type i produced in
period t, the inventory variable I *0 which gives
i,t
the quantity of part type i which is in inventory at
the end of period t, and the binary set up variable
y which is 1, if production for part type i in period
i,t
t takes place, and 0 otherwise. We can now model
the integrated assembly and lotsizing problem
(IALP) as follows:
Problem IALP

A

B

LSj
A ea
Minimize Z" + + hA d #1! + t ) x
j a
j, t
t/ESj
a/1 j/sa
I T
(1)
# + + (hF ) I #s ) y )
i i, t
i i, t
i/1 t/0
subject to
LSj
+ (t#p a)x a )d (a"1,2, A),
a
e e ,t
t/ESj
LSj
+ x "1 ( j"1,2, J),
j,t
t/ESj
LSj
LSh
+ (t#p )x ! + tx )!t.*/
h,j
h h,t
j,t
t/ESh
t/ESj
(j"1,2, J; h3P ),
j
t~1
J
+
+
c x )CA
r,t
j,r j,q
N
M
j
j/1 q/.!9 0,t~p
(r"1,2, RA; t"1,2, ¹),

(2)
(3)

(4)

(5)

J
#Q ! + q x "I
i,t~1
i, t
j,i j,t
i,t
j/1
(i"1,2, I; t"1,2, ¹),

I
+ c Q )CF
r,t
i i,t
i/1@rFi /r
(r"1,2, RF; t"0,2, ¹),
J
y + q *Q
(i"1,2, I; t"1,2, ¹),
i,t
j,i
i,t
j/1
x 3M0, 1N (j"1,2, J; t"ES ,2, ¸S ),
j,t
j
j
y 3M0, 1N, Q *0, I *0
i,t
i,t
i, t
(i"1,2, I; t"1,2,¹).

(6)

(7)
(8)
(9)

(10)

Eqs. (1)}(10) model a two-level supply chain with
heterogenous production segments. The model
comprises four main parts: (i) the project scheduling
based assembly on the "rst level, (ii) coordination of
fabrication and assembly, (iii) the lotsizing based
fabrication on the second level, and (iv) the objective function which minimizes the sum of holding
and setup cost of the entire supply chain. Let us
analyze these parts in more detail.
Ad (i). The project scheduling based assembly is
depicted by the constraints (2)}(5) and (9). Constraint (2) assures that each order is "nished not
later than its due date. (3) secures that the "nal
assembly cannot be delivered to the customer before each assembly job has been executed exactly
once. The integrated assembly graph is given by
constraint (4). (5) models the capacity constraint
of the assembly resources. Finally, constraint (9)
de"nes the binary decision variables.
Ad (ii). Eq. (6) links the part #ow between the
fabrication and the assembly. The start of assembly
job j at time instant t imposes demand for fabricated parts at the end of period t which has to be
ful"lled from the inventory available at the end of
period t!1 or from fabrication in period t.
Ad (iii). Constraints (7), (8) and (10) depict the
fabrication. The capacity constraints are given in
(7). Constraint (8) sets the binary setup variable
y "1 when production for part type i takes place
i,t
in period t. Finally, constraint (10) de"nes the continuous and binary decision variables.

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

Ad (iv). The cost function (1) mimizes the overall
production cost which are made of holding cost
within the assembly as well as holding and setup
cost within the fabrication. Fig. 3 details the
accounting of the cost. The due date of the order is
9. Assembly job j is started at time instant t"5 and
the required part type i is fabricated in period t"3.
Additionally, assembly job j requires a procured
part which has to be available at the end of period
5. Within the fabrication, part i is available at the
end of periods 3 and 4. Within the assembly, part
i and the procured part are available at the end of
periods 5,2, 9. Setup cost occur in period 3 where
part i is produced. Ordering cost for the procured
part are not taken into account. If order cost are
relevant for a procured part, we depict this part as
an additional in-house fabricated part with a capacity demand of 0 on a dummy fabrication resource.
Solving the example instance introduced above
with IALP to optimality, we obtain the solution
given in Fig. 4 with overall cost of 120 which are
made of 40 units setup cost, 5 units fabrication
holding cost, and 75 units assembly holding cost.
4.2. Model properties
In this section we will look at some properties of
the integrated assembly and lotsizing problem. Let
us begin with two subproblems of the IALP which
are well known NP-hard optimization problems.
Consider "rst the assembly scheduling problem
(ASP) on the "rst level. The ASP is depicted by the
"rst term of the objective function (1) as well as
constraints (2)}(5) and (9). The ASP models the
assembly with the objective to minimize the assem-

Fig. 3. Holding cost within the supply chain.

293

Fig. 4. Optimal solution for the IALP.

bly wide holding cost. It is the `mirror problema of
the well known resource-constrained project scheduling problem (RCPSP) where the latter has the
objective of minimizing the sum of the weighted job
#ow times (cf. [33,34]). The RCPSP can be polynomially obtained from the ASP by giving each job
j the new job number J#1!j, reversing all arcs
hPj to jPh, and keeping everything else as it is. It
is well known that the RCPSP is an NP-hard
optimization problem (cf. [35]). A survey of exact
and heuristic solution procedures for the RCPSP
with di!erent objective function values can be
found in Kolisch and Padman [36].
Consider now, the fabrication lotsizing problem
(FLP) on the second level. The FLP is depicted by
the second term of the objective function (1) as well
as constraints (6)}(8) and (10) where we assume that
the x values in the coupling constraints (6) are
j,t
parameters. The FLP models the RF di!erent production units of the fabrication with the objective
to minimize the fabrication wide holding and setup
cost. Since each part i is manufactured on exactly
one of the production units, namely rF, we have
i
RF seperate optimization problems. Each of it is the
well known single-level multi-part capacitated lotsizing problem (CLSP) (cf. [37]) which is strongly
NP-hard (cf. [38]). Optimal methods proposed to
solve the CLSP are, amongst others, valid inequalities (cf. [39]), network #ow formulation (cf. [15]),
branch-and-bound (cf. [40]), cross decomposition
(cf. [41]), as well as linear programming, column
generation, and subgradient optimization (cf. [38]).
A survey of heuristic approaches for the CLSP will
be given in Section 5.2.
Since both subproblems of the IALP, the RCPSP
and the CLSP, are known to be NP-hard optimization problems, this holds for the IALP too.

294

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

Moreover, the presence of due dates makes the
feasibility problem of the IALP already NP-complete.
De5nition 1. Right-regular. An objective function
Z is right-regular i! the following holds. For each
pair of two feasible schedules S"(S ,2, S ) and
1
J
S@"(S@ ,2, S@ ) with S )S@ for a single job j
1
J
j
j
and S "S@ for the remaining jobs i"1,2,
i
i
j!1, j#1,2, J there is Z(S))Z(S@).

Theorem 1. The objective function (1) is right-regular.

Proof. Consider a feasible assembly schedule
S where job j has the start time S . Changing, c.p.,
j
the start time to S #1 will decrease the "rst term
j
of the objective function by hA. For the second term
j
we can reason as follows. The fact that, c.p., the part
demand of job j occurs at time instant S #1 inj
stead of S enlarges the solution space (2), (3)}(5) of
j
the FLP. Hence, for the new assembly schedule,
the second term of the objective function must be
less equal than the one of the former assembly
schedule. h

Theorem 2. The optimal sequential solution of the
ASP and the FLP, i.e., xrst solving ASP and thereafter
FLP to optimality, does not guarantee an optimal
solution of the integrated assembly and lotsizing
problem.

Proof. We prove Theorem 2 by showing that the
optimal sequential solution of the example instance
given in Section 2 is not an optimal solution for the
IALP. We "rst solve the ASP to optimality and
obtain an assembly schedule with holding cost of
70. This is 5 units better than the assembly schedule
of the optimal IALP solution (cf. Section 4.1). The
subsequent optimal solution of the remaining FLP
gives rise to a production plan with setup cost of 40
and holding cost of 15 and hence overall fabrication cost of 55. Fig. 5 illustrates the solution with
a Gantt-chart. The total cost for the entire supply

Fig. 5. Optimal sequencial solution.

chain are 125 which are 5 units more than the
optimal solution of the IALP. Note that the sequential solution has the same setup cost as the optimal
IALP solution and hence looses its optimality by
higher holding cost solely. h

Theorem 3. Solving the assembly scheduling problem
to optimality might produce an infeasible fabrication
lotsizing problem.

Proof. Again, we use a counterexample in order to
prove Theorem 3. We consider a single order A"1
with d "4, J"3, RA"1, RF"1, CA "1 for
1,t
1
each time instant t*0 and CF "10 for each peri1,t
od t"1,2, 4. The precedence relations between
the jobs are the same as for order a"1 of the
assembly graph given in Fig. 2. Furthermore, we
have I"2 parts with production coe$cients
C "C "1 on the single fabrication resource,
1
2
part demands of q "(5, 0), q "(0, 15), and
1
2
q "(10, 0), a processing time of p "1 for each job
3
j
j, part setup cost of s"(10, 10), and part holding
cost of hF"(4, 1). Solving the ASP to optimality,
we obtain the assembly schedule on the left side of
Fig. 6. For this schedule there does not exist a feasible FLP-solution since assembly job 2 requires 15
units of part type 2 at the end of period 1 and the
fabrication capacity in period 1 is only CF "10.
1,1
The right side of Fig. 6 gives an optimal and feasible
IALP-solution for the problem. h

5. Solution methodology
In this section we will introduce a simple heuristic for solving the IALP. The method decomposes

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

295

Fig. 6. Infeasible sequential and optimal integrated solution.

the IALP into its two subproblems, the ASP and
the FLP. A two-level approach "rst determines an
assembly schedule and afterwards lotsizes for the
FLP. The coordination of the levels is in a strict
top-down fashion with no feedback from the subordinate level (cf. [42]). Also, there is no explicit
feasibility anticipation on the "rst level, but only
a cost anticipation. Both levels perform a backward
oriented planning approach.
5.1. A list scheduling heuristic for the assembly
scheduling problem
We use a backward oriented list scheduling heuristic (cf. [43]) which schedules the jobs sequentially
in the order given by a job list p at their latest
precedence and resource feasible start times. Two
issues need clari"cation. First, how to construct
a list, and second, how to transform a list into
a feasible schedule. Let us begin with the construction of a feasible list.
5.1.1. List generation
A list n"S j , j ,2, j ] consists of the J non1 2
J
dummy jobs where j is the job at list position g. In
g
order to transform a list n into a feasible schedule
S"(S ,2, S ), the list has to respect the technolo1
J
gical precedence constraints as imposed by the assembly graph. Let for job j be S the set of
j
immediate successor jobs. Then
(11)
S g-M j ,2, j N (g"2,2, J)
1
g~1
j
states that job j must have a greater list position
than each of its direct successor jobs. By transitivity, the list position of job j is also greater than each
of its indirect successor jobs. Let L(0)"MJ#1N
and let L(g)"MJ#1, j ,2, j N denote a set of
1
g

jobs comprising the dummy sink of the integrated
assembly network and all jobs which have been put
to list positions 1,2, g. Let further be A(g) the set
of all available jobs which can be put at list position
g. On account of Eq. (11) A(g) can be de"ned as
A(g)"Mj3JD jNL(g!1) and S -L(g!1)N.
j
(12)
That is, available jobs itself must not be on the list,
while all their successor jobs have to be on the list.
Denoting with v(j) a priority value associated with
job j we can give the list generation algorithm as
follows:
List Generation
A. Initialization: L(0)"MJ#1N.
B. Iteration: For g"1 to J do
(1) Update A(g).
(2) Select j 3A(g) with v( j )"max A v(i).
g
g
i| (g)
(3) Update L(g).
The Initialization de"nes the set L(0) to include the
dummy sink of the integrated assembly network
only. Step (1) updates the set of available jobs, Step
(2) selects one job from the available set and puts it
in list position j . In case of ties, Step (2) selects the
g
job on the basis of `"rst come "rst servea (FCFS)
where the job is preferred which has been "rst in the
set A(g). Further ties are resolved by picking the
job with the smaller job number. Step (3) updates
the set of jobs on the list.
To select one job from the available ones, we
need to determine the priority value v(j) associated
with job j. We have employed the three rules given
in Table 2 which calculate the per period holding
cost of job j itself, of job j and all its immediate
predecessor jobs, and of job j and all its predecessor

296

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

Table 2
Priority rules for list generation

Table 3
List generation for the example instance

Priority rule

v(j)

g

1

2

3

4

PR1
PR2
PR3

hA
j
hA#+ PjhA
j
i| i
hA#+ PI jhA
j
i| i

L(g!1)
A(g)
j
g

M5N
M3, 4N
3

M3, 5N
M1, 2, 4N
2

M2, 3, 5N
M1, 4N
4

M2, 3, 4, 5N
M1N
1

jobs. PI denotes the set of all predecessors of job j.
j
Using priority rule PR3 for the four non-dummy
jobs of the example instance, we obtain the priority
values v(1)"5, v(2)"10, v(3)"20, and v(4)"5.
Table 3 details the list generation of the example
instance when these priority values are employed.
The resulting list is n"S3, 2, 4, 1].
5.1.2. Schedule generation
We now want to transform list n into a feasible
schedule S(n) which gives a start time S for each
j
job j such that precedence relations, the assembly
resource constraints, and the order due dates are
taken into account. Given the list p, we can simply
schedule the jobs in the order of the list at their
latest feasible start times. To do so, we need to
know CI A (g), the available capacity of the assembly
r,t
resource r at time instant t when scheduling the gth
job from the list. For the job on list position g"1
the available capacity CI A (1) is equal to the initial
r,t
capacity CA for all resource types r and time inr,t
stants t. For the jobs on list position g"2,2, J
the available capacity is dynamically updated according to
CI A (g)"CI A (g!1)
r,t
r,t

G

c g~1 if t3MS g~1,2, S g~1#p g~1!1N,
j
j
j
! j ,r
0
else,
r"1,2, RA, t"0,2, ¹.
(13)
The schedule generation algorithm can be given as
follows.
Schedule generation(p)
A. Initialization: S "maxA d , ¹"S !1,
a/1 a
J`1
J`1
CI A (1)"CA for r"1,2, RA, t"0,2, ¹.
r,t
r,t

B. Iteration: For g"1 to J do
(1) Calculate CI A (g) according to (13).
r,t
(2) Take the next job from the list: j"j .
g
(3) Determine the dynamic latest start time ¸S@ of
j
j w.r.t. precedence constraints:
¸S@ "min MS !t.*/N!p .
j,k
j
k
j
k|Sj
(4) Determine the latest resource feasible start time
S of j which is )¸S@ :
j
j
S (¸S@ )
j j
"maxLS@j jMtDr"1,2, RA;
t/ES
q"t,2, t#p !1: CI A (g)*c N.
r,q
j,r
j
The Initialization sets the start time of the sink to
the maximal due date, sets the planning horizon to
the time instant before the start time of the sink,
and sets the available capacity equal the initial
capacity. Afterwards, Steps (1)}(4) are performed
J times. At iteration g, job j is scheduled as late as
g
possible. Step (1) updates the available capacity.
Step (2) takes the next job j from the list. Step (3)
determines the dynamic latest start time ¸S@ acj
cording to precedence relations and due dates as
depicted in the assembly graph. Finally, Step (4)
searches for the latest start time of job j within the
time window [ES , ¸S@ ] where ES is the static
j
j
j
earliest start time of job j as calculated by forward
recursion (cf. [6]). Table 4 details the scheduling
algorithm when applied with list n"S3, 2, 1, 4] to
the example instance. The second row gives the
available capacity CI A (g) of the single resource
1,t
r"1 for time periods t"1,2, 5. The assembly
schedule which is generated is S"(2, 3, 4, 2). It has
assembly wide holding cost of 70 and is given in the
upper part of Fig. 5.
Analogously to the de"nition of left-active schedules (cf. Sprecher et al. [44]), we de"ne

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306
Table 4
Schedule generation for the example instance
g

1

2

3

4

CI A (g)
1,t
j
g
¸S@
j
ES
j
Sg
j

(3, 3, 3, 3, 3) (3, 3, 3, 3, 2) (3, 3, 3, 1, 2) (3, 3, 2, 1, 2)
3
2
4
1
4
3
2
3
1
0
0
0
4
3
2
2

De5nition 2. Right-active schedule. A right-active
schedule is a feasible schedule where none of the
jobs can be started later without forcing at least one
other job to start earlier.

Theorem 4. The schedule generation algorithm generates schedules which are right-active.

Proof. The schedule generation algorithm generates right-active schedules by construction because
each job j is scheduled as late as possible.
Since the objective function (1) of the IALP is
right-regular, there exists one list nH which is mapped by the schedule generation algorithm into the
IALP-optimal assembly schedule. Note, that
a given list p might lead to an infeasible solution of
the ASP or IALP.
5.2. A backward oriented heuristic for the fabrication
lotsizing problem
Given an assembly schedule S, the time-phased
part demand is
J
(14)
D " + q
j,i
i,t
j/1@Sj/t
and what remains is to solve RF independent
CLSPs. There have been many heuristics suggested
to solve the CLSP. A survey can be found in
[45,46]. Roughly, we can divide heuristic approaches in construction heuristics, improvement
heuristics, and mathematical programming based
heuristics. Construction heuristics build a feasible

297

production plan by proceeding from period to period and deciding via cost values about the lot sizes
of parts in the current period. Examples of such
approaches are given in [47}51]. Contrary to the
period-by-period approach, the heuristic of Kirca
and KoK kten [52] performs a part-by-part approach
where it is proceeded from one part to the next and
for each part a production plan for the whole
planning horizon is constructed.
Improvement heuristics start with a not necessarily feasible production plan and try to alter it
"rst to a feasible production plan and afterwards to
a production plan with less total cost by shifting
production lots. Examples of improvement heuristics are given in [53,54].
Finally, mathematical programming based heuristics construct for each part a number of production plans. The capacity feasible and cost minimal
coordination of production plans is obtained by
employing each production plan as column in
a large-scale linear program. Examples are given in
[46,55]. A special case are approaches where, "rst,
optimal setup patterns are found for the uncapacitated lotsizing problem and afterwards
production quantities are found by solving a transportation problem (cf. [56]).
Here, we will suggest a two-phase, backward
oriented, period-by-period heuristic. The "rst phase
constructs a feasible production plan and the second phase tries to improve this plan by greedily
shifting production lots. Both phases work in
a backward oriented manner. The idea of backward
oriented construction heuristics to solve capacitated
lotsizing problems has been "rst given by Haase
[57] and later extended by Kimms [28]. Its advantages are twofold. First, for the IALP, backward
planning is more intuitive than forward planning.
Second, contrary to forward oriented methods, we
do not have to employ time consuming feasibility
routines.
5.2.1. Lotsizing generation scheme
As pointed out above, the lotsizing heuristic
comprises a construction and an improvement
phase. The basic idea of the construction phase is to
step backward from the latest demand period ¹ to
period 1. In each period t"¹,2, 1 we decide
which of the parts with demand in t should be

298

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

produced now and for which parts we should shift
the demand into the next prior demand period. We
make this decision based on a cost value. The
second phase is similar but has two exceptions.
First, instead of demands, it tries to shift production lots and, second, shifting is not restricted to the
next prior production period but to all prior production periods. In order to give a formal description of the algorithm let us use some notation. We
begin with the calculation of the time-phased
demand as given in Eq. (14). The time-phased demand unfolds a cumulated capacity demand of
CD w.r.t. fabrication resource r between period
r,t
1 and period t
I
t
(15)
+ c )D .
CD " +
i i,q
r,t
F
i
q/1 i/1@r /r
The cumulated capacity CCF of resource r between
r,t
period 1 and t is
t
(16)
CCF " + CF .
r,q
r,t
q/1
Let now I be the set of parts, i.e., I"M1,2, IN.
The set of parts I with positive demand in t is
t
I "Mi3IDD '0N. Being in period t and looking
t
i,t
&backward' in time, we determine for part i3I the
t
next period q (t with positive demand
i
q "(M0NXmaxMqDq"1,2, t!1: D '0N).
(17)
i
i,q
If there is no more part demand in periods
1,2, t!1, then q is set to 0. Let denote B the set
i
t
of demands in period t which can be shifted backwards, i.e.,
B "Mi3I Dq '0 and d '0 and c (D i#D ))
t
t i
i
i i,q
i,t
CFFi i and for all q"q ,2, t!1: CD Fi #c )
i
i
r ,q
rq
(18)
D )CCFFi N
r ,q
i,t
where d is a part speci"c cost saving value whose
i
calculation will be detailed in Section 5.2.2. We can
now outline the backward lotsizing algorithm in
a more formal way. Note that for a given assembly
schedule S, we will use the time-phased demand
array D in a dynamic fashion. That is, the lot
i,t
sizing heuristic will alter D by moving and deleti,t
ing demands. Whenever a change in the demand
matrix takes place, I , CD , and B as de"ned
t
r,t
t
above are updated.

Backward lotsizing (r)
A. Initialization: Set ¹ equal the latest demand
period.
B. Construction phase: For t"¹ to 1 do
(1) While B "~ do
t
Select one i3B based on the cost
t
saving value d .
i
D i"D i#D , D "0.
i,q
i,t i,t
i,q
Update I , CD Fi , and B for
q
q
r ,q
q"1,2, t.
(2) While I O~ do
t
Select the part i3I which maximizes
t
h /c .
i i
Determine the amount of i producable
in t: Q "minMCFFi /c , D N.
r ,t i i, t
i,t
*CD Fi
#
If Q (D and CCFFi
r ,t~1
r ,t~1
i,t
i,t
c ) D and h ) Q (s then Q "0.
i i,t
i i,t
i
i,t
If t'1 then
D
"D
#D !Q .
i,t~1
i,t~1
i,t
i,t
D "0.
i,t
Update I , CD Fi , and B for
q
r ,q
q
q"1,2, t.
C. Improvement phase.
After the initialization has been completed, steps
(1)}(2) are performed ¹ times. In each iteration t,
Step (1) iteratively selects the part type i from the
set of backshiftable demands which maximizes the
cost measure d and shifts the associated demand
i
D to the prior demand period q . When there are
i,t
i
no shiftable demands left, Step (2) determines production lots for the remaining parts with demand in
period t. The selection criterion is the holding cost
per used capacity unit h /c . If a demand D cannot
i i
i,t
be entirely produced in t but has to be splitted, it is
checked whether a cost saving can be achieved by
shifting the entire demand D to the prior period
i,t
t!1.
The improvement phase builds up on the production plan obtained after the ¹-th iteration has
been performed. It systematically checks for each
part i with positive lot size in period t"¹,2, 2, if
the total fabrication cost can be reduced by shifting
the production lot Q to a production period
i, t
q"t!1,2, 1. Each improvement of the production schedule is realized in a greedy fashion.
Parts are considered in the order of increasing
index i.

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

299

Table 5
Backward lotsizing for the example instance
t

I
t

Step
(1)

t"4
t"3
t"2

M1N
M2N
M1, 3N

t"1

M3N

(2)

i

q
i

d
i

B
t

D

1

2

2

M1N
MN
MN

0

MN

Table 5 shows the functioning of the backward
lotsizing heuristic when applied to the example
instance with the demands D "(0, 5, 0, 5,),
1
D "(0, 0, 5, 0), D "(0, 5, 0, 0) and when employ2
3
ing the Dixon}Silver cost criterion (cf. Section
5.2.2). The demands stem from the heuristically
derived assembly schedule of Section 5.1.2. Note
that after the construction phase there is no improvement phase because each part is produced in
a single period. The lotsizing policy obtained has
overall cost of 55 which gives total cost for the
IALP of 125. The production plan, comprising
assembly schedule and fabrication lotsizes, is the
same as derived by solving the IALP sequentially.
Fig. 5 visualizes the solution.
5.2.2. Cost considerations
In order to decide if part i shall be produced in
the current period t or shall be backshifted to the
next prior demand period q , we have employed
i
di!erent cost values d . Namely, these are adapted
i
cost calculations of the period-by-period approaches of Eisenhut [47], Dixon and Silver [49],
GuK nther [50] as well as Lambrecht and Vanderveken [48]. Originally, all of them take setup and
holding cost in a forward oriented period-by-period approach into account. Here, we will adapt
them to our backward oriented approach. For each
part i we will only compare two alternatives: production of the demand D in the current period
i,t
t and backshifting of the demand D to the prior
i,t
demand period q (t. Note that the demand vector
i
D for part i might be sparse and hence q and
i
i
t might not be adjacent periods, i.e., t!q '1.
i

i, t

D

i,qi

i

Q

2
1
3
3

5
10
0
5

i, t

D

i, t

D

i,t~1

10
0
0
5

0
0
0
0

The cost measure of Dixon and Silver [49]
employs the Silver}Meal criterion [58] for the
uncapacitated LSP which compares the average
cost per period when producing the demand D in
i,t
t or in q . Production in t incurs per period cost of s ,
i
i
production in q incurs per period cost of
i
(s #h ) D ) (t!q ))/(t!q #1). The per period
i
i i,t
i
i
cost saving when producing in q instead of t is
i
s !(s #h ) D ) (t!q ))/(t!q #1). Dixon and
i
i
i i,t
i
i
Silver generalize this measure for the capacitated
case by dividing it by the number of capacity units
employed to produce the demand D :
i,t
s #h ) D ) (t!q )
i i,t
i
s! i
i
t!q #1
i
.
(19)
dDS"
i
c )D
i i,t
Eisenhut [47] employs the total cost saving when
producing the demand D in q instead of t. The
i,t
i
total cost saving equals s !h ) D ) (t!q ). This
i
i i,t
i
value is divided by (t!q #1)2 ) c ) D in order to
i
i i,t
derive the following cost measure:
s !h ) D ) (t!q )
i i, t
i .
(20)
dE" i
i
(t!q #1)2 ) c ) D
i
i i, t
Lambrecht and Vanderveken [48] extend the cost
measure of Eisenhut as follows:
s !h ) D ) (t!q )2
i
i i,t
i
.
(21)
dLV"
i
c ) D ) (t!q #1) ) (t!q )
i i,t
i
i
The cost saving value of Gro! [59] has been proposed for the uncapacitated static lotsizing problem (LSP). The general idea is that in the classical
economic order quantity model (EOQ) (cf. [60]) the

300

R. Kolisch / Int. J. Production Economics 68 (2000) 287}306

marginal decrease of the per period setup cost
equals the marginal increase of the per period holding cost. Gro! transfers this idea to the dynamic
uncapacitated LSP and GuK nther [50] extends this
approach to the capacitated lotsizing problem.
Adapting the idea of GuK nther to the backward
oriented approach, we derive the following cost
measure:
2)s
i!D ) (t!q #1)
i,t
i
h
.
(22)
dG" i
i
c )D
i i,t
Additionally, we have altered cost measure (22)
slightly to depict the cost saving (CS) per covered
period divided by the capacity demand.
s
i
!h ) D
i i,t
t!q #1
i
.
(23)
dCS"
i
c )D
i i,t
To illustrate the calculation of the di!erent cost
measures let us look at iteration t"4 of the backward lotsizing heuristic as given in Table 5. Here,
we have i"1, h "1, s "20, t"4, q "2, D "5,
i
i
i
i,4
and c "1. According to the formulas given above,
i
we obtain the cost measures dDS"2, dE"2/9,
1
1
dLV"0, dG"5, and dCS"1/3.
1
1
1
6. Experimental evaluation
6.1. Test Instances
For evaluation purposes, a set of 270 problem
instances was generated with a parameter controlled instance generator for assembly type problems
which builds up on ProGen (cf. [61]). The instance
set can be divided w.r.t. the size into small and large
instances. A full factorial experimental design with
three independent problem parameters was employed for both sets. The three independent problem parameters are the constrainedness of the
assembly resources, the constrainedness of the fabrication resources, and the ratio of setup and holding cost. All other parameters were randomly
drawn from given intervals.
For the small test instances, there is A"3,
J 3[3, 5], I"4, RA"1, RFA"1, RF"1, PF"0.5,
a

and r 3[0, 10]. J denotes the count of jobs belonga
a
ing to each order, RFA denotes the assembly
resource factor for all jobs. RFA measures the
density of the capacity demand array c for assemj,r
bly resources (cf. [61]). Correspondingly, PF
denotes the part factor which measures the density
of the part demand array q . RFA"1 expresses
j,i
the fact that all non-dummy jobs require each of
the available resource types in order to be processed. PF"0.5 says that each non-dummy job
requires a positive amount of half of the available
part types.
The following parameters were randomly drawn
from the speci"ed intervals: p 3[1, 3], c 3[1, 3],
j
j,r
q 3[10, 50]. The due date d was calculated as
j,i
a
follows. First, an order speci"c release date r was
a
randomly drawn from the uniformly distributed
interval [0, 10]. Afterwards, dM , an upper bound of
the completion of all orders if started at time instant t"0 is computed by summing up the processing times of of jobs, i.e., dM "+J p . Now, d ,
j/1 j
a
the due date of order a, is computed to
d "r #¸P a a#DF(dM !¸P a a) where ¸P a a des ,e
s ,e
a
a
s ,e
notes the longest path from the start job s to the
a
end job e of order a and DF3[0, 1] denotes the
a
due date factor. To generate feasible instances, DF
has been set according to the scarcity of assembly
and fabrication resources as given in Table 6.
The large problem instances are characterized by
the following parameter values: A"10, J 3[5, 10],
a
RA"2, RF"2, I"8, and r 3[0,30]. The due date
a
factor DF has been set according to Table 6.
The three independent problem parameters are
RSA, the assembly resource strength, RSF, the fabrication resource strength, and TBO, the time between order whi