Author: TzuChi Liu, YehLiang Hsu (20050714);
recommended: YehLiang Hsu (20040719).
Note: This paper is presented at The 13^{th} National Conference
on Fuzzy Theory and Its Applications, September.30 – October.1,2005, Kaohsiung, Taiwan.
A Fuzzy ProportionalDerivative
Controller for ConstraintBound Engineering Optimization Problems
Abstract
This paper
proposes a fuzzy proportionalderivative (PD) controller optimization engine
for constraintbound engineering optimization problems. Instead of using purely
numerical information to obtain the new design point in the next iteration,
engineering knowledge and human supervision process, such as monotonicity of
the design variables and activities of the constraints, are be modeled in the
optimization algorithm using fuzzy rules. In this work, first the active
constraints are identified using monotonicity analysis. Utilizing the
monotonicity of the design variables, the fuzzy PD controller optimization
engine then tries to find the design point such that all active constraints are
satisfied in strict equality. Two constraintbound engineering design
optimization examples are presented to demonstrate this algorithm.
Keywords: constraintbound, engineering optimization, PD control, fuzzy control
1. Introduction
The optimality
criteria methods are based on the derivation of appropriate optimality criteria
for specialized design [1]. Iterative numerical algorithms are then developed
to find the design that satisfies the optimality criteria. For example, one of
the simplest approaches for minimizing the weight of a statically loaded
structure subject to stress constraints is the fully stressed design (FSD)
technique. This paper proposes a fuzzy proportionalderivative (PD) controller
optimization engine for “constraintbound” engineering optimization problems.
In a constraintbound optimization problem, the number of design variables
equals the number of active constraints, and the active constraints can be
often be identified by monotonicity analysis [2]. Therefore, the optimization
problem becomes one of finding the design point such that all active
constraints are satisfied in strict equality.
Most realworld
engineering design problems have complex phenomena and are often hard to be
expressed with a welldefined mathematical optimization model, which hinders
the use of formal numerical optimization techniques to solve these problems.
Moreover, design modifications in realworld engineering design problems are
often based on engineering heuristics and knowledge, such as monotonicity of
design variables which prevails in engineering problems. On the contrary, when
solving an engineering optimization problem using numerical optimization
techniques, the engineering problem is basically viewed as a pure mathematical
optimization model. Design modifications in the optimization process rely
purely on numerical information. Engineering heuristics are totally ignored in
the numerical optimization algorithms.
This paper presents
an optimization engine based on the concept of “fuzzy proportionalderivative
(PD) controller”, which enables the use of engineering heuristics to generate
the new design point of the next iteration in the optimization process. The
structure of an optimization algorithm is maintained to guide the engineering
decision process and to ensure an optimal solution rather than a trial and
error solution can be obtained. Hsu et. al. [3, 4] have used this algorithm to
solve the optimality criterion problem which minimizes the differences between
certain system output and the target values in several engineering optimization
problems.
This paper first
explains how to apply the concept of fuzzy PD controllers to optimization
algorithms. Two constraintbound engineering design optimization examples are
presented to demonstrate this algorithm.
2. The Fuzzy PD Controller Optimization Engine
In the past two
decades, the field of fuzzy controller applications has broadened to include
many industrial control applications. Fuzzy control is similar to the classic
closedloop control approaches, but differs in that it substitutes imprecise,
symbolic notions for precise numeric measures. The fuzzy controller takes input
values from the real world. These crisp input values are mapped to the
linguistic values through the membership functions in the fuzzification step. A
set of rules that emulates the decisionmaking process of the human expert
controlling the system is then applied using certain inference mechanism to
determine the output. Finally the output is mapped into crisp control actions
required in practical applications in the defuzzification step.
The control
action in a PD controller is in the form of Equation (1), which combines proportional
and derivative control modes. The PD controller makes a control loop respond
faster and with less overshoot, and is the most popular method of control by a great margin.
_{} (1)
The fuzzy
counterpart of the PD controller also has two inputs: system error e and
error change _{}. Fuzzy inference is used to compute the control signal u.
Five linguistic terms are used for each variable, NB (Negative Big), NS
(Negative Small), ZE (Zero), PS (Positive Small), and PB (Positive Big).
Figure 1 shows
the block diagram of using the fuzzy PD controller as the optimization engine
in an optimization process. Comparing the initial system output y with the target values, or the
set point Y, initial error e and change of error De are input to the fuzzy PD controller, which generates the change of
design variable Dx for the next iteration. Then, the
system input is updated (x^{q}^{+1} = x^{q} + Dx^{q}) and the new system process
output y^{q+1} is feedback to compare with the set point Y
again.
System output y
are functions of design variables x. In order to correctly update the
design variables in the next iteration, the relation between Dx and y should be known empirically and modeled in the fuzzy
PD controller optimization engine. The optimization process terminates when e
and De approach zero, that is, when no change
in design variables Dx will be generated by the fuzzy PD
controller optimization engine.
In the following section, a simple hydraulic
cylinder design example is used to demonstrate how the
fuzzy PD controller optimization engine is applied on constraintbound optimization problems.
3. A hydraulic cylinder design optimization example
Figure 2 shows a
hydraulic cylinder example adapted from Principle of Optimal Design [2].
There are 4 design variables in this example: inside diameter i, wall thickness t, force f, and pressure p. It is desired to select i and t to minimize the outside diameter (i + 2t) subject to some
bounds. The optimal design model is summarized in Equation (2).
Figure 2. Hydraulic cylinder
min. _{}
_{}
_{}
_{}
_{} (2)
where T_{min}, F_{min}, P_{max}
are the lower bound of thickness, the lower bound of force, and the upper bound
of pressure, respectively.
In this example,
all constraints are assumed to be implicit constraints, which cannot be written
explicitly in terms of design variables. The monotonicities of the design
variables with respect to the objective and constraint functions are assumed
known. Therefore, Equation (2) can be written as
Figure 1. Using the fuzzy PD controller in an optimization
process
min. _{}
s.t. _{}
_{}
_{}
_{} (3)
where a “+” sign represents that the variable is monotonically increasing
with respect to the function, and a “” sign represents that variable is
monotonically decreasing with respect to the function.Table 1 is the
corresponding monotonicity table for Equation (3). In this table, a dot “.”
means that the variable is independent to the function, and an asterisk “*”
means that the monotonicity of the variable is not directed in the equality
constraint [2].
Table 1. Monotonicity table

