Page 285 - MATLAB an introduction with applications
P. 285
270 ——— MATLAB: An Introduction with Applications
Subsequent Values of the Penalty Parameter:
Once the initial value of r is chosen, the subsequent values of r is selected so that
k
k
r k +1 < r k (5.18)
The values of r are chosen such that
k
r k + 1 < cr k (5.19)
where c < 1. The value of c can be taken as 0.1, 0.2 or 0.5.
Convergence Criteria:
The process will be terminated whenever the following conditions are satisfied.
The relative difference between the values of the objective function obtained at the end of any two
consecutive unconstrained minimizations falls below a small number ε , that is,
1
( f X * k ) − ( f X * k − 1 ) ≤ε
( f X * k ) 1
*
The difference between the optimum points X and X * becomes very small. This can be judged in several
k k− 1
ways. Some of them are given below:
|(∆X) | ≤ ε 2
i
*
where ∆X = X – X * k− 1 , and (∆X) is the ith component of the vector ∆X.
i
k
max|(∆X) | ≤ ε 3
i
=
2
2 1/2
2
| ∆X | [(∆X ) + (∆X ) + + ) ] ≤ ε 4
... (∆X
n
2
1
It is advisable to normalize the constraints so that they vary between –1 and 0 as far as possible.
If the constraints are not normalized, the problem can still be solved effectively by defining different
penalty parameters for different constraints as
m R j
(, ) =
( ) r
φ X r k f X − k∑ ()
j= 1 g X
j
where R , R , …, R are selected such that the contributions of different g (X) to the φ function will be
j
m
1
2
approximately the same at the initial point X .
1
5.9 EXAMPLE PROBLEMS AND SOLUTIONS
Example E5.1: Minimize the following function using Newton’s method.
2
2
f(x, y) = x – x x – 5x + x – x 2
2
1
1 2
1
Use initial guesses, x = 0 and y = 0.
Solution:
>> fn=inline(‘x(1)^2–x(1)*x(2)–5*x(1)+x(2)^2–x(2)’,‘x’);
>> gn=inline(‘[2*x(1)–x(2)–5 –x(1)+2*x(2)–1]’,’x’);