Optimization Explorer
Explore multiple solver configurations and their solutions for an optimization problem
Since R2026a
Description
The Optimization Explorer app uses multiple solver configurations (solvers, options, and start points) to search for a global solution to an optimization problem. Using auto mode, you can repeatedly search for a global solution to an optimization problem, or search for the best combination of solver and options to solve an optimization problem. Using manual mode, you can create a set of solvers, initial conditions, and options to explore. By default, Optimization Explorer plots and stores the results. To explore further, you can run additional optimizations in the current session or a previous session.
Note
To use Optimization Explorer, you must first create an optimization problem.
You can provide an OptimizationProblem
object using MATLAB® commands, or define an OptimizationProblem object using the
problem-based Optimize
Live Editor task. You can also provide the inputs to an optimization solver, such as
fmincon or patternsearch, as variables in your
workspace. Providing an OptimizationProblem object gives Optimization
Explorer the most information about your problem, enabling the app to find the
solution most efficiently.
Open the Optimization Explorer App
MATLAB Toolstrip: On the Apps tab, under Math, Statistics and Optimization, click the app icon.
MATLAB command prompt: Enter
optimizationExplorer.
Examples
- Use Optimization Explorer App
- Optimize Simulink Model in Parallel with Optimization Explorer (Global Optimization Toolbox)
Parameters
Programmatic Use
Limitations
Supported Problem Types
Optimization Explorer currently solves only explicitly nonlinear problems that are not quadratic. Specifically, Optimization Explorer does not support:
Linear programming problems
Quadratic programming problems
Cone programming problems
Multiobjective problems
Mixed-integer linear programming problems
Linear programming, convex quadratic programming, and cone programming problems have
unique optimal objective function values, so Optimization Explorer is not the right tool for
solving these problems. For linear programming problems, the linprog
sensitivity
output gives more information than Optimization Explorer about the effects of changing the
problem parameters.
Session Folders are Not Protected
When you save an Optimization Explorer session using Save or
Save as, the resulting folder is not protected from change. If
any file in the session folder is changed, either in name or in its contents, then you might
not be able to reopen the session. In other words, to be able to use a session folder to
restart an Optimization Explorer session, do not change anything in the folder.
Tips
As a best practice, run a solver on your problem once before running the solver in Optimization Explorer. This procedure ensures that a solver can run your problem without error.
When you run additional solver configurations, the app retains the current results and adds the new results to the Results Table and plots.
The options for displaying plots and filtering results are active during a run, as is the Stop button on the toolstrip. However, the effects of these options might seem delayed because they occur only after a solver iteration is complete.
To view the value of a solution in the Results Table, double-click the table entry.

To view the details of an entry in the Results Table, click the three vertical dots on the right side of the table and select Show details.

To improve efficiency when your objective or nonlinear constraint functions return gradient information or compute in a vectorized manner, set up your problem using Solver Inputs along with Advanced settings.


Currently,
fmincon,fminunc, andlsqnonlincan use gradient information, andga,particleswarm,patternsearch, andsurrogateoptcan run in a vectorized manner.
Algorithms
Version History
Introduced in R2026a
See Also
Optimize | fmincon | fminsearch | fminunc | ga (Global Optimization Toolbox) | lsqnonlin | particleswarm (Global Optimization Toolbox) | patternsearch (Global Optimization Toolbox) | simulannealbnd (Global Optimization Toolbox) | surrogateopt (Global Optimization Toolbox)

