Difference between revisions of "Error Messages/41323"

 
Line 1: Line 1:
= Example Error Messages =
+
[[Category: Error messages]]
  
  The first constraint specified in the linear optimization problem defined in ''My_opt'' is non-linear:
+
== Example error messages ==
     (((3*(X^2))+4)<=8)
+
<pre style="background:white; border:white; margin-left: 1em; font-style:italic">
 +
  The first constraint specified in the linear optimization problem defined in 'My_opt' is non-linear:
 +
     (((3*(X^2)) + 4) <= 8)
  
  The linear optimization defined in ''My_opt'' contains the non-linear constraint ''Inventory_requirement''.  The non-linearity  
+
  The linear optimization defined in 'My_opt' contains the non-linear constraint 'Inventory_requirement'.
  was first detected in ''Variable Customer_growth_pot''.
+
  The non-linearity  was first detected in 'Variable Customer_growth_pot'.
  
  The linear optimization defined in ''Portfolio_QP'' contains a non-linear constraint ''Risk_thresh''.
+
  The linear optimization defined in 'Portfolio_QP' contains a non-linear constraint 'Risk_thresh'.
 +
</pre>
  
= Cause =
+
== Cause ==
  
In the specification of your optimization problem using [[DefineOptimization]], you have specified the type of optimization problem in the «type» parameter.  When [[DefineOptimization]] analyzed your model, it found that a constraint was not of the specified type.  For example, if you declare <code>type:"LP"</code>, but a constraint turns out to be a non-linear function of the decision variables, than this message results.
+
In the specification of your optimization problem using [[DefineOptimization]], you have specified the type of optimization problem in the «type» parameter.  When [[DefineOptimization]] analyzed your model, it found that a constraint was not of the specified type.  For example, if you declare <code>type: "LP"</code>, but a constraint turns out to be a non-linear function of the decision variables, than this message results.
  
 
In some cases, Analytica may conclude that a constraint is non-linear or non-quadratic when intermediate computations involve non-quadratic, or potentially non-quadratic, operations.  A simple example would be:
 
In some cases, Analytica may conclude that a constraint is non-linear or non-quadratic when intermediate computations involve non-quadratic, or potentially non-quadratic, operations.  A simple example would be:
  
  (x^3 - 7) - x^3
+
:<code>(x^3 - 7) - x^3</code>
  
 
Although this is a quadratic relationship of the decision variable ''x'', an intermediate involves a non-quadratic (''x^3''), and hence Analytica will conclude that the relationship is not quadratic.   
 
Although this is a quadratic relationship of the decision variable ''x'', an intermediate involves a non-quadratic (''x^3''), and hence Analytica will conclude that the relationship is not quadratic.   
  
= Remedy =
+
== Remedy ==
  
 
[[DefineOptimization]] allows you to specify the «type» explicitly so that you can catch cases where non-linearity or non-quadraticity is accidentally introduced into the model.  Since linear and quadratic problems usually solve faster and more reliably, odds are that you'll want to remove the non-linearity or non-quadratic operation.
 
[[DefineOptimization]] allows you to specify the «type» explicitly so that you can catch cases where non-linearity or non-quadraticity is accidentally introduced into the model.  Since linear and quadratic problems usually solve faster and more reliably, odds are that you'll want to remove the non-linearity or non-quadratic operation.
  
If you decide to relax your optimization, say to a non-linear optimization, you can either remove the «type» parameter entirely from your call to [[DefineOptimization]], or set it to <code>type:"NLP"</code>.  If you set it <code>type:"NLP"</code>, you can save time by allowing [[DefineOptimization]] skip its attempt to determine whether the model is linear or quadratic.
+
If you decide to relax your optimization, say to a non-linear optimization, you can either remove the «type» parameter entirely from your call to [[DefineOptimization]], or set it to <code>type: "NLP"</code>.  If you set it <code>type: "NLP"</code>, you can save time by allowing [[DefineOptimization]] skip its attempt to determine whether the model is linear or quadratic.
 
 
= See Also =
 
  
 +
== See Also ==
 
* [[DefineOptimization]]
 
* [[DefineOptimization]]
 +
* [[Analytica Optimizer Guide]]

Latest revision as of 22:43, 16 March 2016


Example error messages

 The first constraint specified in the linear optimization problem defined in 'My_opt' is non-linear:
     (((3*(X^2)) + 4) <= 8)

 The linear optimization defined in 'My_opt' contains the non-linear constraint 'Inventory_requirement'.  
 The non-linearity  was first detected in 'Variable Customer_growth_pot'.

 The linear optimization defined in 'Portfolio_QP' contains a non-linear constraint 'Risk_thresh'.

Cause

In the specification of your optimization problem using DefineOptimization, you have specified the type of optimization problem in the «type» parameter. When DefineOptimization analyzed your model, it found that a constraint was not of the specified type. For example, if you declare type: "LP", but a constraint turns out to be a non-linear function of the decision variables, than this message results.

In some cases, Analytica may conclude that a constraint is non-linear or non-quadratic when intermediate computations involve non-quadratic, or potentially non-quadratic, operations. A simple example would be:

(x^3 - 7) - x^3

Although this is a quadratic relationship of the decision variable x, an intermediate involves a non-quadratic (x^3), and hence Analytica will conclude that the relationship is not quadratic.

Remedy

DefineOptimization allows you to specify the «type» explicitly so that you can catch cases where non-linearity or non-quadraticity is accidentally introduced into the model. Since linear and quadratic problems usually solve faster and more reliably, odds are that you'll want to remove the non-linearity or non-quadratic operation.

If you decide to relax your optimization, say to a non-linear optimization, you can either remove the «type» parameter entirely from your call to DefineOptimization, or set it to type: "NLP". If you set it type: "NLP", you can save time by allowing DefineOptimization skip its attempt to determine whether the model is linear or quadratic.

See Also

Comments


You are not allowed to post comments.