//Logo Image
Author: Tzu-Chi Liu, Yeh-Liang Hsu (2005-07-14); recommended: Yeh-Liang Hsu (2004-07-19).
Note: This paper is presented at The 13th National Conference on Fuzzy Theory and Its Applications, September.30 – October.1,2005, Kaohsiung, Taiwan.

A Fuzzy Proportional-Derivative Controller for Constraint-Bound Engineering Optimization Problems

Abstract

This paper proposes a fuzzy proportional-derivative (PD) controller optimization engine for constraint-bound 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 constraint-bound engineering design optimization examples are presented to demonstrate this algorithm.

Keywords: constraint-bound, 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 proportional-derivative (PD) controller optimization engine for “constraint-bound” engineering optimization problems. In a constraint-bound 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 real-world engineering design problems have complex phenomena and are often hard to be expressed with a well-defined mathematical optimization model, which hinders the use of formal numerical optimization techniques to solve these problems. Moreover, design modifications in real-world 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 proportional-derivative (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 constraint-bound 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 closed-loop 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 decision-making 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 (xq+1 = xq + Dxq) and the new system process output yq+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 constraint-bound 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 Tmin, Fmin, Pmax 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 “constraint-bound” 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×104Pa. The parameters are: Tmin = 3mm, Fmin = 98N, Pmax = 2.45×104Pa. 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 g1 only depends on variable t, which is monotonically decreasing with respect to g1. 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 Δtmax, Δfmax, Δpmax, and Δimax are the user defined “move limits” of the variables in one iteration. In this case, (Δtmax, Δfmax, Δpmax, Δimax) = (1, 5, 1, 5).

Table 4. The quantization level of the fuzzy outputs

Quantized Level

Δt

Δf

Δp

Δi

2

Δtmax

Δfmax

Δpmax

Δimax

1

Δtmax/2

Δfmax/2

Δpmax/2

Δimax/2

0

0

0

0

0

-1

tmax/2

fmax/2

pmax/2

imax/2

-2

tmax

fmax

pmax

imax

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 plus-minus 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×104Pa, i = 71.4mm are close to the analytical solution t* =3.00 mm, f* = 98.02N, p* = 2.45×104Pa, 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 g1); the thicknesses of the head and the wall have to satisfy the ASME code (g2, g3), and there are constraints on the size of the tank (g4, g5, g6).

Figure 4. Air tank design

 

                                                                                       (5)

Using monotonicity analysis, it can be found that this is a constraint-bound problem and the 4 active constraints are g1, g2, g3, and g6. 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 constraint-bound 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 constraint-bound 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. 197-212(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.