Difference between revisions of "Analytica Optimizer Guide"

(wiki->docs)
 
(62 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=Table of Contents=
+
[[Category: Analytica Optimizer 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.
  
=Introduction=
+
__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]]
  
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.
+
==Using this Guide==
  
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.
+
==== 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 Analytica'''
+
==== 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.
  
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.
+
== Conventions Used in this Guide ==
  
'''If you're new to the Analytica Optimizer'''
+
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.
  
We suggest you start with Chapter 1, Quick Start, an introductory tutorial that takes you through the key steps to create a simple optimization.
+
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]]:
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'''
+
: [[File:1-1-new.png|400px]]
  
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.
+
In this example, a '''Constraint''' with identifier '''Volume_Constraint''' has the '''Definition'''  '''Volume >= Required Volume'''.
  
<!--==Introduction==
+
==See Also==
==== What is the Analytica Optimizer? ====
+
* [[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]]
  
===== Types of Optimization =====
 
  
===== Premium Solver Specifications =====
+
<footer>Analytica Docs / {{PAGENAME}} / Introduction to Optimizer</footer>
 
 
===== Optimize with Uncertain Values and Intelligent Arrays =====
 
 
 
===== Compatibility with Other Analytica Editors =====
 
 
 
==== 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.