Ethan Frome

advertisement
34th INTERNATIONAL CONFERENCE ON
PRODUCTION ENGINEERING
28. - 30. September 2011, Niš, Serbia
University of Niš, Faculty of Mechanical Engineering
SOFTWARE PROTOTYPE FOR ANALYZING MANUFACTURING PROCESS MODELS
Marko KOVAČEVIĆ1, Miloš MADIĆ2, Velibor MARINKOVIĆ2
Faculty of Electronic Engineering in Niš, University of Niš, A. Medvedeva 14, Niš, Serbia
2
Faculty of Mechanical Engineering in Niš, University of Niš, A. Medvedeva 14, Niš, Serbia
marko.kovacevic@elfak.ni.ac.rs, madic@masfak.ni.ac.rs, velmar@masfak.ni.ac.rs
1
Abstract: In this paper, the software prototype “Function Analyzer” for analyzing manufacturing process
models is presented. Based on a loaded mathematical model and possible values of inputs, the developed
prototype is able to perform the following tasks. Firstly, the prototype is able to determine extreme points
of the process model and corresponding input values. Secondly, the prototype is able to determine
optimal input values that satisfy the specified requirements for output: value and accuracy. The developed
prototype was successfully tested on a mathematical model of the turning process.
Key words: manufacturing processes, software prototype, optimization
1. INTRODUCTION
Process modeling and optimization are two important
issues in manufacturing [1]. Manufacturing processes are
characterized by a multiplicity of dynamically interacting
process variables, and usually too complicated to warrant
appropriate
analytical
models
[2].
Therefore
manufacturing process models are often developed
empirically using the regression analysis (RA) and in
recent years by means of artificial neural networks
(ANNs). To ensure high quality products, reduce
manufacturing costs and increase the manufacturing
effectiveness, it is very important to select the optimal
process parameters. There are numerous methods and
algorithms applied for the process optimization, such as
ANNs [1], regression analysis [3], response surface
method (RSM) [4], Taguchi method [4, 5], mathematical
iterative search methods [5], meta-heuristic algorithms
such as genetic algorithm (GA) [6], simulated annealing
(SA) [7], particle swarm optimization (PSO) [8].
Also there are hybrid approaches that integrate two or
more methods or algorithms. Most of aforementioned
methods and algorithms can handle single and multiobjective optimization problems. However, despite
numerous optimization methods, every method has
certain advantages and disadvantages for implementation
in real-life. There exists no universal method which is the
“best” choice for optimization of all kinds of
manufacturing processes.
Above all, optimization methods can be difficult to use
for engineers, who are not experts on optimization theory
[9].
The motivation of this paper is to develop the software
prototype Function Analyzer, which can be used for
manufacturing process optimization and control. Based on
the loaded mathematical model, the prototype is able to
determine optimal input values of the process model that
satisfy the specified requirements. Figure 1 describes the
potential usage of the software for optimization and
control of manufacturing processes.
Fig.1. Possible application of software prototype Function Analyzer
Function Analyzer is based on iterative search of all input
values combinations, and is able to solve two types of
optimization problems: to determine input values that
correspond to output extremes (minimum or maximum)
and to determine input values that correspond to user
defined output with desired accuracy. It enables simple
and flexible way of defining lists of possible input values
and mathematical model functions. Due to user-friendly
application interface, Function Analyzer simplifies
solving engineering optimization problems and requires
no expert knowledge on optimization theory. Software
architecture is flexible and extendible, thus it can be
improved for solving multi-objective optimization
problems.
2. FUNCTION ANALYZER
2.1. Software functionalities
The software prototype Function Analyzer enables users
to define following parameters:
o lists of possible input values V1, V2,...,Vn, where
V1=(v11,v12,...,v1p),
V2=(v21,v22,...,v2q),…,Vn=(vn1,vn2,...,vnr), and
o mathematical model function F:Rn→R where
n N .
Using defined parameters and defined mathematical
model function F, Function Analyzer calculates output fb
for all input combinations Cb=(v1i,v2j,...,vnk), where
i=1,…,p, j=1,…,q ,…, k=1,…,r, b=1,...,p∙q∙r. As a result
we get a list of ordered pairs Pb=(fb,Cb), b=1,...,p∙q∙r.
By iteratively searching a list of ordered pairs Pb, valuable
information about the mathematical model can be
extracted. Function Analyzer is able to extract following
information:
o for user defined number of minimums (maximums)
l, determine l ordered pairs Pu=(fu,Cu), that
correspond to l minimal (maximal) values fu, and
o for user defined output value fuser and output value
accuracy Δ, determine all ordered pairs Pu=(fu,Cu),
where │fu-fuser│≤ Δ.
The architecture of the software prototype Function
Analyzer is designed to satisfy the following crucial
requirements:
o basic functionalities described in section 2.1 are
implemented,
o simple and flexible way of defining lists of possible
values V1, V2,...,Vn is enabled,
o matrix calculus is supported,
o implementing new mathematical model function
requires no changes in software architecture and
minor changes in software code, and
o due to user-friendly application interface, operating
on Function Analyzer does not require a domain
expert.
Figure 2 shows UML (unified modeling language) logical
model of the developed software prototype. The
programming language used for implementation is C#.
Class MainForm implements user interface of the
software prototype. Software logic is implemented in
class
MathModelOutputManager.
Method
SetPossibleInputValues() is used to load lists of possible
input values V1, V2,...,Vn from XML (extensible markup
language) file, which is passed as a parameter of this
method. As a result, an instance of the class
PossibleInputValues is created (attribute member
mInputValues).
One
instance
of
the
class
PossibleInputValuesItem corresponds to one list of
possible input values. Each list of possible input values
can be specified in two ways in XML file:
1. name (attribute member Name of class
PossibleInputValuesItem), start value (StartValue),
end value (EndValue) and step (Step),
2. name (Name) and list of possible values (Values).
Method SetMatrices() is used to load matrices from text
file, if mathematical model function contains matrices in
its formula. As a result an attribute member mMatrices is
filled. Method SetNetworkOutputFunction() is used to
select one of the implemented mathematical model
functions.
2.2. Software architecture
Fig. 2. Logical model of software prototype Function Analyzer
Method Preprocessing() is used to fill lists
mInputCombinations (list of all input combinations Cb)
and mOutputs (corresponding list of output values fb),
based on loaded parameters. List mInputCombinations is
obtained by using method GetAllCombinations() of
attribute member mInputVariables. List mOutputs is
obtained by using method CalculateOutput() of attribute
member mMathModelOutput, for each input combination
from
the
list
mInputCombinations.
Method
GetExtremesList is used to determine l ordered pairs
Pu=(fu,Cu) for minimums and l ordered pairs Pu=(fu,Cu)
for maximums. A parameter of this method is an instance
of the class ExtremesInputParams, that contains user
defined number of extremes l (attribute member
mExtremesNo).
Methods
GetAnalysisItem
and
GetNextAnalysisItem are used to determine ordered pairs
Pu=(fu,Cu) for which inequality │fu-fuser│≤ Δ is satisfied.
A parameter of this method is an instance of the class
AnalysisInputParams, that contains user defined output
value fuser (attribute member mOutputValue), output value
accuracy (mAccuracy) and search order of list of all input
combinations (mAscending).
Every mathematical model function is modelled by a class
that implements an interface IMathModelOutput (Fig. 3).
Three methods must be implemented:
o SetMatrices() – defines matrices if necessary,
o GetBitmap() – provides bitmap of the formula for
display in user interface, and
o CalculateOutput() – calculates output fb for input
combination Cb, which is passed as a parameter of
this method.
3. A CASE STUDY
An illustrative example is used to demonstrate the ability
of Function Analyzer for machining process optimization
and control. In this paper, the process of dry turning of
cold rolled alloy steel using coated tungsten carbide
inserts is considered [3]. Three major cutting parameters
(factors, independent variables, inputs), cutting speed
(Vc), feed rate (f), and depth of cut (ap) were varied in the
experiment. The average surface roughness (Ra) was
chosen as a measure of surface quality and as target
function (dependent variable, response, output).
For the purposes of regression analysis, coding of
independent variables by means of the transforming
equation was carried out:
xi  2
X i  X i min
 1; i  1,2,3
