IpoptInterface Class Reference

This is class provides an Osi interface for Ipopt (so that we can use it for example as the continuous solver in Cbc). More...

#include <IpoptInterface.hpp>

Inheritance diagram for IpoptInterface:

Inheritance graph
[legend]
Collaboration diagram for IpoptInterface:

Collaboration graph
[legend]
List of all members.

Cached information on the problem

void freeCachedColRim ()
 Free cached data relative to variables.
void freeCachedRowRim ()
 Free cached data relative to constraints.
void freeCachedData ()
 Free all cached data.
void extractSenseRhsAndRange () const
 Extract rowsense_ vector rhs_ vector and rowrange_ vector from the lower and upper bounds on the constraints.
char * rowsense_
 Pointer to dense vector of row sense indicators.
double * rhs_
 Pointer to dense vector of row right-hand side values.
double * rowrange_
 Pointer to dense vector of slack upper bounds for range constraints (undefined for non-range rows).
double * reducedCosts_
 Pointer to dense vector of reduced costs.
double OsiDualObjectiveLimit_
 DualObjectiveLimit is used to store the cutoff in Cbc.
Ipopt::ApplicationReturnStatus optimization_status_
 Return status of the Ipopt optimization.
std::string * varNames_
 Variable names.
bool hasVarNamesFile_
 does the file variable names exists (will check automatically).

Public Types

 SOLUTION_FOUND
 found a feasible solution
 INFEASIBLE_SOLUTION_FOUND
 found an infeasible problem
 UNSOLVED_PROBLEM_FOUND
 found an unsolved problem
 WARNING_RESOLVING
 Warn that a problem is resolved.
 WARN_SUCCESS_WS
 Problem not solved with warm start but solved without.
 WARN_SUCCESS_RANDOM
 Subproblem not solve with warm start but solved with random point.
 WARN_CONTINUING_ON_FAILURE
 a failure occured but is continuing
 SUSPECT_PROBLEM
 Output the number of the problem.
 SUSPECT_PROBLEM2
 Output the number of the problem.
 IPOPT_SUMMARY
 Output summary statistics on Ipopt solution.
 BETTER_SOL
 Found a better solution with random values.
 LOG_HEAD
 Head of "civilized" log.
 LOG_FIRST_LINE
 First line (first solve) of log.
 LOG_LINE
 standard line (retry solving) of log.
 WARN_RESOLVE_BEFORE_INITIAL_SOLVE
 resolve() has been called but there was no previous call to initialSolve().
 WARN_NONCONVEX_OA
 An OA is taken for an equality constraint warm that it is dangerous.
 WARN_FREEDOM
 Too many equalities and not enough variables in the problems.
 IPOTPINTERFACE_DUMMY_END
enum  MessagesTypes {
  SOLUTION_FOUND, INFEASIBLE_SOLUTION_FOUND, UNSOLVED_PROBLEM_FOUND, WARNING_RESOLVING,
  WARN_SUCCESS_WS, WARN_SUCCESS_RANDOM, WARN_CONTINUING_ON_FAILURE, SUSPECT_PROBLEM,
  SUSPECT_PROBLEM2, IPOPT_SUMMARY, BETTER_SOL, LOG_HEAD,
  LOG_FIRST_LINE, LOG_LINE, WARN_RESOLVE_BEFORE_INITIAL_SOLVE, WARN_NONCONVEX_OA,
  WARN_FREEDOM, IPOTPINTERFACE_DUMMY_END
}
 Type of the messages specifically outputed by IpoptInterface. More...

Public Member Functions

void extractInterfaceParams ()
void setNumIterationSuspect (int value)
const Ipopt::TMINLP2TNLPproblem () const
 get pointer to the TMINLP2TNLP adapter
const Ipopt::TMINLPmodel () const
double getConstraintViolation ()
 get NLP constraint violation of current point
Constructors and destructors
 IpoptInterface ()
 Default Constructor.
 IpoptInterface (Ipopt::SmartPtr< Ipopt::TMINLP > tminlp)
 Constructor with given (user) TMINLP.
virtual OsiSolverInterfaceclone (bool CopyData=true) const
 Clone.
 IpoptInterface (const IpoptInterface &)
 Copy constructor.
IpoptInterfaceoperator= (const IpoptInterface &rhs)
 Assignment operator.
virtual ~IpoptInterface ()
 Destructor.
Ipopt::SmartPtr< Ipopt::OptionsListretrieve_options ()
 Retrieve IpoptApplication option list.
void register_ALL_options (Ipopt::SmartPtr< Ipopt::RegisteredOptions > roptions)
 Register all possible options to Ipopt.
void set_ipopt_minlp_default (SmartPtr< OptionsList > Options)
 Set specific Ipopt default for MINLP's.
void readOptionFile (const char *fileName)
 Read parameter file.
Solve methods
virtual void initialSolve ()
 Solve initial continuous relaxation.
virtual void resolve ()
 Resolve the continuous relaxation after problem modification.
void resolveForCost (int numretry)
 Resolve the problem with different random starting points to try to find a better solution (only makes sense for a non-convex problem.
void resolveForRobustness (int numretry)
 Method to be called when a problem has failed to be solved.
virtual void branchAndBound ()
 Nescessary for compatibility with OsiSolverInterface but does nothing.
Methods returning info on how the solution process terminated
virtual bool isAbandoned () const
 Are there a numerical difficulties?
virtual bool isProvenOptimal () const
 Is optimality proven?
virtual bool isProvenPrimalInfeasible () const
 Is primal infeasiblity proven?
virtual bool isProvenDualInfeasible () const
 Is dual infeasiblity proven?
virtual bool isPrimalObjectiveLimitReached () const
 Is the given primal objective limit reached?
virtual bool isDualObjectiveLimitReached () const
 Is the given dual objective limit reached?
virtual bool isIterationLimitReached () const
 Iteration limit reached?
Ipopt::ApplicationReturnStatus getOptStatus () const
 Return status of last optimization.
void continuingOnAFailure ()
 Warn solver that branch-and-bound is continuing after a failure.
bool hasContinuedOnAFailure ()
 Did we continue on a failure.
void ignoreFailures ()
 tell to ignore the failures (don't throw, don't fathom, don't report)
void forceInfeasible ()
 Force current solution to be infeasible.
void forceBranchable ()
 Force current solution to be branched on (make it fractionnal with small objective).
Parameter set/get methods
The set methods return true if the parameter was set to the given value, false otherwise. There can be various reasons for failure: the given parameter is not applicable for the solver (e.g., refactorization frequency for the clp algorithm), the parameter is not yet implemented for the solver or simply the value of the parameter is out of the range the solver accepts. If a parameter setting call returns false check the details of your solver.

The get methods return true if the given parameter is applicable for the solver and is implemented. In this case the value of the parameter is returned in the second argument. Otherwise they return false.

bool setIntParam (OsiIntParam key, int value)
bool setDblParam (OsiDblParam key, double value)
bool setStrParam (OsiStrParam key, const std::string &value)
bool getIntParam (OsiIntParam key, int &value) const
bool getDblParam (OsiDblParam key, double &value) const
bool getStrParam (OsiStrParam key, std::string &value) const
double getPushFact () const
Methods related to querying the input data
virtual int getNumCols () const
 Get number of columns.
virtual int getNumRows () const
 Get number of rows.
const std::string * getVarNames () const
 get name of variables
virtual const double * getColLower () const
 Get pointer to array[getNumCols()] of column lower bounds.
virtual const double * getColUpper () const
 Get pointer to array[getNumCols()] of column upper bounds.
virtual const char * getRowSense () const
 Get pointer to array[getNumRows()] of row constraint senses.
virtual const double * getRightHandSide () const
 Get pointer to array[getNumRows()] of rows right-hand sides.
virtual const double * getRowRange () const
 Get pointer to array[getNumRows()] of row ranges.
virtual const double * getRowLower () const
 Get pointer to array[getNumRows()] of row lower bounds.
virtual const double * getRowUpper () const
 Get pointer to array[getNumRows()] of row upper bounds.
virtual double getObjSense () const
 Get objective function sense (1 for min (default), -1 for max) Ipopt always minimizes.
virtual bool isContinuous (int colNumber) const
 Return true if column is continuous.
virtual bool isBinary (int columnNumber) const
 Return true if column is binary.
virtual bool isInteger (int columnNumber) const
 Return true if column is integer.
virtual bool isIntegerNonBinary (int columnNumber) const
 Return true if column is general integer.
virtual bool isFreeBinary (int columnNumber) const
 Return true if column is binary and not fixed at either bound.
virtual double getInfinity () const
 Get solver's value for infinity.
const int * getPriorities () const
 Get priorities on integer variables.
const int * getBranchingDirections () const
 get prefered branching directions
const double * getUpPsCosts () const
 Get number of columns.
const double * getDownPsCosts () const
 Get number of columns.
Methods related to querying the solution
virtual const double * getColSolution () const
 Get pointer to array[getNumCols()] of primal solution vector.
virtual const double * getRowPrice () const
 Get pointer to array[getNumRows() + 2* getNumCols()] of dual prices.
virtual const double * getReducedCost () const
 Reduced costs are not available in Ipopt, returns NULL.
virtual const double * getRowActivity () const
 Get pointer to array[getNumRows()] of row activity levels (constraint matrix times the solution vector.
virtual int getIterationCount () const
 Get how many iterations it took to solve the problem.
int nCallOptimizeTNLP ()
 get total number of calls to solve.
double totalNlpSolveTime ()
 get total time taken to solve NLP's.
int totalIterations ()
 get total number of iterations
Methods to modify the objective, bounds, and solution
virtual void setColLower (int elementIndex, double elementValue)
 Set a single column lower bound.
virtual void setColUpper (int elementIndex, double elementValue)
 Set a single column upper bound.
virtual void setRowLower (int elementIndex, double elementValue)
 Set a single row lower bound.
virtual void setRowUpper (int elementIndex, double elementValue)
 Set a single row upper bound.
virtual void setRowType (int index, char sense, double rightHandSide, double range)
 Set the type of a single row.
virtual void setObjSense (double s)
 Set the objective function sense (disabled).
virtual void setColSolution (const double *colsol)
 Set the primal solution variable values Set the values for the starting point.
virtual void setRowPrice (const double *rowprice)
 Pass an array[getNumRows() + 2* getNumCols()] of dual prices for starting point.
WarmStart related methods (those should really do nothing for the moment)
CoinWarmStartgetEmptyWarmStart () const
 Get an empty warm start object.
virtual CoinWarmStartgetWarmStart () const
 Get warmstarting information.
virtual bool setWarmStart (const CoinWarmStart *warmstart)
 Set warmstarting information.
void setWarmStartOptions ()
 Get an empty warm start object.
void unsetWarmStartOptions ()
 Get an empty warm start object.
void randomStartingPoint ()
 Get an empty warm start object.
virtual bool basisIsAvailable () const
 Get an empty warm start object.
Methods to set variable type
virtual void setContinuous (int index)
 Set the index-th variable to be a continuous variable.
virtual void setInteger (int index)
 Set the index-th variable to be an integer variable.
Dummy functions
Functions which have to be implemented in an OsiSolverInterface, but which do not do anything (but throwing exceptions) here in the case of a minlp solved using Ipopt for continuous relaxations

virtual int getNumElements () const
 Cbc will understand that no matrix exsits if return -1.
virtual const double * getObjCoefficients () const
 We have to keep this but it will throw an error.
virtual const CoinPackedMatrixgetMatrixByRow () const
 We have to keep this but it will throw an error.
virtual const CoinPackedMatrixgetMatrixByCol () const
 We have to keep this but it will throw an error.
virtual void setObjCoeff (int elementIndex, double elementValue)
 We have to keep this but it will throw an error.
virtual void addCol (const CoinPackedVectorBase &vec, const double collb, const double colub, const double obj)
 We have to keep this but it will throw an error.
virtual void deleteCols (const int num, const int *colIndices)
 We have to keep this but it will throw an error.
virtual void addRow (const CoinPackedVectorBase &vec, const double rowlb, const double rowub)
 We have to keep this but it will throw an error.
virtual void addRow (const CoinPackedVectorBase &vec, const char rowsen, const double rowrhs, const double rowrng)
 We have to keep this but it will throw an error.
virtual void deleteRows (const int num, const int *rowIndices)
 We have to keep this but it will throw an error.
virtual void loadProblem (const CoinPackedMatrix &matrix, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub)
 We have to keep this but it will throw an error.
virtual void assignProblem (CoinPackedMatrix *&matrix, double *&collb, double *&colub, double *&obj, double *&rowlb, double *&rowub)
 We have to keep this but it will throw an error.
virtual void loadProblem (const CoinPackedMatrix &matrix, const double *collb, const double *colub, const double *obj, const char *rowsen, const double *rowrhs, const double *rowrng)
 We have to keep this but it will throw an error.
virtual void assignProblem (CoinPackedMatrix *&matrix, double *&collb, double *&colub, double *&obj, char *&rowsen, double *&rowrhs, double *&rowrng)
 We have to keep this but it will throw an error.
virtual void loadProblem (const int numcols, const int numrows, const int *start, const int *index, const double *value, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub)
 We have to keep this but it will throw an error.
virtual void loadProblem (const int numcols, const int numrows, const int *start, const int *index, const double *value, const double *collb, const double *colub, const double *obj, const char *rowsen, const double *rowrhs, const double *rowrng)
 We have to keep this but it will throw an error.
virtual int readMps (const char *filename, const char *extension="mps")
 We have to keep this but it will throw an error.
virtual void writeMps (const char *filename, const char *extension="mps", double objSense=0.0) const
 We have to keep this but it will throw an error.
virtual std::vector< double * > getDualRays (int maxNumRays) const
 Throws an error.
virtual std::vector< double * > getPrimalRays (int maxNumRays) const
 Throws an error.
Control of Ipopt output
void turnOffIpoptOutput ()
void turnOnIpoptOutput ()
Sets and Getss
virtual double getObjValue () const
 Get objective function value (can't use default).
void extractLinearRelaxation (OsiSolverInterface &si, bool getObj=1)
 Extract a linear relaxation of the MINLP.
void getOuterApproximation (OsiCuts &cs, bool getObj=1)
 Get the outer approximation constraints at the currently stored optimal point.
double getFeasibilityOuterApproximation (int n, const double *x_bar, const int *ind, OsiCuts &cs)
 solve the problem of finding the closest point to x_bar in the subspace of coordinates given by ind (i.e., $ min \sum\limits_{i=1}^n (x_{ind[i]} -\overline{x}_i)^2 $ , and get the corresponding outer-approximation constraints.
bool cleanNnz (double &value, double colLower, double colUpper, double rowLower, double rowUpper, double colsol, double &lb, double &ub, double tiny, double veryTiny)
 A procedure to try to remove small coefficients in OA cuts (or make it non small.

Protected Member Functions

int initializeJacobianArrays ()
 Initialize data structures for storing the jacobian.
Virtual callbacks for application specific stuff
virtual std::string appName ()
Protected methods
void solveAndCheckErrors (bool doResolve, bool throwOnFailure, const char *whereFrom)
 Call Ipopt to solve or resolve the problem and check for errors.
virtual void applyRowCut (const OsiRowCut &rc)
 We have to keep this but it will throw an error.
virtual void applyColCut (const OsiColCut &cc)
 We have to keep this but it will throw an error.
void readVarNames () const
 Read the name of the variables in an ampl .col file.

Protected Attributes

int nCallOptimizeTNLP_
 number of time NLP has been solved
double totalNlpSolveTime_
 Total solution time of NLP.
int totalIterations_
 toatal number of iterations
double maxRandomRadius_
 max radius for random point
double pushValue_
 Ipopt value for pushing initial point inside the bounds.
int numRetryInitial_
 Number of times problem will be resolved in initialSolve (root node).
int numRetryResolve_
 Number of times problem will be resolved in resolve.
int numRetryUnsolved_
 Number of times problem will be resolved in case of a failure.
Messages ipoptIMessages_
 Messages specific to an IpoptInterface.
int pretendFailIsInfeasible_
 If not 0 when a problem is not solved (failed to be solved) will pretend that it is infeasible.
bool hasContinuedAfterNlpFailure_
 did we ever continue optimization ignoring a failure.
int numIterationSuspect_
 number iterations above which a problem is considered suspect (-1 is considered $+ \infty $).
bool hasBeenOptimized_
 Has problem been optimized since last change (include setColSolution).
int warmStartStrategy_
 Warm start strategy :.
double * obj_
 A fake objective function (all variables to 1) to please Cbc pseudo costs initialization.
Ipopt::SmartPtr< Ipopt::TNLP2FPNLPfeasibilityProblem_
 Adapter for TNLP to a feasibility problem.
Ipopt::TMINLP::ConstraintTypeconstTypes_
 Store the types of the constraints (linear and nonlinear).
int * constTypesNum_
 Numerotation of linear/nonlinear constraints Perform independent numerotation of linear (resp.
int nLinear_
 Number of linear constraints.
int nNonLinear_
 Number of nonlinear constraint.
double tiny_
 Value for small non-zero element which we will try to remove cleanly in OA cuts.
double veryTiny_
 Value for small non-zero element which we will take the risk to ignore in OA cuts.
bool firstSolve_
 Is it the first solve (for random starting point at root options).
Ipopt structures
Ipopt::SmartPtr< Ipopt::TMINLPtminlp_
 TMINLP model.
Ipopt::SmartPtr< Ipopt::TMINLP2TNLPproblem_
 Adapter for a MINLP to a NLP.
Ipopt::SmartPtr< Ipopt::IpoptApplicationapp_
 IpoptApplication.
Arrays to store Jacobian matrix
int * jRow_
 Row indices.
int * jCol_
 Column indices.
double * jValues_
 Values.
int nnz_jac
 Number of elements.

Static Protected Attributes

static bool hasPrintedOptions
 flag to say wether options have been printed or not.

Friends

class BonminParam

Classes

class  Messages
 Messages outputed by an IpoptInterface. More...
class  SimpleError
 Error class to throw exceptions from IpoptInterface. More...
class  UnsolvedError
 We will throw this error when a problem is not solved. More...

Detailed Description

This is class provides an Osi interface for Ipopt (so that we can use it for example as the continuous solver in Cbc).

Definition at line 38 of file IpoptInterface.hpp.


Member Enumeration Documentation

enum IpoptInterface::MessagesTypes

Type of the messages specifically outputed by IpoptInterface.

Enumerator:
SOLUTION_FOUND  found a feasible solution
INFEASIBLE_SOLUTION_FOUND  found an infeasible problem
UNSOLVED_PROBLEM_FOUND  found an unsolved problem
WARNING_RESOLVING  Warn that a problem is resolved.
WARN_SUCCESS_WS  Problem not solved with warm start but solved without.
WARN_SUCCESS_RANDOM  Subproblem not solve with warm start but solved with random point.
WARN_CONTINUING_ON_FAILURE  a failure occured but is continuing
SUSPECT_PROBLEM  Output the number of the problem.
SUSPECT_PROBLEM2  Output the number of the problem.
IPOPT_SUMMARY  Output summary statistics on Ipopt solution.
BETTER_SOL  Found a better solution with random values.
LOG_HEAD  Head of "civilized" log.
LOG_FIRST_LINE  First line (first solve) of log.
LOG_LINE  standard line (retry solving) of log.
WARN_RESOLVE_BEFORE_INITIAL_SOLVE  resolve() has been called but there was no previous call to initialSolve().
WARN_NONCONVEX_OA  An OA is taken for an equality constraint warm that it is dangerous.
WARN_FREEDOM  Too many equalities and not enough variables in the problems.
IPOTPINTERFACE_DUMMY_END 

Definition at line 95 of file IpoptInterface.hpp.


Constructor & Destructor Documentation

IpoptInterface::IpoptInterface (  ) 

Default Constructor.

IpoptInterface::IpoptInterface ( Ipopt::SmartPtr< Ipopt::TMINLP tminlp  ) 

Constructor with given (user) TMINLP.

Warning:
In this constructor option file is not read, use readOptionFile to read one.

IpoptInterface::IpoptInterface ( const IpoptInterface  ) 

Copy constructor.

virtual IpoptInterface::~IpoptInterface (  )  [virtual]

Destructor.


Member Function Documentation

virtual OsiSolverInterface* IpoptInterface::clone ( bool  CopyData = true  )  const [virtual]

Clone.

Implements OsiSolverInterface.

Reimplemented in BonminAmplInterface.

IpoptInterface& IpoptInterface::operator= ( const IpoptInterface rhs  ) 

Assignment operator.

Ipopt::SmartPtr<Ipopt::OptionsList> IpoptInterface::retrieve_options (  ) 

Retrieve IpoptApplication option list.

Referenced by main().

void IpoptInterface::register_ALL_options ( Ipopt::SmartPtr< Ipopt::RegisteredOptions roptions  ) 

Register all possible options to Ipopt.

void IpoptInterface::set_ipopt_minlp_default ( SmartPtr< OptionsList Options  ) 

Set specific Ipopt default for MINLP's.

void IpoptInterface::readOptionFile ( const char *  fileName  ) 

Read parameter file.

Referenced by main().

void IpoptInterface::extractInterfaceParams (  ) 

virtual void IpoptInterface::initialSolve (  )  [virtual]

Solve initial continuous relaxation.

Implements OsiSolverInterface.

virtual void IpoptInterface::resolve (  )  [virtual]

Resolve the continuous relaxation after problem modification.

Have to call initialSolve before calling this

Implements OsiSolverInterface.

void IpoptInterface::resolveForCost ( int  numretry  ) 

Resolve the problem with different random starting points to try to find a better solution (only makes sense for a non-convex problem.

void IpoptInterface::resolveForRobustness ( int  numretry  ) 

Method to be called when a problem has failed to be solved.

Will try to resolve it with different settings.

virtual void IpoptInterface::branchAndBound (  )  [inline, virtual]

Nescessary for compatibility with OsiSolverInterface but does nothing.

Implements OsiSolverInterface.

Definition at line 195 of file IpoptInterface.hpp.

virtual bool IpoptInterface::isAbandoned (  )  const [virtual]

Are there a numerical difficulties?

Implements OsiSolverInterface.

virtual bool IpoptInterface::isProvenOptimal (  )  const [virtual]

Is optimality proven?

Implements OsiSolverInterface.

virtual bool IpoptInterface::isProvenPrimalInfeasible (  )  const [virtual]

Is primal infeasiblity proven?

Implements OsiSolverInterface.

virtual bool IpoptInterface::isProvenDualInfeasible (  )  const [virtual]

Is dual infeasiblity proven?

Implements OsiSolverInterface.

virtual bool IpoptInterface::isPrimalObjectiveLimitReached (  )  const [virtual]

Is the given primal objective limit reached?

Implements OsiSolverInterface.

virtual bool IpoptInterface::isDualObjectiveLimitReached (  )  const [virtual]

Is the given dual objective limit reached?

Implements OsiSolverInterface.

virtual bool IpoptInterface::isIterationLimitReached (  )  const [virtual]

Iteration limit reached?

Implements OsiSolverInterface.

Ipopt::ApplicationReturnStatus IpoptInterface::getOptStatus (  )  const [inline]

Return status of last optimization.

Definition at line 221 of file IpoptInterface.hpp.

References optimization_status_.

void IpoptInterface::continuingOnAFailure (  )  [inline]

Warn solver that branch-and-bound is continuing after a failure.

Definition at line 227 of file IpoptInterface.hpp.

References hasContinuedAfterNlpFailure_.

bool IpoptInterface::hasContinuedOnAFailure (  )  [inline]

Did we continue on a failure.

Definition at line 232 of file IpoptInterface.hpp.

References hasContinuedAfterNlpFailure_.

void IpoptInterface::ignoreFailures (  )  [inline]

tell to ignore the failures (don't throw, don't fathom, don't report)

Definition at line 237 of file IpoptInterface.hpp.

References pretendFailIsInfeasible_.

void IpoptInterface::forceInfeasible (  )  [inline]

Force current solution to be infeasible.

Definition at line 242 of file IpoptInterface.hpp.

References problem_.

void IpoptInterface::forceBranchable (  )  [inline]

Force current solution to be branched on (make it fractionnal with small objective).

Definition at line 247 of file IpoptInterface.hpp.

References problem_.

bool IpoptInterface::setIntParam ( OsiIntParam  key,
int  value 
) [virtual]

Reimplemented from OsiSolverInterface.

bool IpoptInterface::setDblParam ( OsiDblParam  key,
double  value 
) [virtual]

Reimplemented from OsiSolverInterface.

bool IpoptInterface::setStrParam ( OsiStrParam  key,
const std::string &  value 
) [virtual]

Reimplemented from OsiSolverInterface.

bool IpoptInterface::getIntParam ( OsiIntParam  key,
int &  value 
) const [virtual]

Reimplemented from OsiSolverInterface.

bool IpoptInterface::getDblParam ( OsiDblParam  key,
double &  value 
) const [virtual]

Reimplemented from OsiSolverInterface.

bool IpoptInterface::getStrParam ( OsiStrParam  key,
std::string &  value 
) const [virtual]

Reimplemented from OsiSolverInterface.

double IpoptInterface::getPushFact (  )  const [inline]

Definition at line 285 of file IpoptInterface.hpp.

References pushValue_.

virtual int IpoptInterface::getNumCols (  )  const [virtual]

Get number of columns.

Implements OsiSolverInterface.

virtual int IpoptInterface::getNumRows (  )  const [virtual]

Get number of rows.

Implements OsiSolverInterface.

const std::string* IpoptInterface::getVarNames (  )  const

get name of variables

virtual const double* IpoptInterface::getColLower (  )  const [virtual]

Get pointer to array[getNumCols()] of column lower bounds.

Implements OsiSolverInterface.

virtual const double* IpoptInterface::getColUpper (  )  const [virtual]

Get pointer to array[getNumCols()] of column upper bounds.

Implements OsiSolverInterface.

virtual const char* IpoptInterface::getRowSense (  )  const [virtual]

Get pointer to array[getNumRows()] of row constraint senses.

Implements OsiSolverInterface.

virtual const double* IpoptInterface::getRightHandSide (  )  const [virtual]

Get pointer to array[getNumRows()] of rows right-hand sides.

Implements OsiSolverInterface.

virtual const double* IpoptInterface::getRowRange (  )  const [virtual]

Get pointer to array[getNumRows()] of row ranges.

Implements OsiSolverInterface.

virtual const double* IpoptInterface::getRowLower (  )  const [virtual]

Get pointer to array[getNumRows()] of row lower bounds.

Implements OsiSolverInterface.

virtual const double* IpoptInterface::getRowUpper (  )  const [virtual]

Get pointer to array[getNumRows()] of row upper bounds.

Implements OsiSolverInterface.

virtual double IpoptInterface::getObjSense (  )  const [inline, virtual]

Get objective function sense (1 for min (default), -1 for max) Ipopt always minimizes.

Implements OsiSolverInterface.

Definition at line 360 of file IpoptInterface.hpp.

virtual bool IpoptInterface::isContinuous ( int  colNumber  )  const [virtual]

Return true if column is continuous.

Implements OsiSolverInterface.

virtual bool IpoptInterface::isBinary ( int  columnNumber  )  const [virtual]

Return true if column is binary.

Reimplemented from OsiSolverInterface.

virtual bool IpoptInterface::isInteger ( int  columnNumber  )  const [virtual]

Return true if column is integer.

Note: This function returns true if the the column is binary or a general integer.

Reimplemented from OsiSolverInterface.

virtual bool IpoptInterface::isIntegerNonBinary ( int  columnNumber  )  const [virtual]

Return true if column is general integer.

Reimplemented from OsiSolverInterface.

virtual bool IpoptInterface::isFreeBinary ( int  columnNumber  )  const [virtual]

Return true if column is binary and not fixed at either bound.

Reimplemented from OsiSolverInterface.

virtual double IpoptInterface::getInfinity (  )  const [virtual]

Get solver's value for infinity.

Implements OsiSolverInterface.

const int* IpoptInterface::getPriorities (  )  const [inline]

Get priorities on integer variables.

Definition at line 387 of file IpoptInterface.hpp.

References Ipopt::TMINLP::BranchingInfo::priorities, and tminlp_.

const int* IpoptInterface::getBranchingDirections (  )  const [inline]

get prefered branching directions

Definition at line 395 of file IpoptInterface.hpp.

References Ipopt::TMINLP::BranchingInfo::branchingDirections, and tminlp_.

const double* IpoptInterface::getUpPsCosts (  )  const [inline]

Get number of columns.

Definition at line 402 of file IpoptInterface.hpp.

References tminlp_, and Ipopt::TMINLP::BranchingInfo::upPsCosts.

const double* IpoptInterface::getDownPsCosts (  )  const [inline]

Get number of columns.

Definition at line 409 of file IpoptInterface.hpp.

References Ipopt::TMINLP::BranchingInfo::downPsCosts, and tminlp_.

virtual const double* IpoptInterface::getColSolution (  )  const [virtual]

Get pointer to array[getNumCols()] of primal solution vector.

Implements OsiSolverInterface.

virtual const double* IpoptInterface::getRowPrice (  )  const [virtual]

Get pointer to array[getNumRows() + 2* getNumCols()] of dual prices.

Array is ordererd as follow

Implements OsiSolverInterface.

virtual const double* IpoptInterface::getReducedCost (  )  const [virtual]

Reduced costs are not available in Ipopt, returns NULL.

Implements OsiSolverInterface.

virtual const double* IpoptInterface::getRowActivity (  )  const [virtual]

Get pointer to array[getNumRows()] of row activity levels (constraint matrix times the solution vector.

Implements OsiSolverInterface.

virtual int IpoptInterface::getIterationCount (  )  const [virtual]

Get how many iterations it took to solve the problem.

Implements OsiSolverInterface.

int IpoptInterface::nCallOptimizeTNLP (  )  [inline]

get total number of calls to solve.

Definition at line 446 of file IpoptInterface.hpp.

References nCallOptimizeTNLP_.

double IpoptInterface::totalNlpSolveTime (  )  [inline]

get total time taken to solve NLP's.

Definition at line 451 of file IpoptInterface.hpp.

References totalNlpSolveTime_.

int IpoptInterface::totalIterations (  )  [inline]

get total number of iterations

Definition at line 456 of file IpoptInterface.hpp.

References totalIterations_.

virtual void IpoptInterface::setColLower ( int  elementIndex,
double  elementValue 
) [virtual]

Set a single column lower bound.

Use -getInfinity() for -infinity.

Implements OsiSolverInterface.

virtual void IpoptInterface::setColUpper ( int  elementIndex,
double  elementValue 
) [virtual]

Set a single column upper bound.

Use getInfinity() for infinity.

Implements OsiSolverInterface.

virtual void IpoptInterface::setRowLower ( int  elementIndex,
double  elementValue 
) [virtual]

Set a single row lower bound.

Use -getInfinity() for -infinity.

Implements OsiSolverInterface.

virtual void IpoptInterface::setRowUpper ( int  elementIndex,
double  elementValue 
) [virtual]

Set a single row upper bound.

Use getInfinity() for infinity.

Implements OsiSolverInterface.

virtual void IpoptInterface::setRowType ( int  index,
char  sense,
double  rightHandSide,
double  range 
) [virtual]

Set the type of a single row.

Implements OsiSolverInterface.

virtual void IpoptInterface::setObjSense ( double  s  )  [virtual]

Set the objective function sense (disabled).

(1 for min (default), -1 for max)

Todo:
Make it work.
Bug:
Can not treat maximisation problems.

Implements OsiSolverInterface.

virtual void IpoptInterface::setColSolution ( const double *  colsol  )  [virtual]

Set the primal solution variable values Set the values for the starting point.

Warning:
getColSolution will never return this vector (unless it is optimal).

Implements OsiSolverInterface.

virtual void IpoptInterface::setRowPrice ( const double *  rowprice  )  [virtual]

Pass an array[getNumRows() + 2* getNumCols()] of dual prices for starting point.

Array is ordererd as follow

Implements OsiSolverInterface.

CoinWarmStart* IpoptInterface::getEmptyWarmStart (  )  const [virtual]

Get an empty warm start object.

This routine returns an empty CoinWarmStartBasis object. Its purpose is to provide a way to give a client a warm start basis object of the appropriate type, which can resized and modified as desired.

Implements OsiSolverInterface.

virtual CoinWarmStart* IpoptInterface::getWarmStart (  )  const [virtual]

Get warmstarting information.

Implements OsiSolverInterface.

virtual bool IpoptInterface::setWarmStart ( const CoinWarmStart warmstart  )  [virtual]

Set warmstarting information.

Return true/false depending on whether the warmstart information was accepted or not.

Implements OsiSolverInterface.

void IpoptInterface::setWarmStartOptions (  )  [inline]

Get an empty warm start object.

This routine returns an empty CoinWarmStartBasis object. Its purpose is to provide a way to give a client a warm start basis object of the appropriate type, which can resized and modified as desired.

Definition at line 535 of file IpoptInterface.hpp.

References app_.

void IpoptInterface::unsetWarmStartOptions (  )  [inline]

Get an empty warm start object.

This routine returns an empty CoinWarmStartBasis object. Its purpose is to provide a way to give a client a warm start basis object of the appropriate type, which can resized and modified as desired.

Definition at line 540 of file IpoptInterface.hpp.

References app_, and problem_.

void IpoptInterface::randomStartingPoint (  ) 

Get an empty warm start object.

This routine returns an empty CoinWarmStartBasis object. Its purpose is to provide a way to give a client a warm start basis object of the appropriate type, which can resized and modified as desired.

virtual bool IpoptInterface::basisIsAvailable (  )  const [inline, virtual]

Get an empty warm start object.

This routine returns an empty CoinWarmStartBasis object. Its purpose is to provide a way to give a client a warm start basis object of the appropriate type, which can resized and modified as desired.

Reimplemented from OsiSolverInterface.

Definition at line 550 of file IpoptInterface.hpp.

virtual void IpoptInterface::setContinuous ( int  index  )  [virtual]

Set the index-th variable to be a continuous variable.

Implements OsiSolverInterface.

virtual void IpoptInterface::setInteger ( int  index  )  [virtual]

Set the index-th variable to be an integer variable.

Implements OsiSolverInterface.

void IpoptInterface::setNumIterationSuspect ( int  value  )  [inline]

Definition at line 569 of file IpoptInterface.hpp.

References numIterationSuspect_.

virtual int IpoptInterface::getNumElements (  )  const [inline, virtual]

Cbc will understand that no matrix exsits if return -1.

Implements OsiSolverInterface.

Definition at line 582 of file IpoptInterface.hpp.

virtual const double* IpoptInterface::getObjCoefficients (  )  const [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 590 of file IpoptInterface.hpp.

References obj_.

virtual const CoinPackedMatrix* IpoptInterface::getMatrixByRow (  )  const [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 600 of file IpoptInterface.hpp.

virtual const CoinPackedMatrix* IpoptInterface::getMatrixByCol (  )  const [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 609 of file IpoptInterface.hpp.

virtual void IpoptInterface::setObjCoeff ( int  elementIndex,
double  elementValue 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 617 of file IpoptInterface.hpp.

virtual void IpoptInterface::addCol ( const CoinPackedVectorBase vec,
const double  collb,
const double  colub,
const double  obj 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 625 of file IpoptInterface.hpp.

virtual void IpoptInterface::deleteCols ( const int  num,
const int *  colIndices 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 634 of file IpoptInterface.hpp.

virtual void IpoptInterface::addRow ( const CoinPackedVectorBase vec,
const double  rowlb,
const double  rowub 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 642 of file IpoptInterface.hpp.

virtual void IpoptInterface::addRow ( const CoinPackedVectorBase vec,
const char  rowsen,
const double  rowrhs,
const double  rowrng 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 650 of file IpoptInterface.hpp.

virtual void IpoptInterface::deleteRows ( const int  num,
const int *  rowIndices 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 659 of file IpoptInterface.hpp.

virtual void IpoptInterface::loadProblem ( const CoinPackedMatrix matrix,
const double *  collb,
const double *  colub,
const double *  obj,
const double *  rowlb,
const double *  rowub 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 668 of file IpoptInterface.hpp.

virtual void IpoptInterface::assignProblem ( CoinPackedMatrix *&  matrix,
double *&  collb,
double *&  colub,
double *&  obj,
double *&  rowlb,
double *&  rowub 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 680 of file IpoptInterface.hpp.

virtual void IpoptInterface::loadProblem ( const CoinPackedMatrix matrix,
const double *  collb,
const double *  colub,
const double *  obj,
const char *  rowsen,
const double *  rowrhs,
const double *  rowrng 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 690 of file IpoptInterface.hpp.

virtual void IpoptInterface::assignProblem ( CoinPackedMatrix *&  matrix,
double *&  collb,
double *&  colub,
double *&  obj,
char *&  rowsen,
double *&  rowrhs,
double *&  rowrng 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 702 of file IpoptInterface.hpp.

virtual void IpoptInterface::loadProblem ( const int  numcols,
const int  numrows,
const int *  start,
const int *  index,
const double *  value,
const double *  collb,
const double *  colub,
const double *  obj,
const double *  rowlb,
const double *  rowub 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 714 of file IpoptInterface.hpp.

virtual void IpoptInterface::loadProblem ( const int  numcols,
const int  numrows,
const int *  start,
const int *  index,
const double *  value,
const double *  collb,
const double *  colub,
const double *  obj,
const char *  rowsen,
const double *  rowrhs,
const double *  rowrng 
) [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 727 of file IpoptInterface.hpp.

virtual int IpoptInterface::readMps ( const char *  filename,
const char *  extension = "mps" 
) [inline, virtual]

We have to keep this but it will throw an error.

Reimplemented from OsiSolverInterface.

Definition at line 741 of file IpoptInterface.hpp.

virtual void IpoptInterface::writeMps ( const char *  filename,
const char *  extension = "mps",
double  objSense = 0.0 
) const [inline, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 751 of file IpoptInterface.hpp.

virtual std::vector<double*> IpoptInterface::getDualRays ( int  maxNumRays  )  const [inline, virtual]

Throws an error.

Implements OsiSolverInterface.

Definition at line 760 of file IpoptInterface.hpp.

virtual std::vector<double*> IpoptInterface::getPrimalRays ( int  maxNumRays  )  const [inline, virtual]

Throws an error.

Implements OsiSolverInterface.

Definition at line 767 of file IpoptInterface.hpp.

void IpoptInterface::turnOffIpoptOutput (  ) 

void IpoptInterface::turnOnIpoptOutput (  ) 

virtual double IpoptInterface::getObjValue (  )  const [virtual]

Get objective function value (can't use default).

Implements OsiSolverInterface.

const Ipopt::TMINLP2TNLP* IpoptInterface::problem (  )  const [inline]

get pointer to the TMINLP2TNLP adapter

Definition at line 797 of file IpoptInterface.hpp.

References Ipopt::GetRawPtr(), and problem_.

const Ipopt::TMINLP* IpoptInterface::model (  )  const [inline]

Definition at line 802 of file IpoptInterface.hpp.

References Ipopt::GetRawPtr(), and tminlp_.

void IpoptInterface::extractLinearRelaxation ( OsiSolverInterface si,
bool  getObj = 1 
)

Extract a linear relaxation of the MINLP.

Solve the continuous relaxation and takes first-order outer-approximation constraints at the optimum. The put everything in an OsiSolverInterface.

void IpoptInterface::getOuterApproximation ( OsiCuts cs,
bool  getObj = 1 
)

Get the outer approximation constraints at the currently stored optimal point.

(Only get outer-approximations of nonlinear constraints of the problem.)

double IpoptInterface::getFeasibilityOuterApproximation ( int  n,
const double *  x_bar,
const int *  ind,
OsiCuts cs 
)

solve the problem of finding the closest point to x_bar in the subspace of coordinates given by ind (i.e., $ min \sum\limits_{i=1}^n (x_{ind[i]} -\overline{x}_i)^2 $ , and get the corresponding outer-approximation constraints.

(Only get outer-approximations of nonlinear constraints of the problem.)

Returns:
Distance between feasibility set and x
Parameters:
n number of element in arrays x and ind
ind indices of the coordinate

bool IpoptInterface::cleanNnz ( double &  value,
double  colLower,
double  colUpper,
double  rowLower,
double  rowUpper,
double  colsol,
double &  lb,
double &  ub,
double  tiny,
double  veryTiny 
) [inline]

A procedure to try to remove small coefficients in OA cuts (or make it non small.

Definition at line 1003 of file IpoptInterface.hpp.

References CoinMessageEol, ipoptIMessages_, CoinMessageHandler::message(), OsiSolverInterface::messageHandler(), and WARN_NONCONVEX_OA.

double IpoptInterface::getConstraintViolation (  ) 

get NLP constraint violation of current point

int IpoptInterface::initializeJacobianArrays (  )  [protected]

Initialize data structures for storing the jacobian.

virtual std::string IpoptInterface::appName (  )  [inline, protected, virtual]

Definition at line 843 of file IpoptInterface.hpp.

void IpoptInterface::solveAndCheckErrors ( bool  doResolve,
bool  throwOnFailure,
const char *  whereFrom 
) [protected]

Call Ipopt to solve or resolve the problem and check for errors.

virtual void IpoptInterface::applyRowCut ( const OsiRowCut rc  )  [inline, protected, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 858 of file IpoptInterface.hpp.

virtual void IpoptInterface::applyColCut ( const OsiColCut cc  )  [inline, protected, virtual]

We have to keep this but it will throw an error.

Implements OsiSolverInterface.

Definition at line 865 of file IpoptInterface.hpp.

void IpoptInterface::readVarNames (  )  const [protected]

Read the name of the variables in an ampl .col file.

void IpoptInterface::freeCachedColRim (  )  [protected]

Free cached data relative to variables.

void IpoptInterface::freeCachedRowRim (  )  [protected]

Free cached data relative to constraints.

void IpoptInterface::freeCachedData (  )  [protected]

Free all cached data.

void IpoptInterface::extractSenseRhsAndRange (  )  const [protected]

Extract rowsense_ vector rhs_ vector and rowrange_ vector from the lower and upper bounds on the constraints.


Friends And Related Function Documentation

friend class BonminParam [friend]

Definition at line 40 of file IpoptInterface.hpp.


Member Data Documentation

Ipopt::SmartPtr<Ipopt::TMINLP> IpoptInterface::tminlp_ [protected]

TMINLP model.

Definition at line 879 of file IpoptInterface.hpp.

Referenced by getBranchingDirections(), getDownPsCosts(), getPriorities(), getUpPsCosts(), and model().

Ipopt::SmartPtr<Ipopt::TMINLP2TNLP> IpoptInterface::problem_ [protected]

Adapter for a MINLP to a NLP.

Definition at line 881 of file IpoptInterface.hpp.

Referenced by forceBranchable(), forceInfeasible(), problem(), and unsetWarmStartOptions().

Ipopt::SmartPtr<Ipopt::IpoptApplication> IpoptInterface::app_ [protected]

IpoptApplication.

Definition at line 883 of file IpoptInterface.hpp.

Referenced by setWarmStartOptions(), and unsetWarmStartOptions().

char* IpoptInterface::rowsense_ [mutable, protected]

Pointer to dense vector of row sense indicators.

Definition at line 898 of file IpoptInterface.hpp.

double* IpoptInterface::rhs_ [mutable, protected]

Pointer to dense vector of row right-hand side values.

Definition at line 901 of file IpoptInterface.hpp.

double* IpoptInterface::rowrange_ [mutable, protected]

Pointer to dense vector of slack upper bounds for range constraints (undefined for non-range rows).

Definition at line 904 of file IpoptInterface.hpp.

double* IpoptInterface::reducedCosts_ [mutable, protected]

Pointer to dense vector of reduced costs.

Warning:
Always 0. with Ipopt

Definition at line 907 of file IpoptInterface.hpp.

double IpoptInterface::OsiDualObjectiveLimit_ [protected]

DualObjectiveLimit is used to store the cutoff in Cbc.

Definition at line 909 of file IpoptInterface.hpp.

Ipopt::ApplicationReturnStatus IpoptInterface::optimization_status_ [protected]

Return status of the Ipopt optimization.

Definition at line 911 of file IpoptInterface.hpp.

Referenced by getOptStatus().

std::string* IpoptInterface::varNames_ [mutable, protected]

Variable names.

Definition at line 913 of file IpoptInterface.hpp.

bool IpoptInterface::hasVarNamesFile_ [mutable, protected]

does the file variable names exists (will check automatically).

Definition at line 915 of file IpoptInterface.hpp.

int IpoptInterface::nCallOptimizeTNLP_ [protected]

number of time NLP has been solved

Definition at line 918 of file IpoptInterface.hpp.

Referenced by nCallOptimizeTNLP().

double IpoptInterface::totalNlpSolveTime_ [protected]

Total solution time of NLP.

Definition at line 920 of file IpoptInterface.hpp.

Referenced by totalNlpSolveTime().

int IpoptInterface::totalIterations_ [protected]

toatal number of iterations

Definition at line 922 of file IpoptInterface.hpp.

Referenced by totalIterations().

double IpoptInterface::maxRandomRadius_ [protected]

max radius for random point

Definition at line 924 of file IpoptInterface.hpp.

double IpoptInterface::pushValue_ [protected]

Ipopt value for pushing initial point inside the bounds.

Definition at line 926 of file IpoptInterface.hpp.

Referenced by getPushFact().

int IpoptInterface::numRetryInitial_ [protected]

Number of times problem will be resolved in initialSolve (root node).

Definition at line 928 of file IpoptInterface.hpp.

int IpoptInterface::numRetryResolve_ [protected]

Number of times problem will be resolved in resolve.

Definition at line 930 of file IpoptInterface.hpp.

int IpoptInterface::numRetryUnsolved_ [protected]

Number of times problem will be resolved in case of a failure.

Definition at line 932 of file IpoptInterface.hpp.

Messages IpoptInterface::ipoptIMessages_ [protected]

Messages specific to an IpoptInterface.

Definition at line 934 of file IpoptInterface.hpp.

Referenced by cleanNnz().

int IpoptInterface::pretendFailIsInfeasible_ [protected]

If not 0 when a problem is not solved (failed to be solved) will pretend that it is infeasible.

If == 1 will care (i.e. record the fact issue messages to user), if ==2 don't care (somebody else will)

Definition at line 938 of file IpoptInterface.hpp.

Referenced by ignoreFailures().

bool IpoptInterface::hasContinuedAfterNlpFailure_ [protected]

did we ever continue optimization ignoring a failure.

Definition at line 940 of file IpoptInterface.hpp.

Referenced by continuingOnAFailure(), and hasContinuedOnAFailure().

int IpoptInterface::numIterationSuspect_ [protected]

number iterations above which a problem is considered suspect (-1 is considered $+ \infty $).

If in a call to solve a problem takes more than that number of iterations it will be outputed to files.

Definition at line 943 of file IpoptInterface.hpp.

Referenced by setNumIterationSuspect().

bool IpoptInterface::hasBeenOptimized_ [protected]

Has problem been optimized since last change (include setColSolution).

If yes getColSolution will return Ipopt point, otherwise will return initial point.

Definition at line 947 of file IpoptInterface.hpp.

int IpoptInterface::warmStartStrategy_ [protected]

Warm start strategy :.

  1. no warm start,
  2. simple warm start (optimal point),
  3. more elaborate strategies (interior point...).

Definition at line 955 of file IpoptInterface.hpp.

double* IpoptInterface::obj_ [protected]

A fake objective function (all variables to 1) to please Cbc pseudo costs initialization.

Definition at line 957 of file IpoptInterface.hpp.

Referenced by getObjCoefficients().

bool IpoptInterface::hasPrintedOptions [static, protected]

flag to say wether options have been printed or not.

Definition at line 959 of file IpoptInterface.hpp.

Ipopt::SmartPtr<Ipopt::TNLP2FPNLP> IpoptInterface::feasibilityProblem_ [protected]

Adapter for TNLP to a feasibility problem.

Definition at line 962 of file IpoptInterface.hpp.

int* IpoptInterface::jRow_ [protected]

Row indices.

Definition at line 968 of file IpoptInterface.hpp.

int* IpoptInterface::jCol_ [protected]

Column indices.

Definition at line 970 of file IpoptInterface.hpp.

double* IpoptInterface::jValues_ [protected]

Values.

Definition at line 972 of file IpoptInterface.hpp.

int IpoptInterface::nnz_jac [protected]

Number of elements.

Definition at line 974 of file IpoptInterface.hpp.

Ipopt::TMINLP::ConstraintType* IpoptInterface::constTypes_ [protected]

Store the types of the constraints (linear and nonlinear).

Definition at line 978 of file IpoptInterface.hpp.

int* IpoptInterface::constTypesNum_ [protected]

Numerotation of linear/nonlinear constraints Perform independent numerotation of linear (resp.

nonlinear constraints) so that constraints of each type are numeroted consecutively

Definition at line 982 of file IpoptInterface.hpp.

int IpoptInterface::nLinear_ [protected]

Number of linear constraints.

Definition at line 984 of file IpoptInterface.hpp.

int IpoptInterface::nNonLinear_ [protected]

Number of nonlinear constraint.

Definition at line 987 of file IpoptInterface.hpp.

double IpoptInterface::tiny_ [protected]

Value for small non-zero element which we will try to remove cleanly in OA cuts.

Definition at line 989 of file IpoptInterface.hpp.

double IpoptInterface::veryTiny_ [protected]

Value for small non-zero element which we will take the risk to ignore in OA cuts.

Definition at line 991 of file IpoptInterface.hpp.

bool IpoptInterface::firstSolve_ [protected]

Is it the first solve (for random starting point at root options).

Definition at line 993 of file IpoptInterface.hpp.


The documentation for this class was generated from the following file:
Generated on Fri May 16 21:15:09 2008 for Bonmin by  doxygen 1.4.7