t

f

p

i

F

＋

.

.

＋

_{}

－

.

.

.

_{}

.

－

.

.

_{}

.

.

＋

.

_{}

.

＋*

－*

－*

Using
monotonicity analysis, this example is found to be a “constraintbound” case,
that is, the number of variables equals to the number of active constraints. In
this case, there are 4 active constraints (_{}, _{}, _{}, and _{}) and 4 variables (i,
t, f, and p). Therefore the
optimization problem becomes one of finding the design point that satisfies all
4 active constraints with strict equality. 4 simple rules are used to describe
how to adjust the monotonic design variables in order to find the design point
that satisfied all active constraints with strict equality. For monotonically
increasing variables,
Rule I: ‘IF the
constraint function value is positive, THEN the variable must be decreased.’
Rule II: ‘IF the
constraint function value is negative, THEN the variable must be increased.’
Similarly, for
monotonically decreasing variables,
Rule III: ‘IF
the constraint function value is positive, THEN the variable must be increased.’
Rule IV: ‘IF the
constraint function value is negative, THEN the variable must be decreased.’
These rules are further interpreted into the
fuzzy rule base in Table 2 using 5 linguistic terms: negative big (NB), negative small (NS), Zero (ZE),
positive small (PS), and positive big (PB).
The inputs to
the fuzzy rule base are the constraint function values. The quantization table,
Table 3, gives quantitative definitions for the fuzzy inputs (_{}, _{}, _{}, and _{}). The values of the fuzzy inputs at different quantized
levels are defined by the initial values of the constraint functions. In this
example, the initial values of the design variables are: i = 100mm,
t = 1mm, f =
100N, and p = 2×10^{4}Pa. The parameters are: T_{min} = 3mm, F_{min} = 98N, P_{max}
= 2.45×10^{4}Pa. The initial constraint
function values can be evaluated by those variables and parameters: _{}, _{}, _{}, and _{}.
Table 2. Fuzzy rule base
Monotonically
increasing variables


Rule 1

Rule 2

Rule 3

Rule 4

Rule 5

Constraint function
value

NB

NS

ZE

PS

PB

Variable

PB

PS

ZE

NS

