1. Field of the Invention
The present invention relates to solving a constrained optimization problem.
2. Description of the Related Art
Recently, there has been a demand for solving constrained optimization problems in various industrial fields. A constrained optimization problem is defined as a problem to be solved by finding a point at which the value of an objective function is maximized or minimized within a subset of points subject to constraints. In other words, solving a constrained optimization problem is to formulate the problem and select the optimal solution from among possible solutions.
A constrained optimization problem may be applied to automated design, such as determining design parameters for obtaining a desired specification. More specifically, a constrained optimization problem may applied to finding a molecular structure having a minimum level of energy, determining the interface shape of two types of liquids, or a liquid and a gas, held in a container at a constant volume, or determining optimal lens shape, lens spacing, and lens material for obtaining a desired optical characteristic.
A typical constrained optimization problem of minimizing the value of a real function E(r)=0 subject to the constraint S(r)=0 will be described below. Here, r is an n-dimensional real vector
The problem of maximizing the real function can be solved by inverting the positive and negative signs of the same objective function.
In general, an algorithm for solving an unconstrained optimization problem finds a point r at which a function E(r) is minimized, starting from an initial vector r(0), according to data related to a gradient vector T=−∇E(r).
However, the solutions of a constrained optimization problem cannot be obtained by such a simple algorithm. Therefore, various methods for solving a constrained optimization problem have been developed. Some typical methods include the penalty method and the multiplier method (the method of Lagrangian undetermined multipliers). These methods are described in Chapter 9 of “Shinban suchikeisan hando-bukku (New Edition of Numerical Calculation Handbook)” (Tokyo: Ohmsha, 1990) edited by Yutaka Ohno and Kazuo Isoda.
The penalty method adds a penalty function P(r) to the objective function E(r) so that the value of the function becomes 0 when the constraint holds and becomes significantly large when the constraint is violated. In other words, in the penalty method, a newly introduced objective function Ω(r)=E(r)+P(x) is minimized. A typical penalty function may be P(r)=ωS(r)2, where ω is a positive number that is adjusted to a suitable value in the process of finding the local minimum.
The multiplier method makes a newly introduced objective function Ω(r, λ)=E(r)+λS(r) stationary by introducing an undetermined multiplier λ. The objective function Ω(r, λ)=E(r)+λS(r) is subject to the constraint
which is a stationary condition of Ω(r) with respect to λ.
However, these known methods for solving a constrained optimization have the following problems. For the penalty method, selecting the penalty function becomes a problem. In the case of P(r)=ωS(r)2, unless the value of ω is adjusted satisfactorily, the results of the computation do not converge to the correct value.
For the method of Lagrangian undetermined multipliers, although a local minimum of E(r) is to be found, in actuality, in general, a saddle point of Ω(r) is obtained instead of the local minimum of Ω(r). Various algorithms for finding a saddle point have been proposed, but they are not as easy as the algorithms for finding local minima.
The present invention provides a method for easily solving a constrained optimization problem.
The present invention provides a method for converging the solution of the constrained optimization problem to a correct value.
According to one aspect of the present invention, a constrained optimization method includes steps of linearly approximating a point of interest to a first hypersurface given as a constraint and finding the extreme value of an objective function by moving a point of interest along a curved line having second-order osculation with the plane tangential to a second hypersurface associated with the first hypersurface, the second hypersurface passing through the point of interest.
According to another aspect of the present invention, a constrained optimization apparatus includes a linearly approximating unit for approximating a point of interest to a first hypersurface given as a constraint and a finding unit for finding the extreme value of an objective function by moving the point of interest along a curved line having second-order osculation with a plane tangential to a second hypersurface associated with the first hypersurface, the second hypersurface passing through the point of interest.
According to another aspect of the present invention, a computer-readable program controls a computer to perform optimization and includes code for causing the computer to perform steps of linearly approximating a point of interest to a first hypersurface given as a constraint and finding the extreme value of an objective function by moving the point of interest along a curved line having second-order osculation with a plane tangential to a second hypersurface associated with the first hypersurface, the second hypersurface passing through the point of interest.
Further features and advantages of the present invention will become apparent from the following description of example embodiments (with reference to the attached drawings).
Example embodiments of the present invention will now be described in detail with reference to the drawings.
The method for optimization according to this embodiment includes two steps: linearly approaching the hypersurface S(r)=0 and finding an extreme value along a curved line having second-order osculation in the projection direction of the gradient vector of the plane tangential to the hypersurface S(r)=c. More specifically, the method includes the steps illustrated in the flow chart of
Step S11: Setting the initial value for a point r: The initial value of a point r is set as r0 by r:=r0. In this document, “:=” is a symbol indicating that the character(s) written on the right of this symbol (in the case where a formula is written, the value obtained by the formula) is set to the variable (a data item whose value can be changed in a computer program) written on the left of this symbol.
Step S12: Linearly approximating the hypersurface S(r)=0:
A straight line in the gradient direction of the hypersurface S(r)=0 is represented as r(t)=r−t∇S(r), where t is a parameter. Since S(r−t∇S(r))=S(r)−t<∇S(r), ∇S(r)>+o(t) in the proximity of the point r, the point r approximates the hypersurface S(r)=0 by setting t and r as
and
r:=r−t∇S(r).
Here, “<, >” represents the inner product in a vector space and “∥” represents the norm derived from the inner product.
Step S13: Calculating the unit normal vector: The unit normal vector n orthogonal to the hypersurface S(r)=c passing through the point r is calculated by
Step S14: Projecting the gradient vector −∇E(r) of the real function E(r) onto the tangent plane:
The direction G that is a projection direction of the gradient vector −∇E(r) of the real function E(r) orthogonal to the plane tangential to the hypersurface S(r)=c is calculated by G:=−∇E(r)+<n, ∇E(r)+>n.
Step S15: Determining convergence:
If the magnitude of G is smaller than ε, the real function E(r) is assumed to have been minimized, and the process is ended.
Step S16: Calculating the geodesic line:
The geodesic line that passes through the point r on the hypersurface S(r)=c and is directed in the direction G is represented as r(t)=r+tG+t2λn+o(t2), where t is a parameter and λ is a constant. Here, λ is determined as shown below. In the proximity of the point r,
S(r+ε)=S(r)+<ε, ∇S(r)>+1/2<ε, Jε>+o(ε2)
Therefore,
In the equations above, <G, ∇S(r)>=0. Here, J is a matrix having ij components represented by
If the value of λ is determined so that the coefficient of t2 equals 0, then
Step S17: Updating the point r along the quadratic curve:
For the real function E(r), the value along the quadratic curve r(t)=r+tG+t2λn having second-order osculation with the geodesic line passing through the point r and directed in the direction G is
Here, K is a matrix having ij components represented by
and a and b are calculated as
a=λ<n, ∇E(r)>+1/2<G, KG>, and
b=<G, ∇E(r)>.
Therefore, if a>0, the value of the real function E(r(t)) is minimized at t=−b/2a. The point r is preferably be updated by approximating the minimal value so that the value of t does not become too large. In other words,
S:=−b/2a
r:=r+tG+t2λn.
Here, d is the upper limit of t|G|.
On the other hand, if a<0, the real function E(r(t)) does not have a local minimum. Therefore, the point r can be moved in the direction that reduces the value of the function E(r(t)) so that the point r is not moved a large distance. In other words, t:=d/|G| and r:=r+tG+t2λn.
Since b≦0, the cases described above can be combined to derived the following computational expressions:
s:=−b/2a
if 0≦s≦d/|G|, and otherwise
r:=r+tG+t2λn.
Step S18: The process returns to Step S12.
The method for optimization according to this embodiment includes two steps: linearly approximating the hypersurface S(r) and finding extreme values along curved lines having second-order osculation to the plane tangential to the hypersurface S(r)=c in the projection direction of the unit vectors of each axial direction of the coordinate system. More specifically, the method includes the steps illustrated in the flow chart of
Step S21: Setting the initial value of the point r: Each component of r(0) is r1(o), r2(0), . . . , rn(0). These initial values r1(0), r2(0), . . . , rn(0) are set in the variables r1, r2, . . . , rn whereas
r1, r2, . . . , rn∈R.
Step S22: Linearly approximating the hypersurface S(r)=0:
A straight line in the gradient direction of the hypersurface S(r)=0 is represented as r(t)=r−t∇S(r), where t is a parameter. Since S(r−t∇S(r))=S(r)−t<∇S(r), ∇S(r)>+o(t) in the proximity of the point r, the point r approximates the hypersurface S(r)=0 by setting S, t, and r as
S(r−t∇S(r))≈0
and
r:=r−t∇S(r)
Here, “<, >” represents the inner product in a vector space and “∥” represents the norm derived from the inner product.
Step S23: Calculating a unit normal vector:
The unit normal vector n orthogonal to the hypersurface S(r)=c passing through the point r is calculated by
Then, Steps 24 to 26 are carried out in sequence for each direction i=1, . . . , n.
Step 24: Projecting the unit vector ei of direction i onto the tangent plane:
If Gi is the vector of the unit vector ei of a direction i projected onto the tangent plane, then Gi:=ei−<n, ei>n.
Step 25: Determining an unknown parameter of the updated amount of the point r:
The updated amount of the point r is tiGi+ti2λin, where t is a parameter and Gi is the projection vector of the unit vector projected in the direction i onto the plane tangential to hypersurface S(r)=c. Here, if the updated point r is represented as r(ti), then r(ti)=r+tiGi+ti2λin+o(ti2), where λi is a constant determined as shown below. In the proximity of the point r,
In the equations above, <Gi, ∇S(r)>=0. Here, J is a matrix having ij components represented by
If the value of λi is determined so that the coefficient of ti2 equals 0, then
Step 26: Updating the point r(i=1, . . . , n):
For the real function E(r), the value along the quadratic curve r(ti)=r+tiGi+ti2λin+o(ti2) having second-order osculation and passing through the point r is
Here, K is a matrix having ij components represented by
and a and b are calculated as
a=λi<n, ∇E(r)>+1/2<Gi, KGi>
b=<Gi, ∇E(r)>.
Therefore, if a>0, the value of the real function E(r(ti)) is minimized at ti=−b/2a. The point r is preferably updated by approximating the minimal value so that the value of ti does not become too large. In other words,
S:=−b/2a
if |s|≦di/|Gi|otherwise
r:=r+tiGi+ti2λin
where, di is the upper limit of ti|Gi|.
On the other hand, if a<0, the real function E(r(ti)) does not have a local minimum. Therefore, the point r can be moved in the direction that reduces the value of the function E(r(ti)) so that the point r is not moved a large distance. In other words, ti:=di/|Gi| and r(ti):=r+tiGi+ti2λin.
Step 27: The process returns to Step 24 and processes the next i.
Step S28: Determining convergence:
If |Gi| for each direction i(i=1, . . . , n) is smaller than the convergence ε, the real function E(r(ti)) is assumed to have been minimized, and the process is ended.
Step 29: The process returns to Step 22.
The optimization algorithm according to this embodiment includes two steps: linearly and asymptotically approximating a hypersurface S(r)=0 as a constraint and finding an extreme value in the projection direction onto a plane tangential to the hypersurface S(r)=c.
The optimization algorithm according to this embodiment is extremely effective in solving the problem of determining the interface shape of two types of liquids, or a liquid and a gas, held in a container at a constant volume.
This kind of problem is formulated into a problem of minimizing the sum of the surface energy and the gravitational energy of the liquids (or liquid and gas). When generalized, such a constrained optimization problem can be perceived as a problem of finding the local minimum of the formulated real function E(r) subject to the constraint S(r)=0.
Accordingly, the optimization algorithm according to this embodiment includes the steps illustrated in the flow chart of
Step S31: Setting the initial value for a point r: The initial value of a point r is set as r0(r:=r0).
Step S32: Linearly approximating the hypersurface S(r):
A straight line in the gradient direction of the hypersurface S(r) is represented as r(t)=r−t∇S(r), where t is a parameter. Since S(r−t∇S(r))=S(r)−t<∇S(r), ∇S(r)>+o(t) in the proximity of the point r, the point r approximates the hypersurface S(r) by setting t and r as
and
r:=r−t∇S(r).
Here, “<, >” represents the inner product in a vector space and “∥” represents the norm derived from the inner product.
Step S33: Calculating the unit normal vector:
The unit normal vector n orthogonal to the hypersurface S(r)=c passing through the point r is calculated by
Step S34: Projecting the gradient vector −∇E(r) of the real function E(r) onto the tangent plane:
The direction G that is the projection direction of the gradient vector −∇E(r) of the real function E(r) orthogonal to the plane tangential to the hypersurface S(r)=c is calculated by G:=−∇E(r)+<r, ∇E(r)+>n.
Step 35: Geodesic line:
The geodesic line that passes through the point r on the hypersurface S(r)=c and is directed in the direction G is represented as r(t)=r+tG, where t is a parameter. Here, the value of the real function E(r) along this geodesic line is
Here, K is a matrix having ij components represented by
In the equations above, if <G, KG>>0, the value of the real function E(r) is minimized at
The point r is preferably updated by approximating the minimal value so that the value of t does not become too large. In other words,
if s≦Lmax/|G|otherwise
r:=r+tG.
On the other hand, if <G, KG><0, the real function E(r) does not have a local minimum. Therefore, the point r can be moved in the direction that reduces the value of the function E(r) so that the point r is not moved a large distance. In other words,
r:=r+tG.
Since <G, ∇E(r)>≦0, the two equations described above can be combined to derive the following expressions:
if 0≦s≦Lmax/|G|otherwise
r:=r+tG
where Lmax is the upper limit of t|G|.
Step 36: The process returns to Step 32.
Step S37: Determining convergence:
If the |G| is smaller than the convergence ε, the real function E(r) is assumed to have been minimized, and the process is ended.
In
The program, including an optimization algorithm, for solving an optimization problem according to this embodiment is recorded on the floppy disk 29. The floppy disk 29 is loaded into the floppy disk drive 26 and then the program for solving an optimization problem stored on the floppy disk 29 is downloaded into the computer 22. The program is stored into the RAM and is executed. The program may be recorded on media other than a floppy disk, for example, a CD-ROM or a hard disk.
While executing the program for solving an optimization problem, the minimal value at each predetermined time interval is displayed on the monitor 23 so that the found minimal value can be monitored in real time by an observer.
In
The processing unit 30, illustrated in
The computing unit 30a executes the program for solving an optimization problem stored in the computing-process storage unit 30b. At the same time, the computing unit 30a stores intermediate computed results and the final computed results in the intermediate-data storage unit 30c and saves the final computed results in the external storage device 33. The computing unit 30a prints out the final computed results stored in the intermediate-data storage unit 30c from the printer 32 via the data output unit 30d. The computing unit 30a also displays, in real time, the final computed results on the monitor 23 via the data output unit 30d.
The input device 31 includes the keyboard 24 and the mouse 25, as illustrated in
A first example application of the embodiments of the present invention is described next.
The constrained optimization algorithm according to the first example application is based on the first embodiment of the present invention and includes two steps: linearly approximating the hypersurface S(r)=0 and finding an extreme value along a curved line having second-order osculation with the geodetic line of the hypersurface S(r)=c passing through a point r. Here, for the two-dimensional real vector
x, y∈R,
the real function E(r) is to be minimized subject to the constraint condition S(r)=0 where
E(r)=x2+y2.
This problem can be solved according to the steps described below.
First Step: Setting the initial value for a point r:
The initial values x(0) and y(0) are set as x:=x(0) and y:=y(0).
Second Step: Linearly approximating the hypersurface S(r)=0:
x:=x−tSx
y:=y−tSy
Third Step: The unit normal vector n of the hypersurface S(r)=c passing through the point r:
Fourth Step: Projecting the gradient vector of the real function E(r) to the tangent plane:
Ex:=2x
Ey:=2y
Gx=−Ex+(nxEx+nyEy)nx
Gy:=−Ey+(nxEx+nyEy)ny
Fifth Step: Determining convergence:
If |G|<ε, then the process is ended.
Sixth Step: Coefficient of the geodetic line equation:
Seventh Step: Updating the point r along the quadratic curve:
a:=λ(nxEx+nyEy)+Gx2+Gy2
b:=GxEx+Gy+Ey
s:=−b/2a
x:=x+tGx+t2λnx
y=y+tGy+t2λny
Eighth Step: The process returns to the second step.
As an example of the computation, the results of executing the above-described steps, where a=2, b=1, x0=2.5, y0=0.5, d=0.5, and ε=10−8 are illustrated in
As illustrated in
The constrained optimization algorithm according to a second example application is similar to the first example application in that it is based on the first embodiment of the present invention and includes two steps: linearly approximating the hypersurface S(r)=0 and finding an extreme value along a curved line having second-order osculation with the geodetic line of the hypersurface S(r)=c passing through a point r. Here, p that minimizes the real function
E(ρ)=Tr[(3ρ2+2ρ3)H]
subject to the constraint condition S(ρ)=0 and the value of the real function E(ρ) are to be determined, where ρ and H are real symmetric matrices of m×n and Ne is a positive value, S(ρ) is a function defined as
S(ρ)=Tr[3ρ2−2ρ3]−Ne,
and Tr is the trace of the matrix. In this case, the problem of determining the ground state of an independent Ne electron system denoted in a Hamiltonian matrix H is formulated using a density matrix (X.-P. Li, R. W. Nues, and D. Vanderbilt, Physical Review B, Vol. 47, p. 10891, 1993).
A known method for solving this problem is the method using a chemical potential (which can be understood as a type of multiplier method) (SY Qui, C. Z. Wang, K. M. Ho, and C. T. Chan, Journal of Physics: Condensed Matter, Vol. 6, p. 9153, 1994).
If the real symmetric matrix p is a vector having m(m−1)/2 independent components and the inner product of two symmetric matrixes ρ1 and ρ2 is defined as <ρ1, ρ2>=Tr(ρ1ρ2), this problem can be solved by applying the optimization algorithm according to this embodiment through the steps described below.
First Step: Setting the initial value for the real symmetric matrix ρ:
The initial matrix ρ(0) is used to set ρ:=ρ(0).
Second Step: Linearly approximating the
hypersurface S(ρ)=0:
S:=Tr[3ρ2−2ρ3]−Ne
D:=6(ρ−ρ2)
ρ:=ρ−tD
Third Step: The unit normal vector (m×m real symmetric matrix) N to the hypersurface S(ρ)=c passing through the point ρ:
D:=6(ρ−ρ2)
α:=Tr(D2)
Fourth Step: Projecting the gradient vector of the real function E(r) to the tangent plane:
F=−3 (ρH−Hρ)+2 (ρ2H+ρHρ+Hρ2)
G:=F−Tr(NF)N
Fifth Step: Determining convergence:
If {square root}{square root over (Tr(G2))}<ε, then the process is ended.
Sixth Step: Coefficient of the geodetic line equation:
Seventh Step: Updating the point r along the quadratic curve:
b:=−Tr[GF]
s:=−b/2a
ρ:=ρ+tG+t2λN
Eighth Step: The process returns to the second step.
By using an algorithm that includes a step of linearly approximating the hypersurface S(r)=0 and a step of finding an extreme value along a curved line having second-order osculation with the geodetic line of the hypersurface S(r)=c passing through a point r, the solution to a constrained optimization problem can be derived through a simple calculation process.
The constrained optimization algorithm according to a third example application is based on the second embodiment of the present invention and includes two steps: linearly approximating the hypersurface S(r) and finding extreme values along curved lines having second-order osculation to the plane tangential to the hypersurface S(r)=c in the projection direction of the unit vectors of each axial direction of the coordinate system. Here, for the two-dimensional real vector
x, y∈R,
the real function E(r) is to be minimized subject to the constraint condition S(r)=0 where
E(r)=x2+y2.
This problem can be solved according to the steps described below.
First Step: Setting the initial value for a point r:
The initial values x(0) and y(0) are set as x:=x(0) and y:=y(0).
Second Step: Linearly approximating the
hypersurface S(r)=0:
x:=x−tSx
y:=y−tSy
Third Step: The unit normal vector n of the hypersurface S(r)=c passing through the point r:
Fourth Step: Projecting the unit vector ei of a direction i onto the tangent plane (i=1, 2):
Fifth Step: Determining an unknown parameter λi:
Sixth Step: Updating the point r(i=1, 2):
a:=1
s:=−b/2a
if |s|≦di/|Gi|otherwise
x=x+tiGix+ti2λinx
y:=y+tiGiy+ti2λiny
Seventh Step: The process returns to the fourth step.
Eighth Step: Determining convergence:
If |Gi| for each of the directions i(i=1, 2) is smaller than the convergence ε, the real function E(r) is assumed to have been minimized, and the process is ended.
If this process is carried out, where a=2, b=1, x0=2.5, y0=0.5, d=0.1, and ε=10−7, the values start from the initial values (2.5, 0.5) and converge to the values (0.0, 1.0) that minimize the real function E(x, y), as illustrated in
The constrained optimization algorithm according to a fourth example application is similar to the third example application in that it is based on the second embodiment of the present invention and includes two steps: linearly approximating the hypersurface S(r) and finding extreme values along curved lines having second-order osculation to the plane tangential to the hypersurface S(r)=c in the projection direction of the unit vectors of each axial direction of the coordinate system. Here, for the three-dimensional real vector
x, y, z∈R,
the real function E(r) is to be minimized subject to the constraint condition S(r)=0 where
E(r)=x2+y2+z2.
This problem can be solved according to the steps described below.
First Step: Setting the initial value for a point r:
The initial values x(0) y(0), and z(0) are set as x:=x(0), y:=y(0) and z:=z(0).
Second Step: Linearly approximating the hypersurface S(r)=0:
x:=x−tSx
y:=y−tSy
z:=z−tSz
Third Step: The unit normal vectors:
Fourth Step: Projecting the unit vector ei in direction i onto the tangent plane (i=1, 2, 3):
Fifth Step: Determining an unknown parameter λi:
Sixth Step: Updating the point r(i=1, 2, 3):
a:=1
s:=−b/2a
if |s|≦di/|Gi|otherwise
x:=x+tiGix+ti2λnx
y:=y+tiGiy+ti2λiny
z:=z+tiGiz+ti2λinz
Seventh Step: The process returns to the fourth step.
Eighth Step: Determining convergence:
If |Gi| for each of the directions i(i=1, 2, 3) is smaller than the convergence ε, the real function E(r) is assumed to have been minimized, and the process is ended.
If this process is carried out, where a=3, b=2, c=1, x0=2.5, y0=2.5, z0=2.5, d=0.1, and ε=10−7, the values start from the initial values (2.5, 2.5, 2.5) and converge to the values (0.0, 0.0, 1.0) that minimize the real function E(x, y, z), as illustrated in
By using an algorithm that includes a step of linearly approximating the hypersurface S(r) and a step of finding an extreme value along a curved line having second-order osculation with the geodetic line of the hypersurface S(r)=c passing through a point r, the solution to a constrained optimization problem can be derived through a simple calculation process.
The optimization algorithm according to this embodiment includes two steps: linearly and asymptotically approximating a hypersurface S(r)=0 as a constraint wherein
and finding an extreme value in the projection direction onto a plane tangential to the hypersurface S(r)=c wherein
G:=−∇E(r)+<r, ∇E(r)>n
if s≦Lmax/|G|
otherwise
r:=r+tG.
Here, for the two-dimensional real vector r=(x, y), the real function E(r) is to be minimized subject to the constraint condition S(r)=0 where
E(r)=x2+y2
S(r)=ax+by−1.
This problem can be solved according to the steps described below.
First Step: Setting the initial value for a point r:
The initial values x(0) and y(0) are set as x:=x(0) and y:=y(0).
Second Step: Linearly approximating the hypersurface S(r)=0:
S:=ax+by−1
Sx:=a
Sy:=b
x:=x−tSx
y:=y−tSy
Third Step: The unit normal vector n of the hypersurface S(r)=c passing through the point r:
Fourth Step: Projecting the gradient vector of the real function E(r) to the tangent plane:
Ex:=2x
Ey:=2y
Gx=−Ex+(nxEx+nyEy)nx
Gy:=−Ey+(nxEx+nyEy)ny
Fifth Step: Determining convergence:
If |G|<ε, then the process is ended.
Sixth Step: Updating the point r along the quadratic curve:
α=Gx2+Gy2
β=GxEx+GyEy
s:=−β/2α
if 0≦t≦Lmax/|G|otherwise
x:=x+tGx
y:=y+tGy
Seventh Step: The process returns to the second step.
The computational results of carrying out the above-described steps, where a=2, b=1, x0=1.5, y0=1.8, and ε=10−8, are illustrated in
As illustrated in
The sixth example application of the optimization algorithm according to the third embodiment of the present invention is similar to the fifth example application in that, for the three-dimensional real vector r=(x, y, z), the real function E(r) is to be minimized subject to the constraint condition S(r)=0 where
E(r)=x2+y2+z2
S(r)=ax+by+cz−1.
This problem can be solved according to the steps described below.
First Step: Setting the initial value for a point r:
The initial values x(0), y(0), and z(0) are set as x:=x(0), y:=y(0), and z:=z(0).
Second Step: Linearly approximating the hypersurface S(r)=0:
S:ax+by+cz−1
Sx:=a
Sy=b
Sz:=c
x:=x−tSx
y:=y−tSy
z:=z−tSz
Third Step: The unit normal vectors:
Fourth Step: Projecting the gradient vector of the real function E(r) to the tangent plane:
Ex=2x
Ey=2y
Ez=2z
Gx=−Ex+(nxEx+nyEy+nzEz)nx
Gy:=−Ey+(nxEx+nyEy+nzEz)ny
Gz:=−Ez+(nxEx+nyEy+nzEz)nz
Fifth Step: Determining convergence:
If |G|<ε, then the process is ended.
Sixth Step: Updating the point r along the quadratic curve:
α=Gx2+Gy2+Gz2
β=GxEx+GyEy+GzEz
s:=−β/2α
if 0≦t≦Lmax/|G|otherwise
x:=x+tGx
y:=y+tGy
z:=y+tGz
Seventh Step: The process returns to the second step.
The computational results of carrying out the above-described steps, where a=2, b=1, c=1, x0=1.5, y0=1.8, z0=0.8, and ε=10−8, the values start from the initial values (1.5, 1.8, 0.8) and converge to the values (⅓, ⅙, ⅙) that minimize the real function E(x, y, z), as illustrated in
As described above, by carrying out the steps according to the fifth and sixth example applications, the solution to a constrained optimization problem can be derived through a simple calculation process.
The present invention is not limited to the above-described embodiments and may be applied to multi-purpose computers, such as personal computers and mainframes that can be used for various purposes, such as scientific computations, business transactions, or controls, in accordance with the software executed. Moreover, the present invention may be applied in a computer that stores an optimization algorithm according to the present invention and that is mainly used for solving optimization problems.
The present invention may be applied to any kind of structure so long as the functions according to the embodiments of the present invention can be realized. For example, the structure of the software and hardware according to the embodiments of the present invention are interchangeable.
The present invention may be realized by supplying a storage medium (or recording medium) storing the program code for the software for realizing the functions of the above-described embodiments to a system or apparatus and by reading out and executing the program code stored on the storage medium (or recording medium) by a computer (CPU or micro-processing unit (MPU)). In this case, the program code read out from the storage medium (or recording medium) realizes the functions of the embodiments, and, thus, the program code is included in the scope of the present invention. The software program code is included in the scope of the present invention when the functions of the above-described embodiments are realized by executing the read-out program code by a computer and also when the functions of the above-described embodiments are realized by an operating system (OS) operating on a computer fully or partially carrying out a process based on the program code.
The program code read out from the storage medium (or recording medium) is included in the scope of the present invention also when the functions according to the above-described embodiments are realized by storing the program code in a memory included in a function expansion board of a computer or a function expansion unit connected to a computer and carrying out the entire process or part of the process according to the software program code by a CPU of the function expansion board or the function expansion unit. When the present invention is applied to the above-described storage medium (or recording medium), the program code corresponding to the above-described flow charts will be stored in the storage medium (or recording medium).
Although the present invention has been described with reference to exemplary embodiments with a certain degree of particularity, many apparently widely different embodiments of the invention can be made without departing from the spirit and the scope thereof. It is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.
This application claims priority from Japanese Patent Application No. 2004-073299 filed Mar. 15, 2004, which is hereby incorporated by reference herein.
Number | Date | Country | Kind |
---|---|---|---|
2004-073299(PAT.) | Mar 2004 | JP | national |