X i max  X i min
(1)
where xi are coded factors, Xi are natural factors, from
Ximax to Ximin (in the design space of interest to the
experimenter), Ximax and Ximin are the highest and the
lowest values of the natural factors Xi respectively, and i
is the index of the input factor. In this case, the following
relationships are valid: X1 = Vc; X2 = f; X3 = ap.
Based on experimental data and adopted non-linear
(quadratic) mathematical model, by means of the
regression analysis, the following multiple regression
equation (in coded factors) was obtained [3]:
Ra  3.844  2.811  x1  1.036  x2  1.02  x3 
 0.498  x12  0.055  x22  0.081  x32  0.12  x1  x2 
 0.057  x1  x3  0.162  x2  x3 ; xi  1, 2, 3
(2)
The fitted multiple regression equation in terms of the
natural factors (Vc, f, and ap) may be obtained by
substituting the transforming equation (1) into the
equation (2). This equation is not given in the paper.
3.1. Optimization
Fig. 3. Mathematical model functions implementation
At the moment, two mathematical model functions are
implemented, modelled by classes RegressionOutput3 and
NetworkOutputTansig1. Class MathModelOutputFactory
realizes factory pattern, and is used by the class
MathModelOutputManager to obtain one of the
implementations of interface IMathModelOutput (class
MathModelOutputManager is not aware of which
implementation of interface IMathModelOutput is
obtained). As a consequence, implementing new
mathematical model function is very simple and requires
no changes in software architecture. It only requires
adding new class that implements interface
IMathModelOutput, and minor changes in classes
MathModelOutputFactory and MainForm.
The purpose of the optimization is to determine such a set
of the cutting conditions (Vc, f and ap) that satisfies the
cutting parameters ranges to minimize the Ra. Within this
range, there are multiple near optimal solutions, i.e. the
combination of cutting parameter settings which software
can find and sort. With Function Analyzer, using the step
 = 0.01, the following results were obtained: x1opt = 2.88
