Surrogate model optimization, also known as model-based derivative-free optimization, is a popular method for solving smooth nonlinear programming problems with expensive objectives that lack analytic derivatives.
The ALGLIB nonlinear programming suite includes the linearly and nonlinearly constrained ORBIT solver - one of the fastest and the most efficient surrogate optimization algorithms - alongside other nonlinear programming solvers. These are available in C++, C#, Java and several other programming languages under a dual free/commercial licensing model.
This article focuses on the specifics of the ORBIT solver. A high-level overview of the ALGLIB nonlinear programming suite (including the SQP solver, nonsmooth solver and metaheuristic solver) is available on another page. If you arrived at this page while looking for an RBF interpolation, ALGLIB also offers one.
1 ORBIT solver overview
Description
Programming languages supported
Documentation and examples
2 Downloads section
The ORBIT algorithm was originally proposed by Stefan M. Wild et al. for unconstrained surrogate optimization. It was independently implemented by the ALGLIB Project and extended to support linear and nonlinear constraints.
Similarly to the SQP method, the ORBIT solver builds and iteratively refines a surrogate RBF model. When solving a nonlinearly constrained problem, the solver also builds RBF models for the constraints. The minimum of the model over a trust region is a direction for the next step.
The difference between two methods is that SQP needs derivative information to update its quadratic model in a quasi-Newton fashion. In contrast, the ORBIT solver uses RBF models that do not need derivatives for their construction. Another difference is that minimizing an RBF model over trust region is generally more expensive than solving a QP subproblem. Thus, the solver is intended for problems with the following properties:
ALGLIB supports many programming languages, including C++, C#, Java, Python, and others:
A distinctive feature of ALGLIB is that it provides exactly the same API in all programming languages. This is achieved with our exclusive technology of automatic code translation and wrapper generation.
The ORBIT algorithm is included into the minnlc subpackage of the Optimization package. It can be used interchangeably with other algorithms from the subpackage. The ALGLIB Reference Manual includes several examples on how to configure the MINNLC solver suite, as well as an example on the ORBIT specifically: minnlc_modelbased.
This article is licensed for personal use only.
ALGLIB Project offers you two editions of ALGLIB:
ALGLIB Free Edition:
+delivered for free
+offers full set of numerical functionality
+extensive algorithmic optimizations
-no multithreading
-non-commercial license
ALGLIB Commercial Edition:
+flexible pricing
+offers full set of numerical functionality
+extensive algorithmic optimizations
+high performance (SMP, SIMD)
+commercial license with support plan
Links to download sections for Free and Commercial editions can be found below: