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.

Table 15 COPT information

Name

Type

Description

Obj

Double

Objective cost of columns

LB

Double

Lower bounds of columns or rows

UB

Double

Upper bounds of columns or rows

Value

Double

Solution of columns

Slack

Double

Solution of slack variables, also known as activities of constraints. Only available for LP problem

Dual

Double

Solution of dual variables. Only available for LP problem

RedCost

Double

Reduced cost of columns. Only available for LP problem

DualFarkas

Double

The dual Farkas for constraints of an infeasible LP problem

PrimalRay

Double

The primal ray for variables of an unbounded LP problem

BestObj

Double

Current best objective

BestBnd

Double

Current best objective bound

HasIncumbent

Integer

Whether an incumbent is available

Incumbent

Double

Current best feasible solution

MipCandObj

Double

Objective value for current feasible solution candidate

MipCandidate

Double

Current feasible solution candidate

RelaxSolObj

Double

Current Objective of LP-relaxation

RelaxSolution

Double

Current solution of LP-relaxation

RelaxLB

Double

Feasibility relaxation values for lower bounds of columns or rows

RelaxUB

Double

Feasibility relaxation values for upper bounds of columns or rows

RelaxValue

Double

Solutions for the original model variables (columns) in the feasibility relaxation model

NodeStatus

Integer

The solution status of the LP-relaxation 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.

  • Incumbent

    Double information.

    Current best feasible solution.

  • MipCandObj

    Double information.

    Objective value for current feasible solution candidate.

  • MipCandidate

    Double information.

    Current feasible solution candidate.

  • RelaxSolObj

    Double information.

    Current Objective of LP-relaxation.

  • RelaxSolution

    Double information.

    Current solution of LP-relaxation.

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: