Difference between revisions of "Analytica Optimizer Guide"

m
Line 45: Line 45:
  
 
==== If you're new to the Analytica Optimizer ====
 
==== If you're new to the Analytica Optimizer ====
We suggest you start with the [http://wiki.analytica.com/index.php?title=Quick_Start Quick Start], an introductory tutorial that takes you through the key steps to create a simple optimization. The section on [http://wiki.analytica.com/index.php?title=Optimization_Characteristics Optimization Characteristics] explains the general principles of optimization and the types of optimization, including Linear Programming (LP), Quadratic Programming (QP), and Non-Linear Programming (NLP). We also recommend reading [http://wiki.analytica.com/index.php?title=Optimizing_with_Arrays Optimizing with Arrays] to master optimization with parametric analysis. [http://wiki.analytica.com/index.php?title=Key_Concepts%3A_The_Airline_NLP_Example Key Concepts: The Airline NLP Example] explains how to use optimization in models having dynamic influences and Monte Carlo-based uncertainties.
+
We recommend you to start with the [http://wiki.analytica.com/index.php?title=Quick_Start Quick Start], an introductory tutorial that takes you through the key steps to create a simple optimization, including  [http://wiki.analytica.com/index.php?title=Quick_Start#Introduction_to_Structured_Optimization Structured Optimization], and [http://wiki.analytica.com/index.php?title=Optimizing_with_Arrays Optimizing with Arrays]. The section on [http://wiki.analytica.com/index.php?title=Optimization_Characteristics Optimization Characteristics] explains the general principles of optimization and the types of optimization, including Linear Programming (LP), Quadratic Programming (QP), and Non-Linear Programming (NLP). We also recommend reading [http://wiki.analytica.com/index.php?title=Optimizing_with_Arrays Optimizing with Arrays] to understand optimization with parametric analysis. [http://wiki.analytica.com/index.php?title=Key_Concepts%3A_The_Airline_NLP_Example Key Concepts: The Airline NLP Example] explains dynamic and stochastic optimization with models that are [[dynamic]] (changing over time) and/or [[Probabilistic calculation|uncertain]] using Monte Carlo.
  
==== If you've used Analytica Optimizer 4.2 or earlier ====
+
==== Structured Optimization ====
 
The 4.3 release of Analytica introduced ''Structured Optimization'', a new set of features that eliminates many difficult steps previously required for structuring optimizations in Analytica. For example, it can use a set of decision variables of varying dimensions, instead of requiring you to combine and flatten them manually. It introduces Constraints as a new object class. It can discover automatically whether your objective is linear, quadratic, or nonlinear, and apply the appropriate solver engine --and a whole lot more.
 
The 4.3 release of Analytica introduced ''Structured Optimization'', a new set of features that eliminates many difficult steps previously required for structuring optimizations in Analytica. For example, it can use a set of decision variables of varying dimensions, instead of requiring you to combine and flatten them manually. It introduces Constraints as a new object class. It can discover automatically whether your objective is linear, quadratic, or nonlinear, and apply the appropriate solver engine --and a whole lot more.
  
Line 57: Line 57:
 
The pages in this guide can be read in any order. However, if you want to read the guide sequentially, there are links to the previous and next pages at the bottom of each page which will take the reader through all of the guide's pages in order.  
 
The pages in this guide can be read in any order. However, if you want to read the guide sequentially, there are links to the previous and next pages at the bottom of each page which will take the reader through all of the guide's pages in order.  
  
Throughout this guide, we use a shorthand notation for displaying the definitions of Analytica objects. An object’s class (e.g., Variable, Decision, Constraint, etc) and identifier is followed by ''':=''', and the definition is displayed on the right.
+
Throughout this guide, we use a shorthand notation to show the definitions of a variable or function. It lists the '''class''' of the object (Variable, Decision, Constraint, Objective, etc), its '''identifier, '''followed by ''':=''', and its '''definition:'''
  
 
[[File:1-1-new.png|400px]]
 
[[File:1-1-new.png|400px]]
  
In the above example, a Constraint object class with the identifier '''Volume Constraint''' is defined as '''Volume >= Required Volume'''.__NOTOC__
+
In this example, a '''Constraint''' with identifier '''Volume_Constraint''' has the '''Definition''' '''Volume >= Required Volume'''.__NOTOC__

Revision as of 23:42, 12 March 2016

This Guide explains how to use the Analytica Optimizer. It provides a Quick Start Tutorial and an introduction to the basic concepts of optimization, including linear, quadratic, and nonlinear programming (NLP), as well as special topics in NLP. However, it is not a complete textbook on optimization. For more challenging applications, you might find it useful to consult one of the many good textbooks on optimization.

Sections

Using this Guide

If you're new to Analytica

You will find it easier if you first learn the essentials of Analytica before learning the Analytica Optimizer described here. Start with the Analytica Tutorial to learn the basics of interacting with Analytica and its modeling language, especially Working with Arrays. It's important to have a good understanding of Intelligent Arrays to make good use of the Optimizer.

If you're new to the Analytica Optimizer

We recommend you to start with the Quick Start, an introductory tutorial that takes you through the key steps to create a simple optimization, including Structured Optimization, and Optimizing with Arrays. The section on Optimization Characteristics explains the general principles of optimization and the types of optimization, including Linear Programming (LP), Quadratic Programming (QP), and Non-Linear Programming (NLP). We also recommend reading Optimizing with Arrays to understand optimization with parametric analysis. Key Concepts: The Airline NLP Example explains dynamic and stochastic optimization with models that are dynamic (changing over time) and/or uncertain using Monte Carlo.

Structured Optimization

The 4.3 release of Analytica introduced Structured Optimization, a new set of features that eliminates many difficult steps previously required for structuring optimizations in Analytica. For example, it can use a set of decision variables of varying dimensions, instead of requiring you to combine and flatten them manually. It introduces Constraints as a new object class. It can discover automatically whether your objective is linear, quadratic, or nonlinear, and apply the appropriate solver engine --and a whole lot more.

So if you’ve used the Optimizer before, we strongly recommend that you read the Quick Start, which introduces Structured Optimization, and the Optimizing with Arrays section of this guide (at least). Even though Analytica 4.4 still supports functions from releases 4.2 and earlier of Optimizer for backward compatibility, you will likely want to learn and use the new functions instead.

Conventions Used in this Guide

Under the title of each page on this guide, the page's hierarchy and any parent pages are listed.

The pages in this guide can be read in any order. However, if you want to read the guide sequentially, there are links to the previous and next pages at the bottom of each page which will take the reader through all of the guide's pages in order.

Throughout this guide, we use a shorthand notation to show the definitions of a variable or function. It lists the class of the object (Variable, Decision, Constraint, Objective, etc), its identifier, followed by :=, and its definition:

1-1-new.png

In this example, a Constraint with identifier Volume_Constraint has the Definition Volume >= Required Volume.

Comments


You are not allowed to post comments.