Difference between revisions of "Optimization Status Functions"
Line 16: | Line 16: | ||
!Status Text | !Status Text | ||
|- | |- | ||
− | + | !<nowiki>-3</nowiki> | |
|Invalid status. | |Invalid status. | ||
|- | |- | ||
− | + | !<nowiki>-2</nowiki> | |
|Ignore status. Used when dummy result code needs to be overridden. | |Ignore status. Used when dummy result code needs to be overridden. | ||
|- | |- | ||
− | + | !<nowiki>-1</nowiki> | |
|Invalid license status. (License expired, missing, invalid, etc.) | |Invalid license status. (License expired, missing, invalid, etc.) | ||
|- | |- | ||
− | + | !0 | |
|Optimal solution has been found. | |Optimal solution has been found. | ||
|- | |- | ||
− | + | !1 | |
|The Solver has converged to the current solution. | |The Solver has converged to the current solution. | ||
|- | |- | ||
− | + | !2 | |
|“No remedies” status. (All remedies failed to find better point.) | |“No remedies” status. (All remedies failed to find better point.) | ||
|- | |- | ||
− | + | !3 | |
|Iterates limit reached. Indicates an early exit of the algorithm. | |Iterates limit reached. Indicates an early exit of the algorithm. | ||
|- | |- | ||
− | + | !4 | |
|Optimizing an unbounded objective function. | |Optimizing an unbounded objective function. | ||
|- | |- | ||
− | + | !5 | |
|Feasible solution could not be found. | |Feasible solution could not be found. | ||
|- | |- | ||
− | + | !6 | |
|Optimization aborted by user. Indicates an early exit of the algorithm. | |Optimization aborted by user. Indicates an early exit of the algorithm. | ||
|- | |- | ||
− | + | !7 | |
|Invalid linear model. Returned when a linearity assumption renders incorrect. | |Invalid linear model. Returned when a linearity assumption renders incorrect. | ||
|- | |- | ||
− | + | !8 | |
|Bad data set status. Returned when a problem data set renders inconsistent | |Bad data set status. Returned when a problem data set renders inconsistent | ||
|- | |- | ||
− | + | !9 | |
|Float error status. (Internal float error.) | |Float error status. (Internal float error.) | ||
|- | |- | ||
− | + | !10 | |
− | |Time out status. Returned when the maximum allowed time has been exceeded. Indicates an early exit of the | + | |Time out status. Returned when the maximum allowed time has been exceeded. Indicates an early exit of the algorithm. |
− | algorithm. | ||
|- | |- | ||
− | + | !11 | |
|Memory dearth status. Returned when the system cannot allocate enough memory to perform the optimization. | |Memory dearth status. Returned when the system cannot allocate enough memory to perform the optimization. | ||
|- | |- | ||
− | + | !12 | |
|Interpretation error. (Parser, Diagnostics, or Executor error.) | |Interpretation error. (Parser, Diagnostics, or Executor error.) | ||
|- | |- | ||
− | + | !13 | |
|Fatal API error. (API not responding.) | |Fatal API error. (API not responding.) | ||
|- | |- | ||
− | + | !14 | |
|The Solver has found an integer solution within integer tolerance. | |The Solver has found an integer solution within integer tolerance. | ||
|- | |- | ||
− | + | !15 | |
|Branching and bounding node limit reached. Indicates an early exit of the algorithm. | |Branching and bounding node limit reached. Indicates an early exit of the algorithm. | ||
|- | |- | ||
− | + | !16 | |
− | |Branching and bounding maximum number of incumbent points reached. Indicates an early exit of the | + | |Branching and bounding maximum number of incumbent points reached. Indicates an early exit of the algorithm. |
− | algorithm. | ||
|- | |- | ||
− | + | !17 | |
|Probable global optimum reached. Returned when MSL (Bayesian) global optimality test has been satisfied. | |Probable global optimum reached. Returned when MSL (Bayesian) global optimality test has been satisfied. | ||
|- | |- | ||
− | + | !18 | |
|Missing bounds status. Returned for EV/MSL Require Bounds when bounds are missing. | |Missing bounds status. Returned for EV/MSL Require Bounds when bounds are missing. | ||
|- | |- | ||
− | + | !19 | |
|Bounds conflict status. Indicates <=, =>, = bounds conflict with existing binary or all different constraints. | |Bounds conflict status. Indicates <=, =>, = bounds conflict with existing binary or all different constraints. | ||
|- | |- | ||
− | + | !20 | |
− | |Bounds inconsistency status. Returned when the lower bound value of a variable is grater than the upper bound | + | |Bounds inconsistency status. Returned when the lower bound value of a variable is grater than the upper bound value, i.e., lb[i] > ub[i] for some variable bound i. |
− | value, i.e., lb[i] > ub[i] for some variable bound i. | ||
|- | |- | ||
− | + | !21 | |
|Derivative error. Returned when API_Jacobian has not been able to compute gradients. | |Derivative error. Returned when API_Jacobian has not been able to compute gradients. | ||
|- | |- | ||
− | + | !22 | |
|Cone overlap status. Returned when a variable appears in more than one cone. | |Cone overlap status. Returned when a variable appears in more than one cone. | ||
|- | |- | ||
− | + | !999 | |
|Exception occurred status. Returned when an exception has been caught by try/catch top-level. | |Exception occurred status. Returned when an exception has been caught by try/catch top-level. | ||
|- | |- | ||
− | + | !1000 | |
|Custom base status. (Base for Solver engine custom results.) | |Custom base status. (Base for Solver engine custom results.) | ||
|- | |- | ||
− | + | !1102 | |
|The quadratic constraints are non-convex, the SOCP engine cannot solve this problem. | |The quadratic constraints are non-convex, the SOCP engine cannot solve this problem. | ||
|} | |} | ||
− | + | ==OptInfo(Opt, Item, ''Decision, Constraint, asRef'')== | |
+ | [[OptInfo]]() is a varsatile function that can reveal any available details of the optimization. | ||
+ | The most common information available through OptInfo() can also be viewed by evaluating the DefineOptimization() function and doulble-clicking the encoded object (e.g. | ||
+ | <<LP>>). This opens a hierarchy of information and click-able reference objects that | ||
+ | reveal finer levels of detail. | ||
− | + | <big>'''Parameters'''</big> | |
+ | |||
+ | '''«Opt»''' | ||
+ | |||
+ | Type: ''variable'' | ||
+ | |||
+ | Identifies the node defined using DefineOptimization(). | ||
+ | |||
+ | '''«Item»''' | ||
+ | |||
+ | Type: ''text'' | ||
+ | |||
+ | The characteristic of the optimization you are interested in. | ||
+ | |||
+ | '''«Decision»''', '''«Constraint»'''' | ||
+ | |||
+ | Type: ''variable, optional'' | ||
+ | |||
+ | Optional «Decision» and «Constraint» parameters can filter information to be relevant to individual decisions and constraints. | ||
+ | |||
+ | '''«asRef»''' | ||
+ | |||
+ | A Boolean value (0 or 1). If <code>True</code> (1), the result will be encoded in a clickable reference object. | ||
+ | |||
+ | The following table shows the relevance of various information items to optimization | ||
+ | engines, along with a description of the information revealed. | ||
Revision as of 22:35, 30 December 2015
Optimization status functions can reveal important details such as the selected engine matrix coefficients, and other information that may be helpful with troubleshooting.
OptStatusNum(Opt) / OptStatusText(Opt)
Returns the status number as an integer and corresponding text message, respectively, of the optimization problem «Opt». It is wise to examine the status before evaluating [[Opt Solution]]() to avoid an error message. Possible results are shown in the table below.
Status Number | Status Text |
---|---|
-3 | Invalid status. |
-2 | Ignore status. Used when dummy result code needs to be overridden. |
-1 | Invalid license status. (License expired, missing, invalid, etc.) |
0 | Optimal solution has been found. |
1 | The Solver has converged to the current solution. |
2 | “No remedies” status. (All remedies failed to find better point.) |
3 | Iterates limit reached. Indicates an early exit of the algorithm. |
4 | Optimizing an unbounded objective function. |
5 | Feasible solution could not be found. |
6 | Optimization aborted by user. Indicates an early exit of the algorithm. |
7 | Invalid linear model. Returned when a linearity assumption renders incorrect. |
8 | Bad data set status. Returned when a problem data set renders inconsistent |
9 | Float error status. (Internal float error.) |
10 | Time out status. Returned when the maximum allowed time has been exceeded. Indicates an early exit of the algorithm. |
11 | Memory dearth status. Returned when the system cannot allocate enough memory to perform the optimization. |
12 | Interpretation error. (Parser, Diagnostics, or Executor error.) |
13 | Fatal API error. (API not responding.) |
14 | The Solver has found an integer solution within integer tolerance. |
15 | Branching and bounding node limit reached. Indicates an early exit of the algorithm. |
16 | Branching and bounding maximum number of incumbent points reached. Indicates an early exit of the algorithm. |
17 | Probable global optimum reached. Returned when MSL (Bayesian) global optimality test has been satisfied. |
18 | Missing bounds status. Returned for EV/MSL Require Bounds when bounds are missing. |
19 | Bounds conflict status. Indicates <=, =>, = bounds conflict with existing binary or all different constraints. |
20 | Bounds inconsistency status. Returned when the lower bound value of a variable is grater than the upper bound value, i.e., lb[i] > ub[i] for some variable bound i. |
21 | Derivative error. Returned when API_Jacobian has not been able to compute gradients. |
22 | Cone overlap status. Returned when a variable appears in more than one cone. |
999 | Exception occurred status. Returned when an exception has been caught by try/catch top-level. |
1000 | Custom base status. (Base for Solver engine custom results.) |
1102 | The quadratic constraints are non-convex, the SOCP engine cannot solve this problem. |
OptInfo(Opt, Item, Decision, Constraint, asRef)
OptInfo() is a varsatile function that can reveal any available details of the optimization. The most common information available through OptInfo() can also be viewed by evaluating the DefineOptimization() function and doulble-clicking the encoded object (e.g. <<LP>>). This opens a hierarchy of information and click-able reference objects that reveal finer levels of detail.
Parameters
«Opt»
Type: variable
Identifies the node defined using DefineOptimization().
«Item»
Type: text
The characteristic of the optimization you are interested in.
«Decision», «Constraint»'
Type: variable, optional
Optional «Decision» and «Constraint» parameters can filter information to be relevant to individual decisions and constraints.
«asRef»
A Boolean value (0 or 1). If True
(1), the result will be encoded in a clickable reference object.
The following table shows the relevance of various information items to optimization engines, along with a description of the information revealed.
See Also
- OptStatusNum()
- OptStatusText()
- OptInfo()
- OptEngineInfo()
- OptShadow()
- [[OptReducedCost]()
- OptObjectiveSa()
- OptRhsSa()
- OptSlack()
- OptFindIIS()
- OptWriteIIS()
- OptRead()
- [[OptWrite]()
- Category: Optimization Functions
Enable comment auto-refresher