Authors: YehLiang Hsu, TzuChi Liu, MingSho Hsu, Francis Thibault (20010518);
recommended: YehLiang Hsu (20010518).
Note: This paper is to be presented at The Sixth International Conference
on CSCW Design, July 1214, 2001, London,
Ontario, Canada.
A fuzzy optimization algorithm
for blow moulding process
Abstract
This paper
demonstrates a fuzzy optimization algorithm for determining the optimal gap
openings of the programming points in the blow moulding process. Traditional
numerical optimization algorithms treat the optimization problem as pure
mathematical problems. Valuable engineering knowledge is not utilized in the
optimization process. The idea of the fuzzy optimization algorithm is that,
instead of using purely numerical information to get the new design point in
the next iteration, engineering knowledge and human supervision process can be
modeled in the optimization algorithm using fuzzy rules. The fuzzy optimization
algorithm developed in this paper works well on the blow moulding examples.
1. Introduction
Blow moulding is
the forming of a hollow part by “blowing” a mouldcavityshaped parison that is
made by thermoplastic molten tube [Lee, 1990]. The thickness of parison
determines the thickness of the blown hollow part, which is controlled by the
gap opening space between the die and the mandrel. Figure 1(a) illustrates parison programming,
which manipulates the gap opening of die at programming
points to control the thickness of parison. In order to obtain uniform
thickness distribution of the hollow part as shown in Figure 1(b), the
thickness of programmed parison must be nonuniform. For example, in Figure
1(b), the parison thickness for the greatest expansion area must be thicker
than those of the other areas.
(a) (b)
Figure 1. Illustration of parison programming
BlowSim is a
finite element software package designed to simulate the extrusion blow
moulding, the injection stretch blow moulding, and the thermoforming processes.
This software has been developing at the Industrial Materials Institute (IMI)
of National Research Council (NRC), Canada. Figure 2 shows the
thickness distribution of a sample problem simulated by BlowSim when the gap
opening is set at 75% at all time.
Figure 2. The sample blow moulding problem
In the blow moulding
process, it is desirable to obtain a final part of constant thickness. It is
therefore an optimization problem on how to control the gap openings to
minimize the deviation of the thickness of the final part from the target
thickness. For the sample problem shown in Figure 2, the objective is to
minimize the average deviation of the thickness of all nodes from the target
thickness:
min. _{} (1)
where T_{t} is the target thickness, T_{i }^{j}
is the thickness at node j in the ith iteration, and n is
the total number of nodes. We are able to extract the thickness of all nodes
from the simulation results of BlowSim and plug them into Eq.(1) to get the
objective function value. The gapopening rates at discrete time points are the
design variables. Obviously, the thickness at node j in the ith
iteration T_{i }^{j} are functions of the design
variables, namely, the gap opening rates.
We can certainly
use a gradient type numerical optimization algorithm to solve for the optimal
opening rates. On the other hand, manufacturing engineers usually adjust the
gap opening rates empirically: reduce the gap opening rate if the final part is
too thick, and vice versa.
The purpose of
this paper is to illustrate how the concept of “fuzzy optimization algorithms”
to closes the gap between numerical optimization algorithms and engineering
experience, using the optimization of the blow moulding process as an example.
This paper first explains the concept of fuzzy optimization algorithms. Then in
our blow moulding optimization problem, engineering experiences for adjusting
the gap opening rates are modeled as fuzzy rules which determines the search
direction of a line search algorithm. The optimization results are presented,
and the advantages of this approach are discussed.
2. The concept of “fuzzy optimization algorithms”
The optimization
process can be viewed as a closedloop control system. Figure 3 shows a general
block diagram of an automatic control system. An error detector compares a
signal obtained through feedback elements, which is a function of the output
response, with the reference input. Any difference between these two signals
constitutes an error or actuating signal, which actuates the control elements.
The control elements in turn alter the conditions in the plant (controlled
member) in such a manner as to reduce the original error.
Figure 3. General block diagram of an automatic
control system
Figure 4 shows a
general block diagram for an optimization process. Comparing with Figure 3, an
optimization model in an optimization process is analogous to the plant in a
control system; an optimization algorithm is analogous to the controllers.
Initial parameters are input to the optimization algorithm, which in turn
generates a trial design point according to its search rules. The optimization
model is then evaluated at this trial design point, and the information such as
objective and constraint function values and sensitivity is fed back to the
termination test. If the termination test fails, the optimization algorithm is
triggered again to generate the next design point, using the numerical
information from previous iterations.
Figure 4. General block diagram of a design
optimization process
Traditional
numerical optimization algorithms are analogous to direct digital controllers.
The algorithms are usually “crisply” designed for well defined mathematical
models. Their numerical rules for generating the next design point are exact
and definite, and they can usually be proved to have nice converging behavior
when applying to well defined mathematical models.
However, in
engineering optimization problems, we seldom have well defined mathematical
models. In the blow moulding example, we know that the thickness at node j
in the ith iteration T_{i }^{j} are functions of
the design variables, namely, the gap opening rates. But these functions often
do not have exact algebraic forms in terms of the design variables, and they
can only be evaluated through experiments or computer simulations, which are
expensive and imprecise in nature. Usually sensitivity calculation is also done
through imprecise finite difference methods. Very often the cost of the number
of function evaluations required to meet the “crisp” definition of the
numerical algorithms is simply too high to be affordable.
On the other
hand, when we apply numerical optimization algorithms on an engineering
problem, we treat the engineering problem as a pure mathematical problem.
Engineering heuristics are totally ignored in the numerical optimization algorithms.
This motivates the idea that, in addition to crisp numerical rules, the human
supervision process should also be modeled in an optimization algorithm using
fuzzy rules; the “controllers” in the optimization process may as well be fuzzy
controllers!
This concept was
proposed by Hsu et al [1995]. Mulkay and Rao [1998] also presented the same
idea. In both work, fuzzy heuristics are used to control the parameters of the optimization
algorithm to improve its performance. In the following section, fuzzy heuristics
are used to generate the new design point of the next iteration.
3. The optimization algorithm used in “BlowOp”
“BlowOp” is the
optimization module of BlowSim used to obtain a uniform thickness distribution
and minimize part weight. In BlowOp, the parison thickness, which are directly
affected by gap opening rates, are used as design variables. The optimization
procedure is given by the following equation:
_{} (2)
where _{}and _{} are parison
thickness of each programming point at iteration i+1 and iteration i.
They are related to gap opening rates and extrusion time. _{} is the thickness
of the part at iteration i, and _{} is the target
thickness of the final part, for which a uniform thickness distribution is
assumed. a_{u} is a userdefined proportional
gain; while a_{p }is a gain defined by the
inflation model:
a_{p} = A_{i}/T_{i}. (3)
This
optimization procedure is a line search type of algorithm, which is commonly
used in various numerical optimization algorithms. The standard line search
algorithm will be [Vanderplaats, 1984]:
_{} (4)
where x is the vector of design variables, s is the
search direction, and a is the step length.
In standard line
search algorithms, step length a is decided after several trials according
to certain numerical rules. In the procedure shown in equation (2), a takes a fixed value 0.5. In numerical
optimization algorithms, search directions are defined by numerical
information, for example, gradient or Hessian of the objective function.
However, in the procedure shown in equation (2), the search direction is
determined by a_{p} = A_{i}/T_{i},
and (T_{i} T_{s}).
Figure 5 shows
the iteration history of this optimization procedure, when applied on the
sample problem shown in Figure 2. The gap opening is set at 75% at all time in
the first iteration. The target thickness T_{s} is 2mm. In the first iteration, the maximum part
thickness is 6.804mm, the
minimum part thickness is 1.394mm,
and the value of the objective function (Eq. (1)) is 2.474. After 10
iterations, the objective function value reduces from 2.474 to 0.953.
Figure 5. Iteration history of BlowOp
The search
algorithm in BlowOp actually uses engineering heuristics in a crisp format. The
change in parison thickness between iterations is determined by a_{p}(T_{i}T_{s}). The term a_{p} is affected by the geometry of the bottle. The part thickness
becomes smaller if the radius of the bottle is large. Therefore a_{p} decreases as the radius increases. The term (T_{i}T_{s})
represents the simple rule mentioned earlier: reduce the gap opening rate if
the final part is too thick, and vice versa.
4. The fuzzy optimization algorithm
The engineering huristics
used in the optimization procedure discussed in the previous section are:
l If the thickness of a certain node is larger than the target
thickness, then reduce the respective opening rate.
l If the thickness of a certain node is smaller than the target
thickness, then increase the respective opening rate.
l If the radius of the part at a certain node is large, the change of
opening rate is large.
l If the radius of the part at a certain node is small, the change of
opening rate is small.
Engineering rules
(1) and (2) are first used to try out the fuzzy optimization idea on the sample
problem shown in Figure 2. Eq.(5) can be written into the following scalar form
for our optimization problem:
_{} (5)
where the extrusion time t_{j} and the gapopenings
become the design variables. In our fuzzy optimization algorithm, the change of
opening rate S_{j} is to be determined by fuzzy rules. The input
variables to the fuzzy rules are thickness T_{i}.
Five levels are
defined to describe the linguistic variables: PB(Positive Big), PS(Positive Small),
ZE(Zero), NS(Negative Small), and NB(Negative Big). Standard membership
functions shown in Table 1 and Figure 6 are used. Five fuzzy rules are
established:
R1: If thickness
is PB then S_{j} is NB
R2: If thickness
is PS then S_{j} is NS.
R3: If thickness
is ZE then S_{j} is ZE.
R4: If thickness
is NS then S_{j} is PS.
R5: If thickness
is NB then S_{j} is PB.
Table 1. Membership function

