GenOpt - A Generic Optimization Program
The potential offered by computer simulation is often not realized: Due to the interaction of system variables, simulation users rarely know how to choose input parameter settings that lead to optimal performance of a given system. Thus, a program called GenOpt® that automatically determines optimal parameter settings has been developed.
GenOpt is a generic optimization program. It minimizes an objective function with respect to multiple parameters. The objective function is evaluated by a simulation program that is iteratively called by GenOpt. In thermal building simulation — which is the main target of GenOpt — the simulation program usually has text-based I/O. The paper shows how GenOpt's simulation program interface allows the coupling of any simulation program with text based I/O by simply editing a configuration file, avoiding code modification of the simulation program. By using object-oriented programming, a high-level interface for adding minimization algorithms to GenOpt's library has been developed. We show how the algorithm interface separates the minimization algorithms and GenOpt's kernel, which allows implementing additional algorithms without being familiar with the kernel or having to recompile it. The algorithms can access utility classes that are commonly used for minimization, such as optimality check, line-search, etc.
GenOpt has successfully solved various optimization problems in thermal building simulation. We show an example of minimizing source energy consumption of an office building using EnergyPlus, and of minimizing auxiliary electric energy of a solar domestic hot water system using TRNSYS. For both examples, the time required to set up the optimization was less than one hour, and the energy savings are about 15%, together with better daylighting usage or lower investment costs, respectively.