Ipopt Documentation  
 
Loading...
Searching...
No Matches
Ipopt Namespace Reference

This file contains a base class for all exceptions and a set of macros to help with exceptions. More...

Classes

class  AdaptiveMuUpdate
 Non-monotone mu update. More...
 
class  AlgorithmBuilder
 Builder for creating a complete IpoptAlg object. More...
 
class  AlgorithmStrategyObject
 This is the base class for all algorithm strategy objects. More...
 
class  AmplOptionsList
 Class for storing a number of AMPL options that should be registered to the AMPL Solver library interface. More...
 
class  AmplSuffixHandler
 
class  AmplTNLP
 Ampl Interface, implemented as a TNLP. More...
 
class  AugRestoSystemSolver
 Class that converts an augmented system with compound restoration pieces into a smaller "pivoted" system to be solved with an existing AugSystemSolver. More...
 
class  AugSystemSolver
 Base class for Solver for the augmented system. More...
 
class  BacktrackingLineSearch
 General implementation of a backtracking line search. More...
 
class  BacktrackingLSAcceptor
 Base class for backtracking line search acceptors. More...
 
class  CachedResults
 Templated class for Cached Results. More...
 
class  CGPenaltyCq
 Class for all Chen-Goldfarb penalty method specific calculated quantities. More...
 
class  CGPenaltyData
 Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm. More...
 
class  CGPenaltyLSAcceptor
 Line search acceptor, based on the Chen-Goldfarb penalty function approach. More...
 
class  CGPerturbationHandler
 Class for handling the perturbation factors delta_x, delta_s, delta_c, and delta_d in the primal dual system. More...
 
class  CGSearchDirCalculator
 Implementation of the search direction calculator that computes the Chen-Goldfarb step for the current barrier and penalty parameter. More...
 
class  CompoundMatrix
 Class for Matrices consisting of other matrices. More...
 
class  CompoundMatrixSpace
 This is the matrix space for CompoundMatrix. More...
 
class  CompoundSymMatrix
 Class for symmetric matrices consisting of other matrices. More...
 
class  CompoundSymMatrixSpace
 This is the matrix space for CompoundSymMatrix. More...
 
class  CompoundVector
 Class of Vectors consisting of other vectors. More...
 
class  CompoundVectorSpace
 This vectors space is the vector space for CompoundVector. More...
 
class  ConvergenceCheck
 Base class for checking the algorithm termination criteria. More...
 
class  DefaultIterateInitializer
 Class implementing the default initialization procedure (based on user options) for the iterates. More...
 
class  DenseGenMatrix
 Class for dense general matrices. More...
 
class  DenseGenMatrixSpace
 This is the matrix space for DenseGenMatrix. More...
 
class  DenseGenSchurDriver
 
class  DenseSymMatrix
 Class for dense symmetric matrices. More...
 
class  DenseSymMatrixSpace
 This is the matrix space for DenseSymMatrix. More...
 
class  DenseVector
 Dense Vector Implementation. More...
 
class  DenseVectorSpace
 This vectors space is the vector space for DenseVector. More...
 
class  DependentResult
 Templated class which stores one entry for the CachedResult class. More...
 
class  DiagMatrix
 Class for diagonal matrices. More...
 
class  DiagMatrixSpace
 This is the matrix space for DiagMatrix. More...
 
class  EqMultiplierCalculator
 Base Class for objects that compute estimates for the equality constraint multipliers y_c and y_d. More...
 
class  EquilibrationScaling
 This class does problem scaling by setting the scaling parameters based on the maximum of the gradient at the user provided initial point. More...
 
class  ExactHessianUpdater
 Implementation of the HessianUpdater for the use of exact second derivatives. More...
 
class  ExpandedMultiVectorMatrix
 Class for Matrices with few rows that consists of Vectors, together with a premultiplied Expansion matrix. More...
 
class  ExpandedMultiVectorMatrixSpace
 This is the matrix space for ExpandedMultiVectorMatrix. More...
 
class  ExpansionMatrix
 Class for expansion/projection matrices. More...
 
class  ExpansionMatrixSpace
 This is the matrix space for ExpansionMatrix. More...
 
class  FileJournal
 FileJournal class. More...
 
class  Filter
 Class for the filter. More...
 
class  FilterEntry
 Class for one filter entry. More...
 
class  FilterLSAcceptor
 Filter line search procedure. More...
 
class  GenAugSystemSolver
 Solver for the augmented system using GenKKTSolverInterfaces. More...
 
class  GenKKTSolverInterface
 Base class for interfaces to symmetric indefinite linear solvers for generic matrices. More...
 
class  GenTMatrix
 Class for general matrices stored in triplet format. More...
 
class  GenTMatrixSpace
 This is the matrix space for a GenTMatrix with fixed sparsity structure. More...
 
class  GradientScaling
 This class does problem scaling by setting the scaling parameters based on the maximum of the gradient at the user provided initial point. More...
 
class  HessianUpdater
 Abstract base class for objects responsible for updating the Hessian information. More...
 
class  IdentityMatrix
 Class for Matrices which are multiples of the identity matrix. More...
 
class  IdentityMatrixSpace
 This is the matrix space for IdentityMatrix. More...
 
class  IndexPCalculator
 
class  IndexSchurData
 
class  InexactAlgorithmBuilder
 Builder to create a complete IpoptAlg object for the inexact step computation version. More...
 
class  InexactCq
 Class for all Chen-Goldfarb penalty method specific calculated quantities. More...
 
class  InexactData
 Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm. More...
 
class  InexactDoglegNormalStep
 Compute the normal step using a dogleg approach. More...
 
class  InexactLSAcceptor
 Penalty function line search for the inexact step algorithm version. More...
 
class  InexactNewtonNormalStep
 Compute the "Newton" normal step from the (slack-scaled) augmented system. More...
 
class  InexactNormalStepCalculator
 Base class for computing the normal step for the inexact step calculation algorithm. More...
 
class  InexactNormalTerminationTester
 This class implements the termination tests for the primal-dual system. More...
 
class  InexactPDSolver
 This is the implementation of the Primal-Dual System, allowing the usage of an inexact linear solver. More...
 
class  InexactPDTerminationTester
 This class implements the termination tests for the primal-dual system. More...
 
class  InexactSearchDirCalculator
 Implementation of the search direction calculator that computes the search direction using iterative linear solvers. More...
 
class  InexactTSymScalingMethod
 Class for the method for computing scaling factors for symmetric matrices in triplet format, specifically for the inexaxct algorithm. More...
 
class  IpoptAdditionalCq
 Base class for additional calculated quantities that is special to a particular type of algorithm, such as the CG penalty function, or using iterative linear solvers. More...
 
class  IpoptAdditionalData
 Base class for additional data that is special to a particular type of algorithm, such as the CG penalty function, or using iterative linear solvers. More...
 
class  IpoptAlgorithm
 The main ipopt algorithm class. More...
 
class  IpoptApplication
 This is the main application class for making calls to Ipopt. More...
 
class  IpoptCalculatedQuantities
 Class for all IPOPT specific calculated quantities. More...
 
class  IpoptData
 Class to organize all the data required by the algorithm. More...
 
class  IpoptException
 This is the base class for all exceptions. More...
 
class  IpoptNLP
 This is the abstract base class for classes that map the traditional NLP into something that is more useful for Ipopt. More...
 
class  IterateInitializer
 Base class for all methods for initializing the iterates. More...
 
class  IteratesVector
 Specialized CompoundVector class specifically for the algorithm iterates. More...
 
class  IteratesVectorSpace
 Vector Space for the IteratesVector class. More...
 
class  IterationOutput
 Base class for objects that do the output summary per iteration. More...
 
class  IterativePardisoSolverInterface
 Interface to the linear solver Pardiso, derived from SparseSymLinearSolverInterface. More...
 
class  IterativeSolverTerminationTester
 This base class is for the termination tests for the iterative linear solver in the inexact version of Ipopt. More...
 
class  IterativeWsmpSolverInterface
 Interface to the linear solver WISMP, derived from SparseSymLinearSolverInterface. More...
 
class  Journal
 Journal class (part of the Journalist implementation.). More...
 
class  Journalist
 Class responsible for all message output. More...
 
class  LeastSquareMultipliers
 Class for calculator for the least-square equality constraint multipliers. More...
 
class  LibraryLoader
 loading of a library at runtime More...
 
class  LimMemQuasiNewtonUpdater
 Implementation of the HessianUpdater for limit-memory quasi-Newton approximation of the Lagrangian Hessian. More...
 
class  LineSearch
 Base class for line search objects. More...
 
class  LoqoMuOracle
 Implementation of the LOQO formula for computing the barrier parameter. More...
 
class  LowRankAugSystemSolver
 Solver for the augmented system with LowRankUpdateSymMatrix Hessian matrices. More...
 
class  LowRankSSAugSystemSolver
 Solver for the augmented system with LowRankUpdateSymMatrix Hessian matrices. More...
 
class  LowRankUpdateSymMatrix
 Class for symmetric matrices, represented as low-rank updates. More...
 
class  LowRankUpdateSymMatrixSpace
 This is the matrix space for LowRankUpdateSymMatrix. More...
 
class  Ma27TSolverInterface
 Interface to the symmetric linear solver MA27, derived from SparseSymLinearSolverInterface. More...
 
class  Ma28TDependencyDetector
 
