1. Field of the Invention
The present invention relates to a multi-objective optimal design support technique used in the design of a slider shape of a hard disk and the like.
2. Description of the Related Arts
Along with the high-density/high capacity of a hard disk, a distance between a magnetic disks and a header has been more and more reduced. A slider design with a small amount of fly variations due to an altitude difference and a disk diameter position is required.
As represented as 2001 in
When determining the optimal shape of the slider 2001, an efficient computation for simultaneously minimizing the function of flying height (2003 in
Conventionally, instead of directly handling a multi-objective optimization problem, a single-objective optimization in which as shown below, the linear sum f of terms obtained by multiplying each objective function f_i by weight m_i and its minimum value is computed, is performed,
f=m—1*f—1+ . . . +m—t*f—t (1)
Then, a function value f is computed while parameters p, q, r and the like, for determining a slider shape S shown in
In the above equation, f depends on weight vector {m_i} In actual design, the minimum value of f for each modification value is computed while further modifying {m_i} and a slider shape is determined by comprehensively taking into consideration the balance between the minimum value and {m_i}.
In the multi-objective optimization process performed by the above-described method, the number of optimal solutions to be computed is not always one.
For example, when in the design of a certain product an objective function value 1 of “reducing its weight” and an objective function value 2 of “reducing its cost” are optimized, the objective function values 1 and 2 can take various coordinate values in two-dimensional coordinate system, as shown in
Since it is required that the objective function values 1 and 2 take small values independently (the product is light and inexpensive), a point on a line 2203 connecting computed points 2201-1, 2201-2, 2201-3, 2201-4 and 2201-5 shown in
In this way, in a multi-objective optimization process, it is very important to be able to properly obtain a Pareto optimal solution. For that purpose, it is important for the Pareto optimal solution of a desired objective function to be able to properly visualize.
As a prior art for obtaining such a Pareto optimal solution, a so-called normal boundary intersection (NBI) method for computing a Pareto curved surface in multi-objective optimization (optimal curved surface) by a numerical analysis method and the like are known. In such a technique, for example, when in the above-described slider design, a certain design specification and factor parameters are given, the relation between desired objective function values (pitch, the amount of fly, etc.) can be plotted as shown in 2301 of
As other prior arts, a technique for displaying a Pareto curve by points or plotting and a technique for displaying objective functions by a trade-off chart are also known, as shown in
Furthermore, the following Patent documents are also known. Patent document 1 discloses a technique for classify a plurality of design points in a design space by color and realizing three-dimensional plotting. Patent document 2 discloses a technique for realizing three-dimensional plotting by contour display. Patent document 3 discloses a technique for realizing two-dimensional plotting by a unified evaluation index vs. cost.
Patent document 1: Japanese Patent Application Laid-open No. 2005-70849
Patent document 2: Japanese Patent Application Laid-open No. 2003-39184
Patent document 3: Japanese Patent Application Laid-open No. 2004-118719
However, in the optimization technique of the single-objective function fin the earlier-described prior art, flying height computation which takes much time to conduct must be repeated. In particular, when probing up to the fine parts of a slider shape, the number of input parameters (corresponding to p, q, r and the like in
Furthermore, in this method, the minimum value of f (and input parameter values for the minimum value) depends on how to determine weight vectors (m_1, . . . m_t). In actual design, a situation in which it is desired that f should be optimized for various sets of weight vectors frequently occurs. However, in the above-described prior art, since it is necessary to do an optimization computation accompanying expensive flying height computation over again from the beginning every time modifying a weight vector, the number of types of weight vectors to attempt is limited.
Furthermore, since the minimization of a function value f can be applied to only one point on the Pareto curved surface, it is difficult to predict an optimal relation between objective functions and also such information cannot be fed back to design.
As described above, conventionally, since a multi-objective optimization process itself takes very much time, it is difficult even to display a correct Pareto optimal solution.
In the earlier-described prior art of computing a Pareto curved surface by a numerical analysis method, if the feasible region is non-convex, it cannot be solved. If points (end points) being a source for computing a Pareto curved surface are close to each other, the algorism does not work well. Furthermore, in the acquisition of a Pareto optimal solution, since a simple plotting display is provided if objective function values are displayed as coordinates, as shown in
Furthermore, even in the prior art which is devised to display a Pareto optimal solution, as shown in
It is an object of the present invention to realize visualization (the display of a Pareto boundary, etc.)in a multi-objective optimal design on the basis of an objective function in a short time and to enable the acquisition of a relationship between an objective function and a design parameter, and the degree of contribution of another objective function while properly displaying a Pareto optimal solution on the basis of the visualization.
The aspect of the present invention presumes a design support device for supporting the determination of an optimal set of design parameters by inputting a plurality of sets of design parameters (input parameters), computing a plurality of objective functions according to prescribed computation and applying a multi-objective optimization process to the plurality of objective functions. The design parameters are, for example, parameters for determining the shape of the slider unit of a hard-disk magnetic storage device.
The first aspect of the present invention has the following configuration.
A sample-set objective function computation unit (for example, 101 in
An objective function approximation unit (for example, 102 in
An inter-objective-function logical expression computation unit (for example, 103 in
An objective space display unit (for example,104 in
An objective space corresponding design space display unit (for example, 104 in
The second aspect of the present invention has the following configuration.
Its sample-set objective function computation unit, its objective function approximation unit, its inter-objective function logical expression computation unit and its objective space display unit are the same as those in the first aspect of the present invention.
Its objective space corresponding design space display unit (for example, 104 in
A comparison-target objective space display unit (for example, 104 in
The preferred embodiments of the present invention are described in detail below with reference to the drawings.
<Configuration of the Preferred Embodiment of the Present Invention>
An actual flying height computation unit 101 inputs sample sets of input parameters 107 of the slider shape of a hard disk, applies slider flying height computation to each set and outputs each objective function value. In this case, the number of the sample sets of input parameters 107 is at most approximately several hundreds.
An objective function polynomial approximation unit 102 approximates each objective function of the slider shape by the polynomial of a multiple regression equation and the like based on a multiple regression analysis, using the sample sets of input parameters 107 and each objective function value of each set, computed by the actual flying height computation unit 101. Although in this preferred embodiment, approximation is performed on the basis of multiple regression analysis, other generally known polynomial approximation methods, such as various types of polynomial interpolation, approximation by increasing the degree of a polynomial and the like can be used.
A quantifier elimination (QE) computation unit 103 computes a logical expression between arbitrary two objective functions by a QE method, using each objective function polynomial computed by the objective function polynomial approximation unit 102 and the constraint of the sample sets of input parameters 107 (sets of input parameters 108).
A feasible region display unit 104 displays the feasible region of an objective function on a computer display, which is not in particular shown in
A single objective function optimization unit 105 computes the single objective function value obtained as the weighted linear sum of the objective functions for the input parameter sets 108, using each objective function polynomial computed by the objective function polynomial approximation unit 102 and the weight vector determined by a user in the feasible region display unit 104 and computes a candidate of the input parameter set 108 whose single-objective function value becomes a minimum. The number of input parameter sets 108 is 10,000 to 20,000 sets.
An actual flying height computation optimization unit 106 outputs input parameter sets 108 candidate whose single-objective function value becomes a minimum by applying detailed flying height computation to the input parameter set 108 candidate whose single-objective function value computed by the single objective function optimization unit 105 becomes a minimum and computing a single-objective function value obtained as the weighted linear sum of objective functions determined by the detailed flying height computation as an optimal set of slider-shape parameters 109. In this case, for each objective function, one obtained by the actual flying height computation is used, and for the weight vector, the same one as used in the single-objective function optimization unit 105 or one obtained by modifying it somewhat is used.
The operation of the preferred embodiment of the present invention having the above configuration is described below.
<Basic Operation of the Present Invention>
Firstly, the basic operation of the present invention is described below according to the operation flowcharts shown in
Firstly, the actual flying height computation unit 101 shown in
Thus, for example, the data file of the sample sets of input parameters 107 and their objective function values as shown in
Then, the objective function polynomial approximation unit 102 shown in
As this result, the polynomial of an objective function as exemplified below can be obtained.
f1:=99.0424978610709132−6.83556672325811121*x1+14.0478279657713 188*x2−18.6265540605823148*x3−28.3737252180449389*x4−2.42724827545463118*x5+36.9188200131846998*x6−46.762070412 8296296*x7+1.05958887094079946*x8+6.50858043416747911*x9−11.318111074 5759242*x10−6.35438297722882960*x11+4.85313298773917622*x12−11.1428988 07281405*x[13]+35.3305897914634315*x14−53.2729720194943113*x15; (2)
In this case, the slider design has a tendency that the types of input parameters increase as its work progresses. It can be estimated that of these (due to the influences of other parameters), there are parameters whose contribution to a certain objective function is low. Therefore, approximation by a simpler polynomial becomes possible by incorporating a routine for eliminating parameters whose contribution is low by a multiple regression analysis and the like, into the process. When a designer inputs the number of parameters used to analyze, the objective function polynomial approximation unit 102 narrows the number of the parameters down up to its setting number. By this parameter reduction process, the amount of computation can be reduced at the computation time of a QE method which will be described later.
As this result, the polynomial of an objective function whose number of parameters is reduced, as exemplified below can be obtained.
As described above, the preferred embodiment of the present invention can obtain an objective function approximated by a polynomial based on a multiple regression equation and the like, using at most several hundred sample sets of input parameters 107. It is because in slider design, firstly there is the initial shape of a slider and its optimization is performed while swinging parameters for determining this initial shape within the specified range that an objective function can be approximated by a polynomial in this way. This is based on a view that in the optimization within such a local design modification range, initial optimization can be sufficiently effectively performed by linear approximation by a multiple regression equation and the like.
The preferred embodiment of the present invention can realize a very efficient design support system by using the objective function that is computed and mathematically processed thus in the former stage of the slider design, in particular, for the determination of a Pareto boundary, as described below.
Specifically, the QE computation unit 103 shown in
The algorism of the QE method implemented in step S204 is described below according to the operational flowchart shown in
Firstly, a user specifies two objective functions whose feasible region is desired to display. It is assumed that these are f1 and f2. In this case, three objective functions can also be specified.
Then, the QE computation unit 103 formulates a problem using the approximation polynomial of the two objective functions that are computed and specified by the objective function polynomial approximation unit 102 and the constraint of each parameter value of the sample sets of input parameters 107 (sets of input parameters 108) (step S302 in
y1=f1(x1, . . . , x5), y2=f2(x1, . . . , x15)
Input parameters x1, . . . , x15 moves in the range of 0<=x_i<=1.
F:=∃x1∃x2 . . . ∃x15; 0≦x1≦1 and 0≦x2≦1 and . . . and 0≦x15≦1
and y1=f1(x1, . . . x15) and y2=f2(x1, . . . x15) (4)
Then, the QE computation unit 103 solves the value F of expression (4) by a QE method (step S303 in
y2<y1+1 and y2>2 and y2>2*y1−3 (5)
Although the detailed description of the QE method is omitted here, its processing method is disclosed in a publicly known literature by the applicant of the present invention, “Introduction to Computational Real Algebraic Geometry: Summary of CAD and QE” (Mathematics Seminar, No. 11, 2007, pp. 64-70 by Hirokazu Anai and Kazuhiro Yokoyama) and is used without any modification in the preferred embodiment of the present invention.
Then, the feasible region display unit 104 shown in
More specifically, the feasible region display unit 104 continuously paints over points in which the logical expression of the two objective functions y1 and y2 computed by the QE computation unit 104, as exemplified as Expression (5) holds true while sweeping each point on the two-dimensional plotting plane of the two objective functions y1 and y2. As this result, a feasible region can be displayed, for example, in a form of a completely painted area shown in
In the case of three objective functions, it is three-dimensionally displayed.
Another detailed example of the feasible region display process is described below.
It is assumed that the approximation polynomial of two objective functions is composed of three input parameters x1, x2 and x3, as exemplified below.
y1=f1(x1, x2, x3)=x1−2*x2+3*x3+6
y2=f2(x1, x2, x3)=2*x1+3*x2−x3+5 (6)
Equations (6) are formulated as follows.
F:=∃x1∃x2∃x3; 0≦x1≦1 and 0≦x2≦1 and 0≦x3≦1
and y1=x1−2x2+3x3+6 and y2=2x1+3x2−x3+5 (7)
When a QE method is further applied to Expression (7) the following expression can be obtained.
(3*y1+2*y2−35>=0 and 3*y1+2*y2−42<=0 and y1+3*y2−28>=0 and y1+3*y2−35<=0)
or (3*y1+2*y2−28>=0 and 3*y1+2*y2−35<=0 and 2*y1−y2−7>=0 and 2*y1−y2>=0)
or (2*y1−y2−7>=0 and 2*y1−y2−14<=0 and y1+3*y2−21>=0 and y1+3*y2−28<=0) (8)
When plotting a feasible region according to Expression (8), for example,
As clear from the display shown in
Furthermore, when computing a weight sum single objective function (see Expression (1)) on the basis of two objective functions, the optimal value of the ratio of weight values between the two objective functions in a weight vector can be estimated by recognizing the overall inclination of the feasible region.
Although in this example, it is assumed in Expression (7) that each input parameter constituting the sample sets of input parameters 107 have a constraint of freely taking a value between 0 and 1, it is anticipated that actually a better result can obtained if the center point of the input parameter is specified and the value is moved in a specific range.
In order to enable such an operation, the QE computation unit 103 and the feasible region display unit 104 that are shown in
Firstly, a user specifies two objective functions whose feasible region is desired to display (step S401 in
Then, the QE computation unit 103 extracts a point in the sample sets of input parameters 107 and the two objective functions (f1, f2) specified in relation to them in which almost f2=f1 and which is also nearest the origin, for example, a point represented by 801 in
Then, the QE computation unit 103 formulates a problem, using the approximation polynomial of the two objective functions that is computed and specified by the objective function polynomial approximation unit 102 and the swing width t of each parameter value of the sample sets of input parameters 107 (step S403 in
F:=∃x1∃x2. . . ∃x15; p1−t≦x1≦p1+t and p2−t≦x2≦p2+t
and . . . and p15−t≦x15≦p15+t
and y1=f1(x1, . . . , x15) and y2=f2(x1, . . . , x15) (9)
Each input parameter x_i moves around p_i by width t.
Then, the QE computation unit 103 solves the value F of Expression (9) according to a QE method (step S404 in
Then, the feasible region display unit 104 shown in
In this case, it is preferable to select t in such a way that the region includes the sample sets of input parameters 107 and also is reduced.
Since the inclination of a Pareto curve in this graph is −⅛˜⅕, it is sufficient if the ratio of weight values in a weight vector, needed to weight these two objective functions and to obtain a single objective function (see Expression (1)) is 1 vs. 8˜1 vs. 5.
Thus, in the process of the feasible region display unit 104 shown in
As described in
Specifically, as shown in
In the above feasible region display process, a user can efficiently specify the ratio of weight values in a weight vector and a Pareto boundary for each objective function while sequentially specifying two objective functions.
After the above operations, the single objective optimization unit 105 shown in
In this case, since in the computation of each objective function value, flying height computation is not actually conducted and approximation polynomial is used, very high-speed computation is possible. Furthermore, since in the operation of the feasible region display unit 104, a value appropriately specified by a user is used for the weight values in a weight vector, used when a single objective function value is computed according to Expression (1), the repetitious computation of continuously modifying the weight vector is not necessary.
Lastly, the actual flying height computation optimization unit 106 shown in
Then, the actual flying height computation optimization unit 106 determines whether the optimization almost converges referring the limit value of an objective function predicted in the earlier-described feasible region display process (step S209 in
If the optimization does not converge yet and it is determined that the determination in step S209 is no, the flow returns to step S207, the weight value in the weight vector is somewhat modified and the optimization process in steps S207 and S208 are performed again.
If the optimization converges and it is determined that the determination in step S209 is yes, the actual flying height computation optimization unit 106 outputs an input parameter set 108 whose single objective function value obtained then becomes a minimum as an optimal set of slider shape parameters 109 (step S210 in
<Detailed Operation of Feasible Region Display in the Preferred Embodiment of the Present Invention>
Next, the more detailed operation of the feasible region display unit 104 shown in
The feasible region display unit 104 emphatically displays a Pareto optimal solution part (a Pareto boundary) in the feasible region displayed on a display as a first function, as indicated as 1101 in
In this operation, a Pareto optimal solution can be emphatically displayed (1101 in
Next, the operation of the feasible region display unit 104 displaying the change of design parameters in relation to the movement of Pareto specification by a user is shown by the operational flowchart shown in
Firstly, as shown in
Then, the feasible region display unit 104 sets the neighbor area around the specified point P1 (step S1202 in
Then, as shown in
Then, as shown in
As a user traces the Pareto boundary by a mouse and the like, as shown as 1102 in
Although in this example, the design space is two-dimensional, the same display can be realized when considering grating points in three-dimensional or one-dimensional design space.
By the above first function realized by the feasible region display unit 104, a user can intuitively know how the design parameters change when tracing a Pareto boundary.
Although in the above-described operation, a point in objective space is computed about each grating point in design space and their corresponding relation is computed, a corresponding area in the design space can also be directly computed by the QE method on the basis of the area [P1] in the objective space.
Firstly, as shown in
Then, the feasible region display unit 104 sets the neighbor area around the specified point P1 (step S1402 in
Then, the feasible region display unit 104 formulates the following Expression (10) for the design space and the objective space using a minute amount Δd (step S1403 in
∃x1∃x2; e1≦x1≦e1+Δd ^ e2≦x2≦e2+Δd
and a−Δo≦f1(x1, x2)≦a+Δo ^ b−Δo≦f2(x1, x2)≦b+Δo (10)
Furthermore, the feasible region display unit 104 computes an expression φ(e1, e2) that indicates a realizable feasible region of e1 and e2 by applying the QE method to the expression of the QE problem formulated in step S1403 (step S1404 in
Then, the feasible region display unit 104 plots the expression φ(e1, e2) computed in step S1404 on the design space (step S1405 in
As a user continuously traces the Pareto boundary emphatically displayed as shown 1601 in
Not only a Pareto boundary is traced by a mouse and the like, but also even when trace is conducted from the right top of the feasible region toward the Pareto boundary, the state in which the objective function value of comparison-target objective space changes is displayed on the display in the same way.
In this operation, as shown in
In this state, the feasible region display unit 104 computes the values of objective functions constituting the comparison-target objective space for the set of grating points using the approximation polynomial computed by the objective function polynomial approximation unit 102 shown in
When tracing a Pareto boundary in certain objective space, by the second function realized by the feasible region display unit 104, a user can intuitively know how objective function values in other objective space change.
<Hardware Configuration of the Preferred Embodiment of the Present Invention>
A computer shown in
The CPU 1901 controls the entire computer. The memory 1902 is a PAM and the like for temporarily storing a program or data stored in the external storage device 1905 (or the portable storage medium 1909) when executing the program, updating the date and the like. The CPU 1901 controls the entire computer by reading the program into the memory 1902 and executing it.
The input device 1903 comprises, for example, a keyboard, a mouse and the like and their interface control devices. The input device 1903 detects an input operation of the keyboard, the mouse and the like by a user and notifies the CPU 1901 of the detection result.
The output device 1904 comprises a display, a printer and the like and their interface control devices. The output device 1904 outputs data under the control of the CPU 1901 to the display and the printer.
The external storage device 1905 is, for example, a hard-disk storage device and is mainly used to store various pieces of data and various programs.
The portable storage medium driving device 1906 accommodates portable storage medium 1909, such as an optical disk, SDRAM, compact flash and the like and plays the auxiliary role of the external storage device 1905.
The network connection device 1907 connects a communication line, such as a local area network (LAN), a wide area network (WAN) and the like.
A system according to this preferred embodiment can be realized by the CPU 1901 executing the program mounting the functional blocks shown in
Although in the above preferred embodiment of the present invention, the present invention is used as a design support device for supporting the slider design of a hard disk, the present invention is not limited to this and can also be applied to various devices for supporting design while performing multi-objective optimization.
According to the present invention, objective functions can be approximated by a formula, such as a polynomial and the like using several sample sets of design parameters, of the design parameters of the slider shape of a hard disk and the like and the expression can be computed by a formula manipulation method. Since input parameters can be handled as they are, the logical relation and input/output relation between objective functions can be easily obtained.
More specifically, when tracing a Pareto boundary in certain objective space, a user can intuitively know how design parameters change.
Furthermore, when tracing a Pareto boundary in certain objective space, a user can intuitively know how objective function values in other objective space change.
Number | Date | Country | Kind |
---|---|---|---|
2008-005104 | Jan 2008 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5559729 | Abe | Sep 1996 | A |
6865567 | Oommen et al. | Mar 2005 | B1 |
7751917 | Rees et al. | Jul 2010 | B2 |
20050143845 | Kaji | Jun 2005 | A1 |
20060293817 | Hagiwara et al. | Dec 2006 | A1 |
20070005313 | Sevastyanov et al. | Jan 2007 | A1 |
20070090091 | Adomaitis | Apr 2007 | A1 |
20070129930 | Peralta et al. | Jun 2007 | A1 |
20070179917 | Patel et al. | Aug 2007 | A1 |
20070213959 | Kropaczek et al. | Sep 2007 | A1 |
20090182538 | Yanami et al. | Jul 2009 | A1 |
20090182695 | Yanami et al. | Jul 2009 | A1 |
20090326875 | Yanami et al. | Dec 2009 | A1 |
20090326881 | Anai et al. | Dec 2009 | A1 |
20110022365 | Iwane et al. | Jan 2011 | A1 |
Number | Date | Country |
---|---|---|
7-105250 | Apr 1995 | JP |
7-164815 | Jun 1995 | JP |
11-328239 | Nov 1999 | JP |
A 2002-117018 | Apr 2002 | JP |
2003-039180 | Feb 2003 | JP |
2003-039184 | Feb 2003 | JP |
2004-118719 | Apr 2004 | JP |
A 2005-70849 | Mar 2005 | JP |
2005-519384 | Jun 2005 | JP |
2006-285381 | Oct 2006 | JP |
2006-344200 | Dec 2006 | JP |
WO 03075129 | Sep 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20090182539 A1 | Jul 2009 | US |