Difference between revisions of "Analytica Optimizer Guide"

(wiki->docs)
 
(63 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=Introduction=
+
[[Category: Analytica Optimizer Guide]]
  
This Guide explains how to use the Analytica Optimizer, which enhances Analytica 4.6 with powerful functions for finding optimal decisions and solving difficult equations.
+
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.
  
It provides a Quick Start Tutorial in Chapter 1 and an introduction to the basic concepts of optimization, including linear, quadratic, and nonlinear programming in Chapter 2. Special topics for NLPs are also covered in Chapter 4. But, it's not a complete textbook on optimization. You might find it useful, especially for more challenging applications, to consult one of the many good textbooks on optimization.
+
__NOTOC__
 +
== Chapters ==
 +
* [[Introduction to Optimizer]]
 +
<!--#* Using the Analytica Optimizer Guide
 +
#* Obtaining Analytica Optimizer
 +
#* Activating Analytica Optimizer
 +
#* Installing Add-On Engines to Analytica Optimizer-->
 +
* [[Optimizer Quick Start]]
 +
<!--#* Intro to Structured Optimization
 +
#* Notation
 +
#* The Optimum Can Example
 +
#** Decisions
 +
#** Constants
 +
#** Variables
 +
#** Constraints
 +
#** Objectives
 +
#** The DefineOptimization() function
 +
#** Viewing the Optimization Object
 +
#** Obtaining the Solution
 +
#** Obtaining the Optimized Objective Value
 +
#** Viewing Optimization Status
 +
#** Copying Optimized Results to Definitions
 +
#** Changing Variable Types (Domain)
 +
#** Setting Bounds on Decision Values
 +
#** Using Parametric Analysis with Optimization
 +
#** The Initial Guess Attribute
 +
#* Summary-->
 +
* [[Optimization Characteristics]]
 +
<!--#* Introduction
 +
#* Parts of an Optimization Problem: General Description
 +
#* Identifying the Type of Optimization
 +
#* Specific Optimization Characteristics
 +
#* Continuous, Integer and Mixed-Integer Programs
 +
#* Solving Simultaneous Equations-->
 +
* [[Optimizing with Arrays]]
 +
* [[Optimizer key concepts: Airline Example]]
 +
* [[Optimizer Attributes]]
 +
* [[Optimizer Functions]]
 +
* [[Optimizer control settings]]
  
'''If you're new to Analytica'''
+
==Using this Guide==
  
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 Chapter 5, 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 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 [[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 [[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.
  
We suggest you start with Chapter 1, Quick Start, an introductory tutorial that takes you through the key steps to create a simple optimization.
+
== Conventions Used in this Guide ==
Then you should go on to Chapter 2, Optimization characteristics, which 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 Chapter 3, Optimizing with Arrays to master optimization with parametric analysis. Chapter 4 explains how to use optimization in models having dynamic influences and Monte Carlo-based uncertainties.
 
  
'''If you've used Analytica Optimizer 4.2 or earlier'''
+
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.  
  
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 learn about these new features so you can take full advantage of them and then read Chapter 1, Quick Start, and Chapter 4, Optimizing with Intelligent Arrays (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.
+
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]]:
  
<!--==Introduction==
+
: [[File:1-1-new.png|400px]]
==== What is the Analytica Optimizer? ====
 
  
===== Types of Optimization =====
+
In this example, a '''Constraint''' with identifier '''Volume_Constraint''' has the '''Definition'''  '''Volume >= Required Volume'''.
  
===== Premium Solver Specifications =====
+
==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]]
  
===== Optimize with Uncertain Values and Intelligent Arrays =====
 
  
===== Compatibility with Other Analytica Editors =====
+
<footer>Analytica Docs / {{PAGENAME}} / Introduction to Optimizer</footer>
 
 
==== Obtaining the Analytica Optimizer ====
 
-->
 

Latest revision as of 21:12, 7 August 2024


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.