OptQuest
Documentation
Request a Trial License
OptQuest 10.1.0
Documentation (HTML)
Release Notes:
OptQuest 10.1 builds on the unified API architecture and advanced metaheuristic optimization capabilities introduced in version 10, delivering enhancements that improve usability, performance, and integration for black-box optimization tasks. This release focuses on expanding support for complex modeling scenarios, refining algorithms for better efficiency, and broadening platform accessibility. Below is a summary of the key additions, improvements, and changes.
New Optimization and Modeling Features
These additions provide greater flexibility in defining problems, handling stochastic elements, and guiding the optimization process, making it easier to tackle a wider range of real-world challenges.
Required Solutions
Required Solutions allow users to specify exact input combinations that must be evaluated during the optimization process, regardless of feasibility constraints. Unlike Suggested Solutions, which are mapped to the feasible space, Required Solutions are executed as-is and marked as infeasible if they violate constraints. This feature is particularly useful for seeding searches with known or critical inputs, ensuring they contribute valuable data to the metaheuristic process even if they fall outside the feasible region.
Percent Point Functions
OptQuest’s expression engine now supports percent point functions (inverse cumulative distribution functions, or inverse CDFs) for a variety of popular probability distributions. When combined with the `rand()` function, these enable seamless optimization of stochastic models by allowing users to generate and incorporate random variables directly within objectives and constraints. This expands OptQuest’s utility in fields like risk analysis, simulation-based optimization, and Monte Carlo methods, where modeling uncertainty is key.
Expression Variables
A new “Expression Variable” type has been introduced, which can be defined as a function of inputs, outputs, or other expression variables. This simplifies the creation of complex constraints and objectives by breaking them into reusable components, reducing redundancy and improving readability.
Selection Variables
Selection Variables are binary indicators that dynamically include or exclude other variables from the optimization process. This allows for conditional modeling, such as optional features in design optimization or scenario-based decision-making, without requiring multiple separate runs.
Exchangeable Variables
Exchangeable Variables identify groups of identical components in a model where values can be swapped without altering the overall behavior. Marking variables as exchangeable reduces the effective search space by avoiding redundant evaluations of equivalent configurations, leading to faster convergence and more efficient use of computational resources. This is ideal for symmetric problems, such as resource allocation or network design with interchangeable elements.
Response Distribution Sampling
The Adaptive Sampling algorithm now supports targeting a desired response distribution, enabling users to generate “balanced” datasets for applications like machine learning training. Leveraging OptQuest’s internal metamodel, this feature guides sampling to ensure the actual responses align with the specified distribution, minimizing bias and improving model generalization.
Selectable Variogram/Kernel
For Gaussian process regression-based metamodels used in Adaptive Sampling and solution prediction, users can now select custom variograms or kernels if prior knowledge of the response surface structure is available. While OptQuest retains a robust default option suitable for most problems, this customization allows for finer-tuned modeling in specialized cases.
Algorithm Improvements
Improved Scatter Search
Scatter Search has been refined with two key updates. For all problem types, discovering a new best solution via Scatter Search now triggers an intensified local search in that region, shifting focus toward exploitation for better overall performance. In multi-objective problems, the algorithm more aggressively explores the Pareto frontier, yielding higher-quality frontiers and faster convergence.
API and Integration Enhancements
These updates extend OptQuest’s accessibility and interoperability across languages and frameworks.
Metamodel Prediction in New API
Metamodels, which approximate the response surface during Adaptive Sampling, are now accessible via the new unified API. After sampling, users can query these metamodels using the `Predict()` function on any solution, enabling rapid estimations without full evaluations.
Optuna Sampler Integration
An `OptQuestSampler` is now available for seamless integration with the Optuna hyperparameter optimization framework. This allows users to leverage OptQuest’s metaheuristic engine directly within Optuna workflows, combining strengths for advanced tuning in machine learning and other applications.
Additional Stopping Criteria
Stop by Elapsed Time, Cycles, and Objective Improvement, features from OptQuest 9, have been reinstated in OptQuest 10.1. These allow optimizations to terminate based on elapsed time, stagnation in improvement or a fixed number of cycles.
Platform and Distribution Updates
Improvements in deployment options make OptQuest more versatile across operating systems and ecosystems.
Linux Build
OptQuest is now available as a shared library (.so) on Linux, in addition to the existing Java JAR. Built with glibc 2.27, it supports distributions including Ubuntu 18.04, Debian 10, RHEL 8, CentOS/Rocky Linux/AlmaLinux 8, Fedora 28, and others with compatible glibc versions.
PyPI Package
OptQuest is now distributed via PyPI, simplifying installation and usage in Python environments. Users can easily incorporate OptQuest into scripts and applications with a standard `pip install`.
Removals and Deprecations
Concatenated Object Name Change
For permutations and metrics, OptQuest creates multiple variables and metrics based on the name supplied. In 10.0 those names were concatenated with an underscore, `_`, now they are concatenated with an at sign, `@`.
Removal of “PID” Field
The deprecated “PID” field for solutions, unused since OptQuest 8, has been fully removed in 10.1.
OptQuest 10.0.0
Documentation
OptQuest 9.1.2
Documentation
What can OptTek do for you?
Solving the world's most complex challenges through optimization and analytics for over 30 years.