levels


2

1

0

1

2

NB

1.0000

0.0235

0.0000

0.0000

0.0000

NS

0.0235

1.0000

0.0235

0.0000

0.0000

ZE

0.0000

0.0235

1.0000

0.0235

0.0000

PS

0.0000

0.0000

0.0235

1.0000

0.0235

PB

0.0000

0.0000

0.0000

0.0235

1.0000

Figure 6. Membership functions
Table 2 is the
quantization table for the input and output variables. This table is derived
from engineering experience to the blow moulding process and the optimization
process. Step size a in Eq.(4) is fixed at 1.0. Figure 7 shows the nice converging
behavior of this optimization procedure, when applied on the sample problem
shown in Figure 2. The gap opening is set at 75% at all time in the first
iteration. After 10 iterations, the objective function value reduces from 2.474
to 0.834. Figure 7 compares the iteration history with the BlowOp software. It appears that BlowOp and the fuzzy optimization
algorithm has similar performance for this case.
Table 2. Quantization table
Thickness

fuzzy input


Fuzzy reasoning

_{}

2*Max(Thicknesstarget thickness)/3

2


2

1_{}

Max(Thicknesstarget thickness)/3

1


1

[1_{}]/2

Target thickness

0


0

0

Min(Thicknesstarget thickness)/3

1


1

[_{}/2]

2*Min(Thicknesstarget
thickness)/3

2


2

_{}

Figure 7. Iteration history of the fuzzy
optimization algorithm with one fuzzy input
5. Adding a new set of fuzzy rules
The fuzzy
optimization algorithm discussed in the previous section considers only the
engineering heuristics related to the final part thickness. We now include the
other engineering heuristics related to the radius of the part into the fuzzy
optimization algorithm:
R6: If the
Radius is PB, then S_{j} is PB.
R7: If the
Radius is PS, then S_{j} is PS.
R8: If the
Radius is ZE, then S_{j} is ZE.
R9: If the
Radius is NS, then S_{j} is NS.
R10: If the
Radius is NB, then S_{j} is NB.
The five levels and
their membership functions are defined in Section 4. Table 3 is the
quantization table for the input and out put variables. With this new
algorithm, a new fuzzy input has been added to the model.
Table 3. Quantization table with four engineering
rules
Thickness

Fuzzy input

2*(Max(Thicknesstarget
thickness))/3

2

Max(Thicknesstarget
thickness)/3

1

Target thickness

0

Min(Thicknesstarget
thickness)/3

1

2*(Min(Thicknesstarget
thickness))/3

2

Radius

Fuzzy input

Mean(Radius)+(2*(Max(Radius)mean(Radius))/3)

2

Mean(Radius)+(Max(Radius)mean(Radius))/3

1

mean(Radius)

0

2*mean(Radius)/3

1

mean(Radius)/3

2

Fuzzy reasoning

_{}

2

_{}

1

_{}

0

0

1

_{}

2

_{}




Figure 8
compares the iteration history of the fuzzy optimization algorithm with two
fuzzy inputs with that of BlowOp. The fuzzy
optimization algorithm has better performance in this case. It converges
faster, and the final objective function value is lower. After 10 iterations,
the objective function value reduces from 2.474 to 0.811.
Figure 8. Iteration history of the fuzzy
optimization algorithm with two fuzzy inputs
Ideally, the
objective function should converge to zero, which indicates constant thickness
through out the whole part. Figure 8 also shows the iteration history when we
increase number of programming points from 7 to 31, using the same fuzzy
optimization algorithm. With this increase in resolution, the value of the
objective function further drops to 0.515.
Figure 9 shows
the variations in thickness distribution through the iterations. It appears
that the thickness distribution is close to constant in the final part from
iteration 10. Figure 10 compares the profiles of optimal gap openings of
programming points obtained from BlowOp, the fuzzy optimization algorithm with
one fuzzy input, the fuzzy optimization algorithm with two fuzzy inputs, and
the case with 31 programming points.
Figure 9. Variations in thickness distribution
through the iterations
Figure 10. The profiles of optimal gap opening of
programming points
6. Conclusions and discussion
This paper
demonstrates how to develop a fuzzy optimization algorithm for determining the
optimal gap openings of the programming points in the blow moulding process.
Traditional numerical optimization algorithms treat the optimization problem as
pure mathematical problems. Valuable engineering knowledge is not utilized in
the optimization process. The idea of developing a fuzzy optimization algorithm
is that, instead of using purely numerical information to get the new design
point in the next iteration, engineering knowledge and human supervision
process can be modeled in the optimization algorithm using fuzzy rules. The
fuzzy optimization algorithm developed in this paper works well on our blow
moulding examples.
In the blow
moulding examples, one major advantage of the fuzzy optimization algorithm over
traditional numerical optimization algorithms is that the first order gradient
information, which is often expensive or unavailable in real engineering
problems, is not required. Another advantage is its flexibility. As shown in
the paper, it is easy to expand the fuzzy optimization algorithm if new rules and/or
new fuzzy inputs are considered.
7. Acknowledgement
This research is
supported by the joint project between National Science Council, Taiwan, and Industrial Material Institute,
National Research Council, Canada,
Project No. NSC 892212E155019. This support is gratefully acknowledged.
8. References
Lee, N. C., 1990, “Plastic Blow Molding Handbook,” Van Nostrand Reinhold, New
York.
Hsu, Y. L., Lin,
Y. F., Guo, Y. S., 1995, “A Fuzzy Sequential Linear Programming Algorithm for
Engineering Design Optimization,” 1995 Design Engineering Technical
Conferences, Volume 1, pp. 455462, ASME.
Vanderplaats, G..
N., 1984, Numerical Optimization Techniques For Engineering Design,
McGrawHill.