This is a Continuation Application of PCT Application No. PCT/JP2005/011625, filed Jun. 24, 2005, which was published under PCT Article 21(2) in Japanese.
This application is based upon and claims the benefit of priority from prior Japanese Patent Applications No. 2004-223978, filed Jul. 30, 2004; and No. 2005-109988, filed Apr. 6, 2005, the entire contents of both of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to an apparatus, method, recording medium, and computer program product which search for an optimum value of a factor combination to maximize a required characteristic in, e.g., designing, analyzing, or testing a device having a plurality of factors.
2. Description of the Related Art
There are proposed various methods of searching for an optimum value of a factor combination to maximize a required characteristic in designing, analyzing, or testing a device having a plurality of factors.
The methods proposed so far include an optimum value search method using mathematical programming such as the Newton's method or sequential quadratic programming disclosed in, e.g., “Fundamentals and Applications of Optimization Theory” (Corona Publishing, 2000) and an optimum value search method using a technique based on heuristic search such as genetic algorithm or simulated annealing. A method disclosed in, e.g., Jpn. Pat. Appln. KOKAI Publication No. 10-207926 generates a response surface expression to estimate a characteristic by design of experiment and searches for an optimum value by mathematical programming. A method disclosed in, e.g., Jpn. Pat. Appln. KOKAI Publication No. 2000-132535 investigates the distribution of characteristic values obtained by an orthogonal array and estimates the search direction on the basis of the distribution, thereby searching for an optimum value.
These conventional optimum value search methods however have the following problems.
In designing, analyzing, or testing a device, generally, a plurality of factors that have effects on the characteristic are grasped, and the optimum level of each factor is obtained by using an optimum value search apparatus to obtain the most of a required characteristic.
A conventional optimum value search apparatus will be described below with reference to
In the optimum value search methods applied to the conventional optimum value search apparatus, trap by a local optimum value occurs, or an enormous computational complexity is necessary.
The optimum value search method shown in
The optimum value search method shown in
The optimum value search method shown in
Jpn. Pat. Appln. KOKAI Publication No. 2000-132535 proposes a method of investigating the distribution of characteristic values obtained by an orthogonal array and estimating the search direction on the basis of the distribution, thereby searching for an optimum value. This method needs to determine a level value that should be selected to improve each factor. A problem of a 2-level system according to an embodiment of Jpn. Pat. Appln. KOKAI Publication No. 2000-132535 assumes that a factor has a linear characteristic so that the improvement direction can be determined. However, many design problems have interactions between factors. Since a characteristic is nonlinear, it is necessary to use an orthogonal array of 3 or more levels. It is very difficult to determine the improvement direction of an individual factor on the basis of only a characteristic value distribution described in Jpn. Pat. Appln. KOKAI Publication No. 2000-132535.
The present invention has been made in consideration of the above-described situations, and has as its object to provide an apparatus, method, recording medium, and computer program product capable of searching for a global optimum value by a small number of times of calculation or trial.
In order to achieve the above object, the present invention adopts the following means.
The present invention is used in designing, analyzing, or testing a device having a plurality of factors that have effects on a characteristic. According to a first aspect, from the characteristics on an orthogonal array that sets level values obtained from initial values of the factors to coordinates of a two-dimensional table including a matrix of the characteristics and the factors, a combination having a most excellent one of characteristic values obtained on the basis of combinations of level values of the factors of a single characteristic is selected. The level values of the factors in the characteristic corresponding to the selected combination are reset in the orthogonal array. After resetting, an optimum value as a most excellent one of the characteristic values is searched for by repeatedly selecting a combination having a most excellent characteristic value.
Especially to select an optimum characteristic, from the characteristics on an orthogonal array that sets level values obtained from initial values of the factors to coordinates of a two-dimensional table including a matrix of the characteristics and the factors, a combination of level values of the factors to maximize an S/N ratio as a function based on the level values of the factors of a single characteristic and a standard deviation with reference to the level values of the factors of the single characteristic may be selected.
The width of the level value of each factor may be changed in every search. Particularly in this case, the width of the level value to be changed in every search may be decided on the basis of an optimum value obtained in every search. For example, when a variation of the optimum value obtained in every search is larger than a variation of an optimum value obtained in immediately preceding search, the width of the level value is made larger than the width of the level value in the immediately preceding search. When the variation of the optimum value obtained in every search is smaller than the variation of the optimum value obtained in immediately preceding search, the width of the level value is made smaller than the width of the level value in the immediately preceding search.
According to a second aspect of the present invention, in designing, analyzing, or testing a device having a plurality of factors, an orthogonal array is generated by allocating the factors that have effects on a characteristic of the device and level values obtained from initial values of the factors. An optimum value having a most excellent characteristic is selected from characteristic values obtained on the basis of combinations on the orthogonal array. An orthogonal array is generated by resetting, to the initial values of the factors, a combination of the level values of the factors that ensure the selected optimum value. From then, an optimum value is searched for by repeatedly executing the selection step of selecting an optimum value by using the reset orthogonal array and generating the reset orthogonal array.
If an optimum value selected in the current selection step equals an optimum value selected in the preceding selection step, a value of a level width as a difference between adjacent level values in the orthogonal array is changed so that the value of the level width is different from that of an orthogonal array to be used in the next selection step and that of an orthogonal array used in the current selection step.
For example, the value of the level width is changed on the basis of the number of times of equality holding between optimum values selected in a predetermined number of selection steps. More specifically, the level width in an orthogonal array to be used in an nth (n is an integer: n≧2) selection step is represented by a function W(n) which is given by W(n)=A×W(n−1), A>1.0 upon equality holding of first time between the optimum values selected in the selection steps and by W(n)=B×W(n−2), B<1.0 upon equality holding of second time. Conversely, the level width in an orthogonal array to be used in an nth (n is an integer: n≧2) selection step is represented by a function W(n) which is given by W(n)=B×W(n−1), B<1.0 upon equality holding of first time between the optimum values selected in the selection steps and by W(n)=A×W(n−2), A>1.0 upon equality holding of second time. Alternatively, the level width in an orthogonal array to be used in an nth (n is an integer: n≧2) selection step is represented by a function W(n) which is given by W(n)=C×W(n−1), C<1.0 or C>1.0 after equality holding between some of the optimum values selected in the selection steps until the selection step is repeated a predetermined number of times.
The best mode for carrying out the present invention will be described below with reference to the accompanying drawings.
The optimum value search apparatus 10 comprises an input device unit 11, calculator main body 12, output device unit 13, and recording medium 14. The recording medium 14 is not particularly limited to and can be any one of a magnetic disk, Floppy® disk, hard disk, optical disk (e.g., CD-ROM and DVD), magnetooptical disk (e.g., MO), and semiconductor memory if it is a computer-readable medium capable of storing programs and data. The recording medium 14 can be either an independent medium or part of hardware such as a hard disk or memory. The recording medium 14 may record or temporarily record a program transmitted and downloaded through a LAN or Internet.
The recording medium 14 holds, as programs executable by the calculator main body 12 serving as a computer, a device function calculation unit 15 that records a device function calculation program and an optimum value search calculation unit 16 that records an optimum value search program. In addition to the device function calculation program and optimum value search program, the recording medium 14 can also hold a setting program to form these programs, an orthogonal array (to be described later) and data structures in the calculator main body 12.
The calculator main body 12 executes processing by loading the programs recorded on the recording medium 14 or the setting program as needed, causing the programs to built a software means, and causing the software means to control operations.
The device function calculation unit 15 acquires, through the calculator main body 12, device design initial values input from the input device unit 11 and performs calculation related to device functions on the basis of the acquired initial values. The optimum value search calculation unit 16 executes optimum value search calculation applicable to, e.g., design, analysis, or test of a device by running a program complying with the optimum value search method of the present invention.
The output device unit 13 outputs calculation results from the device function calculation unit 15 and optimum value search calculation unit 16.
In the following embodiments, the optimum value search method according to the embodiment of the present invention will be described in detail. The arrangement of the optimum value search apparatus 10 shown in
This flowchart includes step S31 of setting the initial values of factors that have effects on a device characteristic, step S32 of setting a level width, step S33 of allocating the factors to an orthogonal array, step S34 of obtaining characteristic values on the basis of combinations on the orthogonal array, step S35 of selecting an optimum value with a most excellent characteristic from the obtained characteristic values, step S36 of determining the obtained optimum value, step S37 of resetting the initial values if no optimum value is established in step S36, and step S38 of allocating the initial values reset in step S37 to the orthogonal array and returning to the process in step S34. These steps will be described below in detail.
In step S31, the initial value of each of a plurality of factors of a device to be designed, analyzed, or tested is set. In step S32, an orthogonal array suitable for the number of factors and the number of levels is selected. In step S33, the factors are allocated to the orthogonal array. The orthogonal array suitable for allocation is selected in consideration of the number of design factors and the number of levels.
A table 20 shown in
In step S34, characteristic values are obtained for combinations on the orthogonal array. In step S35, an optimum value with a most excellent characteristic is selected from the characteristic values obtained in step S34. First, as indicated by the table 20 in
(a,b,c,d,e,f,g)=(3,2,3,2,1,3,1)
has a most excellent characteristic, this combination is selected as the first optimum value of factors.
The method of determining the optimum value in step S36 will be described later. The method of resetting the initial values in step S37 will be described next.
In step S37, the optimum value selected in step S35, i.e.,
(a,b,c,d,e,f,g)=(3,2,3,2,1,3,1)
is reset to the median of levels, as indicated by a partial table 22 in
(a,b,c,d,e,f,g)=(3,2,2,1,3,1)=(2,2,2,2,2,2,2)
In step S38, the reset optimum values are allocated to generate a new orthogonal array indicated by, i.e., a table 23 in
In step S34, as indicated by, e.g., a partial table 24 in
(a,b,c,d,e,f,g)=(2,3,1,2,3,2,1)
has a most excellent characteristic, this combination is selected as the second optimum value of factors in step S35.
In step S36, it is determined whether to establish the optimum value of factors as the final optimum value. In this determination, for example, the obtained optimum value is compared with the precedingly obtained optimum value (e.g., the optimum value obtained for the second time is compared with that obtained for the first time). If the characteristic of the obtained optimum value serving as an index is lower than that of the precedingly obtained optimum value, or the repetitive number of times of process in steps S34 to S38 has reached a restriction count set in advance, a final optimum value is established, although the determination method is not limited to this. If it is determined that the value is not the optimum value, the process advances to step S37. The combination is reset to the median of levels, as indicated by a partial table 25 in
(a,b,c,d,e,f,g)=(2,3,1,2,3,2,1)=(2,2,2,2,2,2,2)
In step S38, the reset optimum values are allocated to generate a new orthogonal array. The process returns to step S34 to obtain the characteristic values (characteristic-1) to (characteristic-18) on the basis of combinations on the new orthogonal array. An optimum value is searched for by repeating the processes in steps S34 to S38.
If a design factor combination (a,b,c)=(1,3,3) has a most excellent characteristic, as indicated by the rectangular region 30 in
When (a,b,c)=(1,2,3) is obtained as the third optimum value of factors, it is set to the median of levels ((a,b,c)=(1,2,3)=(2,2,2)), as indicated by the rectangular regions 32 and 33 in
As described above, the optimum value search apparatus using the optimum value search method according to the first embodiment can obtain a global optimum value by a small number of times of calculation or trial on the basis of the above-described functions.
This flowchart includes step S31 of setting the initial values of factors that have effects on a device characteristic, step S32 of setting a level width, step S33 of allocating the factors to an orthogonal array, step S44 of obtaining S/N ratios on the basis of combinations on the orthogonal array, step S35 of selecting an optimum value from the S/N ratios obtained in step S44, step S36 of determining the obtained optimum value, step S37 of resetting the initial values if no optimum value is established in step S36, and step S38 of allocating the initial values reset in step S37 to the orthogonal array and returning to the process in step S34. The same step numbers as in the flowchart of
In this embodiment, the process in step S44 is executed by using an S/N ratio as the reference to select an optimum value. An S/N ratio is generally defined by a function f.
S/N ratio=f((characteristic value)2/(standard deviation)2)
That is, as a feature, optimization based on S/N ratios considers not only the levels of characteristic values but also standard deviation, i.e., an index representing a “variation” in characteristic values. The magnitude of a “variation” can be represented by, e.g., the tolerance of each factor.
As described above, the optimum value search apparatus using the optimum value search method according to the second embodiment can obtain a global optimum value by a small number of times of calculation or trial on the basis of the above-described functions.
This flowchart includes step S31 of setting the initial values of factors that have effects on a device characteristic, step S32 of setting a level width, step S33 of allocating the factors to an orthogonal array, step S54 of obtaining characteristic values or S/N ratios on the basis of combinations on the orthogonal array, step S35 of selecting an optimum value from the obtained characteristic values or S/N ratios, step S36 of determining the obtained optimum value, step S37 of resetting the initial values if no optimum value is established in step S36, step S57 of resetting the level values, and step S38 of allocating the level values to the orthogonal array and returning to the process in step S54. The same step numbers as in the flowchart of
In this embodiment, characteristic values or S/N ratios are used in step S54 as the reference to select an optimum value. In step S57, the level width of factors is changed. The S/N ratio calculation method is the same as that described in the second embodiment.
Referring to
As an example of how to change the level width in step S57, when the variation of the optimum value obtained upon every search is larger than the variation in the preceding search, the level width is made larger than in the preceding search. When the variation of the optimum value is smaller than the variation in the preceding search, the level width is made smaller than in the preceding search. For example, a level width W(n) in the search of nth time can be obtained as a function of optimum values (opt) by the search of (n−1)th and (n−2)th times, as indicated by
W(n)=f(opt(n−1),opt(n−2)))×W(n−1)
In the above-described example, the level width is obtained from the optimum values of two generations. It is also possible to decide the level width from the optimum values of three or more generations.
As described above, the optimum value search apparatus using the optimum value search method according to the third embodiment can obtain a global optimum value by a small number of times of calculation or trial on the basis of the above-described functions.
The flowchart shown in
In step S61, the initial value of each of a plurality of factors of a device to be designed, analyzed, or tested is set. In step S62, the level width is set. In step S63, an orthogonal array suitable for the number of factors and the number of levels is selected, and the factors are allocated to the orthogonal array. The orthogonal array suitable for allocation is selected in consideration of the number of design factors and the number of levels.
In step S64, characteristic values are obtained for combinations on the orthogonal array. In step S65, an optimum value with a most excellent characteristic is selected from the obtained characteristic values. As indicated by a table 61 in
(a,b,c,d,e,f,g)=(3,2,3,2,1,3,1)
has a most excellent characteristic, this combination is selected as the first optimum value of factors.
Next, as indicated by a partial table 63 in
(a,b,c,d,e,f,g)=(3,2,3,2,1,3,1)=(2,2,2,2,2,2,2)
to generate a new orthogonal array. The characteristic values (characteristic-1) to (characteristic-18) are obtained on the basis of combinations on the orthogonal array.
As indicated by, e.g., a partial table 64 in
(a,b,c,d,e,f,g)=(2,3,1,2,3,2,1)
has a most excellent characteristic, this combination is selected as the second optimum value of factors, as indicated by a partial table 65 in
(a,b,c,d,e,f,g)=(2,3,1,2,3,2,1)=(2,2,2,2,2,2,2)
is defined to set the obtained optimum value of factors to the median of levels. A new orthogonal array is generated repeatedly in this way to search for an optimum value within the limited number of times of search.
How to change the level width of an orthogonal array, which has a large effect on optimum value search of this embodiment, will be described next.
The target is the process from a determination formula “Opt(n−1)−Opt(n−2)” in step S67 of
W(n)=f(opt(n−1),opt(n−2)))×W(n−1) (1)
The factors are reallocated to the orthogonal array by using this level width (step S72), and the process returns to step S64.
A function f of equation (1) is set to make the level width larger than in the preceding step if the variation of the optimum value is large and smaller than in the preceding step if the variation of the optimum value is small. The reason for this is as follows. In a search process where the variation of the optimum value exhibits a large characteristic, it is possible to approach an optimum value by a small number of times of search by using a large level width. On the other hand, in a search process where the variation of the optimum value exhibits a small characteristic, it is possible to approach an optimum value of high level by using a small level width.
When ΔOpt=0, i.e., when the optimum value in the current search equals that in the preceding search (=0 in step S67), trap by a local optimum value may have occurred. Hence, the search range is made wider or narrower than in the preceding search. In step S68, if equality between optimum values holds for the first time (=1 in step S68), the level width W(n) for the next step is decided by equation (2) (step S70).
W(n)=A×W(n−1) (2)
The factors are reallocated to the orthogonal array by using this level width (step S72), and the process returns to step S64.
A constant A of equation (2) is arbitrarily set within the range of A>1.0. This search process corresponds to #5 in
If equality between optimum values holds for the second time (=2 in step S68), i.e., if the optimum value does not change even upon making the level width large, the global optimum value may exist near the current optimum value. Hence, the level width is decreased by equation (3) (step S69).
W(n)=B×W(n−2) (3)
The factors are reallocated to the orthogonal array by using this level width (step S72), and the process returns to step S64.
A constant B of equation (3) is arbitrarily set within the range of B<1.0. This search process corresponds to #10 in
If equality between optimum values holds for the third or subsequent time (≧3 in step S68), i.e., if the optimum value does not change even upon making the level width large or small, the current optimum value is determined to be the global optimum value G and output (step S73), and the calculation ends. Even when the number of times of search exceeds the limit in step S66 (NO in step S66), the current optimum value is determined to be the global optimum value G and output (step S73), and the calculation ends.
The level width changing method and the number of times of equality holding in convergence determination can change depending on the characteristic of a target problem.
As described above, according to the optimum value search method of the fourth embodiment, the level width that has an effect on the search range is changed in each search step on the basis of the trend of optimum value. Hence, a global optimum value is obtained by a small number of times of search at a high probability.
The optimum value search method of the fifth embodiment is different from the fourth embodiment only in the method of deciding a level width W(n) for the next step when equality holds between optimum values. The same step numbers as in the fourth embodiment denote the same processes in
In the fifth embodiment, for step S68 of the flowchart in
W(n)=C×W(n−1) (4)
A constant C of equation (4) is arbitrarily set within the ranges of C<1.0 and C>1.0. This search process corresponds to #4 to #7 in
To verify the effectiveness of the optimum value search method (to be referred to as “this method” hereinafter) according to the above-described fourth and fifth embodiments, search results obtained by this method for an optimum value search problem by two kinds of functions, which is used as a benchmark of an optimization method, were compared with search results obtained by another method. An objective function that simulates a unimodal function and a constraint are given by
f(x1,x2)=cos(x1)×cos(x2)×exp(−(x1,−π)2−(x2−π)2) (5)
−20<x1,x2<20 (6)
When x1=x2=π, a global optimum value G of this function is given by f(x1,x2)=1.0. Since the optimum value exists in a very narrow range, how to reach the optimum value by a small number of times of search is important. This method defined two factors, i.e., x1 and x2. An L9 orthogonal array of 2-factor/3-level shown in
An objective function that simulates a multimodal function and a constraint are given by
f(x1,x2)=10×exp(−0.01×(x1−10)2−0.01×(x2−15)2×sin(x1) (7)
−10<x1,x2<40 (8)
When x1=7.90, and x2=15.0, the global optimum value G of this function is given by f(x1,x2)=9.56. Since a plurality of local optimum values K exist, as shown in
The best mode for carrying out the present invention have been described above with reference to the accompanying drawings. The present invention is not limited to the above-described arrangements. Various changes and modifications will readily occur to those skilled in the art within the technical scope of the inventive concept as defined by the appended claims, and the changes and modifications are incorporated in the technical scope of the present invention.
The present invention can implement an apparatus, method, recording medium, and computer program product capable of searching for a global optimum value by a small number of times of calculation or trial.
Number | Date | Country | Kind |
---|---|---|---|
2004-223978 | Jul 2004 | JP | national |
2005-109988 | Apr 2005 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5159600 | Chintapalli et al. | Oct 1992 | A |
6546522 | Chen | Apr 2003 | B1 |
6564116 | Wang et al. | May 2003 | B2 |
6604092 | Stewart | Aug 2003 | B1 |
Number | Date | Country |
---|---|---|
10-207926 | Aug 1998 | JP |
2000-132535 | May 2000 | JP |
2000-293556 | Oct 2000 | JP |
2004-133659 | Apr 2004 | JP |
Number | Date | Country | |
---|---|---|---|
20070136377 A1 | Jun 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2005/011625 | Jun 2005 | US |
Child | 11624230 | US |