This site is the homepage for the Genetically Programmed Response Surfaces Toolkit (GPRSkit). GPRSKit provides a set of tools for automatically creating a predictive response surface for a target design space. Response surfaces are equations that express a performance metric used to evaluate a set of possible designs in terms of the designs' parameters. If you can parameterize your design and quantify a performance metric of interest to you then this toolkit can vastly reduce the number of highly accurate simulations or time-consuming experiments you must conduct in order to find globally optimal designs or important design space trends.
By creating a predictive response surface from the measured performance of a small subset of designs, it is possible to evaluate all possible designs without taking the time to experimentally evaluate every single one. Numerical or analytic methods can be applied to the response surface in order to identify local or global optima, trends, and variable relationships. See the paper linked below and its references for more information.
Following in the footsteps of the BURGEON Research Group, this toolkit uses a genetic programming methodology to create response surfaces from a suggested sample subset. Genetic programming works like a standard genetic algorithm, but operates on a population of non-linear polynomial equations (i.e. potential response surfaces) rather than a population of designs. The gprscreate tool is a C++ implementation of this algorithm.
While the sample used to create a GPRS can be randomly selected, it is often beneficial to use a Design of Experiments to guaranteed a representative sample. The Audze-Eglais Uniform Latin Hypercube Design of Experiments is particularly robust. The aedoecreate tool is a C++ implementation of the Audze-Eglais formulation.
Code included in this package is intended to compile on Linux/OSX systems (see User Guide for more details). This software is open sourced under the GPL 2.0 license. I am not a professional software developer, and this software is far from perfect, but I want to make it available to anyone who might be interested in trying it out. Depending on interest expressed, new versions and improvements may appear.