{"data":{"id":"10.4121/7cf77828-36a9-495d-8f47-d5def6547065","type":"dois","attributes":{"doi":"10.4121/7cf77828-36a9-495d-8f47-d5def6547065","prefix":"10.4121","suffix":"7cf77828-36a9-495d-8f47-d5def6547065","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Thomas Vermeulen","givenName":"Thomas","familyName":"Vermeulen","affiliation":[],"nameIdentifiers":[]}],"titles":[{"title":"The General Aviation Aircraft Family Python Benchmark Problem (GAAFpy)"}],"publisher":"4TU.ResearchData","container":{},"publicationYear":2026,"subjects":[{"subject":"Expanding Knowledge","subjectScheme":"Australian and New Zealand Standard Research Classification (ANZSRC), 2008","classificationCode":"9701"},{"subject":"Other Engineering","subjectScheme":"Australian and New Zealand Standard Research Classification (ANZSRC), 2008","classificationCode":"0999"},{"subject":"Aerospace Engineering","subjectScheme":"Australian and New Zealand Standard Research Classification (ANZSRC), 2008","classificationCode":"0901"},{"subject":"Expanding Knowledge","subjectScheme":"Australian and New Zealand Standard Research Classification (ANZSRC), 2008","classificationCode":"97"},{"subject":"Engineering","subjectScheme":"Australian and New Zealand Standard Research Classification (ANZSRC), 2008","classificationCode":"09"},{"subject":"Product family design"},{"subject":"family design"},{"subject":"general aviation aircraft"},{"subject":"benchmark problem"},{"subject":"optimisation"},{"subject":"product family"},{"subject":"Family"},{"subject":"Product Design"},{"subject":"Principle of commonality"},{"subject":"Optimization"}],"contributors":[{"name":"TU Delft, Faculty of Aerospace Engineering, Flow Physics and Technology, Flight Performance and Propulsion","nameType":"Organizational","contributorType":"Other","affiliation":[],"nameIdentifiers":[]}],"dates":[{"date":"2026-10-18","dateType":"Issued"}],"language":"en","types":{"ris":"COMP","bibtex":"misc","citeproc":"article","schemaOrg":"SoftwareSourceCode","resourceType":"Software","resourceTypeGeneral":"Software"},"relatedIdentifiers":[{"relationType":"References","relatedIdentifier":"https://doi.org/10.2514/6.1996-4161","relatedIdentifierType":"URL"},{"relationType":"References","relatedIdentifier":"http://cer.sagepub.com/content/12/2/119.abstract","relatedIdentifierType":"URL"},{"relationType":"References","relatedIdentifier":"http://link.springer.com/chapter/10.1007/978-0-85729-652-8_4","relatedIdentifierType":"URL"},{"relationType":"References","relatedIdentifier":"http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6256466","relatedIdentifierType":"URL"},{"relationType":"References","relatedIdentifier":"https://doi.org/10.1080/0305215X.2024.2381818","relatedIdentifierType":"URL"},{"relationType":"IsVersionOf","relatedIdentifier":"10.4121/7cf77828-36a9-495d-8f47-d5def6547065.v1","relatedIdentifierType":"DOI"}],"relatedItems":[],"sizes":[],"formats":[".py, .json, .png, .txt"],"version":"1","rightsList":[{"rights":"MIT License","rightsUri":"https://opensource.org/licenses/MIT","schemeUri":"https://spdx.org/licenses/","rightsIdentifier":"mit","rightsIdentifierScheme":"SPDX"}],"descriptions":[{"description":"\u003cstrong\u003eGAAFpy \u003c/strong\u003eis a Python package implementing the \u003cstrong\u003eGeneral Aviation Aircraft (GAA) family design benchmark problem\u003c/strong\u003e originally developed by T.W. Simpson et al for research in product family design and multidisciplinary design optimisation. The benchmark concerns the design of a family of three general aviation aircraft, with two-, four-, and six-seater variants to be designed. Within the benchmark, commonality across the variants is traded against uniqueness. Commonality can reduce development, manufacturing, and lifecycle costs, while increased uniqueness can improve the performance of individual variants. \u003cbr\u003eThe package provides an efficient, object-oriented implementation of the benchmark using quadratic response surfaces previously developed by T.W. Simpson et al. The core implementation is therefore not much different from that in the MOEA Framework RealWorldBenchmarks suite, which is linked below. The package supports both individual aircraft variant evaluation as well as family evaluation, and can be easily integrated into optimisation codes. This is demonstrated by the examples provided in the code repository. \u003cbr\u003eOur implementation is validated against results obtained from the MOEA benchmark suite, showing agreement within numerical precision. \u003cbr\u003eGAAFpy is distributed through PyPi, or directly from the GitHub repository. It is designed for use with Python 3.10 or newer. The package requires the installation of Numpy. If the provided example files are to be used, the optional Pymoo package (\u0026gt;=0.6) should be installed as well.","descriptionType":"Abstract"}],"geoLocations":[],"fundingReferences":[{"awardTitle":"DASAL - Dutch Aviation Systems Analysis Lab","funderName":"Stichting Luchtvaart in Transitie"}],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00LjQvbWV0YWRhdGEueHNkIj4KICA8aWRlbnRpZmllciBpZGVudGlmaWVyVHlwZT0iRE9JIj4xMC40MTIxLzdDRjc3ODI4LTM2QTktNDk1RC04RjQ3LUQ1REVGNjU0NzA2NTwvaWRlbnRpZmllcj4KICA8Y3JlYXRvcnM+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lPlRob21hcyBWZXJtZXVsZW48L2NyZWF0b3JOYW1lPgogICAgICA8Z2l2ZW5OYW1lPlRob21hczwvZ2l2ZW5OYW1lPgogICAgICA8ZmFtaWx5TmFtZT5WZXJtZXVsZW48L2ZhbWlseU5hbWU+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPlRoZSBHZW5lcmFsIEF2aWF0aW9uIEFpcmNyYWZ0IEZhbWlseSBQeXRob24gQmVuY2htYXJrIFByb2JsZW0gKEdBQUZweSk8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXI+NFRVLlJlc2VhcmNoRGF0YTwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAyNjwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iU29mdHdhcmUiPlNvZnR3YXJlPC9yZXNvdXJjZVR5cGU+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3Qgc3ViamVjdFNjaGVtZT0iQXVzdHJhbGlhbiBhbmQgTmV3IFplYWxhbmQgU3RhbmRhcmQgUmVzZWFyY2ggQ2xhc3NpZmljYXRpb24gKEFOWlNSQyksIDIwMDgiIGNsYXNzaWZpY2F0aW9uQ29kZT0iOTcwMSI+RXhwYW5kaW5nIEtub3dsZWRnZTwvc3ViamVjdD4KICAgIDxzdWJqZWN0IHN1YmplY3RTY2hlbWU9IkF1c3RyYWxpYW4gYW5kIE5ldyBaZWFsYW5kIFN0YW5kYXJkIFJlc2VhcmNoIENsYXNzaWZpY2F0aW9uIChBTlpTUkMpLCAyMDA4IiBjbGFzc2lmaWNhdGlvbkNvZGU9IjA5OTkiPk90aGVyIEVuZ2luZWVyaW5nPC9zdWJqZWN0PgogICAgPHN1YmplY3Qgc3ViamVjdFNjaGVtZT0iQXVzdHJhbGlhbiBhbmQgTmV3IFplYWxhbmQgU3RhbmRhcmQgUmVzZWFyY2ggQ2xhc3NpZmljYXRpb24gKEFOWlNSQyksIDIwMDgiIGNsYXNzaWZpY2F0aW9uQ29kZT0iMDkwMSI+QWVyb3NwYWNlIEVuZ2luZWVyaW5nPC9zdWJqZWN0PgogICAgPHN1YmplY3Qgc3ViamVjdFNjaGVtZT0iQXVzdHJhbGlhbiBhbmQgTmV3IFplYWxhbmQgU3RhbmRhcmQgUmVzZWFyY2ggQ2xhc3NpZmljYXRpb24gKEFOWlNSQyksIDIwMDgiIGNsYXNzaWZpY2F0aW9uQ29kZT0iOTciPkV4cGFuZGluZyBLbm93bGVkZ2U8L3N1YmplY3Q+CiAgICA8c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJBdXN0cmFsaWFuIGFuZCBOZXcgWmVhbGFuZCBTdGFuZGFyZCBSZXNlYXJjaCBDbGFzc2lmaWNhdGlvbiAoQU5aU1JDKSwgMjAwOCIgY2xhc3NpZmljYXRpb25Db2RlPSIwOSI+RW5naW5lZXJpbmc8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5Qcm9kdWN0IGZhbWlseSBkZXNpZ248L3N1YmplY3Q+CiAgICA8c3ViamVjdD5mYW1pbHkgZGVzaWduPC9zdWJqZWN0PgogICAgPHN1YmplY3Q+Z2VuZXJhbCBhdmlhdGlvbiBhaXJjcmFmdDwvc3ViamVjdD4KICAgIDxzdWJqZWN0PmJlbmNobWFyayBwcm9ibGVtPC9zdWJqZWN0PgogICAgPHN1YmplY3Q+b3B0aW1pc2F0aW9uPC9zdWJqZWN0PgogICAgPHN1YmplY3Q+cHJvZHVjdCBmYW1pbHk8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5GYW1pbHk8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5Qcm9kdWN0IERlc2lnbjwvc3ViamVjdD4KICAgIDxzdWJqZWN0PlByaW5jaXBsZSBvZiBjb21tb25hbGl0eTwvc3ViamVjdD4KICAgIDxzdWJqZWN0Pk9wdGltaXphdGlvbjwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxjb250cmlidXRvcnM+CiAgICA8Y29udHJpYnV0b3IgY29udHJpYnV0b3JUeXBlPSJPdGhlciI+CiAgICAgIDxjb250cmlidXRvck5hbWUgbmFtZVR5cGU9Ik9yZ2FuaXphdGlvbmFsIj5UVSBEZWxmdCwgRmFjdWx0eSBvZiBBZXJvc3BhY2UgRW5naW5lZXJpbmcsIEZsb3cgUGh5c2ljcyBhbmQgVGVjaG5vbG9neSwgRmxpZ2h0IFBlcmZvcm1hbmNlIGFuZCBQcm9wdWxzaW9uPC9jb250cmlidXRvck5hbWU+CiAgICA8L2NvbnRyaWJ1dG9yPgogIDwvY29udHJpYnV0b3JzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJJc3N1ZWQiPjIwMjYtMTAtMTg8L2RhdGU+CiAgPC9kYXRlcz4KICA8bGFuZ3VhZ2U+ZW48L2xhbmd1YWdlPgogIDxyZWxhdGVkSWRlbnRpZmllcnM+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJVUkwiIHJlbGF0aW9uVHlwZT0iUmVmZXJlbmNlcyI+aHR0cHM6Ly9kb2kub3JnLzEwLjI1MTQvNi4xOTk2LTQxNjE8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIiByZWxhdGlvblR5cGU9IlJlZmVyZW5jZXMiPmh0dHA6Ly9jZXIuc2FnZXB1Yi5jb20vY29udGVudC8xMi8yLzExOS5hYnN0cmFjdDwvcmVsYXRlZElkZW50aWZpZXI+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJVUkwiIHJlbGF0aW9uVHlwZT0iUmVmZXJlbmNlcyI+aHR0cDovL2xpbmsuc3ByaW5nZXIuY29tL2NoYXB0ZXIvMTAuMTAwNy85NzgtMC04NTcyOS02NTItOF80PC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IlVSTCIgcmVsYXRpb25UeXBlPSJSZWZlcmVuY2VzIj5odHRwOi8vaWVlZXhwbG9yZS5pZWVlLm9yZy94cGwvYXJ0aWNsZURldGFpbHMuanNwP2FybnVtYmVyPTYyNTY0NjY8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIiByZWxhdGlvblR5cGU9IlJlZmVyZW5jZXMiPmh0dHBzOi8vZG9pLm9yZy8xMC4xMDgwLzAzMDUyMTVYLjIwMjQuMjM4MTgxODwvcmVsYXRlZElkZW50aWZpZXI+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiIHJlbGF0aW9uVHlwZT0iSXNWZXJzaW9uT2YiPjEwLjQxMjEvN2NmNzc4MjgtMzZhOS00OTVkLThmNDctZDVkZWY2NTQ3MDY1LnYxPC9yZWxhdGVkSWRlbnRpZmllcj4KICA8L3JlbGF0ZWRJZGVudGlmaWVycz4KICA8Zm9ybWF0cz4KICAgIDxmb3JtYXQ+LnB5LCAuanNvbiwgLnBuZywgLnR4dDwvZm9ybWF0PgogIDwvZm9ybWF0cz4KICA8dmVyc2lvbj4xPC92ZXJzaW9uPgogIDxyaWdodHNMaXN0PgogICAgPHJpZ2h0cyByaWdodHNVUkk9Imh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUIj5NSVQ8L3JpZ2h0cz4KICA8L3JpZ2h0c0xpc3Q+CiAgPGRlc2NyaXB0aW9ucz4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9IkFic3RyYWN0Ij4mbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0dBQUZweSAmbHQ7L3N0cm9uZyZndDtpcyBhIFB5dGhvbiBwYWNrYWdlIGltcGxlbWVudGluZyB0aGUgJmx0O3N0cm9uZyZndDtHZW5lcmFsIEF2aWF0aW9uIEFpcmNyYWZ0IChHQUEpIGZhbWlseSBkZXNpZ24gYmVuY2htYXJrIHByb2JsZW0mbHQ7L3N0cm9uZyZndDsgb3JpZ2luYWxseSBkZXZlbG9wZWQgYnkgVC5XLiBTaW1wc29uIGV0IGFsIGZvciByZXNlYXJjaCBpbiBwcm9kdWN0IGZhbWlseSBkZXNpZ24gYW5kIG11bHRpZGlzY2lwbGluYXJ5IGRlc2lnbiBvcHRpbWlzYXRpb24uIFRoZSBiZW5jaG1hcmsgY29uY2VybnMgdGhlIGRlc2lnbiBvZiBhIGZhbWlseSBvZiB0aHJlZSBnZW5lcmFsIGF2aWF0aW9uIGFpcmNyYWZ0LCB3aXRoIHR3by0sIGZvdXItLCBhbmQgc2l4LXNlYXRlciB2YXJpYW50cyB0byBiZSBkZXNpZ25lZC4gV2l0aGluIHRoZSBiZW5jaG1hcmssIGNvbW1vbmFsaXR5IGFjcm9zcyB0aGUgdmFyaWFudHMgaXMgdHJhZGVkIGFnYWluc3QgdW5pcXVlbmVzcy4gQ29tbW9uYWxpdHkgY2FuIHJlZHVjZSBkZXZlbG9wbWVudCwgbWFudWZhY3R1cmluZywgYW5kIGxpZmVjeWNsZSBjb3N0cywgd2hpbGUgaW5jcmVhc2VkIHVuaXF1ZW5lc3MgY2FuIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIGluZGl2aWR1YWwgdmFyaWFudHMuICZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7YnImZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBwYWNrYWdlIHByb3ZpZGVzIGFuIGVmZmljaWVudCwgb2JqZWN0LW9yaWVudGVkIGltcGxlbWVudGF0aW9uIG9mIHRoZSBiZW5jaG1hcmsgdXNpbmcgcXVhZHJhdGljIHJlc3BvbnNlIHN1cmZhY2VzIHByZXZpb3VzbHkgZGV2ZWxvcGVkIGJ5IFQuVy4gU2ltcHNvbiBldCBhbC4gVGhlIGNvcmUgaW1wbGVtZW50YXRpb24gaXMgdGhlcmVmb3JlIG5vdCBtdWNoIGRpZmZlcmVudCBmcm9tIHRoYXQgaW4gdGhlIE1PRUEgRnJhbWV3b3JrIFJlYWxXb3JsZEJlbmNobWFya3Mgc3VpdGUsIHdoaWNoIGlzIGxpbmtlZCBiZWxvdy4gVGhlIHBhY2thZ2Ugc3VwcG9ydHMgYm90aCBpbmRpdmlkdWFsIGFpcmNyYWZ0IHZhcmlhbnQgZXZhbHVhdGlvbiBhcyB3ZWxsIGFzIGZhbWlseSBldmFsdWF0aW9uLCBhbmQgY2FuIGJlIGVhc2lseSBpbnRlZ3JhdGVkIGludG8gb3B0aW1pc2F0aW9uIGNvZGVzLiBUaGlzIGlzIGRlbW9uc3RyYXRlZCBieSB0aGUgZXhhbXBsZXMgcHJvdmlkZWQgaW4gdGhlIGNvZGUgcmVwb3NpdG9yeS4gJmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDticiZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7T3VyIGltcGxlbWVudGF0aW9uIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHJlc3VsdHMgb2J0YWluZWQgZnJvbSB0aGUgTU9FQSBiZW5jaG1hcmsgc3VpdGUsIHNob3dpbmcgYWdyZWVtZW50IHdpdGhpbiBudW1lcmljYWwgcHJlY2lzaW9uLiAmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O2JyJmd0OyZsdDsvcCZndDsmbHQ7cCZndDtHQUFGcHkgaXMgZGlzdHJpYnV0ZWQgdGhyb3VnaCBQeVBpLCBvciBkaXJlY3RseSBmcm9tIHRoZSBHaXRIdWIgcmVwb3NpdG9yeS4gSXQgaXMgZGVzaWduZWQgZm9yIHVzZSB3aXRoIFB5dGhvbiAzLjEwIG9yIG5ld2VyLiBUaGUgcGFja2FnZSByZXF1aXJlcyB0aGUgaW5zdGFsbGF0aW9uIG9mIE51bXB5LiBJZiB0aGUgcHJvdmlkZWQgZXhhbXBsZSBmaWxlcyBhcmUgdG8gYmUgdXNlZCwgdGhlIG9wdGlvbmFsIFB5bW9vIHBhY2thZ2UgKCZhbXA7Z3Q7PTAuNikgc2hvdWxkIGJlIGluc3RhbGxlZCBhcyB3ZWxsLiAmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4KICA8L2Rlc2NyaXB0aW9ucz4KICA8ZnVuZGluZ1JlZmVyZW5jZXM+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+U3RpY2h0aW5nIEx1Y2h0dmFhcnQgaW4gVHJhbnNpdGllPC9mdW5kZXJOYW1lPgogICAgICA8YXdhcmRUaXRsZT5EQVNBTCAtIER1dGNoIEF2aWF0aW9uIFN5c3RlbXMgQW5hbHlzaXMgTGFiPC9hd2FyZFRpdGxlPgogICAgPC9mdW5kaW5nUmVmZXJlbmNlPgogIDwvZnVuZGluZ1JlZmVyZW5jZXM+CjwvcmVzb3VyY2U+","url":"https://data.4tu.nl/datasets/7cf77828-36a9-495d-8f47-d5def6547065","contentUrl":null,"metadataVersion":0,"schemaVersion":"http://datacite.org/schema/kernel-4","source":"api","isActive":true,"state":"findable","reason":null,"viewCount":0,"viewsOverTime":[],"downloadCount":0,"downloadsOverTime":[],"referenceCount":0,"citationCount":0,"citationsOverTime":[],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":1,"created":"2026-10-18T18:05:17.000Z","registered":"2026-10-18T18:05:17.000Z","published":"2026","updated":"2026-10-18T18:05:17.000Z"},"relationships":{"client":{"data":{"id":"delft.data4tu","type":"clients"}},"provider":{"data":{"id":"scpr","type":"providers"}},"media":{"data":{"id":"10.4121/7cf77828-36a9-495d-8f47-d5def6547065","type":"media"}},"references":{"data":[]},"citations":{"data":[]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[{"id":"10.4121/7cf77828-36a9-495d-8f47-d5def6547065.v1","type":"dois"}]}}}}