NB

Monotonically
decreasing variables


Rule 6

Rule 7

Rule 8

Rule 9

Rule 10

Constraint function
value

NB

NS

ZE

PS

PB

Variable

NB

NS

ZE

PS

PB

Table 3. The quantization level of the fuzzy input
variables
Quantized Level

_{}

_{}

_{}

_{}

2

_{} (2)

_{} (2)

_{} (0.45)

_{} (57.08)

1

_{}/2 (1)

_{}/2 (1)

_{}/2 (0.225)

_{}/2 (28.54)

0

0 (0)

0 (0)

0 (0)

0 (0)

1

_{} /2 (1)

_{}/2 (1)

_{} /2 (0.225)

_{} /2 (28.54)

2

_{} (2)

_{} (2)

_{} (0.45)

_{} (57.08)

The fuzzy rule
base in Table 2 is used to adjust the variables so that all active constraints
are satisfied with strict equality. For example, constraint g_{1}
only depends on variable t, which is
monotonically decreasing with respect to g_{1}. Since _{}, variable t can be
adjusted by Rule III: “IF the constraint function value is positive, THEN the
variable must be increased.” Through defuzzification of the aggregate outputs
of Rule 9 and Rule 10 using centroid of area method, the output quantized level
is 1.54 for variable t. The
defuzzification value is compared to the quantized levels of the fuzzy output
in Table 4, where Δt_{max}, Δf_{max}, Δp_{max}, and Δi_{max} are the user defined “move limits” of the variables in one
iteration. In this case, (Δt_{max}, Δf_{max}, Δp_{max}, Δi_{max}) = (1, 5, 1, 5).
Table 4. The quantization level of the fuzzy
outputs
Quantized Level

Δt

Δf

Δp

Δi

2

Δt_{max}

Δf_{max}

Δp_{max}

Δi_{max}

1

Δt_{max}/2

Δf_{max}/2

Δp_{max}/2

Δi_{max}/2

0

0

0

0

0

1

Δt_{max}/2

Δf_{max}/2

Δp_{max}/2

Δi_{max}/2

2

Δt_{max}

Δf_{max}

Δp_{max}

Δi_{max}

The constraint
function values are the error inputs in the fuzzy PD controller optimization
engine. The optimization process terminates when the errors converge to zero,
that is, the active constraints are satisfied with strict equality. On the
other hand, the error change (the change of the constraint function value) reflects
the trend of the constraint functions. Considering the error change, the rules
can be extended as follows:
For
monotonically increasing variables,
Rule Ia: ‘IF the
constraint function value is positive and is increasing, THEN decrease the
variable strongly.’
Rule Ib: ‘IF the
constraint function value is positive and is decreasing, THEN decrease the
variable softly.’
Rule IIa: ‘IF
the constraint function value is negative and is increasing, THEN increase the
variable softly.’
Rule IIb: ‘IF
the constraint function value is negative and is decreasing, THEN increase the
variable strongly.’
For
monotonically decreasing variables,
Rule IIIa: ‘IF
the constraint function value is positive and is increasing, THEN increase the
variable strongly.’
Rule IIIb: ‘IF
the constraint function value is positive and is decreasing, THEN increase the
variable softly.’
Rule IVa: ‘IF
the constraint function value is negative and is increasing, THEN decrease the
variable softly.’
Rule IVb: ‘IF
the constraint function value is negative and is decreasing, THEN decrease the
variable strongly.’
These rules are further interpreted into the
fuzzy rule base with 25 rules shown in Table 5 and Table 6.
Table 7 shows
the quantization level of error change, in which
_{} (4)
where x is a vector of
design variable and Δx is the vector
of move limits of the variables. The plusminus sign ‘±’ depends on the monotonicity
of the variable to ensure that _{} is always
positive. If the
variable is monotonically increasing in the function, the sign will be ‘+’, and vice versa. In this example, _{}, _{}, _{}, and _{}.
The termination criterion
is that all active constraints approach to zero with a tolerance of 0.01. This
example terminates after 31 iterations. Figure 3 shows the iteration histories
of the constraint functions. The numerical results t = 3mm, f = 98N, p=2.45×10^{4}Pa, i = 71.4mm are close to the analytical
solution t* =3.00 mm, f*
= 98.02N, p* = 2.45×10^{4}Pa, I* = 71.61mm. Note that in this process, each
constraint is evaluated 33 times, including two evaluation to construct Table 3
and Table 7. No sensitivity information is required.
Table 5. Rule base for the monotonically increasing
variables

