OptStatusNum

Revision as of 20:22, 21 June 2007 by Lchrisman (talk | contribs)


LpStatusNum(lp) returns the status of the search for an optimal solution for a linear, quadratic or non-linear program. Typically this provides an indication of which conditioned caused the termination of the search. The result of LpStatusNum is a numeric value, while LpStatusText returns returns equivalent information in English.

requires Analytica Optimizer.

Analytica 4.0: The actual status codes returned have changed between Analytica 3.1 and Analytica 4.0. For Analytica 4.0, the following (needs to be cleaned up) listing provides a listing of the standard status codes:

	// Invalid status. Can be returned for API_QQ_RESTART_SOLVE.
	Optimize_Status_Invalid			= -3,
	// Ignore status. Used when dummy result code needs to be overridden.
	Optimize_Status_Ignore			= -2,
	// Invalid license status. (License expired, missing, invalid, etc.)
	Optimize_Status_Lic_Problem		= -1,
	// Optimal solution has been found.
	Optimize_Status_Optimal			= 0,
	// The Solver has converged to the current solution.
	Optimize_Status_Converged		= 1,
	// "No remedies" status. (All remedies failed to find better point.)
	Optimize_Status_No_Remedies		= 2,
	// Iterates limit reached. Indicates an early exit of the algorithm.
	Optimize_Status_Iterate_Limit	= 3,
	// Optimizing an unbounded objective function.
	Optimize_Status_Unbounded		= 4,
	// Feasible solution could not be found.
	Optimize_Status_Unfeasible		= 5,
	// Optimization aborted by user. Indicates an early exit of the algorithm.
	Optimize_Status_User_Abort		= 6,
	// Invalid linear model. Returned when a linearity assumption renders incorrect.
	Optimize_Status_Linear_Invalid	= 7,
	// Bad data set status. Returned when a problem data set renders inconsistent. 
	Optimize_Status_Bad_Dataset		= 8,
	// Float error status. (Internal float error.)
	Optimize_Status_Float_Err		= 9,
	// Time out status. Returned when the maximum allowed time has been exceeded. Indicates an early exit of the algorithm.
	Optimize_Status_Time_Out		= 10,
	// Memory dearth status. Returned when the system cannot allocate enough memory to perform the optimization.
	Optimize_Status_Memory_Dearth	= 11,
	// Interpretation error. (Parser, Diagnostics, or Executor error.)
	Optimize_Status_Interpret_Err	= 12,
	// Fatal API error. (API not responding.)
	Optimize_Status_Api_Err			= 13,
	// The Solver has found an integer solution within integer tolerance.
	Optimize_Status_Incumb_Cand		= 14,
	// Branching and bounding node limit reached. Indicates an early exit of the algorithm.
	Optimize_Status_Bbnode_Limit	= 15,
	// Branching and bounding maximum number of incumbent points reached. Indicates an early exit of the algorithm.
	Optimize_Status_Bbmips_Limit	= 16,
	// Probable global optimum reached. Returned when MSL (Bayesian) global optimality test has been satisfied.
	Optimize_Status_Probable		= 17,
	// Missing bounds status. Returned for EV/MSL Require Bounds when bounds are missing.
	Optimize_Status_Bounds_Missing	= 18,
	// Bounds conflict status. Indicates <=  = > = bounds conflict with existing binary or alldifferent constraints.
	Optimize_Status_Bounds_Conflict	= 19,
	// 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.
	Optimize_Status_Bounds_Inconsist	= 20,
	// Derivative error. Returned when API_Jacobian has not been able to compute gradients.
	Optimize_Status_Derivative_Err	= 21,
	// Cone overlap status. Returned when a variable appears in more than one cone.
	Optimize_Status_Cone_Overlap	= 22,
	// Exception occurred status. Returned when an exception has been caught by try/catch top-level.
	Optimize_Status_Exception			= 999,
	// Custom base status. (Base for Solver engine custom results.)
	Optimize_Status_Custom_Base	= 1000
        // The quadratic constraints are non-convex, the SOCP engine cannot solve this problem.
        Quadratic_Constraints_Not_Convex = 1102

In Analytica Optimizer 4.0, it is also possible to utilize add-on engines. When these are used, additional engine-specific codes may be returned.

See Also

Comments


You are not allowed to post comments.