LP Narrowing 非線形回路の新しい全解探索法

Download Report

Transcript LP Narrowing 非線形回路の新しい全解探索法

LP Narrowing: A New Strategy
for Finding All Solutions of
Nonlinear Equations
Kiyotaka Yamamura
Naoya Tamura
Koki Suda
Chuo University, Tokyo, Japan
Finding all solutions of nonlinear equations is an
important problem which is widely encountered
in science and engineering.
Introduction
‫ ﻪ‬In this presentation, we discuss the problem of finding
all solutions of a system of n nonlinear equations with a
separable mapping:
f (x) = 0
(1)
contained in a box D in Rn.
‫ ﻪ‬In
Actually,
the algorithm
proposed
in thisverified
presentation
can be
this presentation,
we do
not consider
numerical
applied to more
general
systemsconsider
of nonlinear
equations, to
butlargewe
computation
because
we mainly
the application
restrict
our discussion
to the
separable
systems
theobtain
scale
practical
engineering
problems
where
it is because
enough to
proposed algorithm
is especially efficient for such systems.
approximate
solutions.
Interval Algorithms
‫ ﻪ‬As a computational method to find all solutions of
nonlinear equations, interval analysis based techniques
are well-known.
‫ ﻪ‬Using the interval algorithms, all solutions of (1)
contained in D can be found with mathematical certainty.
‫ ﻪ‬However, the computation time of the interval algorithms tends to grow exponentially with the dimension n.
‫ ﻪ‬Therefore, it is necessary to develop a powerful test for
nonexistence of a solution in a given box.
LP Test
‫ ﻪ‬In [1], a powerful computational test was proposed for
nonexistence of a solution to the system of nonlinear
equations (1) in a given box X.
‫ ﻪ‬In [2], the LP test was much improved by introducing the
dual simplex method, by which the LP test becomes not only
powerful but also efficient. In [2], the Krawczyk-Moore
algorithm using the LP test succeeded in finding all solutions
to systems of nonlinear equations with n = 200.
‫ ﻪ‬In [3], an improved version of this algorithm is proposed,
which succeeded in finding all solutions of systems of
nonlinear equations with n = 300.
Purpose of the Study
We propose an efficient algorithm for finding all
solutions of nonlinear equations using a new strategy
called LP narrowing.
Boxes containing no
solution are excluded.
Boxes containing
solution are narrowed.
It is shown that the proposed algorithm could find all
solutions of systems of 5000-50000 nonlinear equations
in practical computation time.
Basic Procedure of Interval Algorithms
An n-dimensional interval vector is denoted by
In interval algorithms, the following procedure is performed recursively,
beginning with Geometrically,
the initial box XX=isD.
each level, we
analyze the box X.)
an (At
n-dimensional
box.
If there is no solution of (1) in X, then we exclude it from further
consideration.
If there is a unique solution of (1) in X, then we compute it by some
iterative method.
X
If these conditions are not satisfied, then bisect X to form two new
boxes; we then continue the above procedure with one of these
boxes, and put the other one on a stack for later consideration.
Thus, we can find all solutions of (1) contained in D with
mathematical certainty.
Nonexistence test proposed in [1]
For the simplicity of notation, and without loss of generality,
in this presentation we assume that (1) can be represented as
(2)
LP Test
(2)
X=([a1, b1], … ,[an,
bn])
Let the interval extension of gi(xi)
over [ai , bi] be [ci , di].
Then, we introduce yi and put yi = gi(xi).
Now we replace each nonlinear function
gi(xi) in (2) by yi, and consider the LP
problem (3).
Then, we apply the simplex method to (3).
(3)
LP Test Using the Simplex Method
・ All solutions of (2) that exist in X satisfy the constraints in (3).
・ If the LP problem (3) is not feasible, then we can conclude
that there is no solution of (2) in X. (LP test)
・ The feasibility of (3) can be checked by the simplex method.
‫ ﻪ‬By introducing the LP test to the interval algorithms,
all solutions of (2) can be found very efficiently.
‫ ﻪ‬In [1], this algorithm solves a system of nonlinear equations
with n = 60 in practical computation time, although the
original Krawczyk-Moore algorithm can solve the system
only for n < 12.
LP Test Using the Dual Simplex Method
‫ ﻪ‬In [2], it is shown that the LP test can be performed
with a few iterations (often no iteration) per box by
using the dual simplex method.
‫ ﻪ‬Using this technique, the LP test becomes not only
powerful but also efficient.
‫ﻪ‬
In [2], this improved LP test is introduced to the Krawczyk-Moore
algorithm, which could find all solutions of systems of nonlinear
equations with n = 200.
‫ﻪ‬
In [3], an improved version of this algorithm is proposed, which
succeeded in finding all solutions of systems of nonlinear equations
with n = 300.
Proposed Algorithm
‫ ﻪ‬The proposed algorithm is an extension of the algorithm
in [2], to which the idea of narrowing a box using LP
techniques is introduced.
‫ ﻪ‬If X is not excluded, then we narrow the box so that no
solution is lost, which makes the algorithm much more
efficient.
‫ ﻪ‬Now we explain how X is narrowed efficiently by using the
LP techniques.
Narrowing from lower side in xi - direction
First, we apply the dual simplex
method to (4) for i = 1.
x2
X
(4)
*
If the feasible
minimum
value
region
of x(4)
1 is
greater
thanwe
a1, exclude
then weXprune
empty, then
from
further
consideration.
the
lower
part x1  x1* of X.
x1
Narrowing from lower side in xi - direction
x2
Then, we repeat the similar
narrowing procedure in
the xi - directions (i > 1),
and narrow the box in all
coordinate directions from
the lower sides.
X
x1
Narrowing from upper side in xi - direction
Then, we apply the dual simplex
method to (5) for i = 1.
x2
X
(5)
maximum
value
x1* is
is
If the feasible
region
of (5)
less thanthen
b1, we
then
we prune
empty,
exclude
X
from
further
consideration.
the upper
part
x1  x1* of X.
x1
Narrowing from upper side in xi - direction
Then, we repeat the similar
narrowing procedure in
the xi - directions (i > 1),
and narrow the box in all
coordinate directions from
the upper sides.
Such a series of
procedures is called
LP narrowing.
x2
X
x1
LP narrowing
‫ ﻪ‬Notice
that,
in becomes
the LP narrowing,
we feasible
first per-form
‫ ﻪ‬As the
box
smaller, the
regionthe
narrowing
from the
lower
of all xi-directions,
becomesprocedure
smaller, which
makes
thesides
LP narrowing
andmore
thenand
perform
narrowing procedure from the upper
morethe
powerful.
sides.
‫ ﻪ‬The LP problem (4) or (5) can be solved efficiently
‫ ﻪ‬This
is because
it makes the
number
iteration
in the dual
with
a few iterations
by the
dual of
simplex
method.
simplex method small and makes the algorithm efficient.
The LP narrowing is not only powerful but also
efficient and narrows a box very effectively.
Implementation of the Proposed Algorithm
The proposed algorithm can be easily implemented by using
the free package GLPK (GNU Linear Programming Kit )1.
‫ ﻪ‬Callable library for C
‫ ﻪ‬Intended to solve large-scale LP problems
‫ ﻪ‬Known to be very efficient; in many cases, it is faster and more
robust than lp_solve 5.5.
‫ ﻪ‬Work in progress and presently under continual development
‫ ﻪ‬As of the current version 4.27, it is able to handle problems with
up to 100 000 constraints.
1
http://www.gnu.org/software/glpk/
Advantages of Using GLPK
‫ ﻪ‬We can easily perform the dual simplex method
starting from a previously obtained dual feasible basis
by using the control parameter “GLP_DUALP”.
‫ ﻪ‬Since the bounded-variable technique is implemented
in GLPK, it can solve the LP problems of the form (4)
or (5) very efficiently.
GLPK is not only very efficient but also
well-suited to the proposed algorithm.
Numerical Examples
‫ﻪ‬
‫ﻪ‬
‫ﻪ‬
‫ﻪ‬
Programming language: C (double precision)
Dell Precision T7400 (Intel Xeon 3.4GHz)
We used GLPK for solving the LP problems.
We compare the computation time of the proposed
algorithm and the algorithm proposed in [3].
Example 1
A system of n nonlinear equations
(known as Yamamura1)
n
2.5 xi3  10.5 xi2  11.8 xi   xi  i  0,
i 1
Initial Region:
D    10,10 , ,  10,10  for n  3000
T
D    20,20 , ,  20,20  for n  3000
T
i  1, 2, , n
Comparison of computation time (s) in Example 1
n
100
200
300
400
500
:
1000
2000
3000
4000
5000
S
9
13
11
9
13
:
17
9
27
21
15
Ref.[3]
Boxes
Proposed
39 49
0.3
411 259
2
279 345
9
19
36 854
22
47
90 055
54
:
:
53
∞
638
10 minutes
19
∞
5 113
89
∞
37 261
45
∞
73 950
37
∞
507
34124
hours
“Boxes” denotes the
S denotes the number of
number of analyzed boxes
solutions obtained by the
of the proposed algorithm.
algorithms.
∞ denotes that it could not
It is also seen that the number
be computed in practical
of analyzed boxes is very small
computation time.
in the proposed algorithm,
which implies that the LP
narrowing is very powerful.
Notice that the number of
analyzed boxes does not
become large as n increases; it
depends mainly on the
number of solutions.
Example 2
A system of n nonlinear equations
1  n 3 
xi    x j  i   0,
2n  j 1

i  1, 2,, n
Initial Region:
D    2.5,2.5 ,,  2.5,2.5 
T
Comparison of computation time (s) in Example 2
n
100
200
300
400
500
:
1000
2000
3000
4000
5000
S
Ref.[3]
3
3
3
3
3
:
3
3
3
3
3
81
2 139
12 451
72 540
118 409
:
∞
∞
∞
∞
∞
Proposed
0.3
4
20
60
123
:
1 086
10 454
35 368
85 893
149 685
It is seen that a similar result is
Considering
theinsize
of the1.
obtained as that
Example
problem, this number is small.
The total number of pivotings
42,445
The average number of pivotings
in solving the LP problem
0.47
Example 3
A system of n nonlinear equations
xi 1  2 xi  xi 1  h 2 exp xi   0,
i  1, 2,, n
Initial Region:
D   0,5 ,, 0,5 
T
This system comes from a nonlinear two-point
boundary value problem termed the Bratu problem.
Comparison of computation time (s) in Example 3
n
S
Boxes
Ref.[3]
Proposed
50
2
3 63
0.02 The number of solutions is two for all n.
100
2
37 143
0.04
150
2
3 749
142
0.08
:
:
:
1000
2
3
∞
3
5000
2
3
∞
99
10000
2
∞
3
20000
2
∞
3
3 698
30000
2
∞
3
8 705
40000
2
∞
3
17 205
50000
2
∞
3
8 28
hours
296
:
10 minutes
604
The total number of pivotings
The number of analyzed boxes
117,326
of the proposed algorithm is
The
number
onlyaverage
three for
all n . of pivotings
in solving the LP problem
1.9
Proposed Algorithm (Example 3)
‫ ﻪ‬The average narrowing rate per direction (n = 10000)
‫ ﻩ‬in the first box
: 0.59
‫ ﻩ‬from the second box
: 0.000072
It is seen that the LP narrowing is very powerful
and narrows a box very rapidly, especially when
the box contains one solution.
‫ ﻪ‬The number of analyzed boxes is only three for all n.
Proposed Algorithm (Example 3)
x2
This is the reason why the proposed algorithm is very
efficient for this problem, and could solve the NP-hard
problem for n = 50000 in practical computation time.
x1
Proposed Algorithm
The proposed algorithm narrowed the boxes as above.
Example 4
Transistor Circuits
Systems of nonlinear equations containing many strongly
nonlinear terms of the form exp(40xi - 1)
0.02 s
0.01 s
3 solutions
It is seen that all solutions were
9 solutionsfound in little computation time.
0.10 s
0.07 s
one solution
11 solutions
RealPaver [4]
‫ ﻪ‬RealPaver is a well-known interval software package
for solving numerical constraint satisfaction problems
including finding all solutions of nonlinear equations.
‫ ﻪ‬Compare with four algorithms in RealPaver
(called BC3N, BC5, weak3B, and 3B) which are
considered to be the most efficient algorithms there.
[4]
Comparison with RealPaver
Example 1. (sec)
n
S
BC3N
BC5
weak3B
3B
Proposed
6
5
0.57
0.44
0.77
134
0.005
12
9
4 057
2 964
4 580
60 428
0.011
14
5
106 913
73 844
149 005
∞
0.013
For these 8problems,
proposed
algorithm
7
15 the 10
11
1 390
0.009 is much
10 9 than
250 the 174
201
5in
269RealPaver.
0.009
more efficient
algorithms
Example 2. (sec)
n
BC3N
BC5
Example 3. (sec)
weak3B
3B
Proposed
n
BC3N
BC5
weak3B
3B
Proposed
4
0.07
0.03
0.05
18
0.006
10
0.16
0.09
0.23
25
0.009
6
1
0.59
1
122
0.007
20
10
3
7
302
0.010
8
33
10
23
1 423
0.008
30
349
56
123
1 340
0.011
10
709
219
487
23 877
0.009
40
8 826
737
1 840
3 770
0.012
12
13 680
3 735
8 687
∞
0.009
50
204 736
8 397
70 529
8 900
0.014
Conclusion
‫ ﻪﻪ‬An
algorithm
been
proposedisfor
finding
all
Theefficient
interesting
featurehas
of this
algorithm
that
the number
solutions
of boxes
separable
systems
nonlinear
of analyzed
is very
small,ofalthough
LPequations
problemsusing
havea
new
called
to bestrategy
solved 2n
timesLP
fornarrowing.
each box. The computational cost
of solving LP problems 2n times seems to be very large, but
‫ ﻪ‬It has been shown that the proposed algorithm is very
actually they can be solved efficiently by the dual simplex
efficient and has the possibility of solving large-scale systems
method.
of nonlinear equations in practical computation time.
‫ ﻪ‬The proposed algorithm can be easily implemented by using
GLPK.
The proposed algorithm seems to be a useful tool
for finding all solutions of nonlinear equations.