class  Ma57TSolverInterface
 Interface to the symmetric linear solver MA57, derived from SparseSymLinearSolverInterface. More...
 
class  Ma77SolverInterface
 
class  Ma86SolverInterface
 
class  Ma97SolverInterface
 
class  Matrix
 Matrix Base Class. More...
 
class  MatrixSpace
 MatrixSpace base class, corresponding to the Matrix base class. More...
 
class  Mc19TSymScalingMethod
 Class for the method for computing scaling factors for symmetric matrices in triplet format, using MC19. More...
 
class  Measurement
 
class  MetadataMeasurement
 
class  MinC_1NrmRestorationPhase
 Restoration Phase that minimizes the 1-norm of the constraint violation - using the interior point method (Ipopt). More...
 
class  MonotoneMuUpdate
 Monotone Mu Update. More...
 
class  MultiVectorMatrix
 Class for Matrices with few columns that consists of Vectors. More...
 
class  MultiVectorMatrixSpace
 This is the matrix space for MultiVectorMatrix. More...
 
class  MumpsSolverInterface
 Interface to the linear solver Mumps, derived from SparseSymLinearSolverInterface. More...
 
class  MuOracle
 Abstract Base Class for classes that are able to compute a suggested value of the barrier parameter that can be used as an oracle in the NonmontoneMuUpdate class. More...
 
class  MuUpdate
 Abstract Base Class for classes that implement methods for computing the barrier and fraction-to-the-boundary rule parameter for the current iteration. More...
 
class  NLP
 Traditional NLP. More...
 
class  NLPBoundsRemover
 This is an adapter for an NLP that converts variable bound constraints to inequality constraints. More...
 
class  NLPScalingObject
 This is the abstract base class for problem scaling. More...
 
class  NoNLPScalingObject
 Class implementing the scaling object that doesn't to any scaling. More...
 
class  Observer
 Slight Variation of the Observer Design Pattern. More...
 
class  OptimalityErrorConvergenceCheck
 
class  OptionsList
 This class stores a list of user set options. More...
 
class  OrigIpoptNLP
 This class maps the traditional NLP into something that is more useful for Ipopt. More...
 
class  OrigIterationOutput
 Class for the iteration summary output for the original NLP. More...
 
class  PardisoMKLSolverInterface
 Interface to the linear solver Pardiso as distributed by Intel MKL, derived from SparseSymLinearSolverInterface. More...
 
class  PardisoSolverInterface
 Interface to the linear solver Pardiso as distributed by pardiso-project.org, derived from SparseSymLinearSolverInterface. More...
 
class  PCalculator
 This class is the interface for implementations of any class that calculates the matrix \(P =K^{-1}A\) of the following matrix: More...
 
class  PColumn
 This class provides an easy interface for PCalculators with data where columns are not necessarily in adjacent parts of memory. More...
 
class  PDFullSpaceSolver
 This is the implementation of the Primal-Dual System, using the full space approach with a direct linear solver. More...
 
class  PDPerturbationHandler
 Class for handling the perturbation factors delta_x, delta_s, delta_c, and delta_d in the primal dual system. More...
 
class  PDSearchDirCalculator
 Implementation of the search direction calculator that computes the pure primal dual step for the current barrier parameter. More...
 
class  PDSystemSolver
 Pure Primal Dual System Solver Base Class. More...
 
class  PenaltyLSAcceptor
 Penalty function line search. More...
 
class  PiecewisePenalty
 Class for the Piecewise Penalty. More...
 
struct  PiecewisePenEntry
 struct for one Piecewise Penalty entry. More...
 
class  PointPerturber
 This class is a simple object for generating randomly perturbed points that are within the NLP bounds. More...
 
class  ProbingMuOracle
 Implementation of the probing strategy for computing the barrier parameter. More...
 
class  QualityFunctionMuOracle
 Implementation of the probing strategy for computing the barrier parameter. More...
 
class  ReducedHessianCalculator
 This is the interface for the actual controller. More...
 
class  ReferencedObject
 Storing the reference count of all the smart pointers that currently reference it. More...
 
class  Referencer
 Pseudo-class, from which everything has to inherit that wants to use be registered as a Referencer for a ReferencedObject. More...
 
class  RegisteredCategory
 A category of registered options. More...
 
class  RegisteredOption
 Option that has been registered. More...
 
class  RegisteredOptions
 Class for storing registered options. More...
 
class  RestoConvergenceCheck
 Convergence check for the restoration phase. More...
 
class  RestoFilterConvergenceCheck
 This is the implementation of the restoration convergence check is the original algorithm used the filter globalization mechanism. More...
 
class  RestoIpoptNLP
 This class maps a IpoptNLP into one that is used for the restoration phase of Ipopt. More...
 
class  RestoIterateInitializer
 Class implementing the default initialization procedure (based on user options) for the iterates. More...
 
class  RestoIterationOutput
 Class for the iteration summary output for the restoration phase. More...
 
class  RestoPenaltyConvergenceCheck
 This is the implementation of the restoration convergence check is the original algorithm used the filter globalization mechanism. More...
 
class  RestorationPhase
 Base class for different restoration phases. More...
 
class  RestoRestorationPhase
 Recursive Restoration Phase for the MinC_1NrmRestorationPhase. More...
 
class  ScaledMatrix
 Class for a Matrix in conjunction with its scaling factors for row and column scaling. More...
 
class  ScaledMatrixSpace
 This is the matrix space for ScaledMatrix. More...
 
class  SchurData
 This interface serves as a reference point for multiple classes that need to use SchurData (PCalculator, SchurDriver). More...
 
class  SchurDriver
 This class is the interface for any class that deals with the Schur matrix from the point when it is constructed by the PCalculator to the solution against one vector. More...
 
class  SearchDirectionCalculator
 Base class for computing the search direction for the line search. More...
 
class  SensAlgorithm
 This is the interface for the actual controller. More...
 
class  SensAmplTNLP
 
class  SensApplication
 
class  SensBacksolver
 
class  SensBuilder
 
class  SensitivityStepCalculator
 This is the interface for the classes that perform the actual step. More...
 
class  SimpleBacksolver
 
class  SlackBasedTSymScalingMethod
 Class for the method for computing scaling factors for symmetric matrices in triplet format, specifically for the inexact algorithm. More...
 
class  SmartPtr
 Template class for Smart Pointers. More...
 
class  SolveStatistics
 This class collects statistics about an optimization run, such as iteration count, final infeasibilities etc. More...
 
class  SparseSymLinearSolverInterface
 Base class for interfaces to symmetric indefinite linear solvers for sparse matrices. More...
 
class  SpralSolverInterface
 Interface to the linear solver SPRAL. More...
 
class  StandardScalingBase
 This is a base class for many standard scaling techniques. More...
 
class  StdAugSystemSolver
 Solver for the augmented system for triple type matrices. More...
 
class  StdInterfaceTNLP
 Implementation of a TNLP for the Standard C interface. More...
 
class  StdStepCalculator
 
class  StreamJournal
 StreamJournal class. More...
 
class  Subject
 Slight Variation of the Observer Design Pattern (Subject part). More...
 
class  SUFFIX_EMPTY
 
class  SuffixHandler
 This class is the interface for all classes that can return indices. More...
 
class  SumMatrix
 Class for Matrices which are sum of matrices. More...
 
class  SumMatrixSpace
 Class for matrix space for SumMatrix. More...
 
class  SumSymMatrix
 Class for Matrices which are sum of symmetric matrices. More...
 
class  SumSymMatrixSpace
 Class for matrix space for SumSymMatrix. More...
 
class  SymLinearSolver
 Base class for all derived symmetric linear solvers. More...
 
class  SymMatrix
 This is the base class for all derived symmetric matrix types. More...
 
class  SymMatrixSpace
 SymMatrixSpace base class, corresponding to the SymMatrix base class. More...
 
class  SymScaledMatrix
 Class for a Matrix in conjunction with its scaling factors for row and column scaling. More...
 
class  SymScaledMatrixSpace
 This is the matrix space for SymScaledMatrix. More...
 
class  SymTMatrix
 Class for symmetric matrices stored in triplet format. More...
 
class  SymTMatrixSpace
 This is the matrix space for a SymTMatrix with fixed sparsity structure. More...
 
class  TaggedObject
 TaggedObject class. More...
 
class  TDependencyDetector
 Base class for all derived algorithms for detecting linearly dependent rows in the constraint Jacobian. More...
 
class  TimedTask
 This class is used to collect timing information for a particular task. More...
 
class  TimingStatistics
 This class collects all timing statistics for Ipopt. More...
 
class  TNLP
 Base class for all NLP's that use standard triplet matrix form and dense vectors. More...
 
class  TNLPAdapter
 This class adapts the TNLP interface so it looks like an NLP interface. More...
 
class  TNLPReducer
 This is a wrapper around a given TNLP class that takes out a list of constraints that are given to the constructor. More...
 
class  TransposeMatrix
 Class for Matrices which are the transpose of another matrix. More...
 
class  TransposeMatrixSpace
 This is the matrix space for TransposeMatrix. More...
 
class  TripletHelper
 
class  TripletToCSRConverter
 Class for converting symmetric matrices given in triplet format to matrices in compressed sparse row (CSR) format of the upper triangular part (or, equivalently, compressed sparse column (CSC) format for the lower triangular part). More...
 
