Information
The information constants describe the relevant information of the model components (objective function, constraints and variables), solution results, and feasibility relaxation calculation results. This chapter will introduce the information constants provided by COPT and their meanings.
Name |
Type |
Description |
|---|---|---|
Double |
Objective cost of columns |
|
Double |
Lower bounds of columns or rows |
|
Double |
Upper bounds of columns or rows |
|
Double |
Solution of columns |
|
Double |
Solution of slack variables, also known as activities of constraints. Only available for LP problem |
|
Double |
Solution of dual variables. Only available for LP problem |
|
Double |
Reduced cost of columns. Only available for LP problem |
|
Double |
Indicates the minimum value to which the objective coefficient of a variable can be reduced while keeping the current basis optimal |
|
Double |
Indicates the maximum value to which the objective coefficient of a variable can be increased while keeping the current basis optimal |
|
Double |
Indicates the minimum value to which the lower bound of the variable/constraint can be reduced while keeping the current basis optimal |
|
Double |
Indicates the maximum value to which the lower bound of the variable/constraint can be increased while keeping the current basis optimal |
|
Double |
Indicates the minimum value to which the upper bound of the variable/constraint can be reduced while keeping the current basis optimal |
|
Double |
Indicates the maximum value to which the upper bound of the variable/constraint can be increased while keeping the current basis optimal |
|
Double |
The dual Farkas for constraints of an infeasible LP problem |
|
Double |
The primal ray for variables of an unbounded LP problem |
|
Double |
Feasibility relaxation values for lower bounds of columns or rows |
|
Double |
Feasibility relaxation values for upper bounds of columns or rows |
|
Double |
Solutions for the original model variables (columns) in the feasibility relaxation model |
Name |
Type |
Description |
|---|---|---|
Double |
Current best objective |
|
Double |
Current best objective bound |
|
Integer |
Whether an incumbent is available |
|
Double |
Current best feasible solution |
|
Double |
Objective value for current feasible solution candidate |
|
Double |
Current feasible solution candidate |
|
Double |
Current Objective of LP-relaxation |
|
Double |
Current solution of LP-relaxation |
|
Integer |
The solution status of the LP-relaxation problem at the current node |
Problem information
ObjDouble information.
Objective cost of columns.
LBDouble information.
Lower bounds of columns or rows.
UBDouble information.
Upper bounds of columns or rows.
Solution and sensitivity analysis information
ValueDouble information.
Solution of columns.
SlackDouble information.
Solution of slack variables, also known as activities of constraints. Only available for LP problem.
DualDouble information.
Solution of dual variables. Only available for LP problem.
RedCostDouble information.
Reduced cost of columns. Only available for LP problem.
SAObjLowDouble information.
Sensitivity analysis information of the objective coefficient.
Indicates the minimum value to which the objective coefficient of a variable can be reduced while keeping the current basis optimal.
SAObjUpDouble information.
Sensitivity analysis information of the objective coefficient.
Indicates the maximum value to which the objective coefficient of a variable can be increased while keeping the current basis optimal.
SALBLowDouble information.
Sensitivity analysis information of the lower bound of the variable/constraint.
Indicates the minimum value to which the lower bound of the variable/constraint can be reduced while keeping the current basis optimal.
SALBUpDouble information.
Sensitivity analysis information of the lower bound of the variable/constraint.
Indicates the maximum value to which the lower bound of the variable/constraint can be increased while keeping the current basis optimal.
SAUBLowDouble information.
Sensitivity analysis information of the upper bound of the variable/constraint.
Indicates the minimum value to which the upper bound of the variable/constraint can be reduced while keeping the current basis optimal.
SAUBUpDouble information.
Sensitivity analysis information of the upper bound of the variable/constraint.
Indicates the maximum value to which the upper bound of the variable/constraint can be increased while keeping the current basis optimal.
Dual Farkas and primal ray
Advanced topic. When an LP is infeasible or unbounded, the solver can return the dual Farkas or primal ray to prove it.
DualFarkasDouble information.
The dual Farkas for constraints of an infeasible LP problem. Please enable the parameter
"ReqFarkasRay"to ensure that the dual Farkas is available when the LP is infeasible.Without loss of generality, the concept of the dual Farkas can be conveniently demonstrated using an LP problem with general variable bounds and equality constraints: \(Ax = 0 \text{ and } l \leq x \leq u\). When the LP is infeasible, a dual Farkas vector \(y\) can prove that the system has conflict that \(\max y^TAx < y^T b = 0\). Computing \(\max y^TAx\): with the vector \(\hat{a} = y^TA\), choosing variable bound \(x_i = l_i\) when \(\hat{a}_i < 0\) and \(x_i = u_i\) when \(\hat{a}_i > 0\) gives the maximal possible value of \(y^TAx\) for any \(x\) within their bounds.
Some application relies on the alternate conflict \(\min \bar{y}^TAx > \bar{y}^T b = 0\). This can be achieved by negating the dual Farkas, i.e. \(\bar{y}=-y\) returned by the solver.
In very rare cases, the solver may fail to return a valid dual Farkas. For example when the LP problem slightly infeasible by tiny amount, which We recommend to study and to repair the infeasibility using FeasRelax instead.
PrimalRayDouble information.
The primal ray for variables of an unbounded LP problem. Please enable the parameter
"ReqFarkasRay"to ensure that the primal ray is available when an LP is unbounded.For a minimization LP problem in the standard form: \(\min c^T x, Ax = b \text{ and } x \geq 0\), a primal ray vector \(r\) satisfies that \(r \geq 0, Ar = 0 \text{ and } c^T r < 0\).
Feasibility relaxation information
RelaxLBDouble information.
Feasibility relaxation values for lower bounds of columns or rows.
RelaxUBDouble information.
Feasibility relaxation values for upper bounds of columns or rows.
RelaxValueDouble information.
Solutions for the original model variables (columns) in the feasibility relaxation model.
Callback information
BestObjDouble information.
Current best objective.
BestBndDouble information.
Current best objective bound.
HasIncumbentInteger information.
Whether an incumbent is available.
IncumbentDouble information.
Current best feasible solution.
MipCandObjDouble information.
Objective value for current feasible solution candidate.
MipCandidateDouble information.
Current feasible solution candidate.
RelaxSolObjDouble information.
Current Objective of LP-relaxation.
RelaxSolutionDouble information.
Current solution of LP-relaxation.
NodeStatusInteger information.
The solution status of the LP-relaxation problem at the current node. For possible values, please refer to: General Constants Chapter: Solution Status (Part), except for
NODELIMIT,UNSTARTED,INF_OR_UNB.
Methods for accessing information
In different programming interfaces, the ways to access and set information are slightly different. For details, please refer to the corresponding chapters for each programming language API:
C# API: C# API Reference: Information
Java API: Java API Reference: Information
Python API: Python API Reference: Information