# Thesis Draft-final copy after changes.doc

Document Sample

```					        UNIVERSITY OF CINCINNATI

November 12, 2003

hereby submit this as part of the requirements for the
degree of:

Master of Science________________________________

In:

Industrial Engineering____________________________

It is entitled:

An Efficient Sequential Integer Optimization
Techniques for Process Planning and Tolerance
Allocation

Approved by:

Dr. Bruce C. Shultes_________________
Dr. Sam Anand_____________________
Dr. Samuel H. Huang________________
An Efficient Sequential Integer Optimization Technique for
Process Planning and Tolerance Allocation

A thesis draft submitted to the

Division of Research and Advanced Studies,
University of Cincinnati

in partial fulfillment of the
requirements for the degree of

MASTERS OF SCIENCE IN INDUSTRIAL ENGINEERING

in the department of Mechanical, Industrial and Nuclear Engineering
of the College of Engineering

Submitted: November, 2003

By

Bachelors of Engineering (B.E),

Sardar Patel College of Engineering, Mumbai, India, 1999

Diploma in Mechanical Engineering,

Bhausaheb Vartak Polytechnic, Mumbai, India, 1996

Committee Chair: Dr Bruce C. Shultes
Abstract

Process planning and tolerance allocation are the main sub domains for

production planning. These factors can critically affect the total cost of manufacturing. In

the field of manufacturing design specifications can be obtained by a number of feasible

processes. For example a finished hole can be obtained by any one the these sequences

viz drilling - semi finish boring - finish boring, drilling - semi finish reaming - finish

reaming, drilling - semi finish grinding - finish grinding, etc. The cost of manufacturing

depends on the type of process, the value of tolerances allocated to each process and the

time required for machining (machine availability). Tighter tolerances for a process

results in higher cost of manufacturing and vice versa.

An optimization model has been previously proposed to generate the process plan

with process and machine selection and optimal tolerance allocations for each process.

The objective function of this optimization problem is to reduce the cost of

manufacturing. This highly constrained optimization problem is a complex mixed integer

nonlinear optimization problem. For a mixed integer nonlinear optimization problem the

complexity of the problem increases as the number of process and machine increases. As

the size of the optimization problem increase the search space and time required to solve

the problem increases. Genetic algorithm simulated annealing and linear approximations

have been proposed as methods for solving these problems.

This thesis presents a sequential approximation method to solve this complex

mixed integer nonlinear optimization problem by formulating and solving a series of IP

problems by adding constraints at each iteration reducing the search space which leads to
a solution approach that is faster than previous methods. This method uses point

estimates of tolerance values obtained from previous iteration to update the cost

parameters in the sequential iteration.

The optimization problem is modeled in AMPL and solved using CPLEX. A

custom C++ interface to AMPL is used to implement this method. Results from this

method are compared to results from previous solution approaches.       The proposed

approximation method identifies similar cost of manufacturing solutions with different

process plans in less time than other solving techniques.
Acknowledgements
I would like to express my sincere gratitude to my Graduate Advisor Dr. Bruce

Shultes who has guided me throughout the duration of my research work. He provided

me with valuable insight and guidelines that helped to complete my thesis as per my

expectations. He provided me all the facilities and freedom required to successfully

complete this thesis. He appreciated and guided my thoughts and helped me to implement

them in a methodical manner.

Dr. Shultes discussed the specific areas of my thesis during his course and

provided valuable information on my area of research. This information saved a lot of

valuable time and efforts and helped me reach my conclusion with certainty. He

encouraged discussions in a very friendly and cordial atmosphere which improved my

thought process for this thesis. With his in depth knowledge of my area and excellent

communication skills, he helped me understand complex problems with ease.

I would like to thank Dr. Sam Anand for allowing me to use the research work of

his students as a reference for my thesis. He also provided access to professional versions

of the software AMPL/CPLEX and the corresponding product manuals. I could not have

completed this thesis without Dr Anand’s help.

I am thankful to my colleagues working with Dr Shultes for valuable information

that I gained by brainstorming with them on my thesis topic. I would specifically like to

thank my friend Sagar Dharia for helping me resolve C++ Programming issues.
I am very grateful to Analytical Technical Services department at Information

Resources Inc, Cincinnati to implement the refined methodology for solving the

optimization problems in the area of Market research. Due the propriety reasons results

from these examples are not presented in this thesis.

Lastly, and most importantly I would like to thank my parents for giving me an

opportunity to present my potential to the world. They have been my inspiration

throughout my life. All the major decisions in my life has been guided and supported by

them. They gave me the freedom and liberty to explore my career options and the ability

to succeed. All my achievements are credited to my parents.

I dedicate this thesis to my parents and honor them for the efforts they have taken

to raise me, teach me and love me.
Contents
Abstract

Acknowledgements

Contents                                                          1

List of Figures                                                   2

List of Tables                                                    3

1. Introduction                                                   4

1.1 Background                                                 4

1.2 Literature Review & Motivation                             9

2. Problem Description                                           12

3. Problem Formulation                                           16

4. Methodology                                                   28

5. Implementation                                                36

6. Examples                                                      39

6.1 Example1 : Eight Stages – Five Processes – Five Machine   39

6.2 Example2 : Ten Stages – Six Processes – Six Machine       43

7. Results and Conclusion                                        47

8. References                                                    49

1
List of Figures
Figure 1 – Optimal Tolerance allocation for minimum cost

Figure 2 – Tolerance ranges for machining process

Figure 3 – Time Tolerance curves for machining process

Figure 4– Cost constraints for each process

Figure 5 – Block diagram presenting methodology of proposed solving technique

Figure 6 – Cost tolerance curve with gradient at different tolerance estimates

Figure 7 – Terminating condition for proposed solved methodology

Figure 8 - Block diagram describing implementation of the proposed solving technique

Figure 9 – Process planning tree for Example 1

Figure 10 – Results and Comparison for Example 1

Figure 11 - Process planning tree for Example 2

Figure 12– Results and Comparison for Example 2

2
List of Tables
Table 1: Minimum and maximum process capability for each process in example1

Table 2: Stock Removal for part-stage combination for example1

Table 3: Design Tolerance and Demand for each part for example1

Table 4: Cost-Tolerance and Time Tolerance Models for each process for example1

Table 5: Process-Machine Feasibility matrix for example1

Table 6: Process – Part/Stage feasibility matrix for example1

Table 7: Machine availability for example 1

Table 8: Minimum and maximum process capability for each process in example2

Table 9: Stock Removal for part-stage combination for example2

Table 10: Design Tolerance and Demand for each part for example2

Table 11: Cost-Tolerance and Time Tolerance Models for each process for example2

Table 12: Process-Machine Feasibility matrix for example2

Table 13: Process – Part/Stage feasibility matrix for example2

Table 14: Machine availability for example2

3
Chapter 1

Introduction

1.1 Background

Decision making under uncertain business situations has been a key research area

in recent times. Almost every industry is in search of better, more effective techniques

that can help them in making appropriate business decisions. Operation Research,

Statistics and Artificial Intelligence are fundamental tools to support decision making.

Simulation, Applied Statistics and Optimization are the commonly used tools to create

new and effective methods of solving business problems.

Uncertainties in manufactur ing industry drive up manufacturing costs. The cost of

manufacturing includes conversion of raw materials in to finished components as per

design specifications. A number of intermediate manufacturing processes could be

required to meet the design specifications for a single component dimension. Each

intermediate manufacturing process adds to the total cost of manufacturing. In

manufacturing, the total cost of manufacturing is driven by three main parameters; the

sequence of manufacturing processes; tolerance allocation for each process and the time

taken by each manufacturing process (machine availability). Significant sustained

researches have focused on the formulation of an effective production plan that can

reduce the cost of manufacturing.

4
Process planning and tolerance allocation are the main sub domains for

production planning. These factors can critically affect the total cost of manufacturing. In

the field of manufacturing design specifications can be obtained by a number of feasible

processes Process selections and tolerance allocation finds a lot of significance in

developing an efficient production plan for a manufacturing component. An optimization

model has been previously proposed to generate an efficient production plan with process

and machine selection and tolerance allocations for each process. The objective function

of this optimization model is to minimizing the total cost of manufacturing.

Extensive research has been done to formulate appropriate optimization problems,

develop solution techniques, study combinatorial problems, modify search spaces to

improve convergence, heuristics, etc.     The quality of solutions can have significant

economical and social impacts. The credibility or quality of an optimization solution

must be high and the time required to solve a particular problem must be tractable for the

method to be attractive. Extensive research work in optimization has led to the

availability of many professional solvers that can solve many complex large scale

optimization problems within acceptable time limits and levels of accuracy.

Optimization problem formulations consist of three basic components: a set of

unknowns or variables, an objective function to be minimized or maximized and a set of

constraints that specify the feasible region for the decision variables. There are many

types of optimization problems. The decision variables can be continuous, discrete, or

symbolic depending on the problem. Similarly the objective function can be continuous

5
or discrete and have linear or non- linear. A general classification of optimization

problems follows leading to the type of optimization problem considered in this thesis.

Optimization problems can be classified as follows:

•   Existence of Constraints: Optimization problem is constrained if the decision

variable has a boundary. Otherwise the problem is unconstrained.

•   Nature of the Equations Involved: An optimization problem can be classified as a

linear, nonlinear, geometric or a quadratic programming problem based on the

nature of expressions for the objective function and constraints. This classification

helps identify appropriate and efficient solution techniques.

•   Permissible Values of the Variables: An optimization problem can be classified as

real-valued, integer programming or mixed integer programming.

•   Deterministic nature of the Variables: An optimization problem is either a

deterministic programming problem or a stochastic programming problem.

•   Separability of the Functions: Optimization problems can be classified as

separable or non separable based on the objective and constraint functions.

Extensive work integrates the areas of process planning and scheduling with

tolerance allocation. Methods like simulated annealing, genetic algorithms, neural

networks, heuristics and linear approximations have been used to solve these

problems. This thesis reformulates and solves a concurrent optimization problem for

tolerance allocation with process and machine selection. This formulation is a

complex mixed integer nonlinear optimization problem that includes real valued

6
decision variables and binary variable for process and machine selection. The binary

variables indicate a combinatorial component in the problem. These features cause

the solution space to be highly irregular with many local minima.

Existence of numerous local minima results increases the search space for the

optimization problem. This search space becomes more complex with more number

of process and machine. The objective of this problem is to minimize the cost of

manufacturing. The cost of manufacturing depends on the type of process, machine

availability and most importantly the value of the tolerance allocated to a particular

dimension of the component. Each process has a different cost-tolerance curve and

the overall manufacturing cost is the sum of the cost for each process used in

manufacturing a component.

An empirical cost tolerance relationship [13] exists for each process used in the

problem formulation. The decision variable for tolerance in the optimization model is

a continuous variable and process and machine selection variables are binary

variables with values of 0 or 1. The formulated optimization problem is a Mixed

Integer Nonlinear Programming Problem (MINLP).

Due to complexity of this optimization problem, heuristics and intelligent search

technique like simulated annealing, genetic algorithm and neural networks have been

proposed previously to solve these models. Piece-wise approximation (PA) [4] has

been proposed to solve this nonlinear optimization as a linear optimization problem.

7
PA methods use several sample slopes from the convex cost-tolerance curve for each

process to formulate an optimization problem with a linear objective function and

machine availability constraint. The PA method has been shown to generate results

similar to genetic algorithms [4]. The primary concern when considering this method

is the time it takes to find an ‘optimal’ solution. The time required to apply PA

increases as number of machine s and process increases. The motivation behind this

thesis is to develop a new method that solves a mixed integer nonlinear optimization

problem in minimal time.

A sequential integer programming method is proposed to solve this problem by

solving a series of IP problems that add constraint s in each iteration to reduce the

search space, and thus solves the problem efficiently.

The optimization model is defined and modeled in AMPL and solved using the

student version of CPLEX. A unique Visual C++ interface to AMPL/CPLEX is

established to implement this method. The final results from this method compare

well with the results from other solving techniques. The proposed method solves

problem in considerably less time than other solving techniques.

8
1.2 Literature Review and Motivation

This thesis presents a unique methodology to solve optimization problems

formulated in the area of production planning including process and machine selection

with tolerance allocation for a manufacturing component dimension. The following

literature review discusses previous work done in the area of production planning,

tolerance allocation and optimization. Integration of tolerance allocation, production

planning, and scheduling is a good application for the proposed solution methodology.

Uttam [3] and Chandra [4] proposed a mixed integer nonlinear optimization

formulation to study process and machine selection with tolerance allocation for a

manufacturing component dimension and solved using different methodologies. Uttam

[3] formulated an optimization model considering design and manufacturing tolerance

formulating concurrent optimization problem for process and machine selection

incorporating scrap rates and machine breakdown. He solved the optimization problem

using genetic algorithm. Chandra [4] solved the same problem using piece-wise linear

approximation method.

Work related to optimal tolerance allocation with process selection for

minimizing the cost has been extensively explored. Solution methodology for solving

such optimization problems has been proposed by many researchers. Zhang and Wang

[1, 2] have worked extensively on the optimal tolerance synthesis with an objective of

minimizing the cost. They used simulated annealing for solving this optimization

9
problem. Khoshnevis et al. [12] have a presented an architecture for an integrated process

planning system. He applied knowledge based approach to feature completion and

process selection and search space algorithm for process sequencing. Uttam et al. [8]

proposed an integrated approach to tolerance allocation, process planning and scheduling

is presented and solved using genetic algorithm to devise a process plan with optimal

tolerance allocation to reduce the cost of manufacturing. The cost-tolerance curves

describe the relation between cost of manufacturing and value of tolerance for each

manufacturing process. These cost-tolerance curves are used to formulate an optimization

model for production planning. Chen et al. [10] and Chase et al. [13] conducted

experiments to obtain the empirical cost-tolerance data for production cost control and

optimal tolerance design.

Optimization problem formulated in this thesis is a mixed integer nonlinear

optimization problem. Zhang et al. [2], Uttam [3], Ming et al. [9] and Deiab et al. [11]

solved optimization problems for production planning using different heuristics method

like simulated annealing, genetic algorithm and simulation. Due to quality of solution and

time to solve nonlinear optimization problem, Chandra [4] proposed a method of solving

this problem using piece-wise. He used the slope of cost-tolerance curve presented by

Chase et al. [13] to solve this optimization problem by formulating a linear objective

function and machine availability constraint. Piecewise approximation method has been

shown to generate results similar to genetic algorithms [4]. Due to approximation of

curve, the time it took to converge to the optimal solutions was a concern. Yang et al. [7]

10
proposed a convex curve approximation method using two convex piecewise linear

functions.

The motivation behind this thesis is to formulate a method a new sequential

method to solve a mixed intege r nonlinear optimization problem and generate results in

less time than other methods. The optimization problem is modeled in AMPL [5] and

solved us ing student version of CPLEX.

11
Chapter 2

Problem Description

A manufactured component is an assembly of a number of parts. Each part has

different dimensions. Each dimension has to meet certain tolerance requirements. Thus

tolerance allocation to each dimension is essential and it has a direct impact on the cost of

manufacturing. Tighter tolerance for a component dimension means higher cost of

manufacturing and vice-versa. The tolerance allocated to a particular component

dimension depends on the following factors:

•   Cost of the manufacturing process to be used for the component dimension,

•   Time required to obtain that tolerance value,

•   Machine capacity and availability, and

•   Assembly tolerance for the component.

A detailed terminology of design tolerance and manufacturing tolerance is needed to

before we describe the problem related to tolerance allocation for component dimension

with process and machine selection. From a design viewpoint, an assembly tolerance is

determined by a set of component dimensions from blue prints and its tolerance. The

tolerance stated in the blue print is the design tolerance. Thus we can define design

tolerance as a tolerance related to operational requirements of the final assembly or

component dimension. It is the tolerance range specified by the designer. From the

manufacturing perspective, a component dimension may have many stages of machining.

12
Thus   there    exist   intermediate   component     dimensions   (working   dimensions)

corresponding to each stage of machining. The tolerance associated to this working

dimension is known as a manufacturing dimension. Manufacturing tolerances are devised

for a process plan to manufacture a part or dimension. This tolerance value should ensure

realization of design tolerances. For dimensions that need only a single manufacturing

process, the design tolerance is the same as the manufacturing tolerance.

The problem considered in this thesis is from a job-shop floor environment with

the following assumptions

•   Details of the number of parts, component dimensions, working dimensions,

processes and machines are available.

•   All the machines available in the shop are capable of performing multiple

processes.

•   Details on process-component/stage feasibility, process capabilities and the cost

tolerance curves for each process are known.

•   Details pertaining to process- machine feasibility and machine availability are

known.

•   For each process, a range of tolerance values exists and the cost of machining for

each process is a function of the tolerance value.

•   The machining time taken for each process –machine combination is a function of

tolerance value.

13
Working dimensions are to be machined with the tolerance values that minimizes the

total cost of manufacturing and satisfies the time constraints. To solve this problem an

optimization model is formulated with an objective of minimizing the total

manufacturing cost with process and machine selection for a component working

dimension. The key features of the optimization model are:

•   Minimize the total manufacturing cost.

•   Allocate optimal tolerance to each component working dimension.

•   Process selection for each working dimension

•   Machine selection for working dimension

•   The following constraints are considered:

o Process -component feasibility,

o Process- machine feasibility,

o Process capability (tolerance range),

o Stock removal,

o Assembly tolerance for each part, and

o Process-Machine uniqueness.

This work presents a sequential method to solve this optimization problem using

point estimates of tolerances for each process obtained from previous iteration of the

optimization model. The current wo rk in this thesis aims at finding a better and faster

method for solving this optimization problems and compares the results with piecewise

linear approximation. This method finds the local minima for tolerance value and maps

14
the value on the cost-toleranc e curve to calculate cost coefficients for the next iteration.

The iteration continues until the value of tolerances in the present and previous iterations

have a marginal difference. The same methodology applies for all component working

dimensions and process- machine combinations.

15
Chapter 3

Problem Formulation

Chandra [4] has proposed a piecewise approximation method to solve this

concurrent optimization problem. The proposed method in this thesis solves the same

optimization problem by modifying the constraints and objective function to satisfy the

requirement of the proposed solving method. The section below presents the brief

nomenclature and details of various constraints considered in this optimization problem.

3.1 Nomenclature

z                 = Part index
i                 = Component dimension index
j                 = Process index
k                 = Machining operation (stage) index
m                 = Machine index

Variables:
δ zikjm    =Tolerance assigned to the k th operation of the ith component for zth part for
any j, m (continuous)
X zikjm           =Machine and process selection (binary)
1, if machine m is selected for given zikj
0, otherwise
Parameters:

g jm (δ zik )     =Cost for machining to tolerance dzikjm using process j.

g ' jm (δ zik)    = Slope of cost curve at tolerance dzikjm using process j and machine m.

I ' jm (δ zik )   = Intercept of cost curve at tolerance dzikjm using process j and machine m.
= g jm (δ zik) - g ' jm (δ zik ) * (δ zikjm )

16
δ min,j , δ max, j =Tolerance range (minimum and maximum) for process j.

Tz               =Assembly tolerance on zth part.

k                =Last machining operation (stage) for a particular component dimension.

P jm (δ zik)     =Time for machining to tolerance dzikjm using process j on machine m.

P' jm (δ zik )   = Slope of time required for machining at tolerance dzikjm using process j on
machine m.

PI ' jm (δ zik ) = Intercept of time curve at tolerance dzikjm using process j and machine m.
=  P jm (δ zik) - P' jm (δ zik ) * (δ zijkm )
Dz               =Demand for a zth part in a given time interval.

Lm               =Machine availability in the above time interval.

S zikjm          =Variation in stock removal for operation k (taken from tolerance chart)

τ zkj            =0-1 matrix specifying part-stage-process relationship
1, if operation (z,k) can be performed using process j.
0, otherwise

ψ   jm           =0-1 matrix specifying machine-process relationship.
1, if machine m can perform process j.
0, otherwise

17
Figure 1: Optimal tolerance allocation for minimum cost [13].

3.2 Manufacturing Cost-Tolerance Model

In manufacturing, tolerance and manufacturing cost are inversely related. The

methods used to establish a cost tolerance relationship are typically empirical. Several

modeling methods have been proposed to describe the cost tolerance relationship [10, 13]

of different production processes.

In this study, an individual curve is employed for each manufacturing process.

The total manufacturing cost for a design tolerance is modeled by assembling all the

curves for the manufacturing processes involved in the tolerance machining. Figure 1

explains the idea more clearly. Here A, B, C is the costs for manufacturing the stages of a

part. Then the total cost of manufacturing that part is the sum of A, B and C. Here, a

reciprocal function g (d) developed by Chase and Greenwood [13] is used to model the

machining data. For a particular manufacturing process, the following relationship is

assumed:

gj (d) = A + B/ d    for dmin < d < dmax

‘A’ and ‘B’ (B>0) are process constants and d is the tolerance value. In this model, ‘A’

determines the height of the cost-precision curve and ‘B’ determines the curvature.

18
3.3 Design Tolerance Constraint

Dimensions of some critical elements directly affect the functionality of a

product. For a product or an assembly, a design dimension may be affected by a set of

interrelated dimensions. The tolerance on a principal design dimension hence depends on

other dimensions, which together form a dimension chain, and it is taken as the sum of

the tolerances of these dimensions. This gives us a set of constraint on principal design

tolerances that need to be satisfied for the design and machining tolerances.

Considering the worst case of tolerance stack-up, the tolerance on any part can

be expressed as the sum the tolerances of its belonging components. Hence the design

tolerance or assembly constraint is expressed as:

comp proc mac

∑ ∑ ∑δ
i   j   m
zi   k   jm
<=   T   z
........ ∀ z

Where, k represents the final stage for any component, so that             δ   zi k   jm
refers

to the tolerance values obtained on the last branch of each component tree.

3.4 Machining Tolerance Constraint

Machining tolerance constraints or the stock removal constraints are important to

the quality and functionality of the part. Stock removal quantifies the amount of material

removed for each operation. Stock removal is important in concurrent tolerance synthesis

as it affects the surface quality of the part. It can be defined as the difference between the

19
machining dimensions obtained in the preceding operation and that in the current

operation.

If δ zikjm and δ zi(k-1)jm represent the machining tolerances between two adjacent process,

the tolerance constraint ensures that the tolerance stack-up of the two process should not

exceed the stock removal error Szikjm of the latter process.

proc mac

∑ ∑δ
j      m
zikjm
+δ   zi (k −1) jm
<= S zikjm ...........k = 1....k , ∀( z, i )

3.5 Process Capability Constraint

This constraint defines the upper and lower bounds on the manufacturing

tolerances for each process. These tolerance bounds are typically available in the form of

figures and charts in the manuals. One such figure is shown in figure 2.

The process capability constraint can be written as:

δ      j
min,
* X zikjm<=δ zikjm<=δ max,j * X zikjm.......... (z, i, k, j, m)
∀

The dzikjm needs to be satisfied if and only if that particular set of {zikjm} is selected i.e.

if Xzikjm =1, otherwise the constraint has no meaning. This is ensured by multiplying the

dmin,j & dmax,j terms by Xzikjm , and ensuring that dzikjm =0 when Xzikjm =0.

This has been done by the use of the exclusion constraint, which is of the form:

δ   zikjm
−M *X          zikjm
<= 0 ...... ∀( z , i, k , j , m )

Where, M is a positive constant.

20
Figure 2. Tolerance ranges of machining processes

3.6 Manufacturing Time -Tolerance Model

Evaluation of time-tolerance curves has been mostly empirical and little information is

available about them. Published charts (figure 6) suggest that the functional relationship

is similar to that of toleranc e vs. cost. Therefore, we employ the same model.

pj (d) = C + D/ d

Figure 3: Sample time versus tolerance curves.

21

This constraint takes care of the demand and capacity in the particular job shop

environment. The shop floor has m machines and Lm gives the time available on each of

these machines. The demands of the various parts are also known. This constraint hence

prevents the overloading of the machines by distributing the work on all the machines

depending on their availability. This is the issue pertaining to scheduling that is being

incorporated in order to get the optimal machine selection (for each operation) without

overloading the machine. For every machine, the total of the time taken by all the

machining operations done on a machine should be less than the time the machine is

available. This can be written as:

∑ ∑ ∑ ∑ D * p ′ (δ
part comp stg proc

z                  zik
)*   X   zikjm
<= Lm ...... ∀ m
jm
z       i   k     j

We get a non- linear constraint here, where the non-linearity is due to the

multiplication of the two decision variables X and d. The problem can be overcome by

rewriting the constraint as follows:

part comp stg proc

∑ ∑∑ ∑D
z    i   k       j
z   * [PI ' jm * X   zikjm
+ P jm * δ
'
zikjm
] <= L m ...... ∀ m -----(1)

3.8 Process and Machine feasibility and uniqueness Constraint

The uniqueness constraint ensures that there is one and only one process and machine

combination that we select for every stage

22
proc mac

∑∑ X
j     m
zikjm
= 1 ........∀( z , i , k )

Moreover, the process-machine combination should be feasible.

τ    zkj
*ψ        * X zikjm =      X    zikjm
.......... ...∀( z , i , k , j , m)
jm

3.9 Objective function Constraint

The proposed methodology is a sequential integer optimization technique that adds

constraint to the search space for the optimization problem. As a result optimal solution can

be reached in minimal time. Cost of manufacturing for each process is constrained by

directing the solver towards the optimal cost. The constraints shown below serves this

purpose and directs the cost towards optimal.

g jm (δ zik ) >= [ I ' jm * X             zikjm
+ g ' jm *δ    zikjm
] --- 1

g jm (δ zik ) <= [ A *         X       zikjm
+ B * δ zikjm ]               --- 2

where A and B are the values of intercept and slope for the cost-tolerance curve for each

process. This constraint as a lower bound on the cost and hence directs in region above

the highest tolerance.

These constraints can be better described using figure 4

23
Cost

Constraint 2

Tolerance

Constraint 1

Figure 4 –Cost constraints for each process

From figure 4 we can see that these constraints direct the solver in specific direction thus

resulting in optimal solution in minimal time. Details of implementation are discussed in

the coming sections.

3.10 Machining time Constraints

The time-tolerance curve has the same relationship as cost-tolerance curve; hence

similar constraints are added to the optimization model.

P jm (δ zik ) >= [ PI ' jm * X    zikjm
+ P ' jm *δ       zikjm
]   --- 3

P jm (δ zik ) <= [ C *   X   zikjm
+ D *δ    zikjm
]               --- 4

24
where C and D are intercept and slope for time-tolerance curve for highest tolerance for

each process. These constraints have similar objectives as discussed for cost-tolerance

curves.

25
3.11 Optimization Model

To summarize, we have the following problem formulation.
Minimize:

part comp stg proc mac
COST:                  ∑ ∑ ∑ ∑ ∑ Dz * [I '
z        i         k       j    m
jm   *   X    zikjm
+ g ' jm * δ   zikjm
]

Subject to:
Assembly constraint: (design tolerance)
comp proc mac

∑ ∑ ∑δ i          j       m
zi       k   jm
<=   T       z
........ ∀ z

Process capability constraint:

δ          j
min,
* X zikjm<=δ zikjm<=δ max,j * X zikjm.......... (z, i, k, j, m)
∀

part comp stg proc mac

∑ ∑ ∑ ∑ ∑ Dz * [ PI '
z          i       k        j         m
jm        *   X    zikjm
+ P ' jm * δ   zikjm
] <= E ( L m )

Process and machine feasibility constraint:

τ       zkj
*ψ               * X zikjm =                 X   zikjm
.......... ...∀( z , i , k , j , m)
jm

Process and machine uniqueness constraint:
proc mac

∑∑ Xj         m
zikjm
= 1 ........∀( z , i , k )

Stock removal constraint: (manufacturing tolerance)

proc mac

∑ ∑δj         m
zikjm
+δ            zi (k −1) jm
<= S zikjm ...........k = 1....k , ∀( z, i )

Exclusion constraint:

δ        zikjm
−M *X                      zikjm
<= 0 ...... ∀( z , i, k , j , m )

26
Objective function constraints:

g jm (δ zik ) >= [ I ' jm * X   zikjm
+ g ' jm *δ       zikjm
]

g jm (δ zik ) <= [ A *   X   zikjm
+ B * δ zikjm ]

Machining Time constraints:

P jm (δ zik ) >= [ PI ' jm * X       zikjm
+ P ' jm *δ      zikjm
]

P jm (δ zik ) <= [ C *   X   zikjm
+ D *δ       zikjm
]

27
Chapter 4

Methodology

The problem considered is a complex non- linear problem. The problem fits in the

category of Mixed Integer Nonlinear Programming (MINLP) due to presence of real

valued and binary assignment variable in the problem. The tolerance allocated to

component working dimension is a continuous valued variable and selection of process

and machine is a binary variable. Thus the complexity of the problem increases with

increased number of parts, component dimension, stages, process and machines.

Constraints formulated in the problems are used to reduce the search space for the

problem. A uniqueness constraint is introduced in the problem so a particular component

working dimension cannot have more than one feasible combination of process and

machine. Similar constraints for process-component and process- machine feasibility are

defined that help faster convergence for this optimization problem.

A constrained optimization problem has several constraints. These constraints specify

the feasible region for an optimization problem. For an optimization problem there exists

two types of optimal point’s i.e. local minima and global minima. A local minima has the

optimal value in a local feasible region, where as a global minima has the optimal value

for the entire feasible region. The problem of local minima and global minima is more

evident for nonlinear optimization problems due to nonlinear objective functions and

constraints. The objective function of the problem has convex relationship with the

28
tolerance value for each process-machine combination. Thus the problem fits the

description of a unimodal optimization problem. A unimodal function is one that has only

one peak or valley in a given optimal interval. Thus for a minimization problem with

convex relationship a local minima is a global minima. Based on this basic assumption

that we have just one optimal solution for this optimization problem we formulate this

methodology.

Before we describe the methodology used in solving this problem we describe the

methodology of solving optimization problems. All the optimization problems can be

solved using iterative procedures. Different methods are used to implement this

procedure. The basic philosophy of all numerical methods to solve optimization problems

is to produce a sequence of improved approximations till an optimal value is reached.

The method can be generalized as

•   Start with an initial trial point in the feasible region of the problem

•   Find the suitable direction which points towards the optimal solution

•   Find the appropriate step length for movement along the direction towards the

optimal

•   Obtain new starting point

•   Test the point for best solution, if found then terminate else continue

Different methods have been formulated to solve constrained and unconstrained

nonlinear optimization problems. Methods used to solve constrained nonlinear

optimization problems are

29
•   Direct Methods

o Random Search methods

o Heuristics methods

o Objective and Constraint approximation methods

§   Sequential Linear Programming

o Methods of Feasible directions

§   Zoutendijk’s method

•   Indirect methods

o Transformation of variables technique

o Sequential unconstrained minimization technique

o Interior penalty function method

o Augmented Lagrange multiplier method

The proposed method implemented in this thesis to solve this complex concurrent

optimization problem is related to sequential linear programming method. Using this

method, the solution to the original nonlinear problem is found by solving a series of

P
integer programming problems. Each I problem is generated by approximating the

nonlinear objective function. This approximation is done by calculating the slope and

intercept of the objective function curve using the point estimate of the tolerance value.

P
Simple I problem is solved using branch and bound to get optimal. If the optimal

30
solution is not reached then tolerance values from previous iteration are used to

recalculate the slope and intercept of the objective function. Updated values are used to

formulate another IP problem which is solved to optimality. This process continues till an

optimal solution is achieved. This method is terminated by a condition on the value to

tolerance obtained for each process. If the difference between tolerance value for present

and previous iteration is less than of equal to d (permissible difference) for all the process

in the problem the procedure would terminate, else it will continue until this condition is

achieved.

The method can be explained with a block diagram

Formulate an IP problem with
tolerance values

Solve the IP for optimal

Check the solution of terminating
condition

No
Satisfied

Yes

Optimal Solution

Figure 5 - Block diagram presenting methodology of proposed solving technique

31
The problem in this thesis has a convex objective function, so the linear objective

function and constraints (tangent to the objective function curve at the estimated

tolerance value) lie outside the feasible region. Hence the optimal solution of

approximating IP problem will lie at the vertex of the new feasible region. Thus by

relinearizing the problem about the new point and repeating the process we can converge

to the solution of the original problem.

Method Description:

The objective function of this optimization problem has convex relationship with

the tolerance. The figure below represents the manufacturing cost curve for each process-

machine combination.

Figure 6 – Cost-tolerance curve for machining process with slopes at different tolerance

values

32
Every process in this problem has a range of tolerance that can be achieved using

that process. In this method we formulate an IP problem using point estimates of the cost

curves. As we are using the estimates we start our first iteration using the lowest

tolerance value that can be achieved using that process. Using these estimates we

calculate the slope and intercept at the lowest tolerance value for corresponding

processes. The slope and intercept are different weights assigned to decision variables of

tolerance and assignment in the objective function.

The figure 6 shows a cost curve for any process in this problem. The initial point

of starting is d0 which is the lowest tolerance value for all the process. The slope of the

curve is obtained by differentiating the cost function with respect to tolerance. The

intercept is obtained by the difference between the cost function and slope. We plug in

the tolerance values in these equations to get numerical values for objective function.

We solve this IP and check the results if the terminating condition is satisfied. If

the terminating condition is violated we recalculated the slopes and intercept using newly

found tolerance value from previous iteration i.e. d1. This newly found slope is f’ (d1)

and intercept is f(d1) – f’(d1)*d1. Thus a new IP is formulated and solved for optimal

solution. As the cost curves are convex the solution will finally converge to global

optimal value of tolerance for each process-machine combination.

33
Figure 7- Terminating condition for proposed methodology

The terminating condition for the method is based on the difference between the

value of tolerance for present and previous iterations. As the method approaches the

global optimal, due to convex characteristics of the cost-tolerance curve, the difference in

the cost calculates using these tolerance is nominal and does not high impact on the

overall objective function. From figure 7, we see the difference in tolerance from d2 to d3

caused a nominal difference in cost i.e. C3-C4. For the examples presented in the thesis

the value of d is set to 0.01. This value can be updated based on the type of application.

34
Following steps are followed to solve this nonlinear concurrent optimization problem.

•   The nonlinear objective function is linearized using the slope f’(x) and intercept

of the cost curve. The slope and intercept are calculated using the estimate of

tolerance from the cost curve. In the first iteration this estimate is the lowest

tolerance value permissible for each process.

Thus the linear objective function is

part comp stg proc mac

∑ ∑ ∑ ∑ ∑ Dz * [I '
z    i   k    j   m
jm   *   X   zikjm
+ g ' jm * δ   zikjm
]

•   Formulated IP problem is solved is using CPLEX solver and the values of

tolerance for each process is recorded.

•   For all processes the values of tolerance for present and previous iterations are

compared.

•   If the difference between the values is less than or equal to d than, the method is

terminated else another IP is formulated using the values of newly found tolerance

for each process. A new IP is formulated by calculating the slopes and intercepts

for each process- machine combination using the newly found tolerance values for

corresponding process.

•   The method is terminated when the above condition is satisfied and the solution

obtained is the global optimal solution.

35
Chapter 5

Implementation

In this thesis the optimization problem formulated is modeled and solved using

AMPL/CPLEX. AMPL is an advanced mathematical programming language that allows

the user to model the optimization problem. It requires a model file and a data file. The

model file includes the definition to all parameters used in the model with details of

objective function and constraint. The data file includes the input to the parameters

required to solve the optimization problem. AMPL can use a list of solver available to

solve the optimization problem. In the thesis we have used CPLEX to solve the

optimization problem. The model file is written to formulate the IP using the estimates of

tolerance from previous iteration.

AMPL is a DOS based software and needs a set of commands to execute the problem.

Thus the biggest concern to implement this procedure was

•   Execute AMPL/ CPLEX from another application that guides the procedure

•   Calculate the values of slope, intercept for cost and time for each process

•   Writing the data file in AMPL format to solve the optimization problem

•   Solving the optimization problem

•   Reading the output from AMPL/CPLEX

•   Comparing the tolerance values for terminating condition

36
A unique interface between C++ and AMPL was established. Visual C++ was used to

successfully implement this methodology and meet the above requirements. Pointers,

data structures, functions and file transfer commands, I/O stream operators were used to

achieve the above objectives. The implementation methodology can be explained with

the help of the block diagram
process- machine combination

Calculate Slope and Intercept for Cost and
Machining Time for each process- machine
combination

Write the data file for AMPL using
the calculated values of Slope and
Intercept

Execute AMPL/CPLEX from C++
and solve the IP formulated

Compare the maximum difference between tolerance values for each
process- machine combination for present and previous iteration

No
If diff <= d

Yes
Optimal Solution

Figure 8 – Block diagram describing implementation of the proposed solving technique

37
Thus from the above block diagram we find the methodology to implement the

new approximation method of solving such nonlinear problems. In C++ program, several

structures for cost slope, intercept, time slope and its intercept were coded and used to

write the calculated values for slope and intercept in AMPL format in a .dat file.

Different functions to read the AMPL output, calculate the maximum difference between

tolerance values for present and previous iteration, and function for terminating the

procedure were coded.

38
Chapter 6
EXAMPLE 1: EIGHT STAGE – FIVE PROCESS – FOUR MACHINE

Data set for the problem

1                                                     2
Z

1                      2                         1                      2   3

1           2             3             4            1       2              3           4
k
Figure 9: Process planning tree for Example 1

Input Parameters :

dmin,j           dmax,j
Proc1        .0085             .0680
Proc2        .03               .09
Proc3        .017              .0595
Proc4        .0255             .1105
Proc5        .0076             .085

Table 1: Process Capability

Sta1              Sta2            Sta3       Sta4
Part1        .09               .18             .19        .16
Part2        .15               .16             .13        .14

Table 2: Stock removal

T                     D             β               D/(1-β )
Part1         .15                   7             .14             9
Part2         .20                   10            .18             13

39
Table 3: Design Tolerance and Demand

Greenwood     &
Chase
A       B
Proc1       1.445   .221
Proc2       1.955   .17
Proc3       .935    .1445
Proc4       2.465   .1955
Proc5       1.7     .1275

Greenwood &
Chase
C     D
Proc1          2     0.4
Proc2          5     0.2
Proc3          3     0.8
Proc4          4.5   0.5
Proc5          6     0.6

Table 4: Cost-Tolerance & Time-Tolerance Model

Mc1                Mc2          Mc3              Mc4
Proc1             1               0                1             0
Proc2             0               1                1             0
Proc3             1               0                1             1
Proc4             0               1                1             0
Proc5             1               1                0             1

Table 5: Process- machine feasibility matrix (ψ JM)

Part1                                    Part2
Sta1        Sta2     Sta3       Sta4         Sta1    Sta2     Sta3    Sta4
Proc1      1           1        0          0            1       0        0       1
Proc2      1           0        1          0            0       1        0       1
Proc3      0           1        0          1            0       0        1       0
Proc4      1           0        1          0            1       0        1       0
Proc5      0           1        0          1            0       1        0       0

Table 6: Process- part/stage feasibility matrix (τzkj )

40
Normal (µ,σ2 )     µ+ kασ
kα=1.644853
Mc1           (425,15)           431.3705
Mc2           (398,10)           403.2015
Mc3           (521,25)           529.2243
Mc4           (410,18)           416.9785
Table 7: Machine Availability

41
Figure 10: Results and comparison for Example1

42
EXAMPLE 2: TEN STAGE – SIX PROCESS – SIX MACHINE

Data set for the problem

1                                                 2
Z

3
1                2          3                         1                2

1          2         3       4          5      6     1         2       3           4   5       6
k
Figure 11: Process planning tree for Example 2

PARAMETERS

dmin,j        dmax,j
Proc1        0.0085         0.068
Proc2        0.03           0.09
Proc3        0.017          0.0595
Proc4        0.0255         0.1105
Proc5        0.0076         0.085
Proc6        0.025          0.11
Table 8: Process Capability

Sta1             Sta2           Sta3     Sta4          Sta5
Part1        0.12             0.08           0.35     0.4           0.15
Part2        0.09             0.34           0.15     0.18          0.24
Table 9: Stock Removal

T                 D             β            D/(1-β )
Part1           0.1               12            .14          14
Part2           0.3               9             .21          12

Table 10: Design tolerance and demand.

43
Greenwood     &
Chase
A       B
Proc1      1.445   .221
Proc2      1.955   .17
Proc3      .935    .1445
Proc4      2.465   .1955
Proc5      1.7     .1275
Proc6      2.1     .156

Greenwood &
Chase
C     D
Proc1          2     0.4
Proc2          5     0.2
Proc3          3     0.8
Proc4          4.5   0.5
Proc5          6     0.6
Proc6          5     0.55

Table 11: Cost-Tolerance & Time-Tolerance Model

Mc1              Mc2       Mc3           Mc4   Mc5   Mc6
Proc1         1            0             0             1     0     1
Proc2         0            1             0             0     1     0
Proc3         1            0             1             0     0     1
Proc4         0            1             0             0     1     0
Proc5         0            1             0             1     0     0
Proc6         0            0             1             0     0     1

Table 12: Process- machine feasibility matrix (ψ JM)

44
Part1                                     Part2
Sta1       Sta2     Sta3     Sta4    Sta5 Sta1    Sta2   Sta3   Sta4   Sta5
Proc1    1          0        1        0       0    1       1      0      1      0
Proc2    0          1        0        0       1    0       0      1      0      0
Proc3    0          0        1        0       0    1       1      0      0      0
Proc4    1          0        0        1       1    0       0      1      0      1
Proc5    0          0        0        0       0    1       0      0      1      0
Proc6    0          1        1        0       0    0       0      0      0      1
kα=1.644853

Table 13: Process- part/stage feasibility matrix (τzkj )

Normal (µ,σ2 )                  µ+ kασ
Mc1            (600,15)                        606.3705
Mc2            (728,10)                        733.2015
Mc3            (825,25)                        833.2243
Mc4            (789,18)                        795.9785
Mc5            (710,15)                        716.3705
Mc6            (854,20)                        861.356

Table 14: Machine availability

45
Figure 12: Results and comparison for Example 2

46
Chapter 7

Results and Conclusion

Process planning and tolerance allocation are important parts in the area of

production planning. The cost of manufacturing is directly associated with process

planning and tolerance allocation. An optimization model is to solve manufacturing

problem for tolerance allocation with process and machine selection. The objective of

this optimization model is to minimize the cost of manufacturing. Many methods have

been proposed to solve the complex mixed integer nonlinear optimization problem

formulated. This thesis present a sequential integer optimization solving mechanism that

can generate accurate solutions efficiently i.e.; in comparatively minimal time using

limited memory, and the restricted student version of AMPL/CPLEX.

This proposed method utilizes a series of integer programming problems using

point estimates of the tolerance on cost-tolerance curve for each process from previous

iterations. As a result student version of CPLEX is sufficient to solve this complex

nonlinear optimization problem. Each iteration adds a constraint to the model thus

reducing the search space for the optimization hence solving in less time compared to

genetic algorithm and piece-wise linear approximation.

The examples presented in this thesis were previously solved using genetic

algorithms and a piece-wise linear approximation method. The two examples illustrated

47
that the proposed method identifies a solution with a similar objective value and a

different process plan but in significantly less time.

A significant amount of research is done in the area of integration between

production planning and scheduling. The ability to extract effective and efficient

production plans including process and machine selection with tolerance allocation for

each component dimension in a considerably less time could open numerous options to

effectively integrate production planning and scheduling for a manufactured component.

An extension to this thesis is to used this methodology and integrate with

scheduling to develop an efficient and effective production plan. Also random parameters

can be incorporated in the optimization model. Generally for any optimization problem

random parameters can be incorporated by including the distribution of occurrence. In

this thesis the optimization problem formulated is with deterministic parameters and does

not consider for any random parameters.

The research presented in this thesis is a sequential integer programming method

for solving complex mixed integer nonlinear programming problems. The example

presented in this thesis is from the area of manufacturing. This method is not restricted

only to area of manufacturing. By defining decision variables and implementing the

proposed methodology presented in this thesis similar result could be expected for many

optimization problems in other areas.

48
References

[1]   C. Zhang and H. P. Wang, "Integrated Tolerance Optimization with Simulated

Annealing," International Journal of Advanced Manufacturing Technology, Vol.8,

pp.167-174, 1993

[2]   C. Zhang and H.P. Wang, “Simultaneous Optimization of Design and

Manufacturing Tolerance With Process (Machine) Selection”, Annals of the CIRP, (Vol.

41, No. 1 1992), pp. 569-572.

[3]   Sangeet Uttam, “Concurrent Linear optimization Model for Design and

Manufacturing Tolerances with Process and Machine Selection Incorporating Scrap

Rates and Machine Breakdown”, Masters Thesis, (University of Cincinnati, 2001).

[4]   Shantanu Chandra, “Optimal Tolerance Synthesis for Process Planning with

Machine selection”, Masters Thesis, (University of Cincinnati, 2001).

[5]   R. Fourer, D. M. Gay, B. W. Kernighan, AMPL: A Modeling Language for Math

Programming

[6]   Singiresu S. Rao, Engineering Optimization Theory and Practice, Third edition

[7]   X.G. Yang and C.J. Goh, “ A Method of convex curve approximatio n”, European

Journal of Operation Research 97 (1997) 205-212

[8]   Sam Anand, Chris McCord, Raju P. Pallapati, Sangeet Uttam, “An Integrated

Approach to Tolerance Allocation, Process Planning and Scheduling”, Transactions of

NAMRI/SME Volume XXX, 2002.

[9]   X.G. Ming and K.L.Mak, “ Intelligent Approaches to Tolerance Allocation and

Manufacturing Operations Selection in Process Planning”, Journal of Materials Process

technology 117 (2001) 75-83

49
[10] S.H.Yeo, B.K.A. Ngoi and H. Chen, “Process sequence optimization based on a

new cost-tolerance model”, Journal of Intelligent manufacturing (1998) 9,29-37

[11] M.D. Al-Ansary and L.M. Deiab, “Concurrent Optimization of Design and

Machining Tolerances Using the Genetic Algorithms Method”, International Journal of

Machine Tools and Manufacture, Vol. 37, No 12, 1721-1731, 1997

[12] Tan, W. and B. Khoshnevis, “Integration of Process Planning and Scheduling – A

Review”, Journal of Manufacturing, Vol. 11, 2000, 51-63

[13] K. W. Chase and W.H. Greenwood, “Design issues in Mechanical Tolerance

Analysis”, Manufacturing Review, Vol. 1, no. 1, Mar 1998.

50

```
DOCUMENT INFO
Shared By:
Categories:
Stats:
 views: 30 posted: 7/30/2009 language: English pages: 56
How are you planning on using Docstoc?