skip to main content
research-article

pyMDO: An Object-Oriented Framework for Multidisciplinary Design Optimization

Published:01 August 2009Publication History
Skip Abstract Section

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.

References

  1. Alexandrov, N. M. and Kodiyalam, S. 1998. Initial results of an MDO evaluation survey. AIAA Paper, AIAA, Reston, VA, 98--4884.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarCross RefCross Ref
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. Beazley, D. M. 2006. Python Essential Reference, 3rd ed. Sams, Indianapolis, IN. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Blezek, D. 1998. Rapid prototyping with SWIG. C/C++ Users J. 16, 11, 61--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. DeMiguel, V. and Murray, W. 2006. A local convergence analysis of bilevel decomposition algorithms. Opt. Eng. 7, 2, 99--133.Google ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. Haftka, R. T. and Gürdal, Z. 1993. Elements of Structural Optimization, 3rd ed. Kluwer, Dordrecht, The Netherlands, Chapter 10.Google ScholarGoogle Scholar
  17. Kodiyalam, S. 1998. Evaluation of methods for multidisciplinary design optimization (MDO), part 1. NASA Report CR-2000-210313. NASA, Washington, DC.Google ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. Langtangen, H. P. 2004. Python Scripting for Computational Science. Springer, Berlin, Germany. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. O’Docherty, M. 2005. Object-Oriented Analysis and Design. John Wiley and Sons, New York, NY.Google ScholarGoogle Scholar
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle Scholar
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarCross RefCross Ref
  28. 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 ScholarGoogle Scholar
  29. Sobieski, I. P. and Kroo, I. M. 2000. Collaborative optimization using response surface estimation. AIAA J. 38, 10, 1931--1938.Google ScholarGoogle ScholarCross RefCross Ref
  30. Sobieszczanski-Sobieski, J. 1988. Optimization by decomposition: A step from hierarchic to non-hierarchic systems. NASA tech. rep. CP-3031. NASA, Washington, DC.Google ScholarGoogle Scholar
  31. Sobieszczanski-Sobieski, J. and Haftka, R. T. 1997. Multidisciplinary aerospace design optimization: Survey of recent developments. Struct. Opt. 14, 1, 1--23.Google ScholarGoogle ScholarCross RefCross Ref
  32. Squire, W. and Trapp, G. 1998. Using complex variables to estimate derivatives of real functions. SIAM Rev. 40, 1, 110--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarCross RefCross Ref
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle Scholar

Index Terms

  1. pyMDO: An Object-Oriented Framework for Multidisciplinary Design Optimization

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                • Published in

                  cover image ACM Transactions on Mathematical Software
                  ACM Transactions on Mathematical Software  Volume 36, Issue 4
                  August 2009
                  140 pages
                  ISSN:0098-3500
                  EISSN:1557-7295
                  DOI:10.1145/1555386
                  Issue’s Table of Contents

                  Copyright © 2009 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 1 August 2009
                  • Accepted: 1 February 2009
                  • Revised: 1 December 2008
                  • Received: 1 September 2007
                  Published in toms Volume 36, Issue 4

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • research-article
                  • Research
                  • Refereed

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader