Document 11077012

advertisement
^^
UBRARIES
o/
teC^^
DEWEY
HD28
.M414
rto.
3-55/-
ALFRED
P.
WORKING PAPER
SLOAN SCHOOL OF MANAGEMENT
Setup Optimization and Workload Balancing
for
Mixed-model Electronics Assembly
Operations
Anantaram Balakrishnan
and
Fran<;ois
WP#
Vanderbeck
3551-93-MSA
April, 1993
MASSACHUSETTS
INSTITUTE OF TECHNOLOGY
50 MEMORIAL DRIVE
CAMBRIDGE, MASSACHUSETTS 02139
Setup Optimization and Workload Balancing
for
Mixed-model Electronics Assembly
Operations
Anantaram Balakrishnan
and
Frangois Vanderbeck
WP#
3551-93-MSA
April, 1993
!dVHD:IH
M.I.T.
LIBRARIES
Setup Optimization and Workload Balancing for
Mixed-model Electronics Assembly Operations^
Anantaram Balakrishnan
Sloan School of Management
M.
I.
T.,
Cambridge,
MA
Francois Vanderbeck*
Center for Operations Research and Econometrics
Universite Catholique de Louvain
Louvain-la-Neuve, Belgium
April
Supported
in part
by
1993
MTTs Leaders for Manufacturing program
by the College Interuniversitaire d'etudes doctorales dans
du Management (CIM), Belgium
Partially supported
les sciences
Abstract
To cope
lifecycles,
with the rapid technological advances, product proliferation, shorter product
and increasing competition, electronics companies
strategies using multiple surface
are adopting flexible
mount assembly modules
to
assembly
produce many different
products in small batches. The component placement machines account for over half the
investment in surface mount assembly
lines,
and also require considerable setup time
(comparable to the actual processing time for small
one product
volume
lot sizes) to
changeover production from
to another. This paper addresses a tactical planning
problem for high mix, low
electronics assembly facilities containing several placement machines (modules)
operating in parallel.
We propose an optimization
assemble on each machine
in
model
to decide
which product families
order to minimize the total setup cost per
ensuring that none of the machines
is
To
simultaneously considers both these conflicting factors.
grouping decisions on setup cost,
implement
in practice,
demand period while
overloaded. Unlike strategic and operational models
emphasize either workload balancing or setup optimization, our
that
to
we
tactical
capture the impact of product
consider a panial setup policy that
and convenient to incorporate
planning model
in the tactical
is
both easy to
planning model. The
policy consists of reserving cenain slots on each placement machine for permanent
components, and loading the remaining comiX)nents as needed to assemble each product.
We formulate
the tactical planning problem as an integer program, and
the special case of minimizing the setup cost on a single
products
is
machine
show
that
even
for a given assignment of
NP-hard. For the general model, we develop an optimization-based method,
combining column generation,
heuristics,
and lower bounding procedures,
solve the problem and assess the quality of the solution.
As
to
approximately
part of our development,
we
describe solution methods for two practical subproblems-a single machine, product selection
subproblem, and the setup optimization subproblem-that might apply directly to short-term
production planning.
Our computational experience with medium-sized
test
problems
provides insights regarding the effective implementation of column generation strategies in
this
problem context, and
Keywords:
identifies
some
opportunities for improvement.
Electronics assembly, tactical planning,
column generation
1.
Introduction
Rapid advances
in electronic
product and process technologies, proliferation of products,
shorter product lifecycles, and competitive pressures to reduce cost, lot sizes, and lead time
have prompted many electronics companies
to
adopt flexible assembly strategies using
many
multiple assembly modules that can each assemble
the advent of
the level of
mount and other advanced interconnect technologies,
surface
With
products.
assembly
automation has increased considerably, requiring sophisticated equipment for high speed and
precision
can
component placement. The investment
total several millions
for a single surface
mount assembly
line
of dollars, with placement machines (with associated tooling) alone
costing over a million dollars each.
On
the other hand, as
companies
strive
towards
"lot size
of one" production to better meet the customers' needs, asset utilization decreases due to
more
setups.
To cope
with these trends and maintain their competitive position, electronics
companies require principled planning methods and operating practices
and effective use of
their
manufacturing resources.
This paper addresses a medium-term,
tactical decision facing
electronics assembly facilities containing several surface
more placement machines
different sites.
that ensure efficient
high mix, low volume
mount assembly modules (one or
in series, see Section 2.1) operating in parallel, possibly at
We consider facilities in which each
module can assemble several
products (with appropriate setups), and modules have overlapping capabilities,
product,
we have
a choice of
for individual products
is
modules
to
common
as telecommunications,
in
for each
assemble that product. Furthermore, the demand
not adequate to justify using dedicated, single-product modules.
Operations with these characteristics, which
operations, are
i.e.,
different
we
refer to as
mixed-model assembly
companies producing electronic subsystems
computer peripherals, consumer
electronics,
for applications such
and medical systems.
We will focus on the component placement operation since the automatic placement machines
are very expensive and also require considerable setup time. For convenience,
words machine, module, and
line interchangeably.
capacity of each machine, and the projected
Given
demand
the
we
use the
equipment configuration and
for various products, the tactical plan
determines which products to assemble on each machine.
In
making
this tactical decision,
managers must address two conflicting objectives:
reducing the setup or changeover times, and distributing the workload evenly across the
parallel
machines
(relative to their available capacities).
or hundreds of boards per
lot),
When
lot sizes are
small (say, tens
equipment changeover times can equal or exceed the actual
processing (placement) times. For instance, the time to change over production from one
board type to another on a placement machine can vary from 15 minutes to over an hour
depending on the number of new components
components
for a batch of
50 boards with,
say,
to be loaded,
whereas placing
all
the
200 placements per board, might require
less
than an hour of processing time. Reducing setup times
is,
therefore, an important concern
both to increase productive capacity, and to provide quick response with minimal
On
inventories.
the other hand, balancing the workload has several benefits including
reducing overtime expenses, decreasing the lead time to supply board sets
board types that are assembled into a single unit) for
final
To minimize
common components
solely based
To
parallel
total setup time,
we might
same machine; however,
to the
on component commonality can
we develop
address this tradeoff,
placement machines (or modules)
result in
multiple
assembly, and providing safety
capacity on each machine to accommodate contingencies.
contradictory.
(i.e.,
These two objectives can be
assign products that share
this strategy of
grouping products
imbalances due to uneven group
either
sizes.
an optimization model that assigns products to
in order to
minimize the
total
setup cost while
ensuring that the processing workload on each machine does not exceed a prespecified
Most previous models
many
limit.
emphasize equal workload allocation but capture the setup
implications only indirectly, or optimize the setup time for each line assuming a
predetermined assignment of products to
way
to simultaneously consider setup
setup policy that
is
lines.
In contrast,
our model provides a structured
and workload balancing
issues.
We propose
a simple
both practical, and enables us to decouple the medium-term product
assignment decisions from the detailed (weekly or daily) sequencing and scheduling
The
decisions.
slots
policy,
which we
of reserving certain
call the partial setup policy, consists
on each placement machine for permanent components, and loading the remaining
components as needed
to
assemble each product.
By
treating the
workload balancing
requirements as constraints while optimizing setups, our model provides the capability to
generate alternative scenarios with different setup-workload characteristics that managers can
evaluate before deciding the best tactical plan for their specific operation.
We
formulate the tactical planning problem as an integer program, and develop an
optimization-based methodology, combining column generation, heuristics, and lower
bounding procedures, to approximately solve the problem and assess the quality of the
solution.
We
optimally.
interesting
As
can embed
this
method
in a
branch-and-bound scheme
part of our algorithmic development,
subproblems-a
profit
we
to solve the
problem
describe solution methods for two
maximizing product selection problem, and
a setup
minimization subproblem-that can apply directly to support shon-term planning and
scheduling decisions.
Our computational experience using medium-sized problems
containing upto 20 products, 60 component types, and 4 machines provides insights
regarding the effective implementation of column generation strategies for this problem
context, and identifies
The
tactical
rest of this
some
paper
planning model.
opportunities for improvement.
is
organized as follows.
We
Section 2 motivates and describes our
briefly review the process flow in electronics
operations, justify the structure of our model, discuss
introduce the problem formulation.
Section 3
first
We
also discuss
its
assembly
scope and assumptions, and
model variants and special
cases.
provides an overview of the solution methodology before describing
its
various components, including heuristics, lower bounding techniques, and optimization
procedures for the two subproblems.
Section 4 repons computational results for our test
problems, discussing implementation variants and the performance impact of different
algorithmic options and parameters. Section 5 offers concluding remarks.
2. Tactical
We
first
Planning for Mixed-model Electronics Assembly
present an overview of electronics assembly operations, with particular
emphasis on component placement, and
briefly describe the hierarchy of planning
and
scheduling decisions for electronics assembly operations. Section 2.2 defines the scope of
our
tactical
planning model, motivates the problem and our modeling approach, and justifies
the assumptions.
We
discuss the modeling challenges in capturing the impact of product
assignment decisions on setup times, and describe the panial setup policy that our model
assumes. Section 2.3 presents an integer programming formulation for the tactical planning
problem, and discusses model variants and special cases.
2.1
Overview of Electronics Assembly Operations
2.1.1
Process flow and compbnent placement operations
Electronics assembly refers to the process of populating bare printed circuit boards with
electronic and mechanical components.
This paper focuses on the assembly of surface
mount components; most new products use
surface
mount technology (SMT) whenever
possible (instead of the older through-hole technology) due to
its
numerous benefits
including smaller board size, lower weight, reduction in electrical noice, improved shock and
vibration resistance, and lower board fabricadon costs.
Broadly, surface mount assembly
consists of five major steps-solder paste application, high-speed and precision
component
placement, soldering, cleaning, and testing. Prasad [1989] describes the process flows for
three types of surface mounting,
and discusses each assembly operadon
3-
in detail.
We define
a placement "module" as a single
component placement machine or several
placement machines connected in series by conveyors; a module might also contain dedicated
stations to
perform other operations such as screen printing, manual assembly, reflow
soldering and so on.
Thus, a complete assembly line corresponds
dedicated stations for
all
the surface
Mixed-model assembly
testing.
to a
module with
mount assembly operations from screen
facilities
employ placement modules
printing to
in a variety
of
configurations ranging from a purely functional layout (containing parallel placement
modules as one
complete assembly
lines.
For exposidonal ease, we assume
placement machine, and so we refer
we
note
ovens as the next stage, and so on)
stage, parallel reflow
to
the investment in a typical
SMT operations.
machines instead of modules or
are the
main components:
(ii)
(i)
50%
of
in
mixed-model assembly
facilities
have three
feeder input positions or slots on the periphery of the table to hold component
it
operator must
requires, the
first
circuit
component
board has a
type,
bill
and
(iii)
one or more component
of components specifying the types of
number of components of each
type,
and the placement location
particular board type or product, the
ensure that the feeders carrying each of the required component types are
in appropriate slots
component from a feeder
at the
in series.
sequential or sequential/simultaneous
on the board for each component. To assemble a
it
as
a table (stationary or movable) to hold the the board (or a panel of
placement heads. Each printed
mounted
However,
most expensive (accounting for over
The numerically-controlled
feeders, each containing a reeP of one
components
lines.
SMT line) and often require the highest changeover time relative to
placement machines (see Prasad [1989]) used
boards),
each module has a single
our model can also incorporate multiple placement machines
later,
The automatic placement machines
other
that
to mini-lines or
on the machine.
The placement head
position, inspects (optional)
sequentially picks a
and orients the component, and places
appropriate location on the board. These "pick-and-place" operations are governed
by a process plan
in the
machine's controller which specifies the component type,
X-Y
coordinates, and orientation for each placement location on the board, the location of the
feeder containing each component type, and the sequence of operations.
planning,
we
For
tactical
use two parameters-slot capacity and placement speed or placement time per
board-to characterize each machine.
The
the
slot
capacity (sometimes called the component staging capacity) of a machine
maximum number
of feeders that
terms of "standard" slots
^
SMT components are
refer to all the
(e.g.,
it
can hold.
number of
8mm
dispensed in a variety of formats,
We can
is
represent this capacity either in
tape feeder input slots) or in terms of the
e.g.,
component presentation and handling formats
tape and reel, tubes, trays. For simplicity,
as reels.
we
total
first
width of feeders that can be loaded
at
one time; for convenience, we will assume the
representation.
We refer to the total
initial
time to place
all
the
components on a
board setup time to locate the fiducials,
for that board. This placement time
is
particular board (including the
placement time or cycle time
etc.) as the
a function of numerous machine-specific and product-
dependent parameters including the board area, number of components
to be placed
board, size of the components, relative location of the component feeders,
of the placement heads (and feeder movements,
X-Y
table),
and placement head configuration, intermediate operations
and placement sequence.
Ball and
on the
number and speed
component pickup mechanism
(e.g.,
inspection, pin alignment),
Magazine [1989], Bard, Clayton and Feo [1989] and
Gavish and Seidmann [1987] develop cycle time models for different placement machines.
We
assume
that, for
each available machine, the planner can incorporate these factors
to
estimate the average placement speed for each component type or the average placement time
per board for every product.
We
will use these
placement time estimates
to quantify
each
machine's workload.
By changing
component feeders and
the
assemble a wide variety of products.
A
the process plan, the
machine's
types required for each product, then
common component
slots to certain
times.
2.1.2
The
setup policy that
we
we can
determines
slot capacity
requirements. If the machine has a large slot capacity relative to the
same machine can
its
setup
number of component
reduce changeover time by assigning dedicated
types, and keeping these reels
on the machine
at all
describe in Section 2.2 exploits this observation.
Planning hierarchy
The growing emphasis on reducing
setups, optimizing cycle time, eliminating work-in-
process inventories, and improving asset utilization has motivated considerable management
science research in recent years on models to support shon-term production planning
The
decisions.
vast majority of this literature deals with optimizing feeder- to- slot assignment
and placement sequencing decisions
instance,
to
reduce the cycle time for a single product (see, for
Ahmadi, Grotzinger and Johnson [1988],
[1989], Drezner and
Nof
[1984], Francis et
These optimization models tend
contribute
most
to the
to
al.
Ball and
Magazine [1988], Bard
[1989], and Gavish and
Seidmann [1987]).
be very machine-specific, incorporating features that
placement time on each machine
(e.g.,
single versus dual delivery of
components, Euclidean versus Manhattan distance metrics to compute head
At
et al.
travel time, etc.).
a higher level in the planning hierarchy, researchers have studied short-term board
sequencing problems for a single machine or
line,
5-
and setup strategies
to
reduce changeover
time to produce a given set of products
Maimon and Dar-El
Some
models
[1989], and Daskin,
(e.g.,
Lofgren and McGinnis [1986], Carmon,
Maimon and Shtub
recent literature has begun to address
that consider both multiple products
more
[1991]).
strategic issues in
and multiple assembly
Matsuo [1992] address equipment configuration decisions
A
using mini-lines.
facilities
placement, soldering,
mini-line
is
in
assembly using
lines.
Ahmadi and
mixed-model assembly
a series of assembly stages, with each stage (e.g.,
containing multiple parallel machines.
etc.)
PCB
Ahmadi and Matsuo
propose a hierarchical approach to decide the number of mini-lines, group the product
and allocate machines
families,
Ahmadi and Kouvelis
to each mini-line.
[1992] describe a
mathematical programming formulation to represent alternative design approaches-flexible
flow
and hybrid lines-for electronics assembly. These models minimize
lines, mini-lines,
makespan
do not
(i.e.,
the
maximum processing time
over
all
the lines) to balance the workload, but
explicitly incorporate the setup interactions across product families since they are
concerned mainly with long-term configuration decisions.
2.2 Tactical Planning:
2.2.1
We
Scope
Problem Definition and Modeling Issues
model
of
consider an intermediate level of decision -making that incorporates the workload
balancing feature of the strategic decision models on the one hand, but also considers a finer
grain representation of individual placement machines to capture the setup costs in a high
mix, low volume environment. For medium-term planning,
configuration
is
fixed,
i.e.,
respective capabilities.
we know
We
the
number of
are given the bill of
parallel
of components)^.
(e.g.,
that the
equipment
placement machines, and
components
processing time (see Section 2.2.3) on every machine.
board type or a fainily of similar board types
we assume
By
for each product,
"product"
we mean
mother boards with nearly
their
and
its
a single
identical bill
Unlike short-term production planning models that require detailed
information regarding the size, release date, and due date for each batch of products,
medium-term planning must
two parameters
demand
in
rely
on aggregate forecasts of production requirements.
to represent the production requirement for each product:
terms of
total
number of boards required per
period^, and
(i) its
(ii) its
We use
projected
anticipated
2 Double-sided boards require two passes through the assembly line, and so we consider them as two separate
products. If necessary, we can specify that both sides must be assembled on the same or different
machines.
^The demand period (or lime unit) might be considerably shorter than the planning horizon;
period is long enough to ensure that every product is assembled at least once per period.
-6-
typically, the
production frequency'^ or the average number of batches assembled during
The
tactical
planning problem involves deciding which products
each machine
workload.
weights
We
in
assemble on
order to minimize setup costs while maintaining a balanced
use the estimates of production frequencies and demands, respectively, as
in the setup cost
discussion on
to
this period.
how
and workload functions of the
to represent the setup cost
tactical
and workload
planning model.
in
order to
We
defer
first clarify the
model's inputs, and motivate the decision problem.
We
anticipate reviewing and revising the product-to-machine assignment decisions
whenever the demand pattern changes or new equipment
annually).
of
demand
The choice of planning horizon depends on
for different products; if
demand
is installed (e.g.,
quarterly or
the relative stability and seasonality
is volatile,
the planning horizon is shoner.
Maintaining stable medium-term product assignments has several advantages over
dynamically assigning individual production batches to different machines in real-time.
First, if the
machines are located
at different sites,
then
we must
decide
in
advance which
products to assemble in each machine in order to ensure proper supply chain coordination
and timely
deliveries.
Second, as Skinner [1974] and others have suggested, creating
"factories within the factory" by appropriately panitioning the products and processes
reduces the complexity of managing the operations, decreases flow times, and exploits
learning effects since each
module
assembly context, adhering
specializes in a subset of products.
to fixed
In the electronics
product-to-machine assignments offers additional
advantages such as lower inventories of components and tooling, fewer component retrieval
and storage transactions, lesser congestion on the
floor, simpler materials handling
requirements due to streamlined flow, and easier process planning.
We
emphasize,
however, that the medium-term product assignment decisions merely provide guidelines or
preferred production choices, and might only apply to a subset of regular products. In the
short-term, shop floor supervisors might override the product assignment plan due to
contingencies (unexpected surges in demand, rush orders, equipment downtime, and so on);
similarly, the supervisors
might make real-time assignment decisions for one-time
(e.g.,
prototype boards) or low volume products based on the current status and capabilities of
different modules.
We
assume
that the input data-product families,
demand
projections, production
frequency estimates, and processing time-have the level of aggregation and accuracy that
"*
is
electronics assembly facilities use periodic scheduling policies (e.g., produce high volume products
once every week, low volume items once every four weeks, and so on) to facilitate due-date seuing, raw
materials procurement, and production scheduling. The production frequency is, therefore, a natural
Many
parameter that planners can relate to easily.
appropriate for the chosen planning horizon.
For instance, computer manufacturers often
produce a vast number of "part numbers", but many part numbers are minor variations or
enhancements of a base model, differing only
programmable software. Managers
in a
few model-specific components or
typically group the individual
product families, and prefer to use a
common
processing path for
models
all
simplifies the
demand
few natural
members of
family in order to simplify scheduling and exploit economies of scale. In
each family as a single "product".
into a
in the
a product
this case,
we
treat
This aggregation of product variations into families
forecasting requirements (forecasting the
demand
for individual
product variations
is
often difficult and quite inaccurate), and reduces the size of the planning
model. Similarly,
if
a subset of components always occurs as a group, then
component type
a single equivalent
(this
we can
consider
"component" would, of course, require multiple
feeder slots on the machine).
The next two
sections motivate and discuss
how we
represent setup cost and workload in
the tactical planning model.
Setup management strategies
2.2.2
Preparing the placement machine(s)
process (unless the
total
is
often the major bottleneck in the changeover
number of component
types
is
small relative to the slot capacity).
Setting up a placement machine to assemble a different product involves loading
component types required
unloading some or
all
all
the
for that product in appropriate slots on the machine, after
of the feeders used for the previous product;
we
ignore other elements
of the setup operation such as loading the process plan for the next product into the
machine's controller. Thus, the time to setup the machine for a new batch
the
number of feeders
that
must be loaded/unloaded.
setup policy that the facility uses, and the
Let us
first
bill
In turn, this
allocation
product
slots),
slots.
of components for different products.
and
is
(ii)
component
all
the feeders
This policy has two advantages:
to
(i)
we can
fine tune the feeder- to- slot
minimize the cycle time per board for each
by loading the components needed for successive placements
the process plan for a product does not
tyf)e
from
completed, and mounting the next product's components in
and placement sequencing decisions
(e.g.,
the
consider two extreme feeder changeover policies-complete setup and
machine when a batch
appropriate
proportional to
number depends on
incremental setup. The complete setup policy involves unloading
the
is
change from batch
always has a fixed feeder location(s) for
in
consecutive
to batch since
that product.
each
However, the
complete setup policy ignores the commonality of components for successive products, thus
incurring long setup times.
-8
At
by loading only those new component types
selectively unloading
While
component commonality
the other extreme, the incremental setup policy exploits
some of the unnecessary
that are not
akeady on
feeders to release slots for
depends on proper production sequencing
(i.e.,
we must sequence
(after
new components).
can reduce the number of load/unload operations,
this strategy
machine
the
its
effectiveness
the products to
minimize
sequence-dependent changover times), necessitating sophisticated scheduling methods.
More
importantly, since the location and composition of feeders can vary from batch to
batch, the operator
must dynamically decide which unnecessary feeders
machine, and which free
have the
ability to
slot to
use for each
new component
to
unload from the
type; in turn, the system
dynamically change and optimize the process plan with respect
must
to the
feeder locations for the current batch. Also, the cycle time per board can degrade since the
incremental setup policy permits only limited flexibility in selecting the slots for the
new
components, and the dynamic unloading and loading operations increase the chances of
operator error
(e.g.,
unloading the wrong feeder, loading
incorrect feeder location in the process plan).
dynamic process planning and
in the
Since most
slot allocation capabilities,
wrong
facilities
slot,
do not
specifying an
currently have
and since the degradation
in cycle
time might outweigh the benefits of reduced setup time, the incremental setup policy as
have described
it is
rarely
implemented
in practice.
Between these two extremes of complete and incremental
setups,
intermediate policies such as the group setup schemes proposed by
attempt to use a
When
all
the
common
we
we might
Carmon
et al.
consider
[1989] that
setup of components to assemble a group of similar products.
components (on
a single side of the board)
must be placed
in a single pass
through the placement machine, the group setup scheme corresponds to partitioning the
products assigned to a machine into groups (such that the number of component types
needed for each group does not exceed the
slot capacity),
setup policy for each group. This scheme requires:
(i)
and implementing the complete
a methodology to group products in
order to minimize setup time while ensuring that the number of component types required for
all
the products in each group does not exceed the machine's slot capacity (Daskin et
[1991] propose an integer programming model and algorithm for this problem),
to optimize the feeder locations for each
placement time for
all
group (for example,
to
(ii)
a
al.
method
minimize the weighted
products in the group given their relative demands), and
(iii)
the close
coordination of production plans so that products in a group are assembled consecutively.
The group setup policy
is difficult
to incorporate in a tactical planning
model
since
we cannot
directly express the total setup time under this policy in terms of the product- to-machine
assignment decisions.
9-
We
propose the following alternate policy, which
policy, that
is
We
component types needed
all
The setup policy
only
On
when needed. Thus,
consists of loading
the other hand, temporary
to
all
to the previous product,
We have described a
for the next product.
version of the partial setup policy,
i.e.,
we unload
completing each batch. Other variants of
all
we
components during each changeover operation. Similarly,
common
"complete temporary setup"
components
after
an incremental version that
new (temporary)
a group setup version
would use
setup of temporary components for selected groups of products (Daskin et
We
[1991]).
machine
and load the temporary
the temporary
this policy include
the
assume
that the
to
will unload all the
selectively unloads unnecessary temporary components, and loads only
a
to that
permanent
the
components remain on
changeover from one product to another,
temporary components corresponding
components required
assemble the products assigned
on the machine; we never unload these feeders except
in preassigned slots
replenish components.
to
two categories: "permanent" components, and
will partition this set into
"temporary" components.
components
refer to as the partial setup
both easy to implement and convenient to model. For a particular machine,
consider the set of
machine.
we
al.
complete temporary setup version provides an adequate
approximation of the setup cost for medium-term planning purposes.
to
machines, the partial setup policy requires two
slots to dedicate for
permanent components, and which components
For a given assignment of products
decisions:
are
how many
permanent or temporary.
model. Note that
if
We
will incorporate both these decisions in our optimization
the available slots
on a machine can accommodate
types required for every product that the machine assembles, then
components
as permanent; otherwise, our ciioice of
(proportional to
designate
all
constrained by
the total
plus the temporary components required for that product.
products that are assigned to the same machine.
as
is
component
must equal or exceed
The choice of permanent and temporary components captures
components
we can
permanent components
the requirement that, for each product, the slot capacity
number of permanent components
all the
the setup interactions between
But, once
we have
classified the
permanent and temporary, the setup time becomes separable by product
its
number of temporary components), and we can develop optimized feeder
locations and process plans that are invariant with production sequence.
setup policy provides a practical
commonality, and modeling
its
way
to reap the setup time benefits
Thus, the partial
due
to
component
cost does not require a detailed representation of product
sequencing decisions (the incremental setup policy requires such a representation).
We
define the setup cost per period of a product as the
components
for that product times its production frequency.
number of temporary
Planners might wish to use
other product-specific weights (instead of production frequency) to define setup cost. If the
10
load/unload time
is
approximately the same for
all
components, then multiplying the setup
cost by the load/unload time per feeder gives the setup time per
assemble the product
(if
different
sum of
redefine the setup cost as the
multiplied by the
component types have
period).
incurred to
we can
different load/unload times,
load/unload times for
number of batches per
demand period
The setup
all
temporary components
cost also serves as a surrogate
metric for other important manufacturing performance indicators such as the number of
materials transactions and handling operations (to retrieve and return
storage), the
number of spare
and reel/feeder
storage),
reels to
feeders required (to prepare components for the next product),
on the assembly
the congestion
component
floor (due to material
movement, feeder loading operations,
and the in-process component inventories. Minimizing setup
therefore, not only reduces the
manhours
change over from one batch
to
cost,
to the next but also
improves several other aspects of the electronics assembly operation.
Balancing the workload
The total processing time per demand
2.2.3
period to assemble a product depends on
and number of components
demand,
the types
different
component
it
requires, and the placement speed for
The exact placement or cycle time per board
types.
its
is
sensitive to the
of various component feeders) and placement
slot allocation (i.e., the relative locations
sequencing decisions. For medium-term planning purposes, we require only a rough cut
estimate of cycle time per board (including board setup time to locate fiducials,
etc.) for
each
product on every machine, obtained using, say, average placement rates for different
component types
Thus,
(e.g., 2
components per second
for small, passive components, etc).
if
dj
= demand (number of boards) per period
m^j
= number of type j components
Sjjj
= average placement
machine
gjj^
= time
k,
for product
i,
per board required for product
(number of components/unit time)
rate
i,
for
component j on
and
to setup
each board (or a panel of boards) on the machine, including the
time to locate fiducials, and so on,
then, the cycle time per board for product
p^
i
S —Sjk
=
i^
on machine k
-(-
gjj^
is
time units per board,
j
and the total processing time
time units per
demand
period.
to
produce
all dj
boards using machine k
We might optionally add
to P^j^
is Pj,^
=
djPjjj.
an estimate (or lower bound)
of the line changeover time per batch multiplied by the production frequency to account for
the time to setup the screen printer and other equipment, change the reflow oven's
temperature profile, and assemble and
test a
few
11
pilot boards.
We
workload
define the
of a machine as the
products assigned to that machine.
imposing a user- specified upper
assigned to each machine
k.
We
limit
model
T^ on
sum of processing times
the total processing time for all products
utilization level.
refer to as the processing limit,
For instance, using performance metrics
such as "placements per unit time", managers can compute the
to
meet the projected demand for
all
total
operating hours needed
products; allocating the total operating hours to the
placement machines (subject to the actual available processing time for each
parallel
machine), and adding an allowance for limited imbalances, gives one
limits.
all)
all
workload balancing requirement by
the
The parameter T^, which we
depends on the desired machine
P^^ for
By
of processing
set
parametrically varying these limits, the user can generate several
(if
necessary,
pareto-optimal product assignment scenarios with different setup and workload
characteristics.
If the
we
operating time)
processing limits are "tight"
expect some degradation
To summarize,
our
tactical
(i.e.,
in the total
close to the
minimum
required
setup cost and vice versa.
planning model minimizes
setup cost for
total
all
products
subject to upper limits on the processing time for each machine (workload balancing
constraints) as well as
component loading and
The workload
slot capacity constraints.
balancing constraints provide a user-controllable means to influence the overall allocation of
products to machines. The setup cost objective represents not only the time to changeover
production from one product to another but also other factors, such as labor requirements,
materials handling effort, and
component inventory
we
Next,
levels.
formulate the tactical
planning problem as an integer program.
2.3 Integer
The
Programming Formulation
tactical
of the Tactical Planning
planning problem has two sets of decision variables:
assignment decisions, specifying which products
the
component loading
to
constraints.
(ii)
decisions representing the choice of permanent and temporary
constraints,
To
product
the
assemble on each machine, and
components for each machine. The model has workload balancing
assignment
(i)
Problem
component
constraints,
loading constraints, and
formulate the problem as an integer program,
we
slot
product
capacity
introduce the following
notation.
We
...,
are given
N products
K, respectively,
index set of the
model requires
to
and
K parallel
machines;
we
index the products and machines.
M component types needed to assemble
the following input parameters:
-12
all
use
Let
J
i
=
=
1,2, ...,N
and k =
{1,2, ...,M}
products.
The
1,2,
denote the
tactical
planning
Pjlj
=
Processing time (hours per period) for product
T|j
=
Processing limit of machine k (hours per period);
Ck
=
Slot capacity of
bj
=
Anticipated production frequency of product
on machine
i
machine k (number of standard feeder
i
k;
slots);
(number of batches per
period);
and,
J (i )
=
Subset of component types required for product
We define I(j) as the
i
component types
for at least one
We assume that each product
subset of products that use component].
must be assembled
pass through the machine^, implying that the number of
in a single
IJ(i)l
i.
needed for
this
product must less than or equal to the
machine k (otherwise, the problem
is
infeasible).
slot capacity
C^
The model's decision
variables are:
1
'^
if
we
assign product
i
to
machine
k,
lo otherwise;
1
yjk
.0
1
if
we
designate component
j
as
permanent on machine
k,
otherwise; and,
if
we
load comp. j€
J(i)
temporarily on machine k to assemble prod,
Z:
''j*^
lo otherwise.
We can then formulate the tactical planning problem as the following integer program
N
[P]
Z*
™"
=
[P]:
K
lb,
i=l
{
I I
(1.1)
Zjj^}
J
JGJ(i)k=l
subject to
Product assignment constraints:
K
Z
Xit
>
1
for all
<
T^
for all k
i
=
1,2, ...,N,
(1.2)
k=l
Workload balancing
constraints:
N
Z
PjXj^
=
1,2, ...,K,
(1.3)
i=l
mount assembly facilities prefer single-pass assembly whenever possible since permitting multiple
passes increases routing complexity, and introduces additional board handling operations that can increase
the defect rate (e.g., due to vibrations) and flow time. If a product requires multiple passes, we assume that
the subset of components to be placed in each pass is predetermined, and so we treat each subset as a
5 Surface
separate product
-13-
i.
Component loading
constraints:
and k =
(1.4)
1,2, ...,K,
Slot capacity constraints:
S
.
jeJ
+
+
Yit
yjk
Z
^,.,
.
H
<
^
Zjit
^ijk
Cv
j6J(i)
for
all
k =
i
=
1,2, ...,N,
1,2, ...,K,
and
and
(1.5)
Integrality constraints:
'^ik'
^°^^
=
yjk' ^ijk
for
all
i
=
andk =
The
1,2, ...,N,
(1.2) specify that each product
must be assigned
(1.6)
is
the weighted
The product assignment
products.
all
J(i),
1,2, ...,K.
objective function (1.1) minimizes the total setup cost which
temporary component assignments for
6
j
sum of
constraints
one machine. Since we minimize
to at least
setup cost, formulation [P] must have an optimal solution that assigns each product to
The workload balancing
exactly one machine.
upper bounds
i,
T,^
component loading
the
(i.e., if Xjj^
=
1),
constraints (1.4) ensure that,
then each of
its
components
permanently or as a temporary component for
Zjj^
=
The
1.
feasible;
it
slot capacity constraint (1.5)
specifies that, for every product
permanent components
(the first
term
if
g
J(i)
assign product
i.e.,
and machine
i
k, the
in the left-hand side
to
machine k
we must
set either
yj^,
either
=
1
or
i
(the
second term
i
to
number of
slots reserved for
of (1.5)) plus the number of
in the left-hand side,
which
is
machine k) must not exceed the
Model variants
to formulation [P]
we can model
several variants of the tactical
planning problem. For instance, to permit product splitting
more than one machine) we can
assignment variables
Xjj^^ (in
assigned to machine
product's demand.
machines,
^
i
slot capacity C^.
By making minor changes
is
For every product
must be loaded on machine k
that product,
the optimal solution does not assign product
machine's
2.3.1
j
we
if
k.
ensures that the component loading decisions are
temporary components required for product
zero
constraints (1.3) impose the user-specified
on the total processing time assigned to each machine
e.g., if
k),
To
(i.e.,
assigning a product to
either relax the integrality constraints
which case
Xjj^
denotes the fraction of product
or define multiple products whose total
on the product
i's
demand
demand equals
that
the original
incorporate predetermined assignments of certain products to
product
i
is
preassigned to machine k due to
We retain the integrality restrictions on the y and z variables.
-14-
its
special processing
requirements,
variables
machine
Xj.^
Xji^,
k's
we can
add the constraint
either
for all k
=
1,2, ...,K,
processing limit
Tj,.
We
machine.
modules
In this case, the slot capacity of the
<
x,.^)
from
P^^.
assignment constraints
1
Xj^
machines k =
for all
must or must not be assigned
and the
that contain
module
is
the
=
1,2,
same
to the
i
in
module
Finally, our
k''.
model
slot capacity constraints.
more than one machine
combined
and the processing time P^^ equals product
board for product
slot
capacity of
demand times
i's
treats the
number of permanent
slots or specify
Z
y:^
<
the
in series.
machines
slots allocated to
we can exogenously
limit, say, Uj. for the
an upper
permanent components on machine k by adding the
all
The
the cycle time per
number of
(implicit) decision variable. Alternatively,
permanent components as a
set the
i'
in the objective function
also applies to placement
in series,
and
i
+
(xj,^
processing time
i's
can incorporate component-dependent setup costs and feeder widths by
changing the coefficients
model
to formulation [P] or eliminate the
Similarly, adding the joint
that products
models the conditions
1
and subract product
or the exclusive assignment constraints
...,K,
=
Xjj^
number of
constraints:
forallk=
U,^
1,2, ...,K.
jeJ
By
solving the model for different values of
permanent
to the
model
slot reservation decisions.
variants; however,
we
Uj^,
we can
Our
solution
assess the sensitivity of setup cost
methodology extends
will consider only the basic
model
fP] in
to all these
our subsequent
discussions.
2.3.2
Special cases
Formulation [P] also has several interesting special cases.
very large
(e.g., C,^
^
M for
machines
all
permanently on each machine, and
if all
C^
are
the required
components
machines have the same processing
limit, say, T,
k) so that
the
If the slot capacities
we can
load
all
then problem [P] reduces to the following recognition version of the nonpreemptive, parallel
machine scheduling problem:
makespan
is less
is
than or equal to
there an assignment of products to
T? Even with
same processing time on every machine),
this
identical
problem
machines
is
machines such
(i.e.,
that the
each product has the
NP-complete
(see, for instance,
Lawler, Lenstra, and Rinnooy Kan [1982]).
Another interesting special case
sum
we
''
of the processing times for
seek the best grouping of the
If the
the
module contains L machines
machines are equally
cycle time per board,
we
all
N
arises
when we choose
large values (say, greater than the
the products) for the processing limits T^.
products into
at
most
K
In this case,
groups such that the
in series, the smallest possible cycle
total setup
time per board (achieved
when
all
lA. times the total placement time per board. To estimate the actual
might inflate this lower bound to account for possible variations in the placement
utilized)
is
time of each machine.
15-
cost
is
minimized. Unlike traditional group technology approaches based, for instance, on
DeWitte [1980J, Rajagopalan and Batra [1982]) or rank
similarity indices (see, for example,
order clustering
(e.g..
King [1980] and King and Nakomchai [1982])
commonality as a surrogate
for setup cost, the optimization
model
that use
component
[P] provides a
more
complete representation (including an explicit setup cost function) of the grouping problem
by accounting for the limited
Of
each product.
combined with
2.3.3
we might
course,
parallel
slot capacity
of each machine, and the production frequency of
consider adapting the group technology approach,
machine scheduling methods,
to solve
problem
[P] heuristically.
Subproblems
We now consider two single-machine
subproblems of [P]-the product selection problem
and the setup optimization problem-that are central
to
product
we
i
generates a "profit" (or opportunity cost)
for any subset of products
is
if
our solution strategy. Suppose each
decide to assemble
the total profit for all products in this subset
setup cost to assemble the products on a single machine.
problem determines which products
Given
N
it.
to accept for
The
minus
The following product
net profit
the total
selection
assembly on the machine:
available products, each with a profit value, select a subset of products to
assemble on a single machine
order to maximize net profit, subject to the workload
in
balancing constraint (1.3), component loading constraints (1.4), and
slot capacity
constraints (1.5).
This product selection problem
"profit center" line
relevant for surface
is
mount assembly subcontractors or
managers who must decide which of several available products
to accept
for assembly.
For a given assignment of products
to a
machine,
we
refer to
problem of selecting
permanent and temporary components as the setup optimization problem, and define
as
it
follows:
Given the
set
of products to be assembled on a machine, decide which components must
be loaded permanently
in
order to minimize the total setup cost for the remaining
temporary components subject
to the
component loading constraints
(1.4)
and the
slot
capacity constraints (1.5).
This model has direct application for short-term process planning, and
of the product selection problem.
As
part of our algorithmic
describe solution procedures for both these subproblems.
16
is
also a
development
subproblem
in Section 3,
we
Solving the Tactical Planning Problem
3.
Formulation [P]
is
a large-scale integer program that
As we show
general-purpose integer programming methods.
optimization subproblem
is
optimally using
difficult to solve
is
in Section 3.2,
even the setup
NP-hard. We, therefore, focus on developing an optimization-
based procedure that exploits the problem's embedded special structure to construct a good
bound
feasible solution, and also generates a lower
Our
solution
to assess the quality of this solution.
method combines column generation with greedy and
and other lower bounding techniques.
heuristics,
we
Before describing the column generation algorithm,
note that the linear programming
relaxation of formulation [P] can have arbitrarily poor performance,
optimal setup cost and
For instance, suppose
LP
value, as a proportion of the
K machines
all
are identical,
C, processing limit T, and processing times
M
improvement
local
K
than or equal to
is less
C.
Pj,
i.e.,
LP
they
the
i.e.,
gap between the
value, can be arbitrarily large.
all
have the same
capacity
slot
and suppose the number of component types
Then, the following fractional solution solves the
LP
relaxation of formulation [P] optimally:
for
^ik
for all
for
This solution assigns
does not exceed the
limit
T
M/K
slot
LP
j
€
J,
i=l,2, ...,N,
total
to
€
J(i)
,
and k=l,2,
...,K.
each machine, which by assumption
processing time required to assemble
objective function value
its
all
the products;
Since the
solution satisfies the workload balancing constraint.
is
LP
zero;
solution
however,
can make the optimal setup cost arbitrarily large by considering products with low
component commonality and high values
for the production frequency parameters
Since formulation [P] has a very weak
based branch-and-bound method
the
j
capacity C. For the original problem to be feasible, the processing
does not require any temporary components,
we
...,K,
and k=l,2,...,K, and
permanent components
must exceed 1/Kth the
hence, the
all
and k=l,2,
i=l,2, ...,N,
all
problem as a capacitated
set
is
LP
relaxation, solving
it
using a standard LP-
not likely to be very effective. Instead,
covering model, and solve
LP relaxation
its
bj.
we
reformulate
using a column
generation algorithm (see, for instance, Lasdon [1972] or Bradley, Hax, and Magnanti
[1977]).
Column
generation have proved to be an effective technique for solving difficult
crew scheduling, cutting
Vance
et al.
stock,
and vehicle routing problems
[1992], and Desrochers et
al.
[1992]).
17-
For the
(e.g.,
Bamhart
tactical
et al. [1992],
planning model, the
column generation procedure
subproblem
iteratively solves the product selection
heuristically
and/or using branch-and-bound. The method generates lower bounds on the optimal setup
cost,
and also enables us
to construct
good feasible
The next
solutions.
three sections
describe the various components of our algorithm to approximately solve the tactical
planning problem. Section
3. 1
reformulates the tactical planning problem as a capacitated set
covering problem, and provides an overview of the solution approach. Sections 3.2 and 3.3
discuss solution procedures for the two subproblems-the product selection and setup
we must
optimization subproblems-that
the set covering formulation.
solve in order to dynamically generate columns for
Section 3.4 integrates these subproblem solution methods in
the overall algorithmic framework,
and discusses our heuristic and lower bounding
strategies.
Overview of the Solution Approach
3.1
Let us
first
reformulate the tactical planning problem. Suppose
feasible assignment patterns for each machine.
often abbreviate as "pattern") for machine k
is
A.
we can enumerate
all
the
feasible assignment pattern (which
we
a subset of products
time on machine k does not exceed the machine's processing limit
number of
feasible patterns for
machine
k.
vector or "column" corresponding to the h
product
i
minimum
is
For h =
1,2, ...,H|^, let
pattern for
machine
assigned to machine k in this pattern, and
setup cost for the h
problem assuming
pattern, obtained
that all products
i
with
ajj^j^
=
k,
whose
total
processing
Let H|^ be the total
T|^.
a,^ be the characteristic
with elements
otherwise.
Let
Sj,jj
ajj^^,
=
1
if
denote the
by optimally solving the setup optimization
1
are assigned to
machine
k.
We can interpret the tactical planning problem as the process of choosing K patterns, one
for each machine, such that every product
Using binary decision variables
the
h*^
pattern for
machine
problem as the following
IP'l
set
k,
is
included
in at least
one of the chosen
X^ to represent the choice of patterns {X^ is
and
is
otherwise),
we can
if
we choose
formulate the tactical planning
covering model with side constraints, which
V
1
patterns.
we
denote as [F]:
(3.1)
Pattern selection constraints:
i-
K^
<
^hk
~
for
1
all
k =
1,2, ...,K,
and
=
1,2, ...,K,
and
(3.3)
n=i
Integrality constraints:
or
1
for all k
all
The
h =
objective function (3.1) minimizes the total setup cost of
all
selected patterns.
product covering constraints (3.2) ensure that every product belongs to
we cannot choose more
Constraint (3.3) specifies that
pattern.
(3.4)
1,2, ...,Hk.
at least
The
one chosen
than one pattern for each
machine.
To
we
simplify our subsequent discussions,
identical,
i.e.,
will
assume that
The methodology extends
all
is
it
When
for these problems.
feasible for
other machines.
the
machines are
Pj,
and
in series)
identical, an
although
we
assignment
one machine must also be feasible and have the same setup cost for
Hence, we can drop the subscript k for the problem parameters and
decision variables in formulation [P], and combine the
into a single "capacity" constraint.
patterns.
machines are
easily to problems with non-identical
machines (including modules containing multiple placement machines
pattern that
K
they each have the same slot capacity C, processing times
processing limit T.
have not tested
all
Let
H denote
K pattern
the total
selection constraints (3.3)
number of
feasible assignment
Performing these simplifications, we get the following Capacitated Set
Covering formulation, denoted
problem with
as
[CSC], for
the electronics
assembly
tactical
planning
identical parallel machines.
H
[CSC]
Z*
=
min
Z
slXu
(3.5)
h=l
subject to
Product covering constraints:
foralli=
1,2, ...,N,
(3.6)
(3.7)
As
h,
before, the binary variable
and constraints
X^^
denotes whether
(k^^
=
or not
1)
(k^^
(3.6) ensure that every product belongs to at least
no longer associate a pattern with a
particular machine,
i.e.,
=
0)
pattern
one chosen pattern.
we can
We
arbitrarily assign the
number of chosen
selected patterns to the available machines; constraint (3.7) limits the
patterns to
we choose
K since we cannot assign more than one pattern to each machine.
Let [LCSC] denote the linear programming relaxation of the integer program [CSC],
obtained by replacing the integrality restrictions (3.8) with nonnegativity constraints. Since
formulation [CSC] contains a very large number of columns (exponential in the number of
products N), enumerating
impractical.
the
all
Therefore, we:
(i)
columns and solving the integer program optimally
solve
LP
its
relaxation
generation procedure to generate lower bounds, and
We
procedures to generate good feasible solutions.
containing
all
the
columns of [CSC],
containing only a subset of
its
as the
columns
is
[LCSC] using an
(ii)
iterative
is
column
apply heuristic and optimization
refer to the linear
program [LCSC],
master problem, a restricted version of [LCSC]
called a restricted master
problem
Our
.
solution
procedure consists of the following three phases:
Phase
1
:
Heuristic Solution
Initial
Using some greedy and
local
improvement
assignment patterns that together cover
all
heuristics
we
the products.
find
K
(or fewer) feasible
We refer to this solution
as the
initial heuristic solution.
Phase 2
:
LP
Solving the
relaxation of [CSC]
The optimal value [LCSC]
solve this
LP
is
a lower
bound on
relaxation optimally via
defined by the
Z
.
We attempt to
column generation. Starting with
initial heuristic solution, the
columns by solving
the optimal setup cost
method
the
columns
iteratively generates additional
the product selection subproblem; this
subproblem uses
"profit"
values derived from the optimal dual solution to the restricted master problem containing
only the columns generated
previous iterations.
in
This phase provides:
•
feasible solutions at intermediate iterations
restricted master
problem
is integral.
We
whenever
the optimal
LP
solution to the
refer to these solutions as intermediate
feasible solutions;
•
intermediate lower bounds on the
minimum
total setup cost,
based on the optimal dual
solution to the restricted master problem at intermediate iterations, and
•
a final lower
bound
if
we
solve
[LCSC]
optimally.
20-
Phase 3 Final Feasible Solution
:
Since the column generation procedure
patterns,
we
first
Phase 2 generates many promising assignment
the available columns.
all
two phases require solving
(for every candidate
the setup optimization
assignment pattern).
method before returning
We
first
subproblem numerous times
discuss this subproblem and
its
solution
to the overall solution procedure.
The Single Machine Setup Optimization Subproblem
3.2
The Setup Optimization (SO) subproblem
selection
problem and the original
products to a machine, the
the
CSC
construct a final feasible solution by optimally solving the restricted
integer program using
The
in
components
SO
tactical
is
For a given assignment of
planning model.
model determines
the
for both the product
model
a core
number of permanent
slots
to be loaded in these slots subject to the slot capacity constraints, in order to
minimize the setup cost for the remaining "temporary" components.
simplifies the formulation of the
SO
problem, and shows that
this
This section
problem
Adding an
explicit constraint to enforce this upper
programming relaxation of the
SO
We
model.
first
NP-hard.
is
then develop an upper bound on the number of permanent components
solution.
and selects
We
any feasible
in
bound strengthens the
linear
also describe a heuristic solution procedure,
develop a lower bounding method, and propose a branching scheme to solve the problem
optimally.
Notation and problem formulation
3.2.1
Consider any feasible assignment pattern a that assigns the product subset
machine.
To
of products selected by pattern
all
we omit
simplify the notation,
components required
to
a, i.e., I
=
the argument a,
{i
=
assemble products
1,2,.. .,N: a^
and
=
in this subset,
let
1 ).
and
now denote
I
Similarly, J
I(j)
c
of products requiring component]. Since the given assignment pattern
processing time for
the
all
the products in
component loading,
I is
slot capacity,
without the machine index k since
less than or equal to T.
1(a) to a single
The
I
is
the subset
the set of
denotes the subset
is
feasible, the total
SO problem contains
and integrality constraints of formulation
we now
consider only a single machine;
we
[P], but
restate the
SO
formulation for convenience. The model contains two sets of binary decision variables z-
and
y:,
value
for every product
1 if
we
component
j
i
e
I
and
all
components j €
J.
The decision
designate component j as a permanent component, and
must be loaded temporarily
decision variables, the
SO problem has
for product
i,
and
the following formulation:
-21-
is
variable yj takes the
otherwise; z-
otherwise.
is 1 if
Using these
[SO']
=
s*(a)
Z
min
b:
Z
{
iel
(3.9)
Z::)
J6J(i)
^
subject to
Component loading
constraints:
yj
+
Zjj
>
1
for
all
i
e
I,
and
<
B
fof
all
1
G
I,
End
=
Oorl
for all
i
6
I,
and
all j
e
J(i),
(3.10)
Slot capacity constraints:
Z
JeJ
y:
Z
+
J
z::
(3.11)
J
JGJ(i)
Integrality constraints:
yj.zjj
all j
e
J(i).
(3.12)
In the capacitated set covering formulation [CSC], the objective coefficient for the pattern
selection variable X^ corresponds to the
[SO'] for the
h^
minimum
s (a^)
obtained by solving
pattern a^.
Since the production frequency parameters
b-
optimal solution that designates each component
not both,
setup cost
are non-negative, formulation [SO'] has an
j
e
permanent or temporary but
J as either
i.e.,
=
Z--
Using (3.13) we can eliminate the
foraIli€
1-yj
I,
andallje
from formulation [SO']
z variables
J(i).
(3.13)
to get the following
more compact formulation [SO]:
[SO]
=
s*(a)
Z Z
b:
- max
jeJielCJ)
Z Z
(
jeJ
bOy:
(3.14)
^
ielO)
subject to
Z
y:
JeJ(i)
yj
The
objective function
number of
slots
C-IJ(i)l
for
all
i
e
I,
=
Oorl
for
all
je
J.
now maximizes
components permanently. The
the
<
and
(3.15)
^
(3.16)
the savings in setup cost obtained by assigning
slot capacity constraints (3.15) state that, for
each product
occupied by permanent components that are not needed for product
must be no greater than
the remaining slot capacity after loading all of product
components.
22-
i,
i
i's
SO problem
Computational complexity of the
3.2.2
Proposition
1
The
:
setup optimization problem
NP-hard.
is
Proof
:
We will prove this result by transforming any instance of the following recognition version
[SP] of the set packing problem into a recognition version of formulation [SO], which
refer to as the equivalent
SO problem,
in
we
polynomial time.
Set Packing problem: [SP]
Given a
set
p =
for
E =
{
1,2,
1,2,. ..,P,
is
,...,
of elements, and integer
lEI)
x€
Boolean vector
there a
L <
and P subsets Sp
lEI,
c
E,
{0,1}^ satisfying the following
conditions?
P
E
x_
>
Xp
<
Z
L, and
(3.17)
forallee
1
(3.18)
E.
pxeS P
Given any instance of
[SP],
we
will consider an equivalent
products and
M > 2P components.
The
from
one corresponding
each element of the
1
to lEI,
product.
We
to
first lEI
define the component set J as
J'
SO
SP problem
instance, and J"
is
u
J",
set E,
where
and product
J'
=
a set of special
N
dummy
a
is
P}
{1,2
the set of
is
each subset Sp
to
components
that
we add
every product requires the same number of component types.
to ensure that
IEI+1
products are regular products, indexed
regular components, containing one component p corresponding
original
N=
problem with
We
in
in the
order
construct
the set J" as follows.
For every regular product
contain the
i**"
element of
E
i
=
in the
1,2,
...,
given
|E|, let ttj
SP
denote the number of subsets Sp that
instance. For each regular product
i,
we
create
lEI
(P-cXj) special
components;
let J-
denote
this set
of special components.
If
Z
{P +
(P-a,)
i=l
El
< 2P, we
create
P -Z(P-a;)
additional special components.
The
set J" contains all the
1=1
special
(P+1).
components created
Note
equivalent
that
in this
manner; these components are indexed consecutively from
by construction, the
total
number of components
SO problem instance is greater than or equal
-23
to 2P.
M (=
IJ'I
+
IJ"I)
in the
For every regular product
=
i
we
1,2, ...,IEI,
define the set of components
J{i) that it
requires as follows:
=
J(i)
The
dummy
component,
We
Sj}u
{jeJ':i€
product requires every regular component, but does not use any special
J(N) =
i.e.,
J'.
Observe
M - P for
equal to M - P
that
IJ(i)l
i
=
1,2, ...,N,
The production frequency
dummy
=
i
C of the machine
the SO problem is feasible.
set the slot capacity
products
{J"U;'}.
product has b^ =
bj is
=
1,2, ...,IEI,
+
1.
MN+1. The
SO
equivalent
i
=
j
solution y
feasible for the equivalent
is
e
J)
and the following
such that the
minimum
total
Z Z
bjy:
We
we
to get the corresponding
and
y:
=
= L(MN+1),
bj,^
all
i.e.,
a
constraints (3.15), (3.16),
and only
if
the equivalent
by showing
SO
SO solution
by
SO
problem,
problem has a
that given a feasible solution to
setting
y = x
any feasible SP
components
we
set
for all the regular
>
j
x^ = y
P.
for
Conversely,
all
p =
1,2, ...P
solution.
SO
problem the savings for selecting
a regular
is
between (MN+1) and (MN+l+N-1), while the savings for each special
at
most (N-1)
product has h^ =
component but no
savings even
values for
(3.19)
for all the special
note that, in the equivalent
component j
component is
dummy
SP
(i.e., y;
feasible solution to the other problem. For
given a feasible solution y to the equivalent
First,
if
will establish this claim
1,2, ...,P,
but the
a recognition
is
L(MN+1).
>
construct the corresponding
components p =
if it satisfies
for all
IJ(i)l
^
problem we can construct a
solution X,
problem
[SP] has a feasible solution
feasible solution.
either
SO
L
least
is at
P.
setup savings constraint:
JGJielO)
We claim that
setup savings
=
IJ(N)I
1,2, ...,IEI,
problem, which
version of formulation [SO], seeks a choice of permanent components
components
C>
Since
for every regular product
1
and
if
1)(M-P) which
special
we can
is less
since:
(i)
each of the (N-1) regular products
MN+1, and
(iii)
the
dummy
component. Ignoring the
select all the regular
than bj^
=MN+1.
i
has bj
=
1, (ii)
the
product requires every regular
dummy
product, the
maximum
possible
and special components as permanent
Therefore, in order to satisfy the
savings constraint (3.19), every feasible solution y to the equivalent
is
minimum
SO
(N-
setup
problem must
dummy product's savings for at least L permanent components, i.e., it must
at least L regular components. Hence, the corresponding SP solution satisfies (3.17).
capture the
select
Conversely, since every feasible
savings for the corresponding
minimum
SO
SP
solution x sets at least
solution exceeds
setup savings constraint (3.19).
24-
L
L(MN+1),
of the x
i.e.,
variables to
1,
the
this solution satisfies the
We now
show
SO
corresponding
that the
and SP solutions
satisfy constraints (3.15)
and
(3.18) respectively. Note that the slot capacity constraint (3.15) for every regular product
in
our equivalent
SO problem
S
P
SO
i
=
1,2,
...,IEI.
The
must
<
C-tJ(i)l
=
(M-P+1)-(M-P)
=
1
"
(3.20)
slot capacity constraint for the
dummy
SP
SO
special components.
solution x satisfies constraints (3.18), the corresponding
Similarly, for any feasible
satisfythe slot capacity constraints (3.15).
solution y to the equivalent
product specifies that the
more than B-IJ(N)I = (M-P+1) - P
solution must select no
solution
y:
J6J":j«J(i)
Therefore, since every feasible
SO
becomes
I
y_ +
p£j':ieSp
for all
instance
i
problem, the corresponding SP solution
satisfies constraints
(3.18).
These arguments show
problem has a feasible
solution.
optimization problem [SO]
and only
that [SP] has a feasible solution if
is
Since the set packing problem
if
the equivalent
SO
NP-complete, the setup
is
NP-hard.
Greedy heuristic for the SO problem
Although the SO problem is intractable in theory, our computational
3.2.3
that its linear relaxation provides a tight
greedy heuristic described
lower bound, and the following adaptation of the
Nemhauser and Wolsey [1988]
in
experiments indicate
We
generates good component loading plans.
for the set packing
X
=
define SC:
b-^
problem
as the setup cost for
ie I(j)
SC is the total setup cost we incur if component
component j.
an optimal solution, any component Uiat
temporary for
all
Uie products that use
The
The denominator of
covered by component]
savings per
in
row covered
temporary
maximize
heuristic seeks to
savings at each step by permanentiy loading components
SCj/(N-II(j)l).
is
(recall that, in
loaded temporarily for one product must be
is
it).
j
C: represents the
j
that
the setup cost
have high values of Oj =
number of rows
(constraints (3.15))
formulation [SO]. Hence, the parameter Oj represents the setup
if
we
assign a permanent slot to
component
Starting with
j.
no
permanent components, the procedure successively examines every component j in
decreasing order of C. (in case of ties, we give priority to components with higher values of
SCj),
and makes component
j
permanent
if feasible, i.e., if
previously chosen permanent components
(3.15) for any product
i.
j'
setting yj
does not violate the
Using a worst-case example similar
25-
=
1
and
yj.
=
1
for all
slot capacity constraint
to the set
packing example
in
Nemhauser and Wolsey
heuristic can be arbitrarily
3.2.4
bad
we can show
performance of
that the
we
method
describe a
this
greedy
SO
However, the method seems
relative to the optimal value.
in practice. Next,
perform quite well
optimal setup cost
[1988],
to
lower bound on the
to generate a
Sj,.
Lower bound on optimal setup cost
Let Q^jn denote the minimum number of slots required for temporary components in
order to ensure feasibility of the slot capacity constraints for all products. R^^^^ == C - Q^^jj^
maximum number of permanent slots in any feasible component loading scheme. We
develop a lower bound on the minimum setup cost by fu^t determining a lower limit Q on
= C - Q is an upper bound on R^ax' ^^^ ^" ^^ ^^^ possible scenario we
Qmin- T^cn, R
is
the
can choose the
R components
minimum
Hence, the
for the remaining
with the largest setup costs SCj as permanent components.
sum of setup
setup cost on the machine must equal or exceed the
costs
(M-R) components.
For any given subset of products S
required to assemble the products in S.
c
I,
u
J(S) =
let
To compute Q, we
J(i)
be the set of
all
components
use the following proposition.
Proposition 2 :
r'^^^lforall
^
Qmin
subsets of boards
Scl with
ISI>2.
(3.21)
Proof:
Let
/
=
ISI,
induction on
/
and without loss of generality assume S =
that
every feasible
SO
solution
>
IQ^-^
must
{
First,
1,2,...,/}.
satisfy
Z
IJ(S)I-
(3.22)
y:.
Consider a subset S containing only two products, say, S = {1,2}.
temporary
slots
must be greater than or equal
we prove by
to the
The number of
number of temporary components
for
each product Hence,
>
Q^i„
Summing
inequalities (3.23) for
2Q^i„
™" >
=
i
=
IJ(1)I
IJ(i)l-
I
for alii 6
y:
(3.23)
I.
jeJ(i)
1,2 gives
+
IJ(2)I-
I
JGJ(I)
yjJ
I
yj
JGJ(2)
IJ(l)uJ(2)l + IJ(l)nJ(2)l-
^
Z
JGJ(l)uJ(2)
-26
yjJ
S
JGj(l)nJ(2)
=
IJ(S)l
I
+ IJ(l)nJ(2)l-
>
IJ(S)I
Z
-
J
y:
since y,
J
J
jeJ(S)
Hence, every subset S containing two products
Now, suppose
3).
product
<
1
for
all j
containing /products, and
{1,2,...,/)
"
e
J.
satisfies inequality (3.22).
the inequality (3.22) corresponding to subset
/
Yj
jeJ(l)r\I(2)
that (3.22) is valid for all subsets containing (/-I) or
Consider a subset S =
Adding
I
y:-
jeJ(S)
fewer products
let S'
=
(/
>
{1,2,...,/-!}.
and the inequality (3.23) for
S',
gives
=
IJol
+
IJ(S')
jeJ(S)
jeJ(0
n J(/)l - X
y:J
jeJ(S)
>
Z
IJ(S)I-
is
a valid inequality for
C
subsets S
O
>
1
^
forallJ€
J.
J
J
all
y:
sincey, <
y:
J6J(S)
Therefore, (3.22)
Z
jeJ(S')nJ(0
S
+
c
I
with
ISI
>
2.
Note also
that
v
J€J
O
>
Adding
this inequality to (3.22)
we
an integer) shows that (3.21)
is
(/
Z
V.
get
(/-l)Q^i„>
Dividing both sides of (3.24) by
+
-
1),
and rounding up the right-hand side (since Q^,j,
a valid inequality for the
Proposition 2 suggests one
way
(3.24)
IJ(S)I-C.
SO problem.
lower bound
to determine the
number of temporary components Qmin- compute Q(S) =
I
Q
on the minimum
(IJ(S)I-C)/(ISI-1)
I
for every
subset S (where fgl denotes the smallest integer greater than or equal to g), and set
to the
maximum
value over
completely enumerate
all
all
subsets.
the subsets S,
Note
i.e.,
that this
the
approach
maximum
two of the following
Methods
to
three lower
the following three
computational
tests,
valid even if
we do
not
We exploit this observation
bounding procedures.
compute the lower bound
Each of
is
Q equal
value of Q(S) over any limited
family of subsets S also provides a valid lower bound on Q^^^.
in
is
Q
methods generates a valid lower bound on
Q^^^^-
In our
none of these three methods systematically outperforms the others
-27-
in
terms of producing a superior lower bound for
Qf^^J^^,
so
we apply
three
all
methods and
set
=
2),
Q equal to the maximum lower bound.
1.
The
all
and
2.
pairs method computes Q(S) for
selects the
maximum value
all
pairs of products
we
all
S with
ISI
as the lower bound.
The maximal set method attempts to identify a subset S
components IJ(S)I. Initially, the set Sj^j contains all
...,2,
for
(i.e.,
obtain a subset S^ containing
/
maximum number of
requiring the
Then, for
the products.
= N-1,
/
elements by dropping from the current subset
S^^j the product that results in the smallest reduction in IJ(Spi (we break ties by dropping
the product with the fewest components).
subsets provides a lower
3.
For any
The maximum value of Q(S)
bound on Q^in-
Q
instance cannot have a feasible solution with only
Q until
current value
it is
is
infeasible
To prove
permanent
permanent
slots
test fails to
Q = 0, the method
value of
needed
prove
the
is
test,
components
if
we can show
that
to
assemble
Q is
that
Q
that the trial value of
all
Q is
products
in
I if
try to
that
temporary
must necessarily be permanent
if
slots is
we cannot prove
if
Q
Q slots are
is less
number of
temporary. The
slots are temporary).
test,
which
Q slots are
C-Q
than or equal to
prove the infeasibility of
thcpermanent component identification
say that the
infeasible, the procedure first
only
slots available if
C-Q, we
Q
acceptable
is
We
value.
having just
infeasible if the underestimate
number of permanent
trial
successively increases
to underestimate the fewest
slot reservation test
underestimate exactly equals
second
trial
the other hand, the current value
infeasible.
applies a
(which
Q
On
inadequate.
that
Starting with a
slots.
(or fewer) slots devoted to
can no longer prove the infeasibility of the current
it
N-1
value of Q, the infeasibility method attempts to show that the problem
trial
temporary
for these
Q
If
the
by applying a
identifies specific
temporary. Appendix
A
contains the detailed description of the infeasibility method.
To
apply the permanent slot reservation
available product i* e
I'
that has the
eliminate
all its
number of
slots that
all
we have
(i.e., if
mj* exceeds the
0), then
we
we
this
28-
trial
Q then
value of
amount, remove product
component
set
J',
i*
and repeat Step
l\l'
cannot satisfy the
limit the
components, say,
must be loaded permanently. Hence, we
y by
the current
If
reserved for the products in
y<
the products if
J').
i*
slot capacity
components from
permanent capacity
(3.15) for
set
- Q) components of product
reduce the available permanent
(Step 2), the procedure selects the
maximum number of remaining
m^* (belonging to the current component
at least (m^*
test
from
2.
I',
If the
exceeds the available
slot capacity constraints
number of temporary components
to a
maximum
of Q. In this case,
we
increment the value of
the infeasibility checking procedure. If mj*
current value of
Finally, if the
Q
is
Q by
1
(in
less than or equal to
Step
4),
and reapply
Q in Step 2b, then the
appears to be large enough and the procedure terminates (Step
number of
available permanent slots
(C-Q)
is
just
enough
(i.e.,
5).
y =
in
we
Step 2c and the subsets of remaining products and components are not empty), then
apply the permanent component identification
consider any remaining product
other component
principle for
If
3c).
IJ"I
temporary
two
all
e
j
If the
i
At the end of Step
Q components from
J';
every
must be made permanent. Using
build the set J" of permanent
components
that if
we
and as before we increment
procedure reaches Step
this
5,
Q
(in
2,
(in
this
Step
Q
Step 4) and reapply the
we cannot prove
that the current
value as the lower bound on the
minimum
slots required.
apply the
set heuristic at size
two methods
we
I',
and so we use
infeasible,
number of temporary
maximal
€
slots is infeasible,
Q is
Observe
that requires exactly
3).
exceeds the available permanent capacity (C-Q), then the current value of
infeasibility tests.
value of
i
I'
needed for product
J(i)\I'
products
e
i
(Step
test
as the initial
=
/
pairs heursitic
all
3,
first,
we can
stop the search in the
and then use the better of the bounds produced by these
value in the infeasibility method. Our implementation follows
trial
this strategy.
The sum of setup
costs
SC
components except
for all
the first
with the highest setup costs gives a valid lower bound on the
R = C - Q components
minimum
setup cost
s,^
of the
SO problem. We can also add the following maximum permanent slots constraint
N
I
to formulation
two
(i)
[SO]
in
<
y;
1=1
R
(3.25)
J
order to strengthen
its
relaxation.
Adding
this valid inequality raises
interesting issues:
Does
constraint (3.25) eliminate any fractional solutions to the
LP
relaxation of
formulation [SO]?
(ii)
Does
this constraint define a
conv({y G
I
(0,1)'^':
y:
C-
IJ(i)l
for all
i
e
I))?
^
j«J(i)
We
<
high dimension face of the slot allocation polyhedron
can construct problem instances for which adding constraint (3.25) eliminates the
fractional
LP
solution to [SO].
The example described
capacity of 6, has this property.
maximum
value
R^a^ °^
strengthened formulation
^^^
For
this
Vanderbeck [1993], but with a
slot
R equals the true
optimal LP solution to the
example, the upper bound
number of permanent
is integral.
in
slots
and the
Vanderbeck [1993] also shows
-29
that: (a)
using up the
maximum number
of permanent
defined by (3.25)
not a facet of the setup optimization polyhedron.
is
always optimal, and
slots is not
(b) in general, the face
This section has focussed on the setup optimization model, which
to generate
lower bounds as well as heuristic solutions for the
simplified the
SO
problem formulation, showed
it
a core
subproblem
maximum number
NP-hard, described a greedy
is
of permanent
slots.
If this
lower bound
equals the cost of the heuristic slot allocation, then the heuristic solution
Otherwise, to solve the problem optimally,
heuristic solution serves as the initial
maximum permanent
we
incumbent
in this procedure,
slots constraint (3.25) in the
adding a new variable
that
defining constraint
W=
Z
j€j
y:,
W,
optimal.
SO
In
and we incorporate the
problem formulation
first
on
in
order to
our computational experience,
denoting the number of permanent
and branching
is
use a branch-and-bound scheme. The greedy
improve the intermediate LP-based lower bounds.
found
We
planning problem.
and developed a lower bound for the setup cost
heuristic to generate a feasible slot allocation,
based on an estimate of the
that
tactical
is
this variable
slots,
we
with the
improves the performance
J
of the branch-and-bound scheme. The size of the branch-and-bound tree tends to be quite
small (no branching was necessary for over
LP relaxation
95%
of the
SO
problems we solved) since the
of the enhanced formulation (with inequality (3.25)) produces
In the next
few
sections,
we
tight
bounds.
describe upper and lower bounding techniques for the
higher level problems-the product selection subproblem, and the overall tactical planning
model.
3.3 Initial Product
Phase
Assignment Heuristic
of our overall solution procedure for the
1
finding a heuristic assignment of products to machines.
the better of the
two solutions
tactical
We
planning problem requires
apply two methods and select
as our initial heuristic solution.
Both these methods require
repeatedly solving (approximately or optimally) the setup optimization subproblem.
3.3.1
List
processing heuristic
This method successively assigns products,
potential setup cost bj
step.
We
IJ(i)l,
to
machines so as
to
in
decreasing order of their
minimize the incremental setup cost
use a slightly different ranking of products in the
first
K
at
each
steps in order to
heuristically differentiate the product groups that are assigned to each of the
-30
maximum
K
machines.
Assigning the first product to each machine:
The
first
product assigned to a machine serves as a "seed" for similar products that are
subsequendy assigned
machine based on incremental setup cost considerations (which
to that
depends on pan commonality). To
needed
K
for the
machines using
we
product groups,
final
components
heuristically reduce the overlap in the set of
We
the following procedure.
maximum potential setup
we recompute the maximum potential
K
assign "dissimilar" seed products to the
begin by assigning to the
machine the
first
At every subsequent step
k = 2,
k, for
product with the
cost.
...,K,
setup cost for each of the remaining products,
ignoring the components required by the
the largest (potential) cost to the k
first
(k-1) products, and assign the product with
machine.
Assigning the remaining products:
We then
sort the
remaining products
in increasing order of h^
this rule has
according to the longest processing time rule since
minimizing makespan, which
is
set
Let
Ij^
product
i
to
\.
on machine k
i
to
denote the current
If J(i)
is 0.
machine k
c
J,^,
optimal
subsets
total setup cost
Ij^
and
Ij^ufi).
on the actual setup cost
problem only
or
if
Otherwise,
assembles every product
SO
when product
set
we
We define
Jy.
is
the
the incremental cost of
on machine k when we add
< C, then
the incremental setup cost for product
we must
solve the
SO
I,;^
u
(i).
assign product
for product
we
machine with the lowest incremental
to
machine assembles
that this
machine
k,
get upper
then
On
TS2-TS1
is
the product
bound
a lower
the other hand, if
bounds on TSj and TS2.
i's
actual setup cost if
it
k,
is
we
solve the
We
use the
I,^
and
assigned to machine
and assign product
i
k.
to the
cost.
assignment of products to machines suggested by the
might violate the workload constraint
(1.4).
If
it
does,
overloaded machines to others that have slack capacity.
most overloaded machine, we
machine k
that
the difference in the heuristic setup costs for
is
i
Let TSj and TS2 denote, respectively, the
in the final solution.
i
heuristically, dien
which
i
problem assuming
We compute the heuristic incremental cost for every machine
to the
k;
u J(i)l
IJ,^
I,jU{i}, as an approximarion for product
final
proven effective for
the next product to be assigned
the increase in setup cost
is
in the set
heursitic incremental cost,
The
Ties are broken
of products assigned to machine
on machine k assuming
If
is
i
of components needed to assemble these products.
assigning product
in
an implicit objective to meet the workload balancing
constraints. Consider an intermediate step
list.
and assign them
that requires the smallest incremental setup cost.
sequence to the machine
from the sorted
IJ(i)l,
select the product
we
list
processing heuristic
attempt to transfer products from
From among
the products assigned
whose removal gives
the
maximum
reduction in setup cost on that machine, and can be feasibly accommodated on another
machine,
i.e.,
the processing time for this product
31
must be no more than
the slack time
available on at least one other machine.
we choose
machine
the
Among
the
machines
have adequate slack time,
that
that incurs the lowest (heuristic) incremental setup cost,
the product to this machine.
Because
myopic,
this strategy is
and reassign
might terminate without
it
producing a feasible product-to-machine assignment.
3.3.2 Smallest setup-to-processIng
This method
better suited than the previous
is
workload balancing constraints are
machine
same
the
is
loaded machine
k,
as before.
and assigns
to
apply the
SO
Initially,
to
i
machine
heuristic to
we
set
P=
balancing constraints,
k,
we
it
the unassigned product
and the exponent
If the final
(5
is
[1984]). For
makespan; hence,
b^
that
i
is
minimizes the
of our
5^/?^
Again,
a user-specified parameter.
at
each
if
we
we
step.
product-to-machine assignment violates the workload
makespan
all
ratio
the incremental setup cost
As p
increase the value of P and repeat the algorithm.
effective for minimizing the
the
product for each
to select the first
approximate the incremental setup cost
0.
when
processing heuristic
Subsequently, the algorithm iteratively selects the least
the algorithm resembles the Longest Processing
Rinnooy Kan
list
The procedure
tight.
of the incremental setup cost to processing time, where
add product
heuristic
ratio
Time (LPT)
for parallel
test
machines
heuristic
(see, for
which has proven
example, Frenk and
problems, the processing Hmit
this setup-to-processing ratio heuristic
increases,
T exceeds
the
LPT
always generates a feasible
heuristic solution.
We
select the better
(i.e.,
having lower heuristic setup cost) of the
smallest ratio heuristic solutions as the
its
develop
many
SO
problems optimally.
We can
other heuristic procedures for the product assignment problem such as the
group technology methods
that
we
outlined in Section 2, or analogs of bin packing and
machine scheduling algorithms.
strategies since
processing and
solution for the tactical planning model, and
optimal setup cost by solving the corresponding
evaluate
parallel
initial
list
we
use the
initial heuristic
We
have not pursued these alternate heuristic
solution mainly as a starting point for the
column
generation algorithm.
3.4
The Column Generation Algorithm
Having constructed an
relaxation
[LCSC] of
initial heuristic solution.
the capacitated set covering formulation
lower bounds on the optimal setup cost
Recall that the
Phase 2 attempts
H columns of formulation
Z
,
[CSC]
in
to solve the
LP
order to generate
and possibly improve the feasible solution.
[CSC] correspond
to all the
assignment patterns
with total processing time less than or equal to the processing limit T.
-32
The
h'
pattern
consists of assigning
in
[CSC]
is
the
all
products with aj^ =
minimum
1
to a single
machine;
its
cost coefficient
setup cost, obtained by solving the corresponding
SO
s
(a^)
problem
optimally.
Starting with the
K assignment patterns of the initial heuristic
solution as the initial set of
columns, the column generation procedure iteratively generates new "promising" columns as
needed
until the linear
programming optimality conditions of [LCSC]
denote the number of assignment patterns or columns available
column generation procedure.
Initially,
H^ = K,
incumbent, and the current best upper bound
iteration
t,
we
first
of iteration
t
H
of the
the initial heuristic solution is the current
the total setup cost of this solution.
Zi^
=
far:
min
Z
h=l
subject to
at the start
Let
At
solve the following restricted master problem, denoted as [RM'],
containing the H' columns generated thus
[RM*]
is
are satisfied.
s*(aj,)
\
(3.26)
value Z* of the tactical planning problem. Otherwise,
we
generate one or
more columns with
negative reduced cost, add these columns to the restricted master problem, and perform the
next iteration.
we
iteration,
To check
for optimality and generate negative reduced cost
columns
at
each
solve the product selection subproblem.
The product selection subproblem
3.4.1
At
iteration
cost s*(a)
t,
the reduced cost of
any column or assignment pattern a with optimal setup
is
N
=
p(a)
s*(a)
Z
-
aj 7i|
+ o\
(3.30)
i=l
Note
that
every column
master [RM'] must have nonnegative reduced
in the current restricted
cost since k\ and a' are the optimal dual values for [RM'].
[LCSC] has negative reduced
single
machine
that
cost,
minimizes
we
To
verify
if
any other column of
attempt to find a feasible assignment of products to a
(3.30).
We can
formulate this minimization problem as the
following product selection subproblem [PS'] using binary variables similar
formulation [P], but for a single machine.
selection {x^), permanent
The variables of
component loading
(y.),
to those in
[PS'] correspond to product
and temporary component loading (z-)
decisions:
N
[PS(7iS]
=
L(7t')
Z
min
iGl
b,
*
{
Z
-
Z::}
'
jeJ(i)
Z
z
(3.31)
7t| X:
i=l
subject to
Maximum workload constraint:
N
ZPjXi
<
T,
>
Xj
for all
i
=
<
B
for all
1
=
1
for all
i
=
1,2, ...,N, all
(3.32)
i=l
Component loading
constraints:
y-
+
Zjj
1,2, ...,N, all
j
€
J(i),
(3.33)
Slot capacity constraints:
1
Z
jeJJ
y:
•*
^
+
Z
z::
jeJ(i)
ieJ(i)
,2,
. .
.,N,
and
(3.34)
^
Integrality constraints:
xj. Yj, Zjj
=
or
1
-34-
j
g
J(i).
(3.35)
We interpret k\ as the reward or profit for assembling product
products to accept
which
"net profit",
Having selected
=
(xj
is
1
if
we
accept product
i,
and
we must
also decide
which of
that uses these
minus the
the required
permanently; the remaining components are temporary, and
each chosen product
must decide which
otherwise) in order to maximize the
the total profit for all accepted products
the products,
We
i.
we
total setup cost.
components
incur their setup costs for
components.
Since each column in the optimal basis of [RM^] has zero reduced cost, and
for [PS(7t')], the optimal
that
PS subproblem value
must be
L(7i')
less than or equal to
with the next iteration of the master problem as long as
we can proceed
some negative reduced
methods
(the
LP
to find
we
(although
lower bound for formulation
select the products heuristically,
heuristic patterns that
If the
we
SO
problem
is
initiate the
we
generate
first
is
very time
apply heuristic
we compute
If this
the pattern's true setup cost
effon
is
unsuccessful
we must
by
(i.e., all
solve [PS(n')]
we can add
next iteration.
the corresponding
Otherwise,
column
if L(7r')
= - a\
to the restricted
the current
LP
optimal for [LCSC], and the current optimal value of the restricted master
a valid lower
some
we
weak),
generate have nonnegative reduced cost),
bound on
Z
.
Before describing our heuristic method
discuss
-a\ Note
branch-and-bound procedures generates a pattern with negative reduced
master problem, and
is
PS(;i') is
problem optimally).
cost (at an intermediate or final stage),
solution X^
feasible
one or more product assignment patterns with negative reduced cost
solving the corresponding
optimally.
is
cost column, not necessarily the optimal solution to [PS(Ji')]. Since
solving [PS(7i')] optimally using a general-purpose branch-and-bound method
consuming
to load
strategies that
to solve the product selection
subproblem,
let
us
might improve the performance of the column generation
procedure by reducing the number master of iterations needed to converge to the optimal
solution.
First,
initiate the
although generating just one negative reduced cost column
next iteration of the master problem, Desrochers et
generating multiple columns
recommend
at
al.
is
sufficient to
[1992] have noted that
each iteration can accelerate convergence. Furthermore, they
generating disjoint columns to improve the chances of obtaining an integer
optimal solution to the restricted master problem. In our problem context, disjoint columns
correspond to feasible single machine assignments of mutually exclusive product subsets.
A
second improvement strategy consists of adapting Magnanti and Wong's [1984]
acceleration technique for Benders' decomposition to the
column generation algorithm.
When
method
the Benders' subproblem has alternate optima, the
solutions
to
by optimizing a subsidiary
selects pareto optimal
objective. This pareto optimality principle also extends
our column generation procedure; however,
35
it
requires optimally solving the difficult
product selection subproblem twice. Instead,
we
use insights from the principle to modify
our heuristic procedure. In particular, Magnanti and Wong's pareto optimality
among
that
optima for the product selection subproblem
the alternate
a pattern that assigns
more products
with the lowest setup cost, or
(ii)
to the
machine, with
ties
[PS(7i')],
result implies
we
prefer:
(i)
resolved in favor of the pattern
a pattern that has the smallest possible setup cost, with
preference for a pattern that assigns more products to the machine (see Vanderbeck [1993]).
We incorporate these preferences in the heuristic column generator that we describe next.
Product Selection (PS) Heuristic
For any feasible board assignment pattern satisfying
setup cost minus the total profit for
all
SO problem
corresponding
we
its
optimal
To compute
the reduced
we must
evaluate
its
its
reduced
cost.
by solving the
true optimal setup cost
However, an approximate
optimally.
will refer to
Adding o^
to the net setup cost of an assignment pattern gives
cost of an assignment pattern,
(3.32),
the chosen products as the net setup cost.
SO method
(that provides
an upper bound on the setup cost) might be adequate for evaluating alternative assignment
patterns during the heuristic search process.
bound on
for a particular assignment pattern, the upper
net setup cost obtained using the approximate
true reduced cost for this pattern
column
If,
to the restricted
The PS
(after evaluating its true
minimize net setup
sequential selection heuristic to
first select
cost.
this heuristic solution or
reduced
The method has two components: a
to further decrease the
At any step
method has chosen
/
which
is
Tij
we
1/
is less
maximum
is
negative,
and repeat the procedure
we
until
incremental
For every remaining product
than the current slack capacity,
maximum
reduced cost
denote the subset of (/-I) products that the
if
we add
we
i
whose
evaluate the incremental net
product
i
to
I^.
estimate the incremental setup cost by applying the
product with the
incremental net profit
to
I^
minus the incremental setup cost
heuristic procedure,
i* be the
let
in the previous (/-I) steps.
processing requirement
profit
of the procedure,
maximum
The Sequential
generate other negative reduced cost columns.
Selection heuristic successively selects products that provide the
benefit.
cost).
a subset of products that satisfies the
workload constraint, and a neighbor scanning procedure
of
less than -a', then the
is
must be negative, and so we can add the corresponding
master problem
heuristic seeks to
SO method
in the initial
SO heuristic.
Let
product
i*'s
(heuristic) incremental net profit.
terminate the procedure; otherwise,
As
If
we add product
no remaining product has processing requirement
i*
less
than or equal to the residual time on the machine.
We attempt to satisfy the pareto optimality
conditions by:
it
maximize
the
(i)
selecting product i* even if
number of products assigned
with the lowest incremental setup cost
has zero marginal benefit
to the machine),
when two
benefit.
36
or
and
(ii)
(in
order to
selecting the product
more products have
the
same marginal
When
SO
chosen products by solving the
add the corresponding column
we
reduced
apply
problem optimally.
to the restricted
heuristic consists of applying a
solution;
If the
reduced cost
neighbor scanning procedure
procedure even
this
evaluate the true setup cost of the
is
negative,
to the sequential heuristic
sequential heuristic solution has negative
if the
Starting with the sequential heuristic solution as the initial incumbent, the
cost.
neighbors of the incumbent.
and 2-exchange operations
We define
the
heuristic) the reduced cost for all the
neighborhood of an incumbent via
remove one or two
that
SO
1
-exchange
currently chosen products and add upto 3
products. If the procedure finds any promising pattern with an estimated reduced cost
that is negative or
lower than the incumbent's reduced cost,
pattern through a recursive call to
it
scans the neighborhood of this
itself.
Consider an incumbent pattern whose neighborhood we want to search. Let
the set of products chosen in this pattern, and
products.
N';
we
master problem. The second phase of the PS
neighbor scanning procedure estimates (using the
new
we
the sequential selection heuristic terminates,
we
Initially
I'
is
let I"
c N'
the subset of products chosen
delete products
from the candidate
neighbor scanning procedure
in
1'
denote
be the current set of candidate
by the sequential
heuristic,
and
set I" at selected intermediate steps
I"
=
of the
order to generate disjoint columns. The neighbor scanning
procedure jjerforms the following steps:
Neighbor Scanning Procedure
Stage
1: 1
-exchange:
For each product
lA: check
the
i
€
if the
I',
and every pair of products j,k e
solutions I\{i}, I\{i}u{j), I\{i}u{k), and I\{i)u{j,k) satisfy
maximum workload constraint
(3.32);
IB: evaluate the heuristic reduced cost of each
IC:
if
a
new
pattern;
its
exact setup and reduced cost;
the exact reduced cost
negative, add the corresponding
column
to the
master
problem, and remove the products chosen by that pattern from the
set of
if
candidate products
call the
is
I".
IE: if the exact reduced cost
If
new
pattern has a negative or lower heuristic reduced cost than the
incumbent, evaluate
ID:
I",
is
negative or lower than the incumbent's reduced cost,
Neighbor Scanning Procedure with the new pattern
none of the new patterns generated by
than the incumbent pattern, go to Stage
1
as incumbent;
-exchange have negative or lower reduced cost
2.
Stage 2 2-exchange:
:
For every pair of products
i, j
€
I',
and every
37-
triplet
of available products
u, v,
w
e
I",
2A: check
if
the solutions \\{i,i), I\{i,j}u{u},
I\{i.j)u{v}, A{i.j)u{w},
I\{i.j}u{u,v}, I\{i.j}u{v,w), I\{i.j)u{u,w)and I\{i,j}u{u,v,w} satisfy the
maximum workload constraint
Apply Steps IB, IC, ID, and IE
(3.32);
to
each new pattern.
recursively searches the neighborhood whenever
The neighbor scanning procedure
it
generates an improved product assignment pattern with lower or negative reduced cost (see
Step IE) since this pattern
is
likely to
have promising neighbors. Therefore, the procedure
can potentially generate numerous negative reduced cost columns
at
each iteration, thus
decreasing the number of master iterations, reducing the number of times
the
PS subproblem
final iteration.
maximum
to solve
optimally, and also providing a wider choice of promising columns
we impose an upper
In order to limit the search process,
depth of search on the number of recursive
at
the
limit called the
calls.
a particular master iteration, the PS heuristic fails to generate a negative reduced
If, at
cost column,
values
we need
7t'
and
we must
o'.
We
solve the
PS subproblem optimally
for the current set of optimal dual
use branch-and-bound to solve [PS(7t')] optimally; since the columns
in the current optimal basis
have zero reduced cost and are feasible for
-a'
bound
as the a priori upper
for the
[PS(jt')],
we
specify
LP-based branch-and-bound procedure.
Our
implementation uses a standard branch-and-bound code (CPLEX), and therefore does not
incorporate the iterative upper and lower bounding methods (described in Section 3.2) for
the setup optimization subproblems at each node of the branch-and-bound tree.
permits us to assign branching priorities to different variables;
assignment variables
components, and
If the
PS
x-,
finally
next on an auxiliary variable
we
list all
selection heuristic or the optimal
set
y;.
branch-and-bound algorithm produces a negative
attempt to generate other disjoint negative reduced cost columns
by deleting from the product
reduced
we branch first on the product
number of permanent
for the
on the permanent component loading variables
heuristic or the subsequent
reduced cost column(s),
W
The code
PS
the products chosen previously by the sequential
solution,
and reapplying the PS heuristic with the
of products.
3.5 Intermediate
Lower Bounds on
Z*
LP relaxation [LCSC] of the capacitated set covering formulation
lower bound Z^p on the optimal value Z of the original tactical planning problem.
Optimally solving the
gives the
In the
column generation scheme,
the value
Zlp of
38-
the restricted master
problem
at
an
intermediate iteration
only
at the final
t
is
Z
not a valid lower bound on
master iteration when
;
we
we have proved
get the
that
LP
lower bound Z^p
no other single machine
assignment pattern has negative reduced
cost.
As we explain
implementation limits the number of nodes
in the
branch-and-bound
in
Section
tree,
our
4,
and so might
terminate without solving the PS subproblem, and hence [LCSC], optimally. However, as
the following discussion shows,
we can
use the optimal values (or lower bounds on these
values) of the product selection subproblem at intermediate iterations to develop lower
bounds on
Z
.
Consider the original formulation
[P]
dualize the product assignment constraints (1.2) using Lagrangian multipliers
1,2,...,N.
machine
machine
Then, the problem decomposes into
k, the
that
minimizes the net setup cost subject
for
all
same product assignment
is
i.e.,
P^^
=
P^, Tj,
optimal for
single-machine Lagrangian subproblem
=
all
K
is
the
workload balancing constraint
to the
T,
and
C|^
=
C
for
all
machine
k.
=
same
we
(1.3),
If all
that the
subproblem
as the product selection
if
this
k =1,2,. ..,K, then the
Lagrangian subproblems. Observe
of the column generation scheme. Therefore,
the restricted master
i
subproblems, one for each machine. For
constraints (1.4), and slot capacity constraints (1.5) for
the machines are identical,
[PS(7t)]
K
Tij
Lagrangian subproblem seeks a subset of products to assemble on
component loading
we
of the tactical planning problem, and suppose
use the optimal dual values k\ of
problem [RM'] as the Lagrangian multipliers, we get the following valid
Lagrangian-based lower bound
N
Z
=
Zii
Ji|
+ KL(7i^
(3.36)
i=l
on Z^p
at
every iteration
frequency parameters
In our
bj
we can round
column generation scheme, we can compute
(recall that
heuristic cannot identify
Assuming
of the master problem.
are integers,
PS subproblem optimally
PS
t
we
solve the
that all the production
t
bound on Z
Z^jg up to get a valid lower
this
lower bound whenever
we
could generate a lower bound on the optimal value
Lagrangian relaxation method for
this
for L(7t') in (3.36) to get a valid lower
L(7C^)
subproblem), then
of the
PS subproblem
we can
.
solve the
PS subproblem optimally only when
any negative reduced cost column). Note, however,
*
the
that if
we
(using, say, a
substitute this lower
bound
bound on Z^g, and hence Z^p.
We update the current best lower bound if the new integer lower bound is higher, i.e..
Best lower bound
If this integer
problem, then
at iter,
t
= max Best lower bound
{
at iter, (t-1
),
TZlqI
}
.
(
3.37)
lower bound exceeds the current optimal value of the restricted master
we can
terminate the column generation procedure since pursuing the optimal
39-
solution of
[LCSC]
will not
Z
produce a tighter lower bound on
Z^g, we can potentially eliminate several master
Thus, by rounding up
.
iterations at the end.
This strategy can
provide considerable computational savings since the optimal value of the master problem
tends to converge very slowly towards the end, and the final iterations are computationally
intensive (since they frequently require solving the
and-bound). Finally, although
[RM']
at
Z^g
intermediate iterations
t
is less
PS subproblem optimally using branch-
than the optimal value Z^j> of the master problem
of the column generation procedure,
(assuming we pursue the column generation procedure
restricted master
-a^f.
Note also
iteration.
3.6
Summary
Figure
1
optimal solution to the
until the
problem solves [LCSC]) the lower bound Z^^ equals Z^p since
that
each
at the final iteration tf
Z^p decreases monotonically, whereas Z^g can
summarizes our solution procedure
by generating an
initial heuristic
L(7t'0
=
increase or decrease at
for the tactical planning model.
We
begin
solution using the greedy heuristic, with the setup
optimization method as a subroutine.
This solution provides the
first
K
columns of
the
master problem for the column generation algorithm. Each iteration of the column generation
method
entails solving the product selection
current master iteration.
We
first
subproblem using the optimal dual values
for the
attempt to generate negative reduced cost columns
heuristically using the sequendal selection and neighbor scanning procedures; this
heuristic also uses the setup optimization
If
we
method (approximate and optimal)
as a subroutine.
cannot find any single-machine product assignment with negative reduced
apply branch-and-bound to solve the PS subproblem optimally.
compute
the Lagrangian-based lower
current best lower
column
as in (3.37).
to the restricted master problem,
reapply the
If the
integral,
bound
bound (equation
PS
LP
we obtain an
intermediate feasible solution.
round
we add
it
also
up, and update the
a negative reduced cost
the products chosen by this
problem
We
at
column and
an intermediate iteration
update the current incumbent
is
if this
the
then construct a final feasible solution by solving the restricted master
to this integer
program
is
optimal to [CSC] since the restricted master problem does not contain
On
we
the current optimal value of the restricted master
problem as an integer program. The solution
columns.
we
The column generation procedure terminates when
bound equals or exceeds
We
we remove
solution to the restricted master
solution has lower total setup cost.
problem.
Also, whenever
In this case,
cost,
heuristic in order to generate disjoint columns.
optimal
best lower
(3.36)),
PS
the other hand, since the final set of
-40
not necessarily
all
of [CSC]'s
columns includes the product assignments
belonging to the
and intermediate feasible solutions, the
initial
final solution
must have equal
or lower setup cost than the current incumbent.
The setup optimization subroutine
component loading plans
cost.
The lower bound
as well as a
is
incorporates heuristic procedures to develop good
method
to
compute a lower bound on
based on an underestimate of the
slots necessary to ensure feasibility
of the
the optimal setup
minimum number
slot capacity constraints.
We
of temporary
also add a valid
inequality limiting the
that strengthens the
relaxation of the
maximum number of permanent components
SO problem formulation. To solve the setup
optimization problem
optimally
estimate the true reduced cost of candidate columns),
(e.g., to
bound (unless
the lower
bound equals
we
LP
use branch-and-
the setup cost of the heuristic solution); the heuristic
upper and lower bounds serve to limit the enumeration process.
Finally,
note
that
all
nonhomogenous machines with
of columns
in
iteration
we have described extend
specifying that
we must
4.
to
different processing speeds, processing limits, and slot
are not identical,
each machine has
solve
K
we now have K
its
own
set
we can
separate
select at
constraints (3.3) (with corresponding dual
most one pattern for each machine.
PS subproblems, and
At every
the procedure terminates only
none of the machines has an assignment pattern with negative reduced
bound exceeds
easily
formulation [CSC] and in the restricted master [RM']; instead of a single
pattern selection constraint (3.7),
Oj^)
that
For instance, when the machines
capacities.
values
methods
the
cost, or the best
when
lower
the optimal value of the restricted master problem.
Computational Experiments
In implementing solution
methods such
as
column generation, we
are faced with a
variety of tradeoffs and algorithmic options that can impact the performance of the algorithm.
These tradeoffs
raise issues such as the following:
What
is
the impact of initializing the
procedure with columns corresponding to a good heuristic solution versus, say, randomly
generated columns?
Should we invest more
reduced cost columns or
is it
better to solve the
effort in heuristically generating negative
subproblem optimally
at
each iteration? To
address some of these issues and verify the column generation method's viability and
effectiveness for the electronics assembly tactical planning context,
method and performed several computational experiments.
column generation applications discussed
tactical
in the literature that
We
note that
unlike
the
many
have easy subproblems, for the
planning model even the core setup optimization subproblem
-41
we implemented
is
NP-hard.
We
implemented the heuristics and column generation procedure using
programming language on
the
CPLEX
a
hnear optimizer
(CPLEX
problem
the restricted master
SPARC
Sun
optimization problems whenever
calls subroutines
Optimization Inc. [1991]) to solve the
each
at
The program
workstation.
iteration,
we need
the
LP
C
from
relaxation of
and the product selection and setup
to solve these
subproblems optimally. To solve
these latter integer programs, our implementation only provides an initial upper bound, and
branching priorities for different variables; we rely on CPLEX's general purpose
sets the
LP-based procedure
4.1
lower bounds during the branch-and-bound process.
to generate
Test Problems
The
tactical
planning model requires the following input data (assuming identical
machines):
N: number of products;
M:
number of component
total
N products;
types required to assemble the
K: number of available machines;
capacity of each machine;
C:
slot
T:
processing limit of each machine;
bj:
expected number of batches per demand period for product
Pji total
processing (placement) time to assemble
all
set
of component types required for product
i.
J(i):
Table
1
shows
the
problem
size
i;
required units of product
and other parameters for 20
specifies the
number of products and component
distinguish between multiple instances of the
other problem parameters).
The
components
first
same problem
we
1
8 to 60.
The problem
use the trailing letter to
size (these instances differ in
detailed data for the problems with 9 products, 10 products,
and 20 products, 20 components are given
generated the
types;
and,
problems. The number
test
of products varies from 9 to 20, and the number of components from
name
i;
in
Vanderbeck [1993]. Of
the
20 problems, we
5 problems manually in order to study the impact of different
structures.
In
bill
of
problems P10/18A and P10/18B, the 10 products form 3 groups
with modest overlap in the component requirements for each group; in contrast, problems
P09/18A and P09/18B have
3 groups of products with
problem P09/18C has a block diagonal
To
bill
no component overlap.
Finally,
of components matrix.
generate larger problems (with 15 and 20 products),
we used
a
random problem
generator that constructs a detailed problem instance based upon user-specified values for the
desired problem size, a seed for the
random number
parameters that determine the structure of the
42
bill
generator, and certain control
of components.
The problem
size
parameters are N,
M, K, and
C.
To
influence the degree of
minimum and maximum number
product
i,
the
the interval
problem generator
the
of component types required for each product. For every
randomly
first
number of components mj from
selects the
[Mmin'^maxl' ^^^ ^^^^ chooses m^ component indices randomly (without
replacement) from the set
the slot capacity
C
{
1,2,. ..,M};
these
component types define
must be greater than or equal
to
Mj^^^
product can be assembled in a single pass on a machine.
the total
component commonality among
two parameters-Mj^jj^ and M^^^-that define
different products, the user specifies
number of component
commonality;
in
By
in order to
Note
J(i).
M, we can generate problem
M^j^ = M^j^^^ = M < C, then
that
ensure that every
M^in and M^^^
setting
close to
instances that have high
types
particular, if
the set
all
components can be
permanendy loaded on each machine, and the optimal value Z is zero. At the other extreme,
if Mj^jjj and M^^^ are very small relative to M, then the products are likely to have low
component commonality.
problem
Specifying small M^j^^ and large M^^^^ will likely increase
difficulty since the bill of
commonality
components
bj
do not have any
from uniform
selects the processing times Pj
~ Unif
distributions: Pj
and
(5,20),
b,
in
sequence to the
first
where
that each
a
(> 1)
that is at
[1969]). For our test problems,
is
balancing constraints.
most
we
minimum makespan.
at least
For most of our
- 1/3K) times
(4/3
and assigns
the
minimum
T equal to a
This method of choosing T ensures
set the
a user-specified tolerance factor.
problem instance has
then
available machine. This heuristic produces a product-to-
machine assignment with a makespan Tj^pj
makespan (Graham
We
(l,Pj).
heuristic (Baker [1974]) sorts the products in decreasing order of Pj,
each product
T^jyj-,
and the number of
- Unif
apply the LP*T (longest processing time) heuristic to approximate the
The LPT
special
structure.
The problem generator randomly
batches
for different products
processing limit
one feasible solution satisfying the workload
test runs,
experimented with problem instances having
"tight"
a =
we
also
(a = 1.05) and "loose" (a =
1.5)
we
set
1.2,
although
processing limits.
The random problems P20/20A
to
P20/20E enable us
to assess the sensitivity of the
algorithm's performance to slot capacity, and the level of variation in the
component types per board.
variants.
Problems 15/20
to
We
number of
also use these 5 problems to test several algorithmic
P20/60 enable us
performance.
43-
to evaluate the
impact of problem size on
4.2 Variants of the Solution Procedure
Using a
relatively flexible implementation,
planning algorithm described in Section
tactical
one negative reduced cost column
at
columns with positive reduced cost
at
we were
able to test several variants of the
These variants include
3.
each master
each master
iteration,
iteration,
(ii)
(iii)
(i)
discarding
generating only
all
the current
varying the tolerance factor
a, (iv) changing the depth of search and the criterion for recursive calls in the neighbor
scanning procedure of the PS heuristic, and
(v)
reapplying the column generation procedure
using the columns of the best feasible solution (obtained after applying a standard version of
the algorithm) as the initial set of columns.
Recall that the
PS
we
heuristic, as
described
it
in Section 3, first applies the sequential
search heuristic, and then invokes the neighbor scanning procedure.
The neighbor scanning
procedure recursively explores the neighborhood of each generated pattern that has negative
reduced cost or a lower reduced cost than
we
call the
heuristic.
Our
initial
Our standard version performs neighbor scanning
maximum
procedure
predecessor.
implementation, which
basic version, does not incorporate the neighbor scanning procedure
recursive calls to at most 2.
for the
its
we
We
PS
number of
also performed computational tests using different values
depth of search, and
tested a variant of the neighbor scanning
reduced cost updating version.
call the
but limits the
in the
If the current
incumbent has
nonnegative reduced cost, the reduced cost updating version explores the incumbent's
neighborhood only
reduced cost
if its
than the reduced cost of
its
is
lower than the current lowest reduced cost (rather
predecessor, as in the standard version; however, both versions
explore the neighborhood of every incumbent with negative reduced cost). Therefore, the
reduced cost updating version explores much fewer neighbors than the standard version.
Our standard version
each master
iteration,
variants of this
generates
and retains
(if
all
possible) multiple negative reduced cost
the
columns
in the restricted master.
We
columns
tested
at
two
column generation strategy-a single column version, which generates only
one column per master
iteration,
and a condensed master version, which
the master problem by discarding
all
the
columns with positive reduced
limits the size of
cost,
i.e.,
we only
include in the restricted master formulation those columns belonging to the current optimal
basis plus prior and
new columns
that price out negatively using the current dual values.
Section 4.3.2 presents the comparative results for
all
these algorithmic variants, as well as
other sensitivity analyses.
We now discuss
If the
PS
some
features of our implementation that
heuristic fails to
is
common
produce any negative reduced cost column,
44
to all the variants.
we
solve the
PS
subproblem exactly using CPLEX's
computational
tests,
specified a limit of 10,000 nodes for the branch-and-bound tree.
column generation
also terminate
improvement
we
2N
optimally solving the PS subproblem
(i)
the branch and
fmding a negative reduced cost column,
the
node limit
the
PS subproblem optimally and
is
solution to the
we
we
(ii)
and continue the
solution procedure can, therefore,
its
node
limit without
generate a negative reduced cost column, but
problem
(iii)
In case
cost.
new column
(i),
the
is
not a valid lower bound on
new
the
Case
we
solve
column generation
for the restricted master.
generation terminates due to stagnation, the optimal
we add
iterations.
(iii)
find a negative reduced cost column, or (iv) the optimal
did not generate a
when column
and
does not produce any
if it
bound procedure reaches
lower bound obtained during previous iterations
(ii)
The PS
times.
PS subproblem has zero reduced
the current master
In cases
i.e.,
reached before finding and/or verifying the optimal solution,
procedure stops since
case and also
"stagnates",
if it
We
master value for 500 consecutive master iterations or after
in the restricted
have four outcomes:
For our
branch-and-bound procedure.
built-in
(iv)
Z
LP
In this
value of
and so we must rely on the best
to assess the quality of the heurisic solution.
negative reduced cost
column
to the restricted master,
proves the optimality of the current master solution for
[LCSC], and so column generation terminates.
To
generate the final feasible solution
Phase
(in
annealing algorithm to select a good subset of
the restricted master
problem
K
3),
we
initially
implemented a simulation
assignments from the
at the final iteration.
set
However, we found
solving the integer version of the restricted master using branch-and-bound
since the
LP
all
columns
to all the test problems.
at
each master
We
iteration).
We,
in
that optimally
is
relatively easy
relaxation provides tight bounds and almost integral solutions (because
generate several disjoint columns
method
of
we
therefore, applied this
expect the quality of the final feasible solution to
improve as the number of columns available
at the final iteration increases.
4.3 Computational Results
We
first
present the computational results using the standard version of the column
generation procedure for our 20
some
variants.
We
test
problems before discussing the
relative
performance of
are interested in assessing both the algorithm's effectiveness in
generating near-optimal solutions, and the computational effort
effectiveness in terms of the
%
gap, which
we
it
requires.
We
measure
define as the difference between the best
upper and lower bounds, expressed as a proportion of the best lower bound. The
%
gap
consists of three components:
(i)
the
gap between the optimal value of [LCSC] and the best lower bound (computed
using (3.36) and (3.37)), which
we
call the
-45-
dual optimality gap. This gap
is
positive
when
the
column generation procedure terminates prematurely due
bound node
limit or stagnation of the restricted master value.
to the branch-andIf the
procedure
terminates because the best lower bound exceeds the current value of the restricted
master problem, then the dual optimality gap
(ii)
the gap
between the optimal value
[LCSC], which we
(iii)
the gap
call the duality
Z
is
negative;
and the optimal value Z^p of the
LP relaxation
gap; and
between Z* and the setup cost of the fmal feasible
solution,
which we
call the
primal optimality gap.
Thus, small overall gaps indicate that both the upper and lower bounding methods are
effective.
To determine
improve upon the
if
the
column generation-based
initial heuristic solution,
we examine
the
feasible solutions significantly
improvement
in setup cost (i.e.,
the difference in the setup costs of the initial and best fmal solutions) as a
%
of the
initial
solution's setup cost.
To measure
computational effort and identify bottlenecks,
and Orlin's [1993] suggestion
to use
computation counts
major segments of the algorithm rather than actual
it
CPU
we
(e.g.,
follow Ahuja, Magnanti,
number of
iterations) for
time which can be misleading since
depends on the programming language, quality of implementation, computer system used,
and other characteristics of the computing environment. For each
test
problem we examine
the following statistics (see Table 2):
(i)
number of columns generated
(ii)
(iii)
(iii)
(iv)
number of times we solved
the
PS subproblem
exactiy using branch- and- bound,
SO subproblem exactly using branch-and-bound,
percentage of instances when the SO heuristic produced the optimal slot allocation
number of times we solved
(i.e.,
number of nodes
restricted master
4.3.1
probem,
number of iterations of the master problem,
proved optimality
(v)
for the master
when
in the
problem
the
heuristic cost
was equal
branch-and-bound
to the
and
lower bound), and
tree to solve the integer version of the
at the final step.
Results for standard version
Table 2 shows the results for the 20
algorithm.
The
able to solve the
first
test
problems using the standard version of our
column (labeled "[LCSC] Solved?") shows whether
LP relaxation [LCSC]
the procedure
was
optimally.
For 4 out of the 20 problems the algorithm terminated prematurely because the branchand-bound procedure for the PS subproblem reached
reduced cost column or verifying optimality. The
problems. Recall
that,
when
the
its
node
limit before finding a negative
% gap is less than 4% for 3 out of these 4
column generation procedure terminates prematurely, we
46-
% gap relative to the best lower bound that is computed at intermediate iterations
measure the
of the column generation procedure (whenever the PS subproblem
is
solved optimally).
Therefore, the actual gap between the optimal value of [LCSC] and the final feasible solution
is likely to
much
We
be lower.
suspect that, for Problem P20/40A, the final feasible solution
closer to optimality than the
The
20% gap
solved 10 out of the 20
suggests.
column generation approach
results in Table 2 suggest that the
relaxation of
[CSC]
is tight,
to-machine assignments. The
capacity, the range of
one
test
and the procedure
%
is
very effective.
It
This result indicates that the
able to generate near-optimal product-
gap does not show any systematic variation with the
number of component types per board, or problem
For
size.
slot
all
but
problem, the best column generation-based feasible solution, obtained as a
byproduct of solving the restricted master problem, has lower
the initial heuristic solution obtained using the
On
is
problems optimally, and excluding Problem P20/40A the average
test
% gap for the remaining problems (with positive gap) is 4.6 %.
L?
is
average, the final solution had 22
we can develop
(admittedly,
assignment heuristics
that
we
%
As we
The LP
at
note later
solution
initial heuristic
ad hoc heuristics that improve upon the
applied).
when we repon
product
initial
the results for
each iteration produces better intermediate
solution to the restricted master problem in the final iteration
integral (in 12 out of the
to
processing and smallest ratio heuristics.
lower cost than the
algorithmic variants, generating more columns
solutions.
list
compared
total setup cost
20 problem instances);
if not,
is
often
the branch-and-bound procedure
solves the integer program within less than 100 nodes.
For
all
the test
problems we observed
that solving the
PS subproblem exactly
is
main
the
computational bottieneck, requiring one or two orders of magnitude more time than the other
components of
times;
we did
the algorithm (this assessment
is
not record the actual computation times). In contrast, the
to be easy to solve.
Although Table 2 shows
and-bound increases as the problem
bound (based on
enough
size increases,
the underestimate of the
85%
branch-and-bound
appears
problems requiring branchthat the
SO
heuristic
of the instances; however, the lower
tree for the
number of products compared
initial iterations
SO
SO problem
minimum number of temporary components)
of the cases. These observations suggest that the
sensitive to the
of
we observed
to prove optimality of the heuristic solution.
to verify optimality, the
during the
%
that the
actually generates the optimal solution in over
tight
based on a rough sampling of the elapsed
total
to the
When we
SO problem
computation
is
not
apply branch-and-bound
has
nodes
in
over
effort will likely be
number of component
types.
90%
more
Finally,
of the master problem the PS heuristic readily find numerous
negative reduced cost columns. Indeed, a vast majority of the columns are quickly generated
in these initial iterations.
Although the algorithm finds good assignment patterns early
47
in the
iterative
column generation process, proving
very time consuming especially since the
the near-optimality of the feasible solution
later iterations require solving the
is
PS subproblem
optimally using branch-and-bound.
4.3.2 Results for algorithmic variants
Table 3 contains the computational results using several variants for selected
problems. For each
in terms of
% gap;
if
test
problem,
indicate with a "**" the method that
we
two methods produce
the
same
is
test
most effective
% gap, we prefer the method that entails
fewer applications of the branch-and-bound procedure to solve the PS subproblems
optimally.
The basic
which does not incorporate the neighbor scanning procedure
version,
branch-and-bound more often
heuristic, applies
fewer columns
at
to solve the
in its
PS
PS subproblems, generates
each iteration thus requiring more master iterations to converge, and often
produces inferior
Similarly, the single
final feasible solutions.
effective as the standard version.
Our
third variant, the
column version
is
not as
condensed master version, has the
advantage of reducing the time to solve the restricted master problem, but greatly increases
the
number of master
iterations.
Interestingly, although the procedure often terminates
prematurely (because the restricted master value stagnates),
thus producing better final solutions (we include
all
the
it
generates
many more columns,
columns before solving the integer
version of the restricted master problem at the final step).
The
fourth and fifth versions reported in Table 3 represent problem instances with tight
and loose processing
basic version.
limits (with tolerance factor
problems, but increase the gap for others.
maximum
which we apply the
opposing effects reduce the
set,
but also
% gap for some
We also experimented with different settings for
maximum depth of 3, and maximum depth of
With a maximum depth of 3, we also considered
depth of search-unrestricted^,
2-in the neighbor scanning procedure.
results with
1.05 and 1.5) to
Tightening the processing limit reduces the feasible solution
limits the flexibility in optimizing setups; these
the
a=
and without
the "reduced cost updating" option
(i.e.,
the criterion for initiating a
recursive call to the neighborhood search subroutine, see Section 4.2).
The
unrestricted
depth and depth 3 versions generate more columns than the standard depth 2 version, and
require solving considerably
superior solutions
(i.e.,
the
%
more setup optimization subproblems, but do not produce
gap
is
often equal or lower for the depth 2 version). Finally,
impact of selecting good
to study the
initial
columns
exchange
reduced cost
is
we
we do not impose an explicit limit on the number of recursive
However, because we only search the neighborhood if the incumbent's
negative or improves upon its predecessor's, the actual depth of search is naturally limited.
In the "unrestricted" depth of search option,
calls to the
for the restricted master problem,
heuristic.
-48-
compared
the results using our standard version (which uses the assignments produced by
the better of our
two
initial
greedy heuristics as the
initial set
of columns) with those of a
second application of the solution procedure when we use the best feasible solution from the
standard version to initialize the restricted master. This strategy does not produce lower
%
gaps than the other methods, and can sometimes require considerably more computational
effort.
Improvements
4.4 Potential Algorithmic
Our computational experience suggests
improve the capabilities and
that efforts to
performance of the algorithm should mainly focus on solving the single machine product
selection
problem more
of formulation [PS(7i)]
and attempt
effectively. In particular, because the linear
is
weak,
relatively
to strengthen the
we must
programming relaxation
incorporate special bounding procedures
problem formulation by adding valid inequalities
that eliminate
fractional solutions.
As we noted
previously, our implementation relies on
bound procedure
to solve the
PS subproblem
special structure of this subproblem.
CPLEX's
optimally, and therefore does not exploit the
problem- specific bounding procedures
has the potential to substantially improve performance. Let us
some
branch-and-bound
tree, let Ij, Iq,
akeady chosen, eliminated, and
(i)
Using the method described
the
maximum
possible
introduce
If
all
free, i.e., Xj
=
1
for all
in Section 3.2.4,
products in
we can add
at
each node
some
notation
At any node of
the
denote, respectively, the subsets of products that are
number of permanent
capacity constraints for
decrease this value,
first
inequalities that strengthen the formulation.
and
branch-and-
Implementing a custom branch-and-bound procedure
to incorporate valid inequalities and/or
before describing
built-in
Ij.
we
i
€
Ij,
and
Xj
=
for all
i
€
Iq.
can compute an upper bound R(I() on
slots in
order to ensure feasibility of the slot
Since selecting more products from
the valid inequality that the
can only
number of permanent
We
chosen in the current partition must not exceed R(Ij).
If
have observed
slots
that this
inequality markedly improves the performance of the setup optimization branch-and-
bound procedure; we expect
to be equally effective for the
it
PS subproblem when
If
contains relatively few products.
(ii)
Pochet and Wolsey [1992] suggested the following class of valid inequalities
strengthen formulation [PS(7t)]. Consider two products
require
more components than
the slot capacity,
-49
i.e., IJ(i)
i
and
u
i'
J(i')l
u
6
Ij
>
C. If
If that
we
to
together
select both
products
and
i
minimum number
then a certain
i',
of components must be designated as
temporary. The following constraint encodes this condition:
I
j€j(i)nj(i')
y^^
J
When added
Z
z..^
jeJ(i)
'J
^'-^
I
z,>min{lJ(i)nJ(i-)l.
'J
j€j(r)
to the original
problem formulation
3.
We
product pairs
can include these constraints a priori
i, i'
with
IJ(i)
u
J(i')l
machine) described
in
in formulation [PS(7i)] for all
the formulation size
grows by 0(N
)
custom branch-and-cut procedure, we can generate
Instead, with a
constraints.
> B; however,
(4.1)
[P], these constraints eliminate the
fractional solution (assigning 1/K th of each product to every
Section
1'
}(x,.x,).
'^^^^'^'f
2
(perhaps, using a heursitic separation routine) and add selected constraints in this class
that are violated by the
LP
solution at each node.
inequalities for product triples (instead of pairs),
The knapsack
(iii)
I
J.
Suppose r
is
can possibly extend these
and so on.
workload balancing constraint (3.32) motivates a
structure of the
class of inequalities. Let
We
TPj denote
the total
processing time for
third
products in the set
all
a subset of free products such that
Z
T-TPj
<
Pj
but
T-TPj-Pj..
>
(4.2)
iel'
for
some
i"
€
Ij\I'.
Then, we can impose a valid inequality that limits the number of
products selected from the
set
Z
I'
u
{i") to at
<
Xj
most
II'I,
i.e.,
in.
(4.3)
ie I'ui"
Again, a tailored branch-and-cut procedure can dynamically add these inequalities as
needed.
The previous
three classes of inequalities exploit the special structure of the constraints in
the product selection subproblem.
We
can also use objective function information to
perform problem preprocessing and develop valid inequalities. Consider, for instance, the
following method to limit the number of temporary components associated with a product.
For a given
set
of dual values
Jij,
let 6j
=
LTti/bjJ for
each product
i
€
If
where LgJ
is
the
largest integer less than or equal to g. Clearly, if an optimal solution in the current branch-
and-bound
partition selects product
temporary; otherwise,
therefore,
we
i,
then no
more than
Q^ of its
components must be
can decrease the net setup cost by setting
add the following valid constraint
to the
-50
problem formulation
Xj
=
0.
We
can,
at the current node:
Z
Furthermore, suppose
<
z::
jeJ(i)
Q-
we have two products and
i
IJ(i)
u
-
J(i')l
we
both products,
i.e.,
select both products
we can add
we can
all
ie
(4.4)
L.
i'
6
>
Gj.)
with
I^
C;
(4.5)
minimum number
and
of permanent slots needed to
Therefore, an optimal solution cannot select
i'.
the constraint:
+
Xj
Again,
i
+
(6,
the left-hand side of (4.5) represents the
satisfy (4.4) if
for
^
<
Xj.
(4.6)
1.
extend inequality (4.6) to more than two products.
In addition to strengthening the formulation for the product selection problem, other
improvement options
to consider include heuristically generating a
wide variety of
"promising" columns before initiating the column generation procedure (our implementation
uses only the
K
columns generated by
the initial heuristic solution),
lower bounding procedure for the PS subproblem so that
Z^p even
if
we do
not solve the
we
PS subproblem optimally
generate a lower bound for the PS subproblem,
Lagrangian relaxation procedure
that dualizes the
and implementing a
generate valid lower bounds on
(see Section 3.5). For instance, to
we might
consider implementing a
component loading
constraints,
and applies
subgradient algorithm to approximately solve the Lagrangian dual.
Finally, our primary goal has been to generate
and verify the near-optimality of our
planning problem optimally,
good product-to-machine assignments,
feasible solution via lower bounds.
we might
To
solve the tactical
LP
consider using our algorithm to solve the
relaxation and generate upper bounds at each node of an overall branch-and-bound
We
procedure.
can use the following branching strategy whenever the procedure cannot
fathom a node. Consider two columns with fractional pattern selection values
optimal
the
We
LP
solution at this node) that have at least one product in
common
product, and suppose product 2 belongs to the
first
X. (in the
common. Let product
column but not
1
be
the second.
then create two successor nodes in the branch-and-bound tree, one requiring that
products
1
and 2 must both be assigned
be assigned
to different
machines. Using
and e\c\usi\tassignment constraints
this node.
We can
to the
same machine, and
this strategy, at
the other requiring
each node
that reflect the previous
we have
to
a set of joint
branching decisions leading to
apply the column generation procedure to solve the
-51
them
LP
relaxation of the
"constrained"
CSC
model corresponding
to this
node and generate feasible solutions. The
previously generated columns that satisfy the assignment constraints can serve as the
set of
columns
master problem, and
in the restricted
constraints to the
PS subproblem; we can
we add
initial
the node's assignment
modify our PS solution procedure
easily
to
account for these constraints.
5.
Concluding Remarks
Electronics assembly poses
Much
many
of the management science
important but challenging optimization problems.
literature dealing with electronics
assembly has focussed
on operational problems of single-product cycle time optimization and single-machine setup
The
minimization.
as electronics
flexibility,
tactical
companies
planning issues raised in
strive
this
paper become increasingly important
towards agile manufacturing- emphasizing quick response,
high quality, and cost effective assembly of
many
different products in small lot
sizes-in order to maintain their competitive position and cope with the rapid changes in the
product and process technologies.
We
have presented a model that incorporates both
workload balancing and setup optimization
methods
that focus
issues.
on component commonality, our model
demands, production frequencies and machine
considered
families.
is
Unlike traditional group technology
practical,
and enables us
Managers might
capacities.
The
partial setup policy that
we
to capture the setup interactions across product
find our tactical planning
model inherently useful as a framework
to address product grouping issues in electronics assembly.
capable of incorporating
explicitly considers product
many compHcating
The model
is
quite versatile,
feanjres of practical problems.
We developed a composite solution procedure
that integrates several successful discrete
optimization techniques-column generation, lower bounding procedures, and adding valid
inequalities-to exploit the special structure of the problem.
We
showed
that
even the setup
optimization subproblem, which assumes a predetermined assignment of products to a single
machine,
is
NP-hard. We, therefore, focussed on developing a combination of heuristics,
lower bounding methods, and enumeration
to solve the
product selection and setup
optimization subproblems. These techniques have direct application to short-term production
planning.
Although we described the solution method for a simplified problem context
(e.g., identical
machines, with no prespecified assignments),
more complex
settings such as non-identical
series in each
module.
generation method
is
Our
we can
readily
modify
it
for
machines with multiple placement machines
limited computational experiments
effective in generating
show
that the
column
good upper and lower bounds, but has
identified several opportunities for improvement.
-52-
in
also
Test results for several algorithmic
variants reinforce previous experience regarding effective
as generating
more than one negative reduced
computational botdeneck
has a
weak
linear
is
cost
column generation
column per
strategies such
iteration.
The main
solving the single machine, product selection subproblem which
programmig
relaxation. Promising directions to pursue include exploring
some of the algorithmic improvement
opportunities described in Section 4, and studying the
polyhedral structure of the problem.
Acknowledgments:
We thank Professors Thomas Magnanu, Yves Pochet, and Laurence Wolsey for illuminating
discussions on solving the tactical planning problem.
-53-
Appendix A
Method to Compute a Lower Bound
Infeasibility
for the
Setup Optimization Problem
The method starts with a trial value of for the lower bound Q on the minimum number
of temporary slots Q^jj, needed to satisfy the slot capacity constraints, and performs the
following steps.
Step
Initialization
1:
Y = number of permanent slots currently
r = current set of candidate products <—
J'
= current
Step 2a:
If
I'
Else, let i* e
Step 2c:
I'
empty, current value of
is
be the product with the
Q is acceptable;
i.e.,
i*
= argmax{IJ(i)
J'l:
to Step 5.
I'}
i
J'l
J'l
Y > 0, go to Step 2a;
If Y < 0, then current value of Q
go
maximum number of remaining
n
€
< Q, current value of Q is acceptable; go to
If IJ(i*) n
Else, update y 4- y- (IJ(i*) n
-Q), <- Ni*}, and
components,
Step 2b:
J
slot reservation test
n J(I')
or J
C -Q
I
of remaining components <—
set
Permanent
Step 2:
available <—
J'
I'
Step
^
5.
J'\J(i*):
If
Else (Y
if
=
r or
else,
J
go
go
to Step 5;
go
to Step 5.
to Step 3.
component
identification test
<—
slots
C-Q
current set of permanent components <—
Step 3b:
If
I'
or J
n J(r) is empty, current value of Q is acceptable;
Else, let i*
e
components,
n
I'
be the product with the
i*
i.e.,
= argmax{IJ(i)
n
maximum number of remaining
J'l: i
e
I'};
< Q,
current value of
Else, if IJ(i*)
n Jl
= Q, then every component
permanently,
i.e.,
3d: If
IJ(i*)
IJ"!
> R,
update J" <- J"
then current value of
update !'<- I\{i*).
Q is acceptable;
J'l
Step 3c: If
Step
to Step 4.
n J(r) is empty, current value of Q is acceptable;
R = candidate number of permanent
=
go
infeasible;
0),
Step 3: Permanent
Step 3a: Initialize
J"
is
go
to Step 5;
in J(i*)rJ\J'
must be loaded
u J(i*)nJ\J'.
Q is infeasible;
go
to Step 4.
Else go to Step 3b.
Step 4: Infeasibility
Current trial value of Q
is
infeasible.
Step 5: Termination
Current trial value of Q
is
acceptable. Stop.
Increment
Q by
1,
and go
to Step
1.
Figure
1:
Flowchart of Column Generation Algorithm
Initial
•
•
Heuristic Solution:
List Processing heuristic
Smallest setup- to-processing ratio heuristic
choose best solution
^T
/
/
selected
products
Setup Optimization Subroutine
•
•
•
•
.
y
assignment patterns
Column Generation:
/
Apply Greedy Heiunstic
Compute max perm slots
setup cost lower bound
F
•
&
•
•
Initialization
master with K colimins
lower bound =
best feas soln = initial heur solution
initialize restricted
initial
heur. cost=lower bound, opt soln found
Else, to solve optimally,
-add max perm, comp constraint
If
-flpply hranch-antl-hfiund
I'ennAemp.
.
slot allocation
\
Column
Generation!:
Iterative
procedure
(^LP relaxation of
LP relaxation
of
CSC
LP value
lower bound = fopt
<;
solved optimally
}
of master prob
Rnal Feasible solution
'
solve final restricted Master as integer
program using branch-and-bound
update best feasible solution
CSC not
solvedj
Table
Problem
Name
1:
Test Problem parameters
c
o
c
CO
a>
c
0)
O
c
E
3
O
o
o
«
0)
>
(0
T3
C
a
CO
c
w
3
0>
^^
3
(0
0)
oc
a
c
o
3
a
E
o
u
2
*-
References
J., S. Grotzinger, and D. Johnson. 1988. Component Allocation and Partitioning
Dual Delivery Placement Machine. Oper. Res., 36, 176-191.
Ahmadi,
for a
H., and P. Kouvelis. 1992. An Analytical Framework for the Design of
Electronic Assembly Lines: Comparison of Different Design Approaches. ORSA/TIMS
Joint National Meeting, San Francisco, November.
Ahmadi, R.
Ahmadi, R. H., and H. Matsuo. 1992. A Mini-Line Approach
Paper, Anderson Graduate School of Management, UCLA.
Ahuja, R. K., T. L. Magnanti, and
and Applications.
Prentice Hall,
J.
for Pull Production.
Working
B. Orlin. 1993. Network Flows: Theory, Algorithms,
Englewood
Cliffs,
New
Jersey.
Baker, K. R. 1974. Introduction to Sequencing and Scheduling. John Wiley and Sons,
York.
M. O., and M. J. Magazine. 1988. Sequencing of Insertions
Assemblies. Oper. Res., 36, 192-201.
Ball
,
Bard,
J.
R.
F.,
Component
W.
in Printed Circuit
New
Board
Clayton, and T. A. Feo. 1989. Optimizing Machine Setup and
Board Assembly. Working Paper, University of
Insertion in Printed Circuit
Texas, Austin.
Bamhart, C, E. Johnson, R. Anbil, and L. Hatay. 1992. Solution Techniques for LongHaul Crew Assignment Problem. Working Paper, Cuomputational Optimization Center,
Georgia Instimte of Technology, Atlanta, Georgia.
P., A. C. Hax, and T. L. Magnanti. 1977. Applied Mathematical Programming,
Addison -Wesley, Reading, Massachusetts.
Bradley, S.
Carmon, T. F., O. Z. Maimon, and E. M. Dar-El. 1989. Group Set-Up
Board Assembly. Intl. J. Prod. Res., 27, 1795-1810.
CPLEX
for Printed Circuit
Optimization, Inc. 1991. Using the CPLEX Linear Optimizer, version
Optimization, Inc., Incline Village, Nevada.
1.2.
CPLEX
O. Maimon, and A. Shtub. 1991. A Branch and Bound Algorithm for
in Printed Circuit Board Production. Working Paper. Depanment
of Civil Engineering, Northwestern University, Evanston, Illinois.
Daskin, M.
S.,
Grouping Components
Desrochers, M., J. Desrosiers, and M. Solomon. 1992. A New Optimization Algorithm for
the Vehicle Routing Problem with Time Windows. Operations Research, 40, 342-354.
DeWitte, J. 1980. The Use of Similarity Coefficients
Prod. Res., 18, 505-514.
in
Production Flow Analysis.
Int. J.
Drezner, Z., and S. Nof. 1984. On Optimizing Bin Packing and Insenion Plans for
Assembly Robots. HE Trans., 16, 262-270.
-Rl
W. Hamacher, C-Y. Lee, and S. Yeralan. 1989. On Automating Robotic
Workplace
Planning. Research Repon, Industrial and Systems Engineering
Assembly
Francis, R. L., H.
Department, University of Florida, Gainesville.
J. B. G., and A. H. G. Rinnooy Kan. 1984. The Asymptotic Optimality of the
Rule. Report 8418/0, Econometric Institute, Erasmus University, Rotterdam.
Frenk,
LP
Gavish, B., and A. Seidmann. 1987. Printed Circuit Boards Assembly AutomationFormulations and Algorithms. Proc. ICPR, Cincinatti, Ohio.
Graham, R.
L. 1969.
Bounds on Multiprocessing Timing Anomalies. SIAM Journal of
Applied Math., 17, 263-269.
J. R. 1980. Machine-component Grouping in Production Flow Analysis:
Approach using a Rank Order Clustering Algorithm. Int. J. Prod. Res., 18, 213-232.
King,
King, J. R., and V. Nakomchai. 1982. Machine-component Group Formation
Technology: Review and Extension. Int. J. Prod. Res., 20, 1 17-133.
Lasdon, L.
S.
Optimization Theory for Large Systems. Macmillan,
in
An
Group
New York
Lawler, E. L., J. K. Lenstra, and A. H. G. Rinnooy Kan. 1982. Recent Developments in
Deterministic Sequencing and Scheduling: A Survey. In Deterministic and Stochastic
Scheduling, M. A. H. Dempster, J. K. Lenstra, and A. H. G. Rinnooy Kan (eds.),
Reidel, Dodrecht.
Lofgren, C. B., and L. F. McGinnis. 1986. Optimizing Electronics Assembly System.
Proc. HE Elec. Assembly Conf..
Magnanti, T. L., J. F. Shapiro, and M. H. Wagner. 1976. Generalized Linear Programming
Solves the Dual. Management Science, 11, 1 195-1203.
Magnanti, T.
L.,
and R. T. Wong. 1981. Accelerating Benders Decomposition: Algorithmic
Enhancement and Model Selection
Criteria.
Operations Research, 11, 464-482.
Nemhauser, G. L., and L. A. Wolsey. 1988. Integer and Combinatorial Optimization. John
Wiley and Sons, New York.
Pochet, Y., and L. A. Wolsey. 1992. Personal communication.
Prasad, R. P. 1989. Surface
Reinhold, New York
Mount Technology:
Principles
and
Practice.
Van Nostrand
Rajagopalan, R., and
J. L. Batra. 1982. Design of Cellular Production Systems:
theoretic Approach. Int. Journal of Prod. Res., 13, 567-579.
Skinner,
W.
1974.
The Focused
Factory.
Harvard Business Review,
1
A
Graph-
13-122.
Vance, P. H., C. Bamhart, E. L. Johnson, and G. L. Nemhauser. 1992. Solving Binary
Cutting Stock Problems by Column Generation and Branch-and-Bound. Working paper,
Computational Optimization Center, Georgia Institute of Technology, Atlanta, Georgia.
R2-
A
Decomposition Approach for Parallel Machine Assignment and Setup
in Electronics Assembly. Master's thesis. Operations Research Center,
Massachusetts Institute of Technology, Cambridge.
Vanderbeck, F.
Minimization
R3-
^
ilHiii
Date Due
Lib-26-67
Download