(Vcopt = 136.4 m/min); x2opt = 1 (fopt = 0.071 mm/rev); x3opt
= 1 (apopt = 0.5 mm), and ymin = Ra(min) = 1.586 µm.
An identical result was obtained in the work [3].
3.2. Process control
In the turning process, there can be various requirements
for surface finish of machined part. For example, high
quality surface finishes are often required, while rough
surface finishes are sometimes sufficient for the machined
part. Therefore, it is very important to control the turning
process, so that for the required surface finish one can
determine suitable cutting parameter settings.
The selection of cutting parameter settings (input values)
is based on control algorithm implemented in Function
Analyzer. Based on predefined input values ranges,
desired output and desired accuracy Δ (max. difference
between desired and computed output values) the control
algorithm iterates through all combinations of input
values until optimal input values are determined.
Consider a situation when one needs to determine cutting
parameter settings so the required surface roughness of Ra
= 4.77 µm is achieved. Using the Δ = 0.01 and starting the
iteration process from the upper limits of cutting
parameter values ranges, because this ensures high
material removal rate, the following was obtained: x1 =
1.62 (Vcopt = 98.64 m/min); x2 = 3 (fopt = 0.321 mm/rev);
x3opt = 3 (apopt = 2 mm).
Figure 4 illustrates the usage of Function Analyzer for the
discussed case study. The software was run on Intel
Core2Duo T5800 with 4 GB RAM. Computational time is
given in Table 1. Note that there was 8·106 of possible
input values combinations. Preprocessing (determination
of all combinations of input values and corresponding
outputs) enables efficient algorithms execution.
Table 1. Computational time for the case study
Preprocessing
Optimization
algorithm
Process control
algorithm
12.06 s
0.29 s
0.20 s
Fig. 4. Function Analyzer applied to turning process
4. CONCLUSION
In this paper, the software prototype Function Analyzer
for single objective optimization of manufacturing
processes parameters is proposed. Function Analyzer is
based on iterative search of all input values combinations,
and is able to solve two types of optimization problems: to
determine input values that correspond to output extremes
(minimum or maximum) and to determine input values
that correspond to user defined output with desired
accuracy. Function Analyzer enables a simple and flexible
way of defining lists of possible input values. It provides
working with mathematical models based on RA and
ANN, but additional models can easily be implemented.
Due to user-friendly application interface, Function
Analyzer simplifies solving engineering optimization
problems and requires no expert knowledge on
optimization theory. Although based on iterative search,
the developed software prototype is efficient even for
large possible input values sets. Additionally, setting
numerous optimization parameters and initial search
points is avoided.
The ability of Function Analyzer for optimization and
control of the turning process was demonstrated using an
illustrative example.
Future work could be directed toward solving multiobjective optimization problems in manufacturing
processes and implementation of the software to real-time
problems.
ACKNOWLEDMENTS
This paper is part of project TR35034 and III41017,
funded by the Ministry of Education and Science of the
Republic of Serbia.
REFERENCES
[1] ČUŠ, F., MILFELNER, M., BALIČ, J. (2006) An
intelligent system for monitoring and optimization of
ball-end milling process, Journal of Materials
Processing Technology, Vol.175, No 1-3, pp. 90–97
[2] LIAO, T.W., CHEN, L.J. (1998) Manufacturing
process modeling and optimization based on multilayer perceptron network, Journal of Manufacturing
Science and Engineering, Vol.120, No 1, pp. 109-119
[3] TANIKIĆ, D., MARINKOVIĆ, V. (2011) Modelling
and optimization of the surface roughness in the dry
turning of the cold rolled alloyed steel using
regression analysis, Journal of the Brazilian Society
of Mechanical Sciences and Engineering, (in press)
[4] BAJIĆ, D., JOZIĆ, S., PODRUG, S. (2010) Design
of experiment’s application in the optimization of
milling process, Metalurgija, Vol.49, No 2, pp. 123126
[5] JURKOVIĆ, Z., BREZOČNIK, M., GRIZELJ, B.,
MANDIĆ, V. (2009) Optimization of extrusion
process by genetic algorithms and conventional
techniques, Technical Gazette, Vol.16, No 4, pp. 2733
[6] LEE, B.J., TARNG, Y.S. (2000) Cutting-parameter
selection for maximizing production rate or
minimizing production cost in multistage turning
operations, Journal of Materials Processing
Technology, Vol.105, No 1-2, pp. 61-66
[7] YANG, S.-H., SRINIVAS, J., MOHAN, S., LEE, D.M., BALAJI, S. (2009) Optimization of electric
discharge machining using simulated annealing,
Journal of Materials Processing Technology, Vol.209,
No 9, pp. 4471–4475
[8] KARPAT, Y., ÖZEL, T. (2007) Multi-objective
optimization for turning processes using neural
network modeling and dynamic-neighborhood
particle swarm optimization, International Journal of
Advanced Manufacturing Technology, Vol.35, No 34, pp. 234-247
[9] HIMMELBLAU, D.M. (1972) Applied Nonlinear
Programming, McGraw-Hill Book Company, New
York
Download