Method and apparatus for computer controlled nonlinear optimization

Abstract: In nonlinear optimization a plurality of optimization methods are stored (100) in a computer system as are techniques (101,102) (knowledge) for applying those methods. Such techniques may be divided into common knowledge (101) which are techniques applicable to all nonlinear optimization methods and domain knowledge (102) which are techniques applicable to a corresponding one of the methods. When an optimization problem is input (103) to the computer system, the system first selects (104) one of the methods and applies it (108) to the problem using the common knowledge and any relevant domain knowledge. If that method does not produce an optimum result, the system tries to solve the problem with another method, again making use of the common knowledge and the respective domain knowledge. This process is repeated until an optimum solution is obtained. The method is applicable to computer control of industrial plants and systems and to computer aided design.

Description: The present invention relates to a method of computer controlled nonlinear optimization which is particularly, but not exclusively, designed for optimum control of production and operating systems described by mathematical models or computer aided design. The present invention also relates to an apparatus for performing such a method. Optimization techniques are concerned with maximizing or minimizing an objective function which is defined by at least one variable. When the relationship is nonlinear, it is not straightforward to obtain an optimum solution to such a problem. In general, a nonlinear optimization problem is generally expressed by the following equation: Optimize : f(x) Subject to : gi(x) ≥ 0 (∀i ∈ MI) hj(x) = 0 (∀j ∈ ME) where: f(x) denotes an objective function; gi(x) represents non-equality constraints; hj(x) represents equality constraints; MI, ME respectively represent character-added sets of non-equality and equality constraints; and x represents co-ordinates of a point in the n-th space, representing n pieces of variables on the nonlinear optimization problem. For a nonlinear optimization problem a decisive solution method corresponding to e.g. the simplex method or Karmarkar's method (see US-A-4744028) cannot be obtained. As will be discussed in more detail later, there are many nonlinear optimization methods, such as e. g.: those shown in the book "Nonlinear Programming" (Nikka Giren, 1978) and the book "Iterative Methods of Nonlinear Optimization Problems" by S.L.S. Jacoby, J.S. Kowalik and J.T Pizzo, published by Prentice Hall in 1972, such as: (i) the transformation method of optimizing functions incorporating the objective and constraints functions; (ii) the reduced gradient method in the linear planning expanded to nonlinear optimization; (iii) sequential quadratic programming for improving the search point by repeating the quadratic programming. Each of these techniques is generally intended to let the objective function converge at the optimum point that is not ultimately improvable further by updating the search point toward the improvement of the objective function from the starting point of search. Thus, although many nonlinear optimization methods are known, none have general applicability to all problems, and it is therefore necessary, for a given problem, to apply a series of methods until a satisfactory solution is obtained. In general, such optimization methods are applied by computer techniques, and the programs to carry out those methods contain rules or techniques (hereinafter referred to as "knowledge") which control the application of those methods to prevent the methods being carried out incorrectly (e.g. to avoid repetitional loops, or similar effects). However, such knowledge is written into the program for each method, so that the method and the knowledge are mixed. Thus, each method has knowledge inextricably linked therewith, and the amount of memory space needed to store a wide range of methods is thus large. In an article entitled "Knowledge-Based Multiobjective Nonlinear Optimisation Method for Large Scale Systems" by Shao-bu Wang et al , publised in the Proceedings of the International Conference on System, Man and Cybernetics, Vol 1/3, October 1987, pages 427 to 431, there is disclosed a method of computer controlled nonlinear optimisation in which rules for controlling the nonlinear optimisation method being used are stored in a store of the computer which is separate from the storage of the nonlinear optimisation method. In this disclosure, each nonlinear optimisation method has its own rules. The present inventors have appreciated that some types of knowledge are general to all nonlinear optimization methods, whilst others are specific to a particular method. In the subsequent discussion, these two types of knowledge will be referred to as common knowledge and domain knowledge respectively. Common knowledge is knowledge which seeks to prevent failure of the nonlinear optimization method in a way which is not dependent on the method itself, whilst domain knowledge is intended to solve problems of failure which are specific to the method. Although knowledge for preventing both of these types of failures is known, existing techniques have not attempted to identify separate types of knowledge in the way discussed above. Instead, programs for nonlinear optimization methods have generally been considered in an empirical way, using trial and error to resolve the problems, i.e. to determine which knowledge is appropriate. No systematic approach has been taken. Therefore, the present invention seeks to make use of the appreciation by the inventors that knowledge can be of two types. According to a first aspect of the present invention there is provided a method of computer controlled nonlinear optimization comprising the steps of: a) storing a plurality of nonlinear optimization methods in a first store of a computer; b) storing in a second store of a computer, separately from said methods, a plurality of rules for controlling said methods, said rules being common to all said methods; c) inputting to said computer a problem for which an optimum solution is sought; d) extracting a selected method from said first store; e) extracting said plurality of rules from said second store; f) applying, by means of said computer, said selected methods to said problem to obtain a possible solution, the application of said selected method in said computer being controlled by executable rules among said plurality of rules; and g) repeating steps (d) to (f) in said computer for successive ones of said methods until an optimum one of said possible solutions is obtained. According to a second aspect of the present invention there is provided an apparatus for nonlinear optimization comprising: a) memory means having first and second stores for: (i) storing a plurality of nonlinear optimization methods in said first store of said memory means; and (ii) storing in said second store, separately from said methods, a plurality of rules for controlling said methods, said rules being common to all said methods; b) input means for the input of a problem for which an optimum solution is sought; c) a processor for repeatedly: (i) extracting a selected method from said first store; (ii) extracting said plurality of rules from said second store; and (iii) applying said selected methods to said problem to obtain a possible solution, the application of said selected method being controlled by executable rules among said plurality of rules; thereby to obtain an optimum possible solution to said problem. Suppose that there is a problem which needs nonlinear optimization. Then, a first nonlinear optimization method may be extracted from a suitable store, and applied to the problem in conjunction with the common knowledge. If that method does not achieve an optimum solution, a second method may be obtained from the store and applied to the problem, again in conjunction with the common knowledge. It can be seen that this reduces the amount of memory needed, since the common knowledge can be used in common for all the methods. In the known systems, where the common knowledge and the method were inextricably linked, the common knowledge was effectively stored repeatedly, or as many times as there were methods. Preferably, the present invention goes further than this, and proposes that the domain knowledge is also separated from the stored nonlinear optimization methods. Then, when a method is applied to a problem, only the domain knowledge which relates that particular method need be extracted from the store. It should be noted that the domain knowledge for a particular method may involve a plurality of separate techniques, if such techniques are known for that method. Of course, it is possible for the domain knowledge to comprise only one technique, for a given method, and it may be possible for there to be no domain knowledge for a method, so that only the common knowledge is used when the method is applied to a problem. As was stated earlier, the present invention also relates to an apparatus for carrying out a method of nonlinear optimization. Thus, such an apparatus will have separate stores for the nonlinear optimization methods, for the common knowledge, and for the domain knowledge. Of course, in physical terms, those stores may simply be memory areas in a common memory, but the important feature is that the methods and the knowledge are separated, so that it is possible to extract only the knowledge that is needed. The present invention has the advantage of improving the efficiency of nonlinear programming, and to improve the performance of optimization programs, in addition to enabling the working memory of any computer system in which the present invention is used to be minimized. Embodiments of the present invention will now be described in detail, by way of example, with reference to the accompanying drawings in which: Fig. 1 is a flow-chart showing the steps of a method according to the present invention; Fig. 2 is a schematic block diagram showing the basic components of a computer system which may operate according to the present invention; Fig. 3 is a more detailed block diagram of the computer system of Fig. 2; Fig. 4 is a flow chart showing steps in one optimization method which may be used in the present invention; Fig. 5 shows knowledge relating to the method of Fig. 4; Fig. 6 illustrates data relating to a search point; Fig. 7 is a flow chart showing stages in an optimization method used in the present invention; Fig. 8 is a further flow-chart showing another nonlinear optimization method: Fig. 9 is a table summarizing the results of one optimization method; Fig. 10 is a block diagram of another embodiment of a computer system incorporating the present invention; Fig. 11 is yet another computer system incorporating the present invention; Fig. 12 is a block diagram of a computer system incorporating the present invention being the combinations of the systems of Figs. 10 and 11; Fig. 13 shows the application of a system according to the present invention in control of an industrial plant; Fig. 14 shows a spring, for explaining an optimisation problem to which the present invention may be applied; and Figs. 15 and 16 illustrate a hydrostatic thrust bearing, for explaining another optimisation problem to which the present invention may be applied. Detailed Description Referring first to Fig. 1, the general principles of the method of nonlinear optimization according to the present invention will be discussed. First, at step 100, a plurality (number N) of nonlinear optimization methods are stored. In general, these methods may be known methods but it should be noted that no knowledge is stored with those methods. Instead, at Step 101, common knowledge common to all the methods is stored, and at Step 102 domain knowledge is stored, with each technique of the domain knowledge, corresponding to a particular one of the N methods. It can be appreciated that Steps 100, 101, 102 may be carried out as part of a setting-up operation for the computer system of the present invention. Subsequently, a problem in need of nonlinear optimization is input at Step 103. The problem may relate to the control of a technological or industrial process or system or the design of a technological or industrial device, but the present invention is not limited to any one of these. A suitable counter giving count number n is set to 1, which sets the start point, and at Step 105 the method then corresponding to the set number n, i.e. the first method at this stage, is extracted, and is the common knowledge at Step 106 and the domain knowledge corresponding to method n at Step 107. Then, method n (i.e. the first method at this stage), is applied to the problem at Step 108. Step 109 investigates whether the method n gives an optimum solution. If it does, then processing can stop. However, if it does not, processing moves to Step 110, in which n is incremented by 1, and processing returns to Step 105 to extract a further method, i.e. the second method at this stage. Steps 105 to 110 are then repeated for each method, until Step 109 determines that an optimum solution has been achieved. Of course, it is necessary to know the methods and knowledge that are to be stored. As was mentioned earlier, many nonlinear optimization methods are known, and examples are listed in Table 1. Furthermore, examples of common knowledge are listed in Table 2. SOME EXAMPLES OF COMMON KNOWLEDGE Name of Knowledge Content Common Knowledge-1 · If Cond.1=1 & Cond.2=1 Then terminate the optimization. (X is the solution of the optimization problem.) Common Knowledge-2 · If Cond.1=0 & Cond.3=0 Then continue the optimization. Common Knowledge-3 · If (Cond.1=1 & Cond.2=0) or (Cond.1=0 & Cond.3=1) Then move present search point to a random point. Where Cond.I=1 : Condition-I is satisfied. Cond.I=0 : Condition-I is not satisfied. Name of Condition Content Condition-1 · |F(X)-F(X')/(X-X')|<ε Condition-2 · All of Constraints are satisfied Condition-3 · X is already appeared during the current optimization process. X : Present Search Point in N-th Space X' : Former Search Point in N-th Space F(X) : Objective Function : Machine Epsilon (Depends on Hardware) Furthermore, examples of domain knowledge are known. For example, knowledge relating to sequential quadratic programming has been proposed by K. Schittkowski entitled "The Nonlinear Programming Method of Wilson, Hann and Powell with an Augmented Legrangian Type Live Search Function", in Numer. Math., Vol. 38, pages 83-114 (1981). This particular technique, called RESTART, is a set of domain knowledge which aims to recover from a failure to solve the problem of the Cholesky dissolution of the secondary coefficient determinant of the Lagrangian type function by the accumulation of numerical errors in the nonlinear optimization calculation. Furthermore, as mentioned above, this technique was applicable only to sequential quadratic programming. Other examples of domain knowledge are listed in Table 3. The general structure of a computer apparatus for carrying out a nonlinear optimization method such as that shown in Fig. 1 is shown schematically in Fig. 2. Input data, i.e. problems, are input to a nonlinear optimization processor 11, which applies to that data a method of optimization. In other words, the nonlinear optimization processor 11 solves problems by making use of the present such points as inputs in accordance with a nonlinear optimization method, whilst updating the search points. A control processor 12 investigates the method being carried out, and in particular considers the optimization method being applied by the nonlinear optimization processor 11, and if it appears that the method is unlikely to obtain a satisfactory solution, the control processor 12 instructs the nonlinear optimization processor 11 to change from the method currently being used to another method. Fig. 2 shows two external storage devices 83, 91. External storage device 83 contains common knowledge, and passes the information to the control processor 12 for use in controlling the method being applied by the nonlinear optimization processor 11. The other external storage device 91 contains the domain knowledge, which is applied directly to the nonlinear optimization processor since it is specific to the method being applied. It can thus be appreciated that the methods are each represented by specific programs of a computer system with the knowledge being data applied to those programs. The selection of the programs by e.g. the method of Fig. 1 is then controlled by a control program. Fig. 3 shows a development of the computer apparatus of Fig. 2, and the same reference numerals are used to indicate corresponding parts. Fig. 3, however, shows the input device 13 which permits input of nonlinear optimization problems, knowledge for controlling the optimization calculations and search start points. These may be input from the input device 13 and passed via an input unit 14 to a working memory 16, and if necessary from there to a permanent memory (not shown). Methods for nonlinear optimization are also stored (in the form of programs), and at any time one of those methods can be extracted and stored in the working memory 16 for application to a particular problem. The nonlinear optimization processor 11 and the control processor 12 then perform the functions described earlier, under the control of a central processing unit (CPU) 15. If desired, an image representing the solution may be passed from an image output unit 17 to a display unit 18, which may be connected to a suitable output device such as a screen (CRT or VDU) or a printer. Such display is useful when the present invention is applied to computer aided design. The output may also be used to control an industrial or technological process. One specific nonlinear optimization method, making use of common knowledge and domain knowledge, will now be described with reference to Figs. 4 to 8. Fig. 4 shows the control procedure of a process of solving problems which may be stored in the control processor 12 and used in a method according to the present invention. At Step 21, knowledge regarding the method of controlling the process of solving problems is supplied from the input device 13 and stored in the working memory 16. Fig. 5 shows an example of common knowledge, i.e. knowledge concerning the method of controlling the process of solving problems which does not depend on the nonlinear optimization method employed in this embodiment. In this embodiment, that knowledge is given as a rule comprising condition and execution parts. At Step 22, the coordinates of the search start point are supplied from the input device 13 and stored in the working memory 16. At Step 23, data regarding the present search point is stored in the working memory 16. Fig. 6 shows an example of data on the search point. As illustrated, the data regarding the search point includes the coordinates of the search point, the value of objective function at the search point and the inclination of the objective function, these items being stored with each being numbered. At Step 24, the method of solving problems is verified in accordance with the data on the process of revising the search point stored in the working memory 16. The verification of the method of solving problems controls the method of solving problems using the common knowledge so as to prevent failures of the method. Fig. 7 shows a procedure of verifying the method of solving problems. In this procedure, the condition part shown in Fig. 5 is sequentially evaluated to allow the execution part of the rule to be executed whenever the condition part is established. At Step 51, verification of the process of solving problems begins at the rule number i = 1. At Step 52, the condition part of the i-th rule is extracted from the working memory 16 and set as Ci. At Step 53, the condition part Ci is evaluated and the process proceeds to Step 54 when the condition is established. At Step 54, the execution part of the i-th rule is executed. However, Step 54 is skipped if the condition part Ci is not established in Step 53 and the process proceeds to Step 55. At Step 55, i is replaced by i+1. In Step 56, a decision is made as to whether a rule corresponding to the number incremented by 1 exists. If there exists such a rule, the procedures after Step 52 are repeated and if no such rule exists, the procedure of verifying the method of solving problems is terminated. The dotted line drawn from Step 54 indicates a flow of the process when the rule execution unit instructs the termination of a verifying process at Step 24. Thus, if this stage is reached, it has been confirmed that the method being applied to the problem will not achieve an optimum solution. It can thus be appreciated that Fig. 4 corresponds to Steps 105 to 109 in Fig. 1, and the system must subsequently select another method. Referring again to Fig. 5, the search point is updated in Step 25 in accordance with the nonlinear optimization method stored in the nonlinear optimization processor 11 and a decision is made on whether the search points have been converged. The nonlinear optimization method employed in this arrangement may be any other one capable of sequentially improving the search point. Examples of such methods include a method of making the optimum point the next search point, the optimum point being obtained by making a linear search from the present search point along the sharp descending direction of the objective function, a method of presuming the coordinates of an optimum point by solving a quadratic programming problem resulting from the secondary approximation of an objective function at the present search point and the primary approximation of constraint functions or a method of generating sufficiently many points at random in the vicinity of the present search point and selecting the optimum point of an objective function from amongst those generated as the next search point. In this arrangement, a simple optimization procedure shown in Fig. 8 is employed. At Step 61 of the procedure, an inclination of objective function at the present search point is obtained and set as ▿f. In this arrangement, ▿f is considered as a criterion for deciding the convergence of the search points. At Step 62, the operation of solving problems is terminated if it is decided that the search points have converged to an optimum point when the convergence condition |▿f|<10 -4 is satisfied. At Step 63, a decision is made as to whether ▿f is positive or negative to make the method branch off. At Step 64, the coordinates of the search point with a positive ▿f is decremented by 0.1 and at Step 65, the coordinates of the search point with a negative ▿f is incremented by 0.1 to update the search point. At Step 26 in Fig. 4, the method is terminated by generating the results of nonlinear optimization calculations including e.g. the coordinates of the optimum point, and the value of the objective function when the search points are judged as being converged at Step 25. A specific application of the present invention will now be described with reference to a simple nonlinear optimization problem. The nonlinear optimization problem under consideration is as follows: Minimize f(x) = (x - 1) 4 Subject to no constraints Hereinafter the i-th search point is represented by x i . Moreover, the search start point is represented by x 1 . At Step 21, the rule for controlling the method of solving problems is supplied from the input unit 13 to the working memory 16 as shown in Fig. 2. At Step 22, x 1 = 0.64 is supplied as intermediate data to form the search start point. At Step 23, the coordinates of the present search point (0.46), the value of the objective function (8.5 x 10 -2 ), and the inclination of the objective function (-6.2 x 10 -4 ) are obtained and the results are made to correspond to search point numbers before being stored in the working memory 16. At Step 24, the procedure shown in Fig. 7 is followed to verify the method of solving problems. In other words, i = 1 in Step 51 and the 1st rule condition unit is called from the working memory 16 at Step 52 and evaluated at Step 53. The 1st rule condition unit is used to examine "whether there existed a search point taking the same coordinates of the present search point in the past". This condition unit is not satisfied at x 1 . In the same way, the 2nd and the 3rd rule condition units are extracted and the evaluation process is repeated. All the condition units are assumed to be unsatisfied at x 1 , i.e. it is assumed that all the rule execution units are not executed. At Step 25, the procedure shown in Fig. 8 is followed to update the search point and make a convergent decision. Since ▿f = -6.2 x 10 -1 at x 1 , a convergent condition is not achieved at Step 62. However, it is determined that ▿f < 0 at Step 63 and the search point is updated to become x 2 = x 1 + 0.1 = 0.56 in Step 65. The process returns to Step 23 and the method from Step 23 up to Step 25 is repeated for a new search point. Fig. 9 shows a form of updating data regarding search points. Since ▿f < 0 at the search point x 7 , Step 64 is executed to reduce the coordinates of the search point to 0.1. As a result, the coordinates of x 8 become 0.96, which is equal to the coordinate value of x 6 . Consequently, the test of "whether there existed a search point taking the same coordinates of the present search point in the past" in the first rule condition unit of Fig. 5 is satisfied and the execution unit executes the question of "incrementing the coordinates of the search point by 0.01." Then the coordinates of x 8 become 0.96 + 0.01 = 0.97. The lst rule designates a countermeasure to prevent updating of the search point resulting in an infinite loop. The cause of such an infinite loop is not due to the specific nonlinear optimization method being applied at any time and therefore this rule is said to be common knowledge i.e. knowledge relating to the method of controlling the process of solving problems which is not specific to the nonlinear optimization method. A new search point is set to x 8 ' and any other condition unit is not established. The verification of the process of solving problems is assumed to be terminated. For x 8 ', the updating of the search point and the decision of convergence are executed in Step 25. The procedure of Fig. 4 is followed likewise and the updating of the search point is repeated. At x 12 ultimately, the convergent condition |▿f| < 10 -4 of Step 62 is satisfied and the process of solving problems is terminated. The simple nonlinear optimization method shown in Fig. 8 has been employed to simplify the explanation in this embodiment. However, efficient nonlinear optimization methods are stored in the nonlinear optimization processor 11 and usable, depending on the type of the problem. As the common knowledge is used to control the process of solving problems in the control processor 12, the common knowledge need not be modified even if the nonlinear optimization method is changed to another. In this embodiment, the nonlinear optimization processor and the control processor are separate and the knowledge relating to the method of controlling the process of solving problems without relying on the nonlinear optimization technique is used to control the search point in the control processor. As a result, a general purpose nonlinear optimization apparatus equipped with means for preventing failures of solving problems without relying on a specific nonlinear optimization method can be fabricated. Fig. 10 shows another apparatus which may be used in the present invention. The apparatus shown in Fig. 10 is generally similar to that shown in Fig. 3, and the same reference numerals are used to indicate corresponding parts. In the apparatus shown in Fig. 10, however, there is an external memory 83 which stores the common knowledge, and the control processor 12 in Fig. 3 is divided into an input unit 82 which receives knowledge from the memory 83, and the processing part 81 which carries out the functions required by the control processor. It can be appreciated that knowledge from the memory 83 need be extracted only when needed in the method of nonlinear optimization. It may thus be appreciated that Step 106 in Fig. 1 may be distributed into Step 108. The advantage of storing the common knowledge in a separate memory 83 is that it is then a simple matter to add additional common knowledge to that memory if desired. Fig. 11 shows a further apparatus for use in the present invention, which again represents a modification of the apparatus shown in Fig. 2. In the apparatus of Fig. 11, one or more memories 91 store domain knowledge, which is then passed to the nonlinear optimization processor 11 by an input unit 92. Of course, only that domain knowledge which applies to the method being applied to the problem is extracted from the memory 91 at any time. Again, the advantage of this arrangement is that it is possible readily to add additional domain knowledge to the external memories 91. In practice, it is preferable that the apparatus has memories for both common and domain knowledge to minimize the size of the working memory that is needed, and such an arrangement is shown in Fig. 12. The components of Fig. 12 correspond to those of Figs. 2, 10 and 11, with the same reference numerals being used to indicate corresponding parts, and therefore further description is unnecessary. Fig. 13 shows an optimum control apparatus for a production system, which makes use of a nonlinear optimization apparatus embodying the present invention. In the arrangement shown in Fig. 11, the control of the production system is to control an equipment control parameter 103 to maximize the amount of product 108 manufactured from raw material 107 per unit type under constraints such as the capabilities of the processing production equipment. Data relating to the operating conditions of the system is received from an input device 106, and is fed as an input parameter to a control parameter decision apparatus 105. The control parameter decision apparatus 105 receives a feedback parameter 106 concerning the operating state of the system. In accordance with the present invention, the control parameter decision device may incorporate a nonlinear optimization apparatus being an embodiment of the present invention. In such an arrangement, even if existing nonlinear optimization methods become unsuitable to solve the nonlinear optimization problems which define the production system, due to changes in the production system, the only thing that needs to be changed is the nonlinear optimization method used by the apparatus according to the present invention within the control parameter decision device 105. Thus, the system need not be changed even when the production system is altered, so that simplicity of operation can be achieved. It can thus be seen that the present invention may be applied to the control of any industrial or technological plant or system. Furthermore, the present invention could be applied to the computer control of a financial operation such as a securities market. Another field to which the present invention may be applied is in computer aided design (CAD) systems. One example of such a system is the design of a coil in which the radius of the wire of the coil, the number of turns of the coil, and the radius of each turn, must be selected, on the basis of the constraint that, for a given load, the deformation of the coil is not greater than a predetermined value. The system of the present invention could then be applied to such an arrangement to optimize the parameters of the coil so that it has minimum volume. Such an application will now be described in more detail with reference to Fig. 14, for determining minimum weight springs under static loading. It is assumed that the ends of the spring shown in Fig. 14 are closed and ground and the load is concentric. a) Design Variables N = number of active coils CNUM D = mean coil diameter, in. DIAC d = wire diameter, in. DIAW These quantities are adjusted to give the best design. b) Specifications The designer must provide data for the following specifications The end coefficient for spring buckling is similar to that used in buckling of ordinary compression members. Values can be obtained from Table 4. It is quite possible to overconstrain a spring design so that no feasible solution is possible. If a feasible solution cannot be found, it is suggested that one or more of the specifications be relaxed, such as free length or allowable stress, or even the maximum working load. Several optimization trials can be combined. Optimum values of DIAW, DIAC and CNUM are returned and automatically used as starting values for the next trial, unless they are respecified. This is particularly useful in obtaining trade-off curves. c) Optimisation The optimisation criterion used is minimum volume of spring wire as stated above. Then: U = π 2 4 Dd 2 (N + 2) = minimum (i) Stress Constraint (Wahl, 1963); the shear stress must be less than the specified allowable.  1 = S - C f 8F max D πd 3 ≥0 where C f = 4C - 1 4C - 4 + 0.615 C C = D d (ii) Configuration constraints; the spring free length must be less than the maximum specified. The spring constant K must first be determined (Wahl, 1963) K = Gd 4 8ND 3 lb/in. The deflection under the maximum working load is δ = F max K in. It is assumed that the spring length under F max is 1.05 times the solid length. Thus the free length is ℓ f - δ + 1.05(N +2)d and the constraint is  2 = ℓ max -ℓ f ≥0 The wire diameter must exceed the specified minimum  3 = d - d min ≥0 The outside diameter of the coil must be less than the maximum specified.  4 = D max - D - d ≥0 The mean coil diameter must be at least three times the wire diameter to ensure that the spring is not too tightly wound.  5 = C - 3≥0 The deflection under preload must be less than the maximum specified. The preload deflection is δ p = F p K The constraint is  6 = δ pm - δ p ≥ 0 The combined deflection must be consistent with the length.  7 = ℓ f - δ p - F max - F p K - 1.05(N + 2)d≥0 Strictly speaking this constraint should be an equality. It is intuitively clear that at convergence the constraint function will always be zero. (iii) Deflection requirement; the deflection from preload to maximum load must be equal to that specified. This too is made an inequality constraint since it should always converge to zero.  8 = F max - F p K - δ w ≥0 (iv) Buckling constraint (Wahl, 1963); the load at which buckling occurs is given by P cr = α 0 C B where α 0 = ℓ f K E = modulus of elasticity, psi C E = end coefficient A factor of safety of 1.25 is used to take care of uncertainty in predicting P crit . The inequality constraint is  9 = P crit 1.25 - F max ≥ 0 If the spring is guided and C E has a value of zero, then this constraint is bypassed. The invention could also be applied to the computer design of a bearing, in which it is desired to ensure that a shaft rotates with minimum friction. Such an application will now be described in more detail with reference to Fig.s 15 and 16, which show a hydrostatic thrust bearing for a turbogenerator. In Fig. 15, the bearing 300 has a guide bearing 301 and a step bearing 302, and an inlet 303 and an outlet 304 for oil. Fig. 16 shows the bearing schematically. This example illustrates several important aspects of formulation for optimization. 1. It is an example of the difficulty sometimes encountered in choosing the design variables. 2. It shows that sometimes a state variable should be substituted for a more obvious independent design variable. 3. It illustrates how easily an important constraint can be overlooked,and how the computer brings this to the attention of the engineer. 4. The problem of accommodating variability is significant in this design. The conventional factor of safety approach is simply inapplicable. 5. The engineering modelling requires the sequential solution of a rather complex set of expressions which must be arranged in proper order so that the computer works with only known quantities, including the design variables which are always "known" to the computer whenever engineering modelling expressions are used. 6. It demonstrates how the designer's judgment can be introduced by the use of trade-off curves. The criterion is to minimize power loss associated with the bearing. The primary specifications are Speed, 750 rpm Weight of generator, 101,000 lb Lubricant used, SAE 20 oil Oil pump efficiency, 70% Maximum oil pressure, 1000 psi Maximum temperature rise of oil 50 °F Minimum oil film thickness, 0.001 in. a) Theory (Fuller, 1956) The inlet pressure and flow rate are related by the following expression: P 0 = 6µQ πh 0 3 ℓn R R 0 where Q = flow, in. 3 /sec P 0 = inlet pressure, psi gauge h 0 film thickness, in. µ = oil viscosity in reyns, lb sec/in. 2 R bearing step radius, in. R 0 = recess radius, in. The outlet pressure P 1 is assumed to be atmospheric. The load-carrying capacity is given by W = P 0 π 2 (R 2 - R 0 2 ) ℓn (R/R 0 ) lb The pumping energy is E p = Q(P 0 - P 1 ) in. lb/sec and the friction loss is where N is the speed in revolutions per minute. The frictional torque is The temperature rise of the oil in passing through the bearing is estimated by t = E f 12 x 778QτC °F where τ = weight density of oil, lb/in. 3 = 0.0307 C = specific heat of oil, Btu/lb °F = 0.50 The oil viscosity is a function of temperature, given by log 10 log 10 (ν + 0.8) = n log 10 T + C 1 where n and C 1 are constants for a given oil, ν is the kinematic viscosity in centistokes, and T is the absolute temperature, degrees Rankine (°F + 459.7). The following chart gives C 1 and n for various grades of oil. Oil C 1 n SAE 5 10.85 -3.91 SAE 10 10.45 -3.72 SAE 20 10.04 -3.55 SAE 30 9.88 -3.48 SAE 40 9.83 -3.46 SAE 50 9.82 -3.44 The viscosity conversion from centistokes to reyns is reyns = St x specific gravity x 1.45 x 10 -7 b) Design Options The company using the bearing may wish to increase the minimun film thickness to permit passage of larger particles in the oil, so that the filtering cost can be reduced. They may also wish to use a pump having a lower or higher pressure capacity, depending on the cost. Trade-off curves are to be developed to assist in this decision. The effect of using a different grade of oil is also to be investigated. c) Design Variables The primary design variables are clearly R, R 0 , and Q. It is not obvious whether or not there is another independent design variable, and it is necessary to examine all the equality expressions and state variables involved in feasibility. The basic expressions are Eqs. (8.3.1), (8.3.2), (8.3.4), (8.3.6) and (8.3.7). The temperature T can be assumed to be approximated by the mean of the ambient and oil outlet temperatures. We shall assume ambient is 100°F, and thus T = 560 + ΔT 2 We can also convert viscosity ν to µ. The specific gravity of the oil is s = 0.0307 x 1728 62.4 = 0.8502 Thus µ =ν(0.8502)1.45 x 10 -7 = 1.233 x 10 -7 ν or = 8.112 x 10 6 µ The state variables are P 0 , µ, W, E f , ΔT, and h 0 . There are therefore six state variables and five expressions, and it is clear that one of these must be taken as a design variable. It is actually most convenient to make µ the design variable. It can be seen in the following section that this avoids difficulties with transcendental expressions and the need for an equality constraint and an additional design variable. To summarize, the design variables are R, R 0 , Q and µ. d) Optimization Criterion The criterion is to minimize total power loss to the bearing. We must now set up expressions in sequence so that the computer begins with known values of the design variables. We begin by obtaining ΔT as a function of µ, using Eqs. (8.3.7) to (8.3.9). n x log 10 (560+ ΔT 2 )=log 10 log 10 (8.112 x 10 6 µ + 0.8) - C 1 The value for ΔT can readily be extracted from this. The next step is to use Eq. (8.3.6) to obtain E f . E f = 12 x 778QτcΔT Equation (8.3.4) can be rearranged to yield h 0 . Similarly, Eq. (8.3.1) gives P 0 . P 0 = 6µQ πh 3 0 ℓn R R 0 And finally Eq. (8.3.3) is required for pumping power, modified to include pump efficiency. E p = Q(P 0 - P 1 ) 0.70 The optimization expression is U = E f + E p = minimum power in inches-pounds per second. e) Constraints (i) Maximum load; the only remaining undefined state variable is W. It is obtained from Eq. (8.3.2) that: W = P 0 π 2 R 2 - R 2 0 ℓn (R/R 0 ) The specified load W s must be less than W.  1 = W - W s > 0 (ii) Oil pressure; the inlet oil pressure must be less than the specified maximum, designated P max .  2 = P max - P 0 ≥ 0 (iii) Oil temperature rise; the oil temperature rise must be less than specification, designated ΔT max .  3 = ΔT max -ΔT≥0 (iv) Oil film thickness; the oil film thickness is not to be less than a specified amount h min .  4 = h 0 - h min ≥ 0 It should be noted that the designer has left all specifications in symbolic form, so that different specifications can be easily tried for this design and so that the same program can be easily adapted to later similar designs. (v) Other constraint; R must be greater than R 0 .  5 = R - R 0 ≥ 0 Initial results suggest that, as formulated, the two radii R and R 0 are approaching an equal value at optimum. This is not a physically meaningful solution; and it is characteristic of optimization problems in these circumstances to have convergence problems. It is also a warning that something is missing in the engineering modelling for the problem, i.e., a constraint. A review of the theoretical basis for the expression relating to P 0 to Q,R, and R 0 discloses that the assumption is made that R - R 0 is much greater than h 0 , so that entrance and exit losses are negligible and the flow is essentially laminar. The exit loss will be τv 2 / e/2g, where v e is the exit velocity; and the entrance loss will be of the same order. We shall therefore require that twice the exit loss be 0.1% of the pressure drop P 0 .  6 = 0.001 - τ g ( Q 2πRh 0 ) 2 P 0 ≥0 If the difference between R and R 0 becomes very small, there is also risk of excessive contact pressure in the event of hydrostatic pressure loss. A constraint is therefore provided for this failure mode, assuming 5000 psi is acceptable to avoid surface damage.  7 = 5000 - W π(R 2 - R 2 0 ) ≥ 0 A more sophisticated study may also require consideration of cavitation and instability problems. These are, however, merely examples of the application of the present invention to computer aided design and are derived from the book "Optimal Engineering Design, Principles and Applications" by J.N. Siddall, published by Marcel Detcker Inc in 1982. It should be stressed that there are optimisation problems to which the present invention may be applied. A wide range of applications will then be immediately apparent to persons skilled in the art. It should be noted that in the above description an apparatus according to the present invention is illustrated having a separate nonlinear optimization processor 11, control processor 12, and external memories 83, 91. This is not essential and the method of the present invention may be executed on a suitable standard computer. What is important, however, is that the common knowledge, and possibly also the domain knowledge, is stored separately from the methods, to minimize the memory space needed. Many different nonlinear optimization methods may be stored, and if it is desired to add a further method, it is a relatively straightforward matter to add only that domain knowledge relating to that particular method. Whilst the present invention relates to a general method of solving nonlinear optimization problems, it should be noted that the present application relates only to the use of such a method of nonlinear optimization in computer controlled systems relating to optimization of real world technological and industrial systems which involve optimization of nonlinear variables characterizing the system, i.e. physical arrangements which apply to optimize the performance of processes, machines, manufacturing, or compositions, or even to computer controlled financial management systems involving computers. Abstract uses of the methods underlying the present invention, in computation research, algorithm research, or nonlinear mathematical research activities, form no part of the present invention.

Claims: A method of computer controlled nonlinear optimization comprising the steps of: a) storing (100) a plurality of nonlinear optimization methods in a first store of a computer; b) storing (101) in a second store of a computer, separately from said methods, a plurality of rules for controlling said methods, said rules being common to all said methods; c) inputting (103) to said computer a problem for which an optimum solution is sought; d) extracting (105) a selected method from said first store; e) extracting (106) said plurality of rules from said second store; f) applying (108), by means of said computer, said selected methods to said problem to obtain a possible solution, the application of said selected method in said computer being controlled by executable rules among said plurality of rules; and g) repeating steps (d) to (f) in said computer for successive ones of said methods until an optimum one of said possible solutions is obtained. A method according to claim 1, wherein said step (e) is carried out during said step (f). A method according to claim 1 or claim 2 wherein a computer controlled process or system is controlled by said computer to obtain an optimum performance of said process or system. A method according to claim 3, wherein said process or system is an industrial process or system. A method according to claim 1, wherein a plurality of second rules are stored (102) in a third store of said computer separate from said methods, each of said second rules relating to a corresponding one of said methods, and any one of said second rules corresponding to said selected method is extracted (107) from said third store, whereby the application of said selected method in said computer is controlled by said executable ones of said plurality of first rules and said extracted second rules. A method of computer aided design of an industrial or technological device or system by computer controlled nonlinear optimization; the method being according to any one of the preceding claims, wherein said problem relates to the parameters of said device or system, which parameters are to be optimized subject to predetermined constraints, and optimized parameters are derived for said device or system. An apparatus for nonlinear optimization comprising: a) memory means (83, 91) having first and second stores for: (i) storing a plurality of nonlinear optimization methods in said first store of said memory means; and (ii) storing in said second store, separately from said methods, a plurality of rules for controlling said methods, said rules being common to all said methods; b) input means (13) for the input of a problem for which an optimum solution is sought; c) a processor (11, 12) for repeatedly: (i) extracting a selected method from said first store; (ii) extracting said plurality of rules from said second store; and (iii) applying said selected methods to said problem to obtain a possible solution, the application of said selected method being controlled by executable rules among said plurality of rules; thereby to obtain an optimum possible solution to said problem. An apparatus according to claim 7, wherein the memory means also has a third store (91) for storing, separate from said methods, a plurality of second rules, each of said second rules relating to a corresponding one of said methods; and the processor is arranged to extract from said third store any one of said second rules corresponding to said selected method, and to apply said selected methods to said problem to obtain a possible solution under the control of said executable ones of said plurality of first rules and said extracted second rules.

Inventors: KOBAYASHI YASUHIRO, NONAKA HISANORI, KOBAYASHI, YASUHIRO, NONAKA, HISANORI
Applicants: HITACHI LTD, HITACHI, LTD.
Application year: 1990
Main classification: G06F17
IPC codes: G06Q10, G06F17