A generic multi-parameter optimization program for system optimization. It automatically determines the values of user-selected design parameters that lead to the best operation of a given system. Optimizes a user-selected objective function, such as a building’s calculated annual energy use. It also offers an interface for easily implementing your own optimization algorithms into its library.

GenOpt has an open interface on both the simulation program side and the optimization algorithm side. By modifying a configuration file, it allows users to easily couple any external program (like EnergyPlus, TRNSYS, Dymola, DOE-2, TRACE, etc., or any user-written program). GenOpt is written entirely in Java so that it is platform independent. An interface for coupling external simulation programs and adding custom optimization algorithms is available. If the simulation input files are available, the time to set up an optimization problem is typically less than one hour.

External Link to Product Page:
United States
Major Capabilities:
Parametrics and Optimization
Building Type:
EnergyPlus, TRNSYS
Linux, Windows, Mac OS X
Free, Open Source
Help And Support:
Last Software Update:
December 8, 2011
Computer literacy required. No programming skills required for using the standard package. Basics of Optimization Theory for non-experienced users explained in program documentation. Knowledge of Optimization Theory and basic skills in Java required for adding your own optimization algorithms to the GenOpt library.
Engineers, researchers.
The following input is read from ASCII files: (a) Specification of parameters to be optimized and their minimum and maximum values, (b) settings for the optimization algorithm, (c) configuration file of simulation program (i.e., how to start simulation program, where to read simulation output), (d) input template file (used for generating simulation program input file).
Online plotting of optimization progress (objective function and free parameters). Result of optimization in text file.
Utility classes such as for linear algebra, optimality check, or doing line-search can be used for user’s own implementation of optimization algorithms.