Introduction to Optimizer
The Analytica Optimizer adds powerful solvers for finding optimal decisions and solving equations subject to constraints. Most Optimizer models aim to find the best decision strategy — that is, the values for decision variables that maximize (or minimize) an Objective subject to a set of equality or inequality constraints. Some models seek a feasible solution that satisfies the constraints without an explicit objective.
Types of Optimization
A linear program (LP) requires the objective function and constraints to be linear functions of the decision variables. LPs are solvable using robust algorithms that yield a solution for which the objective is guaranteed to be a global maximum (or minimum). Although LP algorithms are well understood, large-scale optimization can be computationally complex when some decision variables are Boolean or Integer -- that is, they have two or more discrete values rather than being continuous over a range. A model containing Boolean or discrete decision variables is termed a mixed integer program (MIP).
A quadratic program (QP) has linear constraints and an objective function that is quadratic in decisions -- i.e. the objective depends on the square of a decision variable or the product of two decision variables. A generalization of a QP, in which one or more constraints contains quadratic terms, is called a Quadratically Constrained Program (QCP). If the objective and constraint functions satisfy a mathematical property known as convexity, QP solutions are always unique (global). Non-convex formulations can result in “local” solutions that may or may not represent the global optimum.
Nonlinear Programming (NLP) does not impose restrictions on the mathematical properties of objectives and constraints. A wide variety of computational algorithms can be applied to NLPs. Strategies include gradient tracking and genetic algorithms that allow potential solutions to compete within the computation.
Analytica supports variables that are continuous, discrete (integer, Boolean, or grouped), or a mixture of continuous and discrete decision variables for all types of optimization problem.
The Analytica Optimizer analyzes your objective functions and constraints automatically to discover the type of optimization and select the appropriate solver engine.
Premium Solver Specifications
The standard edition of Analytica Optimizer uses the Premium Solver Platform licensed from Frontline Systems, Inc., the developer of the Optimizer/Solver in Microsoft Excel, and a world leader in spreadsheet optimization.
The Premium Solver is the leading add-on software for spreadsheet optimization, and incorporates state-of-the-art technologies. The LP and QP solver engines that come included with Analytica Optimizer handle up to 8000 variables and 8000 constraints in addition to bounds on the decision variables. Up to 2000 of these variables may be constrained to be integer-valued for Mixed-Integer Programming. Up to 2000 decision variables of any kind are supported when quadratic constraints are present. The NLP solvers offer hybrid methods using classical gradient-search and evolutionary (genetic) algorithms for smooth and discontinuous objective functions with up to 500 decision variables and 250 constraints. Large scale add-on engines that eliminate the limit on variables and constraints entirely are also available at extra cost (see Installing Add-On Optimizer Engines). If your problems exceed these limits, or you need a solver that is even faster, you can add any of a number of high-end solvers, LP, QP, or NLP, that include some of the most powerful solver engines available anywhere (see the «Engine Settings» parameter of DefineOptimization for details.
Optimizing with Uncertain Values and Intelligent Arrays
The Analytica Optimizer performs optimization under uncertainty to maximize expected values and minimize loss percentiles, as well as other statistical functions of objectives and constraints. Analytica allows users to combine Intelligent arrays with all classes of optimization. Thus, you can easily create arrays of optimizations conditioned on samples from uncertain variables, for parametric analysis of effects of key assumptions, and for each time period in a dynamic model.
Compatibility with Other Analytica Editions
The Analytica Optimizer is an edition of Analytica that includes all the functionalities of the Analytica Enterprise edition. After using Analytica Optimizer to create optimizing models, you can deliver them to end users on the desktop using Analytica Power Player with Optimizer, or via a web browser on a server using the Analytica Cloud Player (ACP) Premium Group Plan (ACP regular Group Plan does not support Optimizer). Analytica Decision Engine (ADE) is also available with an Optimizer license.
Obtaining the Analytica Optimizer
You can purchase a license for the Analytica Optimizer or the Analytica Power Player with Optimizer from Lumina Decision Systems. Or you can purchase an upgrade to Optimizer if you already have a license for the Analytica Enterprise or Professional editions. For more information:
- 30-day free trial of Optimizer
- Online purchase
- Call Lumina at 650-212-1212 or email firstname.lastname@example.org
Activating your Analytica Optimizer
If you have purchased an individual license of Analytica Optimizer, you will be sent an Activation Key. This key allows you to retrieve a license specific to your computer and account from Lumina’s activation server. The license itself is contained in a file, usually stored in the Analytica installation directory and usually named
Analytica.lic. The term activation refers to the process of obtaining this file.
When installing Analytica for the first time, you will run the Analytica installer program, which you can find in Lumina Downloads. If you have purchased the 64-bit edition, download
Ana64Setup.exe, otherwise download
If you run the installer from your own end-user account (recommended), then enter the activation key when prompted, and the installer will automatically retrieve and install your license file over the internet (if you don’t have an internet connection, see “Manual Activation”). If a system administrator runs the installer from an account other than your own end-user account, leave the activation key field blank, then after it is installed, log into your own account and follow the instructions for “Previous edition already installed”.
Previous Edition Already Installed
If you already have an edition of Analytica 4.6 installed (including the Free Edition), your installation includes the Analytica Optimizer files and there is no need to download new software. However, you need to enter a new activation key with the Optimizer option.
To activate Analytica Optimizer while you are connected to the internet:
- Start Analytica in the usual way, e.g., via the Windows Start menu, or by doubleclicking an Analytica model file.
- From Analytica’s Help menu, select Update License to display the Analytica Licensing Information box.
- Enter the activation key into the License ID box, replacing the license name currently displayed. As soon as the key is correctly entered, an Activate button appears to the right.
- Click Activate to retrieve your license from the activation server. Your license name then appears in the License ID box.
- Click OK.
- Exit and restart Analytica.
Automatic activation will fail if you do not have a connection to the internet, or if your firewalls and proxy servers are configured to prevent Analytica from communicating with the activation server. In this case, you can obtain a license file through manual activation. You will need your activation key and the Host ID and User ID that are displayed at the bottom of the Analytica Licensing Information dialog from Step 2 above. Enter this information into the form at http://www.lumina.com/support/activate-analytica/, and the license file will be emailed to you.
If your organization provides you with a floating license to Analytica Optimizer, your IT department will provide you with the name (and possibly IP port) of the Reprise License Manager (RLM) server computer where your IT department will have already installed and activated a floating license.
Run the Analytica installer as described in “First-Time Install”, but during the install, on the License Information page, select Centrally managed license (RLM License Server) and enter the server host name, or
port@host, provided to you.
If you already have Analytica installed, you can also enter this information into the Analytica License Information by selecting Update License from the Help menu.
To Validate Successful Activation
To verify successful activation of Analytica Optimizer, examine the splash screen when Analytica starts up, or go to Help > About Analytica. The splash screen should display Analytica Optimizer, as shown below.
Installing Add-On Optimizer Engines
You can add other engines for solving optimization problems to the Analytica Optimizer. Some engines provide superior performance on particular classes of optimization problems, and some engines handle larger numbers of variables or constraints. The following add-on engines are available:
- Large Scale LP
- Large Scale SQP
- Large Scale GRG
- Gurobi (LP/QP)
- XPRESS (LP/QP)
- MOSEK (cQCP/NLP)
- KNITRO (NLP)
- OptQuest (NSP)
When you purchase an add-on engine license, or obtain an add-on engine trial, Lumina will provide you with the following items:
- EngineSetup.exe (or EngineSetup64.exe for Analytica 64-bit users), the add-on engine installer from Frontline Systems.
- The password required by EngineSetup.
- The SolverAddons.lic file.
- A Lumina activation key.
To Install an Add-On Engine
- Install Analytica Optimizer first, if you have not already done so.
- Run EngineSetup.exe or EngineSetup64.exe, the add-on engine installation program. Use EngineSetup64.exe when you are using Analytica 64-bit.
- The EngineSetup program will ask for a password and activation key. Enter the password provided to you by email when you are sent the EngineSetup program. You may leave the activation key blank.
To Validate the Activation
To test for proper installation, open Analytica, and create a variable defined as follows:
Variable Engines := OptEngineInfo("All", "TrialPeriod")
The names of available engines should appear with non-zero values.