class  TSymDependencyDetector
 Base class for all derived algorithms for detecting linearly dependent rows in the constraint Jacobian. More...
 
class  TSymLinearSolver
 General driver for linear solvers for sparse indefinite symmetric matrices. More...
 
class  TSymScalingMethod
 Base class for the method for computing scaling factors for symmetric matrices in triplet format. More...
 
class  UserScaling
 This class does problem scaling by getting scaling parameters from the user (through the NLP interface). More...
 
class  Vector
 Vector Base Class. More...
 
class  VectorSpace
 VectorSpace base class, corresponding to the Vector base class. More...
 
class  WarmStartIterateInitializer
 Class implementing an initialization procedure for warm starts. More...
 
class  WsmpSolverInterface
 Interface to the linear solver Wsmp, derived from SparseSymLinearSolverInterface. More...
 
class  ZeroMatrix
 Class for Matrices with only zero entries. More...
 
class  ZeroMatrixSpace
 Class for matrix space for ZeroMatrix. More...
 
class  ZeroSymMatrix
 Class for Symmetric Matrices with only zero entries. More...
 
class  ZeroSymMatrixSpace
 Class for matrix space for ZeroSymMatrix. More...
 

Typedefs

typedef ipnumber Number
 Type of all numbers.
 
typedef ipindex Index
 Type of all indices of vectors, matrices etc.
 
typedef struct Ipopt::PiecewisePenEntry PiecewisePenEntry
 struct for one Piecewise Penalty entry.
 
typedefs for the map variables that define meta data for the DenseVectorSpace
typedef std::map< std::string, std::vector< std::string > > StringMetaDataMapType
 
typedef std::map< std::string, std::vector< Index > > IntegerMetaDataMapType
 
typedef std::map< std::string, std::vector< Number > > NumericMetaDataMapType
 

Enumerations

enum  ENormType { NORM_1 = 0 , NORM_2 , NORM_MAX }
 Norm types. More...
 
enum  HessianApproximationType { EXACT = 0 , LIMITED_MEMORY }
 enumeration for the Hessian information type. More...
 
enum  HessianApproximationSpace { NONLINEAR_VARS = 0 , ALL_VARS }
 enumeration for the Hessian approximation space. More...
 
enum  ESymSolverStatus {
  SYMSOLVER_SUCCESS , SYMSOLVER_SINGULAR , SYMSOLVER_WRONG_INERTIA , SYMSOLVER_CALL_AGAIN ,
  SYMSOLVER_FATAL_ERROR
}
 Enum to report outcome of a linear solve. More...
 
enum  RegisteredOptionType { OT_Number , OT_Integer , OT_String , OT_Unknown }
 
enum  SensAlgorithmExitStatus { SOLVE_SUCCESS , FATAL_ERROR }
 
Journalist Enumerations.
enum  EJournalLevel {
  J_INSUPPRESSIBLE = -1 , J_NONE = 0 , J_ERROR , J_STRONGWARNING ,
  J_SUMMARY , J_WARNING , J_ITERSUMMARY , J_DETAILED ,
  J_MOREDETAILED , J_VECTOR , J_MOREVECTOR , J_MATRIX ,
  J_MOREMATRIX , J_ALL , J_LAST_LEVEL
}
 Print Level Enum. More...
 
enum  EJournalCategory {
  J_DBG = 0 , J_STATISTICS , J_MAIN , J_INITIALIZATION ,
  J_BARRIER_UPDATE , J_SOLVE_PD_SYSTEM , J_FRAC_TO_BOUND , J_LINEAR_ALGEBRA ,
  J_LINE_SEARCH , J_HESSIAN_APPROXIMATION , J_SOLUTION , J_DOCUMENTATION ,
  J_NLP , J_TIMING_STATISTICS , J_USER_APPLICATION , J_USER1 ,
  J_USER2 , J_USER3 , J_USER4 , J_USER5 ,
  J_USER6 , J_USER7 , J_USER8 , J_USER9 ,
  J_USER10 , J_USER11 , J_USER12 , J_USER13 ,
  J_USER14 , J_USER15 , J_USER16 , J_USER17 ,
  J_LAST_CATEGORY
}
 Category Selection Enum. More...
 
Enumerations
enum  SolverReturn {
  SUCCESS , MAXITER_EXCEEDED , CPUTIME_EXCEEDED , WALLTIME_EXCEEDED ,
  STOP_AT_TINY_STEP , STOP_AT_ACCEPTABLE_POINT , LOCAL_INFEASIBILITY , USER_REQUESTED_STOP ,
  FEASIBLE_POINT_FOUND , DIVERGING_ITERATES , RESTORATION_FAILURE , ERROR_IN_STEP_COMPUTATION ,
  INVALID_NUMBER_DETECTED , TOO_FEW_DEGREES_OF_FREEDOM , INVALID_OPTION , OUT_OF_MEMORY ,
  INTERNAL_ERROR , UNASSIGNED
}
 enum for the return from the optimize algorithm More...
 

Functions

void AddInexactDefaultOptions (OptionsList &options_list)
 Function for setting options who's default is different for the inexact algorithm compared to the defaults for the regular Ipopt algorithm.
 
void RegisterOptions_Inexact (const SmartPtr< RegisteredOptions > &roptions)
 
void RegisterOptions_Algorithm (const SmartPtr< RegisteredOptions > &roptions)
 
 DECLARE_STD_EXCEPTION (FATAL_ERROR_IN_LINEAR_SOLVER)
 
void RegisterOptions_LinearSolvers (const SmartPtr< RegisteredOptions > &roptions)
 
 DECLARE_STD_EXCEPTION (ERROR_IN_LINEAR_SCALING_METHOD)
 
 DECLARE_STD_EXCEPTION (DYNAMIC_LIBRARY_FAILURE)
 a problem occurred with a a dynamically loaded library
 
 DECLARE_STD_EXCEPTION (OPTION_INVALID)
 Exception that can be used to indicate errors with options.
 
template<class U1 , class U2 >
bool ComparePointers (const U1 *lhs, const U2 *rhs)
 
template<class T >
void swap (SmartPtr< T > &a, SmartPtr< T > &b)
 
template<class T >
bool operator< (const SmartPtr< T > &lhs, const SmartPtr< T > &rhs)
 
template<class T >
bool operator> (const SmartPtr< T > &lhs, const SmartPtr< T > &rhs)
 
template<class T >
bool operator<= (const SmartPtr< T > &lhs, const SmartPtr< T > &rhs)
 
template<class T >
bool operator>= (const SmartPtr< T > &lhs, const SmartPtr< T > &rhs)
 
template<typename T >
T Max (T a, T b)
 
template<typename T >
T Max (T a, T b, T c)
 
template<typename T >
T Max (T a, T b, T c, T d)
 
template<typename T >
T Min (T a, T b)
 
template<typename T >
T Min (T a, T b, T c)
 
template<typename T >
T Min (T a, T b, T c, T d)
 
IPOPTLIB_EXPORT bool IsFiniteNumber (Number val)
 Function returning true iff the argument is a valid double number (not NaN or Inf).
 
IPOPTLIB_EXPORT Number IpRandom01 ()
 Function returning a random number between 0 and 1.
 
IPOPTLIB_EXPORT void IpResetRandom01 ()
 Function resetting the random number generator.
 
IPOPTLIB_EXPORT Number CpuTime ()
 method determining CPU time
 
IPOPTLIB_EXPORT Number SysTime ()
 method determining system time
 
IPOPTLIB_EXPORT Number WallclockTime ()
 method determining wallclock time since first call
 
IPOPTLIB_EXPORT bool RegisterInterruptHandler (void(*handle_interrupt)(void), bool *interrupt_flag, unsigned int abortlimit=std::numeric_limits< unsigned int >::max())
 register handler for interrupt signals
 
IPOPTLIB_EXPORT bool UnregisterInterruptHandler (void)
 unregister previously registered handler for interrupt signals
 
IPOPTLIB_EXPORT bool Compare_le (Number lhs, Number rhs, Number BasVal)
 Method for comparing two numbers within machine precision.
 
IPOPTLIB_EXPORT int Snprintf (char *str, long size, const char *format,...)
 Method for printing a formatted output to a string with given size.
 
template<typename T >
void ComputeMemIncrease (T &len, double recommended, T min, const char *context)
 Method to calculate new length for a memory increase based on a recommendation and limits in integer type.
 
void RegisterOptions_CGPenalty (const SmartPtr< RegisteredOptions > &roptions)
 
void RegisterOptions_Interfaces (const SmartPtr< RegisteredOptions > &roptions)
 
 DECLARE_STD_EXCEPTION (IPOPT_APPLICATION_ERROR)
 
 DECLARE_STD_EXCEPTION (INVALID_STDINTERFACE_NLP)
 Declare exception that is thrown when invalid NLP data is provided.
 
IPOPTLIB_EXPORT Number IpBlasDot (Index size, const Number *x, Index incX, const Number *y, Index incY)
 Wrapper for BLAS function XDOT.
 
IPOPT_DEPRECATED Number IpBlasDdot (Index size, const Number *x, Index incX, const Number *y, Index incY)
 Wrapper for BLAS function DDOT.
 
IPOPTLIB_EXPORT Number IpBlasNrm2 (Index size, const Number *x, Index incX)
 Wrapper for BLAS function XNRM2.
 
