Optimizer is the highest edition level of Analytica. It includes all Enterprise features, plus the addition of powerful solver engines. It discovers decision values that minimize or maximize any quantified objective, subject to constraints. Or, in cases where an objective quantity is not present, it finds feasible solutions within constraint boundaries. It handles Linear Programming, Quadratic Programming, and general Non-Linear Programming, and automatically distinguishes among all of them. Decision variables can be continuous, semi-continuous, discrete (Integer or Boolean), or mixed. Best of all, Analytica Optimizer seamlessly integrates optimization capability with all of Analytica's core features including: Monte Carlo simulation and Intelligent Arrays, simplifying model structure, and improving visual accessibility. It's a complete decision solution that combines solving power, scalability, and ease of use like no other optimization platform.
You can sign up for a free 30-day trial of Analytica Optimizer. Instruction and examples are provided in the Optimizer Guide, included in the download, and accessible from Analytica's Help menu.
Optimization models should be simple, especially when they're complex
Should optimization models be intuitively represented, transparent, scalable, and easy to build? We think they should. But traditional optimization interfaces fail to meet all of these goals.
- Spreadsheet optimizations are suitable for smaller problems, but they are inherently two-dimensional and difficult to scale;
- Algebraic modeling languages are much better than the straight programming notation that preceded them, but their lack of visual context can still make complex models inscrutable to anyone but the model designer.
Analytica makes optimization modeling as simple and intuitive as it should be at all levels of complexity. Influence diagrams and Intelligent Arrays keep the entire analysis path accessible, from modeling to decision making. It accomplishes this in several ways:
- Keeps model structure and assumptions in plain view at all times;
- Combines optimization with sensitivity analysis to identify the inputs that have the most immediate influence on your objective value;
- Allows you to add new scenarios for separate optimizations simply by adding a scenario dimension to any input array;
- Adds Constraint nodes to allow you to specify arrays of constraints using simple inequality expressions;
- Allows you to easily scale existing models using Intelligent Arrays.
Full integration with Uncertainty, Dynamic equations, and Intelligent Arrays
Analytica’s core features, including Monte Carlo sampling, Intelligent Arrays, and Dynamic definitions, are all compatible with optimization. This allows you to implement advanced methods in the same intuitive manner as with all Analytica models:
- Perform Stochastic Optimization by simply defining the objective as the expected value (mean) or fractile percentage threshold of a sampled distribution result;
- Optimize Monte Carlo samples individually using Intelligent Array logic. It is easy to create a distribution of optimization results;
- Define constraints using dynamic expressions for models with recursive dependency.
...and much more
Additional features include:
- Efficient internal representation of sparse matrices for large LP and QP optimizations;
- Easy identification of feasible subsets of constraints for LPs;
- Genetic algorithms for non-smooth NLPs;
- User access to all internal engine settings and status flags;
- Automatic identification of problem type and optimization engine, or adherence to user overrides;
- Modular model design, allowing you to share portions of models and distribute modeling activities among individuals and teams;
- Multiple starting points for NLP searches, determined automatically or specified by user as an array of initial guess vectors.
Power and scalability from state-of-the-art solver engines
Analytica Optimizer uses Frontline Software’s Premium Solver package of solver engines to handle all types of optimization problem: Linear (LP), Quadratic (QP), and Non-Linear (NLP). This package contains three engines:
2. GRG Nonlinear
Analytica Optimizer can automatically choose the solver engine to match the problem, detecting whether it is linear, quadratic, or more complex. It supports Continuous as well as Mixed-Integer and Semi-Continuous variable domains. (Semi-continuous variables can take on values within a bounded range or be zero.) The standard engine package supports up to 8,000 variables and 8,000 constraints for LP and convex QP problems, or 500 variables and 250 constraints for NLP problems.
For faster performance or larger numbers of variables and constraints, you can add premium engines, including XPRESS from FICO, Gurobi, Mosek, KNITRO and OptQuest. These are some of the most powerful solver engines available in the world. They plug directly into Analytica Optimizer with full integration of all features, including uncertainty, dynamic simulation, and Intelligent Arrays. In fact, if you are already using one of these solvers with their standard algebraic, try with Analytica for a more visual and flexible way to define and run optimization problems. See details and how to obtain premium solver engines.