OptSolve++, in development since 1998, quickly brings powerful optimization capabilities to your C++ applications providing developers a more cost effective option than developing from scratch or using unproven solutions. Designed and developed for re-use, OptSolve++ offers a set of scalable and reliable pre-built software libraries that increase your productivity and substantially reduce your schedule and resource risk.
Powerful, standard optimization algorithms; easy-to-use object oriented design
OptSolve++ offers efficient and robust optimization of user-defined merit functions and an easy-to-use object oriented programming API. A canonical interface to the included optimizers is provided, making substituting one optimizer for another straight forward.
Taking full advantage of templating techniques and object-oriented design, OptSolve++ provides maximum flexibility in the choice of argument and return type for the merit function and in the configuration of options for the built-in algorithms.
OptSolve++ allows you to choose between algorithms requiring analytic derivatives and those that do not require gradient information. Functions for estimating numerical derivatives are also available.
With extensible object hierarchies that let you readily implement new algorithms or create a thin interface to existing C or C++ algorithms, OptSolve++ helps accelerate project deployment by reducing the planning, development and testing workload.
OptSolve++ library of nonlinear optimization algorithms
The choice of which optimizer to use depends on the type of function to be solved, as well as the information present about that function and its derivatives. The four main considerations are:
OptSolve++ Features and Benefits
Features |
Benefits |
| Nonlinear Solvers for 1-D and N-D functions |
Provides versatility.
|
| Nonlinear Optimization Algorithms for N-D Functions |
Allows you to the define linear and nonlinear algorithms used in optimization.
|
| Flexible Interface |
Offers ease-of-use through a common, function-like interface for all optimization algorithms.
|
| Exception Handling | Helps ensure graceful failure. |
| Extensible Object Hierarchies |
Can be readily extended to implement new algorithms or linked to existing C or C++ algorithms.
|
OptSolve++ is a cost effective solution
OptSolve++ is not only a best in class solution, it is also most economical solution available when considering cost and time savings. OptSolve++ is more cost-effective than developing from scratch or licensing large numerical packages and is more time efficient than using less proven free libraries.
Write it yourself |
Download "free" library |
OptSolve++ |
| Learn characteristics and pitfalls of solvers | Find, evaluate and choose code base | License OptSolve++ |
| Write code and tests | Learn code, perhaps with limited or non-existent documentation and usage examples. | Quickly learn code, using documentation, examples and leverage well-designed, canonical interfaces |
| Minimally document code | Maintain code when needed, or try to get update | Product commitment means regular updates, high quality documentation, examples and active user community |
| Minimally test code | Run test suite, if provided | OptSolve++ rigorously tested, and used by hundreds of developers |
| Create build environment for required platforms | Possibly port build environment | Pre-built static and dynamic libraries provided for a variety of common platforms; OptSolve++ Pro includes source and cross-platform build tools |
| Maintain as needed, when you have time | Maintenance as developers volunteer | Commitment to customer service |
Platform and Compiler Options
OptSolve++ and OptSolve++ Pro are supported with these platform/compiler combinations:
Platforms |
Compiler |
| Windows 2000/XP | Microsoft Visual Studio.NET |
| Linux (Redhat 9, Mandrake 10, SuSE 9) | gcc 3.3 and higher |
| Mac OS X 10.3 (Panther) | gcc 3.3 |
Support and Maintenance Services
We offer excellent support and documentation as well as a long-term commitment to the product, exemplified by our substantial user base.