IPOPT_DEPRECATED Number IpBlasDnrm2 (Index size, const Number *x, Index incX)
 Wrapper for BLAS function DNRM2.
 
IPOPTLIB_EXPORT Number IpBlasAsum (Index size, const Number *x, Index incX)
 Wrapper for BLAS function XASUM.
 
IPOPT_DEPRECATED Number IpBlasDasum (Index size, const Number *x, Index incX)
 Wrapper for BLAS function DASUM.
 
IPOPTLIB_EXPORT Index IpBlasIamax (Index size, const Number *x, Index incX)
 Wrapper for BLAS function IXAMAX.
 
IPOPT_DEPRECATED int IpBlasIdamax (Index size, const Number *x, Index incX)
 Wrapper for BLAS function IDAMAX.
 
IPOPTLIB_EXPORT void IpBlasCopy (Index size, const Number *x, Index incX, Number *y, Index incY)
 Wrapper for BLAS subroutine XCOPY.
 
IPOPT_DEPRECATED void IpBlasDcopy (Index size, const Number *x, Index incX, Number *y, Index incY)
 Wrapper for BLAS subroutine DCOPY.
 
IPOPTLIB_EXPORT void IpBlasAxpy (Index size, Number alpha, const Number *x, Index incX, Number *y, Index incY)
 Wrapper for BLAS subroutine XAXPY.
 
IPOPT_DEPRECATED void IpBlasDaxpy (Index size, Number alpha, const Number *x, Index incX, Number *y, Index incY)
 Wrapper for BLAS subroutine DAXPY.
 
IPOPTLIB_EXPORT void IpBlasScal (Index size, Number alpha, Number *x, Index incX)
 Wrapper for BLAS subroutine XSCAL.
 
IPOPT_DEPRECATED void IpBlasDscal (Index size, Number alpha, Number *x, Index incX)
 Wrapper for BLAS subroutine DSCAL.
 
IPOPTLIB_EXPORT void IpBlasGemv (bool trans, Index nRows, Index nCols, Number alpha, const Number *A, Index ldA, const Number *x, Index incX, Number beta, Number *y, Index incY)
 Wrapper for BLAS subroutine XGEMV.
 
IPOPT_DEPRECATED void IpBlasDgemv (bool trans, Index nRows, Index nCols, Number alpha, const Number *A, Index ldA, const Number *x, Index incX, Number beta, Number *y, Index incY)
 Wrapper for BLAS subroutine DGEMV.
 
IPOPTLIB_EXPORT void IpBlasSymv (Index n, Number alpha, const Number *A, Index ldA, const Number *x, Index incX, Number beta, Number *y, Index incY)
 Wrapper for BLAS subroutine XSYMV.
 
IPOPT_DEPRECATED void IpBlasDsymv (Index n, Number alpha, const Number *A, Index ldA, const Number *x, Index incX, Number beta, Number *y, Index incY)
 Wrapper for BLAS subroutine DSYMV.
 
IPOPTLIB_EXPORT void IpBlasGemm (bool transa, bool transb, Index m, Index n, Index k, Number alpha, const Number *A, Index ldA, const Number *B, Index ldB, Number beta, Number *C, Index ldC)
 Wrapper for BLAS subroutine XGEMM.
 
IPOPT_DEPRECATED void IpBlasDgemm (bool transa, bool transb, Index m, Index n, Index k, Number alpha, const Number *A, Index ldA, const Number *B, Index ldB, Number beta, Number *C, Index ldC)
 Wrapper for BLAS subroutine DGEMM.
 
IPOPTLIB_EXPORT void IpBlasSyrk (bool trans, Index ndim, Index nrank, Number alpha, const Number *A, Index ldA, Number beta, Number *C, Index ldC)
 Wrapper for BLAS subroutine XSYRK.
 
IPOPT_DEPRECATED void IpBlasDsyrk (bool trans, Index ndim, Index nrank, Number alpha, const Number *A, Index ldA, Number beta, Number *C, Index ldC)
 Wrapper for BLAS subroutine DSYRK.
 
IPOPTLIB_EXPORT void IpBlasTrsm (bool trans, Index ndim, Index nrhs, Number alpha, const Number *A, Index ldA, Number *B, Index ldB)
 Wrapper for BLAS subroutine XTRSM.
 
IPOPT_DEPRECATED void IpBlasDtrsm (bool trans, Index ndim, Index nrhs, Number alpha, const Number *A, Index ldA, Number *B, Index ldB)
 Wrapper for BLAS subroutine DTRSM.
 
 DECLARE_STD_EXCEPTION (LAPACK_NOT_INCLUDED)
 
IPOPTLIB_EXPORT void IpLapackPotrs (Index ndim, Index nrhs, const Number *a, Index lda, Number *b, Index ldb)
 Wrapper for LAPACK subroutine XPOTRS.
 
IPOPT_DEPRECATED void IpLapackDpotrs (Index ndim, Index nrhs, const Number *a, Index lda, Number *b, Index ldb)
 Wrapper for LAPACK subroutine DPOTRS.
 
IPOPTLIB_EXPORT void IpLapackPotrf (Index ndim, Number *a, Index lda, Index &info)
 Wrapper for LAPACK subroutine XPOTRF.
 
IPOPT_DEPRECATED void IpLapackDpotrf (Index ndim, Number *a, Index lda, Index &info)
 Wrapper for LAPACK subroutine DPOTRF.
 
IPOPTLIB_EXPORT void IpLapackSyev (bool compute_eigenvectors, Index ndim, Number *a, Index lda, Number *w, Index &info)
 Wrapper for LAPACK subroutine XSYEV.
 
IPOPT_DEPRECATED void IpLapackDsyev (bool compute_eigenvectors, Index ndim, Number *a, Index lda, Number *w, Index &info)
 Wrapper for LAPACK subroutine DSYEV.
 
IPOPTLIB_EXPORT void IpLapackGetrf (Index ndim, Number *a, Index *ipiv, Index lda, Index &info)
 Wrapper for LAPACK subroutine XGETRF.
 
IPOPT_DEPRECATED void IpLapackDgetrf (Index ndim, Number *a, Index *ipiv, Index lda, Index &info)
 Wrapper for LAPACK subroutine DGETRF.
 
IPOPTLIB_EXPORT void IpLapackGetrs (Index ndim, Index nrhs, const Number *a, Index lda, Index *ipiv, Number *b, Index ldb)
 Wrapper for LAPACK subroutine XGETRS.
 
IPOPT_DEPRECATED void IpLapackDgetrs (Index ndim, Index nrhs, const Number *a, Index lda, Index *ipiv, Number *b, Index ldb)
 Wrapper for LAPACK subroutine DGETRS.
 
IPOPTLIB_EXPORT void IpLapackPpsv (Index ndim, Index nrhs, const Number *a, Number *b, Index ldb, Index &info)
 Wrapper for LAPACK subroutine XPPSV.
 
IPOPT_DEPRECATED void IpLapackDppsv (Index ndim, Index nrhs, const Number *a, Number *b, Index ldb, Index &info)
 Wrapper for LAPACK subroutine DPPSV.
 
 DECLARE_STD_EXCEPTION (UNIMPLEMENTED_LINALG_METHOD_CALLED)
 Exception that can be used to flag unimplemented linear algebra methods.
 
 DECLARE_STD_EXCEPTION (UNKNOWN_MATRIX_TYPE)
 
 DECLARE_STD_EXCEPTION (UNKNOWN_VECTOR_TYPE)
 
 DECLARE_STD_SIPOPT_EXCEPTION (SENS_SUFFIX_ERROR)
 Standard exception for wrong/inconsistent suffixes for sipopt.
 
 DECLARE_STD_SIPOPT_EXCEPTION (SENS_BUILDER_ERROR)
 
SIPOPTLIB_EXPORT void RegisterOptions_sIPOPT (const SmartPtr< RegisteredOptions > &roptions)
 
SIPOPTLIB_EXPORT Index AsIndexMax (Index length, const Index *x, Index Incr)
 
SIPOPTLIB_EXPORT Index AsIndexSum (Index length, const Index *x, Index Incr)
 
SIPOPTLIB_EXPORT void append_Index (std::string &str, Index idx)
 
SIPOPTLIB_EXPORT SolverReturn AppReturn2SolverReturn (ApplicationReturnStatus ipopt_retval)
 
Exceptions
 DECLARE_STD_EXCEPTION (RESTORATION_CONVERGED_TO_FEASIBLE_POINT)
 Exception RESTORATION_FAILED for all trouble with the restoration phase.
 
 DECLARE_STD_EXCEPTION (RESTORATION_FAILED)
 
 DECLARE_STD_EXCEPTION (RESTORATION_MAXITER_EXCEEDED)
 
 DECLARE_STD_EXCEPTION (RESTORATION_CPUTIME_EXCEEDED)
 
 DECLARE_STD_EXCEPTION (RESTORATION_WALLTIME_EXCEEDED)
 
 DECLARE_STD_EXCEPTION (RESTORATION_USER_STOP)
 
 DECLARE_STD_EXCEPTION (METADATA_ERROR)
 
SmartPtr friend function declarations
template<class U >
UGetRawPtr (const SmartPtr< U > &smart_ptr)
 
template<class U >
SmartPtr< const UConstPtr (const SmartPtr< U > &smart_ptr)
 
template<class U >
bool IsNull (const SmartPtr< U > &smart_ptr)
 
