Difference between revisions of "Analytica Optimizer Guide"

(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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.[[Category: Analytica Optimizer Guide]]
+
[[Category: Analytica Optimizer Guide]]
== Sections ==
+
 
* [[Introduction to the Guide|Introduction]]
+
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.
 +
 
 +
__NOTOC__
 +
== Chapters ==
 +
* [[Introduction to Optimizer]]
 
<!--#* Using the Analytica Optimizer Guide
 
<!--#* Using the Analytica Optimizer Guide
 
#* Obtaining Analytica Optimizer
 
#* Obtaining Analytica Optimizer
 
#* Activating Analytica Optimizer
 
#* Activating Analytica Optimizer
 
#* Installing Add-On Engines to Analytica Optimizer-->
 
#* Installing Add-On Engines to Analytica Optimizer-->
* [[Quick Start]]
+
* [[Optimizer Quick Start]]
 
<!--#* Intro to Structured Optimization
 
<!--#* Intro to Structured Optimization
 
#* Notation
 
#* Notation
Line 34: Line 38:
 
#* Solving Simultaneous Equations-->
 
#* Solving Simultaneous Equations-->
 
* [[Optimizing with Arrays]]
 
* [[Optimizing with Arrays]]
* [[Key Concepts: The Airline NLP Example]]
+
* [[Optimizer key concepts: Airline Example]]
* [[Optimizer Attribute Reference]]
+
* [[Optimizer Attributes]]
* [[Primary Optimization Functions]]
+
* [[Optimizer Functions]]
* [[Optimization Status Functions]]
+
* [[Optimizer control settings]]
* [[Control Settings]]
 
  
 
==Using this Guide==
 
==Using this Guide==
  
 
==== If you're new to Analytica ====
 
==== 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 [http://wiki.analytica.com/index.php?title=Analytica_Tutorial Analytica Tutorial] to learn the basics of interacting with Analytica and its modeling language, especially [http://wiki.analytica.com/index.php?title=Analytica_Tutorial#Working_with_Arrays_.28Tables.29 Working with Arrays]. It's important to have a good understanding of Intelligent Arrays to make good use of the Optimizer.
+
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 [[Analytica_Tutorial#Working_with_Arrays_.28Tables.29|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 ====
 
==== If you're new to the Analytica Optimizer ====
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.
+
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  [[Quick_Start#Introduction_to_Structured_Optimization|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|parametric analysis]]. [[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.
  
==== Structured Optimization ====
+
== Conventions Used in this Guide ==
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 [http://wiki.analytica.com/index.php?title=Quick_Start Quick Start], which introduces [http://wiki.analytica.com/index.php?title=Quick_Start#Introduction_to_Structured_Optimization Structured Optimization], and the [http://wiki.analytica.com/index.php?title=Optimizing_with_Arrays 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.
+
You can read the pages in this guide in any order. But, if you want to go through them sequentially, you can use the links to the previous and next pages at the bottom of each page.  
  
== Conventions Used in this Guide ==
+
This guide uses a simple shorthand to show the definition of a variable or function. It lists the [[class]] of the object (Variable, Decision, Constraint, Objective, etc), its [[identifier]], followed by [[Assignment Operator :=|:=]], and its [[definition]]:
Under the title of each page on this guide, the page's hierarchy and any parent pages are listed.
+
 
 +
: [[File:1-1-new.png|400px]]
  
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.  
+
In this example, a '''Constraint''' with identifier '''Volume_Constraint''' has the '''Definition'''  '''Volume >= Required Volume'''.
  
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:'''
+
==See Also==
 +
* [[Analytica Tutorial]]
 +
* [[Analytica User Guide]]
 +
* [[About_Analytica#Conventions_used_in_this_tutorial|Conventions used in  Analytica Tutorial]]
 +
* [[Typographic conventions in this guide|Conventions used in  Analytica User Guide]]
 +
* [[Expression Syntax]]
 +
* [[Expression Assist]]
  
[[File:1-1-new.png|400px]]
 
  
In this example, a '''Constraint''' with identifier '''Volume_Constraint''' has the '''Definition'''  '''Volume >= Required Volume'''.__NOTOC__
+
<footer>Analytica Wiki / {{PAGENAME}} / Introduction to Optimizer</footer>

Revision as of 17:40, 7 June 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.


Chapters

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.

Conventions Used in this Guide

You can read the pages in this guide in any order. But, if you want to go through them sequentially, you can use the links to the previous and next pages at the bottom of each page.

This guide uses a simple shorthand to show the definition 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.

See Also


Comments


You are not allowed to post comments.