–1– MOVI 1.0 SOFTWARE PACKAGE USER’S MANUAL HEAD OF THE PROJECT: PROFESSOR R.B.STATNIKOV AUTHORS: J.B.MATUSOV A.R.STATNIKOV R.B.STATNIKOV I.V. YANUSHKEVICH MOSCOW 2001 –2– ABSTRACT The MOVI 1.0 (Multicriteria Optimization and Vector Identification) software package was designed to apply the Parameter Space Investigation (PSI) Method to engineering problems. Using MOVI 1.0, one can utilize the entire potential of the PSI method without assistance. MOVI 1.0 enables the user to employ a mathematical model developed according to the simple rules described in the User's Manual. Thus, MOVI 1.0 can be configured for solving various engineering optimization problems, including the investigation of mechanical systems described in terms of the finite element method in particular. MOVI 1.0 allows up to 51 design variables in the problems. By an additional agreement between the authors of MOVI 1.0 and the user, the latter can be supplied with an LP sequences code that allows the dimension of the design variable vectors to be increased to 350. The "Educational" version limits the number of design variables to eight. The number of criteria to be optimized is limited only by the computer's processing power. The number of criteria reached many dozens when we solved real problems. The MOVI 1.0 installation set includes a CD with installation software and a User's Manual. MOVI 1.0 is a very simple and user-friendly program. An extensive Help system covers all menu items and available options and, along with information on program operation, provides information on the PSI method. The User's Manual contains a detailed description of how to use the software, as well as theoretical fundamentals of the PSI method. The MOVI 1.0 software package combines theoretical knowledge with a practical user's manual, thus representing a unique and unprecedented tool for researchers. MOVI 1.0 was built using the Delphi 5 visual programming environment and InterBase 6.0 SQL Server. –3– CONTENTS ABSTRACT _______________________________________________________________ 2 CONTENTS_______________________________________________________________ 3 1. THE PARAMETER SPACE INVESTIGATION METHOD: A NEW APPROACH TO SOLVING OPTIMIZATION PROBLEMS IN ENGINEERING________________ 7 2. NOTATION AND DEFINITIONS __________________________________________ 8 3. STATEMENT AND SOLUTION OF MULTICRITERIA OPTIMIZATION PROBLEMS ______________________________________________________________ 9 3.1. SOME FEATURES OF THE ENGINEERING OPTIMIZATION PROBLEMS _______________ 9 3.2. FORMULATION OF MULTICRITERIA OPTIMIZATION PROBLEMS _________________ 10 3.3. SYSTEMATIC SEARCH IN MULTIDIMENSIONAL DOMAINS USING UNIFORMLY DISTRIBUTED SEQUENCES ___________________________________________________ 11 3.4. THE PARAMETER SPACE INVESTIGATION METHOD IS A TOOL FOR FORMULATING AND SOLVING ENGINEERING OPTIMIZATION PROBLEMS ______________________________ 12 3.5. PROBLEMS OF VECTOR IDENTIFICATION AND OPERATIONAL DEVELOPMENT OF PROTOTYPES______________________________________________________________ 17 3.6. THE REQUIRED NUMBER OF TRIALS _______________________________________ 17 4. GENERAL DESCRIPTION OF THE MOVI 1.0 SOFTWARE PACKAGE _______ 19 4.1. UNIT I: ENTERING NEW DATA ____________________________________________ 20 4.1.1. PURPOSE ____________________________________________________________ 20 4.1.2. DESCRIPTION _________________________________________________________ 20 4.2. UNIT II: PROBING THE PARAMETER SPACE __________________________________ 21 4.2.1. PURPOSE ____________________________________________________________ 21 4.2.2. DESCRIPTION _________________________________________________________ 21 4.3. UNIT III: CHECK FOR THE FULFILLMENT OF FUNCTIONAL CONSTRAINTS _________ 21 4.3.1. PURPOSE ____________________________________________________________ 21 4.3.2. DESCRIPTION _________________________________________________________ 21 4.4. UNIT IV: EVALUATION OF CRITERIA _______________________________________ 22 4.4.1. PURPOSE ____________________________________________________________ 22 4.4.2. DESCRIPTION _________________________________________________________ 23 4.5. UNIT V: COMPILING THE TEST TABLE ______________________________________ 23 4.5.1. PURPOSE ____________________________________________________________ 23 –4– 4.5.2. DESCRIPTION _________________________________________________________ 23 4.6. UNIT VI: DEFINITION OF CRITERIA CONSTRAINTS. GENERATION OF A FEASIBLE SET 23 4.6.1. PURPOSE ____________________________________________________________ 23 4.6.2. DESCRIPTION _________________________________________________________ 24 4.6.2.1. Dialogue 1 _________________________________________________________ 24 4.6.2.2. Dialogue 2 _________________________________________________________ 24 4.6.2.3. Dialogue 3 _________________________________________________________ 25 4.6.3. TRUNCATED TEST TABLES _______________________________________________ 26 4.6.4. CHOICE OF THE ALGORITHM _____________________________________________ 26 4.6.5. TABLE OF CRITERIA FAILURES ____________________________________________ 27 4.6.6. ANALYSIS OF THE FEASIBLE SET __________________________________________ 27 4.7. UNIT VII: GENERATION OF THE PARETO OPTIMAL SET ________________________ 28 4.7.1. PURPOSE ____________________________________________________________ 28 4.7.2. DESCRIPTION _________________________________________________________ 28 4.8. UNIT VIII: ANALYZING THE RESULTS. CONSTRUCTING TABLES OF RESULTS, HISTOGRAMS, AND GRAPHS __________________________________________________ 28 4.8.1. PURPOSE ____________________________________________________________ 28 4.8.2. DESCRIPTION _________________________________________________________ 28 4.9. UNIT IX: DETERMINING THE BEST SOLUTION ________________________________ 29 4.9.1. PURPOSE ____________________________________________________________ 29 4.9.2. DESCRIPTION _________________________________________________________ 30 5. EXAMPLE_____________________________________________________________ 31 6. SYSTEM REQUIREMENTS _____________________________________________ 36 7. CONTENTS OF THE DISTRIBUTION PACKAGE __________________________ 36 8. INSTALLING THE MOVI 1.0 SOFTWARE PACKAGE AND GETTING STARTED _______________________________________________________________ 37 8.1. INSTALLING THE MOVI 1.0 SOFTWARE PACKAGE ____________________________ 37 8.2. ADDING THE “OSCILLATOR” AND “OSCILLATOR 1” TEST PROBLEMS _____________ 37 8.2.1. ADDING THE “OSCILLATOR” PROBLEM _____________________________________ 37 8.2.2. ADDING THE “OSCILLATOR 1” PROBLEM ____________________________________ 38 8.3. HOW TO START THE MOVI 1.0 PROGRAM __________________________________ 38 8.4. UNINSTALLATION ______________________________________________________ 38 9. INTERFACE LIBRARY DEVELOPMENT MANUAL _______________________ 39 9.1. PURPOSE OF THE INTERFACE LIBRARY: PRELIMINARY INFORMATION ____________ 39 9.2. INTERFACE LIBRARY DEVELOPMENT_______________________________________ 39 9.3. INTERFACE LIBRARY EXAMPLE ___________________________________________ 41 –5– 10. DATABASE MANAGER USER'S MANUAL _______________________________ 44 10.1. PURPOSE ____________________________________________________________ 44 10.2. STARTING THE PROGRAM AND DESCRIPTION OF THE INTERFACE _______________ 44 10.3. EDITING THE PROBLEM NAME, FOLDER, AND INTERFACE LIBRARY _____________ 44 10.4. DATABASE INTEGRITY CHECK ___________________________________________ 45 10.5. ADDING AND DELETING A PROBLEM ______________________________________ 46 11. MOVI 1.0 OPERATION ________________________________________________ 48 11.1. MAIN MENU ITEM DATA INPUT ________________________________________ 49 11.1.1. EMBEDDED MENU ITEM NEW TASK _____________________________________ 49 11.1.1.1. DESIGN VARIABLES Page __________________________________________ 51 11.1.1.2. FUNCTIONAL CONSTRAINTS Page __________________________________ 52 11.1.1.3. CRITERIA Page ___________________________________________________ 53 11.1.2. EMBEDDED MENU ITEM LOAD TASK ____________________________________ 53 11.1.3. EMBEDDED MENU ITEM EDIT TASK _____________________________________ 54 11.2. MAIN MENU ITEM CHECK OF PRIMARY CONSTRAINTS _________________ 54 11.3. MAIN MENU ITEM TEST TABLES _______________________________________ 55 11.3.1. EMBEDDED MENU ITEM TEST TABLE I ___________________________________ 56 11.3.2. EMBEDDED MENU ITEM TEST TABLE II __________________________________ 61 11.4. MAIN MENU ITEM TABLES _____________________________________________ 64 11.4.1. EMBEDDED MENU ITEM TABLE OF FUNCTIONAL FAILURES _______________ 64 11.4.2. EMBEDDED MENU ITEM TABLE OF CRITERIA FAILURES __________________ 65 11.4.3. EMBEDDED MENU ITEM TABLE OF CRITERIA ____________________________ 66 11.4.4. EMBEDDED MENU ITEM TABLE OF DESIGNS _____________________________ 67 11.5. MAIN MENU ITEM HISTOGRAMS AND GRAPHS _________________________ 68 11.5.1. EMBEDDED MENU ITEM HISTOGRAMS __________________________________ 68 11.5.2. EMBEDDED MENU ITEM GRAPHS _______________________________________ 68 11.5.3. SAVING GRAPHS _____________________________________________________ 74 11.6. MAIN MENU ITEM PERFORM ONE TEST ________________________________ 74 11.7. MAIN MENU ITEM COMBINE SOLUTIONS _______________________________ 76 11.8. MAIN MENU ITEM SERVICE ____________________________________________ 77 11.9. PRINTING REPORTS ____________________________________________________ 78 12. EXERCISES __________________________________________________________ 80 12.1. EXERCISE A. CONSTRUCTION OF A FULL TEST TABLE (TEST TABLE I). DIALOGUES WITH THE COMPUTER. TRUNCATED TEST TABLE. TABLE OF CRITERIA FAILURES _______ 82 12.1.1. EXAMPLE 1. _________________________________________________________ 88 12.1.2. EXAMPLE 2. EXTENSION OF THE TRUNCATED TABLE __________________________ 89 12.2. EXERCISE В. TRUNCATED TEST TABLE. TABLE OF FUNCTIONAL FAILURES. TEST TABLE II ________________________________________________________________ 91 12.2.1. TABLE OF FUNCTIONAL FAILURES ________________________________________ 91 12.2.2. TEST TABLE II _____________________________________________________ 93 12.3. EXERCISE С. ANALYSIS OF TABLES OF CRITERIA AND DESIGN VARIABLES. HISTOGRAMS. GRAPHS OF CRITERIA VERSUS DESIGN VARIABLES __________________ 96 12.3.1. ANALYSIS OF THE TABLE OF CRITERIA _____________________________________ 97 –6– 12.3.2. ANALYSIS OF THE TABLE OF DESIGN VARIABLES. _____________________________ 97 12.3.3. HISTOGRAMS ________________________________________________________ 98 12.3.4. CRITERION VERSUS DESIGN VARIABLE I GRAPHS ______________________ 99 12.3.5. CRITERION VERSUS DESIGN VARIABLE II GRAPHS ____________________ 102 12.4. EXERCISE D. CONSTRUCTION OF THE COMBINED FEASIBLE AND PARETO OPTIMAL SETS. THE MENU ITEM COMBINE SOLUTIONS _______________________________ 103 12.4.1. CASE А ___________________________________________________________ 103 12.4.2. CASE В____________________________________________________________ 105 APPENDIX A. EXAMPLES OF POINTS OF THE LP SEQUENCE _____________ 108 APPENDIX B. PROBLEM FILES __________________________________________ 109 B.1. STRUCTURE OF THE PROBLEM’S DATABASE ________________________________ 109 B.2. CFG TABLE__________________________________________________________ 110 B.3. PRM TABLE _________________________________________________________ 111 B.4. FUNCS TABLE _______________________________________________________ 112 B.5. CRITS TABLE ________________________________________________________ 112 B.6. FR TABLE ___________________________________________________________ 112 B.7. СR TABLE ___________________________________________________________ 113 B.8. FIRSTCRBOUND TABLE ______________________________________________ 113 B.9. CRITTAB TABLE _____________________________________________________ 114 B.10. CUTTED TABLE ____________________________________________________ 114 B.11. TMPTAB TABLE ____________________________________________________ 114 B.12. FPRM AND PAR TABLES ______________________________________________ 115 B.13. DISKR TABLE ______________________________________________________ 115 B.14. OTHER TYPES OF FILES THAT CAN BE GENERATED ________________________ 115 REFERENCES __________________________________________________________ 116 –7– 1. THE PARAMETER SPACE INVESTIGATION METHOD: A NEW APPROACH TO SOLVING OPTIMIZATION PROBLEMS IN ENGINEERING 1. Engineering optimization problems, including design problems, are essentially multicriteria ones. The designer of a machine, a mechanism, or a structure encounters a lot of contradictory performance criteria, such as material demand, strength, expected life, vibration and noise levels, power demand, productivity, efficiency, dimensions, and economic factors. The nature of these problems is such that improving some of the criteria leads, as a rule, to the deterioration of others. In general, it is impossible to reduce multicriteria problems to single-criterion ones. The experience gained in solving engineering optimization and optimal design problems shows that the expert cannot state a problem correctly. Unfortunately, the known optimization techniques are only of slender assistance. 2. For the correct statement and solution of engineering optimization problems a unique method called PARAMETER SPACE INVESTIGATION (PSI method) has been developed and widely integrated into various fields of industry, science, and technology. The PSI method takes into account the features of problems from the class under consideration and allows one to obtain optimal solutions for any number of performance criteria. 3. In solving practical problems, it is very important to determine if the mathematical model adequately represents a real object. Herein lies the essence of a new approach, i.e., vector identification. There also exists a broad and important class of problems related to the operational development of prototypes of various objects such as machines, mechanisms, and structures. The solution of these problems includes vector identification and multicriteria optimization and is based on the PSI method. 4. The MOVI 1.0 software package implements the PSI method and allows one to solve the above problems. Through a simple interface, MOVI 1.0 can be configured by the user to solve different engineering optimization problems, including the study of mechanical objects described in terms of the finite element method . The number of performance criteria that can be optimized is virtually unlimited. 5. The PSI method has become one of the major tools for selecting optimal design variables in many areas of industry (e.g., the automotive, machine tool, aircraft, and shipbuilding industries) and has proved to be highly efficient in all applications, without exception [1, 2, 4, 5, 7,11]. –8– 2. NOTATION AND DEFINITIONS jth design variable: j, j = 1, r Design variable vector: = (1,..., r) jth design-variable constraint: j* j j** vth performance criterion: v(), v = 1, k Vector of performance criteria: = (1, ..., k) vth criterion constraint: v() v**, v = 1, k lth functional relationship: fl(), l = 1,t lth functional constraint: Cl* fl() Cl** feasible set (the set of feasible design variables) D feasible solution set in the criteria space: (D) Pareto optimal set in the design variable space: P Pareto optimal set in the criteria space: (P) Parallelepiped: = {j: j* j j**, j = 1, r } The performance criterion is the object characteristic to be minimized (maximized). The functional relationship is the object characteristic whose values should be within a certain predetermined range [Cl*; Cl**]. The feasible set is the set of vectors meeting design variable, functional, and criteria constraints. The Pareto optimal set is the domain of vectors in the feasible set that cannot be simultaneously improved over all performance criteria (if one criterion is improved, another criterion will certainly deteriorate). –9– 3. STATEMENT AND SOLUTION OF MULTICRITERIA OPTIMIZATION PROBLEMS 3.1. Some Features of the Engineering Optimization Problems Let us start by considering the specifics of the problems to be solved. In doing so, we will draw on the experience we accumulated while solving numerous engineering optimization problems, including design problems. There are a number of specific features inherent in the class of the problems under consideration that predetermine both their formulation and the approaches to solving them. The problems to be considered possess the following major specific features: (1) They are essentially multicriteria problems. As a rule, attempts are made to reduce multicriteria problems to single criterion ones. For example, the productivity of a machine is undoubtedly an important indicator. However, should one always try to maximize it? In addition, the single-criterion formulation of a problem ignores questions of paramount significance such as the following: What is the cost of maximum productivity? How does it affect the other performance criteria? Why is this criterion more preferable than the others? Numerous attempts to construct a generalized criterion in the form of a combination of particular criteria proved to be fruitless. By cramming a realistic multicriteria problem into the Procrustean bed of a single-criterion one, one replaces it, in effect, with a different problem having little or nothing in common with the initial one. Clearly, one should always try to take all the major performance criteria into account simultaneously. (2) Determination of the feasible solution set is one of the fundamental points arising in the analysis of engineering problems. The construction of this set is a major step in formulating and solving the problem. (3) Formulating and solving a problem comprise a single process. We are accustomed to processes where the designer first formulates a problem and then a computer is employed to solve it. However, in the case under consideration this approach is inadequate, since it is only on rare occasions that a problem may be formulated prior to solving it. The feasible set may be determined only in the process of solving the problem. Therefore, the problems are formulated and solved in the interactive mode. (4) As a rule, mathematical models are complicated systems of equations (including differential equations) which may be linear and nonlinear, deterministic and stochastic, and have distributed and lumped parameters. (5) The design variables are usually continuous. The feasible solution domain may be disconnected, and its volume may be several orders of magnitude smaller than the domain within which the optimal solution is sought. (6) Both the feasible and the Pareto optimal sets can be multiply connected and nonconvex. Commonly, there is a lack of information about the smoothness of the goal functions; as a rule, they are nonlinear continuous functions, which, – 10 – however, may be nondifferentiable. There are almost always many constraints of various kinds, and the number of design variables and criteria reaches many dozens. (7) The designer does not often encounter serious difficulties in analyzing the feasible and Pareto optimal sets or in choosing the most preferable solution. A sufficiently well defined system of preferences exists. In addition, these sets contain a small number of elements. 3.2. Formulation of Multicriteria Optimization Problems The formulation discussed below and the means for implementing it may be used to solve the majority of engineering optimization problems [1–10]. Let us consider a mechanical, biological, social, or other object whose operation is described by a system of equations (differential, algebraic, etc.) or whose performance criteria may be calculated in a straightforward manner. We assume that the system depends on r design variables 1, ..., r representing a point = ( 1 , ..., r ) of an r-dimensional space. Usually, appears in the abovementioned equations. In general, when designing a machine, one has to take design variable, functional, and criteria constraints into account. Design variable constraints are given by j* j j**, j = 1, r . (1) In the case of mechanical systems, j represents the stiffness coefficients, moments of inertia, masses, damping coefficients, geometrical dimensions, etc. Functional constraints can be written as Cl* fl() Cl**, l = 1,t , (2) where the functional relationships fl() may be either functionals that depend on the integral curves of the above-mentioned differential equations or just functions of that do not depend on any equations. The constants Cl* and Cl** describe the feasible limits for characteristic quantities (e.g., allowable stresses in structural elements, the track gauge, etc.). We have a number of performance criteria, such as productivity, material consumption, efficiency, etc. All other things being the same, it is desirable that these criteria, denoted by v(), v = 1, k , have extremal values. Clearly, constraints (1) single out a parallelepiped in the r-dimensional design variable space. In turn, constraints (2) single out a certain subset G in , whose volume may be assumed to be positive without loss of generality. In order to avoid situations where, in the designer's opinion, the values of some criteria are unacceptable, we introduce criteria constraints: v() v**, v = 1, k , (3) where v** is the worst, but still acceptable, value of the criterion v() (the choice of v** is discussed in Section 3.4). – 11 – The criteria constraints differ from the functional constraints in that the former are determined while solving a problem and, as a rule, are repeatedly revised. Unlike Cl* and Cl**, reasonable values of v** cannot be chosen before the problem is solved. Constraints (1)–(3) single out the feasible set D, i.e., the set of design solutions i that satisfy the constraints such that D G . If functions fl() and v() are continuous in , then the sets G and D are closed. Let us formulate one of the basic problems of multicriteria optimization. It is necessary to find a set P D for which P min , D (4) where v() = (1(), ...,k()) is the criteria vector and P is the Pareto optimal set. We mean that ()<() if for all v = 1,...,k, v() v() and at least for one v0{1,...,k}, v0() < v0(). When solving the problem, one has to determine the design variable vector P, which is the most preferable of the vectors belonging to set P. However, if not all performance criteria can be formalized, then the optimal solution should be sought over the entire set D. 0 Let us give an alternative definition of the Pareto optimal set. Definition. A point D, is called a Pareto optimal point if there exists no point D, such that v() v () for all v = 1,...,k, and v0() < v0(0) for at least one v0{1,...,k}. A set P D is called Pareto optimal if it consists of Pareto optimal points. The Pareto optimal set plays an important role in vector optimization problems, because (1) it can be analyzed more easily than the feasible solution set and (2) the optimal vector always belongs to the Pareto optimal set, irrespective of the system of preferences used by the designer for comparing vectors belonging to the feasible solution set. The importance of this set is determined to a great extent by the well-known theorem formulated in [4]. If the feasible solution set D is closed and the criteria v() are continuous, then the Pareto optimal set is nonempty. Therefore, when solving a multicriteria optimization problem, one always has to find the set of Pareto optimal solutions. 3.3. Systematic Search in Multidimensional Domains Using Uniformly Distributed Sequences The features of the problems under consideration make it necessary to represent vectors by points of sequences of uniformly distributed design variables [1, 2, 4–7,11]. We briefly consider this issue below. The following situation is typical of many applied problems. There exists a multidimensional domain where a function (or a system of functions) whose values – 12 – may be calculated at certain points is considered. Suppose we wish to get some information about the function's behavior within the domain/subdomain. Then, in the absence of any additional information about the function, it is natural to wish that the points where it is calculated would be uniformly distributed within the domain. To satisfy this condition, we use LP sequences. These sequences are among the best ones with regard to uniformity. 3.4. The Parameter Space Investigation Method is a Tool for Formulating and Solving Engineering Optimization Problems In Section 3.2 we formulated the problem of multicriteria optimization and defined the feasible solution set D, which is constructed using the values of , = 1,, k and some other constraints. Now we proceed by describing the Parameter Space Investigation method, which allows correct determination of and, hence, of the feasible solutions as well. The Parameter Space Investigation method involves the following three stages (see Figure 3.1). Stage 1. Compilation of test tables with the help of a computer. First, one chooses N trial points 1,...,N satisfying relation (2). Suppose that ~ the designer can a priori indicate the constraints to be imposed on the criteria ~ ~ ( ), 1,..., k ; is the value of the th criterion for which the values ~ are known to be unacceptable. The constraints , if any, should be imposed ~ successively. First, one should calculate 1 ( i ) . If the inequality 1 ( i ) 1** is satisfied, then we proceed to the calculation of the criterion 2 ( i ) , and so on. The vectors i violating this inequality are discarded. Finally, only the vectors i ~ satisfying all constraints ci* , ci** , and will remain. Then for each of the k criteria a test table1 is compiled so that the values of 1 ,, N increasing order, i.e., i1 i2 iN , 1,, k , k k , are arranged in (5) where i1, i2 ,...,iN are the numbers of trials. The remaining criteria ( ), k 1,...,k , should be calculated only for the vectors satisfying all the inequalities of (5). By analogy with the criteria ( ), 1,..., k , test tables are constructed for the criteria ( ), k 1,...,k . Taken together, the k tables form a complete test table. 1 This is sometimes called an ordered test table. In an unordered table the columns are formed from the values of ( i ), i 1,..., N , 1,..., k. – 13 – Figure 3.1. Flow chart of the algorithm Stage 2. Selection of criteria constraints. This stage implies the intervention of the designer. When successively analyzing inequalities (5), the designer specifies the criteria constraints . It should be noted that the method described earlier is in practice convenient for the designer. Actually, the designer has to consider one criterion at a time and specify the – 14 – respective constraint. The designer should not “balance” by reducing one criterion at the expense of the others. He/she analyzes one test table and imposes a criterion constraint. Then he/she proceeds to the next table, and so on. Note that revision of the criteria constraints within the limit of the test tables that have been constructed does not lead to any difficulties for the designer. All should be the maximum values of the criteria (), which guarantee an acceptable operating level of the object. If the selected values of are not a maximum, then many interesting solutions may be lost, since some of the criteria are contradictory. Note that when solving practical problems, the designer often cannot determine the maximum values. As a rule, the designer may set equal to a criterion value whose feasibility is beyond doubt. Stage 3. Verification of the solvability of problem (4) with the help of a computer. Let us fix a criterion, say, 1 , and consider the corresponding table (see (5)), and let S1 be the number of values in the table satisfying the selected criterion constraint: i1 1 iS1 1 1 . (6) One should choose the criterion 1 for which S1 is minimum among the analogous numbers calculated for each of the criteria . Then criterion 2 is selected by analogy with 1 , and the values of in the test table are considered. Let the table contain S S values such that , 1 j S . Similar procedures are carried out for 2 i1 , , 2 iS1 2 2 ij 2 1 2 each of the criteria. Then if at least one point can be found for which all inequalities (3) are valid simultaneously, the set D defined by inequalities (1)(3) is then nonempty and problem (4) is solvable. Otherwise D , and one should return to Stage 2 and ask the designer to make certain concessions in the specification of . However, if the concessions are highly undesirable, then one may return to Stage 1 and increase the number of points in order to repeat Stages 2 and 3 using extended test tables. The procedure is continued until D proves to be nonempty and the designer finds the solutions obtained to be acceptable. Otherwise, the designer can attempt to improve these solutions by returning to Stage 1 and/or Stage 2. The Pareto optimal set P is then constructed in accordance with the definition presented in Section 3.2. This is done by removing the feasible points that can be improved with respect to all criteria simultaneously. Let us describe the procedure for constructing the maximum feasible set. If the selected values of ** are not maximal, then one cannot be sure that the values of from the interval are feasible. In this case, one ~ has to construct the feasible solution set D under the constraints = and the – 15 – ~ corresponding Pareto optimal set P. Further, the set D is constructed under the ~ ~ constraints = 1,...,k, as well as the corresponding Pareto optimal set P . Let us compare (P) and P . If the vectors belonging to P do not substantially ~ ~ improve the value of the vectors from (P), then one may set = . Otherwise, if the improvement is significant, then the values of the criteria constraints ~ may be set equal to . In this case, one has to verify that the optimal solutions thus obtained are feasible. If the designer is unable to do this, then the criteria constraints are set equal to their previous values, = . This scheme can be ~ used for all possible values of and . Remark. The PSI method makes it possible to solve problems in parallel, using several computers simultaneously rather than only one. On the first computer, we can make the calculations for the trial points with numbers from 1 to some N1, and on the second computer, from N1+1 to some N2 > N1 +1, and so on. Then the results of all these calculations are collected in a single test table. Solving Practical Problems The algorithm presented above ensures the construction of the maximum feasible set D by executing all procedures involved in this algorithm. However, when solving a specific problem, the designer can obtain a quite acceptable solution without constructing this set. In this case, he/she will have to execute only some of ~ and the procedures. It is also unnecessary in this case to construct the sets D ~ P and compare the set D with P . Example problems presented in this book confirm this observation. In these examples, it turns out that relatively few dialogues with the computer for different criteria constraints ** , 1, k are sufficient to obtain desirable solutions. The analysis of these solutions almost always indicated that it was advisable to correct the constraints in the input statement of the problem. This correction made it possible to find interesting new solutions. Thus, the PSI method has proved to be a very convenient and effective tool for the designer, primarily because this method can be directly used to state and solve the problem in an interactive mode. Fast Algorithm for Constructing the Feasible Solution Set Consider the fast procedure for constructing test tables (see Figure 3.2). ~ First of all, we carry out N trials, calculate Φ1 ( i ), for i 1, N , determine 1** and 1** by analyzing the test table, and then determine the number of feasible solutions ~ satisfying the criterion constraint 1** , i. e., N D 1 , 1** 1** . Then we construct the second test table. We calculate 2 ( i ) for i 1, N D1 and determine the number of feasible solutions N D 2 satisfying the constraints 1** and *2* . In a similar way, we – 16 – find N D 3 , N D 4 ,... , and so on. The number N D k found after the analysis of the last test table is the final number of feasible solutions; i. e., N D k = N D . Compared with the previous algorithm, this algorithm reduces the time required to construct the feasible solution set . This reduction is especially substantial for rigid criteria constraints and also in cases where the times required for calculating different criteria are significantly different. Compared with the complete test table (5), in the case in question, determination of the criteria constraints ** , 2, k may cause certain difficulties. Moreover, revising the values of ** in order to increase them may need additional tests. Figure 3.2. Scheme of the fast algorithm – 17 – 3.5. Problems of Vector Identification and Operational Development of Prototypes Here, we consider two other classes of engineering optimization problems whose statement and solution are also based on the PSI method. A. Vector Identification Problems [1, 2]. Let vC(), v = 1, m stand for the characteristics (criteria) determined from the analysis of the mathematical model describing a physical object; = (1, ..., r) is the parameter vector of the model being studied. Let vE be an experimental value of the vth criterion measured directly on the prototype. We state the following problem: By comparing the experimental and calculated data, estimate the correspondence between the mathematical model and the physical object and identify the design variables of the mathematical model; i.e., one should find the parameter vectors i that meet conditions (1) and (2) and satisfy the following inequality: ║vC(i) – vE║ v**, v = 1, k . (7) Here ║║ is the function that evaluates the proximity (adequacy) of the physical object and its mathematical model; v**, v = 1, k stand for the criteria constraints that are specified in the course of the dialogue between the designer and a computer, based on an analysis of the test tables. Relationships (1), (2), and (7) determine the domain D. Restoring the mathematical model parameters in accordance with (1), (2), and (7) determines the essence of the vector identification. B. Problems of Operational Development (Improvement) of Machine Prototypes [1, 2]. Operational development problems are treated in two stages. During the first stage, the vector identification problem is solved. One of the main results of this stage is the evaluation of the agreement between the mathematical model and experimental data and construction of parameter domain D. During the second stage, the feasible set D of the vectors satisfying conditions (1)–(3) is constructed with regard for the performance criteria 1,..., k, and the optimal design variables are found in this set in accordance with (4). 3.6. The Required Number of Trials As was mentioned above, unlike other optimization methods, the PSI method was devised not only to solve a problem, but also to help formulate it. Therefore, the number of trials N needed to construct the feasible and Pareto optimal sets depends to a great extent on how the problem is formulated. It should also be noted that N depends on the class of functions subjected to optimization, the number of design variables, the volume of the parallelepiped under investigation, and the functional and criteria constraints. In turn, the number of – 18 – functions may reach many dozens, and they may be differentiable, nondifferentiable, nonconvex, discrete, etc. As a rule, the number of trials was determined on the basis of a nonformal analysis of the results obtained. The significance of the problem under consideration, the time available for obtaining the optimal solution, the quality of the mathematical model, the accuracy with which the criteria had to be calculated, etc. were taken into account. The need for a large number of trials is predetermined by the following considerations. Since engineering problems are, as a rule, ill-posed, one has to correct the mathematical model, the initial boundaries of the design variable variation, and the values of both the functional and criteria constraints. Usually, 70– 85% of the total number of trials are "spent" on formulating the optimization problem. After all the constraints have been determined, the optimal solution can be obtained by running a relatively small number of trials. Taking into account the significance of the problems to be solved and the expected gain from the optimization, we usually agree to several thousand trials. This is especially true for batch and mass production of automobiles, machine tools, gear trains, etc. These articles are manufactured in large quantities, and here metal and fuel economy, as well as cost reduction, is of paramount significance. In all these cases, the efficiency of multicriteria optimization may be rather high, and it should be implemented with utmost care. There are many problems in which the time required to calculate one solution (calculation of the criterion vector for fixed design variables) sometimes reaches an hour or more. In particular, this is the case for finite element models. As a rule, such systems are not amenable to optimization. However, things change when these problems are solved on several computers simultaneously with the help of the PSI method. In this case, the time required to solve the problem is considerably reduced. Experience accumulated in solving engineering problems shows that the time spent on formulating and solving an optimization problem is fully compensated for by the results. Let us draw some conclusions [1–10]. The PSI method allows you to: - determine design variable, functional, and criteria constraints; - determine the influence of the design variables on the criteria; - reveal dependent and contradictory criteria, etc. However, the construction of the feasible and Pareto optimal sets of solutions is the most important result. – 19 – 4. GENERAL DESCRIPTION OF THE MOVI 1.0 SOFTWARE PACKAGE The MOVI 1.0 software package is designed for correct formulation and solution of multicriteria optimization and vector identification problems. The MOVI 1.0 system operates in the interactive mode. The system is shown schematically in the flowchart in Figure 4.1. Each of the given units is described below. Figure 4.1 – 20 – 4.1. Unit I: Entering New Data 4.1.1. Purpose To run the software package, a number of data must be entered. These are the bounds of the design variables, the number of design variables, the number of criteria, the number and bounds of functional constraints, the number of tests, etc. A complete list of the input data will be given below. 4.1.2. Description The Bounds of Design Variables. Lower, j*, and upper, j**, bounds of variation must be introduced for each of the design variables j. The range of the design variable j, j = 1,r , should be such that the mathematical model describing the object being studied allows all performance criteria to be computed with the required accuracy. One of the forms for specifying the bounds of the design variables implies the presence of a prototype1, i.e., a certain feasible vector of design variables jp, j = 1,r . If this is the case, the bounds can be specified by taking the prototype into account. For example, the magnitude of each of the prototype design variables can be taken as the midpoint of the respective variation range. The Number of Design Variables. This number must not exceed 51 when the LP sequences generator is used. The Number of Criteria. The choice of the number of criteria is of basic importance for optimizing design variables in an engineering problem. The set of criteria should be chosen so as to allow all the basic characteristics of the object to be taken into consideration. The more criteria that are introduced, the more completely the optimum variant will depict the basic abilities of the object being designed. The PSI method allows virtually any number of criteria to be taken into account. The Number of Functional Constraints. Each functional relationship fl() should meet certain constraints. These may be of two kinds: unilateral, f l () cl** or cl* f l (), and bilateral, cl* f l () cl**. For this reason, the number of constraints is determined by both the kind of constraints and the total number of functional relationships. The Bounds of Functional Constraints. The bounds cl*(*) are introduced for each f l (). If, before solving the problem, the designer finds it difficult to assign the exact magnitudes of these bounds for some f l (), it is advisable to formally consider f l () as an additional criterion. Such a function fl() is called a pseudocriterion. Unit VI is used to compute the bounds for constraints on f l () (see Figure 4.1). In cases where this consideration is undesirable, units III through V are used to perform the determination and possible correction of these bounds . 1 In particular, the design variables of an existing object may play the role of the prototype. – 21 – The Number of Tests. It is necessary to indicate the number of sets of the design variables for which the performance criteria must be computed. Usually, this number is assigned in stages, since it is impossible to determine at once how many tests are needed to solve the problem (see Section 3.6). At the first stage, as a rule, a number of the form N1 = 2 n1 is specified, where n1 = 510. ( n may sometimes be greater). At the second stage, we specify N2 = N1 + 2 n2 , n2 = 510; similarly, at the kth stage, Nk = Nk-1 + 2 nk . Here ni, i = 1, k , is dependent on both the time required to compute the functional relationships and performance criteria and the time the designer has to tackle the problem. Note that it is not necessary to specify the number of tests of type 2 n for LP sequences. The maximum number of trials for LP sequences is equal to 2 20 . 4.2. Unit II: Probing the Parameter Space 4.2.1. Purpose The coordinates of vectors of design variables are computed for each of the specified numbers of tests N. These N vectors allow one to perform uniform observation of the entire area of design variables in the best way. 4.2.2. Description Using the matrix of numerators we calculate the values of the coordinates of the vectors i ( 1i ,..., ri ) . Here, 1 i N 220, r 51, i are the points of the uniformly distributed LP sequence1. 4.3. Unit III: Check for the Fulfillment of Functional Constraints 4.3.1. Purpose The values of functional relationships fl() are calculated for each vector , i = 1, N . Next, checks are made to see whether these values satisfy the imposed constraints. This is necessary in order to make further computations of performance criteria only for those i which satisfy the functional constraints. i 4.3.2. Description The vector i , i = 1, N (its number and values of the coordinates) is passed to the next unit of the program if and only if it satisfies all functional constraints. Correction of Functional Constraints Only those solutions that satisfy all functional constraints enter the test table. Designs that fail to satisfy these constraints enter the table of functional failures. An analysis of the table of functional 1 To check unit II for proper operation, Appendix A contains coordinates of five 50dimensional points of an LP sequence that belong to the unit cube K 50 . The numbers of these points are 5, 82, 347, 754, and 998. The values of the first five coordinates are given in the first rows, the second rows contain the sixth through tenth coordinates, and so on. – 22 – failures allows one to understand how the functional constraints ”work“ and, if necessary, to correct them. The designer can proceed as follows when relaxing functional constraints. First, he/she identifies all functional constraints that can be relaxed and then, using the table of functional failures, defines a new (relaxed) value of the functional constraint and enters this change in the table. Remark. The optimization algorithm implies that, first, a set of solutions i satisfying the functional constraints is constructed, and then the values of all v(i) are computed for these i. However, in order to save time in optimization computations, it is frequently advisable to carry out these steps in another order. Consider the following situations: 1. Suppose the time required to calculate the functional relationships for fixed design variables is less than or equal to the corresponding time for the performance criteria. In this case, the operation of unit III directly follows the operation of unit II. 2. If the time required to compute the functional relationships is greater than the time for calculating the criteria, then the operation of unit II is followed by the operation of units IV, V, and VI, and then unit III is engaged. 3. A mixed situation is also possible, e.g., when one part of the functional relationships corresponds to condition 1, while the other part satisfies condition 2. In this case, the constraints of the first kind are checked just after unit II, while the others are checked after units IV, V, and VI. 4. Consider the situation where one portion of the functional relations and performance criteria (“fast” functions) can be calculated rapidly, while the other portion (“slow” functions) requires a significant amount of calculation time. In this case, we can suggest two ways to organize the computations reasonably for optimization. Prior to implementing either of these ways, the functional relations should be declared as pseudo-criteria. First approach. We compile the test table, taking into account only “fast” functions (criteria and functional relations), and determine the criteria constraints using these functions. Then we construct a test table, the first portion of which consists of the “fast” functions with the constraints determined, and the other portion comprises all remaining functions. After this, the problem is solved in the usual way. Second approach. The so-called fast algorithm is used. In this case also, one should first calculate the “fast” functions in the test table and then the “slow” functions. 4.4. Unit IV: Evaluation of Criteria 4.4.1. Purpose Either after unit III or just after unit II, the performance criteria v(i), v = 1, k , are calculated for each of the vectors i by using the corresponding mathematical model. – 23 – 4.4.2. Description In order to carry out this stage, one has to have software module(s), which implement(s) the user’s problem. This makes it possible to compute (by using a mathematical model) performance criteria and, perhaps, functional relationships, provided these can be computed by means of the same mathematical model as the performance criteria. In the course of varying the design variables and computing the functional relationships and criteria, the mathematical model may turn out to be unstable. In this event, it is necessary to correct the model and/or the bounds of the design variable ranges. This is described in unit VIII of the software package manual. 4.5. Unit V: Compiling the Test Table 4.5.1. Purpose In many problems, the performance criteria may assume values that are unacceptable from the designer's standpoint. To eliminate these values from further consideration, the performance criteria are subject to constraints. This facilitates the analysis of the results, since the number of solutions to be investigated is reduced. To determine the criteria constraints and construct a feasible set of solutions, an ordered test table is compiled. 4.5.2. Description An example of an ordered test table is presented in Section 12. As mentioned above, it may happen that one can find few or no solutions in the test table. In this case, we advise the designer to do the following: 1. Weaken the functional constraints as much as possible and compile the corresponding test table. 2. If item 1 does not lead to a desirable result, then increase the number of trials. If this does not lead to desirable results, then try to change the ranges of the design variables (Unit VIII). In this unit, an unordered test table, which can be obtained by reference to unit VIII, is also generated. 4.6. Unit VI: Definition of Criteria Constraints. Generation of a Feasible Set 4.6.1. Purpose It is required to construct the feasible set D by determining the criteria constraints in the proper way. This unit checks the design variables i presented in the test table for their feasibility. The designer can obtain the values of the design variables and criteria corresponding to the feasible vectors by going to unit VIII. – 24 – 4.6.2. Description The criteria constraints are determined as follows. In each column of the ordered test table, the designer marks the criterion value whose feasibility is unquestionable. In doing so, it is desirable that this value be the maximum of all feasible values of the criterion in question. This condition is necessary in order not to lose solutions that are fairly good with regard to all the criteria, in case of contradictory criteria1 are present. (In some of the criteria, these solutions may not correspond to the best values). However, since it is not easy to indicate the maximum feasible value of each criterion on the first attempt, the designer usually does this during of a dialogue with the computer. This is described in more detail in Section 3. Let the test table be obtained. Consider the procedure for specifying criteria constraints. Step 1. Assign 1** and determine the number of the vectors satisfying this constraint. Step 2. Assign 2** and determine the number of the vectors satisfying 1** and 2**. After specifying n**, it may turn out that there are either no, or few vectors satisfying all 1** ,..., n**. In this case, an attempt should be made to weaken criterion constraint n** (and perhaps some v, v < n). A fragment of the ordered test table for a 4-criteria problem is shown in Table 4.1. Consider an example of determining D that takes into account all of the steps mentioned above. 4.6.2.1. Dialogue 1 Step 1. Assign 1** = 3.00. The number 14 appears at the bottom of the column corresponding to 1. This indicates the number of vectors satisfying this criterion constraint. Step 2. Assign 2** = 48.4. Conditions 1** = 3.00 and 2** = 48.4 are satisfied by three vectors with numbers 59, 22, and 4; the number 3 appearing at the bottom of the column is related to 2. Step 3. Assign 3** = 164.5. A 0 appears at the bottom of the column. This means that there is no vector satisfying the conditions 1** = 3.00, 2** = 48.4, and 3** = 164.5. These three criteria constraints are marked in Table 4.1 by a thick line. It is clear that D = and there is no sense in assigning 4**. 4.6.2.2. Dialogue2 2 Step 1. 1** = 3.00. Step 2. 2** = 53.1. These constraints have already been satisfied by five vectors whose numbers are 59, 22, 4, 17, and 1. Step 3. 3** = 164.5. Two vectors (1 and 17) have satisfied the indicated criteria constraints. 1 As some of the criteria decrease, others increase. The latter results are not given in Table 4.1. 2 – 25 – Step 4. 4** = 0.178. We have D = . 4.6.2.3. Dialogue 3 Step 1. 1** = 3.00. Step 2. 2** = 53.1. Step 3. 3** = 175.2. Three vectors (1,17, and 59) satisfy the three indicated constraints. Step 4. 4** = 0.178. Only one solution (vector 59) is feasible. Thus, after Dialogue 1 has been completed, we have the numbers 14 (the column for 1), 3 (the column for 2), and 0 (the column for 3) at the bottom of the table. After Dialogues 2 and 3, we have (14, 5, 2, 0) and (14, 5, 3, 1), respectively. Table 4.1 i 1(i) 4 1.62 17 1.68 9 1.75 47 1.84 126 1.97 54 2.03 7 2.18 22 2.43 14 2.60 49 2.72 1 2.86 59 2.92 106 2.94 97 3.00 84 3.18 37 3.27 42 3.36 94 3.42 76 3.52 14 i 59 42 13 22 51 76 83 100 4 2 8 17 1 60 10 80 20 26 47 3 2(i) 44.2 44.5 44.8 45.1 45.3 46.2 46.8 47.4 48.3 48.4 48.7 49.2 49.7 51.3 52.4 53.1 55.4 56.1 57.3 i 10 2 1 80 100 13 17 8 20 23 59 48 16 4 117 99 120 77 87 0 3(i) 149.2 150.3 153.7 158.4 160.2 163.4 164.5 168.7 170.3 174.7 175.2 177.3 181.4 181.9 182.3 184.2 185.7 186.6 187.3 i 16 99 112 6 59 100 1 20 65 47 80 9 17 126 4 50 22 128 77 0 4(i) 0.153 0.164 0.168 0.172 0.178 0.181 0.184 0.187 0.192 0.194 0.198 0.205 0.212 0.219 0.221 0.223 0.238 0.241 0.246 After each of the dialogues, the designer analyzes the results obtained and compares them with those of the previous dialogues. When specifying some criteria constraints, the designer is guided by the significance of the criteria, the accuracy of their computation, and other reasons. The feasible set may be empty due to an improper specification of criteria, functional, and design variable constraints. All these factors should be controlled in order to determine the set D correctly. There may be the cases where, despite various possible dialogues, the feasible set remains empty. In this event, the number of tests N should be increased. If the statement of a problem corresponds to the physical nature of the system being – 26 – studied, one can always find the design variable vector satisfying all constraints, provided N is sufficiently large. The analysis of such situations is always not formal. After concluding this analysis, the designer can see what he/she can give up in favor of searching for a good solution. In problems with many functional and criteria constraints, it is of utmost importance not to lose any solutions that may be of interest. Note that the number of such solutions is usually very small, but their significance is rather high. 4.6.3. Truncated Test Tables Suppose that we have performed N tests and constructed the test table. Analysis of this table helps the designer understand how the values of the design criteria can change. Let the designer have determined the criterion constraints ~ ** , ** ** and the feasible solution on the basis of the test table, as well as other information, including the design requirements. However, he/she may consider it necessary to continue testing. Let N 1, ..., N1 be the numbers of the additional tests. As a rule, the number of feasible designs is much less (sometimes by a factor of several thousand) than the number of tests N. Therefore, it is very important for the designer that the new test table constructed after N tests contain only useful information in a convenient form, specifically, the feasible solutions. For this reason, when performing tests with numbers N 1, ..., N1 , we will require that the test table contain only the solutions (designs) satisfying the constraints ** identified previously. To make this, we will organize the test table in the following way. We select a vector i and calculate 1 ( i ) . If the value 1 ( i ) satisfies the first criterion constraint, we calculate 2 ( i ) . If the second criterion constraint is also satisfied, we calculate the third, fourth, and other criteria consecutively. If it happens that some criterion j does not satisfy the criterion constraint for the design i , then this design is rejected. Otherwise, it is entered in the test table. We refer to these tables as truncated tables: they contain only feasible solutions. It is fairly convenient for the designer to work with such a table. Also, the construction of truncated test tables is advisable if the number of tests is large and the random access memory of the computer is not powerful enough to construct full tables. 4.6.4. Choice of the Algorithm First of all, we recall that we are dealing with ill-posed problems. In particular, it is common in multicriteria design that the designer almost never has complete information about adequate constraints to be imposed on the design variables, functional relations, and performance criteria. The designer obtains this important information, which indicates whether it is advisable to correct the constraints so as to construct feasible and Pareto optimal designs, from an analysis of the test tables. The more comprehensive this information (with the other things being the same), the greater the confidence the designer has in successfully solving the problem. Frequently, this confidence has to be paid for by time spent on carrying out the necessary number of tests. The designer makes the final decision on continuing or terminating these tests only after analyzing the results obtained. To a considerable extent, this decision depends on the physical nature of the problem, the time that the designer has to solve it, the importance of the problem (the more important the – 27 – problem, the more the time that can be spent on solving it), etc. We emphasize once again that the decision-making process is not formal. That is why we mentioned previously that the statement and solution of multicriteria design problems is a single process in which the designer participates rather nonformally. We have described two algorithms for solving engineering optimization problems. We will now indicate three approaches to use these algorithms . The first approach involves the construction of the full test table. The second approach requires the construction of the full table and then the construction of truncated tables. The third approach implies the use of the fast algorithm. Roughly speaking, one can say that the first approach is able to provide more information about the feasible solution set, the third approach reduces computation time, and the second approach occupies an intermediate position. It is difficult to say in advance which of the algorithms will be better for constructing the optimal design. To obtain an answer to this question, we recommend carrying out a preliminary analysis of the problem. For example, one can evaluate the results obtained after a relatively small number of tests and try to estimate the effect expected from the optimization. Nonformal analysis of the results can enable one to estimate which of the algorithms may be most effective. In all three approaches, after the feasible set is constructed, the Pareto optimal set of solutions is defined and the most preferable design is determined on the basis of an analysis of the Pareto optimal set. 4.6.5. Table of criteria failures For certain specified criteria constraints, it can happen that not all of the solutions of interest appear in the feasible set. An attempt can be made to improve this set by relaxing the constraints somewhat and finding additional solutions that may be of interest to the designer. For example, these can be solutions that provide “good” values for major performance criteria but are somewhat worse in terms of less important criteria. After obtaining and analyzing such solutions, the designer may agree to include them in the feasible set. To make this, he/she should refer to the table of criteria failures. Let us assume we have constructed the truncated test table. The vectors of design variables that fail to satisfy at least one of the constraints ** , 1, k 1 appear in the table of criteria failures. Analysis of this table allows one to compare the values of the criteria for these vectors with the criteria constraints and assess the possibility of relaxing these constraints. The vectors (solutions) satisfying all constraints enter the truncated table. The structure of the table of criteria failures is described in Section 11.4.2. 4.6.6. Analysis of the Feasible Set Let a few feasible vectors be found, and/or assume that the designer wishes to improve the values of the obtained performance criteria. 1. Let us assume, that designer has enough time to tackle the problem. Then, in order to determine whether the found set D is final, several stages are required to compute Nk (see unit I). (In many cases, there may from two to five such additional iterations). If the values of the criteria at a certain stage do not differ significantly compared with the previous stage, then the process of forming the feasible set is completed. – 28 – In addition, the designer can modify the feasible set by correcting the design variable, functional, and criteria constraints. To correct the feasible set, the designer may also go to unit VIII and use the design variable distribution histograms given in the unit. Analysis of these histograms may lead to changes in the design variable constraints and even in the feasible set itself. 2. Let us assume, that the designer has little time to tackle the problem. In this case, the designer may change the values of the criteria constraints in order to make an attempt to form a new feasible set. 4.7. Unit VII: Generation of the Pareto optimal Set 4.7.1. Purpose The importance of this set is due to the fact that the most preferable or optimal solution always belongs to it. The Pareto optimal set is easier to analyze than the feasible set, since the former is no larger (and is often smaller) than the latter. Note that the MOVI 1.0 software package does not have a separate item for constructing the Pareto optimal set. Nevertheless, here we consider the construction of the Pareto optimal set separately, in view of the importance of this stage for determining optimal designs. 4.7.2. Description In this unit, the program eliminates all vectors that can be improved simultaneously with respect to all criteria from the feasible set. The remaining vectors will be Pareto optimal. The designer can determine the numbers of these vectors, their components, and the respective values of the performance criteria by going to unit VIII of the software package. To this end, the tables of Pareto optimal solutions (including both the design variables and criteria) are constructed. 4.8. Unit VIII: Analyzing the Results. Constructing Tables of Results, Histograms, and Graphs 4.8.1. Purpose This unit provides additional information about the distribution of the design variables within their ranges, as well as the dependence of the criteria on design variables, and gives a graphic presentation of the results. This information helps the designer correct the design variable constraints and the mathematical model. 4.8.2. Description Visualization of the Process of Investigating Criteria and Parameter Spaces This process is rather important, since it helps the designer go deep into the essence of the engineering problem and correct the mathematical model, constraints, etc. – 29 – When specifying the bounds i*(*), it is often useful to analyze how v depends on j. The analysis reveals the expedience (or inexpedience) of changing these bounds. Suppose that after performing N tests we have obtained Фv(), i =1,…,N. Let us assume we are interested in the dependence of the vth criterion on the jth design variable, i.e., in the function Фv( We fix all design variables determined previously, apart from the jth one. Let us calculate some values of the jth design variable and the values Фv(j), i =1,…,N. In this case, we can confine ourselves to a relatively small number of tests, for example, N=16, 32. By repeating this procedure for various sets of design variables, we obtain graphs giving sufficient information about the dependence of the vth criterion on the jth design variable. Examples of these graphs are presented in Section 12. Design Variable Distribution Histograms One of the features of engineering optimization problems is the difficulty in specifying proper bounds for design variable ranges because of the presence of performance and criteria constraints. The analysis of the histograms is aimed at correcting the initial parallelepiped of design variables and constructing new parallelepipeds that contain solutions of practical interest. For the vectors from feasible set D, histograms are plotted that show the distribution of the vector coordinates over the ranges of the corresponding design variables. Each of the ranges is divided into ten equal segments. A numerical example illustrating the construction and analysis of histograms is given in Section 12. Remark. In this unit the designer can obtain all of the above-mentioned types of tables. These are the ordered and unordered test tables, the tables of feasible and Pareto optimal solutions and their design variables, and the tables of functional and criteria failures and their design variables. Let us dwell on the description of unordered test tables. The numbers of the tests are arranged in ascending order in the first column. The values of the criteria are given in the subsequent columns. Thus, for the ith test registered in the table, the values 1(i), ..., k(i) are given in the corresponding row. Unordered tables may be used in debugging the program at the stage of preliminary computations. 4.9. Unit IX: Determining the Best Solution 4.9.1. Purpose After analyzing the table of Pareto optimal solutions, the designer needs to select the best one. In doing this, he/she takes into account the importance of the criteria, analyzes how a loss in one of the criteria is balanced by a gain in another criterion, and so on. If the designer comprehends the physical content of the problem well enough, the choice of the optimal solution usually causes no difficulty. – 30 – 4.9.2. Description Assume that the designer has chosen the best variant and is able to continue solving the problem. The designer can try to improve this variant by increasing the number of tests and correcting the constraints. Remark. When the MOVI 1.0 package is used for vector identification (see Section 3.5), the description of its operation coincides with the one given here, with slight differences. When solving identification problems, one should not apply unit VII (forming the Pareto optimal set). In these problems, the identification is carried out with respect to proximity or adequacy criteria. Correction of the feasible range of design variables is almost always necessary. – 31 – 5. EXAMPLE The vibratory system shown in Figure 5.1 consists of two identical masses m1 = m2 = m connected by springs whose stiffness coefficients are k1 = k2= k and k0 [1, 46]. Such a system depends on three design variables k, k0, and m. Suppose the design variables lie within the following specified limits: k* k k**, k0* k0 k0**, m* m m**. (1) The system can perform free harmonic vibrations with two natural frequencies 1 and 2. We will suppose that 0 < 1< 2.The formulas for calculating the natural frequencies are quite simple: 1 k 2k 0 k , 2 . m m (2) Such dynamic systems are considered in many textbooks on the theory of vibrations. In designing a vibratory system, one has to choose the natural frequencies in such a way as to avoid undesirable resonance phenomena. If the designer wishes to decrease 2, then he/she may introduce the criterion 1 k 2k 0 m and assume that the smaller the value of 1, the more perfect the system is. Figure 5.1. Vibratory system (3) – 32 – Suppose that along with decreasing frequency 2 the designer wishes to decrease the mass of the system 2m. Then he may introduce another criterion 2 = m (4) and assume that the smaller the value of 2, the better the system is. Let us consider the criteria plane shown in Figure 5.2. To each set of design variables (k, k0, m) there corresponds a pair of numbers Ф1 and Ф2 calculated from formulas (3) and (4) and, hence, a point on the criteria plane. The same formulas allow one to find the set of points (Ф 1, Ф2) on the criteria plane, which are calculated with the design variables (k, k0, m) varying within the limits (1). The set is shown in Figure 5.2. Consider the lower left-hand boundary of the set formed by a segment of the hyperbola Ф1Ф2 = k*+2k0*. (5) It can be readily shown that points lying outside the hyperbola cannot correspond to the best solution. To prove this statement, we choose a point B (see Figure 5.2). By drawing a vertical and a horizontal line through the point, we get points B' and B belonging to the hyperbola. Since the abscissas of the points B' and B coincide (i.e., the values of Ф1 at these points are equal) and the ordinate of B' is less than the ordinate of B (i.e., the value of Ф2 corresponding to B' is smaller), the system corresponding to point B' is undoubtedly better than the one corresponding to point B. Similarly, the system corresponding to point B" (as well as to all points (except B) belonging to the curvilinear triangle B'BB") may be shown to be undoubtedly better than the system corresponding to point B. Hence, the best solutions should be sought among the systems corresponding to points belonging to a segment of the hyperbola (Eq. (5).This segment, shown in Figure 5.2 by a thick line, represents the Pareto optimal set. Figure 5.2. Criteria plane – 33 – Figure 5.3. Feasible solution set Ф(D) in the criteria plane Let constraints 1** and *2* be specified. In Figure 5.3, the set of points meeting these constraints is shaded. The set of design variables (k, k0, m) satisfying conditions (1) is a parallelepiped П in the three-dimensional design variable space (see Figure 5.4). The set of points lying within parallelepiped П and corresponding to curve (5) can readily be found. In fact, from Eqs (3), (4), and (5) it follows that k +2k0= k*+2k0*, and since k k* and k0 k0* in П, we have k = k* and k0= k0*. Hence, the desired set of points is determined by the conditions k = k*, k0 = k0*, m* m m** and represents an edge of parallelepiped П (see the thick line in Figure 5.4). Naturally, the point (k = k*, k0 = k0*, m = m**) lies on the edge. Let us continue by finding the set of points in П corresponding to the shaded region in Figure 5.3. From Eqs. (3) and (4) and inequalities 1 1** and 2 *2* it follows that m *2* , k+2k0 1** m. Together with (1), these equations define the portion of parallelepiped П that is the feasible solution set of points D (see Figure 5.5). Let k, k0, and m vary within the limits 2 k 6, 1 k0 4, 2 m 5, and let us do the necessary calculations. In Table 5.1, a fragment of an unordered test table is given, representing the first 32 trials. After 32 trials, criteria constraints 1** and *2* proved to be equal to 2.76 and 3.6, respectively. – 34 – Figure 5.4. Pareto optimal set P in the design variable space Figure 5.5. Feasible solution set D in the design variable space – 35 – Table 5.1 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Ф1(i) 2.5714 3.4545 2.0 1.7838 2.32 2.0 5.3684 2.4308 3.4634 1.3247 3.434 2.2553 2.6197 4.1714 2.2034 2.2718 Ф2(i) 3.5 2.75 4.75 4.625 3.125 3.875 2.375 4.0625 2.5625 4.8125 3.3125 2.9375 4.4375 2.1875 3.6875 3.2188 i 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Ф1(i) 1.3377 2.7595 2.9764 1.5478 5.0448 2.5468 3.5385 1.5862 4.0206 2.562 3.8082 3.7412 2.1504 1.8899 2.3312 1.8199 Ф2(i) 4.7188 2.4688 3.9688 3.5938 2.0938 4.3438 2.8438 4.5313 3.0313 3.7813 2.2813 2.6563 4.1563 3.4063 4.9063 4.8594 Seven vectors were found in the feasible set D. Four of these vectors (α12, and α30) were Pareto optimal. We then performed three more series of trials with N=64, 128, and 256. Fairly acceptable results were obtained already for N=64. The test results for N=128 and N=256 are shown in Figures 5.6a and 5.6b, respectively. α18, α20, Figure 5.6. Points i in the criteria plane – 36 – 6. SYSTEM REQUIREMENTS The minimum system software and hardware requirements for normal operation of the MOVI 1.0 package are: 1. Microsoft Windows 9x or Me, NT 4.0 with Service Pack 3 or later, or Windows 2000. 2. SQL server InterBase 6.0 or later installed. Both InterBase Server and InterBase Client should be installed on the same computer (the InterBase 6.0 setup program propose this by default). 3. PII 300 or faster processor. 4. Minimum 32MB RAM (64MB or more is recommended). 5. VGA or better graphics adapter. Windows display resolution should be set to 800x600 or higher. 6. 60 MB free space on the hard drive for the software package plus at least 20MB for the data (depends on the complexity of the problem). Remark. The minimum requirements indicated above are sufficient for operating MOVI 1.0. However, a faster processor and more RAM will ensure faster operation of MOVI 1.0 and allow a larger Test Table to be processed in a reasonable time. Assuming that the number of tests is large enough, procedures such as criterion change and construction of feasible and Pareto sets will take much longer on slower computers than on faster ones. 7. CONTENTS OF THE DISTRIBUTION PACKAGE The MOVI 1.0 Distribution Package includes: One CD with MOVI 1.0 installation software and test examples ”Oscillator“ and ”Oscillator 1“. User's Manual. – 37 – 8. INSTALLING THE MOVI 1.0 SOFTWARE PACKAGE AND GETTING STARTED 8.1. Installing the MOVI 1.0 Software Package Please keep in mind, that you must first install InterBase 6.0 SQL Server. The MOVI 1.0 installation set consists of one CD. To install the package, insert the CD into the CD drive and run SETUP.EXE from the SETUP directory. During the installation, the program will ask for the necessary information. Installation can be canceled at any time by clicking the CANCEL button. Step-by-step installation: 1. Insert the CD into the CD drive. The setup program will start automatically. If it does not start, run SETUP.EXE manually by entering the string ”X:\setup\setup.exe“ (here X: is the CD drive letter) in the Windows RUN dialogue window and clicking the OK button. 2. In the first window that appears, click NEXT. 3. In the next window, please read the license agreement. Click YES if you agree; otherwise click NO. 4. If you selected YES, the next window appears. Enter your name and company in the appropriate fields, and then click NEXT. 5. In the next window, you are requested to enter the directory name where you want to install MOVI 1.0 (referred to as ”<MOVI 1.0 installation directory>” from now on). You can leave the default setting, ”Program Files\PSIOpt Lab\Movi 1.0”. Then click NEXT. 6. In the next window, enter the folder name for the Windows PROGRAMS menu where the MOVI 1.0 program shortcuts will be added. Then click NEXT. 7. In the next window, verify the data you entered. Click NEXT to confirm. 8. The installation program starts copying files. After the installation has been successfully completed, the final window appears. Click FINISH to conclude the installation. 8.2. Adding the “Oscillator” and “Oscillator 1” Test Problems The MOVI 1.0 software package includes the “Oscillator” and “Oscillator 1” example problems discussed in detail in Section 12 of the User's Manual. After the package has been installed, the example problems are located in the directories “<MOV 1.0 installation directory>\Problems\Oscillator” and “<MOVI 1.0 installation directory>\Problems\Oscillator1”, respectively (each problem is in two files: base.gdb and oscil.dll). To add an example problem to MOVI 1.0, use the Database Manager utility included in the MOVI 1.0 distribution package. 8.2.1. Adding the “Oscillator” Problem 1. Start the Database Manager utility included in the MOVI 1.0 distribution package. – 38 – 2. Click the button on the tool panel of the main window. 3. In the ADD PROBLEM window that then appears, enter the following information: a) Type “Oscillator“ in the PROBLEM NAME field. b) In the PROBLEM FOLDER field, enter “<MOVI 1.0 installation directory>\Problems\Oscillator“ or click the button to the right of this field and select this path in the standard dialogue window. c) In the INTERFACE LIBRARY field, enter “<MOVI 1.0 installation directory>\Problems\Oscillator\oscil.dll” or click the button to the right of this field and select this file in the standard dialogue window (IMPORTANT! If the file “oscil.dll” cannot be found in this folder, change the Windows settings to allow the display of system and hidden files). 4. Click OK. Now the “Oscillator” problem appears in the problem tree in the left panel of Database Manager’s main window. The problem also now appears in the problem list that is displayed when the LOAD PROBLEM item is selected in the MOVI 1.0 menu. 8.2.2. Adding the “Oscillator 1” Problem “Oscillator 1” is added in the same way as “Oscillator”, except that in the PROBLEM NAME field one should enter “Oscillator 1”, and in the PROBLEM FOLDER and INTERFACE LIBRARY fields one should enter “<MOVI 1.0 installation directory>\Problems\Oscillator1” and “<MOVI 1.0 installation directory>\ Problems\ Oscillator1\oscil.dll”, respectively. 8.3. How to Start the MOVI 1.0 Program To start the MOVI 1.0 package program, select an appropriate shortcut in the MOVI 1.0 installation folder (by default this is the “MOVI 1.0” folder in the Windows PROGRAMS menu). IMPORTANT! In order to use MOVI 1.0, both the InterBase Server and InterBase Client parts of InterBase 6.0 SQL Server must be installed on the user's computer. The InterBase 6.0 SQL Server is included in the educational version of the MOVI 1.0 distribution package. 8.4. Uninstallation To uninstall MOVI 1.0, select ADD/REMOVE PROGRAMS in the Windows Control Panel. In the window that then appears, select “MOVI 1.0” and click REMOVE. – 39 – 9. INTERFACE LIBRARY DEVELOPMENT MANUAL 9.1. Purpose of the Interface Library: Preliminary Information MOVI 1.0 is designed to solve object optimization problems by means of the user's mathematical models. For this purpose, the following data exchange must be organized between MOVI 1.0 and the mathematical model (Figure 9.1): 1. transfer of input data (design variable vectors) generated by MOVI 1.0 to the user's model; 2. transfer of data processed by the user's model (values of criteria and functional relations) back to MOVI 1.0. Figure. 9.1. Data exchange between MOVI 1.0 and the user's model From the input design variable vector, the user’s model calculates the necessary values of criteria or functional relations and sends the result back to MOVI 1.0 in a suitable fixed format. In the MOVI 1.0 software package, this interaction is provided by means of an Interface Library, which is a Dynamically Linked Library (.dll-file) created according to certain rules. The Interface Library must involve procedures for calculating criteria and functional relations. It is the basic element that distinguishes one optimization problem from another, since it contains the mathematical model of the problem under consideration. MOVI 1.0 performs all calculations (except for the construction of the feasible and Pareto optimal sets) by means of the Interface Library. Therefore, the performance of MOVI 1.0 when processing a certain problem depends on the quality of the Interface Library code written for this problem. 9.2. Interface Library Development When developing the Interface Library, the programmer should be guided by the following requirements1: A. The library must contain an initialization function Init with the following format: function Init(var NPar: Word; var NFun:Word; var NCrit:Word; var S:PChar):Integer; stdcall; 1 Here and after we will give all the examples using Object Pascal language – 40 – The function Init takes three WORD type variables and a pointer to a string type variable as parameters. The function returns the following values: - NPar – the number of design variables in the problem; - NFun – the number of functional relations; - NCrit – the number of criteria; - S – a string containing identifiers of the functions used to calculate criteria and functional relations in the same format as they are declared in the Interface Library. Identifiers of functions used to calculate functional relations are listed first. Identifiers are divided by commas“, ”, and the string ends with a semicolon“;”. For example, if the following functions are declared in the Interface Library: //Functions to calculate functional dependencies: function f1(Alpha:TAPar):Real; stdcall; function f2(Alpha:TAPar):Real; stdcall; function f3(Alpha:TAPar):Real; stdcall; //Functions to calculate criteria: function c1(Alpha:TAPar):Real; stdcall; function c2(Alpha:TAPar):Real; stdcall; function c3(Alpha:TAPar):Real; stdcall; function c4(Alpha:TAPar):Real; stdcall; then string S is 'f1,f2,f3,c1,c2,c3,c4;' B. Functions used to calculate criteria and functional relations take a DOUBLE type dynamic array of design variables and return a DOUBLE type value. The size of the array depends on the number of design variables. The number of an array element corresponds to the number of the corresponding design variable declared in the problem setup. The zero element is not used. When setting up a problem, it is important to add parameters strictly in accordance with the Interface Library. For example, if the Interface Library describes the function for calculating a sum of masses in the following way: type TAPar = array of Double; function f1(Alpha:TAPar):Double; stdcall; begin f1 := Alpha[3]+Alpha[4]; //m1+m2 end; then in the problem setup, the design variables must be listed in the following order: 1. 2. 3. 4. 5. . . . . . . m1 m2 . . ., etc. C. The Interface Library exports Init and all functions used to calculate criteria. – 41 – 9.3. Interface Library Example Here is the listing of Interface Library for the "Oscillator" example problem discussed in Section 12. The library was developed in Delphi 5. Examples of interface libraries written in Delphi 5 and Microsoft Visual C++ can be found in the Examples folder on the CD or in the MOVI 1.0 installation folder. library oscil; //Library name uses // modules used by the Library SysUtils, Classes; {$R *.RES}//compiler directive const //constants used p = 2000; om = 30; type //type declaration for the design variable vector array //(dynamic array) TAPar = array of Real; function Init(var NPar: Word; var NFun:Word; var NCrit:Word; var S:PChar):Integer; stdcall; //required function. Initializes the Library begin NPar := 5; NFun := 3; NCrit:= 4; s := 'f1,f2,f3,c1,c2,c3,c4;'; Result := 0; end; function f1(Alpha:TAPar):Real; stdcall; //first functional relation - M1+M2 begin Result := Alpha[3]+Alpha[4]; end; function f2(Alpha:TAPar):Real; stdcall; //second functional relation – p1 begin Result := sqrt(Alpha[1]/Alpha[3]); //sqrt(k1/m1) end; function f3(Alpha:TAPar):Real; stdcall; //third functional relation – p2 begin Result := sqrt(Alpha[2]/Alpha[4]);//sqrt(k2/m2) end; function c1(Alpha:TAPar):Real; stdcall; //first criterion – X1d var – 42 – K1, K2, M1, M2, C : real; P1, P2, X1D, X1ST, X1DST : real; DT, BETA, GAMA, MU : real; begin //define design variables K1 := Alpha[1]; K2 := Alpha[2]; M1 := Alpha[3]; M2 := Alpha[4]; C := Alpha[5]; //calculations P1 := sqrt(K1/M1); P2 := sqrt(K2/M2); X1ST := P/K1*1000.0; DT := P2/P1; BETA := M2/M1; GAMA := OM/P1; MU := C/(2.0*M2*P1); X1DST:= (4.0*Sqr(MU*GAMA)+Sqr(Sqr(GAMA)-Sqr(DT)))/ (4.0*Sqr(MU*GAMA)*Sqr((1+BETA)*Sqr(GAMA)-1.0)+ Sqr(BETA*Sqr(DT*GAMA)-(Sqr(GAMA)-1.0)* (Sqr(GAMA)-Sqr(DT)))); X1DST := SQRT(X1DST); X1D := X1DST*X1ST; Result := X1D; end; function c2(Alpha:TAPar):Real; stdcall; //second criterion – m = m1+m2 begin Result := Alpha[3]+Alpha[4]; end; function c3(Alpha:TAPar):Real; stdcall; //third criterion – X1d/X1st var K1, K2, M1, M2, C : real; P1, P2, X1DST : real; DT, BETA, GAMA, MU : real; begin //define design variables K1 := Alpha[1]; K2 := Alpha[2]; M1 := Alpha[3]; M2 := Alpha[4]; C := Alpha[5]; //calculations P1 := sqrt(K1/M1); P2 := sqrt(K2/M2); DT := P2/P1; BETA := M2/M1; GAMA := OM/P1; MU := C/(2.0*M2*P1); X1DST:= (4.0*Sqr(MU*GAMA)+Sqr(Sqr(GAMA)-Sqr(DT)))/ (4.0*Sqr(MU*GAMA)*Sqr((1+BETA)*Sqr(GAMA)-1.0)+ – 43 – Sqr(BETA*Sqr(DT*GAMA)-(Sqr(GAMA)-1.0)* (Sqr(GAMA)-Sqr(DT)))); X1DST := SQRT(X1DST); Result := X1DST; end; function c4(Alpha:TAPar):Real; stdcall; //fourth criterion – w/p1 begin Result := OM/(sqrt(Alpha[1]/Alpha[3])); end; exports //list of exported functions Init, f1,f2,f3, c1,c2,c3,c4; begin end. – 44 – 10. DATABASE MANAGER USER'S MANUAL 10.1. Purpose Database Manager is a part of the MOVI 1.0 distribution package and is designed to restore damaged problems and to link problems calculated on another computer. By means of Database Manager, one can change some problem status parameters while keeping the already calculated data intact. 10.2. Starting the Program and Description of the Interface To start Database Manager, go to the PROGRAMS menu item of the Windows START menu, and in the "MOVI 1.0 Software Package" folder select the “Database Manager” shortcut. The “MOVI 1.0 Software Package” folder appears after the MOVI 1.0 package is installed on your computer. After the program is started, Database Manager's main window appears (Figure 10.1). The left panel shows a problem tree—a list of problems linked to MOVI 1.0. Note that the tree is initially folded. To unfold it, click “+” to the left of the “MOVI Databases” title, or double click this title. The right (information) panel displays problem status variables (problem folder, interface library, etc.) This information appears in the panel when a problem is selected in the left panel. By default, only information on the problem name, problem folder, and interface library is available. To display all data, click . This button will stay pressed until clicked again. If it is pressed, all data will be displayed in the right panel when the user moves along the problem tree. This will take more time than moving when the button is not pressed and only the first three data elements are displayed. 10.3. Editing the Problem Name, Folder, and Interface Library When a problem is selected in the left panel, the problem name, folder, and interface library can be changed. These changes do not require recalculation of the problem. To change the name of the problem, double-click PROBLEM NAME. A dialogue window appears (Figure 10.2). Enter the new name. To confirm the change click OK; to cancel, click CANCEL. To change the problem folder or interface library, double-click the respective string. A dialogue window appears. Enter the new values or click the button to the right of the edit field, and select the required problem folder or interface library file. IMPORTANT! Please be very careful when making such changes. If you are not sure that the new folder contains a database file or that the new interface library corresponds to the problem being considered, cancel the operation. A mistake can lead to MOVI 1.0 operation failure. – 45 – Figure 10.1 Figure 10.2 10.4. Database Integrity Check If a system malfunction or power failure occurs when the user is working with the Test Table or other similar cases, the calculated results can be lost. In such cases, one may try to restore the calculated results. To do this, select the problem in which the malfunction occurred in the left panel. Then click the button (problem check) on the tool bar. The Database Integrity Report window will appear (Figure 10.3). This window displays a three-column table. The first cell in each row shows the name of the value being checked, the second shows the true value, and the third shows the value stored in the database after the malfunction. The latter value may possibly be erroneous. – 46 – Figure 10.3 The icons next to the values in the first column represent the status of the checked element. The meanings of the icons are explained in Table 10.1. Table 10.1 Icon Status of the checked value The database value corresponds to the calculated value. No need to change. The database value is probably not correct. In this case, one should decide if the value in the third column is correct. If it is not correct, double-click the name of the checked value. A dialogue window will appear. In this window, enter or choose the correct value. Be careful when making changes, since entering wrong values can lead to incorrect operation. The value is incorrect and must be changed for correct operation. Doubleclick the name of the checked value. The value will be corrected automatically and the icon will change to . Close the windows after all changes have been made. In 90% of all cases, such problems can be restored. The remaining 10% consist of problems that were damaged by mistakes during restoration when the fields marked were filled with incorrect values. Remark. When restoring a problem that malfunctioned after the work with the full table, indicate which table you worked with (full table – Table I, or quick algorithm – Table II), regardless of the values in the second and third columns. 10.5. Adding and Deleting a Problem To add a problem calculated by another instance of MOVI 1.0 (which can be installed either on another computer or on the same computer in another folder), do the following: 1. Copy all files from the problem folder on the computer that was used for the calculations to a new folder on the computer with the MOVI 1.0 package to which the problem will be added. – 47 – 2. Start Database Manager, and click the button on the tool bar or press the INS key. A dialogue window will appear (Figure 10.4). Fill all fields in this window: enter the problem name in the NAME field, the path to the problem files in the PROBLEM FOLDER field, and the full interface library name (with path) in the INTERFACE LIBRARY field. When all fields are filled, click OK to add the problem to MOVI 1.0, or click CANCEL to cancel the operation. The added problem will appear in the problem list in the left panel. To delete a problem, select it in the left panel and click on the tool bar or press the DEL key. Figure 10.4 – 48 – 11. MOVI 1.0 OPERATION The MOVI 1.0 software package is controlled by means of menus. The items in the main menu are represented by buttons arranged in the left portion of the screen and are repeated in the Main Menu In the right-hand portion of the screen, the name of the task, the number of design variables (design parameters), functional relations and performance criteria, as well as the total number of tests and the number of vectors (designs) in the test table and in the feasible set, are displayed (see Figure 11.1). Some items end with ellipses (…), indicating that an embedded menu will appear during execution of the corresponding item. To switch between control elements (buttons or edit fields), use either the mouse or keys. Press TAB to move to the next field and SHIFT+TAB to return to the previous field. The envelope of MOVI 1.0 has a system of context-dependent messages (prompts). To call a prompt, press the F1 key. The structure and intended use of the files formed during the operation of the MOVI 1.0 software package are explained in Appendix B. Figure 11.1 – 49 – 11.1. Main Menu Item DATA INPUT DATA INPUT allows one to create a new task or to edit an available task and link it to MOVI 1.0. This item is implemented first. It has an embedded menu. 11.1.1. Embedded Menu Item NEW TASK NEW TASK is used to create a new task. Before the user can start working with a new task, a dialogue window will appear requiring confirmation that the work with the current task has been completed. When NEW TASK is selected, a dialogue window with one page will appear (see Figure 11.2). This page informs the user about the name of the task the location of the task folder and the interface module, as well as the parameters of the interface module. The name of the new task to be created should be entered in the TASK NAME field. This information allows the user to see what task is currently loaded. Entering the task name is mandatory. The path to the place on the disk where the working files of the task will be located is indicated in the TASK FOLDER field. By default, this folder is organized as “<PATH TO SOFTWARE MOVI 1.0>\PROBLEMS\<TASK NAME>”, but the user can change it as desired. If this folder does not exist, it will be created automatically. One can also create the folder by using the button located to the right of the edit field. In this case, a standard dialogue window for folder selection will appear. In the INTERFACE LIBRARY field, the path to the interface library is indicated. One can also use the button to the right of the input field to select a library in the standard dialogue window for loading files. The library file will be displayed if Windows is tuned to display system and auxiliary files1. . Figure 11.2 1 You can adjust the Windows settings using “Explorer” menu – 50 – To continue operating, press the ATTACH LIBRARY button. The library file will be copied to the task folder and linked to the package. In case of failure, an error message will appear. Otherwise, the parameters of the interface module will be displayed in the panel at the bottom of the window and the DESIGN VARIABLES, FUNCTIONAL CONSTRAINTS, and CRITERIA pages will be accessible for entering the input data of the task (see Figure 11.3). Figure 11.3 – 51 – 11.1.1.1. DESIGN VARIABLES Page The DESIGN VARIABLES page is intended for entering information about the design variables (see Figure 11.4). The list of design variables is displayed in the table. To enter a design variable, fill in the edit fields at the bottom of the page. The name of the design variable should be entered in the NAME field, and the boundaries of the range of this variable are entered in the LOWER BOUND and UPPER BOUND fields. By default, all design variables are treated as continuous. If the design variable is discrete, it is necessary to put a checkmark in the DISCRETE field. This will activate the LIST OF VALUES button. Pressing this button will open the DISCRETE VALUES OF DESIGN VARIABLE window (see Figure 11.5). The values that the design variable is allowed to assume should be entered in the edit field. All values that have been entered are displayed in the right-hand portion of the window. Edit this list using the buttons (to add data), (to delete data), and (to correct data). After the design variables have been entered, close this window or press OK to return to the DESIGN VARIABLES page. Then press the ADD button. The added variable will appear in the table. Figure 11.4 Figure 11.5 – 52 – In order to edit a previously entered design variable, it is necessary to highlight it in the table, then use the fields at the bottom of the page. To accept the change, press the CHANGE button. To delete the design variable, highlight it in the table and press the DELETE button. IMPORTANT: The number of design variables that are introduced must not exceed the limiting value declared in the interface module. If the user tries to add design variables beyond this value, a warning message will appear. 11.1.1.2. FUNCTIONAL CONSTRAINTS Page The FUNCTIONAL CONSTRAINTS page is intended for entering data on functional constraints (see Figure 11.6). The list of values entered is displayed in the table. The edit fields at the bottom of the page allow the user to enter or change the data. Use the NAME field to enter the name of the functional constraint, for example, f 1( m 1+ m 2). The FUNCTION NAME field presents a drop-down list of the names of the functions declared in the interface module. The functional relation will be calculated in accordance with the function selected from this list. The COMPARISON field presents a drop-down list of various comparison operations. Use this field to select the type of constraint for the specified functional relation, for example, . Use the CONSTRAINT field to enter the constraint imposed on the functional relation, for example, 1100. The information entered as shown above corresponds to the inequality f 1 1100 . If some functional relation is subject to a two-sided constraint, for example, * cn f n cn** , then this functional relation should be entered twice, first with the constraint cn* f n and then with the constraint cn** f n . The procedure for editing this page is quite similar to that of the DESIGN VARIABLES page. Figure 11.6 – 53 – 11.1.1.3. CRITERIA Page The CRITERIA page is intended for entering data about the performance criteria (see Figure 11.7). To edit this page, use the fields at the bottom of the page. The procedure for editing this page is quite similar to that of the previous two pages. Use the NAME field to enter or change the name of the performance criterion. The FUNCTION NAME field presents a drop-down list of the names of the functions declared in the interface module. Use the MIN/MAX field to select an extremalization operation. If MIN is selected, the values of the criterion (or pseudo-criterion) in the test table will be arranged in increasing order, i.e., from smaller to larger. If MAX is selected, the values of this criterion (or pseudo-criterion) will be arranged in decreasing order. If the function in question is interpreted as a pseudo-criterion, put a checkmark in the PSEUDO-CRITERION field. By default, all functions are interpreted as criteria. If there are primary constraints imposed on the performance criteria, put a checkmark in the PRIMARY CONSTRAINTS field and enter the corresponding constraint in this field. 11.1.2. Embedded Menu Item LOAD TASK A window with the list of tasks appears. Use the cursor to select one of these tasks and to link it to the MOVI 1.0 package. This item also allows the user to delete any task from the list (see Figure 11.8). Figure 11.7 – 54 – Figure 11.8 11.1.3. Embedded Menu Item EDIT TASK A window similar to that of the EDIT TASK item appears. The DESIGN VARIABLES, FUNCTIONAL CONSTRAINTS, and CRITERIA pages are similar in all respects to the pages with the same names in the item NEW TASK. These pages are edited in the manner described in Section 11.1.1. Remark. On the TASK page, the user can attach a new interface library and change the name of the task. Changing the name of the task preserves the results calculated previously. If a new interface library is attached, the task has to be recalculated. Changing the task folder is not allowed. On the three abovementioned pages, DESIGN VARIABLES, FUNCTIONAL CONSTRAINTS, and CRITERIA, there are colored fields. Changing data in these fields requires all calculations of the task to be redone. For example, on the DESIGN VARIABLES page, there are three colored fields: LOWER BOUND, UPPER BOUND, and DISCRETE. Suppose that we performed some optimization computations and then discovered that in the process of stating the problem, the value of the lower bound for some design variable on the DESIGN VARIABLES page was specified incorrectly. In this case, we make an appropriate correction in the LOWER BOUND field and press the CHANGE button. Then the message “This change will require recalculation of the task. Are you sure that you wish to make this change?” will appear. Pressing the OK button deletes the results of the previous calculations, and the user will have to solve the problem again. Pressing the NO button preserves the previous results. In the latter case, the user can also solve the problem again, if necessary. 11.2. Main Menu Item CHECK OF PRIMARY CONSTRAINTS Use this item to check the functional constraints, as well as the primary criteria constraints (if any). The execution of this item is mandatory. Selection of this item opens a window in which two fields should be used to enter the numbers of tests, for example, from 1 to 512 (see Figure 11.9). In – 55 – addition, this window presents the current information on the results of checking the primary constraints. When LP sequences are used, it is desirable that the number of tests be equal to 2 n . If one then chooses to continue testing to the number N, one should enter this number in the second field. If it is impossible to guarantee N 2n , N may be specified as an arbitrary integer. 11.3. Main Menu Item TEST TABLES Use this item to calculate the performance criteria, generate the test tables, determine the criteria constraints, and construct the feasible and Pareto optimal sets (see Figure 11.1). The execution of this item is mandatory. The item TEST TABLES must be executed after the item CHECK OF PRIMARY CONSTRAINTS. TEST TABLES has an embedded menu with two items: TEST TABLE I and TEST TABLE II. The second item utilizes the so-called fast algorithm, which allows one to save time when solving the optimization problem. However, selection of TEST TABLE II may complicate the determination and correction of the criteria constraints *2* ,..., *i * ,... , compared with TEST TABLE I. Figure 11.9 – 56 – 11.3.1. Embedded Menu Item TEST TABLE I When this item is selected, the FULL ORDERED TEST TABLE window opens (see Figure 11.10). We use the following notation: N is the number of tests performed, N1 is the number of design variable vectors that are entered the test table, and ND is the number of design variable vectors in the feasible set. If N1 ND immediately after construction of the test table, this means that the cursor does not stand on the last row in some columns. To set the cursor on the last row, press the button and then press the ND button. For each criterion, two columns are reserved for entering the numbers of the design variable vectors and the respective values of the criterion. If some criterion is to be minimized, the values of this criterion are arranged in increasing order. If a criterion is to be maximized, its values are arranged in decreasing order. The minimum and maximum values of each criterion are presented in the first rows of the table. For brevity, in what follows, we use the terms design variable vector, design, and solution as synonyms. As a rule, some values of the criteria are unfeasible. Therefore, it is necessary to introduce criteria constraints. The criteria constraints are imposed as follows. Using the cursor, the designer marks in each column a value of the respective criterion whose feasibility he/she does not doubt. If this criterion is to be minimized, it is desirable that the selected value be the maximum of all feasible values (In the case of maximization, this value should be a minimum.) This is necessary in order not to lose fairly good solutions if there are competing (contradictory) criteria. The criteria constraints are marked with color in the table. Above each column, the number of the respective criterion, its maximum and minimum values, and the number of designs satisfying all criteria constraints (from the first to the current one), ND, are presented. Suppose that we consecutively determined j criteria constraints ,..., *i * ,..., *j* ,... and then decided to revise the constraint *i * . This may affect the number of feasible solutions in the columns lying to the right of the column with number i. In order for the program to recalculate the number of feasible solutions, after changing *i * , one should press the ND button or the ENTER key or move the cursor to a column lying to the right of the column with number i. ** 1 Assume that in the ith column of the test table we have several close values of the corresponding criterion and that all these values are feasible. If the criteria constraints are to be determined with these values, it is necessary to set the cursor on the last (worst) value. After determining all criteria constraints, one can construct the feasible set (the set of feasible solutions). Pressing the RESULT button opens the FEASIBLE AND PARETO OPTIMAL SOLUTIONS window (see Figure 11.11). This window is divided into four panels. The first panel presents the total number of tests, the number of tests that entered the table, the number of feasible solutions, and the number of Pareto optimal solutions. The second panel contains information about all criteria constraints. The third and fourth panels present the total number and individual numbers of the feasible and Pareto optimal solutions, respectively. – 57 – Figure 11.10 Figure 11.11 – 58 – To display information about the criteria constraints, one can also press the CONSTRAINTS button in the FULL ORDERED TEST TABLE window. To select a criterion, use the keys that move the cursor left and right or use the and buttons. To increase the number of tests, press the CONTINUE TESTING button. To construct a complete test table, it is recommended that the number of tests in the table with up to 20 criteria not exceed approximately 4000. Construction of the truncated test table. If the test table contains a large number of solutions and the number of criteria is also large, this table may prove to be rather complicated to work with. These difficulties are aggravated if the solution of the design problem requires tens of thousands of tests to be performed. If one removes from this table all solutions that do not satisfy the criteria constraints, its length will substantially decrease. The user can obtain such a table by pressing the TRUNCATED TABLE button after determining the feasible set (see Figure 11.10). When the TRUNCATED TABLE button is pressed, the CONSTRUCTION OF TRUNCATED TABLE window opens (see Figure 11.12). This window displays the total number of tests performed – N, the number of solutions in the truncated table – N2, and the number of solutions in the feasible set – ND. In addition, it presents the list of criteria and indicates the type of each criterion (criterion or pseudo-criterion), the type of extremalization (minimization or maximization), and the values of the criteria constraints. To generate the truncated table, press the YES button (see Figure 11.13). Then the user can continue testing, if necessary. After that, the user should set the cursor on the last place in all columns of the truncated table by pressing the button or using the cursor control keys. Then press the ND button. The user can also revise the criteria constraints in the truncated table. Figure 11.12 – 59 – It will be helpful to note a number of specific features of working with the truncated test table. (i) It may happen that in the ith column of the full or truncated table, the values i p and i m satisfying the inequality i p i m follow one another. Suppose we wish to introduce as a primary criterion constraint a value *i * that does not occur in the ith column but must satisfy the condition i p *i * i m (or it may be greater than the last value in this column). In this case, we set the cursor on the value i p in the table and press the TRUNCATED TABLE button. The CONSTRUCTION OF TRUNCATED TABLE window will appear. In the VALUE column, we click the row corresponding to this criterion constraint. Then a menu with three items, UPPER VALUE, LOWER VALUE, and NEW VALUE, appears (see Figure 11.14). In this menu, we select NEW VALUE. The CONSTRAINT VALUE edit field will appear. We enter the value i in this field and press the button. The value i will be automatically entered in the VALUE column. We press the YES button to construct the truncated table (see Figure 11.14) and then continue testing. (ii) Suppose the user wishes to sharpen the constraints on some criteria, leaving the others unchanged. In this case, he/she should set the cursor on the values of the criteria that he/she wishes to treat as new constraints. For the other criteria, the cursor should be set on the last place. Then, press the TRUNCATED TABLE button. A window will appear in which the user should click the row corresponding to the criterion constraint that is not subject to change. To preserve the value of this constraint, the user should select the item LOWER VALUE in the embedded menu that appears (see Figure 11.14). If we choose to sharpen a criterion constraint in the truncated table, then by default the value indicated by the cursor is treated as this criterion constraint. This corresponds to the UPPER VALUE item of the embedded menu. When the number of tests is increased without changing the criteria constraints, pressing the TRUNCATED TABLE button is unnecessary. (iii) Let testing be continued in the truncated table. (This condition is not necessary.) Let the feasible set have been constructed and let the user choose to relax the constraints on some criteria. To do this, press the EXTEND button. The EXTENSION OF TRUNCATION TABLE window will appear on the screen (see Figure 11.15). To relax a constraint value by which the table has been truncated, doubleclick this value. Then replace this constraint value by a less restrictive one and press the ACCEPT CONSTRAINTS button. The criterion vectors satisfying the new (relaxed) constraints will be included in the truncated test table. – 60 – Figure 11.13 Figure 11.14 Figure 11.15 – 61 – One can also define a new constraint value by analyzing the full test table from which the user has chosen to proceed to the truncated table. To return to the full test table, press the RETURN button. This table will have preserved the values of the criteria constraints by which the table was truncated. Note that this table will contain feasible designs corresponding to new tests performed with the truncated table. In addition, it will contain new designs that satisfy not only the last criterion constraint, but others as well. After returning to the full table and correcting constraints, the user can construct a new truncated table with the relaxed constraints by pressing the TRUNCATED TABLE button. If the analysis of the full table does not allow one to define the relaxed constraints or the results obtained are unacceptable, one should refer to the table of criteria failures (see Section 11.4.2). (iv) Sometimes it may not be necessary to impose constraints on some criteria when working with the truncated table. In this case, set the cursor on the last row in the columns corresponding to these criteria in the full test table. Then press the TRUNCATED TABLE button, and in the window that appears, click the value of the criterion that should not be constrained (see Figure 11.14). In the embedded menu that appears, select LOWER VALUE. Then construct a new truncated table. One should also proceed in a similar way when the full table is constructed with primary constraints imposed on some criteria. To truncate this table without changing the primary constraints, use the TRUNCATED TABLE button. In the window that appears, click the value of the criterion for which the primary constraint should not be changed. An embedded menu will appear. From the three items in this menu, select LOWER VALUE. Then construct the truncated table 11.3.2. Embedded Menu Item TEST TABLE II When this item is selected, the TEST TABLE: FAST ALGORITHM window appears on the screen. Initially, this table has one column corresponding to the first criterion (see Figure 11.16). In this table, N is the number of tests, N1 is the number of solutions that entered the first column, and ND is the number of feasible solutions. ~ Denote by ** the value of the th criterion that must not be exceeded in ~ any case. (If some of the values ** are known before solving the problem, these values should be entered as primary constraints using the item DATA INPUT, see Section 11.1) After obtaining the table for the first criterion, the user should ~ enter the constraint on this criterion, 1** (see Section 11.1.1.3). Entering this constraint is desirable but not mandatory if, for example, the user fails to define ~ ~ the value of 1** . To remove the designs that do not satisfy the constraint 1** from the table, use the button. Then, by analyzing the values in the table for ~ the first criterion, the user enters the criterion constraint 1** . For the designs satisfying this constraint, the criterion 2 is calculated. The values of this criterion appear in the second table on the display screen. One should work with ~ this table as with the table for the first criterion, entering constraints *2* and *2* . – 62 – Figure 11.16 For designs satisfying the constraints 1** and *2* , the criterion 3 is calculated, and so on. After performing these operations with all criteria, we will obtain the test table (see Figure 11.17). We can proceed from this table to the truncation test table, which has the same structure as that of the item TEST TABLE I. If the user is not satisfied with the solutions obtained, we recommend the following strategy: 1. Let the analysis of the table show that the criterion constraint imposed on a criterion m , m k (or on several criteria) is inappropriate. Then it is necessary to change this constraint. To do this, the user should return to the table for this criterion, change the constraint, and press the ENTER key or the ND button. If the considered column does not contain a value that could be taken as a new criterion constraint, set the cursor on the nearest value less than the desirable constraint. Then press the TRUNCATED TABLE button. The CONSTRUCTION OF THE TRUNCATED TABLE window will appear in which one should click the row corresponding to the constraint being considered. A menu will open. Select the item NEW VALUE in this menu and then enter the desirable value of the criterion constraint in the edit field. After that, for the designs satisfying this new constraint, the values of the criterion m 1 will be calculated and the constraint *m*1 will be checked. For the designs satisfying this constraint, the values of m 2 will be calculated, and so on. One can continue testing if necessary. – 63 – Figure 11.17 2. If the analysis of the table does not allow one to identify the constraints that lead to the unsatisfactory result, it is necessary to relax the criteria constraints consecutively, beginning with the last constraint *k* . If relaxing *k* does not improve the result, *k*1 should be relaxed. Then, for the designs satisfying this constraint, the values of the criterion k are calculated. If this also does not improve the result, this procedure should be repeated with the criterion k 2 , and so on to 1 . Note, however, that the sequence suggested for revising (relaxing) the criteria constraints is not the only possible one for improving the designs. 3. Let the truncated table have been constructed and suppose one wishes to relax some of the criteria constraints. In this case, one should press the RETURN button to return to the analysis of TEST TABLE II. IMPORTANT NOTE: You have already constructed the test table and determined the sets of feasible solutions and Pareto optimal solutions. You have analyzed the results obtained (see also Sections 11.4.3 and 11.4.4) and defined the solution that is most acceptable to you. Thus, you can consider the problem to have been solved. In what follows, we will speak about various approaches to improving this solution. – 64 – 11.4. Main Menu Item TABLES This item can be executed only after the item TEST TABLES. The item TABLES has an embedded menu with four items: TABLE OF FUNCTIONAL FAIULURES, TABLE OF CRITERIA FAILURES, TABLE OF CRITERIA, and TABLE OF DESIGNS. 11.4.1. Embedded Menu Item TABLE OF FUNCTIONAL FAILURES Only those solutions that satisfy all functional constraints enter the test table. Designs that fail to satisfy these constraints enter the table of functional failures. An analysis of the table of functional failures allows one to understand how the functional constraints “work” and, if necessary, to correct them. The table of functional failures has two fields on the top panel: the left-hand NAME field and the right-hand CONSTRAINT field. The table itself lies below this panel (see Figure 11.18). This table contains information about all the design variable vectors that do not satisfy the functional constraints. Between the top and bottom panels, information about the vectors that failed to satisfy functional constraints is presented. This information includes the total number of tests conducted, the total number of functional failures, and the number of functional failures for each functional constraint c j . Use the NAME field to select the functional relation to be analyzed. For example, let the jth functional relation be selected. Then the corresponding functional constraint c j will appear in the right-hand CONSTRAINT field, and the list of numbers of the designs that failed to satisfy this constraint will appear in the second column of the table. If the constraint has the form f j ( i ) c j , these numbers are arranged in decreasing order of the value f j (see the first column). For a constraint of the form f j ( i ) c j , these numbers are arranged in increasing order of f j . The information obtained allows the designer to estimate the values assumed by the design variable vectors that do not satisfy the jth functional constraint and to find out whether it is possible to change this constraint so that as many designs as possible will satisfy it. Figure 11.18 – 65 – To do this, the designer selects the functional relation f j in the NAME field. Then, using the table, the designer determines the values assumed by the function f j and estimates to what extent he/she can change the corresponding value c j so that a number of designs will meet this constraint. Next, he/she introduces a new (relaxed) value c j in the CONSTRAINT field and gives the command to change the functional constraint. The designs that meet this new constraint will then be tested to find out if they satisfy all subsequent constraints, if any. The designs that satisfy all functional constraints enter the test table. (If we are dealing with the truncated table, these designs may enter either the truncated table or the table of criteria failures.) Taking into account a possible shortage of computer time for calculating the functional relations, it is advisable to relax the functional constraints, beginning with the last one, c p . Then, if necessary and possible, the constraint c p 1 can be relaxed, and so on. When relaxing functional constraints, the designer can also proceed as follows. First, he/she identifies all functional relations on which the constraints can be relaxed and then, using the table of functional failures, defines a new (relaxed) value of the functional constraint and enters this change in the table. Using the table of functional failures, the designer obtains all the information required to correct the functional constraints. The analysis of the table of functional failures does not cause any difficulties. 11.4.2. Embedded Menu Item TABLE OF CRITERIA FAILURES This item can be used for relaxing criteria constraints in order to improve the results obtained previously. Let a number of tests have been performed when working with the truncated table and let the necessity of relaxing some of the constraints have arisen. To define the values of the new (relaxed) constraints, use the RETURN or EXTEND button. If the designer is not quite satisfied with the results, he/she can try to improve them by using the table of criteria failures. The table of criteria failures contains design variable vectors that failed to satisfy the constraints ** , 1, k 1 . The table of criteria failures can also be used after primary constraints for some criteria have been entered in the DATA INPUT menu item and the full test table has been constructed. Let the analysis of the table of criteria failures have revealed the necessity of relaxing a primary constraint (except for the constraint on the last criterion). This relaxation can be implemented by performing the operations described below. If it is necessary to relax the primary constraint on the last criterion, one should truncate the full test table and then press the RETURN button. Then, after analyzing the truncated table, one can change this constraint. Note that the tests that satisfy all criteria constraints, except for the constraint on the last criterion, will enter the full test table. When the item TABLE OF CRITERIA CONSTRAINTS is chosen, a window opens (see Figure 11.19). This window has a CRITERION field with a drop-down list of criteria (or pseudo-criteria). When one of these criteria is chosen, the value of the criterion constraint that has been defined by using the RETURN or EXTEND button automatically appears in the CONSTRAINT edit field. The window informs the user about the total number of criteria failures and the number of designs that failed to satisfy each of the criteria constraints. – 66 – Figure 11.19 In the bottom portion of the window, the numbers of the designs that failed to satisfy the selected criterion constraint, as well as the values of the corresponding criterion for these designs, are indicated. By analyzing the values of this criterion and comparing them with the corresponding constraint, the user can determine whether he agrees with this constraint or some change is still possible. In the first case, press the CHANGE button. In the second case, enter a new constraint value in the CONSTRAINT field and then press the CHANGE button. The designs that satisfy the new criterion constraint will be tested to find out whether they satisfy the subsequent constraints. The designs that satisfy all constraints will enter the truncated test table. An operation similar to the one described in this section should be performed for all criteria on which the user has chosen to relax the constraints. Let the truncated test table have been constructed in accordance with the item TEST TABLE II and let the tests be continued. Let the criteria constraints *j* and *i * , j < i k 1 , have been relaxed in the truncated test table. For some problems, updating the test table after relaxing the constraint on the criterion j in the table of criteria failures may require considerable time, which the designer may not have. On the other hand, it can happen that he/she is satisfied with the results of relaxing the constraint on the criterion i . In this case, the designer may decide against relaxing the constraint on the criterion j in the table of criteria failures. If acceptable results have been obtained after relaxing constraints in the truncated table, whereas relaxing constraints in the table of criteria failures requires an unacceptable amount of computer time, the designer may decide not to go to the table of criteria failures. One should also take all these considerations into account when relaxing the functional constraints in the table of functional failures. 11.4.3. Embedded Menu Item TABLE OF CRITERIA This item allows one to obtain information about the values of the criteria vectors belonging to the feasible set or the Pareto optimal set. When this item is chosen, the TABLE OF CRITERIA window will appear. After FEASIBLE SET or PARETO OPTIMAL SET is selected in the drop-down list, the numbers of the – 67 – solutions belonging to the respective sets and the corresponding values of the performance criteria appear in the table of criteria (see Figure 11.20). By checking or unchecking the SHOW PSEUDO-CRITERIA check box, one can add to or remove from the screen the columns with pseudo-criteria. 11.4.4. Embedded Menu Item TABLE OF DESIGNS When the item TABLE OF DESIGNS is selected the DESIGN VARIABLE VALUES window opens (see Figure 11.21). This window has three input fields. The third field has a drop-down list with three items: FEASIBLE SET, PARETO OPTIMAL SET, and BY NUMBERS. By selecting the first or the second item, one can obtain information about feasible or Pareto optimal designs, respectively. Using BY NUMBERS, one can display the components of an arbitrary sequence of consecutively numbered design variable vectors on the screen. To do this, select BY NUMBERS in the drop-down list. Then, enter the number of the first vector whose components should be displayed in the first field, and the number of the last vector in the second field. Figure 11.20 Figure 11.21 – 68 – 11.5. Main Menu Item HISTOGRAMS AND GRAPHS After solving an optimization problem, questions very often arise as to whether it is possible to improve the solutions obtained, perhaps by correcting the primary constraints imposed on the design variables, and how to determine these improved solutions. We will indicate two possibilities for improving the solutions. The first possibility implies no change in the design variable constraints. The other possibility requires the construction of a new parallelepiped for the design variables. The new parallelepiped is constructed on the basis of an analysis of histograms and graphs. This item can be selected after executing the item TEST TABLES, when the feasible set and the Pareto optimal set have been constructed. The item HISTOGRAMS AND GRAPHS has an embedded menu consisting of two items: HISTOGRAMS and GRAPHS. 11.5.1. Embedded Menu Item HISTOGRAMS When this item is selected, the HISTOGRAMS: FEASIBLE SET window appears (see Figure 11.22). Select a desirable design variable in the DESIGN VARIABLE field. The histograms of the feasible solutions will appear in the * ** window. The interval [ j ; j ] is divided into ten identical subintervals. Above each subinterval, the number of feasible designs entering this subinterval is indicated. To show the arrangement of Pareto optimal designs on a histogram, check the SHOW PARETO OPTIMAL DESIGNS check box. The percentage of designs entering the corresponding interval is indicated in the right-hand portion of the screen. The panel at the bottom indicates the number of the interval, its boundaries [ *ji ; *ji* ] , the number of feasible and Pareto optimal design variable vectors in this interval, and the numbers of these vectors. The number of a Pareto optimal vector is labeled by the letter P. Analysis of the histograms reveals how the feasible designs are distributed. This information may prove to be helpful when correcting the ranges of the design variables in order to improve the results of optimization. 11.5.2. Embedded Menu Item GRAPHS This item has an embedded menu with two items: CRITERION VERSUS DESIGN VARIABLE I and CRITERION VERSUS DESIGN VARIABLE II. First consider the item CRITERION VERSUS DESIGN VARIABLE I. After analysis of the test table, let preference be given to the design variable vector i . Let us fix all components of this vector, apart from one, ij , and find out how the functions 1 ,..., k (or some of them) change as the component ij varies on the original interval [ *j ; *j* ] . – 69 – Figure 11.22 To do this, we construct the appropriate graphs. If good solutions lie near the boundaries *j or *j* or the graph shows that some criteria tend to improve as the design variable approaches the boundaries of the design variable constraints, it is of interest to investigate the behavior of the criteria beyond these boundaries. In this case, one should define new boundaries *j *j or *j* *j* , where *j * is the value of the change in the boundary *j * , and perform tests in the new parallelepiped. If these variations of the boundaries improve the solutions obtained previously, this fact is of interest to the designer. The analysis of the results has a nonformal nature. The final decision regarding the acceptance of the new design variable constraints depends on the values of the performance criteria achieved by extending the design variable ranges. When the item CRITERION VERSUS DESIGN VARIABLE I is selected, the GRAPH OF CRITERION VERSUS DESIGN VARIABLE I window appears (see Figure 11.23). This window has five fields. In the CRITERION and DESIGN VARIABLE fields, one should select the desirable criterion and design variable. To draw the graph, all design variables, apart from the design variable ij being investigated, should be fixed. Therefore, only the design variable to be varied should be select in the DESIGN VARIABLE field. – 70 – Figure 11.23 This window also has two additional fields: TEST FROM and TO. In the former field, one should set the number of the initial test (for example, 1) and in the latter field, the total number of tests, N. (As a rule, the number N is taken to be relatively small, for example, 32.) All performance criteria to be analyzed will be calculated at N points of the range of the design variable ij in order to construct the corresponding graph. Enter the number of the design variable vector to be investigated, i , in the FIXED VECTOR field. For example, this could be one of the Pareto optimal vectors identified previously. Press the DRAW button to draw the corresponding graph in the window. The interval [ *j ; *j* ] is separated off on the X-axis, and the values of the criterion are measured along the Y-axis. The graph shows feasible, Pareto optimal, and unfeasible points. Different types of points are shown in different colors. All points are connected by a curve (see Figure 11.23). To the right of the FIXED VECTOR field, there is a button ; when this button is pressed, the CORRECTION OF VALUE OF DESIGN VARIABLE VECTOR # window appears (see Figure 11.24). This window informs the user about fixed components of the design variable vector i and indicates the variable component that was previously defined in the DESIGN VARIABLE field. Using CORRECTION OF VALUE OF DESIGN VARIABLE VECTOR # window, one can change the values of the fixed design variables. Then, the ACCEPT NEW VALUES button should be pressed. The graph corresponding to the new values of the fixed design variables will appear on the screen. In the top left-hand corner of the GRAPH OF CRITERION VERSUS DESIGN VARIABLE I window, the number of tests N, the number of feasible solutions ND, and the number of Pareto optimal solutions NP are displayed. On the top panel of this window, there is a menu with the items GRAPH and VIEW. – 71 – Figure 11.24 The item GRAPH has an embedded menu with the following items: PRINT OUTPUT IN A NEW WINDOW FIRST KIND CONSTRAINTS KIND CONSTRAINTS SAVE SAVE AS BITMAP OPEN The item OUTPUT IN A NEW WINDOW is used for drawing graphs in a separate window and representing several graphs on the same screen. When this item is selected, the panel with graphs disappears from the screen and only the panel for data input remains. By analogy with what has been described above, one should (i) select a fixed vector, the component of this vector to be varied, and the performance criterion; (ii) prescribe the number of tests; and (iii) press the DRAW button. A graph will appear in a separate VECTOR # window. This window can be moved to any place on the screen. Other graphs can also be constructed. Thus, this item allows one to draw several graphs on a large screen (see Figure 11.25). This provides the user with a more convenient means of comparing and analyzing graphs. The VECTOR # window has an embedded menu allowting one to construct two types of graphs. The first type of graphs take into account both feasible and unfeasible (i.e., they failed to satisfy criteria and functional constraints) solutions. The second type of graphs involve only feasible and Pareto optimal solutions. In the VECTOR # window, there are two menu items: GRAPH and VIEW. The former item allows one to print graphs. The latter item has an embedded menu with the following items: TABLE OF VALUES, FEASIBLE SOLUTIONS, ALL SOLUTIONS, NAME, and LIST OF NAMES. Before drawing a graph, one should mark the check box either in the item CONSTRAINTS OF THE FIRST KIND or in the item CONSTRAINTS OF THE SECOND KIND of the embedded menu. Constraints of the first kind cover primary constraints and/or constraints introduced by the user in the full test table. If, after constructing the truncated table, the user changes some constraints in this table, the modified constraints will be constraints of the second kind. – 72 – Figure 11.25 When the menu item VIEW is chosen, a menu with the following items appears in the GRAPH OF CRITERION VERSUS DESIGN VARIABLE I window: TABLE OF VALUES ALL SOLUTIONS FEASIBLE SOLUTIONS CALCULATE ALL CRITERIA When the item TABLE OF VALUES is selected, a TABLE OF VALUES window opens, displaying the values of the criteria to be improved (a prototype), as well as the criteria constraints (see Figure 11.26). In the bottom portion of the window, there is a table on the basis of which the graph has been constructed. This table has N rows and a number of columns. The first column contains the numbers of the design variable vectors j. The values of the variable component of the design variable vector, i j , j 1, N , are arranged in increasing order in the second column. Consider a row of this table. To the vector number j indicated in the first column, there corresponds a value of the design variable i j , j 1, N in the second column. This value is followed by a list of the values of the performance criteria from 1 to k . These values have been defined for the given value of i j , with the other design variables being fixed. In the left column, there are the letters P, C, D, and F, as well as numbers identifying design variable vectors. The letter P identifies Pareto optimal solutions; D, feasible solutions; C, solutions that failed to satisfy criteria constraints; and F, solutions that failed to satisfy functional constraints. Consider the item CALCULATE ALL CRITERIA. Let the feasible and Pareto optimal solutions have been determined previously. To draw the graphs ( j ) , press the DRAW button. However, it may happen that the designer wishes to analyze only one of the graphs ( j ) without calculating the values of the other criteria. To that end, it is necessary to remove the marker in the item CALCULATE ALL CRITERIA and press the DRAW button. In this case, the record NP=0 appears informing the user that Pareto optimal solutions have not been calculated. – 73 – Figure 11.26 Now consider the item CRITERION VERSUS DESIGN VARIABLE II. When this item is selected, the GRAPH OF CRITERION VERSUS DESIGN VARIABLE II window opens. The main menu of this window has the item GRAPH with an embedded menu containing the following items: PRINT SAVE SAVE AS BITMAP OPEN The panel at the top of the window contains information about the total number of tests N, the number of tests that entered the test table N1, the number of feasible solutions ND, and the number of Pareto optimal solutions NP. (These data are obtained from the full test table. If the truncated test table has been constructed, then these data are automatically taken from the full table that could be constructed by pressing the RETURN button.) This window has two edit fields: CRITERION and DESIGN VARIABLE. The desired graph will be constructed after pressing the DRAW button. The points corresponding to the numbers N1, ND, and NP are marked on this graph. These graphs are related only to the embedded menu item TEST TABLE I. Let N1 design variable vectors have entered the test table after N tests. The graphs CRITERION VERSUS DESIGN VARIABLE II are formed by the projections of the points ( i , 1, 2 , , , r ), 1, k , i 1, N 1 onto the plane j , 1, k , j 1, r (see Figure11.27). By analyzing the graphs and the corresponding tables, the designer can (i) estimate the influence of the design variables on the criteria, (ii) compare the values of the performance criteria of the design (prototype) to be improved with the results obtained by investigating graphs and histograms, and (iii) judge whether it is advisable to correct the original parallelepiped and to perform additional tests in the updated parallelepiped to improve the results of optimization. – 74 – Figure 11.27 11.5.3. Saving Graphs When one selects the item GRAPH in the GRAPH OF CRITERION VERSUS DESIGN VARIABLE I or GRAPH OF CRITERION VERSUS DESIGN VARIABLE II window, an embedded menu appears. This embedded menu has the items SAVE, SAVE AS BITMAP, and OPEN. The item SAVE allows one to save a graph in a format accepted by the MOVI 1.0 software package. When this item is selected, a standard dialogue window for saving graphs opens. The graph will be saved in the task folder with the extension .ch1 for the GRAPH OF CRITERION VERSUS DESIGN VARIABLE I window and with the extension .ch2 for the GRAPH OF CRITERION VERSUS DESIGN VARIABLE II window. The item SAVE AS BITMAP allows one to save a graph as a picture in BMP format. To open a graph saved in such a file, one can use the facilities of the operating system, for example, PAINT or EXPLORER. This item is also present in the HISTOGRAM menu of the HISTOGRAMS: FEASIBLE SET window. The item OPEN allows one to open a graph previously saved by using the item SAVE. 11.6. Main Menu Item PERFORM ONE TEST This item is used to perform a single test. It may be useful either when debugging a program or if it is necessary to calculate the vector of performance criteria for a given design variable vector (a prototype). It is advisable to implement this item after constructing the feasible set. When this item is selected, the PERFORM ONE TEST window opens (see Figure 11.28). In the NUMBER OF VECTOR field, enter the number of the design – 75 – variable vector for which calculation of the criteria is required. Next, press the TEST button. Information will appear about the values of the design variables, functional relations, and criteria for the given vector. If this vector did not enter the test table, a message appears informing the user about the functional constraints violated by this vector. Pressing the button opens the CORRECTION OF THE VALUES OF VECTOR # (see Figure 11.29). Using this window, the designer can change some components (design variables) of the selected vector in order to try to improve the values of the performance criteria. The designer can also change all components of some design variable vector, calculate the criteria for this new vector, and compare the results with those obtained previously. This can be done after the corresponding values of the new design variables have appeared in this window. After that, first press the ACCEPT NEW VALUES button and then the TEST button in the PERFORM ONE TEST window. The values of the criteria and design variables will then appear in this window. Figure 11.28 Figure 11.29 – 76 – 11.7. Main Menu Item COMBINE SOLUTIONS This item may be helpful in the following two cases: If solving the problem on one computer takes an unacceptably long time. The MOVI 1.0 software package allows one to solve a problem on several computers simultaneously, thereby considerably reducing the time required to find the solution. In this case, the source problem (task) is divided into subproblems, each with its own name and its own test interval [ N1k ; N 2k ] , where k is the number identifying the computer. Different subproblems are solved on different computers. If the range of the design variables is separated into several parallelepipeds and it is not reasonable to combine them into one parallelepiped because of the large volume. In this case, one could solve a separate optimization problem for each parallelepiped. In both of these cases, it is necessary to combine feasible solutions of each of the subproblems and construct a single Pareto optimal set. The item COMBINE SOLUTIONS can be implemented only after constructing the corresponding feasible sets for each subproblem. Press the COMBINE SOLUTIONS button on the panel of the main menu. The COMBINATION OF SOLUTIONS window will open (see Figure 11.30). On the ATTACHED TASKS panel, indicate the names of the tasks (problems) whose results are to be combined with those of the problem already available. To make this, press the ADD button. The SELECTION OF PROBLEM window with the list of available optimization problems will appear. Select the necessary problems. The lists of feasible design variable vectors for each of these problems will appear in the top right-hand portion of the COMBINATION OF SOLUTIONS window. If one then presses the button (Figure 11.30), the combined Pareto optimal solutions will be shown in the bottom portion of the window. The number of each vector of criteria is followed by the number of the subproblem to which this vector belongs. The numbers of the subproblems are given in parentheses. To display the values of these criteria and design variables, press the button (see Figure 11.30). The VALUES OF VECTORS OF COMBINED PARETO OPTIMAL SET window will open. In the field with the drop-down list, select any of the design variable and criteria vectors. The numbers and the values of these vectors will appear in the bottom portion of the window (see Figure 11.31). To attach a problem solved on another computer, use the Database Manager program integrated into the MOVI 1.0 software package. For more details of this operation, see Section 10. – 77 – Figure 11.30 Figure 11.31 11.8. Main Menu Item SERVICE The SERVICE menu item is not present as a button (see Figure 11.1). It serves the following purposes: clearing database and database optimization. It contains the items CLEAR RESULTS and DATABASE OPTIMIZATION of an embedded menu. The item CLEAR THE TASK allows one to delete the results obtained previously. The DATABASE OPTIMIZATION menu item performs database optimization, intended to speed up the database processing, which improves MOVI's performance. After performing a large number of tests, constructing truncated tables, returning to full tables, and clearing the problem, the database becomes very fragmented; it becomes very large, thus increasing the time required to access its elements. This slows down procedures such as opening tables of tests, returns, continuation of tests, and many others. In order to avoid performance degradation, it is advisable to run database optimization after constructing truncated tables, returning to full tables, and clearing the problem. – 78 – 11.9. Printing Reports Using the MOVI 1.0 software package, one can create the following reports: 1. 2. 3. 4. 5. 6. Test tables Feasible and Pareto optimal solutions Design variable vectors Criteria vectors The data of the prototype and constraints the values of the criteria Table of the values of the criteria for the graph CRITERION VERSUS DESIGN VARIABLE I 7. Combination of solutions 8. The values of the vectors of the combined Pareto optimal set 9. Graphs and histograms All reports are limited to print only four columns at one time. A report on the full and truncated test tables is printed from the FULL ORDERED TEST TABLE and TRUNCATED TABLE windows. In the panels of these windows, there is the button . When this button is pressed, a window appears (see Figure 11.32) in which one can select the criteria information for printing. In this window, press the button to open the preview window or the button to print out the report. The report “Feasible and Pareto optimal solutions” is printed from the FEASIBLE SOLUTIONS window. This window appears when the RESULT button on the panel of the test tables is pressed. The FEASIBLE SOLUTIONS window has the button . When this button is pressed, the preview window appears, from which this report can be printed out. The reports “Design variable vectors” and “Vectors of criteria” are called from the VIEW OF DESIGN VARIABLE VECTORS and TABLE OF CRITERIA windows. When the button is pressed, a window appears (Figure 11.32) in which one can select criteria or design variable information for printing. It is important to note that these reports are created in accordance with the current information on the screen. For example, if one is analyzing Pareto optimal solutions, then the report will be created for these solutions. Figure 11.32 – 79 – To obtain the report “The data of the prototype and constraints” and the table “The values of the criteria” for the CRITERION VERSUS DESIGN VARIABLE I graph, one should proceed as follows. Construct the graph in the GRAPH OF CRITERION VERSUS DESIGN VARIABLE I window and then press the VIEW button. An embedded menu will appear in which one should select the item TABLE OF VALUES. In the window that appears, press the button in the DATA OF THE PROTOTYPE AND CONSTRAINTS panel. The preview window for the corresponding report will appear. When the button on the VALUES OF CRITERIA panel is pressed, a window opens (Figure 11.32) in which one can select the desired criteria information for printing. The report “Combination of solutions” is called from the COMBINATION OF SOLUTIONS window by pressing the window. The report “The values of the vectors of the combined Pareto optimal set” is called from the window of the same name by pressing the button. The PRINT OF COMBINED PARETO OPTIMAL SET window will appear. In this window, one should select criteria or design variables, depending on what is currently being analyzed for printing. The reports outlined above have the preview option. If the user does not open the selection window, the preview window opens automatically. Otherwise, the preview mode can be called by pressing the corresponding button in the selection window. To print graphs and histograms, select the appropriate item in the GRAPH or HISTOGRAM menu. The graphs will be printed from the screen in the “without landscape” format preview. – 80 – 12. EXERCISES In this Section, we pursue two goals. First, we want to demonstrate the potential of the MOVI 1.0 software package. Second, by using a very simple example, we want to show some details of the analysis the designer performs when solving an engineering optimization problem. We invite the reader to become acquainted with a number of simple exercises and perform some of them on his/her own. These exercises involve the construction of test tables, operating with the truncated table, construction of histograms and graphs, solving a problem on several computers, and implementing other possibilities of the software package. The exercises given below are based on the following example problem. Example. Multicriteria optimization of design variables of a vibratory system. Consider the two-mass dynamical system shown in Figure 12.1. The system consists of two bodies with masses М1 and М2. Mass М1 is attached to a fixed base by a spring with stiffness coefficient К1. A spring-and-dashpot element with stiffness coefficient К2 and damping coefficient С is located between masses М1 and М2. The harmonic force P cos (t ) acts upon mass М1. The amplitude and frequency of the exciting force are identified as Р = 2000 (N) and = 30 (s-1). Figure 12.1 The motion of this system is governed by the equations М1 X 1 + С ( X 1 X 2 )+ К1 X 1 + К2 ( X 1 X 2 ) = P cos (t ) (1) М2 X 2 + C ( X 2 X 1 ) + К2 ( X 2 X 1 ) = 0 We treat the parameters К1, К2, М1, М2, and C as the design variables to be determined; i.e., 1 = К1, 2 = К2, 3 = М1, 4 = М2, 5 = С. The design variable constraints are prescribed as the parallelepiped П defined by the inequalities – 81 – 1.1106 1 2.0 106 (N/m); 4.0104 2 5.0104 (N/m); 950 3 1050 (kg); (2) 30 4 70 (kg); 80 5 120 (Ns/m). There are three functional constraints (on the total mass and on the partial frequencies): f1 ( ) 3 4 1100.0 (kg); 33.0 f 2 ( ) p1 27.0 f 3 ( ) p 2 1 1 3 42.0s ; 2 (3) 1 4 32.0s . The upper limits imposed on the functions f 2 and f 3 are not rigid and can be changed within some range. For this reason, the functional relations f 2 and f 3 are interpreted as pseudo-criteria 1 and 2 . The system is to be optimized with respect to the following four performance criteria: Ф3 = Х1 (mm) – vibration amplitude of the first mass; Ф4 = М1 + М2 (kg) – metal consumption of the system; Ф5 = Х1 /Х1st and Ф6 = /р1 – dimensionless dynamical characteristics of the system, where Х1st is the static displacement of mass М1 under the action of the force Р. Thus, we have three rigid lower functional constraints and the vector of criteria (1 , 2 , 3 , 4 , 5 , 6 ) , on the basis of which test tables will be constructed below. Various modifications of the example problem outlined above will be given below as the OSCILLATOR and OSCILLATOR 1 problems. It is reasonable to divide all the exercises into two groups corresponding to two stages in the solution of the optimization problem. The first stage involves the construction and analysis of test tables. This is the basic stage. The second stage involves the construction of histograms and graphs and is aimed at helping the designer improve the solutions determined during the first stage by means of correcting the original statement of the problem. The exercises presented below are virtually independent of one another. They have the character of a tutorial and are aimed at preparing the reader to solve real optimization problems in engineering. – 82 – 12.1. Exercise A. Construction of a full test table (TEST TABLE I). Dialogues with the computer. Truncated test table. Table of criteria failures Load the OSCILLATOR problem. Enter the main menu item CHECK OF PRIMARY CONSTRAINTS. The CHECK OF PRIMARY CONSTRAINTS window will appear. Indicate the number of tests, for example, 128, in the right-hand edit field. Press the START button. Then enter the main menu item TEST TABLES. In the embedded menu, select the item TEST TABLE I. A window with the test table will appear. In the top left-hand corner, information appears indicating that after 128 tests (N=128), 99 solutions entered the table (N1=99). The remaining 29 solutions failed to satisfy the functional constraints. Since the cursor stands on the last places in the test table, all solutions are feasible; i.e., ND=99. Consider the process of determining the criteria constraints. Let us work with the criterion 1 . The first four rows of this table correspond to criterion 1, the number of feasible solutions (ND), min 1 , and maх 1 after N=128, respectively (see Figure 12.2). For ND=99, we have min 1 = 33.233 (corresponds to vector 64) and max 1 = 45.6091 (corresponds to vector 63). Since the criterion 1 is to be minimized, all vectors in the table 1 are arranged in increasing order (deterioration) of this criterion. The best design is 64; the worst one is 63. After analyzing table 1 , we impose the criterion constraint, for example, = Ф1(30) = 39.072. This constraint corresponds to ND=46; i.e., 46 designs have ** 1 satisfied the constraint 1** (see Figure 12.2). Use the button or the keyboard to proceed to the second table, 2. We perform investigations similar to those carried out for 1 and determine *2* = Ф2(114) = 32.975. We set the cursor on solution number 114. Then ND=28 appears at the top of the table 2, indicating that 28 solutions simultaneously satisfy the criteria constraints 1** and *2* (see Figure 12.2). In a similar way, we determine *3* = Ф3(98) = 5.024 ( 1** , *2* , and *3* are simultaneously satisfied by 20 solutions), *4* =Ф4(104) = 1080.468 ( 1** , *2* , *3* , and *4* are simultaneously satisfied by 17 solutions; see Figure 12.2), *5* = Ф5(113) = 2.10478 ( 1** , *2* , *3* , *4* , and *5* are simultaneously satisfied by 12 solutions), and *6* = Ф6(124) = 0.8176. Thus, after the first dialogue with the computer, we have determined the criteria constraints 1** 1 (30) 39.072 ; *4* 4 (104) 1080.468; *2* 2 (114) 32.975 ; *5* 5 (113) 2.1048; 3 (98) 5.024 ; ** 3 6 (124) 0.8176. ** 6 (4) – 83 – Figure 12.2 Then press the ND button or the ENTER key. In the top left-hand corner, ND=4 will be indicated, implying that four solutions have satisfied all criteria constraints. Press the RESULT button. The FEASIBLE SOLUTIONS window will appear with the results of the investigations; the feasible solutions (86, 38, 26, and 2) and Pareto optimal solutions (86, 38, and 26) are indicated (see Figure 12.3). To analyze the results obtained above, enter the main menu and select the item TABLES and then select the items TABLE OF DESIGNS and TABLE OF CRITERIA in the embedded menu. In the TABLE OF CRITERIA window, select FEASIBLE SET or PARETO OPTIMAL SET in the drop-down list. The numbers of solutions 2, 26, 38, and 86 will appear in the table of feasible solutions with the corresponding values of the performance criteria (see Figure 12.4). The Pareto optimal solutions are shown in Figure 12.5. Suppose, for example, that preference is given to solution 38. In the TABLE OF DESIGNS table, the values of the feasible and Pareto optimal design variable vectors are presented. The minimum and maximum values, min j and max j , are indicated for each design variable. By comparing the original boundaries of the ranges of the design variables with the maximum and minimum values attained by these variables, one can assess the “effectiveness” of the functional and criteria constraints. This information is important for possible correction of the parameters of the original parallelepiped. – 84 – Figure 12.3 Figure 12.4 – 85 – Figure 12.5 Dialogues with the computer. During the investigations, it is possible to conduct dialogues with the computer and to revise criteria constraints in order to find better solutions. Previously, the criteria constraints of (4) were imposed. Now we choose to revise them. To make this, we enter the main menu and select the item TEST TABLE I. The FULL ORDERED TEST TABLE window will appear. As a result of the second dialogue with the computer, we determine the new criteria constraints 1** 1 (78) 38.57 ; *4* 4 (94) 1085.78; *2* 2 (60) 33.833; *5* 5 (56) 1.90537; (5) 3 (124) 6.9794; 6 (28) 0.8213. ** 3 ** 6 These constraints define five feasible solutions: 38, 26, 2, 108, and 82. Solutions 26, 38, and 108 are Pareto optimal (see Figure 12.6). We now have to compare these results with the previous ones and analyze them. As a result, we give preference to solution 108. Suppose that we choose to continue testing with the new constraints. There may be various reasons for this. For example, it may happen that 128 tests took little time and we wish to improve the results obtained previously. To make this, we press the CONTINUE TESTING button. We construct the test table for N=256 and press the RESULT button. The number of feasible solutions increases to nine. Compared with the case of 128 tests, solutions 186, 150, 242, and 226 have been added. The Pareto optimal set now contains three solutions: 108, 186, and 242. One should analyze these results to make further decisions. Remark. A comment concerning the choice of the number of tests is appropriate here. Since we have aimed at acquainting the reader with the basic facilities of the MOVI 1.0 software rather than with a thorough analysis of the problem, we choose to confine ourselves to the number of tests ranging from 128 to 512. It takes less than one minute to conduct these tests. – 86 – Figure 12.6 Proceeding from the full table to the truncated table. The convenience of operating with truncated tables has been discussed previously (see Section 11.3.1). To construct the truncated table, press the TRUNCATED TABLE button in the FULL ORDERED TEST TABLE window. The CONSTRUCTION OF TRUNCATED TABLE window will appear. Press the YES button. The TRUNCATED TABLE N1 window will appear, with nine solutions in it (see Figure 12.7). These nine feasible solutions entered the truncated table from the full table. Only solutions satisfying all criteria constraints enter the truncated table. Suppose we choose to continue testing in the truncated table from test 257 to test 512. In the TRUNCATED TABLE N1 window (9 VECTORS ENTERED), press the CONTINUE TESTING button. The TRUNCATED TEST TABLE N1 window (19 VECTORS ENTERED) will appear informing us that ND=19. Four of the feasible solutions (108, 186, 242, and 342) are Pareto optimal (see Figure 12.8). After analyzing these solutions, one should decide either to accept the results obtained or to continue the computations. In the latter case, the criteria constraints can be revised again. – 87 – Figure 12.7 Figure 12.8 – 88 – Consider two examples to illustrate the revision of criteria constraints in the truncated tables. 12.1.1. Example 1. Suppose that we wish to sharpen criteria constraints 1** , *2* , *3* , and *5* compared with the constraints of (5), leaving constraints *4* and *6* unchanged. In this table, we set the cursor on the corresponding values of criteria constraints 1** , *2* , *3* and *5* that we wish to revise: 1** 1 (242) 37.9187; *2* 2 (26) 28.9635; *3* 3 (466) 2.6895 ; *5* 5 (410) 1.8297. (6) In the columns corresponding to 4 and 6 , the cursor must stand on the bottom row. Press the CALCULATION OF ND button. We obtain four feasible solutions, 314, 326, 26, and 2, all of them Pareto optimal. Press the TRUNCATED TABLE button. The CONSTRUCTION OF TRUNCATED TABLE window will appear with new values of 1** , *2* , *3* , and *5* . At the same time, it is necessary to take into account the values of *4* 4 (94) 1085.78 and *6* 6 (28) 0.8213 . To do so, we click on the values *4* and *6* and select the item LOWER VALUE in the menu that appears (see Figure 12.9). Then we press the YES button and construct the truncated table, which contains the four solutions indicated above. The TRUNCATED TABLE N2 (4 VECTORS ENTERED) window will appear (see Figure 12.10). Figure 12.9 – 89 – Figure 12.10 12.1.2. Example 2. Extension of the truncated table Suppose that 128 tests have been conducted in the parallelepiped Π (N=128), the full test table has been constructed, and the criteria constraints have been determined as follows: 1** 1 (24) 33.83807; *4* 4 (3) 1065; *2* 2 (8) 34.08467; *5* 5 (8) 14.101; 3 (8) 24.39053; 6 (8) 0.8905. ** 3 (7) ** 6 The feasible set contains only one solution: number 8. We construct the truncated test table and then press the CONTINUE TESTING button. In the button CHECK OF PRIMARY CONSTRAINTS button, we mark the tests from number 129 to number 256. The number of feasible solutions does not increase. Now extend this table. To extend the table, we leave the values of constraints 1** , *3* , and *5* unchanged (coinciding with those of (7)) and increase the other constraints, i.e., *2* , *4* , and *6* , to obtain 1** 1 (24) 33.83807; *4* 1096.4063; *2* 40.1701; *5* 5 (8) 14.101; *3* 3 (8) 24.39053 ; (8) *6* 0.902713. Press the EXTEND button. The EXTENSION OF TRUNCATED TABLE window will appear. Increase the values *2* , *4* , and *6* in accordance with (8); see Figure 12.11. Press the ACCEPT CONSTRAINTS button. Six feasible solutions, 64, 128, 48, 8, 16, and 24, will appear (see Figure 12.12). Solutions 16, 24, 48, and 128 are Pareto optimal. – 90 – Figure 12.11 Figure 12.12 Note that we could also obtain these six solutions in another way. Particularly, after conducting 256 tests in the truncated table, we press the RETURN button to obtain the full test table. Then it is necessary to set the cursor in accordance with the constraints of (8), where ** ** ** 2 2 (127) 40.1701; 4 4 (76) 1096.4063; 6 6 (64) 0.902713 , and obtain the six desired solutions. We can now try to extend the truncated table by changing constraints , in the table of criteria failures. Enter the item TABLES from the main menu and then the item TABLE OF CRITERIA FAILURES from the embedded menu. Select *2* in the drop-down list. A message will appear, informing us that there is only one solution, 176, in the table of criteria failures with respect to *2* . Press the ** 2 ** 4 – 91 – CHANGE button (see Figure 12.13). The ACCEPT NEW CONSTRAINT? window will appear. Press the OK button. The message 1 VECTOR ENTERED THE TEST TABLE will appear. This is vector number 176. If necessary, we can now proceed to constraint *4* . Press the CHANGE button. Due to the increase in *4* , solution number 208 also appears in the truncated test table. 12.2. Exercise В. Truncated test table. Table of functional failures. TEST TABLE II 12.2.1. Table of functional failures In order for a solution to enter the test table, this solution must satisfy all functional constraints. However, it may happen that because of the imposition of erroneous functional constraints, the test table turns out to be empty or contains too few solutions. In this case, enter TABLE OF FUNCTIONAL FAILURES and analyze the results. It is important to understand how various functional constraints work and find out whether it is possible to relax some of them. If corrections are made to functional constraints, information will appear about the solutions that satisfied the modified (relaxed) functional constraints and entered the test table. Suppose that in the OSCILLATOR problem we have imposed the rigid functional constraints f1 1100, f 2 33, f 3 40 . The constraints on the design variables are presented at the beginning of this Section. We indicate the number of tests, 128, in the CHECK OF PRIMARY CONSTRAINTS window. After 128 tests have been conducted, a message appears, informing us that that only one solution entered the test table. Hence, the other 127 candidate solutions failed to satisfy the functional constraints. We analyze the test table consisting of only one solution (number 127). Since the number of solutions that entered the test table is unreasonably small, we choose to analyze the work of the functional constraints. To make this, we select the item TABLES in the main menu and call the item TABLE OF FUNCTIONAL FAILURES in the embedded menu. The program informs us that 5 solutions failed to satisfy the first functional constraints, 1 solution failed to satisfy the second functional constraint, and 121 solutions failed to satisfy the third functional constraint (see Figure 12.14). Analysis of the values of the third functional relation, i.e., those of f3, allows us to relax the corresponding functional constraint by replacing f3 40 with f3 27. To make this change, we point to the number 27 in the CONSTRAINT edit field in the TABLE OF FUNCTIONAL FAILURES window and press the CHANGE button. Then the message “98 VECTORS ENTERED THE TEST TABLE” will appear. Press the OK button. Information will appear showing that 5, 1, and 23 solutions failed to satisfy the first, second, and third functional constraints, respectively (see Figure 12.15). After this, we analyze the new test table and construct the feasible and Pareto optimal sets. Finally, we agree to the constraint f3 27. After 128 tests, 29 vectors appeared in the table of functional failures. Five vectors (53, 31, 46, 4, and 32) failed to satisfy the first functional constraint, 1 vector (number 80) did not meet the second functional constraint, and 23 vectors did not satisfy the third functional constraint. Analysis of the functional relation f1 shows the following results: f1 (53) 1116.53; f1 (31) 1108.125; f1 (46) 1103.4375; f1 (4) 1102.5 ; f1 (32) 1102.1875 . – 92 – Figure 12.13 Figure 12.14 Figure 12.15 Some of the design variable vectors that failed to satisfy the functional constraint f1 1100 violate this constraint only “a little bit” (see Figure 12.16). For this reason, we choose to increase the constraint on f1 from 1100 to 1104. Of the five vectors that failed to satisfy the previous constraint, three vectors (4, 32, and 46) now meet the new constraint. To fix the new constraint, we write the number 1104 in the CONSTRAINT edit field and press the CHANGE button. The message “0 VECTORS ENTERED THE TEST TABLE” will appear. Hence, these three vectors failed to satisfy subsequent functional constraints. Press the OK button. A message will appear indicating that vectors 31 and 53, for which f1 1104 , remain in the table of functional failures for f1. – 93 – Figure 12.16 We now proceed to an analysis of the functional constraints for f2. Two vectors, 32 and 80, violate this constraint. (Vector 32 was in the table of functional failures for f1 until we relaxed the constraint on this relation.) We have f2(80) = 32.9907 and f2(32) = 32.646. The initial constraint was imposed on the function f2 as f 2 33 . After analyzing the table of functional failures for f2, we choose to relax the functional constraint on this function by a very small amount by changing this constraint to f 2 32.99 . The message “1 VECTOR ENTERED THE TABLE” will appear. This is vector 80. Note that after relaxing the functional constraint on f1 to f1 1104, vector 32 did not satisfy the constraint on f2, and vectors 4 and 64 failed to meet the third functional constraint. 12.2.2. TEST TABLE II Let the parallelepiped П be specified. The functional constraints and the performance criteria are presented at the beginning of this Section. As before, consider the OSCILLATOR problem. The number of tests conducted is N=512. 1. Determination of 1** . Enter the item TEST TABLES from the main menu and then the item TEST TABLE II from the embedded menu. The TEST TABLE: FAST ALGORITHM window will appear on the screen (see Figure 12.17). In the top left-hand corner, information showing that the total number of tests conducted is N= 512 and that the number of solutions that satisfied the functional constraints is N1= 395 is presented. These are the solutions for which the criterion Ф 1, was calculated ~ (see Figure 12.17). Set the cursor on **1 1 (446) 39.92 ; i.e., all solutions ~ satisfying the inequality 1 **1 are unfeasible. Press the button (DELETE BELOW) to delete everything that lies below the cursor. In the column Ф 1, the message ND=215 will appear indicating that 180 vectors (395 – 215 = 180) ~ satisfying the inequality 1 **1 have been deleted. Define 1** 1 (154) 36.97 . In the column Ф1, the message ND=118 will appear showing the number of solutions that satisfied the first criterion constraint 1** . Then proceed to the calculation of Ф2. – 94 – Figure 12.17 ~ 2. Determination of *2* . Define *2* 2 (116) 35.88 . Press the button. After this, 98 vectors remain in the table. Define 2 (8) 34.08 . Criteria ** 2 constraints 1** and ** 2 are met by 86 vectors (see Figure 12.18). ~ 3. Determination of ** Define **3 3 (204) 9.1715 . After this, 66 3 . vectors remain in the table. Define *3* 3 (24) 6.68 . Sixty vectors satisfy criteria ** constraints 1** , ** 2 , and 3 (see Figure 12.19). ~ ** 4. Determination of ** 4 . We do not specify the value of 4 . We set ** *4* 4 (412) 1072.38 . In this case, 41 vectors satisfy constraints 1** , ** 2 , 3 , and ** 4 (see Figure 12.19). ~ ** 5. Determination of ** 5 . We set 5 5 (412) 1.88 . After this, 19 solutions remain in the table. Define *5* 5 (132) 1.7515 . In this case, 14 solutions satisfy ** ** ** criteria constraints 1** , ** 2 , 3 , 4 , and 5 (see Figure 12.19). ~ 6. Determination of *6* . We do not specify the value of **6 . Set *6* 6 (34) 0.8281 (see Figure 12.19). Five solutions satisfy all criteria constraints. Four of these solutions are Pareto optimal (see Figure 12.20). When the RESULT button is pressed, the numbers of these solutions are displayed. – 95 – Figure 12.18 Figure 12.19 – 96 – Figure 12.20 In the course of further analysis, by analogy with TEST TABLE I, one can construct truncated tables, perform the operations described above with the tables of functional and criteria failures, and construct histograms and graphs. 12.3. Exercise С. Analysis of tables of criteria and design variables. Histograms. Graphs of criteria versus design variables Analysis of tables, histograms, and graphs is very important for the choice of the final solution. We will illustrate some basic points of this analysis below. Let 256 tests have been performed in the parallelepiped Π (OSCILLATOR problem). Suppose that we have constructed the full test table and defined the criteria constraints 1** 1 (130) 37.281; *4* 4 (237) 1089.6; *2* 2 (52) 31.8784 ; *5* 5 (135) 2.2711; 3 (97) 4.2193; ** 3 6 (16) 0.88899. ** 6 (9) – 97 – Press the CALCULATION OF ND button. The message ND=19 will appear. Press the RESULT button. The FEASIBLE SOLUTIONS window will open, in which the numbers of 19 solutions are shown. Seven of these solutions are Pareto optimal. Next, turn to the item TABLES in the main menu and then to the items TABLE OF DESIGNS and TABLE OF CRITERIA of the embedded menu. 12.3.1. Analysis of the table of criteria Prior to the analysis, enter the item TABLES from the main menu and then the item TABLE OF CRITERIA from the embedded menu. In the drop-down list, indicate the feasible or Pareto optimal solutions. The minimum and maximum values for each criterion are indicated at the beginning of the table. For example, from the table of Pareto optimal solutions, it follows that the minimum of the mass (criterion 4 ) is equal to 1010.54 and the maximum is equal to 1072.03. The minimum corresponds to design variable vector 216 and the maximum to vector 82 (see Figure 12.21). Analysis of these tables allows one to select the most suitable solution. For example, we can choose vector 216, which provides the minimum for the criterion 4 . 12.3.2. Analysis of the table of design variables. Enter the item TABLES from the main menu and then the item TABLE OF DESIGNS from the embedded menu. The DESIGN VARIABLE VALUES window will appear. In the drop-down list in this window, indicate the feasible or Pareto optimal solutions (see Figure 12.22). Information about the minimum and maximum feasible values of the design variable j is given at the beginning of the table. For example, from the table of feasible solutions, it follows that min1=1.1316106 (corresponds to vector 144) and max1=1.37106 (corresponds to vector 178). Hence, 1 ranges in the interval [1.1316106, 1.37106]. Figure 12.21 – 98 – 12.3.3. Histograms Enter the item HISTOGRAMS AND GRAPHS from the main menu. Then enter the item HISTOGRAMS from the embedded menu. The HISTOGRAMS: FEASIBLE SET window will appear. Indicate the design variable К1 in the drop-down list. One can see that all 19 feasible solutions lie near the left end of the initial interval [1.1106, 2106]; see Figure 12.23. The panel at the bottom of the window shows the feasible and Pareto optimal solutions that enter each of the ten intervals. For example, the first interval [1.1106, 1.19106] contains four solutions, specifically, feasible vectors 240, 144, 104 and Pareto optimal vector 200 (Р). To visualize the Pareto optimal solutions, check the appropriate check box. We have mentioned that since all solutions feasible with respect to the first design variable lie near the left end of the interval [ 1* ; 1**] , it makes sense to continue investigating the problem, if possible, with a new value of the quantity 1* satisfying the inequality 1* <1.1106. Let us agree to 1* = 0.85106. For 1** , we adopt (with some margin) 1** =1.5106. Thus we have constructed the new interval [0.85106, 1.5106] for further investigation. The other histograms can be investigated in a similar manner. Figure 12.22 – 99 – Figure 12.23 After the design variable constraints are changed, a new problem arises. We will refer to this problem as OSCILLATOR I. When solving this problem, it is necessary to keep the functional and criteria constraints (9) unchanged. One should perform new tests, construct the test table, and determine new feasible and Pareto optimal sets. After that, one can combine the previous feasible set (constructed for the OSCILLATOR problem) with the new feasible set (for the OSCILLATOR I problem), identify Pareto optimal solutions in the combined feasible set, and analyze these solutions (see below). 12.3.4. CRITERION VERSUS DESIGN VARIABLE I Graphs Analysis of these graphs allows one to correct the domain boundary of the design variables and to improve the solution obtained previously. Earlier, we gave preference to vector 216. Let us try to find a better solution. To make this, select the item HISTOGRAMS AND GRAPHS in the main menu. After that, enter the embedded menu item GRAPHS and then the embedded menu item CRITERION VERSUS DESIGN VARIABLE I. The GRAPH OF CRITERION VERSUS DESIGN VARIABLE I window will appear. Analysis of vector 216. We will analyze the influence of each component of this vector (with the other components being fixed) on all criteria. In the GRAPH OF CRITERION VERSUS DESIGN VARIABLE I window, in the TESTS FROM … TO… , edit fields we indicate the numbers of the tests, for example, from 1 to 32. In the drop-down lists, we indicate, for example, the design variable 1= К1 and the criterion 3 . Enter the number 216 in the FIXED VECTOR field. Press the DRAW button. The graph 3 (К1) will appear (see Figure 12.24). After that, in the top lefthand corner, the messages N=32, ND=9, and NP=1 will appear. (We recall that the – 100 – Pareto optimal solutions are constructed only for criteria, i.e., for Ф3, Ф4, Ф5, and Ф6; pseudo-criteria 1 and 2 are not taken into account.) Select the menu item VIEW and then the item TABLE OF VALUES in the embedded menu. A window will appear in which the values are presented for all vectors of criteria corresponding to N=32 (see Figure 12.25). The VECTOR column on the left presents the feasible solutions, (D)i; Pareto optimal vectors, (P)i; the vectors that failed to satisfy the criteria constraints, (C)i; and the vectors that failed to satisfy the functional constraints, (F)i. Here i is the number of the corresponding vector. Figure 12.24 Figure 12.25 – 101 – The top panel presents information about the criteria constraints and the values of the criteria for the design to be improved (the prototype). In the case in question, vector 216 plays the role of the prototype. As one can see from the table, minФ3 = 1.4618 corresponds to vector (С)31, and maxФ3 = 3.8528 to vector (D)32. For the Pareto optimal vector, we have Ф3((Р)2) = 2.7549, whereas for the prototype (vector 216), we have Ф3 = 3.3441. The graphs showing the criteria versus the design variables represent the dependence of each criterion on each design variable j. On these graphs, the value of the criterion for the prototype, , is marked with a triangle ▲ (see Figure 12.24); Pareto optimal and feasible vectors are represented by points of different colors. The analysis of the table combined with the analysis of the graphs allows one to assess the possibilities for improving the values of the criteria compared with those of the prototype. It is apparent from the graphs and tables related to the dependence of the criteria Ф 3, Ф5, and Ф6 on the design variable К1 that all these criteria have been improved compared with the values corresponding to vector 216. (Note that Ф1 and Ф2 are pseudo-criteria and Ф4 does not depend on К1). 216 Along with the analysis of histograms, the analysis of these relations for 1 = К1 implies that all feasible solutions lie in the interval [1.1106,1.325106]. Based on reasoning similar to that presented above, we form a new range for the design variable К1, i.e., the interval [0.85106; 1.5106]. Upon further analysis, it is advisable to investigate the influence of the remaining design variables on all performance criteria. Thus we obtain the following intervals: [850;1050] for m1, [40; 60] for m2, and [70; 120] for C. The interval for К2, [4 10 4 ;5 10 4 ] , was kept unchanged. To facilitate the comparison of several graphs on the same screen, the MOVI 1.0 software package allows one to display the graphs in a separate window. To make this, select the GRAPH menu in the top left-hand corner of the GRAPH OF CRITERION VERSUS DESIGN VARIABLE I window and then select the item OUTPUT IN NEW WINDOW in the embedded menu. Then construct the graphs, for example, 3 m1 , 5 k 2 , 5 m2 ; see Figure 12.26. Figure 12.26 – 102 – Analysis of the results. We have described some stages of the analysis of the graphs above. Part of the results obtained from the analysis are gathered together in Table 12.1 Table 12.1 Vectors (Р)2 (Р)19 (Р)21 (Р)24 (Р)14 (Р)26 216 Ф3 2.75 2.08 3.32 2.88 2.54 3.31 3.34 Ф4 1010 1010 1007 1003 1004 1010 1010 Ф5 1.825 1.247 1.987 1.726 1.520 1.978 1.997 Ф6 0.806 0.848 0.847 0.848 0.848 0.848 0.848 Design variable 1=К1 2=К2 3= m1 4=m2 4=m2 5=С - Conclusions 1. Vector (Р)21 surpasses the prototype (vector 216) in all criteria. 2. Vectors (Р)2, (Р)24, and (Р)14 surpass vector 216 in three criteria; the values of the fourth criterion for these vectors coincide with those of the prototype. 3. Vectors (Р)19 and (Р)26 should also be preferred to the original vector 216. Sensitivity analysis of the performance criteria with respect to the design variables shows that The influence of К1 on the criteria Ф3, Ф5, and Ф6 is strong. The influence of m1 on the criteria Ф3, Ф4, Ф5, and Ф6 is strong. As m1 decreases, the values of all these criteria are improved. The influence of С on the criteria Ф3 and Ф5 is strong. As С decreases, the values of these criteria are improved. - The influence of К2 on the criteria Ф3 and Ф5 has a complex nature. - The influence of m2 on the criteria Ф3 and Ф5 is relatively weak. Thus, first, we described the process for improving the prototype without changing the constraints. Second, we showed that to perform a further analysis, it is advisable to correct the design variable constraints and construct a new parallelepiped. When imposing new constraints on the design variables, we took into account a number of factors, including the character of the distribution of the feasible and Pareto optimal solutions on the interval [ *j ; *j* ] and the tendency in the change of the functions depending on the change of the design variables. - 12.3.5. CRITERION VERSUS DESIGN VARIABLE II Graphs These graphs are formed by the projections of the points ( i , 1, 2 , , , r ), 1, k , i 1, N1 onto the plane j , 1, k , j 1, r . At the beginning of the section “Exercise C”, we described an experiment for constructing the feasible and Pareto optimal sets under the criteria constraints of (9). From the graphs 4 ( 3 ) and 6 (1 ) , one can observe that the value of 4 tends improve as 3 decreases and the value of 6 tends to improve as 1 increases (see Figures 12.27 and 12.28). Analysis of these graphs can be helpful when correcting the initial constraints on the design variables in order to search for the optimal solutions. – 103 – Figure 12.27 Figure 12.28 12.4. Exercise D. Construction of the combined feasible and Pareto optimal sets. The menu item COMBINE SOLUTIONS 12.4.1. Case А In many cases, analysis of the test tables leads us to conclude that correction of the boundaries of the initial parallelepiped and construction of a new parallelepiped are advisable. Suppose that the appropriate investigations have been performed in the updated parallelepiped and that the corresponding feasible set has been constructed. It is necessary to combine the feasible sets constructed in both – 104 – these parallelepipeds and indicate the Pareto optimal solutions in the combined feasible set. The problems considered below have been solved with the use of TEST TABLE I. OSCILLATOR Problem. At the beginning of this Section, we defined the parallelepiped (2), the vector of criteria, the functional relations, and the constraints imposed on these relations (3). Let us perform 512 tests (N=512) and determine the criteria constraints 1** 1 (130) 37.281; *4* 4 (237) 1089.61; *2* 2 (52) 31.8785 ; *5* 5 (135) 2.2712; 3 (97) 4.2194 ; 6 (16) 0.88899. ** 3 (10) ** 6 As a result, we obtain ND=40 and NP=13. OSCILLATOR 1 Problem. After analyzing the test table, histograms, and graphs for the OSCILLATOR problem, we define the new parallelepiped 1 as 1.1 10 6 k1 1.5 10 6 ; 42 m2 70 ; 3.5 10 4 k 2 5.5 10 4 ; 75 C 125 ; 900 m1 1100 . (11) In the OSCILLATOR 1 problem, we introduce the criteria constraints of (10) as the primary ones. We perform 512 tests (N=512). As a result, we obtain the feasible set, which contains by 81 vectors (ND=81), and the Pareto optimal set, which contains 17 vectors (NP=17). We can now combine the feasible solutions found for the OSCILLATOR and OSCILLATOR 1 problems and determine Pareto optimal solutions in the combined feasible set. To make this, select the item COMBINE SOLITIONS in the main menu. The COMBINATION OF SOLUTIONS window will appear, in which the feasible solutions for the OSCILLATOR 1 problem are presented. Then press the ADD button. The SELECTION OF PROBLEM window will appear. In the case in question, select the OSCILLATOR problem in this window and press the OK button. After that, the feasible solutions of the OSCILLATOR problem will be added to the feasible solutions of the OSCILLATOR 1 problem in the COMBINATION OF SOLUTIONS window. Press the button. In the bottom portion of the window, the list PARETO OPTIMAL SOLUTIONS will appear indicating which of the problems, OSCILLATOR or OSCILLATOR 1, each vector occurring in this list belongs to (see Figure 12.29). In our case, we have 18 Pareto optimal solutions in the combined set. Only one vector, 280(1), belongs to the OSCILLATOR problem. The other 17 vectors — 25(0), 36(0), 117(0), 130(0), 166(0), 168(0), 238(0), 242(0), 260(0), 280(0), 336(0), 369(0), 397(0), 419(0), 446(0), 490(0), and 502(0) — belong to the OSCILLATOR 1 problem. The label (0) indicates the OSCILLATOR 1 problem, and (1) corresponds to the OSCILLATOR problem. Conclusion. Owing to the correction of the constraints on the design variables in the OSCILLATOR 1 problem, we obtained many solutions that were substantially better than the optimal solution for the OSCILLATOR problem. In the combined set of Pareto optimal solutions, 17 of the 18 solutions belong to the OSCILLATOR 1 problem. – 105 – Figure 12.29 12.4.2. Case В It may happen that calculation of the vector of criteria for one test requires a great deal of computer time and it is necessary to perform many tests. This is the case, for example, for problems of design variable optimization in finite-element models. A large number of tests may also be needed to solve other sorts of problems in which the vector of the design variables has a considerable dimension. The MOVI 1.0 software package allows one to solve such problems on several computers simultaneously. For example, we can perform tests 1 to N on the first computer, tests N+1 to 2N on the second computer, tests 2N+1 to 3N on the third computer, and so on. After that, it is necessary to combine the feasible solutions obtained on different computers and construct the combined Pareto optimal set. Suppose, for example, that we have to perform 1024 tests and have decided to use two computers in order to reduce the computation time by a factor of two. Proceeding in this way, we will perform 512 tests on each of the computers and then combine the results of the computations. On the first computer, we will solve the OSCILLATOR problem by performing tests 1–512. (The solution of this problem has been described above.) On the second computer, we will solve the OSCILLATOR 1 problem by performing tests 513–1024. OSCILLATOR Problem. After performing 512 tests, we obtain ND=40 and NP=13. OSCILLATOR 1 Problem. We perform tests 513–1024 in the parallelepiped (2). In the EDIT TASK window, we enter the criteria constraints of (10) as primary constraints. The functional constraints coincide with those of the OSCILLATOR problem. We obtain ND=36 and NP=9. We construct the combined feasible set for the OSCILLATOR and OSCILLATOR 1 problems. This combined set contains 16 Pareto optimal solutions (see Figure 12.30). Eight of the Pareto optimal solutions belong to the OSCILLATOR problem and eight to the OSCILLATOR 1 problem. The Pareto optimal vectors have the following numbers: 2(1), 108(1), 280(1), 288(1), 290(1), 388(1), 404(1), 476(1), – 106 – 562(0), 642(0), 644(0), 714(0), 716(0), 732(0), 756(0), and 780(0). The labels (0) or (1) following the numbers of the vectors indicate that the corresponding vector belongs to the OSCILLATOR 1 or OSCILLATOR problems, respectively. Using the facilities of the MOVI 1.0 software package, we can construct the tables of design variables and criteria for these Pareto optimal solutions (see Figures. 12.31 and 12.32). Conclusion. The possibility of solving one problem simultaneously on several computers provided by the MOVI 1.0 package is very important in many cases that the designer may face in practice. Some of them have been considered above. In these cases, using only one computer may turn out to be inefficient or even unacceptable if solving the problem requires a great deal of computer time. The MOVI 1.0 software package allows one to solve such problems. Figure 12.30 Figure 12.31 – 107 – Figure 12.32 – 108 – APPENDIX A. EXAMPLES OF POINTS OF THE LP SEQUENCE Vector #5 6.250000E-001 6.250000E-001 1.250000E-001 8.750000E-001 1.250000E-001 1.250000E-001 1.250000E-001 3.750000E-001 3.750000E-001 6.250000E-001 Vector #82 2.890625E-001 7.265625E-001 3.515625E-001 3.203125E-001 3.906250E-002 1.328125E-001 3.984375E-001 1.015625E-001 9.140625E-001 7.265625E-001 Vector #347 8.535156E-001 5.410156E-001 2.929688E-002 8.964844E-001 3.496094E-001 7.128906E-001 5.175781E-001 3.691406E-001 8.183594E-001 1.269531E-001 Vector #754 3.095703E-001 8.740234E-001 2.587891E-001 5.595703E-001 5.302734E-001 2.822266E-001 9.404297E-001 2.832031E-002 3.134766E-001 9.462891E-001 Vector #998 4.052734E-001 9.082031E-002 3.427734E-001 3.154297E-001 6.728516E-001 4.560547E-001 7.900391E-001 2.958984E-001 7.646484E-001 8.779297E-001 1.250000E-001 8.750000E-001 3.750000E-001 3.750000E-001 8.750000E-001 6.250000E-001 6.250000E-001 1.250000E-001 1.250000E-001 8.750000E-001 3.750000E-001 8.750000E-001 3.750000E-001 1.250000E-001 8.750000E-001 8.750000E-001 6.250000E-001 6.250000E-001 1.250000E-001 8.750000E-001 3.750000E-001 3.750000E-001 6.250000E-001 6.250000E-001 6.250000E-001 8.750000E-001 1.250000E-001 8.750000E-001 3.750000E-001 3.750000E-001 1.250000E-001 1.250000E-001 8.750000E-001 6.250000E-001 3.750000E-001 3.750000E-001 3.750000E-001 8.750000E-001 3.750000E-001 1.250000E-001 8.828125E-001 3.828125E-001 9.609375E-001 1.796875E-001 9.296875E-001 2.343750E-002 1.171875E-001 2.578125E-001 5.703125E-001 8.671875E-001 6.796875E-001 8.671875E-001 2.343750E-002 2.109375E-001 9.765625E-001 4.296875E-001 7.890625E-001 2.265625E-001 8.515625E-001 8.203125E-001 6.015625E-001 4.140625E-001 2.265625E-001 1.171875E-001 2.734375E-001 5.390625E-001 3.828125E-001 8.828125E-001 4.609375E-001 6.796875E-001 7.578125E-001 7.031250E-002 3.671875E-001 3.203125E-001 1.015625E-001 3.906250E-002 1.796875E-001 3.671875E-001 5.234375E-001 7.109375E-001 7.226563E-002 7.832031E-001 1.972656E-001 7.441406E-001 3.417969E-001 2.714844E-001 3.925781E-001 2.324219E-001 4.003906E-001 4.277344E-001 4.628906E-001 7.441406E-001 9.199219E-001 1.933594E-001 9.628906E-001 3.457031E-001 7.324219E-001 3.222656E-001 4.550781E-001 8.007813E-002 5.683594E-001 3.105469E-001 6.035156E-001 2.636719E-001 2.480469E-001 3.378906E-001 3.769531E-001 4.882813E-002 2.832031E-001 9.667969E-001 1.660156E-001 6.835938E-002 1.660156E-001 7.636719E-001 6.972656E-001 6.445313E-002 3.964844E-001 9.785156E-001 5.488281E-001 6.855469E-001 6.933594E-002 6.181641E-001 3.232422E-001 3.935547E-001 2.490234E-001 7.822266E-001 5.634766E-001 3.310547E-001 6.376953E-001 6.689453E-001 6.298828E-001 5.175781E-002 3.720703E-001 5.869141E-001 6.162109E-001 5.732422E-001 5.068359E-001 6.474609E-001 7.998047E-001 6.416016E-001 3.447266E-001 2.832031E-002 8.955078E-001 2.158203E-001 1.220703E-001 6.337891E-001 8.544922E-001 9.697266E-001 6.337891E-001 8.232422E-001 2.451172E-001 2.763672E-001 9.169922E-001 2.470703E-001 8.300781E-002 6.083984E-001 8.486328E-001 1.396484E-001 6.748047E-001 1.650391E-001 7.236328E-001 3.623047E-001 1.806641E-001 5.478516E-001 6.181641E-001 5.771484E-001 5.732422E-001 2.705078E-001 1.240234E-001 1.904297E-001 7.568359E-001 3.349609E-001 4.199219E-002 2.255859E-001 4.111328E-001 9.228516E-001 2.822266E-001 2.080078E-001 1.650391E-001 4.199219E-002 3.583984E-001 5.419922E-001 8.037109E-001 5.732422E-001 6.826172E-001 9.638672E-001 5.009766E-001 4.951172E-001 1.435547E-001 9.501953E-001 7.431641E-001 5.175781E-002 7.119141E-001 4.638672E-001 7.099609E-001 3.613281E-002 1.669922E-001 7.470703E-001 1.181641E-001 6.083984E-001 – 109 – APPENDIX B. PROBLEM FILES When MOVI 1.0 is running, it generates files in the problem folder; these files are then used to store calculated data and data entered by the user. When a problem is set up, the following two files are always present in the problem folder: 1. Interface Library (.dll file), which is copied to the problem folder automatically if it was located in another place (see Section 9, “Interface Library Development Manual”); 2. The problem database (file base.gdb), which contains all data calculated during optimization and temporary data, as well as the description of the design variables, functional constraints, and criteria defined during the problem setup. B.1. Structure of the Problem’s Database To store problem data, MOVI 1.0 uses databases built upon the InterBase server. All databases use the same structure (Figure B.1). The database file name is base.gdb; the file is located in the directory “<MOVI 1.0 Installation Directory>\BASE”. Figure B.1 Structure of the problem’s database – 110 – When a new problem is being set up, the structure (empty database file) is copied to the problem folder and filled up with data. MOVI 1.0 then uses this database only while working on this problem. The database tables are described in Table B.1. Table B.1 Description of the Problem’s Database Tables Table Data Data Type Problem status variables (number of tests CFG temporary data performed, truncation number, etc.) Description of the problem's design variables input data (name, variation range, type (discrete or continuous)) PRM FUNCS FR CRITS CR FIRSTCRBOUN D CRITTAB CUTTED TMPTAB FPRM PAR DISKR PVALUES Description of functional constraints (name, function identifier, constraint) Table of functional failures Description of criteria (name, function identifier, constraint, type) Table of criteria failures Initial values for criteria constraints input data Test table Calculated criteria values not included in the test table Table of temporary criteria constraints Table of the numbers of design variable vectors included in the feasible set Table of the numbers of design variable vectors included in the Pareto optimal set Table of discrete values of design variables Table of design variable values results results temporary data input data temporary data input data temporary data results results input data unused We chose to give information about the tables and fields of the database. This information will be of interest for users who want to utilize software other than MOVI 1.0 to process the calculated data. B.2. CFG Table The CFG table stores problem status variables. It contains only one record. This table is declared as follows: CREATE TABLE CFG ( NUM INTEGER NOT NULL, NPRMS INTEGER, NPRMSDISKR INTEGER, NFUNCS INTEGER, NCRITBOUNDS INTEGER, NCRITS INTEGER, NTESTED INTEGER, NSOLVED INTEGER, NFEASIBLE INTEGER, – 111 – NCUT INTEGER, PSTATE INTEGER, NSOLVEDBEFORCUT INTEGER, NPAR INTEGER, NDOP INTEGER, ALGTYPE INTEGER, CURALG INTEGER, SETKA4 INTEGER ) The following table gives the meaning of each field: Field Name Meaning NUM Always equal to 1 NPRMS Number of design variables NFUNCS Number of functional relations NCRITS Number of criteria NTESTED Number of tests performed NSOLVED Number of tests performed NFEASIBLE Number of vectors in the Test Table NCUT Equal to the truncation number if greater than 1; otherwise, indicates the utilization of the test table NPAR Number of vectors in the Pareto optimal set NDOP Number of vectors in the feasible set ALGTYPE Type of algorithm used to calculate the full ordered test table: 1 – Test Table I 2 – Test Table II CURALG Indicates the type of table used last time. Takes the same values as ALGTYPE SETKA4 Not used B.3. PRM Table The PRM Table stores initial data on the problem's design variables. The number of records is equal to the number of design variables. This table is declared as follows: CREATE TABLE PRM ( PRNUM INTEGER NOT NULL, PRTOP DOUBLE PRECISION, PRBOT DOUBLE PRECISION, PRDISCR INTEGER, PRNAME VARCHAR(100), NDISKR INTEGER) The following table gives the meaning of each field: Field Name Meaning PRNUM Number of the design variable PRTOP Upper bound of the design variable range PRBOT Lower bound of the design variable range PRDISCR Type of design variable: 0 – continuous 1 – discrete PRNAME Design variable name NDISKR Number of discrete values – 112 – B.4. FUNCS Table The FUNCS Table stores initial data for functional constraints. The number of records is equal to the number of functional constraints. This table is declared as follows: CREATE TABLE FUNCS ( FNUM INTEGER NOT NULL, FFUNCNAME VARCHAR(100), FCMODE VARCHAR(100), FBOUND DOUBLE PRECISION, FNAME VARCHAR(100) ) The following table gives the meaning of each field: Field Name Meaning FNUM Number of the functional constraint FFUNCNAME Identifier of the function used to calculate the functional relation in the Interface Library FCMODE Comparison operation FBOUND Constraint value FNAME Constraint name B.5. CRITS Table The CRITS Table stores initial data for criteria. The number of records is equal to the number of criteria. This table is declared as follows: CREATE TABLE CRITS ( CNUM INTEGER NOT NULL, CFUNCNAME VARCHAR(100), CMODE VARCHAR(100), CPSEVDO INTEGER, CNAME VARCHAR(100), CHARD INTEGER, CHARDV DOUBLE PRECISION ) The following table gives the meaning of each field: Field Name Meaning CNUM Number of the criterion CFUNCNAME Identifier of the function used to calculate the criterion in the Interface Library CMODE Extremalization type CPSEVDO Type of criterion (0 – criterion, 1 – pseudo-criterion) CNAME Criterion name CHARDV Criterion constraint B.6. FR Table The FR table stores information about functional failures. It includes vectors that failed to satisfy the functional constraints (the CHECK OF PRIMARY CONSTRAINTS item from the main menu and the CONTINUE TESTING button in – 113 – the window for processing test tables). The number of records depends on the number of such vectors. This table is declared as follows: CREATE TABLE FR ( NF INTEGER, FCONT DOUBLE PRECISION, PRM INTEGER NOT NULL ) The following table gives the meaning of each field: Field Name NF FCONT PRM Meaning Number of the functional constraint from Table FUNCS violated by vector RPM Value of the function NF for vector PRM Number of the test (number of the design variable vector) B.7. СR Table The CR table stores information about criteria failures. It includes vectors that failed to satisfy criteria constraints during the check of the primary constraints (CHECK OF PRIMARY CONSTRAINTS item from the main menu and the CONTINUE TESTING button in the PROCESSING TEST TABLES window). The number of records depends on the number of such vectors. This table is declared as follows: CREATE TABLE CR ( NC INTEGER, CCONT DOUBLE PRECISION, PRM INTEGER NOT NULL ) The following table gives the meaning of each field: Field Name Meaning NС Number of the criterion from the CRITS table, the constraint on which was violated by the vector RPM СCONT Value of the function NC for the vector PRM PRM Number of the test (number of the design variable vector) B.8. FIRSTCRBOUND Table The FIRSTCRBOUND table stores initial values of criteria constraints. The fields are filled when the corresponding values are entered in the new problem setup windows or modified when an existing problem is edited. The number of records is equal to the number of criteria. This table is declared as follows: CREATE TABLE FIRSTCRBOUND ( NC INTEGER NOT NULL, CVALUE DOUBLE PRECISION ) The following table gives the meaning of each field: Field Name Meaning NC The number of the criterion from the CRITS table CVALUE Value of the constraint – 114 – B.9. CRITTAB Table The CRITTAB Table stores calculated criteria values from the Test Table. The number of records in this table is equal to the product of the number of criteria (NCRITS from the CFG table) and the number of design variable vectors included in the Test Table (NFEASIBLЕ from the CFG table). This table is declared as follows: CREATE TABLE CRITTAB ( NP INTEGER NOT NULL, NC INTEGER NOT NULL, CVALUE DOUBLE PRECISION ) The following table gives the meaning of each field: Field Name NP NC CVALUE Meaning Number of the test (number of the design variable vector) Number of the criterion Value of criterion NC, calculated for design variable vector NP B.10. CUTTED Table The CUTTED Table stores calculated criteria values not included in the Test Table. This table is declared as follows: CREATE TABLE CUTTED ( NP INTEGER NOT NULL, NC INTEGER NOT NULL, CVALUE DOUBLE PRECISION ) The meanings of the fields are similar to those of the CRITTAB table. B.11. TMPTAB Table The TMPTAB table stores temporary criteria constraints. The number of records depends on the number of truncations. The table stores the values of criteria constraints that are set in the Test Table when proceeding to truncated tables or closing the Test Table window. This table is declared as follows: CREATE TABLE TMPTAB ( NCUT INTEGER NOT NULL, NC INTEGER NOT NULL, NP INTEGER NOT NULL, ND INTEGER NOT NULL, CVALUE DOUBLE PRECISION ) – 115 – The following table gives the meaning of each field: Field Name Meaning Truncation number. NCUT=1 corresponds to the positions of the cursor in the full test table when proceeding to the truncated test table, NCUT=2 corresponds to the positions of the cursor in the first truncated table when proceeding to the next table, and so forth. The last value of NCUT corresponds to the positions of the cursor in the table the user last dealt with. The values are assigned to the variable NCUT before closing the Test Table window. Number of the criterion Number of the design variable vector on which the cursor was positioned for criterion NC Number of vectors satisfying the constraint imposed on criterion NC Value of criterion NC calculated for design variable vector NP NCUT NC NP ND CVALUE B.12. FPRM and PAR Tables The FPRM and PAR tables store the results of the construction of the feasible and Pareto optimal sets. Both tables contain only one field, NP, of type INTEGER, which stores the number of the vector from the CRTITTAB table that was included in the feasible (for the FPRM table) or Pareto optimal (for the PAR table) set. B.13. DISKR Table The DISKR table stores the values of discrete design variables entered during the problem setup. This table is declared as follows: CREATE TABLE DISKR ( NP INTEGER NOT NULL, DVALUE DOUBLE PRECISION NOT NULL ) The following table gives the meaning of each field: Field Name Meaning NP Number of the design variable from the PRM table DVALUE Discrete value of design variable NP B.14. Other Types of Files That Can Be Generated - - - MOVI 1.0 can also generate the following files: *.ch1 – files generated when saving CRITERION VERSUS DESIGN VARIABLE I graphs. These files can be opened by using the appropriate menu item (see Section11). *.ch2 – files generated when saving CRITERION VERSUS DESIGN VARIABLE I graphs. These files can be opened by using the appropriate menu item (see Section 11). *.bmp – files generated when saving histograms (bar graphs) and charts using the SAVE AS BITMAP menu item. – 116 – REFERENCES 1. Statnikov R.B. Multicriteria Design. Optimization and Identification. Dordrecht/Boston/London: Kluwer Academic Publishers, 1999. 203 p. 2. Statnikov R.B., Matusov J.B. Multicriteria Optimization and Engineering. N.Y.: Chapman and Hall, 1995. 236 p. 3. Statnikov R.B., Matusov J.B. Use of P-nets for the approximation of the Edgeworth–Pareto set in multicriteria optimization // Journal of Optimization Theory and Application. 1996. Vol. 91. # 3, pp. 543-560. 4. Sobol', I.M., and R.B. Statnikov. 1981. The Choice of Optimal Parameters in Multicriteria Problems. Moscow: Nauka (in Russian). 5. Sobol', I.M., and R.B. Statnikov. 1982. The Best Solutions: Where They May Be Found. Moscow: Znanie (in Russian). 6. Sobol', I.M., and R.B. Statnikov. 1977. Statement of Some Problems of Computer Aided Optimal Design. Moscow: Keldysh Institute of Applied Mathematics (in Russian). 7. Statnikov, R.B. and J.B. Matusov. 1989. Multicriteria Machine Design. Moscow: Znanie (in Russian). 8. Dyer P.C., Fishburn P.C., Steuer R.E., Wallenius J., Zionts S. Multiple criteria decision making. Multiattribute utility theory: the next ten years //Management Science. 1992. Vol. 38. #5, pp. 645-654. 9. Stadler W., Dauer J.P. Multicriteria optimization in engineering: a tutorial and survey //Structural Optimization: Status and Promise. Edited by M.P. Kamat, Progress in Aeronautics and Astronautics, AIAA, Washington, DC. 1992. Vol. 150, pp. 543-566. 10. Steuer R.E., Sun M. The parameter space investigation method of multiple objective nonlinear programming: a computational investigation //Operations Research. 1995. Vol. 43. #4, pp. 641-648. 11. Statnikov R.B., Matusov I.B., and Statnikov A.R. Some major optimization problems of mechanical engineering. Formulation and solution // Journal of Machinery Manufacture and reliability. 2000. #2, pp.1-7.