template<class U >
bool IsValid (const SmartPtr< U > &smart_ptr)
 
template<class U1 , class U2 >
bool operator== (const SmartPtr< U1 > &lhs, const SmartPtr< U2 > &rhs)
 
template<class U1 , class U2 >
bool operator== (const SmartPtr< U1 > &lhs, U2 *raw_rhs)
 
template<class U1 , class U2 >
bool operator== (U1 *lhs, const SmartPtr< U2 > &raw_rhs)
 
template<class U1 , class U2 >
bool operator!= (const SmartPtr< U1 > &lhs, const SmartPtr< U2 > &rhs)
 
template<class U1 , class U2 >
bool operator!= (const SmartPtr< U1 > &lhs, U2 *raw_rhs)
 
template<class U1 , class U2 >
bool operator!= (U1 *lhs, const SmartPtr< U2 > &raw_rhs)
 
Some exceptions used in multiple places
 DECLARE_STD_EXCEPTION (LOCALLY_INFEASIBLE)
 
 DECLARE_STD_EXCEPTION (TOO_FEW_DOF)
 
 DECLARE_STD_EXCEPTION (TINY_STEP_DETECTED)
 
 DECLARE_STD_EXCEPTION (STEP_COMPUTATION_FAILED)
 
 DECLARE_STD_EXCEPTION (ACCEPTABLE_POINT_REACHED)
 
 DECLARE_STD_EXCEPTION (FEASIBILITY_PROBLEM_SOLVED)
 
 DECLARE_STD_EXCEPTION (INVALID_WARMSTART)
 
 DECLARE_STD_EXCEPTION (INTERNAL_ABORT)
 
 DECLARE_STD_EXCEPTION (INCONSISTENT_BOUNDS)
 
 DECLARE_STD_EXCEPTION (FAILED_INITIALIZATION)
 Exception FAILED_INITIALIZATION for problem during initialization of a strategy object (or other problems).
 

Variables

IPOPT_DEPRECATED typedef int Int
 Type of default integer.
 

Detailed Description

This file contains a base class for all exceptions and a set of macros to help with exceptions.

Typedef Documentation

◆ Number

Type of all numbers.

Definition at line 17 of file IpTypes.hpp.

◆ Index

Type of all indices of vectors, matrices etc.

Definition at line 20 of file IpTypes.hpp.

◆ PiecewisePenEntry

struct for one Piecewise Penalty entry.

◆ StringMetaDataMapType

typedef std::map<std::string, std::vector<std::string> > Ipopt::StringMetaDataMapType

Definition at line 327 of file IpDenseVector.hpp.

◆ IntegerMetaDataMapType

typedef std::map<std::string, std::vector<Index> > Ipopt::IntegerMetaDataMapType

Definition at line 328 of file IpDenseVector.hpp.

◆ NumericMetaDataMapType

typedef std::map<std::string, std::vector<Number> > Ipopt::NumericMetaDataMapType

Definition at line 329 of file IpDenseVector.hpp.

Enumeration Type Documentation

◆ ENormType

Norm types.

Enumerator
NORM_1 
NORM_2 
NORM_MAX 

Definition at line 25 of file IpIpoptCalculatedQuantities.hpp.

◆ HessianApproximationType

enumeration for the Hessian information type.

Enumerator
EXACT 
LIMITED_MEMORY 

Definition at line 18 of file IpOrigIpoptNLP.hpp.

◆ HessianApproximationSpace

enumeration for the Hessian approximation space.

Enumerator
NONLINEAR_VARS 
ALL_VARS 

Definition at line 25 of file IpOrigIpoptNLP.hpp.

◆ ESymSolverStatus

Enum to report outcome of a linear solve.

Enumerator
SYMSOLVER_SUCCESS 

Successful solve.

SYMSOLVER_SINGULAR 

Matrix seems to be singular; solve was aborted.

SYMSOLVER_WRONG_INERTIA 

The number of negative eigenvalues is not correct.

SYMSOLVER_CALL_AGAIN 

Call the solver interface again after the matrix values have been restored.

SYMSOLVER_FATAL_ERROR 

Unrecoverable error in linear solver occurred.

The optimization will be aborted.

Definition at line 19 of file IpSymLinearSolver.hpp.

◆ EJournalLevel

Print Level Enum.

Enumerator
J_INSUPPRESSIBLE 
J_NONE 
J_ERROR 
J_STRONGWARNING 
J_SUMMARY 
J_WARNING 
J_ITERSUMMARY 
J_DETAILED 
J_MOREDETAILED 
J_VECTOR 
J_MOREVECTOR 
J_MATRIX 
J_MOREMATRIX 
J_ALL 
J_LAST_LEVEL 

Definition at line 31 of file IpJournalist.hpp.

◆ EJournalCategory

Category Selection Enum.

Enumerator
J_DBG 
J_STATISTICS 
J_MAIN 
J_INITIALIZATION 
J_BARRIER_UPDATE 
J_SOLVE_PD_SYSTEM 
J_FRAC_TO_BOUND 
J_LINEAR_ALGEBRA 
J_LINE_SEARCH 
J_HESSIAN_APPROXIMATION 
J_SOLUTION 
J_DOCUMENTATION 
J_NLP 
J_TIMING_STATISTICS 
J_USER_APPLICATION 

This can be used by the user's application.

J_USER1 

This can be used by the user's application.

J_USER2 

This can be used by the user's application.

J_USER3 

This can be used by the user's application.

J_USER4 

This can be used by the user's application.

J_USER5 

This can be used by the user's application.

J_USER6 

This can be used by the user's application.

J_USER7 

This can be used by the user's application.

J_USER8 

This can be used by the user's application.

J_USER9 

This can be used by the user's application.

J_USER10 

This can be used by the user's application.

J_USER11 

This can be used by the user's application.

J_USER12 

This can be used by the user's application.

J_USER13 

This can be used by the user's application.

J_USER14 

This can be used by the user's application.

J_USER15 

This can be used by the user's application.

J_USER16 

This can be used by the user's application.

J_USER17 

This can be used by the user's application.

J_LAST_CATEGORY 

Definition at line 51 of file IpJournalist.hpp.

◆ RegisteredOptionType

Enumerator
OT_Number 
OT_Integer 
OT_String 
OT_Unknown 

Definition at line 22 of file IpRegOptions.hpp.

◆ SolverReturn

enum for the return from the optimize algorithm

Enumerator
SUCCESS 
MAXITER_EXCEEDED 
CPUTIME_EXCEEDED 
WALLTIME_EXCEEDED 
Since
3.14.0
STOP_AT_TINY_STEP 
STOP_AT_ACCEPTABLE_POINT 
LOCAL_INFEASIBILITY 
USER_REQUESTED_STOP 
FEASIBLE_POINT_FOUND 
DIVERGING_ITERATES 
RESTORATION_FAILURE 
ERROR_IN_STEP_COMPUTATION 
INVALID_NUMBER_DETECTED 
TOO_FEW_DEGREES_OF_FREEDOM 
INVALID_OPTION 
OUT_OF_MEMORY 
INTERNAL_ERROR 
UNASSIGNED 

Definition at line 19 of file IpAlgTypes.hpp.

◆ SensAlgorithmExitStatus

Enumerator
SOLVE_SUCCESS 
FATAL_ERROR 

Definition at line 21 of file SensUtils.hpp.

Function Documentation

◆ AddInexactDefaultOptions()

void Ipopt::AddInexactDefaultOptions ( OptionsList options_list)

Function for setting options who's default is different for the inexact algorithm compared to the defaults for the regular Ipopt algorithm.

The options_list is augmented by the different default values, but only if the corresponding option has not yet been set.

◆ RegisterOptions_Inexact()

void Ipopt::RegisterOptions_Inexact ( const SmartPtr< RegisteredOptions > &  roptions)

◆ RegisterOptions_Algorithm()

void Ipopt::RegisterOptions_Algorithm ( const SmartPtr< RegisteredOptions > &  roptions)

◆ DECLARE_STD_EXCEPTION() [1/27]

Ipopt::DECLARE_STD_EXCEPTION ( FATAL_ERROR_IN_LINEAR_SOLVER  )

◆ DECLARE_STD_EXCEPTION() [2/27]

Ipopt::DECLARE_STD_EXCEPTION ( RESTORATION_CONVERGED_TO_FEASIBLE_POINT  )

Exception RESTORATION_FAILED for all trouble with the restoration phase.

◆ DECLARE_STD_EXCEPTION() [3/27]

Ipopt::DECLARE_STD_EXCEPTION ( RESTORATION_FAILED  )

◆ DECLARE_STD_EXCEPTION() [4/27]

Ipopt::DECLARE_STD_EXCEPTION ( RESTORATION_MAXITER_EXCEEDED  )

◆ DECLARE_STD_EXCEPTION() [5/27]

Ipopt::DECLARE_STD_EXCEPTION ( RESTORATION_CPUTIME_EXCEEDED  )

◆ DECLARE_STD_EXCEPTION() [6/27]

Ipopt::DECLARE_STD_EXCEPTION ( RESTORATION_WALLTIME_EXCEEDED  )
Since
3.14.0

◆ DECLARE_STD_EXCEPTION() [7/27]

Ipopt::DECLARE_STD_EXCEPTION ( RESTORATION_USER_STOP  )

◆ RegisterOptions_LinearSolvers()

void Ipopt::RegisterOptions_LinearSolvers ( const SmartPtr< RegisteredOptions > &  roptions)

◆ DECLARE_STD_EXCEPTION() [8/27]

Ipopt::DECLARE_STD_EXCEPTION ( ERROR_IN_LINEAR_SCALING_METHOD  )

◆ DECLARE_STD_EXCEPTION() [9/27]

Ipopt::DECLARE_STD_EXCEPTION ( DYNAMIC_LIBRARY_FAILURE  )

a problem occurred with a a dynamically loaded library

e.g., library could not be loaded or a symbol could not be found

◆ DECLARE_STD_EXCEPTION() [10/27]

Ipopt::DECLARE_STD_EXCEPTION ( OPTION_INVALID  )

Exception that can be used to indicate errors with options.

◆ GetRawPtr()

template<class U >
U * Ipopt::GetRawPtr ( const SmartPtr< U > &  smart_ptr)

Use to get the value of the raw ptr (i.e. to pass to other methods/functions, etc.) Note: This method does NOT copy, therefore, modifications using this value modify the underlying object contained by the SmartPtr, NEVER delete this returned value.

Definition at line 650 of file IpSmartPtr.hpp.

◆ ConstPtr()

template<class U >
SmartPtr< const U > Ipopt::ConstPtr ( const SmartPtr< U > &  smart_ptr)

Definition at line 664 of file IpSmartPtr.hpp.

◆ IsNull()

template<class U >
bool Ipopt::IsNull ( const SmartPtr< U > &  smart_ptr)

Use this to check if the SmartPtr is NULL. This is preferred to if(GetRawPtr(sp) == NULL)

Definition at line 681 of file IpSmartPtr.hpp.

◆ IsValid()

template<class U >
bool Ipopt::IsValid ( const SmartPtr< U > &  smart_ptr)

Use this to check if the SmartPtr is not NULL. This is preferred to if(GetRawPtr(sp) != NULL)

Definition at line 673 of file IpSmartPtr.hpp.

◆ operator==() [1/3]

template<class U1 , class U2 >
bool Ipopt::operator== ( const SmartPtr< U1 > &  lhs,
const SmartPtr< U2 > &  rhs 
)

Definition at line 717 of file IpSmartPtr.hpp.

◆ operator==() [2/3]

template<class U1 , class U2 >
bool Ipopt::operator== ( const SmartPtr< U1 > &  lhs,
U2 raw_rhs 
)

Definition at line 734 of file IpSmartPtr.hpp.

◆ operator==() [3/3]

template<class U1 , class U2 >
bool Ipopt::operator== ( U1 lhs,
const SmartPtr< U2 > &  raw_rhs 
)

Definition at line 750 of file IpSmartPtr.hpp.

◆ operator!=() [1/3]

template<class U1 , class U2 >
bool Ipopt::operator!= ( const SmartPtr< U1 > &  lhs,
const SmartPtr< U2 > &  rhs 
)

Definition at line 766 of file IpSmartPtr.hpp.

◆ operator!=() [2/3]

template<class U1 , class U2 >
bool Ipopt::operator!= ( const SmartPtr< U1 > &  lhs,
U2 raw_rhs 
)

Definition at line 782 of file IpSmartPtr.hpp.

◆ operator!=() [3/3]

template<class U1 , class U2 >
bool Ipopt::operator!= ( U1 lhs,
const SmartPtr< U2 > &  raw_rhs 
)

Definition at line 798 of file IpSmartPtr.hpp.

◆ ComparePointers()

template<class U1 , class U2 >
bool Ipopt::ComparePointers ( const U1 lhs,
const U2 rhs 
)

Definition at line 695 of file IpSmartPtr.hpp.

◆ swap()

template<class T >
void Ipopt::swap ( SmartPtr< T > &  a,
SmartPtr< T > &  b 
)

Definition at line 814 of file IpSmartPtr.hpp.

◆ operator<()

template<class T >
bool Ipopt::operator< ( const SmartPtr< T > &  lhs,
const SmartPtr< T > &  rhs 
)

Definition at line 829 of file IpSmartPtr.hpp.

◆ operator>()

template<class T >
bool Ipopt::operator> ( const SmartPtr< T > &  lhs,
const SmartPtr< T > &  rhs 
)

Definition at line 838 of file IpSmartPtr.hpp.

◆ operator<=()

template<class T >
bool Ipopt::operator<= ( const SmartPtr< T > &  lhs,
const SmartPtr< T > &  rhs 
)

Definition at line 846 of file IpSmartPtr.hpp.

◆ operator>=()

template<class T >
bool Ipopt::operator>= ( const SmartPtr< T > &  lhs,
const SmartPtr< T > &  rhs 
)

Definition at line 854 of file IpSmartPtr.hpp.

◆ Max() [1/3]

template<typename T >
T Ipopt::Max ( T  a,
T  b 
)
inline

Definition at line 23 of file IpUtils.hpp.

◆ Max() [2/3]

template<typename T >
T Ipopt::Max ( T  a,
T  b,
T  c 
)
inline

Definition at line 32 of file IpUtils.hpp.

◆ Max() [3/3]

template<typename T >
T Ipopt::Max ( T  a,
T  b,
T  c,
T  d 
)
inline

Definition at line 42 of file IpUtils.hpp.

◆ Min() [1/3]

template<typename T >
T Ipopt::Min ( T  a,
T  b 
)
inline

Definition at line 53 of file IpUtils.hpp.

◆ Min() [2/3]

template<typename T >
T Ipopt::Min ( T  a,
T  b,
T  c 
)
inline

Definition at line 62 of file IpUtils.hpp.

◆ Min() [3/3]

template<typename T >
T Ipopt::Min ( T  a,
T  b,
T  c,
T  d 
)
inline

Definition at line 72 of file IpUtils.hpp.

◆ IsFiniteNumber()

IPOPTLIB_EXPORT bool Ipopt::IsFiniteNumber ( Number  val)

Function returning true iff the argument is a valid double number (not NaN or Inf).

◆ IpRandom01()

IPOPTLIB_EXPORT Number Ipopt::IpRandom01 ( )

Function returning a random number between 0 and 1.

◆ IpResetRandom01()

IPOPTLIB_EXPORT void Ipopt::IpResetRandom01 ( )

Function resetting the random number generator.

◆ CpuTime()

IPOPTLIB_EXPORT Number Ipopt::CpuTime ( )

method determining CPU time

◆ SysTime()

IPOPTLIB_EXPORT Number Ipopt::SysTime ( )

method determining system time

◆ WallclockTime()

IPOPTLIB_EXPORT Number Ipopt::WallclockTime ( )

method determining wallclock time since first call

◆ RegisterInterruptHandler()

