B.5 Table B.1 Scaling of Design Variables and Constraints Summary of Some Structural Optimization Packages Software system (program) Source (developer) Capabilities and characteristics ASTROS (Automated STRuctural Optimization System) Air Force Wright Laboratories FIBRA Wright-Patterson Air Force Base, OH 45433-6553 ANSYS Swanson Analysis Systems, Inc. P.O. Box 65 Johnson Road Structural optimization with static, eigenvalue, modal analysis, and flutter constraints; approximation concepts; compatibility with NASTRAN; sensitivity analysis Optimum design based on curve-fitting technique to approximate the response using several trial design vectors Houston, PA 15342-0065 B.5 787 MSC/NASTRAN MacNeal Schwendler Corporation/NAsa STRuctural ANalysis) MacNeal-Schwendler Corporation 15 Colorado Boulevard Los Angeles, CA 90041 NISAOPT Engineering Mechanics Research Corporation P.O. Box 696 Troy, MI 48099 GENESIS VMA Exngineering Inc. Manderin Avenue, Suite F Goleta, CA 93117 Structural optimization capability based on static, natural frequency, and buckling analysis; approximation concepts and sensitivity analysis Minimum-weight design subject to displacement, stress, natural frequency and buckling constraints; shape optimization Structural optimization; approximation concepts used to tightly couple the analysis and redesign tasks SCALING OF DESIGN VARIABLES AND CONSTRAINTS In some problems there may be an enormous difference in scale between variables due to difference in dimensions. For example, if the speed of the engine (n) and the cylinder wall thickness (t) are taken as design variables in the design of an IC engine, n will be of the order of 103 (revolutions per minute) and t will be of the order of 1 (cm). These differences in scale of the variables may cause some difficulties while selecting increments for step lengths or calculating numerical derivatives. Sometimes the objective function contours will be distorted due to these scale disparities. Hence it is a good practice to scale the variables so that all the variables will be dimensionless and vary between 0 and 1 approximately. For scaling the variables, it is necessary to establish an approximate range for each variable. For this we can take some estimates (based on judgment and experience) for the lower and upper limits on x i(ximin and 788 Some Computational Aspects of Optimization ximax ) , i = 1, 2, . . . , n. The values of these bounds are not critical and there will not be any harm even if they span partially the infeasible domain. Another aspect of scaling is encountered with constraint functions. This becomes necessary whenever the values of the constraint functions differ by large magnitudes. This aspect of scaling (normalization) of constraints was discussed in Section 7.13. B.6 COMPUTER PROGRAMS FOR MODERN METHODS OF OPTIMIZATION Fuzzy Logic Toolbox. Matlab has a fuzzy logic toolbox for designing systems based on fuggy logic. Graphical user interfaces (GUI) are available to guide the user through the steps of fuzzy interface system design. The toolbox can be used to model complex system behaviors using simple logic rules and then implement the rules in a fuzzy interface system. Fuzzy optimization can be implemented using fuzzy logic toolbox in conjunction with an optimization program such as fmincon. Genetic Algorithm and Direct Search Toolbox. The genetic algorithm and direct search toolbox, which can be used to solve problems that are difficult to solve with traditional optimization techniques, is available with Matlab. The genetic algorithm of the toolbox can be used when the function, such as the objective or constraint function, is discontinuous, highly nonlinear, stochastic, or has unreliable or undefined derivatives. In this toolbox also, graphical user interfaces (GUI) are available for quick setting up of problems, selecting algorithmic options, and monitoring progress. Naturally, the options of creating initial population, fitness scaling, parent selection, crossover and mutation are available in the toolbox. The Matlab optimization programs (using direct search methods) can be integrated with the genetic algorithm. Neural Network Toolbox. The neural network toolbox is available with Matlab for designing, implementing, visualizing and simulating neural networks. The GUI available with the toolbox helps in creating, training and simulating neural networks. It permits modular network representation to have any number of input-setting layers and network interconnection and a graphical view of the network architecture. Optimization programs can be used in conjunction with the functions of the neural network toolbox to accomplish neural network-based optimization. The neural network toolbox can also be used to apply neural networks for the identification and control of nonlinear systems. Simulated Annealing Algorithm. An m-file to implement the simulated annealing algorithm to solve function minimization problems in the Matlab environment was created by Joachim Vandekerckhove. The link is given below: http://www.mathworks.com/matlabcentral/fileexchange/10548 Particle Swarm Optimization. An m-file to implement the particle swarm optimization method in the Matlab environment was created by Wael Korani. The link is given below: http://www.mathworks.com/matlabcentral/fileexchange/20205 References and Bibliography 789 An m-file to implement the ant colony optimization Ant Colony Optimization. method in the Matlab environment for the solution of symmetrical and unsymmetrical traveling salesman problem was created by H. Wang. The link is given below: http://www.mathworks.com/matlabcentral/fileexchange/14543 Multiobjective Optimization. An m-file to implement multiobjective optimization using evolutionary algorithms (based on nondominated sorting genetic algorithm, abbreviated NSGA) in the Matlab environment was created by Arvind Seshadri. The link is given below: http://www.mathworks.com/matlabcentral/fileexchange/10429 REFERENCES AND BIBLIOGRAPHY B.1 J. J. Mor´e, B. S. Garbow, and K. E. Hillstrom, Testing unconstrained optimization software, ACM Transactions on Mathematical Software, Vol. 7, No. 1, pp. 17-41, 1981. B.2 M. J. Box, A comparison of several current optimization methods, and the use of transformations in constrained problems, Computer Journal, Vol. 9, No. 1, pp. 67-77, 1966. B.3 T. A. Straeter and J. E. Hogge, A comparison of gradient dependent techniques for B.4 the minimization of an unconstrained function of several variables, AIAA Journal, Vol. 8, No. 12, pp. 2226-2229, 1970. B.5 D. F. Shanno and K. H. Phua, Numerical comparison of several variable-metric algorithms, Journal of Optimization Theory and Applications, Vol. 25, No. 4, pp. 507-518, 1978. B.6 R.W.H. Sargent and D. J. Sebastian, Numerical exprience with algorithms for unconstrained minimization, pp. 45-113 in Numerical Methods for Nonlinear Optimization, F. A. Lootsma, Ed., Academic Press, London, 1972. B.7 A. R. Colville, A Comparative Study of Nonlinear Programming Codes, Technical Report 320-2949, IBM New York Scientific Center, June 1968. B.8 E. D. Eason and R. G. Fenton, A comparison of numerical optimization methods for engineering design, ASME Journal of Engineering for Industry, Vol. 96, No. 1, pp. 196-200, 1974. B.9 E. Sandgren and K. M. Ragsdell, The utility of nonlinear programming algorithms: A comparative study, Parts I and II, ASME Journal of Mechanical Design, Vol. 102, No. 3, pp. 540-551, 1980. B.10 K. Schittkowski, Nonlinear Programming Codes: Information, Tests, Performance, Lecture Notes in Economics and Mathematical Systems, Vol. 183, Springer-Verlag, New York, 1980. B.11 P.V.L.N. Sarma, X. M. Martens, G. V. Reklaitis, and M. J. Rijckaert, A comparison of computational strategies for geometric programs, Journal of Optimization Theory and Applications, Vol. 26, No. 2, pp. 185-203, 1978. J. E. Fattler, Y. T. Sin, R. R. Root, K. M. Ragsdell, and G. V. Reklaitis, On the B.12 computational utility of posynomial geometric programming solution methods, Mathematical Programming , Vol. 22, pp. 163-201, 1982. R. S. Dembo, The current state-of-the-art of algorithms and computer software for geometric programming, Journal of Optimization Theory and Applications, Vol. 26, p. 149, 1978. 790 Some Computational Aspects of Optimization B.13 J. L. Kuester and J. H. Mize, Optimization Techniques with Fortran, McGraw-Hill, New York, 1973. B.14 E. H. Johnson, Tools for structural optimization, Chapter 29, pp. 851-863, in Structural Optimization: Status and Promise, M. P. Kamat, Ed., AIAA, Washington, DC, 1993. B.15 H.R.E.M. H¨ornlein and K. Schittkowski, Software Systems for Structural Optimization, Birkhauser, Basel, 1993. B.16 J. J. More´ and S. J. Wright, Optimization Software Guide, Society of Industrial and Applied Mathematics, Philadelphia, PA, 1993.