Open
Graph Drawing
Framework

 v. 2022.02 (Dogwood)
 

abacus::InfeasCon Class Reference

Infeasible constraints. More...

#include <ogdf/lib/abacus/infeascon.h>

+ Inheritance diagram for abacus::InfeasCon:

Public Types

enum  INFEAS { TooSmall = -1, Feasible, TooLarge }
 The different ways of infeasibility of a constraint. More...
 

Public Member Functions

 InfeasCon (Master *master, Constraint *con, INFEAS inf)
 The constructor. More...
 
Constraintconstraint () const
 Returns a pointer to the infeasible constraint. More...
 
bool goodVar (const Variable *v) const
 Returns true if the variable v might reduce the infeasibility, false otherwise. More...
 
INFEAS infeas () const
 Returns the way of infeasibility of the constraint. More...
 
- Public Member Functions inherited from abacus::AbacusRoot
virtual ~AbacusRoot ()
 The destructor. More...
 

Private Attributes

Constraintconstraint_
 A pointer to the infeasible constraint. More...
 
INFEAS infeas_
 The way of infeasibility. More...
 
Mastermaster_
 A pointer to the corresponding master of the optimization. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from abacus::AbacusRoot
static bool ascii2bool (const string &str)
 Converts the string str to a boolean value. More...
 
static bool endsWith (const string &str, const string &end)
 Returns true if str ends with end, false otherwise. More...
 
static double fracPart (double x)
 Returns the absolute value of the fractional part of x. More...
 
static const char * onOff (bool value)
 Converts a boolean variable to the strings "on" and "off". More...
 

Detailed Description

Infeasible constraints.

If a constraint is transformed from its pool to the row format it may turn out that the constraint is infeasible since variables are fixed or set such that all nonzero coefficients of the left hand side are eliminated and the right hand side has to be updated. The enumeration INFEAS indicates if the constraint's left hand side, which is implicitly zero, is either TooLarge, Feasible, or TooSmall.

Definition at line 51 of file infeascon.h.

Member Enumeration Documentation

◆ INFEAS

The different ways of infeasibility of a constraint.

Enumerator
TooSmall 

The left hand side is too small for the right hand side.

Feasible 

The constraint is not infeasible.

TooLarge 

The left hand side is too large for the right hand side.

Definition at line 55 of file infeascon.h.

Constructor & Destructor Documentation

◆ InfeasCon()

abacus::InfeasCon::InfeasCon ( Master master,
Constraint con,
INFEAS  inf 
)
inline

The constructor.

Parameters
masterA pointer to the corresponding master of the optimization.
conThe infeasible constraint.
infThe way of infeasibility.

Definition at line 67 of file infeascon.h.

Member Function Documentation

◆ constraint()

Constraint* abacus::InfeasCon::constraint ( ) const
inline

Returns a pointer to the infeasible constraint.

Definition at line 74 of file infeascon.h.

◆ goodVar()

bool abacus::InfeasCon::goodVar ( const Variable v) const

Returns true if the variable v might reduce the infeasibility, false otherwise.

Parameters
vA variable for which we test if its addition might reduce infeasibility.

◆ infeas()

INFEAS abacus::InfeasCon::infeas ( ) const
inline

Returns the way of infeasibility of the constraint.

Definition at line 78 of file infeascon.h.

Member Data Documentation

◆ constraint_

Constraint* abacus::InfeasCon::constraint_
private

A pointer to the infeasible constraint.

Definition at line 92 of file infeascon.h.

◆ infeas_

INFEAS abacus::InfeasCon::infeas_
private

The way of infeasibility.

Definition at line 95 of file infeascon.h.

◆ master_

Master* abacus::InfeasCon::master_
private

A pointer to the corresponding master of the optimization.

Definition at line 89 of file infeascon.h.


The documentation for this class was generated from the following file: