Minotaur 0.4.1
Docs for developers
Public Member Functions | List of all members
Minotaur::SecantMod Class Reference

#include <SecantMod.h>

Inheritance diagram for Minotaur::SecantMod:
Inheritance graph
[legend]
Collaboration diagram for Minotaur::SecantMod:
Collaboration graph
[legend]

Public Member Functions

 SecantMod (ConstraintPtr con, LinearFunctionPtr new_lf, double new_rhs, VariablePtr x, BoundType lu, double new_b, VariablePtr y)
 Construct.
 
 ~SecantMod ()
 Destroy.
 
void applyToProblem (ProblemPtr problem)
 Apply it to the problem. More...
 
ModificationPtr toRel (ProblemPtr, RelaxationPtr) const
 Covert a modification for a problem to one for its relaxation. More...
 
ModificationPtr fromRel (RelaxationPtr, ProblemPtr) const
 Covert a modification for a relaxation to one for its original problem. More...
 
void undoToProblem (ProblemPtr problem)
 Restore the modification for a problem. More...
 
VariablePtr getY ()
 Get the auxiliary variable or variable y where $y <= x^2$.
 
void write (std::ostream &) const
 Write it to 'out'. More...
 
- Public Member Functions inherited from Minotaur::Modification
virtual ~Modification ()
 Default destroy.
 
virtual ModificationPtr fromRel (RelaxationPtr rel, ProblemPtr p) const =0
 Covert a modification for a relaxation to one for its original problem. More...
 
virtual ModificationPtr toRel (ProblemPtr p, RelaxationPtr rel) const =0
 Covert a modification for a problem to one for its relaxation. More...
 
virtual void applyToProblem (ProblemPtr problem)=0
 Apply it to the problem. More...
 
virtual void undoToProblem (ProblemPtr problem)=0
 Restore the modification for a problem. More...
 
virtual void write (std::ostream &out) const =0
 Write it to 'out'. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Minotaur::Modification
 Modification ()
 Default constructor.
 

Detailed Description

Modification of a single linear constraint and its upper bound. An old constraint: nlf + qf + lf <= ub

is changed to:

nlf + qf + new_lf <= new_ub

Member Function Documentation

◆ applyToProblem()

void SecantMod::applyToProblem ( ProblemPtr  problem)
virtual

Apply it to the problem.

Implements Minotaur::Modification.

◆ fromRel()

ModificationPtr Minotaur::SecantMod::fromRel ( RelaxationPtr  rel,
ProblemPtr  p 
) const
inlinevirtual

Covert a modification for a relaxation to one for its original problem.

Parameters
[in]relRelaxation for which this mod is applicable.
[in]pProblem for which the new mod will be applicable.
Returns
Modification applicable to p

Implements Minotaur::Modification.

◆ toRel()

ModificationPtr Minotaur::SecantMod::toRel ( ProblemPtr  p,
RelaxationPtr  rel 
) const
inlinevirtual

Covert a modification for a problem to one for its relaxation.

Parameters
[in]pProblem for which this mod is applicable.
[in]relRelaxation for which the new mod will be applicable.
Returns
Modification applicable to rel.

Implements Minotaur::Modification.

◆ undoToProblem()

void SecantMod::undoToProblem ( ProblemPtr  problem)
virtual

Restore the modification for a problem.

Implements Minotaur::Modification.

◆ write()

void Minotaur::SecantMod::write ( std::ostream &  out) const
inlinevirtual

Write it to 'out'.

Implements Minotaur::Modification.


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