The General Aviation Aircraft Family Python Benchmark Problem (GAAFpy)
The General Aviation Aircraft Family Python Benchmark Problem (GAAFpy)
Description
GAAFpy is a Python package implementing the General Aviation Aircraft (GAA) family design benchmark problem 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.
The 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.
Our implementation is validated against results obtained from the MOEA benchmark suite, showing agreement within numerical precision.
GAAFpy 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 (>=0.6) should be installed as well.
- MIT