GenOpt® is an optimization program for the minimization of a cost function that is evaluated by an external simulation program, such as EnergyPlus, TRNSYS, Dymola, IDA-ICE or DOE-2. It has been developed for optimization problems where the cost function is computationally expensive and its derivatives are not available or may not even exist. GenOpt can be coupled to any simulation program that reads its input from text files and writes its output to text files. The independent variables can be continuous variables (possibly with lower and upper bounds), discrete variables, or both. Constraints on dependent variables can be implemented using penalty or barrier functions.
GenOpt has a library with local and global multi-dimensional and one-dimensional optimization algorithms, as well as algorithms for doing parametric runs. If your computer has multiple CPUs, GenOpt will run multiple simulations in parallel to reduce computation time. This parallel computation is done automatically by GenOpt without requiring a special setup by the user.
By using GenOpt's algorithm interface, new optimization algorithms can be added to GenOpt's algorithm library without knowing the details of the program structure.
GenOpt is written in Java so that it is platform independent. The platform independence and the general interface make GenOpt applicable to a wide range of optimization problems.
GenOpt has not been designed for linear programming problems, quadratic programming problems, and problems where the gradient of the cost function is available. For such problems, as well as for other problems, special tailored software exists that is more efficient.