Difference between revisions of "Error Messages/41323"
Line 4: | Line 4: | ||
(((3*(X^2))+4)<=8) | (((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 ''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''. | The linear optimization defined in ''Portfolio_QP'' contains a non-linear constraint ''Risk_thresh''. |
Revision as of 15:40, 31 January 2011
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.
Enable comment auto-refresher