e

PB

PS

ZE

NS

NB

_{}

PB

NB

NB

ZE

PS

PS

PS

NB

NS

ZE

PS

PS

ZE

NB

NS

ZE

PS

PB

NS

NS

NS

ZE

PS

PB

NB

NS

NS

ZE

PB

PB

Table 6. Rule base for the monotonically increasing
variables

e

PB

PS

ZE

NS

NB


PB

PB

PB

ZE

NS

NS

PS

PB

PS

ZE

NS

NS

ZE

PB

PS

ZE

NS

NB

NS

PS

PS

ZE

NS

NB

NB

PS

PS

ZE

NB

NB

Table 7. The quantization level of the fuzzy input
variables
Quantized Level

Δ_{}

Δ_{}

Δ_{}

Δ_{}

2

_{}

_{}

_{}

_{}

1

_{}

_{}

_{}

_{}

0

0

0

0

0

1

_{}

_{}

_{}

_{}

2

_{}

_{}

_{}

_{}

Figure 3. The iteration histories of the
constraint functions
4. An air tank design optimization example
Figure 4 and
Equation (5) shows a cylindrical air tank optimal design example [2]. The
objective is to minimize the material used m,
which depends on the inside radius r,
the shell thickness s, the shell length
l, and the head thickness h. The volume of the tank has to be
larger than a specified volume (constraint g_{1}); the
thicknesses of the head and the wall have to satisfy the ASME code (g_{2},
g_{3}), and there are constraints on the size of the tank (g_{4},
g_{5}, g_{6}).
Figure 4. Air tank design
_{}
_{}
_{}
_{}
_{}
_{}
_{} (5)
Using monotonicity
analysis, it can be found that this is a constraintbound problem and the 4
active constraints are g_{1}, g_{2}, g_{3}, and g_{6}. Therefore the optimization problem again becomes one of finding
the design point that satisfies all 4 active constraints with strict equality.
In this example,
the initial values of the variables are: h
= 10cm, l = 500cm,
r = 150cm, and s
= 3cm. The error (initial
constraint function values) can be evaluated by those variables _{}, _{}, _{}, and _{}. The
maximum allowable change value of the variables (Δh, Δl, Δr, Δs) are 5, 50,
50, and 1, respectively. The error change calculated by Equation (4) are _{}, _{}, _{}, _{}. This example terminates after 34 iterations. Each
constraint is evaluated 36 times, and no sensitivity information is required.
Table 8 shows the numerical results and analytical solution of the design
variables. Figure 5 shows the iteration histories of the constraint functions.
Table 8. Numerical results and analytical solution

h (cm)

l (cm)

r (cm)

s (cm)

Numerical results

13.67

610.00

105.18

1.01

Analytical Solution

13.71

609.00

105.35

1.01

Figure 5. The iteration histories of the
constraint functions
5. Conclusion
In his paper,
the fuzzy PD controller optimization engine is used to solve two for
constraintbound engineering optimization examples. Besides the results
presented in the paper, the algorithm appears to be effective and stable on
different initial designs and move limits.
The full
potential of the fuzzy PD controller optimization engine is not realized yet.
More constraintbound examples should be tested, and the algorithm should be
extended to more general optimization problems.
6. Reference
[1] Rao,
S. S. Engineering Optimization, Theory
and Practice, 3rd Ed., John Wiley & Sons, Inc. 1996.
[2] Papalambros,
P., and Wilde D. J. Principles of Optimal
Design – Modeling and Computation, 2nd Ed., Cambridge University Press, 2000.
[3] Hsu
Y. L., Liu T. C., Thibault F., Lanctot B., “Design Optimization of the Blow
Moulding Process Using Fuzzy Optimization Algorithm,” Proceedings of the I MECH
E Part B Journal of Engineering Manufacture, Vol. 218, No. 2, 1 February 2004,
p. 197212(16).
[4] Hsu,
Y. L., Liu, T.C. and Liu, T. L. “A Fuzzy Proportional Derivative Controller for
Engineering Optimization Problems Using Optimality Criteria Approach,”
accepted, Engineering Optimization,
November 2004.