Integer programming approach to production scheduling for make-to-order manufacturing
ABSTRACT This paper presents an integer programming approach to production scheduling in make-to-order environment with various due date related performance measures. The proposed formulations incorporate capacity constraints for a hybrid flowshop with multicapacity machines and with batch processing mode. Scheduling of divisible versus indivisible orders are considered. For the proposed integer programming formulations new cutting constraints are identified. Numerical examples modeled after real-world make-to-order assembly system are provided and some computational results with the proposed approach are reported.
- [Show abstract] [Hide abstract]
ABSTRACT: An improved differential evolution algorithm (IDE) is proposed to solve task assignment problem. The IDE is an improved version of differential evolution algorithm (DE), and it modifies two important parameters of DE algorithm: scale factor and crossover rate. Specially, scale factor is adaptively adjusted According to the objective function values of all candidate solutions, and crossover rate is dynamically adjusted with the increasement of iterations. The adaptive scale factor and dynamical crossover rate are combined to increase the diversity of candidate solutions, and to enhance the exploration capacity of solution space of the proposed algorithm. In addition, a usual penalty function method is adopted to trade-off the objective and the constraints. Experimental results demonstrate that the optimal solutions obtained by the IDE algorithm are all better than those obtained by the other two DE algorithms on solving some task assignment problems.Eng. Appl. of AI. 01/2011; 24:616-624. -
Article: Operator allocation planning for reconfigurable production line in one-of-a-kind production
[Show abstract] [Hide abstract]
ABSTRACT: In a one-of-a-kind production (OKP) company, the operation routing and processing time of an order are usually different from the others due to high customisation. As a result, an OKP company needs to dynamically adjust the production resources to keep the production lines reconfigurable. Through a proper assignment of operators in different sections of a production line, bottlenecks and operator re-allocation during production can be reduced effectively. In this paper, a mathematical model is introduced for optimal operator allocation planning on a reconfigurable production line in OKP. The optimisation objectives are to minimise the total number of the operators, total job earliness and tardiness, and the average work-in-process storage. A branch-and-bound algorithm with efficient pruning strategies is developed to solve this problem. The proposed model and the algorithm are empirically validated by using the data of a windows and doors manufacturing company. A software system based on the proposed approach has been implemented in the company.International Journal of Production Research 01/2011; 49(3):689-705. · 1.46 Impact Factor - [Show abstract] [Hide abstract]
ABSTRACT: One-of-a-Kind-Production (OKP) is a non-repetitive manufacturing mode that produces customised products with unique components. Due to the varying production requirements and inadequate operation experience, the unique components and related operations often causes great dynamics in the workshop execution process. Since most of the OKP companies currently adopt paper-based manual data transaction and report mechanism in workshop production process, such dynamics are hard to be timely detected and controlled, resulting in serious order delays and work-in-progress redundancies. Radio frequency identification (RFID) enables automatic and accurate object data capturing capability, and thus makes the real-time visibility and controllability possible to workshop execution process if combined with manufacturing execution system (MES). This article presents an easy-to-deploy and simple-to-use RFID-enabled MES to achieve such real-time control for typical OKP workshops. A real-life case study in a mold and die manufacturing company is presented to demonstrate how technical, social and organisational issues have been addressed in such project. A set of enabling technologies and systems that are key to the development of such RFID-enabled MES are introduced, including hardware like machine data terminal and workshop base station as well as software like scheduling and communication programmes. It is hoped that insights and lessons gained could be generalised for future efforts across small-and-medium-sized OKP manufacturers that share similar requirements.Int. J. Computer Integrated Manufacturing. 01/2012; 25:20-34.
Page 1
N_SEVIER
Available online at www.sciencedirect.com
8OlENCEE ~DIREOT e
Mathematical and Computer Modelling 41 (2005) 99-118
MATHEMATICAL
AND
COMPUTER
MODELLING
www.elsevier.com/locate/mcm
Integer Programming Approach
to Production Scheduling for
Make-To-Order Manufacturing
T. SAWIK
AGH University of Science and Technology, Faculty of Management
Department of Computer Integrated Manufacturing
A1.Mickiewicza 30, 30-059 Krakow, Poland
ghsawik~¢yf -kr. edu. pl
(Received April 2003; revised and accepted October 2003)
Abstract--This paper presents an integer programming approach to production scheduling in
make-to-order environment with various due date related performance measures. The proposed for-
mulations incorporate capacity constraints for a hybrid flowshop with multicapacity machines and
with batch processing mode. Scheduling of divisible versus indivisible orders are considered. For the
proposed integer programming formulations new cutting constraints are identified. Numerical exam-
ples modeled after real-world make-to-order assembly system are provided and some computational
results with the proposed approach are reported. © 2005 Elsevier Ltd. All rights reserved.
Keywords--Production
gramming.
scheduling, Make-to-order environment, Flexible flow line, Integer pro-
NOMENCLATURE
INDICES
bg
g customer order, g E G = {1,..., q}
i processing stage, i E I = {1,..., m} dg
j parallel machine in stage i,
i • Ji = {1 ..... ml}
og
t planning period, t • T = {1,..., h} P~g
G(d)
INPUT PARAMETERS
h planning horizon
m number of processing stages
rn~ number of parallel machines in
stage i
Gi
q number of production orders
Gi(t)
ag arrival period of order g
the smallest portion of order g to
be performed in a single planning
period (minimum batch size)
due date of order g
size of order g
processing time in stage i of each
product in order g
{g E G : dg = d} subset of
production orders with identical due
date d
subset of production orders to be
processed in stage i
{g E Gi : ag < t < dg} subset of
production orders to be processed in
stage i in period t
This work has been partially supported by AGH and KBN (Poland) and by the Motorola Advanced Technology
Center (U.S.A.).
0895-7177/05/$ - see front matter (~) 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.mcm.2003.10.053
Typeset by ~43dS-TEX
Page 2
100 T. SAWIK
cit available machine capacity in
processing stage i in period t
capacity of machine j in stage i
(number of products that can be
processed simultaneously)
output buffer capacity
length of each planning period
s~j
B
L
DECISION VARIABLES
eg, lg ~_ 0
the number of periods that order g
is early, is late, respectively
if order g is completed after due
date; otherwise ug ---- 0 (unit penalty
for tardy orders)
if order g is performed in period t;
otherwise vgt -- 0 (order assignment
variable)
ug ---- 1
vgt = 1
Wgt
Xijt ~ i
NTO
TMX
TOT
TWR
Mmax
portion of order g assigned to period
t (order allocation variable)
if machine j E J~ in stage i E I is
selected for assignment in period ~;
otherwise xljt -- 0 (machine
assignment variable)
number of tardy orders
maximum tardiness
total tardiness
tardy work ratio
maximum number of machines
selected for assignment in a single
planning period
1. INTRODUCTION
In make-to-order discrete manufacturing environments, optimized production schedules are
crucial. One of the basic goals of production scheduling is to maximize customer service level,
that is, to maximize the fraction of customer orders filled on or before their due dates, e.g., [1]. A
typical customer due date performance measure is the minimization of the number of tardy orders,
minimization of total tardiness, minimization of maximum tardiness or minimization the ratio
of tardy work of late orders to total work of all orders. Tardiness is defined to be the difference
between order due date and the completion time if the order is late or zero, otherwise [2].
Figure 1 shows a hierarchical production scheduling framework for make-to-order manufactur-
ing. First, at the top level, the long term (e.g., monthly) master scheduling (see [3]) allocates
customer orders among planning periods (e.g., days) to optimize some due date related criterion.
Then, at the medium level, the short term (e.g., daily) lot streaming (also called lot splitting
or batching) divides production lots into indivisible sublots each to be processed as a separate
job. Finally, at the base level, the detailed sequencing and scheduling translates subset of manu-
Customer Orders i
Master
Scheduling
!
Monthly Production Schedule/
Batching
Daily Production Batches
Sequencing
& Scheduling
Daily Production Schedule
Figure 1. Production scheduling for make-to-order manufacturing.
Page 3
Integer Programming Approach 101
facturing sublots into short term (e.g., daily) machine scheduling to minimize some performance
measure, (e.g., makespan).
The purpose of this paper is to present new integer programming formulations for master pro-
duction scheduling in make-to-order manufacturing with various due date related performance
measures. Scheduling of divisible (multiperiod) versus indivisible (single-period) orders are con-
sidered. The proposed formulations incorporate capacity constraints for a hybrid fiowshop with
multicapacity machines and with batch processing mode. The capacity constraints account for
total processing time available at each processing stage of the flowshop, given minimum transfer
batches for each product type. The formulations proposed, however, are quite versatile and can
be applied for master scheduling in various make-to-order manufacturing environments.
The integer programming approach has been widely used for production planning and schedul-
ing, e.g., [4]. For example, integer goal programming formulation for master scheduling with
due date related criterion in make-to-order manufacturing is presented in [5], the mixed integer
programs for lot streaming in job-shop scheduling is proposed in [6], and integer programming
formulations for balancing and scheduling of a hybrid flowshop with identical machines are given
in [7,8] and with multicapacity machines--in a two-part paper [9].
In industrial practice, however, the application of integer programming for scheduling is limited.
For example, in [10] an integer program is presented for scheduling a hybrid flowshop, however
no computational results are reported. A major disadvantage of integer programming approach
for scheduling is the need for solving large mixed integer programs. However, recent advances in
integer programming have resulted in commercial software that can handle large mixed integer
programs and find a proven optimal solution within a reasonable computation time, in particular
if a strong formulation is applied. This paper presents such formulations and illustrates their
possible applications using examples modeled after a real world production system.
The paper is organized as follows. In the next section, description of make-to-order production
scheduling for a general manufacturing environment of a hybrid flowshop with multicapacity
machines is provided. Integer programming formulations for scheduling multiperiod orders are
presented in Section 3. Model enhancements and some cutting constraints are described in
Section 4. Section 5 presents integer programs for scheduling single-period orders. Section 6 gives
two important practical extensions of the proposed formulations. Numerical examples modeled
after real-world make-to-order assembly system and some computational results are provided in
Section 7, and conclusions are given in the last section.
2. PROBLEM DESCRIPTION
The production system under study is a flexible flow line (e.g., [11]) that consists of m processing
stages in series (for notation used, see the Nomenclature). Each stage i E I -- {1,..., m} is made
up of mi ~ 1 parallel multicapacity machines. Let J~ --- {1,..., rni} be the set of indices of
parallel machines in stage i and denote by sij _> 1 capacity (number of products that can be
processed simultaneously) of machine j E Ji in stage i E I, (see Figure 2).
In the system, various types of products are produced in a make-to-order environment re-
sponding directly to customer orders. Let G be the set of q customer orders. Each order g E G
I , ~ i \ / i . ~ l
i i tX i i
l_ _1 I__ _ J
Stage 1 Stage 2
i
il_'~
:
•
i
I
_ ]
Stage m
Figure 2. A flexible flow line with multicapacity machines.
Page 4
102 T. SAWIK
is described by a triple (og, ag, dg), where Og is the quantity of ordered products, ag the order
arrival period (e.g., the earliest period of material availability), and dg customer due date (e.g.,
customer required shipping date).
Each order requires processing in various processing stages, however some orders may bypass
some stages. Let Gi C G be the subset of orders that must be processed in stage i, and let Pi9 > 0
be the processing time in stage i of each product in order g E Gi. The orders are processed and
transferred among the stages in batches of various size and let bg be the minimum batch size for
order g.
The planning horizon consists of h planning periods (e.g., working days) of equal length L
(e.g., hours or minutes). The problem objective is to assign customer orders to planning periods
to complete all orders with minimum delays from their due dates.
The following two types of the scheduling problems are considered.
1. Scheduling of divisible orders, where each order can be split and processed in one or more
consecutive time periods. The divisible orders are referred to as multiperiod orders.
2. Scheduling of indivisible orders, where each order must be processed in exactly one time
period. The indivisible orders are referred to as single-period orders.
It should be pointed out that the integer programming formulations presented in the sequel
are quite versatile and do not depend on any specific make-to-order manufacturing environment,
and the hybrid flowshop production system described above is modeled only by the capacity
constraints in the proposed formulations.
3. PRODUCTION SCHEDULING FOR MULTIPERIOD ORDERS
In this section, four integer programming formulations are presented for production scheduling
of divisible orders. The problem objective is to split and allocate customer orders among planning
periods to complete all orders with a due date related criterion minimized. The following four
due date related performance measures will be considered:
- number of tardy orders, NTO,
- total tardiness, TOT,
- maximum tardiness, TMX,
- tardy work ratio, TWR.
MODEL PSM1. PRODUCTION SCHEDULING FOR
MULTIPERIOD ORDERS TO MINIMIZE NUMBER OF TARDY ORDERS.
Minimize NTO = E ug, (1)
gEG
subject to the following conditions.
ORDER ALLOCATION CONSTRAINTS.
E Wg t Og ;
tET:t>_a 9
g e v, (2)
VgL(tl+t2)/2 j > vgtl "4- Vgt2 -- 1; g E G,
wgt >_ bgvgt;
vgt > wg---At;
g C G,
g E G,
Og
CAPACITY CONSTRAINTS.
E pigwgt <_ cit;
gEGi(t)
tl,t2ET:ag_<tl<t2_<h,
t C T : t_> %,
(3)
(4)
t C T :t > %. (5)
iEI, tET. (6)
Page 5
Integer Programming Approach 103
TARDY ORDER CONSTRAINTS.
u~> ~ ~t g~a, (7)
tET:t>dg Og
ug <_ Og - ~ w~; g ~ V.
(8)
tET:a~(t(d~
VARIABLE NONNEGATIVITY AND INTEGRALITY CONSTRAINTS.
us e {0,1};
vgt • {0,1};
Wgt >_ 0;
g • c,
g • G,
g E G,
(9)
(10)
(11)
t • T : t > %,
t C T : t >_ ag,
where [.J is the greatest integer not greater than., cit is available machine capacity in stage i in
period t, defined as
The available capacity elt accounts for the flow line configuration with parallel multicapacity
machines and minimum sizes of transfer batches.
Objective function (1) represents the number of orders completed after their due dates. Con-
straints (2) and (3) divide and allocate each order among a subset of consecutive planning pe-
riods. Constraints (4) and (5) ensure that if an order is assigned to a planning period, at least
the minimum portion of this order must be produced in this period. The capacity constraint (6)
specifies that capacity cit in each stage i and any planning period t cannot be violated. Finally,
constraints (7) and (8) define tardy orders.
MODEL PSM2. PRODUCTION SCHEDULING FOR
MULTIPERIOD ORDERS TO MINIMIZE TOTAL TARDINESS.
Minimize TOT = l~,
gEG
subject to the following conditions.
ORDER ALLOCATION CONSTRAINTS. Equations (2)-(5).
CAPACITY CONSTRAINTS. Equation (6).
ORDER TARDINESS CONSTRAINTS.
(13)
eg<d 9-t%t;
lg>tvgt-dg;
eg+lg <h-ag;
gEG,
gcG,
gEG.
tET: a 9<t<_dg,
tET: t>_dg,
(14)
(15)
(16)
VARIABLE NONNEGATIVITY AND INTEGRALITY CONSTRAINTS. Equations (10), (11), and
eg, lg > 0; g E G. (17)
Objective function (13) represents the total tardiness of all orders completed after their due
dates. Constraints (14)-(16) define the earliness, eg and the lateness, 19, of any order g relative
to its due date dg and the planning horizon. Given the structure of Model PSM2, the continuous
earliness and lateness variables eg and lg will be integer valued.
Page 6
104 T. SAWIK
MODEL PSM3. PRODUCTION
MULTIPERIOD
SCHEDULING
ORDERS
FOR
TO MINIMIZE MAXIMUM TARDINESS.
Minimize TMX,
(18)
subject to the following conditions.
ORDER ALLOCATION CONSTRAINTS. Equations (2)-(5).
CAPACITY CONSTRAINTS. Equation (6).
ORDER TARDINESS CONSTRAINTS. Equations (14)-(16).
MAXIMUM TARDINESS CONSTRAINTS.
Ig < TMX; g e G. (19)
VARIABLE NONNEGATIVITY AND INTEGRALITY CONSTRAINTS. Equations (10), (11), and (17).
The objective function (18) represents maximum tardiness (i.e., maximum nonnegative differ-
ence between order's completion period and due date) defined in (19).
MODEL PSM4. PRODUCTION SCHEDULING FOR
MULTIPERIOD ORDERS TO MINIMIZE TARDY WORK RATIO.
( ~ p~g) wgt
Minimize
TWR---- geG,teT:t>dg k/el ,
(20)
~] (~pig~Og
gEG \iEl /
subject to the following conditions.
ORDER ALLOCATION CONSTRAINTS. Equations (2)-(5).
CAPACITY CONSTRAINTS. Equation (6).
VARIABLE NONNEGATIVITY AND INTEGRALITY CONSTRAINTS. Equations (10) and (11).
The objective function (20) represents the ratio of tardy work of late orders to total work of
all orders.
4. MODEL ENHANCEMENTS
Problems PSM1-PSM4 have feasible solutions if for each processing stage the total demand on
capacity does not exceed total capacity available, i.e., if the following feasibility conditions are
satisfied:
~ p/gog
gEG,
~ 1; Vi E I. (21)
~ Cit
~ET
Furthermore, a due date d e DD, (DD -- {dg : g e G} is the set of due dates of all orders)
can be satisfied if for each processing stage the cumulative demand on capacity of all orders with
due dates not greater than d does not exceed the cumulative capacity available in this stage in
periods 1 through d, i.e., the cumulative capacity ratio ccr(d) is not greater than 1
~
E
tET:t~_d
p~gog I
IEDD,gEG(f):f<d
ccr(d) = max -
air
<_ 1;
iEI
d E DD. (22)
The integer programs PSM1-PSM4 can be strengthened by the incorporation of additional
cutting constraints on decision variables. It is possible to generate such constraints by relating
Page 7
Integer Programming Approach 105
for each due date the minimum demand on required capacity to available capacity and the
cumulative demand on required capacity to available cumulative capacity.
The minimum capacity in each period and each processing stage required to complete all orders
by their due dates can be determined assuming that every order is evenly allocated among all
periods from its arrival until due date, i.e.,
geG~(d) | .
If the resulting minimum demand on capacity exceeds available capacity cit in at least one
period t, then some orders must be reallocated to earlier or later periods that have excess of
capacity. Order reallocation can affect tardiness which depends on the order's completing period
relative to its due date. Hence, some orders with due dates in periods with the minimum demand
on capacity exceeding available capacity are potentially subject to tardiness. On the other hand,
all orders with due dates in periods with the minimum demand on capacity not exceeding available
capacity can be completed by their due dates.
The due dates with the minimum demand on capacity not exceeding available capacity and
with the cumulative demand on capacity not exceeding cumulative available capacity are referred
to as satisfiable due dates. The subset DD0 of satisfiable due dates is defined below
DD0= dEDD:max gse~(a) <landccr(d)<l
--
.
iEI Cid
--
On the other hand, due dates with the cumulative demand on capacity exceeding cumula-
tive capacity available are referred to as potentially unsatisfied due dates. The subset DD1 of
potentially unsatisfied due dates is defined below
DD1 = {d E DD: ccr(d) > 1}.
In order to meet a potentially unsatisfied due date d E DD1, some orders g E Gi(d) (for which
ag < d < dg) should be moved to periods with slack capacity. In particular, at least one order
with the earliest potentially unsatisfied due date d = min{d : d E DD1} will be tardy.
The cutting constraints on decision variables for orders with satisfiable or potentially unsatisfied
due dates are shown below.
Cutting constraint on unit penalty
ug=0; gEG(d),
dEDDO,
(23)
E ug >_ 1; d = min{d : d E DD1}. (24)
gEO(d)
Cutting constraint on order assignment
vgt ---- 0;
g E G(d), d E DD0, t E T : t > dg, (25)
E vgt > 1; d = min{d : d E DD1}. (26)
gEG(d),tET:t>dg
Constraints (23),(25) guarantee no delayed completion of each order with satisfiable due date,
and (24),(26) ensure that at least one order with the earliest potentially unsatisfied due date will
be tardy to reduce demand on capacity in this period.
Constraints (23),(24) and (25),(26) should to be added to Models PSM1 and PSM2-PSM4,
respectively.
Page 8
106 T. SAWIK
5. PRODUCTION
FOR SINGLE-PERIOD
SCHEDULING
ORDERS
In this section, the mixed integer programming models presented for scheduling multiperiod
(divisible) orders will be restricted for the case of indivisible orders, where each production order
must be fully completed in exactly one planning period. (It is assumed that any order can be
completed in a single planning period.) For example, such restrictions may result from a limited
storage space for holding completed portions of some orders before shipping the entire orders to
customers.
Due to the discrete nature of orders, it is unlikely that any time period will be filled exactly to
its capacity. As a result the feasibility condition (21) for production schedule with divisible orders
can no longer be a sufficient condition for existence of a schedule for indivisible orders. Hence,
some orders may be left unscheduled during the planning horizon. Furthermore, the solution
values of the objective functions NTO, TOT, TMX, or TWR of the optimal indivisible schedules
are typically greater than the corresponding values of the optimal divisible schedules.
The single-period orders that cannot be scheduled in periods 1 through h due to insufficient
capacity are assigned at a significant penalty Q to a dummy planning period h* = h + 1 with
infinite capacity Cih* = oc.
Let T* = {1,..., h, h + 1} be the enlarged set of planning periods with a dummy period
h* = h + 1 included.
The integer programs for scheduling single-period orders are presented below.
MODEL PSS1. PRODUCTION SCHEDULING FOR
SINGLE-PERIOD ORDERS TO MINIMIZE NUMBER OF TARDY ORDERS.
Minimize NTO + Q Z Ugh*'
(27)
9EG
subject to the following conditions.
ORDER ASSIGNMENT CONSTRAINTS.
Z ---- 1;
Vgt
tET* :t>_ag
9 e a. (28)
CAPACITY CONSTRAINTS.
Z pigogvgt cit;
<
iEI, tET.
(29)
TARDY ORDER CONSTRAINTS.
ug >_
(tET.~..t>ag $Vgt -- dg) .
h
ug < 1 - 2., vgt;
tET*:ag~_t(_d 9
g c c, (30)
g E G. (31)
VARIABLE INTEGRALITY CONSTRAINTS.
Equation (9) and
vgt E {0,1}; gEG, tET* :t>_a 9. (32)
In the objective function (27) unscheduled orders are penalized at a much higher rate than
tardy orders. The penalty can depend on the order, and then Q should be replaced with Qg
Page 9
Integer Programming Approach 107
for each order g. Constraint (28) ensures that each order is assigned to exactly one time period.
Capacity constraint (29) ensures that in every period demand on capacity in each stage is not
greater than available capacity. Constraint (30),(31) define tardy orders, where ~-~teT':t>__a9 tvgt
is the completion period of order g E G. The right-hand side of (30) takes a value between 0
and 1, whereas right-hand side of (31) is equal to 0 or 1.
MODEL PSS2. PRODUCTION SCHEDULING FOR
SINGLE-PERIOD ORDERS TO MINIMIZE TOTAL TARDINESS.
Minimize TOT + Q Z vgh., (33)
gEG
subject to the following conditions.
ORDER ASSIGNMENT CONSTRAINTS. Equation (28).
CAPACITY CONSTRAINTS. Equation (29).
ORDER TARDINESS CONSTRAINTS.
tv t + = de; 9 e a. (34)
tET* :t~_ag
VARIABLE NONNEGATIVITY AND INTEGRALITY CONSTRAINTS. Equations (17) and (32).
In the objective function (33) unscheduled orders are penalized at a much higher rate than
total tardiness. Constraint (34) defines the earliness, %, and the lateness, lg, of any order g
relative to its due date dg.
MODEL PSS3. PRODUCTION SCHEDULING FOR
SINGLE-PERIOD ORDERS TO MINIMIZE M A X I M U M TARDINESS.
Minimize TMX + Q ~ vga. ,
(35)
gEG
subject to the following conditions.
ORDER ASSIGNMENT CONSTRAINTS. Equation (28).
CAPACITY CONSTRAINTS. Equation (29).
ORDER TARDINESS CONSTRAINTS. Equation (34).
MAXIMUM TARDINESS CONSTRAINTS. Equation (19).
VARIABLE NONNEGATIVITY AND INTEGRALITY CONSTRAINTS. Equations (17) and (32).
In the objective function (35) unscheduled orders are penalized at a much higher rate than
maximum tardiness.
MODEL PSS4. PRODUCTION SCHEDULING FOR
SINGLE-PERIOD ORDERS TO MINIMIZE TARDY WORK RATIO.
( ~ P~9 o~vgt
\iEI ) gEG,tET*:t>dg
Minimize
+ Q Z Vgh.,
(36)
g~G \iEI ]
subject to the following conditions.
ORDER ASSIGNMENT CONSTRAINTS. Equation (28).
CAPACITY CONSTRAINTS. Equation (29).
VARIABLE INTEGRALITY CONSTRAINTS. Equation (32).
The first term in the objective function (36) represents the ratio of total work of late orders to
total work of all orders and the second term introduces a high penalty for unscheduled orders.
Page 10
108 T. SAWIK
6. MODEL EXTENSIONS
In this section, two important practical extensions of integer programming formulations are
presented. The first extension accounts for limited storage space for the finished products, and
the second one deals with leveling of machine assignments over a scheduling horizon.
Finite output buffers
In make-to-order manufacturing environments finite output buffers axe introduced to hold
completed products before delivery to the customer, e.g., [12]. Typically, the output buffer
capacity is not large to keep low inventory costs and to limit an early completion of production
orders before the customer required shipping dates. As a result order reallocation to earlier
periods with excess of capacity is also limited, which can affect tardiness.
The models presented can be easily extended to account for finite output buffers by introducing
the following constraints (37) and (38), respectively, for scheduling multiperiod and single-period
orders.
Output buffer capacity constraints
E war _< B; t E T, (37)
gEG,s ET:ag ~r(t<dg
t E T, (38)
ogvg~ < B;
gEG,sET:a a (r~_t<d~
where B is the capacity of output buffer.
In practice, the above model extension can also be used to find minimum capacity of output
buffer required to complete all orders by their due dates. In such a case, variable B should be
added with an appropriate weight to the minimized objective function.
Leveling machine assignments
A typical secondary objective for master scheduling is to level machine assignments over a
scheduling horizon. Leveling machine assignments and by this balancing the workforce (number
of people required for machine attendance) results in lower operational costs.
In addition to minimizing due date related criteria, the integer programs presented can also be
applied to level machine assignments. The capacity constraints (6) and (29) should be replaced
with the following machine assignment constraints (39) and (40), (41), respectively, for scheduling
multiperiod and single-period orders. In addition, balancing constraint (42) should be introduced
to each model.
Machine assignment constraints
E pigw~t < _ Lit E s,~x,~t;
geG~(t)
PigOgVgt ~_ Lit ~ 8ijXijt;
geG~(t)
jeJ~
E
jeJ~
iEI ,j E Ji gEU i :t>_ag
E xij~ _< Mm~x;
iel,jEJ~
where Lit is available processing time in stage i in period t
ieI, tET,
(39)
iEI, teT,
(40)
ieI, tET,
(41)
t E T, (42)
gEGi(t) f (i gEG~(t) f >i
(43)
Page 11
Integer Programming Approach 109
Constraint (41) ensures that the number of machines selected in each stage and each period is
not greater than the maximum number of assigned transfer batches.
In order to reach a balanced machine assignment, variable Mmax should be added with an
appropriate weight to the corresponding minimized objective function.
7. COMPUTATIONAL EXPERIENCE
In this section, numerical examples are presented and some computational results are reported
to illustrate possible applications of the integer programming approach. The examples are mod-
eled after a real world distribution center for high-tech products (see Figure 3), where finished
products are assembled for shipping to customers. The production system consists of the follow-
ing m = 5 processing stages: three flashing/flexing stages i = 1, 2, 3, where required software is
downloaded, one postponement stage i -- 4, where products for some orders are customized, and
one packing stage i = 5, where products and required accessories are packed for shipping. The
system is made up of ml = 10, m2 = 5, m3 = 5, m4 = 1, m5 = 2 parallel machines in stage
i = 1,2, 3, 4, 5, respectively.
FLASHING/FLEXING
Figure 3. A distribution center.
The capacities of multicapacity machines are slj = 10, j = 1, 2, 3, 4, 5, s2j = 5, j = 1, 2, 3,
s3j = 5, j = 1,2, and s~3 = 2. The remaining machines have unit capacity, i.e., sij = 1,
i=l, j =6,7,8,9,10; i=2, j =4,5; i=3, j=4,5;
In the system q = 100 orders of the three sizes o 9 E (120,240,480} for various products
g E G = {1,..., 100} must be completed. The minimum batch size is bg = 10,Vg E G. Each
order requires processing in at most three stages: one flashing/flexing stage, the postponement
stage, and the packing stage (see Figure 3). However, some orders do not need postponement.
Table 1 gives processing times pig, i c I, g E G.
The planning horizon consists of h = 20 days, each of length L = 1400 minutes. All orders are
assumed to arrive at the beginning of the planning horizon, i.e., ag = 1, g E G, and the orders
due dates are d 9 = t, g E G(t) = {5(t - 1),..., 5t), t = 1,..., 20, i.e., by every day a subset of
five successive orders should be completed.
In the computational experiments four test problems are constructed with the following four
regular patterns of demand.
i=4, j=l; i=5, j=l,2.
1. Increasing, with demand skewed toward the end of the planning horizon. The order sizes
are
%=120, g=1,...,33; %=240, g=34,...,66; og=480, g=67,...,100.
2. Decreasing, with demand skewed toward the beginning of the planning horizon. The order
sizes are
og=480, g=1,...,33; o 9--240, g=34,...,66; %=120, g--67,...,100.
Page 12
110
g/i =
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
3O
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
T. SAWIK
Table 1. Processing times Pig.
2 3 4 5 g/i = 1
1
10 0 0 1 2 51 10
I0 0 0 0 2 52 I0
0 10 0 1 2 53 0
0 10 0 1 2 54 0
10 0 0 0 1 55 I0
0 0 I0 I 1 56 0
0 i0 0 1 2 57 0
0
I0 0 0 2 58 0
0
0 I0
1
3 59 0
0
10
10
0 2
0
0
0
1
0
3
3
2
60
61
62
0
i0
10
0
0
0 10 0 1 2 63 0
0 10 0 1 2 64 0
I0 0 0 0 i 65 10
0 0 10 i 1 66 0
0 10 0 i 2 67 0
0 10 0 0 2 68 0
0 0 10 1 3 69 0
0 0 2 0 3 70 0
10 0 0 I 3 71 10
10 0 0 0 2 72 10
0
0
10
I0
0
0
1
1
2
2
73
74
0
0
i0 0 0 0 1 75 I0
0 0 I0 1 1 76 0
0 I0 0 1 2 77 0
0 10 0 0 2 78 0
0 0 I0 i 2 79 0
0 0 2 0 2 80 0
I0 0 0 1 2 81 i0
I0 0 0 0 2 82 I0
0 10 0 1 2 83 0
0 i0 0 1 2 84 0
10 0 0 0 1 85 10
0 0 10 i 1 86 0
0
0
0
10
10
0
0
0
10
1
0
1
2
2
2
87
88
89
0
0
0
0 0 2 0 2 90 0
10 0 0 I 2 91 10
10 0 0 0 2 92 10
0 10 0 1 2 93 0
O 10 0 1 2 94 0
10
0
0
0
0
10
0
1
i
1
95
96
10
0
0 10 0 1 2 97 0
2 3 4 5
0 0 1 2
0 0 0 2
10 0 1 2
10 0 1 2
0 0 0 1
0 i0 1 1
i0 0 1 2
10 0 0 2
0 I0 1
2
0 6 0 2
0 0 1 2
0 0 0 2
10 0 1 2
I0 0 1 2
0 0 0 1
0 10 I 1
i0 0 1 2
10 0 0 2
0 10 1 2
0 2 0 2
0 0 1 2
0 0 0 2
10 0 1 2
10 0 1 2
0 0 0 1
0 10 1 1
I0 0 1 2
10 0 0 2
0 10 1 2
0 2 0 2
0 0 i 2
0 0 0 2
10 0 1 2
10 0 1 2
0 0 0 I
0 10 1 1
I0 0 1 2
10 0 0 2
0 10 I 2
0 2 0 2
0 0 1 2
0 0 0 2
10 0 1 2
i0 0 1 2
0 0 0 1
0 10 1 1
10 0 1 2
Page 13
Integer Programming Approach
Table 1. (cont.)
111
g/i ----
48
49
50
1
0
0
0
2
10
0
0
3
0
10
2
4
0
1
0
5
2
2
2
g/i ---
98
99
100
1
0
0
0
2
10
0
0
3
0
10
2
4
0
1
0
5
2
2
2
3. Unimodal, where demand peaks in the middle of the planning horizon and falls under
available capacity in the first and last days of the horizon. The order sizes are
og=120, g=1,...,29; og=480, g=30,...,70; %=120, g=71,...,100.
4. Bimodal, where demand peaks at the beginning and at the end of the planning horizon
and slumps in midhorizon. The order sizes are
%=480, g=1,...,23; %=120, g=24,...,77; %--480, g=78,...,100.
Pattern 1 requires some orders to be completed earlier, for pattern 2 a majority of orders must
be moved later in time, whereas patterns 3 and 4 require that orders are moved both early and
late to reach feasibility.
For the above four patterns of demand, Table 2 gives cumulative capacity ratio ccr(d), (22) for
each test problem.
Table 2. Cumulative capacity ratio ccr(d).
Demand Pattern / d
1. Increasing
2. Decreasing
3. Unimodal
4. Bimodal
Demand Pattern / d
1. Increasing
2. Decreasing
3. Unimodal
4. Bimodal
1 2 3 4 5 6 7 8 9 10
0.55
1.41
0.91
1.04
20
0.93
0.96
0.89
0.99
0.39
1.56
0.39
1.56
11
0.57
1.35
0.97
0.98
0.43
1.74
0.43
1.74
12
0.59
1.30
1.02
0.93
0.43
1.74
0.43
1.74
13
0.60
1.26
1.06
0.89
0.44
1.78
0.44
1.78
14
0.66
1.20
1.10
0.86
0.44
1.77
0.44
1.69
15
0.72
1.15
1.05
0.83
0.43
1.73
0.47
1.47
16
0.78
1.10
1.01
0.85
0.44
1.67
0.63
1.32
17
0.82
1.06
0.97
0.90
0.49
1.56
0.75
1.21
18
0.86
1.02
0.94
0.93
0.52
1.48
0.84
1.11
19
0.90
0.99
0.91
0.96
The production schedules for the test examples were calculated on a Compaq Presario 1830
laptop with Pentium III, 450 MHz using AMPL modeling language and CPLEX v.7.1 solver. A
priority list of assignment variables vgt was constructed to guide the branch and bound search:
assignments vgt of orders g C G(d) with due dates in time periods that are over capacity (d E DD1)
are given priority ccr(d)/d in all periods t > %. In addition, for such assignment variables
branching direction preference was specified for branching "down", i.e., the branch and bound
algorithm first processes subproblems with the selected assignment variable vgt --- 0 for all time
periods t > ag.
In the computational experiments the basic integer programming formulations were enhanced
with the corresponding cutting constraints (23)-(26). The characteristics of mixed integer pro-
grams for the test problems, and the solution results are summarized in Tables 3-6. The size of
the mixed integer programming models for the test problems is represented by the total number
of variables, Vat., number of binary variables, Bin., number of constraints, Cons., and number
of nonzero coefficients, Nonz., in the constraint matrix. The last four columns in each table
present the lower bound LB on the solution value, the best solution value, the node number
in the branch-and-bound tree at which the best solution was found, and CPU time in seconds
required to prove optimality of the solution.
Page 14
112 T. SAWIK
Model
Table 3. Computational results: increasing demand pattern.
Vav.
Bin. Cons. Nonz.
PSM1
PSM2
PSM3
PSM4
PSS1
PSS2
PSS3
PSS4
t proven optimal
CPU seconds for" proving optimality
l I
3496 1770 16762
3596 1725 18427
3596 1725 18471
3451 1725 16617
1771 1770 392
1911 1765 337
1911 1765 381
1826 1825 192
LB Solution
Value
Nodes CPU ~t
53701 0 NTO t - 0 0 24
56136 0 TOT t = 0 85 44
56180 0 TMXt = 0 10 48
52516 0 TWR t -- 0 37 33
8926 0 NTO t = 0 1184 21
8101 0 TOT t = 0 2690 110
8145 0 TMX t ---- 0 1040 25
6891 0 TWR t -- 0 924 11
Table 4. Computational results: decreasing demand pattern.
Model Var. Bin. Cons. Nonz. LB
PSMI
PSM2
4081
4181
2085
1995
21392 68463
23372 71573
II
15
PSM3 4181 1995 23460 71567 4
PSM4 3991 1995 21202 67233 0.1675
PSS1 2086 2085 402 10503 13
PSS2 2271 2080 392 9903 149
PSS3 2271 2080 481 9992 4
PSS4 2096 2095 202 8428 0.2107
t proven optimal
CPU seconds for proving optimality
Best
Solution
Value
Nodes CPU*
NTOt = 11 40 51
TOT---- 132 980 :>3600
TMXt = 5 300 1400
TwRt = 0.1675 83 51
NTOt = 13 901 24
TOT-- 150 410 >3600
TMX t -- 7 730 Ii0
TWRt ---- 0.2107 398 8.5
Tables 3-6 show that the CPLEX
allowed 3600 seconds of CPU time, however the best solutions were found much earlier than the
time limit.
The computational effort required to find proven optimal solution depends on pattern of de-
mand and the objective function. The proven optimal solutions were found for all test problems
with increasing demand pattern and most test problems with decreasing demand pattern. The
proven optimal solutions were found for most test problems with the objective of minimizing
number of tardy orders.
The computational results indicate that the best solution values for the case of single-period
orders are greater than the corresponding values for the multiperiod orders, with the exception
of increasing demand pattern where all solution values are equal to zero.
The experiments have also indicated that integer programming formulations for scheduling
single-period orders are stronger than the corresponding formulations for multiperiod orders. In
most cases, the models for single-period orders give sharper lower bounds on the values of the
objective functions than the corresponding models for multiperiod orders.
solver was not always able to prove optimality within the
7.1. Example 1
In this section, detailed solution results are presented for two test examples with decreasing
demand pattern and minimization of the number of tardy orders for multiperiod (divisible) or
single-period (indivisible) orders.
Page 15
Integer Programming Approach
Table 5. Computational results: unimodal demand pattern.
Best
Solution
Value
Model Var. Bin. Cons. Nonz. LB
PSM1
PSM2
PSM3
PSM4
2706
3806
3806
3641
1885
1820
1820
1820
18556
20336
20400
18391
59275
61995
62019
58065
4
4
1
NTOf=4
TOT=12
TMX=2
TWR----0.260 0.255
PSS1
PSS2
PSS3
PSS4
1886
2046
2046
1921
1885
1880
1880
1920
391
356
420
191
9365
8640
8704
7310
7
13
1
NTO?=7
TOT=28
TMX = 3
TWR----0.0735 0.0724
t proven optimal
$ CPU seconds for proving optimality
Table 6. Computational results: bimodal demand pattern.
Best
Solution
Value
Model Var. Bin. Cons. Nonz. LB
Nodes
34
74
38
27
178
285
546
90
PSM1
PSM2
PSM3
PSM4
3601
3701
3701
3551
1825
1775
1775
1775
17547
19267
19316
17397
56278
58908
58957
55168
8
9
1
NTO t = 8
TOT ---- 61
TMX t -- 4
TWR t ---- 0.1175 0.1172
PSM1
PSM2
PSM3
PSM4
1876
1971
1971
1876
1875
1820
1820
1875
397
347
396
197
9378
8558
8607
7323
10
76
3
NTO = 9, (1 un)
TOT = 83, (1 un)
TMX = 16, (1 un)
TWR = 0.1453, (1 un) 0.1456
f proven optimal
$ CPU seconds for proving optimality
un number of unscheduled orders
CPUt
39
> 3600
> 3600
> 3600
7.6
> 3600
> 3600
> 3600
Nodes CPU$
37 47
580 > 3600
350 960
2800 650
87 > 3600
812 > 3600
1120 > 3600
0 > 3600
113
Multiperiod orders
OPTIMAL SOLUTION. Subset of tardy orders is {2, 3, 9, 10, 11, 12, 18, 19, 20, 21, 22), and NTO
-- 11. Table 7 presents the optimal allocation of orders among time periods. The noninteger
allocations wgt for orders g = 11, 19,42 can be rounded up or down to the nearest integers,
ensuring that capacity constrains are not violated. Production schedule for the example is shown
in Figure 4.
Single-period orders
OPTIMAL SOLUTION. Subset of tardy orders is {1, 2, 4, 7, 8, 9, 10, 11, 13, 19, 20, 21, 30}, and NTO
-- 13. Table 8 presents the optimal assignment of orders to time periods. Production schedule
for the example is shown in Figure 5.
7.2. Example 2
In this section, solution results are presented for two test examples with increasing demand
pattern and minimization of the number of tardy orders as a primary criterion and leveling
machine assignments as a secondary criterion.