OPERATION ASSIGNMENT WITH BOARD SPLITTING AND MULTIPLE
MACHINES IN PRINTED CIRCUIT BOARD ASSEMBLY
by
SAKCHAI RAKKARN
Submitted in partial fulfillment of the requirements
For the degree of Doctor of Philosophy
Dissertation Adviser: Dr. Vira Chankong
Department of Electrical Engineering and Computer Science
CASE WESTERN RESERVE UNIVERSITY
May, 2008 CASE WESTERN RESERVE UNIVERSITY
SCHOOL OF GRADUATE STUDIES
We hereby approve the thesis/dissertation of
______
candidate for the ______degree *.
(signed)______(chair of the committee)
______
______
______
______
______
(date) ______
*We also certify that written approval has been obtained for any proprietary material contained therein. i
Table of Contents
Table of Contents…………………………………………………………………………..i
List of Figures……………………………………………………………………………..v
List of Tables…………………………………………………………………………….vii
Acknowledgements………………………………………………………………………..x
Abstract…………………………………………………………………………………...xi
1 Introduction……………………………………………………………………………...1
1.1 The Overview of Printed Circuit Board Assembly…………………………....1
1.2 Planning and Process for PCB Assembly……………………………………..2
1.3 Problem Statement and Rationale...…………………………………………...6
1.4 Research Objective……………………………………………………………8
1.5 Outline of the Thesis…………………………………………………………..8
2 Literature Review…………………………………………………………………...….10
2.1 Models for Generalized Operation Assignment for PCB Assignment
Problems………...... 10
2.2 Generic Problems with Similar Model Structure……….…………………....13
Generalized Assignment Problem (GAP)………………………….…….13
Universal Facility Location Problem (UFLP)……………………………15
2.3 Solution Strategies and Methods for Combinatorial Optimization……...…...17
Binary Integer Programming (BIP)……………………...………………17
Branch-and-Bound……………………………………………………….18
Knapsack Problem……………………………………………………….20
Decomposition and Duality……………………………………………...21
ii
Lagrangian Relaxation and Subgradient Method (LR+S)……….………24
Linear Programming……………………………………………….…….28
Heuristics…………………………………………………………….…..29
2.4 Existing Algorithms for Operation Assignment of PCB Assembly…………31
Greedy board heuristics for Single Automatic Machine…………………32
Greedy Board Algorithm with Multiple Automatic Machines…………..34
Stingy Component heuristics for Single Automatic Machine…………...36
Stingy Component Algorithm with Multiple Automatic Machines……..38
Lagrangian Relaxation Heuristic with Single Machine………………….39
Lagrangian Relaxation Heuristic with No Board Splitting
and Multiple Machines…………………………………………………..44
3 Solution Algorithms for Multiple Machines with Board Splitting…………………….47
3.1 The Model Revisited…...... …………………………………………………..47
Commonality Ratio and Problem Size…………………………………...52
3.2 The Proposed Solution Strategy…..………………………………………….53
3.3 Finding Multipliers………………………..………………………...……….60
LP Relaxation LPr………………………………………………………..61
Lagrangian Relaxation LR……………………………………………….62
3.4 The Final Step: Searching for the Primal Solution….……………………….69
Lower Bound Maintaining Algorithm (LBM)…………..……………….69
LBM Heuristics + Greedy Board ……………………..…………………72
LBM Heuristics + Greedy Component ………………….....……………74
Problem Space Search Method…………………………………………..75
iii
3.5 Implementing the LBM Algorithm……………….………….………………77
3.6 Computation Complexity…………………………………………………….79
4 Test Problems and Computation Results………………………………………………82
4.1 Test Problems...………………………………………………………………82
4.2 Computational Results……………………………………………………….85
4.2.1 Performance Tests………………………………………………….85
Single Machine Test……………………………………………..87
Multiple Unidentical Machines…………………………………..88
Multiple Machines Identical Machines…………………………..92
Multiple Machines with Unidentical/Identical Machines………..95
More Resuls: LBM vs.CPLEX for Identical Machines………….98
4.2.2 Sensitivity and Robustness Tests…………………………….…...100
Results and Analysis for Unidentical Multiple Machines……...101
Results and Analysis for Identical Multiple Machines….……...107
Results and Analysis for Unidentical/Identical
Multiple Machines…………………………………………..….113
5 Actual Case Study and Results…………………………………………………….…120
5.1 Introduction to C.Y. Tech Co., Ltd…………………………………………120
5.2 Prepared Data and Information……………………………………………..124
Demand Data and Product Description…………………………………124
Process Information………………………………………………...... 127
Pressing and Setup Time Data………………………………………….129
5.3 Existing Planning Method………………………………………………….130
iv
5.4 Results and Performance……………………………………………………131
5.5 Final Comments…………………………………………………………….134
6 Conclusions and Future Work…………………………………………………….….136
6.1 Conclusions…………………………………………………………………136
The Problem Addressed……………………………..………………….136
The Solution Strategy Used…………………………………………….136
Testing the Claims……………………………………………………...140
6.2 Future Works……………………………………………………………….145
Bibliography……………………………………………………………………….…...146
v
List of Figures
Figure 1.1: Auto Insertion Technology for PCBs………………………………………...2
Figure 1.2: Overall Production Planning of PCB: Decision/Information relationships….3
Figure 1.3: Relationships between three decision phases in PCB Assembly……………4
Figure 1.4 Typical Assembly Process for PCBs………………………………………….5
Figure 3.1 Conception of LBM-Based Feasible Solution Finder…………………..……72
Figure 3.2 Flow Process for LBM algorithm………………………………………...…..79
Figure 4.1 Average CPU Time between LBM and CPLEX for Unidentical Processes....89
Figure 4.2 Average CPU Time between LBM and CPLEX for Identical Processes…....92
Figure 4.3 Average CPU Time between LBM and CPLEX
for Unidentical/Identical Processes…..………………………..…..…..……..95
Figure 4.4 Average Duality Gap between LBM and GRD for Problem Type A………102
Figure 4.5 Average Duality Gap between LBM and GRD for Problem Type B………103
Figure 4.6 Average Duality Gap between LBM and GRD for Problem Type C………104
Figure 4.7 Average Duality Gap between LBM and GRD for Problem Type D………105
Figure 4.8 Comparing Average Duality Gap between
Problem Types and Sized Problem……..…………………..……………….106
Figure 4.9 Average Duality Gap between LBM and GRD for Problem Type A………108
Figure 4.10 Average Duality Gap between LBM and GRD for Problem Type B…..…109
Figure 4.11 Average Duality Gap between LBM and GRD for Problem Type C…..…110
Figure 4.12 Average Duality Gap between LBM and GRD for Problem Type D……..111
Figure 4.13 Comparing Average Duality Gap
between Problem Types and Sized Problem………………………………112
vi
Figure 4.14 Average Duality Gap between LBM and GRD for Problem Type A……..114
Figure 4.15 Average Duality Gap between LBM and GRD for Problem Type B…..…115
Figure 4.16 Average Duality Gap between LBM and GRD for Problem Type C…...…116
Figure 4.17 Average Duality Gap between LBM and GRD for Problem Type D..……117
Figure 4.18 Comparing Average Duality Gap
between Problem Types and Sized Problem………………………….……118
Figure 5.1 Business Flow Chart of C.Y. Tech Co., Ltd………………………………...122
Figure 5.2 Process Flow Chart of Auto Insertion Technology……………………...….123
Figure 5.3 Layout of Printed Circuit Board Model RVD-164………………………….124
Figure 5.4 Axial Inserter 6292 VCD-DH6 Dual Head by Universal…………….……..127
Figure 5.5 Radial Inserter VC-5B by TDK……………………………………………..128
Figure 5.6 Axial Sequencer Machine by Universal…………………………………….128
Figure 5.7 Time Comparison of the Four Algorithms………………………………….132
Figure 5.8 Total Production Time: LBM v.s. Existing Method……………...…………133
vii
List of Tables
Table 3.1: The Procedure of LBM Algorithm………………………………………..….78
Table 4.1: Characteristics of Test Problem Designs……………………………………..84
Table 4.2 Results: Single Machine with identical processing and set up times…………87
Table 4.3 Results: Single Machine with unidentical processing and set up times………87
Table 4.4 Results: Problem Size 3×20×5…………………………………………….…..89
Table 4.5 Results: Problem Size 3×100×30………………………………………….…..90
Table 4.6 Results: Problem Size 4×100×30………………………………………….…..90
Table 4.7 Results: Problem Size 5×100×30……………………………………………...90
Table 4.8 Results: Problem Size 3×1000×100……………………………………….…..91
Table 4.9 Results: Problem Size 4×1000×100……………………………………….…..91
Table 4.10 Results: Problem Size 5×1000×100………………………………………….91
Table 4.11 Results: Problem Size 3×20×5……………………………………………….92
Table 4.12 Results: Problem Size 3×100×30……………………………………………93
Table 4.13 Results: Problem Size 4×100×30…………………………………………….93
Table 4.14 Results: Problem Size 5×100×30……………………………………………93
Table 4.15 Results: Problem Size 3×1000×100…………………………………….……94
Table 4.16 Results: Problem Size 4×1000×100…………………………………….……94
Table 4.17 Results: Problem Size 5×1000×100……………………………………….…94
Table 4.18 Results: Problem Size 3×20×5……………………………………………….96
Table 4.19 Results: Problem Size 3×100×30…………………………………………….96
Table 4.20 Results: Problem Size 4×100×30…………………………………………….96
viii
Table 4.21 Results: Problem Size 5×100×30…………………………………………….97
Table 4.22 Results: Problem Size 3×1000×100………………………………………….97
Table 4.23 Results: Problem Size 4×1000×100…………………………………………97
Table 4.24 Results: Problem Size 5×1000×100………………………………………….98
Table 4.25 Results: Problem Size 5×1000×100……………………………………….…99
Table 4.26 Results: Problem Size 4×1000×100………………………………………….99
Table 4.27 Results: Problem Size 3×1000×100……………………………….…..……100
Table 4.28 Duality Gap between LBM and GRD for Problem Type A…………….….101
Table 4.29 Duality Gap between LBM and GRD for Problem Type B………………..102
Table 4.30 Duality Gap between LBM and GRD for Problem Type C………………..103
Table 4.31 Duality Gap between LBM and GRD for Problem Type D………………..104
Table 4.32 Average Duality Gap for All Problem Types
with Different Sized Problem…….………………………………………...105
Table 4.33 Duality Gap between LBM and GRD for Problem Type A………………..107
Table 4.34 Duality Gap between LBM and GRD for Problem Type B………………..108
Table 4.35 Duality Gap between LBM and GRD for Problem Type C……………..…109
Table 4.36 Duality Gap between LBM and GRD for Problem Type D……………..…110
Table 4.37 Average Duality Gap for All Problem Types
with Different Sized Problem………………………………………………111
Table 4.38 Duality Gap between LBM and GRD for Problem Type A…………..……113
Table 4.39 Duality Gap between LBM and GRD for Problem Type B……………..…114
Table 4.40 Duality Gap between LBM and GRD for Problem Type C……………..…115
Table 4.41 Duality Gap between LBM and GRD for Problem Type D………..………116
ix
Table 4.42 Average Duality Gap for All Problem Types
with Different Sized Problem………………………………………....…..117
Table 5.1 Bill of Material of Printed Circuit Board Model RVD-164…………………125
Table 5.2 (Continue) Bill of Material of Printed Circuit Board Model RVD-164…..…126
Table 5.3 Average Processing and Setup Time of Insertion Process…………………..129
Table 5.4 Results of all Algorithms in Each Demand Period…………………………..131
Table 5.5 CPU Times of all Four Algorithms…………………………………….…….132
Table 5.6 Percent above Optimal for Three Algorithms…………………………….….132
Table 5.7 Percent Saving of Production Time between LBM and Existing Method…..133
x
Acknowledgements
Many thanks to my advisor, Prof. Vira Chankong. He has helped transform my idea about research from an obscure, magical process to a concrete and fascinating process.
He provided topic area and his direction in defining the scope of this work were invaluable.
My thanks to Prof. Kenneth A. Loparo, Prof. Narasingarao S. Sreenath, and Prof.
Kamlesh Mathur for their services as the committee members and the valuable time for reading this manuscript.
My deepest gratitude to Kasem Bundit University for providing all financial support of my Ph.D. education in the Systems and Control program in Electrical Engineering and
Computer Science at Case Western Reserve University.
I gratefully acknowledge to Jintana Panuwanakorn, and Nukul Tantikul of C.Y. Tech
Co., Ltd. Thailand and Dr. Akajate Apikajornsin for supporting and providing the data of case study in this dissertation.
There are many others, whose support was invaluable. My wife, my parents and my friends - Dr. Danthai Thongphiew and Dr. Suparerk Janjarasjitt. Thanks to you and all others who I have not listed here.
xi
Operation Assignment with Board Splitting and Multiple Machines in
Printed Circuit Board Assembly
Abstract
By
SAKCHAI RAKKARN
This research considers an operation assignment problem arising from printed circuit board (PCB) assembly process. We focus on the case most prevalent in today’s
PCB industry where multiple automatic insertion machines are available and a board may be set up on more than one machine. We aim to develop an efficient algorithm that can comfortably handle industrial-sized problems. A challenging problem is how to assign component types to machines, board types to machines, and a particular component on a board to a particular machine so as to minimize the total assembly time. The resulting binary integer program (BIP) has a unique with weakly coupling location-type constraints and capacity constraints. Aiming to develop a solution method to obtain high-quality solutions in an acceptable time, we exploit the particular structure of the BIP model to the fullest possible. Decomposition, relaxation (Lagrangian and LP), and a strategic neighborhood search consisting of greedy board/component, problem space search, and a newly developed variable fixing heuristics are used to form the new method.
We test the performance of our proposed method by generating almost five hundred of carefully designed test problems. We also use a real world case study
xii graciously provided by C.Y.Tech. CPLEX, Greedy Board heuristics, and a special heuristics used by C.Y.Tech are used to compare performance with the proposed method.
Test results consistently indicate that the proposed method is a strong candidate for use in the PCB assembly industry, providing the best compromised performance in terms of solution quality and speed among all methods tested. For all test problems and the real case study, it produces optimal or near optimal solution with % above optimal or duality gap averaging 1.2% or less and with computational time within a few hundred seconds.
Its computational time will increase linearly, but slowly, with problem size indicating that it will comfortably handle problems much larger than the largest test problem. Finally, if desired, the proposed method can help C.Y. Tech to appreciably increase its throughput without additional capital investment by being able to cut production time by 16%.
1
1 Introduction
1.1 Overview of Printed Circuit Board Assembly
In today’s high-tech world, electronic devices and gadgets are everywhere touching all our major life activities of working, learning and living, and significantly affecting our quality of life. With Printed Circuit Board (PCB) as the backbone, the popularity and pervasiveness of such high-tech devices would not have been possible without the ability to produce high-volume of customized PCB at the required speed and quality.
Printed Circuit Board assembly involves inserting and soldering electronic components into PCBs. The most important factor affecting cost, efficiency and quality of PCB assembly is component insertion, which is carried out either manually or by automatic or semiautomatic machines. Modern automatic insertion machines (illustrated in Figure 1.1) generally can do the jobs faster with greater precision and reliability at less per unit cost than the manual process. However their capacity is usually limited and insertion of nonstandard or special components normally has to be performed manually.
In high-volume production, a combination of automatic/semiautomatic and manual insertion processes is used. Again the automatic/semiautomatic process handles standard components to achieve speed and efficiency, while the manual process handles the excess from the automatic process’ capacity as well as specialized components.
2
Figure 1.1: Auto Insertion Technology for PCBs
1.2 Planning and Process for PCB Assembly
The process for printed circuit board assembly is part of the overall production planning process depicted in Figure 1.2. Essentially, the PCB circuits have to be designed along with the specification of Bills of Materials (BOM), and equipment requirements. This is followed by a process planning which consists of production planning, scheduling and shop-floor control planning. The final step is operations planning consisting of feeder arrangements, placement sequencing, NC programming and the actual assembly. 3
CIRCUIT CARD CIRCUIT CARD CIRCUIT CARD DESGN DESGN DESGN
DESIGN DATA BOM DATA EQUIP. SPECS.
STATIC DATABASE PROCESS PRODUCTION REQUTS PLANNING
PROD’N PLAN SCHEDULING
PROCESS PLANNING PROCESS TIMES
SHOP FLOOR CONTROL SCHEDULES
FEEDER PLACEMENT ARRANGEMENT SEQUENCE
NC PROGRAMMING
NC CODE
ASSEMBLY AUTOMATION
Figure 1.2: Overall Production Planning of PCB: Decision/Information relationships [1]
Within the process planning of PCB assembly there are three main decision- making phases-- grouping, inserting, and sequencing as shown in Figure 1.3. Grouping makes use of cellular manufacturing by selecting machine groups and part families and assigning part families to machine groups. Allocation assigns components to machines 4 when the corresponding machine group has more than one machine. Finally,
Arrangement and Sequencing arranges component feeders and sequences placement operations for each machine and printed circuit board. The hierarchical relationship between these three decisions as shown in Figure 1.3 indicates tight coupling between the grouping and allocation decisions especially when we have multiple boards and multiple machines. On the other hand, there is minimal coupling between the arrangement/sequencing decision and other type of decisions because only individual boards and machines are dealt with at this level.
Assembly Product Equipment Descriptions Characteristic GROUPING (of all PCBs and machine)
PCB into Machines Families into Groups
Families and groups Line and PCB cycle time result
ALLOCATION (for each family over all machines in group)
Component Types to Machine
Allocation Machine and PCB cycle time result
ARRANGEMENT/ SEQUENCING (for each machine for each family)
Assign Sequence Component Placements Types to for Each Feeder PCB Slots
Figure 1.3: Relationships between three decision phases in PCB Assembly [2] 5
Figure 1.4 below illustrates a complete assembly process for PCBs [3] including component presentation, repair of faulty insertions, and touch-up for faulty soldering.
Boards move through the steps as indicated by the horizontal lines in the figure. The vertical lines indicate the flow of components from inventory to the insertion stations.
The second insertion station in the assembly process is VCD insertion. This refers to the automatic insertion of axial-lead components, also called VCD (variable center distance) components. These include resistors, capacitors, and diodes. The VCD station performs feeder sequencing before insertion. In addition, robots may be employed to perform insertions of components with nonstandard shapes.
Components Sequence Components Components Components
Inspect and Inspect and Auto Inspect and repair VCD repair insertion repair A
Components Components Components
Manual 1 Retro- Inspect and Robot Solder Touch- A fit repair Insertion Clean up
B Components Components
Manual 2 Inspect and Test Final repair B repair
Figure 1.4 Typical Assembly Process for PCBs. 6
1.3 Problem Statement and Rationale
This research focuses specifically on the decision making on Allocation
(assigning component types to various machine groups) and Arrangement/Sequencing
(arranging component types on feeder slots and placement sequencing of components and board for insertion operations on machines). This constitutes the last two boxes in Figure
1.3. The emphasis will be placed on how to do these assignment and sequencing tasks efficiently and with minimum cost, particularly for the cases where we have multiple board types with a large number of boards for various board type, multiple automatic/semiautomatic machines, and a large number of overall component types. In these cases, existing techniques, which are mostly heuristic-based, often produce solutions that are far from optimal. We will seek a new assignment method that will help reduce the assignment costs as much as possible (if not optimal), thereby significantly increasing the efficiency and throughput of the PCB assembly process.
Detailed Description of the PCB Process and the Research Problem
Consider an insertion process associated with an operations assignment. A mix of board types requires insertion of a number of different components. The insertion processes used are automatic/semiautomatic and manual. A board can pass through either one or both of these processes. For the automatic/semiautomatic insertion process: (1) there may be one or more machines which are identical, unidentical, or mixed; (2) each automatic/semiautomatic insertion machine has a limited capacity in the number of different types of components it can handle; (3) a board can pass through one or more machines, and (4) for any automatic machine that requires component sequencing, the 7 capacity of the sequencer serves as the capacity of the automated machine. The total cost of the PCB assembly process consists of the processing cost of inserting components on a board by a machine/process and the cost of setting up a board on a machine/process. Both per unit processing and setup costs varies with per unit processing time and setup time, respectively. Since automatic/semiautomatic processes/machines are faster (in both insertion and setup) than the manual process, they would have lower processing and setup costs. However, each automated machine has a limited capacity in terms of the number of component types it can hold at one time, and there are also a limited number of such machines available. The manual process on the other hand can handle all component types and in any volume (although of course at slower speed and higher costs). The key questions at this phase of PCB assembly are which component type is to be assigned to which machine, which board is to be set up on which machine, and which component on a board is to be inserted by which machine so as to minimize the total cost. In the above, we allow a board to be splitted (i.e. some components on a board can be inserted by one machine, while the rest can be inserted by other machines). This type of problems can be formulated as a linear 0-1 program representing a special assignment problem as will be seen in the next chapter. An example application is illustrated in [4] where the PCB assembly at Hewlett-Packard (HP) is used to demonstrate the problem and solution techniques. However the cases considered in [4] only have one automatic machine and a board cannot be splitted. In practice, the number of automatic machines used will be more than one, a board can be splitted if it is beneficial to do so, the number of board types may be in hundreds, the number of component types may be in thousands, the volume of the boards required is large, and the number common components on different 8 board types--commonality ratio--- may be high. These are the situations when existing methods, if any, often produce poor results. This is precisely why, in this research, we would like to find a more efficient method to solve the problem and one that can be used in real industrial settings.
1.4 Research Objective
The principal aim of this research is to develop an efficient algorithm to solve the operation assignment with board splitting and multiple machines in PCB assembly with all characteristics of PCB assembly and real practical problem outlined above. This problem is motivated in part by a real PCB assembly company---C.Y. Tech Co., Ltd
(Thailand)—which has a reasonably large volume of business serving Thailand and the
East Asia region. The company currently uses three automatic insertion machines with two being identical, in addition to the manual process. We will therefore specifically investigate how we can help C.Y. Tech reduces its PCB assembly cost and increases its throughput.
1.5 Outline of the thesis
In this chapter we have provided an overview of the process planning and production planning for PCB industry in general, and the operations assignment of PCB assembly in particular. Various mathematical models pertinent to the research problem
(such as an general assignment problems, facility location problems) along with existing methods and strategies for solving them will be described in Chapter 2. In chapter 3, we will focus on the specific mathematical formulation for the research problem, explore its 9 special structure and use it to develop an efficient solution method by resourcefully combining partitioning/decomposition, Lagrangian relaxation, Greedy board/component heuristics, and problem space search strategy. Also described in Chapter 3 is actual implementation of the proposed algorithm and a brief discussion on computational complexity. In chapter 4, a variety of randomly generated test problems is used to test the performance (percent duality-gap or percent above-optimal, and computational time) of the proposed algorithm. In Chapter 5, we apply our algorithm to the real case study at
C.Y. Tech Co., Ltd. and show how much we can reduce the PCB production cost at C.Y.
Tech compared to what they are doing now. In Chapter 6, we conclude with a summary of the proposed algorithm for operation assignment of PCB assembly, discuss its benefits and limitations, and suggest issues for future research. 10
2 Literature Review
In this chapter, related models and their solution strategies are reviewed in order to learn what exist and what ideas are available that may be useful in solving our specific problem in PCB assembly. To begin, it is prudent to state the mathematical model for
PCB assembly for the most general case, observe its special structure, state generic class of problems with similar structure, and briefly discuss popular solution strategies for solving those generic classes of problems.
2.1 Models for Generalized Operation Assignment for PCB Assembly Problems
The earliest PCB assembly problem [5-6] is concerned with placement sequencing and feeder configuration. The problem is formulated as (1) a Quadratic
Assignment Problem (QAP) and solved by using Metaheuristics and (2) a production planning and scheduling formulation to determine the component-machine allocations as well as PCB sequence. In the latter, two types of objective functions are used separately: one minimizing the number of changeovers (hence minimizing set up time) and the other minimizing processing time.
A difficult issue that often arises in PCB assembly is how circuit boards should be grouped for manufacturing to minimize the total assembly time. This is a combination of setup time and processing time under many problem characteristics. An overall approach for addressing the board grouping problem is given in [7-11]. Models and algorithms for solving PCB assembly to determine an optimal operation assignment of board types to machine groups, allocation of component feeders to individual machines, and production sequences are described in [4, 11-16]. Most of these works assume a single 11 automatic/semiautomatic machine. The treatment of PCB assembly with multiple machines first appeared in [4, 7].
In this research, we seek to answer the following questions with regard to the process planning phase of PCB assembly: which component type to be assigned to which machine(s): which board is to be set up on which machine(s); and which component on a board is to inserted by which machine so as to minimize the total cost. Accordingly, the mathematical model that will allow the questions to be answered can now be written as:
Choose the component and board assignments so as to
Minimize the sum of processing cost/time and setup cost/time in PCB assembly
Subject to
a) Only components required on a given board get inserted on that board and
each component inserted is done once and only once
b) A component on a given board get inserted by a machine only if the board is
set up on that machine
c) A component on a given board get inserted by a machine only if the machine
is set up to handle that component
d) The number of component types to be set up on an automatic machine cannot
exceed its stated capacity.
First we define the decision variables and parameters
For machine iI∈∈∈ , component type jJ , and board type kK , define:
Decision variables: ⎧1 if Component type j in Board type ki is assigned to be inserted by Machine xijk = ⎨ ⎩ 0 otherwise 12
⎧1 if Board type ki is set-up on Machine yik = ⎨ ⎩ 0 otherwise ⎧1 if Component type ji is set-up on Machine zij = ⎨ ⎩0 otherwise Parameters: ⎧1 if Component type jk is required on Board type rjk = ⎨ ⎩ 0 otherwise
Ni = max number of Component types that can be set up on Machine i
cjiij = per unit cost to insert Component type by Machine
vjk = total number of Component type j required for Board type k
skiik = per unit cost to set up Board type on Machine
dk = number of boards produced (demand) during the planning horizon
Then the corresponding mathematical model for the PCB assembly problem is:
Minimize∑∑∑ cij v jk x ijk+ ∑∑ s ik d k y ik (1) ijk ik
subject to
∑ xrjkijk=∀ jk ; , ( 2) i
yxijkik≥∀ ijk ; , , () 3
zxij≥∀ ijk ; ijk , , () 4
∑ zNiij≤= i ; 1,2,..., I − 1 () 5 j
xijkijk ∈∀{}0,1 ; , , ( 6)
yikik ∈∀{}0,1 ; , ( 7)
zjkij ∈∀{}0,1 ; , ( 8)
Equation/inequalities (2) through (5) highlight the stated requirement (a) to (b), while (6)-
(8) express the YES-NO decision nature of the three groups of variables involved. The 13 objective function (1) to be minimized is the total cost/time to complete a PCB assembly job in the planning horizon. As an alternate objective function, another common metric to be minimized is the makespan. Minimizing makespan results in more balance of workload on each machine. This in turn leads to a loosening of the bottleneck and hence an increase in throughputs. Previous models and algorithms dealing with the minimization of makespan can be found in [2, 17-20]. In this work, we will focus on minimizing the total cost/time objective and not on minimizing makespan.
2.2 Generic Problems with Similar Model Structure
The model for PCB assembly (1)-(8) is a special form of assignment problem. It is of interest here then to look at those generic problem formulations that have similar structures to our model so that we may learn what useful solution strategies are available for possible adaptation. These generic problems include generalized assignment problems, uncapacitated facility location problems, and capacitated facility location problems. Generalized assignment problems have the structure most similar to the PCB assembly model in (1)-(8).
Generalized Assignment Problem (GAP)
A generalized assignment problem is a classical combinatorial optimization problem in which we try to assign n tasks to m agents so that the total assignment cost is minimized, that each task is assigned to exactly one agent and that the capacity of the agent cannot be exceeded. It has a variety of real word applications including facility location, loading, scheduling, routing, allocation, machine assignment, and supply chains. 14
The problem has been studied since the late 1960s. It is known to be NP-hard but computer codes based on various heuristics and various solution strategies for practical application have been introduced since early 1970s.
GAP can be formulated as a 0-1 integer linear program (ILP). Let n be the number of tasks to be assigned to m agents (n ≥ m) and define N = {1, 2, 3,…, n}. We define the requisite data elements as follows: cij = cost of task j being assigned to agent i rjk = amount of resource from agent i required to perform task j
The decision variables are defined as:
⎧1 if taskj is assigned to agent i xij = ⎨ ⎩ 0 otherwise
The 0-1 LIP model may then be written as:
mn GAP: minimize∑∑cxij ij () 9 ij==11 n subject to:∑ rxij ij≤∀ b i , i () 10 j=1 m ∑ xjNij =∀∈1,() 11 i=1
xijij =∀0or1, , () 12
The objective function (9) is the total cost of the assignments. Constraint (10) enforces the resource limitation for each agent. Constraint (11) ensures that each job is assigned to exactly one agent, which is similar to Constraint (2) in the PCB assembly model
(although in the latter some of the tasks (components) need not be assigned to a combination of board-machine “agent”. Publications [21-25] proposed algorithms to solve GAP based on Lagrangian Relaxation (LR); branch-and-bound (based on LR, LP 15 relaxation, and valid cuts), problem space search, and column generation. [26-28] proposed a tabu search algorithm and a path relinking approach for solving GAP. There are many variants and extensions of GAPs to fit a variety of real world applications. [29] provided an extensive discussion on the following variants of models and algorithms:
• 3D Bottleneck Assignment Problem and its Variants
• Bi-criteria Assignment Problem
• Makespan minimizing GAP
• Time minimization assignment problem and a Lexicographic-search algorithm
• Two-stage time minimizing assignment problem
• Bi-level time minimizing assignment problem
Universal Facility Location Problem (UFLP)
The model problem is to find locations to locate up to m warehouses so that demand of n customers can be satisfied from these warehouses at the minimum total cost.
As described in [30-32], facility location problems can be either uncapacitated or capacitated. The most basic problem is the uncapacitated facility location problem which can be formulated as follows:
Minimize∑∑∑ fi z i+ c ij x ij (13) iI∈∈∈ iIjJ
subject to
∑ xjJij =∈1; , (14) iI∈ zxiIjJ≥∈∈; , , (15) iij ziIi ∈∈{}0,1 ; , (16)
xiIjJij ≥∈∈0; , , (17) 16
where
xij = fraction of demand of customer j shipped from facility at location i
zi = 1, if a facility is built at location i, and 0, otherwise.
fi = fixed cost if a facility is built at location i
cij = cost of transporting the entire demand of customer j from facility i
I = {1,…,m}---the set of possible locations to build facilities,
J = {1,…, n}---the set of customers,
The objective function (13) is to minimize the total cost which is composed of the fixed construction cost and the variable transportation cost. Constraints (14) and (17) ensure that the demand for each customer is met by the complement of facilities built. Constraint
(15) makes certain that shipment to customers cannot be made from a location where a warehouse has not been built. Finally, constraint (16) represents the YES-NO decision whether to built or not-to-built a warehouse at location i. For a capacitated version, there are additional restrictions reflecting the capacity of warehouse built at each location. That is, additional constraints of the form:
n ∑ xbij≤= i for i 1,.., m (18) j=1 express the maximum shipment that can be made from a location i. In addition, there may be upper bounds xij ≤ uij where 0 < uij ≤ 1 indicating the maximum shipment that can be made from warehouse at location i to customer j.
The similarity in structure between the PCB assembly problem and the UFLP problem lies in the objective function--(1) v.s. (13); and do-only if-built constraints—(3)-
(4) v.s. (15). The major difference between the two problems is that the xij in the UFLP 17
are continuous whereas the xijk and all other variables in the PCB assembly problem are binary.
2.3 Solution Strategies and Methods for Combinatorial Optimization
What methods are available to solve the general LIP, Binary IP, GAP, UFLP, and some other basic combinatorial optimization problems? Which of those techniques that we can use or modify to solve the operation assignment problem in PCB assembly? This will be briefly reviewed next.
Binary Integer Programs (BIP)
Because the model (1)-(8) considered in this thesis is a special form of BIP, we look into the vast literature on solution strategies for BIP. BIP in the most general form is a combinatorial optimization problem that is often NP-hard. Easy BIPs are those whose solutions lie exactly on a vertex (or near the vertex) that happens to be an optimal solution of its relaxed LP. So solving its relaxed LP, which is considered “easy” with today’s algorithms for solving LPs, is equivalent to solving the BIP.
Solving hard BIPs to optimality, if possible, can be done through some form of implicit enumeration and/or cuts. Implicit enumeration is a strategy that allows all possible solutions to be considered (to guarantee optimality) without actually investigating individual ones explicitly (to improve its efficiency). The idea is to repeatedly and systematically identify a “bunch” of solutions that can be safely thrown away until an optimal solution is found, or the remaining solution set is small enough that a complete enumeration can be carried out quickly. 18
Branch-and-Bound
Branch-and-Bound is a standard and common strategy to perform implicit enumeration. Its success depends critically on how fast a good upper bound and a good lower bound of the optimal objective value can be generated. The faster they can be found, the more inferior (non-optimal) solutions can be thrown away. Two facts are useful in estimating upper bounds. First, finding a good upper bound is equivalent to finding a good feasible solution (of the original BIP). Second, as mentioned above, an integer solution (binary in our case) of an integer program (IP) can be discovered quickly if it lies at an optimal vertex of its relaxed LP. Thus finding an improved upper bound translates into a systematic reduction of the feasible set of the BIP so that a good feasible integer solution (of the original IP or BIP) is a solution of its relaxed LP. In the traditional
Branch-and-Bound, this systematic reduction of the feasible set is accomplished by selecting (branching) variables, setting them at some feasible integer values (e.g. 0 or 1 in our case), and then solving the relaxed LP in terms of the remaining variables. If at least one of the solutions is integer and if the relaxed optimal value is lower than the incumbent upper bound then a new (incumbent) upper bound is found. If none of the solutions is integer, then the relaxed LP objective value is stored as a possible candidate for a new improved lower bound. The efficiency of the Branch-and-Bound strategy also depends critically on the branching scheme and the bookkeeping scheme used. These are necessary to ensure that no thrown-away portions of the feasible set can possibly contain the optimal solution, and that no part of the feasible set is accidentally left out. 19
The traditional way of reducing the feasible set by selecting and fixing branching variables is still inadequate for tackling hard BIPs (or general IPs). Gomery [43] introduced another strategy based on the concept of “cuts”. A cut is a linear inequality added to the model that will cut away a portion of the feasible set. Of course we have to make sure that the cut-away portion has no possibility of containing the optimal solution.
The resulting feasible set is a smaller polyhedron that is known to contain the optimal solution. If a sufficient number of good cuts are added, then the optimal solution itself may lie at a vertex of the reduced polyhedron. It can then be found by solving the BIP with all those cuts. This is one of the bases of Gomery’s cutting plane method. The other basis is that Gomery’s cuts are generated from the fractional parts of non-integer solutions of the previously reduced LP. Relying on cuts alone, Gomery’s cutting plane method slows down considerable as the number of iterations grows. As the number of cuts increases, each new cut gets smaller until it becomes negligible. However, when combined with the Branch-and-Bound method, the resulting Branch-and-Cut method becomes much more effective in reducing the duality gap (difference between the upper bound and lower bound). Riding on the success of adding good cuts to reduce the duality gaps, several other techniques to generate valid inequalities or cuts have been proposed in recent years. Savelbergh [37] discusses more recent ideas for generating cuts and for preprocessing such as probing, lifting, lift-cover, constraint-pairing, surrogate constraints and so on. These ideas have been incorporated into modern LIP solvers such as CPLEX to make them among the most powerful state-of-the-art general-purpose LIP solvers today. Additional ideas and techniques to further improve the LP-representation of 20 general BIP problems using such ideas as Euclidean algorithm, optimality fixing and variable elimination with branch-and-cut approach are discussed in [42].
Knapsack Problem
There are special classes of BIP that are of great interest not only by themselves but also for the key roles that they play in developing solution algorithms of more general
BIPs. One of these special classes is a knapsack problem in which we try to find items to fit into a finite volume sack so as to maximize the total value of the items in the sack. A typical knapsack model is of the form:
n min ∑vxii i=1 n st.. ∑ axii≤ b i=1
xi ∈= {0,1}, in 1,..,
Key characteristics of the knapsack problem are that it has only one (inequality) constraint and all coefficients ai, vi, and b are all positive. Even with such a simple structure, the knapsack problem is still NP-hard. Nevertheless, it and many of its variants have been well studied and a number of efficient techniques and algorithms have been developed to solve the most interesting forms of knapsack problem quite efficiently.
Some of the ideas discussed earlier have also been customized to solve binary Knapsack problems. For example, [33-36] uses surrogate constraint and constraint pairing to help solve BIPs with 0-1 knapsack constraints. [37-41] reports beneficial use of preprocessing, probing and extended covers to solve binary knapsack problems. We will see later that binary knapsack problems play a key role in our development of solution methods to 21 solve the operation assignment of PCB assembly, as the machine capacity constraint (5) is indeed a 0-1 knapsack constraint.
Decomposition and Duality
When faced with a large and complex problem too difficult to solve in one integrated whole, the most natural strategy is to break it down into smaller and simpler subproblems, deal with each subproblem separately (which should now be easy to do), and then integrate and coordinate individual solutions with the goal of guiding the integrated solution toward optimum. This is the core principle of decomposition. When subproblems are uncoupled, the overall optimal solution can be achieved in one iteration by simply assembling individual subproblem solutions to form the overall problem solution. For coupled subproblems, the coordinating and integrating task is more difficult, and often requires an iterative procedure at the outer (upper level) in the form of solving a master problem. Solving a master problem means adjusting “coordinating” variables to guide solutions of subproblems toward the overall optimum. The challenges lie in how to formulate and solve the master problem in tandem with solving the subproblems. All these depend of course on the strategy we use to do the decomposition and the principle we plan to use to do the coordination.
One important concept that has now taken a firm holds in making decomposition and coordination not only possible but also efficient and practical is duality. To illustrate the concept, consider the following problem:
n min∑ fxii ( ) (18) i=1 n ni st.. ∑ gii ( x )≤∈⊆ b ; x i X i R i=1 22
Because of the coupling constraint, there is no natural way to decompose the problem at this point. By introducing the dual variable λ ≥ 0 and form the Lagrangian:
nn⎛⎞ minfii (x )+−λ g ii (xb ) xX∈ ∑∑⎜⎟ iiii==11⎝⎠ n
=+−min()fii (x )λg ii (xb ) λ xX∈ ∑ iii=1 the coupling (complicating) constraint is no longer a problem. Moreover if λ is fixed for the moment, then uncoupled subproblems emerge
Subproblem ifxgx : minii ( )+ λ ii ( ) (19) xX∈ ii
This suggests a useful decomposition strategy being sought. Solving each subproblem i should be relatively easy since it is much smaller, and has a simpler structure. In fact with a proper value of the coordinating variable λ, say λ*, the solutions of all subproblems
** * taken collectively as(x12 ,xx ,..,n ) will be optimal to the original problem (18), if it exists and is feasible. Indeed, if all functions fi and gi and the set Xi are convex, then by the strong duality theorem (SDT), both the existence of λ* ≥ 0 and the optimal solution
** * (x12 ,xx ,..,n ) to (18) are guaranteed. This is because by the SDT, there must exist λ* ≥ 0
* and then a solution to (19) xi ∈ Xi for each i such that
nn **⎛⎞ ∀≥ λλ0,∑∑fxii () +⎜⎟ gx ii () − b ii==11⎝⎠ nn n **⎛⎞ * * ≤+∑∑fii()x λ ⎜⎟g ii ()xb −= ∑f ii ()x ii==11⎝⎠ i = 1 nn⎛⎞ * ≤+∑∑fxii()λ ⎜⎟ gx ii () −∀∈ b x i X i ii==11⎝⎠
23
The first inequality is due to the fact that λ* maximizes the dual. The middle equality is
* due to SDT, and the last inequality is due to the fact that xi solves (19) for each i = 1,..,n.
The equality implies that
n **⎛⎞ λ ⎜⎟∑ gxii ( )−= b 0, ⎝⎠i=1
n ⎛⎞* Together with the first inequality above, we have λλ⎜⎟∑ gxii ( )− b≤∀≥ 0 0 ⎝⎠i=1 n * Hence, ∑ gxii( )−≤ b 0 i=1
** * Subsequently, we conclude that (x12 ,xx ,..,n ) is feasible for (18). Finally, the last
** * inequality and the feasibility of (x12 ,xx ,..,n ) imply that
nn n **⎛⎞ ∑∑fxii()≤+ fx ii ()λ ⎜⎟ ∑ gx ii () −∀∈ b x i X i ii==11⎝⎠ i = 1 nn * ⎛⎞ ≤∀∈∑∑fxii ( ), x i X i (since λ ⎜⎟ gx ii ( ) −≤ b 0) ii==11⎝⎠
** * Hence (x12 ,xx ,..,n ) is optimal to (18) as required to be shown.
The existence of a proper value of the coordinating variable λ* tells us that if we can find it then finding a solution to the original problem (18) can also be easily accomplished by solving (19) with λ = λ*. But how do we find λ*? It has to be done iteratively by
(k) (k) systematically adjusting λ toward λ* while at the same time guiding the solution xi of
* (k) (19) toward xi . One way is to update λ in such a way as its limiting point λ* maximizes the dual function:
n
hfxgx(λλ )= ∑()ii ( )+≥ ii ( ) over nonnegative λ 0 i=1 This is a coordination principle that we can use. A specific implementation of this idea is discussed next. 24
Lagrangian Relaxation and Subgradient Method (LR+S)
As discussed in [32, 43-50], many hard combinatorial optimization problems are made hard by the presence of a relatively small set of coupling or complicating constraints. It can be made easy if we can somehow temporarily remove the “coupling” effects. This brings us to the decomposition-coordination idea as discussed above. By dualizing coupling constraints (i.e. multiplying each of those constraints by a dual variable (penalty) and bringing them to the objective function), we temporarily make the resulting Lagrangian problem separable, and hence decomposable. The decomposition- coordination strategy as discussed earlier is now applicable. Because we temporarily relax the coupling constraints by dualizing them and form a Lagrangian function, we call the strategy Lagrangian Relaxation (LR). An optimal value of a Lagrangian relaxation problem can certainly serve as a lower bound to the optimal value of the original (primal) problem. Often, this is a tighter lower bound than that given by LP relaxation. So one can imagine replacing LP relaxation lower bounds in Branch-and-Bound by better LR relaxation bounds would produce better results faster. This will be one of the ideas to be pursued in this research. For now, we return to the second half of the picture—how to adjust the (coordinating) dual variables λ so as to converge to the right value λ* efficiently. Based on duality theory, we will try to update λ so as to maximize the dual function. The simplest updating scheme is to use the subgradient updating scheme:
(1)kk+ () ()k λλα=+× subgradientλ (Lagrangian evaluated at x )
In our example above, this would be:
n (1)kk+ ()⎛⎞ () k λλα=+× ⎜⎟∑ gii()xb − ⎝⎠i=1 25
Putting things together, the basic steps in Lagrangian Relaxation employing subgradients are:
1. Initialize the primal variables x(0) and dual variables λ(0) and define stopping criteria
2. Convert the problem into Lagrangian Relaxation formulation by dualizing all
coupling constraints.
3. At any iteration k with dual variables λ(k), solve the subproblems to form x(k)
4. Check for termination. If not, return to step 3.
We illustrate a complete (LR+S) process using GAP as an example. In GAP model (9)-
(12), either constraint (10) or (11) can serve as a coupling constraint depending on whether we would like to decompose via task j or via agent i. If we do the former, then the corresponding LR problem would be:
mn n⎛⎞ m (LR1 ) minimize∑∑ cij x ij+− ∑μ j⎜⎟ ∑ x ij 1 ij==11 j = 1⎝⎠ i = 1 n subject to:∑ rxij ij≤∀ b i , i j=1
xijij =∀0or1, ,
If we want to decompose based on agents, the corresponding LR would be
mn⎛⎞ n (LR ) minimize c x+−λ r x b 2 ∑∑ij ij ∑ i⎜⎟ ∑ ij ij i ij==11⎝⎠ j = 1 subject to:
m ∑ xjNij =∀∈1, i=1
xijij =∀0or1, ,
The first Lagrangian relaxation (LR1) becomes multiple knapsack problems in which the constraints consist of m zero-one knapsack problems. However, this formulation can be easily decomposed into m independent 0-1 knapsack problems, each of which can be 26 solved using any of the available methods for solving 0-1 knapsack. The second
Lagrangian relaxation (LR2) becomes a generalized upper bound problem (GUB) that can be further broken down to n independent simple assignment problems. Each of the subproblems can be solved by inspection, which is much easier to solve than a knapsack problem. A solution to subproblem i can be written as
⎧ ⎛⎞ ⎪1argminif j=+⎜⎟() cijλ i r ij xij = ⎨ ⎝⎠1≤≤jn ⎪ ⎩0 otherwise
So does this mean that LR2 is a more attractive approach to solving GAP via Lagrangian relaxation? The answer is not so obvious. If we are to use LR to replace LP relaxation in producing bounds in the Branch-and-Bound strategy, then LR1 will yield a tighter lower bound than LR2 at the price of being a little harder to solve. LR2 satisfies the integrality property (i.e. solving LR2 as an LP will always yield an integer solution [44, 46]), lower bounds produced by LR2 will not be better than bounds generated by LP relaxation. LR1 does not have the integrality property, so its lower bounds will be tighter than the LP relaxation bounds (hence better than LR2 bounds). Another possible advantage of LR1 over LR2 occurs in the following rare event. Since the optimal value of LR1 is higher than
LR2, its optimal solution has a better chance of being feasible for the primal problem
(GAP) as well. In this case, it will also be optimal to the primal GAP. However, this occurs very rarely. So in general, we need to find an alternative way to reach the optimal solution of GAP (or to establish a new incumbent upper bound through an improved feasible solution of GAP) from a solution of LR. For example, we may do so by perturbing around the solution to Lagrangian relaxation and perform a neighborhood search. 27
In summary, because of the cost saved in solving LR2 (over the time used to solve knapsack subproblems in LR1), we may still prefer LR2 to LR1. Since using LR2 cannot produce better lower bounds than LP relaxation, the choice between LR2 and LP relaxation depends on the size of the problems and how efficient we can solve LR2 to optimality. Solving an LR problem usually requires an iterative process such as a subgradient method, whose rate of convergence, if it converges at all, is linear and slow.
So in general solving LR2 to optimality would be very slow and time consuming, if it is possible at all. Thus if LP relaxation does not produce too large an LP problem, then it should be used since efficient LP solvers are readily available, and more importantly it will produce sharper bounds than partially solved LR2. On the other hand, if the resulting
LP relaxation subproblem is large, then Lagrangian relaxation LR2 should be used.
()k There are three popular approaches for updating the multipliers--- μ j in LR1 or
()k λi in LR2: (1) the subgradient method, (2) various versions of the simplex method implemented using column generation techniques [44, 46, 54], and (3) a multiplier adjustment method. The most popular of the three and the one most relevant to our work is the subgradient method as reviewed in [43, 47, 51-53]. A typical subgradient-based updating scheme if LR1 is used is:
m (1)kk+ ()⎛⎞ () k μμαjj=+⎜⎟∑ x ij −1 ⎝⎠i=1 whereas if LR2 is used:
n (1)kk+ ()⎛⎞ () k λλαii=+⎜⎟∑ rx ijiji − b ⎝⎠j=1
28
Linear Programming
In Branch-and-Bound, if LP relaxation is used, then we have to solve LPs. If the
LP subproblem is not too large, then we can use the standard simplex method which is a combinatorial search vertex hopping procedure. It hops from one vertex of the polyhedron (defining the feasible set of the LP) to a better neighboring vertex until no better adjacent vertex can be found. Because of convexity, and if an appropriate cycling prevention procedure is installed, the simplex method will always find an optimal vertex in a finite number of steps. Nevertheless, the simplex method is not a polynomial-time algorithm. It is possible that the number of vertices visited by the simplex method could be very large (with exponential increase) for a very large scale LP. This will wipe out the simplex’s key advantage over its competitors—namely a very small per-hop cost
(equaling the cost of only one pivot operations). For a very large scale LP, the current method of choice is an interior point method, which tries to approach an optimal vertex along a path strictly interior to the polyhedron and avoids wasting time at the boundary.
While the cost per iteration can be very high, the number of iterations can be many magnitudes smaller than the simplex method. Thus the overall cost (cost per iteration× no. of iterations or hops) for the interior point method could be advantageously smaller than that of the simplex method. Accordingly for a very large LP, we will use an interior point method, and for smaller LPs we will still use the simplex method. The literature on
LP is quite large both for the simplex method and interior point methods. [43, 54-57, 61] provide a very comprehensive review and discussion on the simplex method and its many powerful variants (e.g. primal-dual method). Similar comprehensive reviews and 29 discussions on interior-point based methods for very large problems can be found in [54,
56].
Heuristics
Many heuristics are useful for finding good solutions to intractable combinatorial problems often in a very fast time. However, solutions found by heuristics are often suboptimal. For the operation assignment of the PCB assembly process, greedy heuristics as described in [4, 61] are indeed very popular among PCB manufacturers. We will describe these heuristics in the next section. For general combinatorial optimization problems, local search heuristics such as Tabu search have drawn considerable interest from researchers. [59-60] give current developments, implementation and applications of
Tabu search in solving hard combinatorial optimization problems. Other local search heuristics described in [58, 61] attempt to find good feasible solutions in the neighborhoods or solution space of the current solution set. In this work we will make use of many of these heuristics so we will describe some of them below, and some more in due time.
The goal of a combinatorial optimization problem is to find a solution s* ∈ S to optimize an objective c(s). That is we wish to solve
cs( * ) = optimum cs() s ∈S where S is the set of feasible solutions, c is an objective function. Now let N: S→ 2s be a neighborhood function defined for each solution s ∈ S, such that N(s) is a subset of neighbors of s, or solution points that are close to s. A local search algorithm called the iterative improvement algorithm follows the following steps: 30
1. Compute an initial feasible solution s ∈ S
2. while N(s) contains a better solution than s do {
3. Choose a solution s′ ∈ N(s) with better value c(s′) than c(s).
4. Set s ← s′ }
5. Output s.
A solution s computed by the algorithm has the best possible value among all the solutions in its neighborhood N(s)
cs( ) = optimum cs( ′) s′ ∈Ns( )
Stochastic local search method is the most successful techniques for solving combinatorial problems. The following components, search space, solution set, neighborhood relation, memory states, initialisation function, step function, termination predicate have to be specified. A general outline of a stochastic local search method is
• Determine an initial search state
• While termination criterion is not satisfied:
perform a stochastic search step
if necessary, update incumbent solution
• Return incumbent solution or report failure
Stochastic local searches are used on problems with a large number of local optima.
Typical search techniques try to maintain some monotone property (e.g. improving
objective function) to ensure convergence. But such action often leads to the process
being trapped at local optimum. To break out of these traps, “degrading steps” have to
be allowed occasionally and when appropriate. Stochastic searches allow exactly that. It 31
is the simplest way to allow degrading search steps by permitting a random move to a
neighboring search position. In a randomized iterative improvement called iterated local
search, a neighbor is chosen uniformly at random. A perturbation procedure introduces a
modification to a given candidate solution set to allow the search process to escape a
local optimal. Finally, an acceptance criterion is used to decide whether the search
should be continued from a newly found local optimal. The iterated local search is
outlined as follows:
• Determine an initial candidate solution s
• Perform subsidiary local search on s
• While termination criterion is not satisfied:
r: = s
perform perturbation on s
perform subsidiary local search on s
based-on acceptance criterion keep s or revert to s:= r
2.4 Existing Algorithms for Operation Assignment of PCB Assembly
There is not so much research work being done on solving the operation assignment of PCB assembly problem more efficiently. This is because most manufacturers are satisfied with using heuristics. Even though the solutions obtained may be far from optimal, they are simple to use and they can do the job quickly. Two pieces of work done in [4, 11] appear to be the most recent attempts to solve simplified versions of the operation assignment PCB assembly model to optimality using Lagrangian relaxation,
Branch-and-Bound and some heuristics. Cases with single and multiple machines were 32 considered. While [4] also considered cases with split boards, (11) did not. As it turns out the only methods in [4] that are capable of handling split boards and multiple automatic/semiautomatic machines are just greedy heuristics which we will now briefly describe.
Greedy board heuristics for Single Automatic Machine
The rationale behind this approach is that: a) because of the expected low level of component commonality, it may be better to assign boards entirely to the automatic processes or the manual process, rather than splitting them, and b) consideration of existing component commonality may yield cost-saving combinations of boards assigned to the automatic process.
The Greedy Board algorithm starts by assignment all board types to the manual process, and successively switching a board type with the smallest incremental time
(hence incremental cost) per board type to the automatic machine until there is no more room to add any more component type to the automatic machine. And to simplify the implementation, it is assumed that the cost of inserting a component type to each machine is the same for all component type, and the cost of setting up a machine for a board type is the same for all board types. So, symbolically, if we use i =1 for automatic machine and i =2 for manual machine, then the per unit cost of insertion component j on process i, cij, becomes simply ci for all j and the per unit setup cost for board k on process i, sik, becomes si for all k.
Step 1: Initialization:
K • Let S = ∅, T = {1,…, K}, and J = ∑[]v jk c2 + s2 k=1 33
Step 2: ‘Greedy’ Board loading:
⎡ ⎤ ⎢∑ rjk ⎥ • ⎣ j∉S ⎦ Calculate γ k = for all k ∈ T ′ d k
where
⎧ ⎫ ′ T = ⎨k ∈T : ∑ rjk ≤ N1 − S ⎬ ⎩ j∉S ⎭
• Find m = arg min[γ k ] kT∈ ′
• Let T = T – m, S = S + {j: rjm = 1}, J = J + [vjm(c1 –c2) + s1 – s2]
Step 3: Post-Processing:
• IfT ′ ≠ φ , return to Step 2. Otherwise,
(i) For all j ∉ S: set x2jk = rjk, x1jk = 0, for all k
(ii) For all k ∉ T : set y1k = 1, y2k = 0, and x2jk = 0, x1jk = rjk, for all j
(iii) For all k ∈T : set y2k = 1, and if
s1 + ∑v jk c1 > ∑v jk c2 j∈S j∈S
Then set y1k = 1, x1jk = rjk ∀j, x2jk = 0, ∀j, and
⎡ ⎤ J = J + ⎢∑v jk ()c2 − c1 ⎥ − s1 ⎣ j∈S ⎦
Otherwise, set y1k = 0 and x1jk = 0, x2jk = rjk, ∀ j ∈ S.
Stop.
Step 1 assigns all boards to the manual process. In Step 2, the incremental number of new component slots per board produced (γk) is calculated for each board whose incremental assignment to the machine will not violate the slot capacity constraint. Then the board 34
with the minimum value γk is switched to the automatic machine. This is equivalent to greedily maximizing incremental number of boards produced per an additional slot used.
The process continues until no more boards can be switched to the automatic machine.
Step 3 simply completes the assignment process by converting the resulting switches from step 2 to the actual values of decision variables, xijk, yjk, zij. For computational complexity, Step 2 of the Greedy Board is used at most K times leading to K2 log (K) in flops. Thus an upper bound on the computation complexity of the Greedy Board algorithm is K3 log(K).
Greedy Board Algorithm with Multiple Automatic Machines
This is mainly the algorithm for a single automatic machine with modifications for multiple automatic machines. The modifications can be done in two versions depending on whether or not a component type can be assigned to multiple machines.
Version 1 does not allow assigning any components to machine i+1 if they have been previously assigned to machine i, and Version 2 does. However, the only previously assigned components assignable to the next machine(s) are those that are not involved in previously assigned board types that have been completely processed by previously assigned machines. Typical steps of the algorithm can be stated as follows:
Step1: Initialization:
• Let i = 1, SK = {1,…, K}, SJ = {1,…, J}
Step2: Greedy Board Assignment:
• Apply the Greedy Board Algorithm for a Single Automatic Machine to
Automatic Machine i, considering the board set SK and component set SJ. 35
Step3: Updating:
(Version 1)
• Remove from SK those boards that are completely processed on machine i, and
remove from the set SJ those components assigned to machine i.
• Let i= i + 1
• If i < I, return to step 2.
(Version 2)
• Remove from SK those boards that are completely processed on machine i, and
remove from the set SJ those components that are associated with boards that can
be completely processed on machine i.
• Let i= i + 1
• If i < I, return to step 2.
Step4: Post-Processing:
• Given the assignment of components to machines
• For each board not completely processed on a single machine, determine the least
cost way to produce the board
The Greedy Board algorithm will be adapted to form a part of the algorithm to be proposed in this research. The other greedy-type heuristics discussed in [4] is the Stingy
Component algorithm. Even though we will not use it in our research we will briefly review them and other methods used in [4] below to close out this chapter.
36
Stingy Component heuristics for Single Automatic Machine
This algorithm focuses on the entire set of components and starts by assigning all components to an automatic process. If the number of components J is less than or equal to the machine’s capacity, there is nothing to do further. On the other hand, if J exceeds the machine’s capacity, components are sequentially removed based on the “smallest cost increase to the manual machine” criterion, until the machine’s capacity is satisfied. Any components not assigned to the automatic process will of course be assigned to the manual process. Some components may be assigned to both processes in case of a lower cost can be found. By considering incremental cost of removing each component, the less frequently used components will never be assigned to the automatic machine in a cost- minimizing solution. On the order hand, the most frequently used components will always be assigned to the automatic machine. So, again symbolically, we use i =1 for automatic machine and i =2 for manual machine. The per-unit cost of insertion component j on process i, is assumed to be the same for all j, so cij, becomes simply ci for all j. Also, the per-unit setup cost for board k on process i is assumed to be the same for all k. So sik, becomes si for all k. The stingy component algorithm can be executed as follows:
Step 1: Initialization:
K • Let S = {1,…., J) and δk = 1 for all k , and J = ∑[]v jk c1 + s1 k =1
• If ⎥ S⎪≤ N1, Stop.
Step 2: ‘Stingy’ component removal: 37
K • Calculate Δ j = ∑[]v jk ()c2 − c1 + rjkδ k s2 for all j ∈ S. k =1
• Find l = arg min[Δ j ] j∈S
• Let S = S – l, J = J + Δl, and for k s.t. δkrlk = 1, set δk = 0.
Step 3: Post-Processing:
• If ⎥ S⎪> N1, return to Step 2. Otherwise
(i) For all j ∉ S: set x2jk = rjk, x1jk = 0, for all k
(ii) For all k s.t. δk = 1: set y1k = 1, y2k = 0, and x2jk = 0, x1jk = rjk, for all j
(iii) For all k s.t. δk = 0: set y2k = 1, and if
s1 + ∑v jk c1 > ∑v jk c2 j∈S j∈S
Then set y1k = 0, x1jk = 0 ∀j, x2jk = rjk ∀j, and
⎡ ⎤ J = J + ⎢∑v jk ()c2 − c1 ⎥ − s1 ⎣ j∈S ⎦
Otherwise, set y1k = 1 and x1jk = rjk, x2jk = 0, ∀ j ∈ S.
Stop.
Step 1 assigns all components (1,…, J) to the automatic process. Step 2 removes individual components from the automatic process to the manual process by using the incremental cost (Δj) until the bin of the machine’s capacity is reached. The objective function (total setup cost and total processing cost) is also updated. Step 3 updates the decision variables by checking all boards (δk = 1) which are completely processed by the automatic process and the remaining boards (δk = 1) to be processed by the manual process. The decision variables and the objective function are updated accordingly. For 38 computational complexity, each time Step 2 is reached, at most J sums are calculated, and one sort is performed, leading to a maximum of J2 log (J) calculations at each step.
Step 2 is reached J- N1 times, so an upper limit on the computational complexity for the
Stingy Component algorithm is J3 log (J).
Stingy Component Algorithm with Multiple Automatic Machines
By applying the Stingy Component algorithm for a single machine, two versions of Stingy Component algorithms for multiple machines can be developed. Version 1 does not allow assignment of any component to machine i+1 if it has already been assigned to machine i, while Version 2 does.
Step1: Initialization:
• Let i = 1, SK = {1,…, K}, SJ = {1,…, J}
Step2: Stingy Component Assignment:
• Apply the Stingy Component Algorithm to machine i, considering the board set
SK and component set SJ.
Step3: Updating: (Version 1)
• Remove from SK those boards that are completely processed on machine i, and
remove from set SJ those components assigned to machine i.
• Let i= i + 1
• If i < I, return to step 2.
Step3: Updating: (Version 2) 39
• Remove from SK those boards that are completely processed on machine i, and
remove from set SJ those components that are assigned only with boards that can
be completely processed on machine i.
• Let i= i + 1
• If i < I, return to step 2.
Step4: Post-Processing:
• Given the assignment of components to machines
• For each board not completely processed on a single machine, determine the least
cost way to produce the board
The Stingy Component algorithm will perform well when setup costs are low. In practical situations, setup costs are indeed high relative to insertion costs. Therefore, this heuristics is not going to be pursued further this research. Now we will review relevant methods discussed in [11]:
Lagrangian Relaxation Heuristic with Single Machine
As describe in [11], the case with a single automatic machine can be solved by
Branch-and-Bound combined Lagrangian relaxation. First model (1)-(8) is simplified by eliminating variables with respect to the manual process this gives: the following model for one automated process:
BIP1
minimize ∑∑(c1 j − c2 j )v jk x jk + ∑∑ sik d k yik +∑∑c2 j v jk jk ik jk subject to 40
y1k ≥ x jk ;∀j,k ∋ rjk = 1,
y2k ≥ 1− x jk ;∀j,k ∋ rjk = 1,
z j ≥ x jk ;∀j,k ∋ rjk = 1,
∑ z j ≤ N, (BIP1) j
x jk ∈{}0,1 ;∀j,k ∋ rjk = 1,
yik ∈{}0,1 ;∀j,k,
z j ∈{}0,1 ;∀j
BIP1 allows board splitting. If no board splitting is allowed, then further simplification can be made eliminating variables xijk using y1k = yk, y2k = 1 – yk, z1k = zk, z2k = 1-zk, and xijk = 1 if and only if yik =zij =1 (because yik an zij are completely specified with the problem solution). This leads to the following model for a single machine with no board splitting:
BIP2:
⎡ ⎛ ⎞ ⎤ ⎛ ⎞ minimize ⎜ s − s d + c − c v ⎟y + ⎜ s d + c v ⎟ ⎢∑∑⎜()1 2 k ()1 2 jk ⎟ k ⎥ ∑∑⎜ 2 k 2 jk ⎟ ⎣⎢ kj⎝ ⎠ ⎦⎥ kj⎝ ⎠ subject to
z j ≥ yk;∀j,k ∋ rjk = 1,
∑ z j ≤ N, j (BIP2)
yk ∈{}0,1 ;∀k,
z j ∈{}0,1 ;∀j.
After adding the necessary slack/surplus variables, BIP1 and BIP2 can be rewritten more compactly as MP1:
Minimize cTw
Subject to
Mw = b g(w) ≤ N (MP1) 41
w ∈ {0,1} where
c = the coefficient vector of insertion cost and setup cost
w = (x y z), is the vector of decision variables,
M is the coefficient matrix for all constraints except the capacity constraint
g(w) is function of the capacity constraints.
N = total number of different types of components on automatic process
We note that M is totally unimodular (all its square submatrices have determinant +1 or
-1). Thus if the capacity constraint in MP1 is “relaxed” , it is well known that the LP relaxation of LP1 will always produce integer solutions, which will in turn be the optimal solution of the original MP1 as well. So the problem is how to handle the relaxation of the capacity constraint of MP1 in the most efficient way. [11] uses Lagrangian relaxation with Branch-and-Bound. This leads to the following model: MP2:
θ(λ) = minimize cTw + λ( g(w) - N)
subject to
Mw = b (MP2) 0 ≤ w ≤ 1
If (i) w* is a feasible point of MP2 (ii) for some λ* ≥ 0, λ*( g(w*) - N) = 0, and (iii) g(w*) ≤ N (this along with (i) imply that w* is feasible for MP1), then by LP duality theory, w* is an optimal solution of MP1, and λ* maximizes the dual function θ(λ).
So if we can find the right value of λ*, solving MP2 until the above complementary slackness and primal feasibility conditions are satisfied, MP1 would have been solved.
The process has to be done iteratively using Branch-and-Bound. The branching variables are those components of w that correspond to yik . At each node corresponding to some 42
fixed yik, λ* is estimated by solving the LP relaxation of MP1 modified for that node and by using the optimal dual variable (multiplier) of the capacity constraint as an estimate of
λ*. This is then used to form MP2 for that node to obtain the values of the remaining components of w*. Conditions (ii) and (iii) are checked. If satisfied, the node is fathomed and appropriate bounds (upper and lower) are updated and backtracking is performed until the Branch-and-Bound process is completed. If either of (ii) or (iii) or both is violated, then the branching and bounding continues below the current node. A complete process is summarized below:
Step1: Initialization:
• Solve LP relaxation of MP1,
• If the solution is integral, then stop (this is optimal solution of MP1).
• If the solution is not integral, then the solution is a lower bound in MP1.
Step2: Lagrangian Relaxation:
• Set λ equal to the shadow price of the capacity constraints in LP relaxation of
MP1 in step 1
• Solve MP2.
• If g(w) = N then stop, (this is optimal solution of MP1).
• If g(w) > N then adjust λ by using sensitivity analysis until g(w) < or = N
• If g(w) < N then go to step3.
Step3: Improving the upper bound:
• Compute,
J a = N − z (the number of empty slots remaining on the machine), ∑ j=1 j
43
J α k = ∑[]rjk − z j (the number of components of board k adds to the machine), j=1
Ω = {}k 1 ≤ α k ≤ a (the set of all boards that can be moved to the machine),
and ψ = {}k y1k = y2k = 1 (the set of all boards can be split to manual machine)
• In case of a board can be split,
i) If a ≠ 0 and Ω ≠ ∅ compute the cost saving in each board, for k∈Ω,
J γ k = s2k d k y2k − s1k d k (1− y1k ) + ∑[]()()c2 j − c1 j v jk 1− x jk and compute j=1
* k = arg k∈Ω max(γ k α k ) and then add board k* and all its of
components to the automatic process; recomputed values a, and Ω,
ii) If a ≠ 0 and Ω = ∅, and ψ = ∅ then stop, otherwise compute
ϕ = c − c v 1− x and then add a component j that j ∑k∈ψ ( 1 j 2 j ) jk ( jk )
highest values to the machine; recomputed value a,
iii) If a = 0 and Ω = ∅ , then stop.
• Case of a board cannot be split,
i) If a ≠ 0 and Ω ≠ ∅ compute the cost saving in each board, for k∈Ω,
J γ = s − s d + c − c v 1− y and compute k [()2k 1k k ∑ j=1 ( 2 j 1 j ) jk ]( k )
* k = arg k∈Ω max(γ k α k ) and then add board k* and all its of components
to the automatic process; recomputed values a, and Ω,
ii) If a = 0 or Ω = ∅, then stop.
Step4: Apply Branch and Bound to find the optimal solution: 44
• Branch on the yik variables(0 and 1) which are nonintegral in the solution of MP3
and Bound by using step1 through 3
Note that without Step 4, the process is just a straight Lagrangian relaxation. As noted in
[11] that, applying only the Lagrangian relaxation heuristic, the solution obtained usually is optimal (to MP1) or very near optimal (error less than 0.03% for a large scale problem). Thus a full blown Branch-and-Bound execution does not seem to be necessary.
Lagrangian Relaxation Heuristic with No Board Splitting and Multiple Machines
With no board splitting allowed, only one machine/process per board is required.
According variables xijk can be eliminated and (1)-(8) can be simplified as shown below:
MBIP:
⎡ I −1 ⎛ ⎞ ⎤ ⎛ ⎞ minimize ⎜ s − s d + c − c v ⎟y + ⎜ s d + c v ⎟ ⎢∑ ∑∑⎜()ik Ik k ()ij Ij jk ⎟ ik ⎥ ∑∑⎜ Ik k Ij jk ⎟ ⎣⎢ i=1 kj⎝ ⎠ ⎦⎥ kj⎝ ⎠ subject to
I −1 ∑ yik ≤ 1;∀j,k ∋ rjk = 1, i=1
zij ≥ yik ;i = 1,2,..., I −1;∀j,k ∋ rjk = 1,
∑ zij ≤ N i ;i = 1,2,..., I −1, (MBIP) j
yik ∈{}0,1 ;i = 1,2,..., I −1;∀k,
zij ∈{}0,1 ;i = 1,2,..., I −1;∀j.
A “fastest machine” heuristics has been developed to work with Lagrangian relaxation and the “single-machine, no board splitting algorithm” above to sequentially assign boards to machines in order to solve MBIP. A summary of the algorithm is shown below:
45
Step1: Initialization:
• κ = 1,…, K (the set of boards)
• ξ = 1,…, I ( the set of machines)
Step2: Lagrangian relaxation heuristic:
⎛ ⎛ ⎞⎞ • Compute the fastest machine i* = arg min⎜ ⎜ s + n c ⎟⎟ (defined as that i∈ξ ⎜∑∑⎜ ik jk ij ⎟⎟ ⎝ kj∈κ ⎝ ⎠⎠
machine which can produce all boards in the set κ the fastest), with broken
arbitrarily.
• Apply the previous single machine algorithm, using machine i* as the single
machine, and considering all boards in the set κ.
Step3: Removing and Updating:
• Remove from the set κ all boards assigned to machine i*
• Update ξ = ξ - i*
• If ξ = φ then apply the previously single machine algorithm, using machine i* as
the single machine, and considering all boards in the set κ. Otherwise stop, and
assign all boards in κ to the manual process.
The “fastest machine” is defined as the machine that could produce the remaining set of
(unassigned) boards the fastest. The fastest machine heuristics assigns as many boards to the fastest machine based on the “single-machine” algorithm above. After the fastest machine is assigned and all boards assigned to that machine removed, the process is repeated with the remaining set of machines and remaining set of boards. The process continues until all automatic machines have been fully assigned. The remaining
(unassigned) boards are assigned to the manual process. Used in the Branch and Bound 46 process, the above solution will provide upper bound at the corresponding node and a lower bound is given by solving the LP relaxation of the corresponding MBIP.
Branching can be done based using non-integer components of the optimal solution of the
LP relaxed MBIP.
The algorithms described so far do not allow board splitting. The today’s PCB industry, board splitting can lead to a substantial saving, and it is worth investigating how to solve (1)-(8) with board splitting allowed. This is what we will do next. 47
3. Solution Algorithms for Multiple Machines with Board Splitting
In this chapter we begin to put together an algorithm to solve the most general case of operation assignments for PCB assembly—namely the case with multiple automatic/semiautomatic machines with possible board splitting allowed. Aiming to achieve the most efficient and most effective procedure to handle large industrial-level cases, we will exploit special structures of the problem and propose what we believe to be the best way to make use of those special structures. Decomposition, Lagrangian relaxation, Greedy Board heuristics, and Problem Space Search are among many ideas that we will use to customize and integrate to solve our target problem.
3.1 The Model Revisited
We begin by re-stating the basic mathematical model for operation assignments for PCB assembly and its various versions more precisely.
Consider a PCB assembly process consisting of I insertion machines used to produce PCB to fulfill a production order of K boards types containing the total of J component types. The order for board type k is dk boards for the order. The first I -1 machines are automatic or semiautomatic insertion machines, and these may be identical or unidentical. Each of these automatic/semiautomatic machines has a limited number of
th slots Ni, thereby assignable to handle at most Ni component types at a time. The I machine is the manual process, which can handle all component types. Each of the PCB board types to be produced contains a specific set of component types as indicated by rjk.
That is, rjk = 1 if component type j is required on board type k and equals 0 otherwise.
Thus the set of component types to be inserted on board k is Jk = {j| rjk = 1}. The total set 48
of component types required for the whole production order is ∪ Jk and the total number kK∈
of different component types, the cardinality of ∪ Jk , is J . kK∈
All operation assignments are associated with two types of costs, namely operation (insertion) cost and setup cost. These costs are, respectively, directly related to the amount of times required to do the insertion and the setup. If board type k is assigned to machine i, then machine i must be set up for board type k incurring the setup cost sik.
This setup cost is incurred for each individual board that is set up to be processed by the machine, not just for each board type. The cost of inserting each unit of component type j on process i is given as cij. The total production cost is the sum of the total insertion cost and the total setup cost.
As mentioned above, the expected demand for board type k during the planning period is assumed to be known and equal to dk boards. Board type k requires njk units of component type j to be inserted on any insertion machine. Thus the total expected number of units of component type j required for board type k for the entire planning horizon is vjk = njkdk.
We wish to find an assignment schedule to assign component types to each automatic/ semiautomatic machine, assign each board type to machine(s), and assign specific components on a board type for final insertion by a specific machine that will minimize the total production cost. The assignment schedule sought is specified by the following decision variables:
xijk = 1 if component j of board k is assigned to machine i; 0 otherwise
yik = 1 if board k is setup on machine i; 0 otherwise
zij = 1 if component j is assigned to machine i; 0 otherwise 49
Thus the total cost we wish to minimize is:
Total production cost = Total insertion cost + Total setup cost
= ∑∑∑cvij jk x ijk+ ∑∑ s ik d k y ik ijk ik
The assignment schedule sought of course has to satisfy the board requirements, the appropriate physical/logical constraints, and the machine capacity constraints:
For board type k ∈ K= {1,..,K}, component type j ∈ J = {1,..,J}, and machine i∈I =
{1,..,I}:
Board requirements:
• Each component j required on board k has to be assigned exactly once to a machine:
∑ xrijk=∀∈∈ jk ; jkJ, K i∈I
Physical constraints:
• Component j on board k cannot be assigned for insertion by machine i unless board
k is assigned machine i first
xyijk≤∀∈∈∈ ik ijkI, J, K,
• Component j on board k cannot be assigned for insertion by machine i unless a slot
on machine i is assigned to handle component type j first
xzijk≤∀∈∈∈ ij ijkI, J, K,
Capacity constraints:
• The number of component types assigned to automatic machine i cannot exceed the
number of slots available on automatic machine i:
∑ zNij≤∀∈ i i{1, . . , I -1 } j∈J 50
These along with the 0-1 requirements of each decision variable define the constraint set of our model. For convenient reference, we can now summarize the entire model—to be called PCB1--and the lists of decision variables and parameters as follows:
PCB1:
min f (xyz , , ) = ∑∑∑cvij jk x ijk+ ∑∑ s ik d k y ik (1) ijk∈∈∈I J K ik ∈ IK ∈
subject to
∑ xrijk=∀∈∈ jk jk J, K () 2 i∈J
yxik≥∀∈∈∈ ijk i I, j J, k K () 3
zxij≥∀∈∈ ijk i I, jJ,k ∈ K () 4
∑ zNij≤=− i i 1,2,..., I 1 () 5 j∈ J
xyzijk∈∈∈{}0,1 , ik {} 0,1 , ij {} 0,1 ∀∈∈∈ ijk I, J, K ()6
Indices: i = process (i = 1,..,I-1: automatic machine; i = I: manual); I = {1,..,I} j = components j ∈ J ={1,.., J} k = boards k ∈ K= {1,..,K} Costs:
cij = cost of inserting one unit of component type j by process i
sik = one-time cost to setup board type k on process i Production Requirements:
dk = expected number of units of board type k during the planning horizon
rjk = 1 if component j is used in board k; 0 otherwise
njk = number of units of component type j used in board k
vjk = expected number of units of component type j used on board type k during
the planning horizon (= dknjk) Capacity Constraint:
Ni = number of different types of components that can be assigned to process i Decision Variables: 51
xijk = 1 if component j of board k is assigned to process i; 0 otherwise
yik = 1 if board k is setup on process i; 0 otherwise
zij = 1 if component j is assigned to process i; 0 otherwise
We note that PCB1 minimizes the total production cost, and it makes no attempt to balance the workload across machines. Hence there is no guarantee that the makespan will be minimized, hence the throughput may be compromised. Also, the cost of refilling component bins when they become empty is not considered. Instead we assume that the bins are refilled at the end of each day (the bins are large enough to hold at least a day’s supply of any given component). If the refilling cost is significant, it can easily be incorporated within the framework of the model by adding a fraction of the bin refilling cost to the insertion cost for each component. We also assume that no boards need to be reworked (ie. all boards are completely assembled with no defects). If a board requires significant rework, this can be handled by adding the amount of rework necessary for board type k to the expected demand dk (assuming the expected value of the proportion of defective boards is known in advance).
If board splitting is not allowed:
PCB1 as given by (1)-(6) allows each board to be loaded on different machines
(board splitted) to complete the insertion of components on the board, if it is beneficial to do so. This is allowed by an explicit inclusion of variables xijk. As illustrated at the end of
Chapter 2, if no board splitting is allowed, then we can eliminate the variables xijk by summing the inequality (3) over i and use Equation (2) to complete the modification.
This means, in case of no board splitting allowed, (2) and (3) will be replaced by: 52
I ∑ yjkrik≥∀∈∈∋=1J,K1 jk i=1
To eliminate xijk from the objective function, by virtue of (3), we can replace (1) by;
⎡⎤IK⎛⎞ J Minimize ⎢⎥∑∑⎜⎟ ∑cvij jk+ s ik d k y ik ⎣⎦⎢⎥ik==11⎝⎠ j = 1
Not only is the number of variables markedly reduced, the number of constraints will also be greatly reduced. In this research, we will only consider the case with board splitting i.e. PCB1 as it stands.
Commonality Ratio and Problem Size
If the matrix {rjk} is full indicating that each component type j is required in each and every board type k, then we would require the full IJK values of variable xijk in the model. Thus the total number of variables in PCB1 is given by IJK + IK + IJ variables and the total number of constraints is 2IJK + JK + (I-1). For instance, if we have, for a typical PCB factory, 1,000 components types, 100 types of boards, and five automatic/semiautomatic insertion machine (I = 6), the problem size is 60,660 variables and 1,300,005 constraints. But, in a realistic problem, different boards use a lot of common components. In fact, the off-diagonal elements of the matrix {rjk} are mostly
∑∑ rjk zero signifying that the ratio γ = jk is typically small. This ratio is the average J number of boards that share a common component type, the smaller the ratio the less commonality of boards in terms of shared component types. And hence less number of variable xijk will be required in the model. Indeed, for a problem with commonality ratioγ, the total number of variables required in the model is γIJ + IK + IJ variables and the 53 number of constraints is 2γIJ + JK + (I-1). The problem size of the previous example with γ=1.25 is reduced to 14,100 variables and 115,005 constraints, which is much smaller than the full model with γ= K = 100. Nevertheless, since this is a combinatorial
(zero-one) problem, the size is still too large for most general purpose IP optimizers.
This is precisely why we would like to find a more efficient method that can find a near optimal solution, if not optimal, in a reasonable time.
3.2 The Proposed Solution Strategy:
Upon a close examination, the constraint set is decomposable with respect to k and almost decomposable with respect to j except for the complicating (coupling) constraints (5). Constraints (2) is a straight assignment constraint decomposable with respect to j and k and easy to handle for each (j, k) once decomposed. It appears natural therefore to begin with decomposition. To account for the coupling constraints (5) and in some sense constraints (3) and (4), we use Lagrangian duality and Lagrangian relaxation to bring constraints (5) along with (3) and (4) to the objective function using dual variables or nonnegative multipliers βj ≥ 0, λijk ≥ 0, μijk ≥ 0 respectively.
So with
βi ≥=0multiplier of ∑ zN ≤ i = 1,.., I − 1 j ij i
λijk≥ 0 = multiplier of x ijk−≤yijk ik 0 ∀ , ,
μijk≥=0 multiplier of xz ijk −≤ij 0 ∀ ijk,, 54
The resulting Lagrangian function is: PCB2: θ(λ, μ, β)
IJK IK IJK θ()minλ,μ,β = ∑∑∑cvij jk x ijk++ ∑∑ s ik dy k ik ∑∑∑λ ijk() x ijk − y ik ijk===111 ik == 11 ijk === 111 IJK I−1 J +−+−∑∑∑μβijk (xz ijk ij ) ∑ i ( ∑ zN ij i ) ijk===111 i = 1 j = 1 IJK IK⎛⎞ IJ⎛⎞ K =∑∑∑ (cv ++λμ)()x +−+−+ ∑∑sd ∑λμβ y ∑∑ ∑ z ij jk ijk ijk ijk⎜⎟ ik k ijk ik⎜⎟ ijk i ij ijk===111 ik == 11⎝⎠ j ij == 11⎝⎠ k = 1 ωijk τik ϕij IJK IK IJ = ∑∑∑ωτϕijkxyz ijk++ ∑∑ ik ik ∑∑ ij ij (7) ijk===111 ik == 11 ij == 11 subject to I ∑ xrijk=∀∈∈ jk jk J, K () 8 i=1
xyzijk∈∈∈∀∈∈∈{} 0,1 ; ik {} 0,1 ; ij {} 0,1 ijk I, J, K () 9 So now, if (λ, μ, β) is fixed at (λ(n), μ(n), β(n)) then PCB2 can be further decomposed into x-subproblem, y-subproblem, and z-subproblem, each of which can be further decomposed into sub-subproblems that can be easily solved by inspection:
x-subproblem: IJK ()nnnn () () () min ∑∑∑ωijkxcvijk where ωλμ ijk=++ ij jk ijk ijk ijk===111 I
st. . ∑ xijk=∀∈∈ r jk j J, k K i=1
xijkijk ∈∀∈∈∈{}0,1 I, J, K This can be further decomposed for each j ∈ J, k ∈ K as I ()n min ∑ωijkx ijk i=1 I st. . ∑ xijk= r jk i=1
xiijk ∈∀∈{}0,1 I And the corresponding solution is:
⎧ ˆ ()n ()n ⎪1 for i = arg min ωijk For (jk , ) such that r== 1, x ( i∈I ()) (10) jk ijkˆ ⎨ ⎩⎪0 for all ii≠ ˆ For (jk , ) such that r== 0, x()n 0 for all i = 1,..., I jk ijkˆ 55
Likewise, the y-subproblem is:
IK J ()nnn () () min ∑∑τikysdik where τλ ijk=− ik k ∑ ijk ik==11 j = 1
st. . yik ∈∀∈∈{} 0,1 i I, k K This can be further decomposed for each i ∈ I, k ∈ K as:
()n min τik yik
st. . yik ∈{} 0,1
⎧ ()n ()n ⎪1 if τik < 0 And the corresponding solution is: y = ⎨ (11) ikˆ ()n ⎩⎪0 if τik ≥ 0 Finally, the z-subproblem is:
IJ K ()nnn ()()n () min ∑∑ϕϕμβijz ij where ij=− ∑ (ijk ) + i ij==11 k = 1
st . . zij ∈∀∈∈{} 0,1 i I, j J This can be further decomposed for each i ∈ I, j∈ J as:
()n min ϕijz ij st. . z∈ 0,1 ij {} ⎧ ()n ⎪1 if ϕij < 0 And the corresponding solution is: z()n = (12) ijˆ ⎨ ()n ⎩⎪0 if ϕij ≥ 0
Now by (weak) duality theorem if we can get a correct value of (λ, μ, β), say (λ*, μ*, β*) the optimal value θ(λ*, μ*, β*) of PCB2 resulting from using the solution for x*, y*, z* as given in (10), (11) and (12) respectively, will serve as the tightest lower bound on the optimal value of PCB1. Indeed, if (x*, y*, z*) happens to be feasible for PCB1 as well then it would also be optimal to PCB1 due to duality. For convenience reference, we now summarize these statements which follow in a straight forward way from duality theory in linear programming. First we formally state that solving PBC2 for any nonnegative 56 multipliers yields a lower bound of the optimal value for PCB1 (which is essentially a version of weak duality theorem).
Lemma 3.1: (Weak Duality Theorem) Let 0 ≤ λ* ∈ RIJK, 0 ≤ μ* ∈ RIJK, 0 ≤ β*∈ RI-1 and let x*, y*, z* be given by (10), (11), and (12) respectively. Let θ (λ*, μ*, β*) be the corresponding value of (7) which is the optimal value of PCB2--- v(PCB2), and let v(PCB1) be the optimal value of PCB1. Then θ (λ*, μ*, β*) ≤ v(PCB1) This follows directly from weak duality theorem [55], since (x*, y*, z*) is a minimizer of
PCB2, we have
θ (*λ ,μ *,β *)
IJK IK J IJ K *** **⎛⎞ * ** =∑∑∑ (cvij jk+++−+−+λμ ijk ijk ) x ijk ∑∑ s ik d k ∑ λ ijk y ik ∑∑⎜⎟ ∑ () μ ijk β i z ij ijk===111 ik == 11 j = 1 ij == 11⎝⎠ k = 1
IJK IK J IJ K ** * ⎛⎞** ≤+++−+−∑∑∑ ()cvij jkλμ ijk ijk x ijk ∑∑ s ik d k ∑ λ ijk y ik∑∑⎜⎟ ∑ ( μ ijk )+ βiijz ijk===111 ik == 11 j = 1 ij==11⎝⎠ k = 1 ∀xyz , , satisfying (2) and (6) ---or (7) and (8) ijk ik ij IJK IK IJK IJK ** =++−+− ∑∑∑cvij jk x ijk ∑∑ s ik d k y ik ∑∑∑λμ ijk() x ijk y ik ∑∑∑ ijk () x ijk z ij ijk===111 ik == 11 ijk === 111 ijk === 111 IJ−1 * +−∑∑βiiji ()zN ij==11 IJK IK ≤+∀ ∑∑∑cvij jk x ijk ∑∑ s ik d k y ik x ijk , y ik , z ij satisfying (3)-(5) in addition to (2)&(6) ijk===111 ik == 11
Thus θ (λ *,μ *,β *)≤ v (PCB1)
If we are fortunate to be able obtain the multipliers that happen to be the optimal dual variables as well, then we will have achieved the tightest lower bound. If θ (λ*, μ*, β*)
= maxθ (λ,μ,β ) , then θ (λ*, μ*, β*) is the tightest lower bound of v(PCB1). To see λμβ≥≥≥0, 0, 0 this we note that for 0 ≤ (λ, μ, β) ∈ RIJK× RIJK× RI-1, θ (λ, μ, β) defined by PCB2 is the 57
Lagrangian dual function of PCB1. Thus if θ (λ*, μ*, β*) is the optimal dual value, then v(PCB1) ≥ θ (λ*, μ*, β*) ≥ θ (λ, μ, β) for all (λ, μ, β) ≥ 0 indicating that θ (λ*, μ*, β*) is the tightest lower bound of v(PCB1).
Obtaining the tightest lower bound is still not the end of the story. The ideal situation is that the strong duality theorem is satisfied as well. That is, not only the corresponding solution (x*, y*, z*) minimizes the Lagrangian dual function, but it is also optimal to the primal PCB1. Since integer programs are non-convex, that will hardly be the case. However, if it happens that (x*, y*, z*) is feasible for PCB1, then it will also be optimal to PCB1. This follows directly from strong duality theorem [55].
Lemma 3.2: For 0 ≤ λ* ∈ RIJK, 0 ≤ μ* ∈ RIJK, 0 ≤ β*∈ RI-1, let (x*, y*, z*)--given by (10), (11), and (12)--be a minimizer of PCB2 and θ (λ*, μ*, β*) be the corresponding optimal value. If i) θ (λ*, μ*, β*) = maxθ (λ,μ,β ) , i.e. (λ*, μ*, β*) is the optimal dual λμβ≥≥≥0, 0, 0 variables ii) (x*, y*, z*) also satisfies constraints (3), (4), and (5) of PCB1
then (x*, y*, z*) is also optimal to PCB1.
Applicaiton of strong dualtiy theorem specific to model (1)-18) yields the following:
First since (λ*, μ*, β*) maximizes the dual function
IJK IK IJK ** ** θλ()λ,μ,β =++− ∑∑∑cvij jk x ijk ∑∑ s ik d k y ik ∑∑∑ ijk() x ijk y ik ijk===111 ik == 11 ijk === 111 IJK I−1 J ** * +−+−∑∑∑μβijk (xz ijk ij ) ∑ i ( ∑ zN ij i ) ijk===111 i = 1 j = 1 over (λ,μ,β ) ≥ 0 58 it is clear that
IJK IJK I−1 J ** * ** * * * ∑∑∑λμβijk (xy ijk−= ik ) 0, ∑∑∑ ijk ( xz ijk −= ij ) 0, ∑ i ( ∑ zN ij −= i ) 0 (13) ijk===111 ijk === 111 i = 1 j = 1 for otherwise these individual linear terms can be made unbounded and (λ *,μ *,β *) cannot be a maximizer of θ (λ,μ,β )
By virtue of part (a) of Lemma 3.1, (13) and the fact that (x*, y*, z*) is feasible for
PCB2, we have
v(PCB1)≥ θ (λ *,μ *,β *) IJK IK IJK IJK ******** =++−+− ∑∑∑cvij jk x ijk ∑∑ s ik d ky ik ∑∑∑λμ ijk()x ijky ik ∑∑∑ ijk ()xz ijk ij ijk===111 ik == 11 ijk === 111 ijk === 111 IJ−1 ** +−∑∑βiiji ()zN ij==11 IJK IK ** =+∑∑∑cvij jk x ijk∑∑ s ik d k y ik due to (13) ijk===111i=1 k = 1 ≥ v (PCB1) since (xyz *, *, *) satisfies (2)-(6), hence is feasible for PCB1 IJK IK ** Thus vcvxsdy(PCB1)==θ (λ *,μ *,β *) ∑∑∑ij jk ijk + ∑∑ ik k ik ijk===111 ik == 11
Sometime it is harder to know whether (λ*, μ*, β*) is an optimizing dual variables or not. It is often simpler to check for dual feasibility of (λ*, μ*, β*), primal feasibility of
(x*, y*, z*) and complementary slackness of (λ*, μ*, β*) and (x*, y*, z*). The following corollary is therefore useful.
Corollary 3.1: Let 0 ≤ λ* ∈ RIJK, 0 ≤ μ* ∈ RIJK, 0 ≤ β*∈ RI-1 (dual feasible) and let x*,
y*, z* be given by (10), (11), and (12) respectively. If in addition:
(i) (x*, y*, z*) also satisfies constraints (3), (4), and (5) of PCB1, then it is
also optimal to PCB1, and 59
IJK ** * (ii) ∑∑∑λijk()0xy ijk− ik = ijk===111 IJK ** * ∑∑∑μijk()0xz ijk− ij = ijk===111 IJ−1 ** ∑∑βiiji()0zN−= ij==11 The reasoning is exactly the same as above with (ii) replacing (13).
So if we are to use PCB2 to solve PCB1, we must find (λ*, μ*, β*) ≥ 0 such that the corresponding (x*, y*, z*) satisfies (3)-(5) of PCB1 (2) and (6) are automatically satisfied), and that either (λ*, μ*, β*) is a Lagrangian dual function maximizer or the complementary slackness condition---(ii) in Corollary 3.1—is satisfied. Should such multipliers can be found, PCB1 is solved. As mentioned earlier, since PCB1 is non- convex, it is unlikely that the primal feasibility of (x*, y*, z*) can be achieved even if the dual maximizing (or complementary slackness satisfying) multipliers could be found.
Most likely there will be duality gap:
η* = v(PCB1) - θ (λ*, μ*, β*) > 0 (14)
If the gap is small enough, then solving PCB2 can be an effective way to finding a good solution to PCB1.
In this research we will use PCB2 to form a core part of the solution strategy. The idea is still to search for dual maximizing multipliers (λ*, μ*, β*) that satisfy either (i) in
Lemma 3.2 or (ii) in Corollary 3.1. This will give us (x*, y*, z*) and θ (λ*, μ*, β*) which could serve as a possible lower bound of v(PCB1). A strategy could be developed to use (x*, y*, z*) to search for a near-by feasible solution ()x,ˆˆˆ y, z of PCB1. Thus the objective value f ()x,ˆˆˆy,z of PCB1 can then serve as the upper bound, and the estimated duality gap 60
η = f ()x,ˆˆˆy,z - θ (λ*, μ*, β*) (15) can be used to track the progress of the search or to terminate the search if the duality gap
η is sufficiently small. This strategy could be incorporated with Branch-and-Bound, where terminating a search means fathoming a node. In this application, since the problem is weakly to moderately coupled and since the commonality ratio is usually not very high in practice, experience has shown (and this will be demonstrated in Chapter 4) that
1) A solution to PCB2 provides a strong lower bound as long as optimal or near-optimal
multipliers (λ*, μ*, β*) can be found
2) A good strategy to search for a near-by primal feasible solution ()x,ˆˆˆy,z is readily
available and the resulting duality gap η defined in (15) is usually small enough that
the search can usually stop in a few iterations or a few nodes.
So in the remainder of this chapter, we will discuss procedures to find (λ*, μ*, β*), and a strategy to recover a primal feasible solution ()x,ˆˆˆy,z that is “close” to (x*, y*, z*).
3.3 Finding Multipliers
There are generally two ways to find a set of multipliers for use as (λ*, μ*, β*).
One is based on LP relaxation and the other is based on Lagrangian relaxation.
A relaxation of a minimizing problem P is obtained when some constraints, often ones that make P hard to solve, are relaxed or loosen thereby creating a problem that is easier to solve than P itself. Let R be a relaxation of P. Then it is clear that the feasible set of R subsumes the feasible set of P. Hence the optimal value of R, v(R), will always be no worse than the optimal value of P, v(P). For a minimizing problem P, we have 61
v(R) ≤ v(P)
Thus a relaxation R can always be used to create a lower bound of P. Whether this lower bound is tight and useful depends on the type of relaxation used.
The general idea in creating a relaxation is to choose for relaxation those constraints that make the original problem difficult to solve.
LP Relaxation LPr:
In PCB1, the constraints that make PCB1 a difficult problem to solve are the integrality (binary) requirements in (6). On relaxing such constraints, we have a relaxation problem that is a pure LP, which is a lot easier to solve for large problems than
PCB1 itself. An LP relaxation of PCB1 is PCB3 shown below:
PCB3:
min f (xyz , , ) = ∑∑∑cvij jk x ijk+ ∑∑ s ik d k y ik (16) ijk∈∈∈I J K ik ∈ IK ∈
subject to
∑ xrijk=∀∈∈ jk jk J, K () 17 i∈J
yxik≥∀∈∈∈ ijk i I, j J, k K () 18 zx≥∀∈ i I, jk∈∈J, K () 19 ij ijk ∑ zNij≤=− i i 1,2,..., I 1 () 20 j∈ J
0≤≤xyzijkijk 1, 0 ≤≤ ik 1, 0 ≤≤ ij 1 ∀∈∈∈ I, J, K () 21
Note that the objective function and the first four constraints of PCB3 are exactly the same as those of PCB1. The last set of constraints (21) is a relaxation of (6) in PCB1, where the integrality requirements are relaxed. This makes all variables continuous variables bounded by 0 and 1. 62
Even though v(PCB3) can be used as a lower bound for use in the Branch-and-Bound approach to solving PCB1, it is generally a weak bound for this type of problems, and its usefulness in helping reduce the number of nodes is minimal. This is why LP relaxation is not often used for that purpose. However, the usefulness in solving PCB1 is that the optimal dual variables (or multipliers) associated with (18)-(20) can be used as estimates for (λ*, μ*, β*) that we seek. As it turns out this is quite a good estimate and we will use this approach to estimate multipliers extensively in this work. Also, these dual variables being interpreted as shadow prices also have potential for use in searching for a near-by feasible point ()x,ˆˆˆ y, z in a later stage. Currently there are powerful methods for solving
LPs of different sizes. For small- to medium-sized problems, the simplex method is adequate and is readily available everywhere. For large LPs, the state-of-the-art interior point method is now the method of choice.
Lagrangian Relaxation LR:
PCB2 is in fact the beginning of Lagrangian relaxation for PCB1. The constraints that are relaxed are the coupling constraints (3)-(5). By lifting these constraints to the objective function, they are not usually satisfied during the intermediate steps of the solution process. Indeed as Theorem 3.1 or Corollary 3.1 indicates, the goal is to make these constraints satisfied, and once that happens, the optimal solution of PCB1 is reached. One main advantages of Lagrangian relaxation is that PCB2 can be quickly solved through decomposition as shown in (10)-(12), Another advantage is that its solution (x*, y*, z*) as given in (10-(12) is already in binary form. Searching for a near- 63 by feasible point will involve only switching rules many of which are available. In another word, it is easier to find a good update for upper bound to reduce the duality gap.
In general, lower bounds generated by Lagrangian relaxation are tighter than those created by its LP relaxation counterparts.
To see why, consider the following general integer program:
T n IP: min c x s.t. x ∈ X = {x| A1x ≤ b1, A2x ≤ b2, x ∈ Z+ } (22)
Its LP relaxation is:
T n LPr: min c x s.t. x ∈ XLP = {x| A1x ≤ b1, A2x ≤ b2, x ∈ R+ } (23)
And relaxing constraints A2x ≤ b2, the corresponding Lagrangian relaxation is
TT T n LR:max min ()()c +−λ Ax22λ bxAxbx where XZ 111 =≤∈ { | ,+ } (24) λ≥0 x∈X1
Without loss of generality, assume that X1 is bounded. Since it contains discrete points, it has a finite number of points, i.e.
(1) (2) (N) X1 = {x , x , …, x }
Thus, v(LR) = max min [(cT + λTA )x(n) - λTb )] λ≥0 x∈X1 2 2
v(LR) = max w T T (n) T s.t. w ≤ (c + λ A2)x – λ b2), n = 1,…,N λ ≥ 0
This is just an LP, so by the strong duality theorem,
NN⎛⎞ v(LR)==min αα (cxTn() ) c T x () n α ∑∑nn⎜⎟ nn==11⎝⎠ KN ()nn⎛⎞ () s.t. ∑∑ααnn (bAx0A22−≥⇒ ) 2⎜⎟ x ≤ b 2 kn==11⎝⎠ N ∑αn = 1 n=1
αn ≥= 0, nN 1,..,
64
NN ⎧⎫⎛⎞()n Since conv( X1 )==⎨⎬xx |⎜⎟∑∑αααnnn x , =≥= 1; 0, n1,.., N ⎩⎭⎝⎠nn==11 ⇒∈≤∈vXconvX(LR) = min cxT s.t. x ={} xAx | b , x ( ) x LR 22 1
LPn LP Now if we let XRXX111=≤∈{|xAxbx ,+ }, then LP =≤∈ {| xAx 221 b , x }
LP Since X1 ⊆ conv(X1) ⊆ X1 , we have X ⊆ XLR ⊆ XLP.
Hence v(IP) ≥ v(LR) ≥ v(LPr) (25) as we set out to show.
So again we can see from the above that in general the lower bounds generated by LR can do no worse than ones generated by LP relaxation. In the worst cases, LR bounds and
LPr bounds are the same. Unfortunately, for this particular application, the worst case holds. That is, it can be shown that lower bounds generated by PCB2 is exactly the same as the bounds generated by PCB3
v(PCB2) = v(PCB3) (26)
This is a consequence of what is called integrality property. Again, consider the same IP as (22), LR as in (24) and LPr as in (23). We pay particular attention to the feasible sets of the three problems:
n For IP; X = {x| A2x ≤ b2, x ∈ X1}, where XZ111=≤∈{|xAxbx ,+ }
For IR: XLR =|{xAx22≤∈ b , x conv() X 1}
LP LP n And for LPr: XLP = {x| A2x ≤ b2, x ∈ X1 }, where X1 = {x| A1x ≤ b1, x ∈ R+ } The Integrality Property of LR is defined in terms of what happens to the LP relaxed
LP LP version of X1, namely X1 . We say that LR (hence X1 ) has integrality property if any solution of LP1 defined as
T LP n LP1: min d x s.t. x ∈ X1 = {x| A1x ≤ b1, x ∈ R+ }, 65
n is always an integer regardless of the cost vector d ∈ R . Hence any solution of LP1 will always lie in the convex hull of X1—conv(X1). Finally any solution of LPr lies in
X LR =|{xAx22≤∈ b , x conv() X 1}.
Hence v(LPr) ≥ min cT x = v(LR). But since v(LR) ≥ v(LPr) in general, we have v(LR) = xX∈ LR v(LPr) , when the Lagrangian relaxation LR has integrality property.
LP A graphical illustration of an X1 with integrality property is shown below
x3
x2 0, 0, 1
0, 1, 0
x1
0, 0, 0 1, 0, 0
Now we show that PCB2, the Lagrangian relaxation for PCB1, does indeed have integrality property. Once the complicating constraints (3)-(5) have been lifted to be
Lagrangianly relaxed in the objective function, the remaining constraint set X1 consists only of (2) and (6). That is:
I ⎧⎫IL JK IJ XxjkL1 ==∈∈∈∈ ⎨⎬()xyz, , |∑ ijk 1, (, ) , x {0,1} y {0,1} , z {0,1} ⎩⎭i=1
where LjkJKr=∈×={} ( , ) |jk 1
The LP relaxed version of X1 is: I LP ⎧ IL JK IJ ⎫ XxjkL1 ==∈∈∈∈ ⎨()xyz, , |∑ ijk 1, (, ) , x [0,1] y [0,1] , z [0,1] ⎬ ⎩⎭i=1 66
T T T LP Clearly any solution to the LP: min (a x + b y + c z) s.t. (x,y,z) ∈ X1 will always be at
LP an integer vertex of X1 regardless of the cost vector (a,b,c), thus the LR of PCB1 as specified by PCB2, has the integrality property. Since PCB3 is an LP relaxation of PCB1, we have v(PCB2) = v(PCB3) as we set out to show.
So we have now shown that the LR of PCB1 in the form of PCB2 does not produce any better lower bound of v(PCB1) than the LP relaxation PCB3. Would there be benefits at all in using PCB2? The answer is yes. We reiterate the following uses of PCB2: a) Once a good approximation of (λ*, μ*, β*) has been found, PCB2 can be used to
quickly solve for (x*, y*, z*). And since this solution is already binary and is
expected to very close to the primal optimal solution (the dualiy gap is expected to be
small), a neighborhood search using one of the many existing neighborhood search
techniques should be effective in producing a near-by primal feasible point that is
near optimum if not optimum. This will be the main use of PCB2 in this work. b) We can also use PCB2 to search for (λ*, μ*, β*) using an iterative scheme. Since the
quality of the bounds produced will not be better that the LPr-produced bounds, we
will choose this method only if it can accomplish the job faster and cheaper. A
typical iterative scheme to find (λ*, μ*, β*) is the subgradient method.
The subgradient method is an adaptation of the steepest descent gradient method for general nonlinear unconstrained optimization problems. At each step a search direction from the current iterate is found, a stepsize along such direction is determined, and the iterate is updated by moving along the search direction at the distance dictated by the stepsize. In a typical steepest descent method for maximizing an unconstrained function, the gradient of the objective function at the current iterate, which is known to be the 67 direction along which the objective function increases at the fastest rate, is used as the search direction. The stepsize is either fixed or determined on the fly using a line search technique (optimal or inaccurate line search). When the search space is constrained by bounds (e.g. by nonnegativity), the gradient emanating from a boundary of the search space is adjusted to ensure that the search will not continue out of bounds. This is called, subgradient hence the name “subgradient” method.
For our problem the objective function we want to maximixe is the Lagrangian dual function θ (λ, μ, β) and the maximizing parameter set we would like to find is π = (λ, μ,
β). Starting with an initial π (0) = (λ(0), μ(0) , β(0)), suppose the current iterate after t iterations is π (t) = (λ(t), μ(t) , β(t)). A linear approximation to the gradient of θ (λ, μ, β) at
π (t) is
⎛⎞xy()tt− () ()t ⎜⎟()tt () g = ∇=−θ (,,)λ μ β ()t xz (27) π π ⎜⎟ ⎜⎟()t ⎝⎠IzN− where (x(t), y(t), z(t)) is an optimal solution to PCB2 with (λ, μ, β) = (λ(t), μ(t) , β(t)). It is found using (10)-(12). However, since some of the variables may be at their bounds, i.e. zero, the corresponding components of g(t) have to be adjusted to ensure that variables will not go negative. The adjustment rule is as follows: Suppose the nth component in the
(n) (n) vector π is at zero, i.e. πn = 0, then the adjusted gn = 0 if gn ≤ 0, and is unchanged otherwise. The updated gradient using this rule is now called the subgradient and is still denoted by g(t) , for convenient. It will now be used as a search direction as follows;
(1)ttt+ () () (28) ππ=+αtg
The stepsize αt can be either fixed for convenience or computed using 68
∗ ()t φt (UB− v(PCB2) ) α = t 2 xy()tt− () xz()tt− () IzN()t −
(t) where φt is a scalar satisfying 0 <φt ≤ 2, v(PCB2) is the optimal value of PCB2 evaluated at (x(t), y(t), z(t)), and UB* is the best upper bound, which is the minimum between earlier UB* and upper bounds determined by applying neighborhood search for near-by primal feasible solution around (x(t), y(t), z(t)). An initial upper bound UB0 is determined by applying the Greedy Board Algorithm.
The iterative update process continues until either |g(t)| is sufficiently small or the complementary slackness condition is close enough to be satisfied. That is, until the norm of
⎧⎫ ⎪⎪∑∑∑()(λijkxy ijk− ik ) ⎪⎪ijk ⎪⎪ εμ=−⎨⎬∑∑∑()()ijkxz ijk ij ⎪⎪ijk ⎪⎪I−1
⎪⎪∑∑βiiji()zN− ⎩⎭ij
is sufficiently small.
Like all first-order gradient-based method, the subgradient method makes a major trade off between computational cost and speed of convergence. Being the simplest gradient- based method, it is relatively simple with low computational cost per iteration. However its convergence rate is linear (slow). Convergence is typically fast initially, but becomes increasingly slow after a few iterations. 69
The simplicity in solving PCB2 given the multipliers and the simplicity and low cost per iteration of the iterative method such as the subgradient method above obviously come at a price. Overall, it cannot compete with LP relaxation-based methods in terms of both speed and quality of estimators of (λ*, μ*, β*). So for small to not-too-large problems, the LP relaxation based method using PCB3 will be preferred to get estimates of (λ*, μ*,
β*). For very large problems when LP solvers may have difficulty, the subgradient method may then be preferred.
3.4 The final step: Searching for the Primal Solution
To close out the discussion on solution strategy, it remains to determine how to find an optimal or near-optimal primal solution from a dual optimal solution. Here the general idea will be based on neighborhood search, since for this type of problems, the decomposition-based procedure such as in PCB2 is expected to produce values of the primal variables that are close to the primal solution. They are already binary, and are close to being primal feasible, which is one of the key criteria for being primal optimal as indicated by Theorem 3.1 or Corollary 3.1. Infeasibility is due in large part to the capacity constraints (5) and in smaller part to physical constraints (3) and (4).
Infeasibility-specific heuristics and switching rules can be put together to overcome such infeasibilities effectively. Techniques employed in this work are now discussed.
Lower Bound Maintaining Algorithm (LBM)
Even though, (10)-(12) can be used to find optimal solutions to the Lagrangian dual problem PCB2 easily, the resulting solutions are mostly infeasible to the original problem (PCB1). In solving the x-subproblem separately from y- and z-subproblems, 70 yielding (10), (11) and (12) respectively, the physical constraints (3) and (4) may be violated. To avoid violating these constraints without significantly degrading the lower bound, we will try to re-solve the x-subproblem by making switches in values among the xijk whose coefficients differ from one another by no more than ε . This will help preserve the lower bound previously obtained by solving PCB2 using (10)-(12). The switches will be made in recognition of the current values of y and z, and will be done to make sure that (3) and (4) are now satisfied. The proposed switching heuristics is described below: