Abstract
We present pyMDO, an object-oriented framework that facilitates the usage and development of algorithms for multidisciplinary optimization (MDO). The resulting implementation of the MDO methods is efficient and portable. The main advantage of the proposed framework is that it is flexible, with a strong emphasis on object-oriented classes and operator overloading, and it is therefore useful for the rapid development and evaluation of new MDO methods. The top layer interface is programmed in Python and it allows for the layers below the interface to be programmed in C, C++, Fortran, and other languages. We describe an implementation of pyMDO and demonstrate that we can take advantage of object-oriented programming to obtain intuitive, easy-to-read, and easy-to-develop codes that are at the same time efficient. This allows developers to focus on the new algorithms they are developing and testing, rather than on implementation details. Examples demonstrate the user interface and the corresponding results show that the various MDO methods yield the correct solutions.
- Alexandrov, N. M. and Kodiyalam, S. 1998. Initial results of an MDO evaluation survey. AIAA Paper, AIAA, Reston, VA, 98--4884.Google Scholar
- Alexandrov, N. M. and Lewis, R. M. 2002. Analytical and computational aspects of collaborative optimization for multidisciplinary design. AIAA J. 40, 2, 301--309.Google ScholarCross Ref
- Alexandrov, N. M. and Lewis, R. M. 2004a. Reconfigurability in MDO problem synthesis, part 1. In Proceedings of the 10th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference. AIAA, Reston, VA, 2004--4307.Google Scholar
- Alexandrov, N. M. and Lewis, R. M. 2004b. Reconfigurability in MDO problem synthesis, part 2. In Proceedings of the 10th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference. (Albany, NY). AIAA, Reston, VA, 2004--4308.Google Scholar
- Alonso, J. J., LeGresley, P., van der Weide, E., Martins, J. R. R. A., and Reuther, J. J. 2004. pyMDO: A framework for high-fidelity multi-disciplinary optimization. In Proceedings of the 10th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference. AIAA, Reston, VA, 2004--4480.Google Scholar
- Beazley, D. M. 2006. Python Essential Reference, 3rd ed. Sams, Indianapolis, IN. Google ScholarDigital Library
- Blezek, D. 1998. Rapid prototyping with SWIG. C/C++ Users J. 16, 11, 61--66. Google ScholarDigital Library
- Braun, R. D. and Kroo, I. M. 1997. Development and application of the collaborative optimization architecture in a multidisciplinary design environment. In Multidisciplinary Design Optimization: State of the Art, N. Alexandrov and M. Y. Hussaini, Eds. SIAM, Philadelphia, PA. 98--116.Google Scholar
- Brown, N. F. and Olds, J. R. 2006. Evaluation of multidisciplinary optimization techniques applied to a reusable launch vehicle. J. Space. Rock. 43, 6, 1289--1300.Google ScholarCross Ref
- Cramer, E. J., Dennis, J. E., Frank, P. D., Lewis, R. M., and Shubin, G. R. 1994. Problem formulation for multidisciplinary optimization. SIAM J. Opt. 4, 4, 754--776.Google ScholarCross Ref
- DeMiguel, V. and Murray, W. 2006. A local convergence analysis of bilevel decomposition algorithms. Opt. Eng. 7, 2, 99--133.Google ScholarCross Ref
- Eldred, M. S., Brown, S. L., Adams, B. M., Dunlavy, D. M., Gay, D. M., Swiler, L. P., Giunta, A. A., Hart, W. E., Watson, J.-P., Eddy, J. P., Griffin, J. D., Hough, P. D., Kolda, T. G., Martinez-Canales, M. L., and Williams, P. J. 2006. DAKOTA: A Multilevel Parallel Object-Oriented Framework for Design Optimization, Parameter Estimation, Uncertainty Quantification, and Sensitivity Analysis, Version 4.0 User’s Manual. Sandia National Laboratories, Albuquerque, NM.Google Scholar
- Eldred, M. S., Outka, D. E., Bohnhoff, W. J., Witkowski, W. R., Romero, V. J., Ponslet, E. R., and Chen, K. S. 1996. Optimization of complex mechanics simulations with object-oriented software design. Comput. Model. Sim. Eng. 1, 3, 323--352.Google Scholar
- Gansner, E. R. and North, S. C. 2000. An open graph visualization system and its applications to software engineering. Softw.---Pract. Exper. 30, 11, 1203--1233. Google ScholarDigital Library
- Gill, P. E., Murray, W., and Saunders, M. A. 2002. SNOPT: An SQP algorithm for large-scale constrained optimization. SIAM J. Opt. 12, 4, 979--1006. Google ScholarDigital Library
- Haftka, R. T. and Gürdal, Z. 1993. Elements of Structural Optimization, 3rd ed. Kluwer, Dordrecht, The Netherlands, Chapter 10.Google Scholar
- Kodiyalam, S. 1998. Evaluation of methods for multidisciplinary design optimization (MDO), part 1. NASA Report CR-2000-210313. NASA, Washington, DC.Google Scholar
- Kodiyalam, S. and Yuan, C. 2000. Evaluation of methods for multidisciplinary design optimization (MDO), part 2. NASA Report CR-2000-210313. Nov. Washington, DC. Google ScholarDigital Library
- Kroo, I. M. 1997. MDO for large-scale design. In Multidisciplinary Design Optimization: State-of-the-Art, N. Alexandrov and M. Y. Hussaini, Eds. SIAM, Philadelphia, PA. 22--44.Google Scholar
- Langtangen, H. P. 2004. Python Scripting for Computational Science. Springer, Berlin, Germany. Google ScholarDigital Library
- Martins, J. R. R. A., Sturdza, P., and Alonso, J. J. 2003. The complex-step derivative approximation. ACM Trans. Math. Softw. 29, 3, 245--262. Google ScholarDigital Library
- Meza, J. C., Oliva, R. A., Hough, P. D., and Williams, P. J. 2007. OPT++: An object-oriented toolkit for nonlinear optimization. ACM Trans. Math. Softw. 33, 2, 12. Google ScholarDigital Library
- O’Docherty, M. 2005. Object-Oriented Analysis and Design. John Wiley and Sons, New York, NY.Google Scholar
- Padula, S. L., Alexandrov, N., and Green, L. L. 1996. MDO test suite at NASA Langley Research Center. In Proceedings of the 6th AIAA/NASA/ISSMO Symposium on Multidisciplinary Analysis and Optimization. AIAA, Reston, VA, 1996-4028.Google Scholar
- Perez, R. E., Liu, H. H. T., and Behdinan, K. 2004. Evaluation of multidisciplinary optimization approaches for aircraft conceptual design. In Proceedings of the 10th AIAA/ISSMO Muldisiciplinary Analysis and Optimization Conference (Albany, NY). AIAA, Reston, VA, 2004-4537.Google Scholar
- Peterson, P., Martins, J. R. R. A., and Alonso, J. J. 2001. Fortran to Python interface generator with an application to aerospace engineering. In Proceedings of the 9th International Python Conference (Long Beach, CA).Google Scholar
- Schmit, Jr., L. A. and Ramanathan, R. K. 1978. Multilevel approach to minimum weight design including buckling constraints. AIAA J. 16, 2, 97--104.Google ScholarCross Ref
- Sellar, R. S., Batill, S. M., and Renaud, J. E. 1996. Response surface based, concurrent subspace optimization for multidisciplinary system design. In Proceedings of the 34th AIAA Aerospace Sciences Meeting and Exhibit (Reno, NV). AIAA, Reston, VA, 1996-0714.Google Scholar
- Sobieski, I. P. and Kroo, I. M. 2000. Collaborative optimization using response surface estimation. AIAA J. 38, 10, 1931--1938.Google ScholarCross Ref
- Sobieszczanski-Sobieski, J. 1988. Optimization by decomposition: A step from hierarchic to non-hierarchic systems. NASA tech. rep. CP-3031. NASA, Washington, DC.Google Scholar
- Sobieszczanski-Sobieski, J. and Haftka, R. T. 1997. Multidisciplinary aerospace design optimization: Survey of recent developments. Struct. Opt. 14, 1, 1--23.Google ScholarCross Ref
- Squire, W. and Trapp, G. 1998. Using complex variables to estimate derivatives of real functions. SIAM Rev. 40, 1, 110--112. Google ScholarDigital Library
- Tedford, N. P. and Martins, J. R. R. A. 2006a. Comparison of MDO architectures within a universal framework. In Proceedings of the 2nd AIAA Multidisciplinary Design Optimization Specialist Conference (Newport, RI). AIAA, Reston, VA, 2006--1617.Google Scholar
- Tedford, N. P. and Martins, J. R. R. A. 2006b. On the common structure of MDO problems: A comparison of architectures. In Proceedings of the 11th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference (Portsmouth, VA). AIAA, Reston, VA, 2006--7080.Google ScholarCross Ref
- Thareja, R. and Haftka, R. T. 1986. Numerical difficulties associated with using equality constraints toachieve multi-level decomposition in structural optimization. In Proceedings of the 27th Structures, Structural Dynamics and Materials Conference (San Antonio, TX). AIAA, Reston, VA. 21--28.Google Scholar
- Wujek, B., Renaud, J., and Batill, S. 1997. A concurrent engineering approach for multidisciplinary design in a distributed computing environment. In Multidisciplinary Design Optimization: State of the Art, N. Alexandrov and M. Y. Hussaini, Eds. SIAM, Philadelphia, PA. 189--208.Google Scholar
Index Terms
- pyMDO: An Object-Oriented Framework for Multidisciplinary Design Optimization
Recommendations
What Is Object-Oriented Programming?
The meaning of the term 'object oriented' is examined in the context of the general-purpose programming language C++. This choice is made partly to introduce C++ and partly because C++ is one of the few languages that supports data abstraction, object-...
Methodology first and language second: a way to teach object-oriented programming
OOPSLA '03: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsC++ is a very successful object-oriented language. It is a required language for more and more students. It takes great effort and practice for these students to learn how to program in C++ and how to make object-oriented programs. One potential failure ...
A Domain-Theoretic Model Of Nominally-Typed Object-Oriented Programming
The majority of contemporary mainstream object-oriented (OO) software is written using nominally-typed OO programming languages. Extant domain-theoretic models of OOP developed to analyze OO type systems miss crucial features of these mainstream OO ...
Comments