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.