{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T11:03:18Z","timestamp":1760266998100,"version":"3.41.0"},"reference-count":35,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2009,8,1]],"date-time":"2009-08-01T00:00:00Z","timestamp":1249084800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2009,8]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/1555386.1555389","type":"journal-article","created":{"date-parts":[[2009,9,1]],"date-time":"2009-09-01T17:52:59Z","timestamp":1251827579000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":22,"title":["pyMDO"],"prefix":"10.1145","volume":"36","author":[{"given":"Joaquim R. R. A.","family":"Martins","sequence":"first","affiliation":[{"name":"University of Toronto Institute for Aerospace Studies"}]},{"given":"Christopher","family":"Marriage","sequence":"additional","affiliation":[{"name":"University of Toronto Institute for Aerospace Studies"}]},{"given":"Nathan","family":"Tedford","sequence":"additional","affiliation":[{"name":"University of Toronto Institute for Aerospace Studies"}]}],"member":"320","published-online":{"date-parts":[[2009,8]]},"reference":[{"doi-asserted-by":"crossref","unstructured":"Alexandrov N. M. and Kodiyalam S. 1998. Initial results of an MDO evaluation survey. AIAA Paper AIAA Reston VA 98--4884.  Alexandrov N. M. and Kodiyalam S. 1998. Initial results of an MDO evaluation survey. AIAA Paper AIAA Reston VA 98--4884.","key":"e_1_2_1_1_1","DOI":"10.2514\/6.1998-4884"},{"doi-asserted-by":"publisher","key":"e_1_2_1_2_1","DOI":"10.2514\/2.1646"},{"volume-title":"Proceedings of the 10th AIAA\/ISSMO Multidisciplinary Analysis and Optimization Conference. AIAA","year":"2004","author":"Alexandrov N. M.","key":"e_1_2_1_3_1"},{"volume-title":"Proceedings of the 10th AIAA\/ISSMO Multidisciplinary Analysis and Optimization Conference.","year":"2004","author":"Alexandrov N. M.","key":"e_1_2_1_4_1"},{"volume-title":"Proceedings of the 10th AIAA\/ISSMO Multidisciplinary Analysis and Optimization Conference. AIAA","year":"2004","author":"Alonso J. J.","key":"e_1_2_1_5_1"},{"unstructured":"Beazley D. M. 2006. Python Essential Reference 3rd ed. Sams Indianapolis IN.   Beazley D. M. 2006. Python Essential Reference 3rd ed. Sams Indianapolis IN.","key":"e_1_2_1_6_1"},{"unstructured":"Blezek D. 1998. Rapid prototyping with SWIG. C\/C++ Users J. 16 11 61--66.   Blezek D. 1998. Rapid prototyping with SWIG. C\/C++ Users J. 16 11 61--66.","key":"e_1_2_1_7_1"},{"unstructured":"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.  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.","key":"e_1_2_1_8_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.2514\/1.16577"},{"doi-asserted-by":"publisher","key":"e_1_2_1_10_1","DOI":"10.1137\/0804044"},{"doi-asserted-by":"publisher","key":"e_1_2_1_11_1","DOI":"10.1007\/s11081-006-6835-3"},{"unstructured":"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\u2019s Manual. Sandia National Laboratories Albuquerque NM.  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\u2019s Manual . Sandia National Laboratories Albuquerque NM.","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","first-page":"323","article-title":"Optimization of complex mechanics simulations with object-oriented software design","volume":"1","author":"Eldred M. S.","year":"1996","journal-title":"Comput. Model. Sim. Eng."},{"doi-asserted-by":"publisher","key":"e_1_2_1_14_1","DOI":"10.1002\/1097-024X(200009)30:11%3C1203::AID-SPE338%3E3.3.CO;2-E"},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1137\/S1052623499350013"},{"unstructured":"Haftka R. T. and G\u00fcrdal Z. 1993. Elements of Structural Optimization 3rd ed. Kluwer Dordrecht The Netherlands Chapter 10.  Haftka R. T. and G\u00fcrdal Z. 1993. Elements of Structural Optimization 3rd ed. Kluwer Dordrecht The Netherlands Chapter 10.","key":"e_1_2_1_16_1"},{"volume-title":"NASA Report CR-2000-210313. Nov.","year":"2000","author":"Kodiyalam S.","key":"e_1_2_1_18_1"},{"volume-title":"Multidisciplinary Design Optimization: State-of-the-Art","author":"Kroo I. M.","key":"e_1_2_1_19_1"},{"doi-asserted-by":"crossref","unstructured":"Langtangen H. P. 2004. Python Scripting for Computational Science. Springer Berlin Germany.   Langtangen H. P. 2004. Python Scripting for Computational Science . Springer Berlin Germany.","key":"e_1_2_1_20_1","DOI":"10.1007\/978-3-662-05450-5"},{"doi-asserted-by":"publisher","key":"e_1_2_1_21_1","DOI":"10.1145\/838250.838251"},{"doi-asserted-by":"publisher","key":"e_1_2_1_22_1","DOI":"10.1145\/1236463.1236467"},{"unstructured":"O\u2019Docherty M. 2005. Object-Oriented Analysis and Design. John Wiley and Sons New York NY.  O\u2019Docherty M. 2005. Object-Oriented Analysis and Design . John Wiley and Sons New York NY.","key":"e_1_2_1_23_1"},{"volume-title":"Proceedings of the 6th AIAA\/NASA\/ISSMO Symposium on Multidisciplinary Analysis and Optimization. AIAA","author":"Padula S. L.","first-page":"1996","key":"e_1_2_1_24_1"},{"volume-title":"Proceedings of the 10th AIAA\/ISSMO Muldisiciplinary Analysis and Optimization Conference","author":"Perez R. E.","first-page":"2004","key":"e_1_2_1_25_1"},{"volume-title":"Proceedings of the 9th International Python Conference","author":"Peterson P.","key":"e_1_2_1_26_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_27_1","DOI":"10.2514\/3.60867"},{"volume-title":"Proceedings of the 34th AIAA Aerospace Sciences Meeting and Exhibit","author":"Sellar R. S.","first-page":"1996","key":"e_1_2_1_28_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_29_1","DOI":"10.2514\/2.847"},{"unstructured":"Sobieszczanski-Sobieski J. 1988. Optimization by decomposition: A step from hierarchic to non-hierarchic systems. NASA tech. rep. CP-3031. NASA Washington DC.  Sobieszczanski-Sobieski J. 1988. Optimization by decomposition: A step from hierarchic to non-hierarchic systems. NASA tech. rep. CP-3031. NASA Washington DC.","key":"e_1_2_1_30_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_31_1","DOI":"10.1007\/BF01197554"},{"doi-asserted-by":"publisher","key":"e_1_2_1_32_1","DOI":"10.1137\/S003614459631241X"},{"volume-title":"Proceedings of the 2nd AIAA Multidisciplinary Design Optimization Specialist Conference","year":"2006","author":"Tedford N. P.","key":"e_1_2_1_33_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_34_1","DOI":"10.2514\/6.2006-7080"},{"volume-title":"Proceedings of the 27th Structures, Structural Dynamics and Materials Conference","author":"Thareja R.","key":"e_1_2_1_35_1"},{"unstructured":"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.  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.","key":"e_1_2_1_36_1"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1555386.1555389","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1555386.1555389","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:23:04Z","timestamp":1750249384000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1555386.1555389"}},"subtitle":["An Object-Oriented Framework for Multidisciplinary Design Optimization"],"short-title":[],"issued":{"date-parts":[[2009,8]]},"references-count":35,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2009,8]]}},"alternative-id":["10.1145\/1555386.1555389"],"URL":"https:\/\/doi.org\/10.1145\/1555386.1555389","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"type":"print","value":"0098-3500"},{"type":"electronic","value":"1557-7295"}],"subject":[],"published":{"date-parts":[[2009,8]]},"assertion":[{"value":"2007-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-08-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}