Minotaur 0.4.1
Docs for developers
Public Member Functions | Protected Attributes | List of all members
Minotaur::CxUnivarConstraintData Class Reference
Collaboration diagram for Minotaur::CxUnivarConstraintData:
Collaboration graph
[legend]

Public Member Functions

void initRelax (RelaxationPtr rel, DoubleVector &tmpX, DoubleVector &grad)
 Creates initial relaxations

 
void updateRelax (RelaxationPtr rel, DoubleVector &tmpX, DoubleVector &grad, ModVector &mods)
 Update the current relaxation based on current variable bounds.
 
bool isFeasible (const double *x)
 
double getViol (const std::vector< double > &x)
 
void addSecant (RelaxationPtr rel, ConstVariablePtr iv, ConstVariablePtr ov, FunctionPtr fn, DoubleVector &tmpX, bool init, ModVector &mods)
 
void addLin (RelaxationPtr rel, ConstVariablePtr iv, ConstVariablePtr ov, FunctionPtr fn, DoubleVector &tmpX, DoubleVector &grad, bool init, ModVector &mods)
 
ConstraintPtr getOriginalCon () const
 
ConstraintPtr getSecantCon () const
 
ConstVariablePtr getROutVar () const
 
ConstVariablePtr getRInputVar () const
 
ConstraintIterator linConsBegin ()
 
ConstraintIterator linConsEnd ()
 
char getSense ()
 
 CxUnivarConstraintData (double eTol, double vTol, ConstraintPtr newcon, ConstVariablePtr ovar, ConstVariablePtr ivar, char sense)
 Default constructor.
 
 ~CxUnivarConstraintData ()
 Destroy.
 

Protected Attributes

double eTol_
 Tolerance for constraint violation.
 
double vTol_
 Tolerance for when upper and lower bounds considered equal.
 
ConstraintPtr con_
 This is the constraint of the orginal problem.
 
ConstVariablePtr iv_
 
VariablePtr riv_
 
ConstVariablePtr ov_
 
VariablePtr rov_
 
char sense_
 
ConstraintPtr secCon_
 Secant constraint in the relaxation.
 
ConstraintVector linCons_
 Array of linearization constraints in the relaxation.
 

Member Data Documentation

◆ iv_

ConstVariablePtr Minotaur::CxUnivarConstraintData::iv_
protected

Input variable, i.e., x in y = f(x) This should be a pointer to the ‘original’ variable, look at corresponding bounds in the relaxation to get bounds

◆ ov_

ConstVariablePtr Minotaur::CxUnivarConstraintData::ov_
protected

Output variable, i.e., y in y = f(x) This is a pointer to the ‘original’ variable

◆ sense_

char Minotaur::CxUnivarConstraintData::sense_
protected

'L' => y <= f(x), so only add secants 'G' -> y >= f(x), so only add linearizations 'E' -> y == f(x), so do both


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

Minotaur source code documented by Doxygen 1.9.4 on Thu Apr 24 2025