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 
The dual Farkas for constraints of an infeasible LP problem 

Double 
The primal ray for variables of an unbounded LP problem 

Double 
Current best objective 

Double 
Current best objective bound 

Integer 
Whether an incumbent is available 

Double 
Objective value for current feasible solution candidate 

Double 
Current Objective of LPrelaxation 

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 

Integer 
The solution status of the LPrelaxation problem at the current node 
Problem information
Obj
Double information.
Objective cost of columns.
LB
Double information.
Lower bounds of columns or rows.
UB
Double information.
Upper bounds of columns or rows.
Solution information
Value
Double information.
Solution of columns.
Slack
Double information.
Solution of slack variables, also known as activities of constraints. Only available for LP problem.
Dual
Double information.
Solution of dual variables. Only available for LP problem.
RedCost
Double information.
Reduced cost of columns. Only available for LP problem.
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.
DualFarkas
Double 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.
PrimalRay
Double 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
RelaxLB
Double information.
Feasibility relaxation values for lower bounds of columns or rows.
RelaxUB
Double information.
Feasibility relaxation values for upper bounds of columns or rows.
RelaxValue
Double information.
Solutions for the original model variables (columns) in the feasibility relaxation model.
Callback information
BestObj
Double information.
Current best objective.
BestBnd
Double information.
Current best objective bound.
HasIncumbent
Integer information.
Whether an incumbent is available.
MipCandObj
Double information.
Objective value for current feasible solution candidate.
RelaxSolObj
Double information.
Current Objective of LPrelaxation.
RelaxSolObj
Double information.
Current Objective of LPrelaxation.
NodeStatus
Integer information.
The solution status of the LPrelaxation 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 of each programming language API reference manual:
C# API: C# API Reference: Information
Java API: Java API Reference: Information
Python API: Python API Reference: Information