IPOPTLIB_EXPORT bool Ipopt::RegisterInterruptHandler ( void(*)(void handle_interrupt,
bool interrupt_flag,
unsigned int  abortlimit = std::numeric_limits< unsigned int >::max() 
)

register handler for interrupt signals

On systems with sigaction(), catches SIGHUP and SIGINT signals. Otherwise, catches SIGTERM, SIGABRT, SIGINT signals via signal().

Returns
whether registering the handler was successful
Since
3.14.17
Parameters
handle_interruptfunction to call when interrupted by signal, if not NULL
interrupt_flagvariable to set to true when interrupted by signal, if not NULL
abortlimitif interrupt signal has been send this many times, then exit(1)

◆ UnregisterInterruptHandler()

IPOPTLIB_EXPORT bool Ipopt::UnregisterInterruptHandler ( void  )

unregister previously registered handler for interrupt signals

Returns
whether unregistering the handler was successful
Since
3.14.17

◆ Compare_le()

IPOPTLIB_EXPORT bool Ipopt::Compare_le ( Number  lhs,
Number  rhs,
Number  BasVal 
)

Method for comparing two numbers within machine precision.

Returns
true, if lhs is less or equal the rhs, relaxing this inequality by something a little larger than machine precision relative to the absolute value of BasVal

◆ Snprintf()

IPOPTLIB_EXPORT int Ipopt::Snprintf ( char str,
long  size,
const char format,
  ... 
)

Method for printing a formatted output to a string with given size.

◆ ComputeMemIncrease()

template<typename T >
void Ipopt::ComputeMemIncrease ( T len,
double  recommended,
T  min,
const char context 
)
inline

Method to calculate new length for a memory increase based on a recommendation and limits in integer type.

Checks whether recommended can be represented by T. If so, sets len to min of recommendation and min. If not, sets len to maximal value available for T, if this is larger than current value for len. If not, throws a std::overflow_error exception.

Since
3.14.0
Parameters
lencurrent length on input, new length on output
recommendedrecommended size
minminimal size that should ensured
contextcontext from where this function is called - used to setup message for exception

Definition at line 157 of file IpUtils.hpp.

◆ RegisterOptions_CGPenalty()

void Ipopt::RegisterOptions_CGPenalty ( const SmartPtr< RegisteredOptions > &  roptions)

◆ DECLARE_STD_EXCEPTION() [11/27]

Ipopt::DECLARE_STD_EXCEPTION ( LOCALLY_INFEASIBLE  )

◆ DECLARE_STD_EXCEPTION() [12/27]

Ipopt::DECLARE_STD_EXCEPTION ( TOO_FEW_DOF  )

◆ DECLARE_STD_EXCEPTION() [13/27]

Ipopt::DECLARE_STD_EXCEPTION ( TINY_STEP_DETECTED  )

◆ DECLARE_STD_EXCEPTION() [14/27]

Ipopt::DECLARE_STD_EXCEPTION ( STEP_COMPUTATION_FAILED  )

◆ DECLARE_STD_EXCEPTION() [15/27]

Ipopt::DECLARE_STD_EXCEPTION ( ACCEPTABLE_POINT_REACHED  )

◆ DECLARE_STD_EXCEPTION() [16/27]

Ipopt::DECLARE_STD_EXCEPTION ( FEASIBILITY_PROBLEM_SOLVED  )

◆ DECLARE_STD_EXCEPTION() [17/27]

Ipopt::DECLARE_STD_EXCEPTION ( INVALID_WARMSTART  )

◆ DECLARE_STD_EXCEPTION() [18/27]

Ipopt::DECLARE_STD_EXCEPTION ( INTERNAL_ABORT  )

◆ DECLARE_STD_EXCEPTION() [19/27]

Ipopt::DECLARE_STD_EXCEPTION ( INCONSISTENT_BOUNDS  )

◆ DECLARE_STD_EXCEPTION() [20/27]

Ipopt::DECLARE_STD_EXCEPTION ( FAILED_INITIALIZATION  )

Exception FAILED_INITIALIZATION for problem during initialization of a strategy object (or other problems).

This is thrown by a strategy object, if a problem arises during initialization, such as a value out of a feasible range.

◆ RegisterOptions_Interfaces()

void Ipopt::RegisterOptions_Interfaces ( const SmartPtr< RegisteredOptions > &  roptions)

◆ DECLARE_STD_EXCEPTION() [21/27]

Ipopt::DECLARE_STD_EXCEPTION ( IPOPT_APPLICATION_ERROR  )

◆ DECLARE_STD_EXCEPTION() [22/27]

Ipopt::DECLARE_STD_EXCEPTION ( INVALID_STDINTERFACE_NLP  )

Declare exception that is thrown when invalid NLP data is provided.

◆ IpBlasDot()

IPOPTLIB_EXPORT Number Ipopt::IpBlasDot ( Index  size,
const Number x,
Index  incX,
const Number y,
Index  incY 
)

Wrapper for BLAS function XDOT.

Compute dot product of vector x and vector y.

Since
3.14.0

◆ IpBlasDdot()

IPOPT_DEPRECATED Number Ipopt::IpBlasDdot ( Index  size,
const Number x,
Index  incX,
const Number y,
Index  incY 
)
inline

Wrapper for BLAS function DDOT.

Compute dot product of vector x and vector y.

Deprecated:
Use IpBlasDot() instead.

Definition at line 34 of file IpBlas.hpp.

◆ IpBlasNrm2()

IPOPTLIB_EXPORT Number Ipopt::IpBlasNrm2 ( Index  size,
const Number x,
Index  incX 
)

Wrapper for BLAS function XNRM2.

Compute 2-norm of vector x.

Since
3.14.0

◆ IpBlasDnrm2()

IPOPT_DEPRECATED Number Ipopt::IpBlasDnrm2 ( Index  size,
const Number x,
Index  incX 
)
inline

Wrapper for BLAS function DNRM2.

Compute 2-norm of vector x.

Deprecated:
Use IpBlasNrm2() instead.

Definition at line 63 of file IpBlas.hpp.

◆ IpBlasAsum()

IPOPTLIB_EXPORT Number Ipopt::IpBlasAsum ( Index  size,
const Number x,
Index  incX 
)

Wrapper for BLAS function XASUM.

Compute 1-norm of vector x.

Since
3.14.0

◆ IpBlasDasum()

IPOPT_DEPRECATED Number Ipopt::IpBlasDasum ( Index  size,
const Number x,
Index  incX 
)
inline

Wrapper for BLAS function DASUM.

Compute 1-norm of vector x.

Deprecated:
Use IpBlasAsum() instead.

Definition at line 90 of file IpBlas.hpp.

◆ IpBlasIamax()

IPOPTLIB_EXPORT Index Ipopt::IpBlasIamax ( Index  size,
const Number x,
Index  incX 
)

Wrapper for BLAS function IXAMAX.

Compute index for largest absolute element of vector x.

Since
3.14.0

◆ IpBlasIdamax()

IPOPT_DEPRECATED int Ipopt::IpBlasIdamax ( Index  size,
const Number x,
Index  incX 
)
inline

Wrapper for BLAS function IDAMAX.

Compute index for largest absolute element of vector x.

Deprecated:
Use IpBlasIamax() instead.

Definition at line 117 of file IpBlas.hpp.

◆ IpBlasCopy()

IPOPTLIB_EXPORT void Ipopt::IpBlasCopy ( Index  size,
const Number x,
Index  incX,
Number y,
Index  incY 
)

Wrapper for BLAS subroutine XCOPY.

Copying vector x into vector y.

Since
3.14.0

◆ IpBlasDcopy()

IPOPT_DEPRECATED void Ipopt::IpBlasDcopy ( Index  size,
const Number x,
Index  incX,
Number y,
Index  incY 
)
inline

Wrapper for BLAS subroutine DCOPY.

Copying vector x into vector y.

Deprecated:
Use IpBlasCopy() instead.

Definition at line 146 of file IpBlas.hpp.

◆ IpBlasAxpy()

IPOPTLIB_EXPORT void Ipopt::IpBlasAxpy ( Index  size,
Number  alpha,
const Number x,
Index  incX,
Number y,
Index  incY 
)

Wrapper for BLAS subroutine XAXPY.

Adding the alpha multiple of vector x to vector y.

Since
3.14.0

◆ IpBlasDaxpy()

IPOPT_DEPRECATED void Ipopt::IpBlasDaxpy ( Index  size,
Number  alpha,
const Number x,
Index  incX,
Number y,
Index  incY 
)
inline

Wrapper for BLAS subroutine DAXPY.

Adding the alpha multiple of vector x to vector y.

Deprecated:
Use IpBlasAxpy() instead.

Definition at line 178 of file IpBlas.hpp.

◆ IpBlasScal()

IPOPTLIB_EXPORT void Ipopt::IpBlasScal ( Index  size,
Number  alpha,
Number x,
Index  incX 
)

Wrapper for BLAS subroutine XSCAL.

Scaling vector x by scalar alpha.

Since
3.14.0

◆ IpBlasDscal()

IPOPT_DEPRECATED void Ipopt::IpBlasDscal ( Index  size,
Number  alpha,
Number x,
Index  incX 
)
inline

Wrapper for BLAS subroutine DSCAL.

Scaling vector x by scalar alpha.

Deprecated:
Use IpBlasScal() instead.

Definition at line 209 of file IpBlas.hpp.

◆ IpBlasGemv()

IPOPTLIB_EXPORT void Ipopt::IpBlasGemv ( bool  trans,
Index  nRows,
Index  nCols,
Number  alpha,
const Number A,
Index  ldA,
const Number x,
Index  incX,
Number  beta,
Number y,
Index  incY 
)

Wrapper for BLAS subroutine XGEMV.

Multiplying a matrix with a vector.

Since
3.14.0

◆ IpBlasDgemv()

IPOPT_DEPRECATED void Ipopt::IpBlasDgemv ( bool  trans,
Index  nRows,
Index  nCols,
Number  alpha,
const Number A,
Index  ldA,
const Number x,
Index  incX,
Number  beta,
Number y,
Index  incY 
)
inline

Wrapper for BLAS subroutine DGEMV.

Multiplying a matrix with a vector.

Deprecated:
Use IpBlasGemv() instead.

Definition at line 245 of file IpBlas.hpp.

◆ IpBlasSymv()

IPOPTLIB_EXPORT void Ipopt::IpBlasSymv ( Index  n,
Number  alpha,
const Number A,
Index  ldA,
const Number x,
Index  incX,
Number  beta,
Number y,
Index  incY 
)

Wrapper for BLAS subroutine XSYMV.

Multiplying a symmetric matrix with a vector.

Since
3.14.0

◆ IpBlasDsymv()

IPOPT_DEPRECATED void Ipopt::IpBlasDsymv ( Index  n,
Number  alpha,
const Number A,
Index  ldA,
const Number x,
Index  incX,
Number  beta,
Number y,
Index  incY 
)
inline

Wrapper for BLAS subroutine DSYMV.

Multiplying a symmetric matrix with a vector.

Deprecated:
Use IpBlasSymv() instead.

Definition at line 286 of file IpBlas.hpp.

◆ IpBlasGemm()

IPOPTLIB_EXPORT void Ipopt::IpBlasGemm ( bool  transa,
bool  transb,
Index  m,
Index  n,
Index  k,
Number  alpha,
const Number A,
Index  ldA,
const Number B,
Index  ldB,
Number  beta,
Number C,
Index  ldC 
)

Wrapper for BLAS subroutine XGEMM.

Multiplying two matrices.

Since
3.14.0

◆ IpBlasDgemm()

IPOPT_DEPRECATED void Ipopt::IpBlasDgemm ( bool  transa,
bool  transb,
Index  m,
Index  n,
Index  k,
Number  alpha,
const Number A,
Index  ldA,
const Number B,
Index  ldB,
Number  beta,
Number C,
Index  ldC 
)
inline

Wrapper for BLAS subroutine DGEMM.

Multiplying two matrices.

Deprecated:
Use IpBlasGemm() instead.

Definition at line 329 of file IpBlas.hpp.

◆ IpBlasSyrk()

IPOPTLIB_EXPORT void Ipopt::IpBlasSyrk ( bool  trans,
Index  ndim,
Index  nrank,
Number  alpha,
const Number A,
Index  ldA,
Number  beta,
Number C,
Index  ldC 
)

Wrapper for BLAS subroutine XSYRK.

Adding a high-rank update to a matrix.

Since
3.14.0

◆ IpBlasDsyrk()

IPOPT_DEPRECATED void Ipopt::IpBlasDsyrk ( bool  trans,
Index  ndim,
Index  nrank,
Number  alpha,
const Number A,
Index  ldA,
Number  beta,
Number C,
Index  ldC 
)
inline

Wrapper for BLAS subroutine DSYRK.

Adding a high-rank update to a matrix.

Deprecated:
Use IpBlasSyrk() instead.

Definition at line 372 of file IpBlas.hpp.

◆ IpBlasTrsm()

IPOPTLIB_EXPORT void Ipopt::IpBlasTrsm ( bool  trans,
Index  ndim,
Index  nrhs,
Number  alpha,
const Number A,
Index  ldA,
Number B,
Index  ldB 
)

Wrapper for BLAS subroutine XTRSM.

Backsolve for a lower triangular matrix.

Since
3.14.0

◆ IpBlasDtrsm()

IPOPT_DEPRECATED void Ipopt::IpBlasDtrsm ( bool  trans,
Index  ndim,
Index  nrhs,
Number  alpha,
const Number A,
Index  ldA,
Number B,
Index  ldB 
)
inline

Wrapper for BLAS subroutine DTRSM.

Backsolve for a lower triangular matrix.

Deprecated:
Use IpBlasTrsm() instead.

Definition at line 410 of file IpBlas.hpp.

◆ DECLARE_STD_EXCEPTION() [23/27]

Ipopt::DECLARE_STD_EXCEPTION ( METADATA_ERROR  )

◆ DECLARE_STD_EXCEPTION() [24/27]

Ipopt::DECLARE_STD_EXCEPTION ( LAPACK_NOT_INCLUDED  )

◆ IpLapackPotrs()

IPOPTLIB_EXPORT void Ipopt::IpLapackPotrs ( Index  ndim,
Index  nrhs,
const Number a,
Index  lda,
Number b,
Index  ldb 
)

Wrapper for LAPACK subroutine XPOTRS.

Solving a linear system given a Cholesky factorization. We assume that the Cholesky factor is lower traiangular.

Since
3.14.0

◆ IpLapackDpotrs()

IPOPT_DEPRECATED void Ipopt::IpLapackDpotrs ( Index  ndim,
Index  nrhs,
const Number a,
Index  lda,
Number b,
Index  ldb 
)
inline

Wrapper for LAPACK subroutine DPOTRS.

Solving a linear system given a Cholesky factorization. We assume that the Cholesky factor is lower traiangular.

Deprecated:
Use IpLapackPotrs() instead.

Definition at line 40 of file IpLapack.hpp.

◆ IpLapackPotrf()

IPOPTLIB_EXPORT void Ipopt::IpLapackPotrf ( Index  ndim,
Number a,
Index  lda,
Index info 
)

Wrapper for LAPACK subroutine XPOTRF.

Compute Cholesky factorization (lower triangular factor). info is the return value from the LAPACK routine.

Since
3.14.0

◆ IpLapackDpotrf()

IPOPT_DEPRECATED void Ipopt::IpLapackDpotrf ( Index  ndim,
Number a,
Index  lda,
Index info 
)
inline

Wrapper for LAPACK subroutine DPOTRF.

Compute Cholesky factorization (lower triangular factor). info is the return value from the LAPACK routine.

Deprecated:
Use IpLapackPotrf() instead.

Definition at line 73 of file IpLapack.hpp.

◆ IpLapackSyev()

IPOPTLIB_EXPORT void Ipopt::IpLapackSyev ( bool  compute_eigenvectors,
Index  ndim,
Number a,
Index  lda,
Number w,
Index info 
)

Wrapper for LAPACK subroutine XSYEV.

Compute the Eigenvalue decomposition for a given matrix. If compute_eigenvectors is true, a will contain the eigenvectors in its columns on return.

Since
3.14.0

◆ IpLapackDsyev()

IPOPT_DEPRECATED void Ipopt::IpLapackDsyev ( bool  compute_eigenvectors,
Index  ndim,
Number a,
Index  lda,
Number w,
Index info 
)
inline

Wrapper for LAPACK subroutine DSYEV.

Compute the Eigenvalue decomposition for a given matrix. If compute_eigenvectors is true, a will contain the eigenvectors in its columns on return.

Deprecated:
Use IpLapackSyev() instead

Definition at line 108 of file IpLapack.hpp.

◆ IpLapackGetrf()

IPOPTLIB_EXPORT void Ipopt::IpLapackGetrf ( Index  ndim,
Number a,
Index ipiv,
Index  lda,
Index info 
)

Wrapper for LAPACK subroutine XGETRF.

Compute LU factorization. info is the return value from the LAPACK routine.

Since
3.14.0

◆ IpLapackDgetrf()

IPOPT_DEPRECATED void Ipopt::IpLapackDgetrf ( Index  ndim,
Number a,
Index ipiv,
Index  lda,
Index info 
)
inline

Wrapper for LAPACK subroutine DGETRF.

Compute LU factorization. info is the return value from the LAPACK routine.

Deprecated:
Use IpLapackGetrf() instead.

Definition at line 142 of file IpLapack.hpp.

◆ IpLapackGetrs()

IPOPTLIB_EXPORT void Ipopt::IpLapackGetrs ( Index  ndim,
Index  nrhs,
const Number a,
Index  lda,
Index ipiv,
Number b,
Index  ldb 
)

Wrapper for LAPACK subroutine XGETRS.

Solving a linear system given a LU factorization.

Since
3.14.0

◆ IpLapackDgetrs()

IPOPT_DEPRECATED void Ipopt::IpLapackDgetrs ( Index  ndim,
Index  nrhs,
const Number a,
Index  lda,
Index ipiv,
Number b,
Index  ldb 
)
inline

Wrapper for LAPACK subroutine DGETRS.

Solving a linear system given a LU factorization.

Deprecated:
Use IpLapackGetrs() instead.

Definition at line 175 of file IpLapack.hpp.

◆ IpLapackPpsv()

IPOPTLIB_EXPORT void Ipopt::IpLapackPpsv ( Index  ndim,
Index  nrhs,
const Number a,
Number b,
Index  ldb,
Index info 
)

Wrapper for LAPACK subroutine XPPSV.

Solves a symmetric positive definite linear system in packed storage format (upper triangular). info is the return value from the LAPACK routine.

Since
3.14.0

◆ IpLapackDppsv()

IPOPT_DEPRECATED void Ipopt::IpLapackDppsv ( Index  ndim,
Index  nrhs,
const Number a,
Number b,
Index  ldb,
Index info 
)
inline

Wrapper for LAPACK subroutine DPPSV.

Solves a symmetric positive definite linear system in packed storage format (upper triangular). info is the return value from the LAPACK routine.

Deprecated:
Use IpLapackPpsv() instead.

Definition at line 213 of file IpLapack.hpp.

◆ DECLARE_STD_EXCEPTION() [25/27]

Ipopt::DECLARE_STD_EXCEPTION ( UNIMPLEMENTED_LINALG_METHOD_CALLED  )

Exception that can be used to flag unimplemented linear algebra methods.

◆ DECLARE_STD_EXCEPTION() [26/27]

Ipopt::DECLARE_STD_EXCEPTION ( UNKNOWN_MATRIX_TYPE  )

◆ DECLARE_STD_EXCEPTION() [27/27]

Ipopt::DECLARE_STD_EXCEPTION ( UNKNOWN_VECTOR_TYPE  )

◆ DECLARE_STD_SIPOPT_EXCEPTION() [1/2]

Ipopt::DECLARE_STD_SIPOPT_EXCEPTION ( SENS_SUFFIX_ERROR  )

Standard exception for wrong/inconsistent suffixes for sipopt.

◆ DECLARE_STD_SIPOPT_EXCEPTION() [2/2]

Ipopt::DECLARE_STD_SIPOPT_EXCEPTION ( SENS_BUILDER_ERROR  )

◆ RegisterOptions_sIPOPT()

SIPOPTLIB_EXPORT void Ipopt::RegisterOptions_sIPOPT ( const SmartPtr< RegisteredOptions > &  roptions)

◆ AsIndexMax()

SIPOPTLIB_EXPORT Index Ipopt::AsIndexMax ( Index  length,
const Index x,
Index  Incr 
)

◆ AsIndexSum()

SIPOPTLIB_EXPORT Index Ipopt::AsIndexSum ( Index  length,
const Index x,
Index  Incr 
)

◆ append_Index()

SIPOPTLIB_EXPORT void Ipopt::append_Index ( std::string &  str,
Index  idx 
)

◆ AppReturn2SolverReturn()

SIPOPTLIB_EXPORT SolverReturn Ipopt::AppReturn2SolverReturn ( ApplicationReturnStatus  ipopt_retval)

Variable Documentation

◆ Int

Type of default integer.

Deprecated:
Use int instead.

Definition at line 26 of file IpTypes.hpp.