qpOASES
3.2.1
An Implementation of the Online Active Set Strategy
|
#include <qpOASES.hpp>
- Author
- Hans Joachim Ferreau
- Version
- 3.2
- Date
- 2007-2017
Very simple example for testing qpOASES using the QProblem class.
◆ main()
@ RET_USING_REGULARISATION
Definition: MessageHandling.hpp:181
SolutionAnalysis & operator=(const SolutionAnalysis &rhs)
Definition: SolutionAnalysis.cpp:78
returnValue moveFixedToFree(int_t number)
Definition: Bounds.cpp:187
VisibilityStatus warningVisibility
Definition: MessageHandling.hpp:429
@ HST_POSDEF
Definition: Types.hpp:252
int_t getNAC() const
Definition: QProblem.ipp:83
@ RET_UNABLE_TO_READ_BENCHMARK
Definition: MessageHandling.hpp:210
real_t getSqrt(real_t x)
Definition: Utils.ipp:157
virtual returnValue transTimes(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:1731
Abstract base class for interfacing tailored matrix-vector operations.
Definition: Matrices.hpp:59
returnValue setupAllFree()
Definition: Bounds.cpp:160
real_t epsNZCTests
Definition: Options.hpp:154
virtual returnValue removeConstraint(int_t number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
Definition: SQProblemSchur.cpp:1523
@ RET_NO_EXTERN_SOLVER
Definition: MessageHandling.hpp:116
real_t * lb
Definition: QProblemB.hpp:975
virtual returnValue addBound_checkLI(int_t number)
Definition: QProblem.cpp:3487
virtual returnValue getDualSolution(real_t *const yOpt) const
Definition: QProblemB.cpp:799
@ RET_NO_HESSIAN_SPECIFIED
Definition: MessageHandling.hpp:180
@ QPS_AUXILIARYQPSOLVED
Definition: Types.hpp:238
SubjectToStatus initialStatusBounds
Definition: Options.hpp:147
@ RET_MATRIX_FACTORISATION_FAILED
Definition: MessageHandling.hpp:173
int_t M_physicallength
Definition: SQProblemSchur.hpp:407
void applyGivens(real_t c, real_t s, real_t nu, real_t xold, real_t yold, real_t &xnew, real_t &ynew) const
Definition: QProblemB.ipp:447
returnValue copy(const SubjectTo &rhs)
Definition: SubjectTo.cpp:166
BEGIN_NAMESPACE_QPOASES typedef double real_t
Definition: Types.hpp:171
returnValue dropInfeasibles(int_t BC_number, SubjectToStatus BC_status, BooleanType BC_isBound, real_t *xiB, real_t *xiC)
Definition: QProblem.cpp:6264
SchurUpdateType
Definition: Types.hpp:283
@ RET_INDEX_OUT_OF_BOUNDS
Definition: MessageHandling.hpp:70
real_t * tempC
Definition: QProblem.hpp:1069
@ RET_RESET_FAILED
Definition: MessageHandling.hpp:103
int_t getNAC() const
Definition: Constraints.ipp:83
returnValue writeQpWorkspaceIntoMatFile(const char *const filename)
Definition: QProblem.cpp:6407
real_t * Q_
Definition: SQProblemSchur.hpp:398
@ RET_ITERATION_STARTED
Definition: MessageHandling.hpp:126
Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices.
Definition: Matrices.hpp:292
int_t getNFX() const
Definition: Bounds.ipp:91
Indexlist fixed
Definition: Bounds.hpp:243
Manages all user-specified options for solving QPs.
Definition: Options.hpp:56
returnValue setupAuxiliaryQPgradient()
Definition: QProblemB.cpp:2871
returnValue changeActiveSet(int_t BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound)
Definition: QProblem.cpp:5284
@ RET_REMOVEBOUND_FAILED
Definition: MessageHandling.hpp:152
returnValue writeIntoFile(const real_t *const data, int_t nrow, int_t ncol, const char *datafilename, BooleanType append)
Definition: Utils.cpp:388
virtual returnValue times(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:304
returnValue setupAllLower()
Definition: Bounds.cpp:169
Options & operator=(const Options &rhs)
Definition: Options.cpp:76
returnValue setupConstraint(int_t number, SubjectToStatus _status)
Definition: Constraints.cpp:123
returnValue removeBound(int_t number, BooleanType updateCholesky)
Definition: QProblemB.cpp:3554
sparse_int_t * jr
Definition: Matrices.hpp:920
real_t epsRegularisation
Definition: Options.hpp:150
sparse_int_t * createDiagInfo()
Definition: Matrices.cpp:2062
@ RET_OPTIMAL_SOLUTION_FOUND
Definition: MessageHandling.hpp:130
@ RET_INDEXLIST_CORRUPTED
Definition: MessageHandling.hpp:83
virtual returnValue printProperties()
Definition: QProblemB.cpp:873
Indexlist inactive
Definition: Constraints.hpp:234
real_t maxPrimalJump
Definition: Options.hpp:140
returnValue loadQPvectorsFromFile(const char *const g_file, const char *const lb_file, const char *const ub_file, real_t *const g_new, real_t *const lb_new, real_t *const ub_new) const
Definition: QProblemB.cpp:1877
virtual returnValue getSparseSubmatrix(int_t irowsLength, const int_t *const irowsNumber, int_t icolsLength, const int_t *const icolsNumber, int_t rowoffset, int_t coloffset, int_t &numNonzeros, int_t *irn, int_t *jcn, real_t *avals, BooleanType only_lower_triangular=BT_FALSE) const
Definition: Matrices.cpp:1682
returnValue swapNumbers(int_t number1, int_t number2)
Definition: Indexlist.cpp:217
returnValue determineDataShift(const real_t *const g_new, const real_t *const lbA_new, const real_t *const ubA_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lbA, real_t *const delta_ubA, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bC_isZero, BooleanType &Delta_bB_isZero)
Definition: QProblem.cpp:4571
real_t * lbA
Definition: QProblem.hpp:1044
real_t * val
Definition: Matrices.hpp:923
virtual returnValue setupAuxiliaryQP(SymmetricMatrix *H_new, Matrix *A_new, const real_t *lb_new, const real_t *ub_new, const real_t *lbA_new, const real_t *ubA_new)
Definition: SQProblemSchur.cpp:312
int_t getMin(int_t x, int_t y)
Definition: Utils.ipp:99
QProblemStatus getStatus() const
Definition: QProblemB.ipp:100
virtual returnValue addToDiag(real_t alpha)
Definition: Matrices.cpp:572
virtual real_t diag(int_t i) const =0
virtual BooleanType isDiag() const
Definition: Matrices.cpp:780
Indexlist boundsFreeStart
Definition: SQProblemSchur.hpp:412
virtual returnValue addBound_ensureLI(int_t number, SubjectToStatus B_status)
Definition: SQProblemSchur.cpp:1357
real_t maxDualJump
Definition: Options.hpp:141
returnValue setupAuxiliaryQPsolution(const real_t *const xOpt, const real_t *const yOpt)
Definition: QProblemB.cpp:2830
virtual returnValue getRow(int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const =0
virtual returnValue getSparseSubmatrix(int_t irowsLength, const int_t *const irowsNumber, int_t icolsLength, const int_t *const icolsNumber, int_t rowoffset, int_t coloffset, int_t &numNonzeros, int_t *irn, int_t *jcn, real_t *avals, BooleanType only_lower_triangular=BT_FALSE) const
Definition: Matrices.cpp:225
Flipper()
Definition: Flipper.cpp:50
#define END_NAMESPACE_QPOASES
Definition: Types.hpp:110
BooleanType isBlocking(real_t num, real_t den, real_t epsNum, real_t epsDen, real_t &t) const
Definition: QProblemB.ipp:474
@ SUT_ConAdded
Definition: Types.hpp:287
void strcon_(const char *NORM, const char *UPLO, const char *DIAG, const la_uint_t *N, float *A, const la_uint_t *LDA, float *RCOND, float *WORK, const la_uint_t *IWORK, la_int_t *INFO)
Definition: LAPACKReplacement.cpp:145
int_t * iSort
Definition: Indexlist.hpp:181
DenseMatrix()
Definition: Matrices.hpp:332
SolutionAnalysis()
Definition: SolutionAnalysis.cpp:51
real_t ramp0
Definition: QProblemB.hpp:1000
returnValue setupAllLower()
Definition: Constraints.cpp:168
int_t idxRemB
Definition: Types.hpp:304
BooleanType
Definition: Types.hpp:203
virtual ~SQProblem()
Definition: SQProblem.cpp:76
virtual int_t getNZ() const
Definition: QProblemB.cpp:690
virtual returnValue computeInitialCholesky()
Definition: SQProblemSchur.cpp:630
returnValue copy(const SparseSolver &rhs)
Definition: SparseSolver.cpp:143
int_t nRows
Definition: Matrices.hpp:495
Bounds & operator=(const Bounds &rhs)
Definition: Bounds.cpp:85
@ RET_ENSURELI_DROPPED
Definition: MessageHandling.hpp:219
@ SUT_ConRemoved
Definition: Types.hpp:288
virtual returnValue addConstraint_ensureLI(int_t number, SubjectToStatus C_status)
Definition: QProblem.cpp:3117
virtual int_t getRank()
Definition: SparseSolver.cpp:111
returnValue hotstart(SymmetricMatrix *H_new, const real_t *const g_new, Matrix *A_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int_t &nWSR, real_t *const cputime=0, const Bounds *const guessedBounds=0, const Constraints *const guessedConstraints=0)
Definition: SQProblem.cpp:99
returnValue setConstraintProduct(ConstraintProduct *const _constraintProduct)
Definition: QProblem.cpp:885
returnValue print() const
Definition: Options.cpp:375
returnValue swapFree(int_t number1, int_t number2)
Definition: Bounds.cpp:249
BEGIN_NAMESPACE_QPOASES FILE * stdFile
Definition: MessageHandling.cpp:49
#define __FILE__
Definition: MessageHandling.hpp:440
virtual real_t diag(int_t i) const
Definition: Matrices.cpp:767
virtual returnValue getZeroPivots(int_t *&zeroPivots)
Definition: SparseSolver.cpp:119
real_t * T
Definition: Flipper.hpp:143
Bounds bounds
Definition: QProblemB.hpp:978
virtual returnValue addToDiag(real_t alpha)=0
const real_t ZERO
Definition: Constants.hpp:57
virtual returnValue setupTQfactorisation()
Definition: QProblem.cpp:2169
virtual returnValue backsolveR(const real_t *const b, BooleanType transposed, real_t *const a) const
Definition: QProblemB.cpp:1623
@ RET_HESSIAN_ALREADY_REGULARISED
Definition: MessageHandling.hpp:184
void dpotrf_(const char *uplo, const la_uint_t *_n, double *a, const la_uint_t *_lda, la_int_t *info)
Definition: LAPACKReplacement.cpp:38
@ PL_HIGH
Definition: Types.hpp:219
int_t nSmax
Definition: SQProblemSchur.hpp:396
FILE * outputFile
Definition: MessageHandling.hpp:432
int_t * number
Definition: Indexlist.hpp:180
@ RET_QP_SOLUTION_STARTED
Definition: MessageHandling.hpp:213
#define RR(I, J)
Definition: Types.hpp:141
returnValue swapIndex(Indexlist *const indexlist, int_t number1, int_t number2)
Definition: SubjectTo.cpp:253
real_t * Ax_l
Definition: QProblem.hpp:1055
void setInfoVisibilityStatus(VisibilityStatus _infoVisibility)
Definition: MessageHandling.ipp:109
@ RET_INDEXLIST_ADD_FAILED
Definition: MessageHandling.hpp:85
returnValue clear()
Definition: QProblemB.cpp:1024
returnValue convertPrintLevelToString(PrintLevel value, char *const string)
Definition: Utils.cpp:870
QProblemStatus
Definition: Types.hpp:233
@ RET_ENSURELI_FAILED_NOINDEX
Definition: MessageHandling.hpp:164
#define TRTRS
Definition: LapackBlasReplacement.hpp:76
@ RET_INIT_FAILED_TQ
Definition: MessageHandling.hpp:105
@ RET_UNABLE_TO_ANALYSE_QPROBLEM
Definition: MessageHandling.hpp:207
HessianType
Definition: Types.hpp:248
int_t physicallength
Definition: Indexlist.hpp:187
Manages working sets of constraints.
Definition: Constraints.hpp:56
virtual returnValue setupNewAuxiliaryQP(SymmetricMatrix *H_new, Matrix *A_new, const real_t *lb_new, const real_t *ub_new, const real_t *lbA_new, const real_t *ubA_new)
Definition: SQProblem.cpp:335
real_t tau
Definition: QProblemB.hpp:986
void strtrs_(const char *UPLO, const char *TRANS, const char *DIAG, const la_uint_t *N, const la_uint_t *NRHS, float *A, const la_uint_t *LDA, float *B, const la_uint_t *LDB, la_int_t *INFO)
Definition: LAPACKReplacement.cpp:129
virtual returnValue addToDiag(real_t alpha)
Definition: Matrices.cpp:1340
~Indexlist()
Definition: Indexlist.cpp:83
QProblemB()
Definition: QProblemB.cpp:51
@ RET_REMOVECONSTRAINT_FAILED
Definition: MessageHandling.hpp:151
returnValue backsolveSchurQR(int_t dimS, const real_t *const rhs, int_t dimRhs, real_t *const sol)
Definition: SQProblemSchur.cpp:2423
virtual SymmetricMatrix * duplicateSym() const
Definition: Matrices.cpp:2116
real_t * ZFR_delta_xFRz
Definition: QProblem.hpp:1064
#define BEGIN_NAMESPACE_QPOASES
Definition: Types.hpp:107
int_t enableDriftCorrection
Definition: Options.hpp:130
SubjectToType
Definition: Types.hpp:261
Flipper & operator=(const Flipper &rhs)
Definition: Flipper.cpp:100
@ RET_SETUPSUBJECTTOTYPE_FAILED
Definition: MessageHandling.hpp:146
returnValue setupAll(SubjectToStatus _status)
Definition: Bounds.cpp:461
Bounds()
Definition: Bounds.cpp:50
sparse_int_t * ic
Definition: Matrices.hpp:921
sparse_int_t * jc
Definition: Matrices.hpp:736
@ RET_QP_INFEASIBLE
Definition: MessageHandling.hpp:118
Indexlist * getFixed()
Definition: Bounds.ipp:109
SQProblem()
Definition: SQProblem.cpp:51
virtual returnValue rotate(int_t offset)
Definition: Constraints.cpp:309
long la_int_t
Definition: Types.hpp:161
@ RET_ENSURELI_FAILED
Definition: MessageHandling.hpp:162
real_t boundTolerance
Definition: Options.hpp:135
@ RET_NO_REGSTEP_NWSR
Definition: MessageHandling.hpp:187
returnValue areBoundsConsistent(const real_t *const lb, const real_t *const ub) const
Definition: QProblemB.cpp:1954
virtual returnValue reset()
Definition: SQProblemSchur.cpp:191
Manages working sets of bounds (i.e. box constraints).
Definition: Bounds.hpp:56
returnValue solveRegularisedQP(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, int_t &nWSR, real_t *const cputime, int_t nWSRperformed=0, BooleanType isFirstCall=BT_TRUE)
Definition: QProblemB.cpp:2654
@ RET_QP_ALREADY_INITIALISED
Definition: MessageHandling.hpp:101
void dgemm_(const char *TRANSA, const char *TRANSB, const la_uint_t *M, const la_uint_t *N, const la_uint_t *K, const double *ALPHA, const double *A, const la_uint_t *LDA, const double *B, const la_uint_t *LDB, const double *BETA, double *C, const la_uint_t *LDC)
Definition: BLASReplacement.cpp:38
returnValue clear()
Definition: QProblem.cpp:1082
@ ST_INACTIVE
Definition: Types.hpp:275
void setNoLower(BooleanType _status)
Definition: SubjectTo.ipp:120
returnValue clear()
Definition: Constraints.cpp:422
@ RET_PRINT_ITERATION_FAILED
Definition: MessageHandling.hpp:174
returnValue setStatus(int_t i, SubjectToStatus value)
Definition: SubjectTo.ipp:105
Interfaces matrix-vector operations tailored to general sparse matrices.
Definition: Matrices.hpp:557
virtual returnValue factorize()=0
BooleanType freeHessian
Definition: QProblemB.hpp:971
BooleanType hasNoLower() const
Definition: SubjectTo.ipp:138
returnValue performRatioTest(int_t nIdx, const int_t *const idxList, const SubjectTo *const subjectTo, const real_t *const num, const real_t *const den, real_t epsNum, real_t epsDen, real_t &t, int_t &BC_idx) const
Definition: QProblemB.cpp:2065
VisibilityStatus infoVisibility
Definition: MessageHandling.hpp:430
@ RET_BENCHMARK_ABORTED
Definition: MessageHandling.hpp:211
@ RET_UPDATEMATRICES_FAILED
Definition: MessageHandling.hpp:197
returnValue setupAllInactive()
Definition: Constraints.cpp:159
@ RET_INITIAL_BOUNDS_STATUS_NYI
Definition: MessageHandling.hpp:192
virtual Matrix * duplicate() const
Definition: Matrices.cpp:1478
@ RET_HOTSTART_FAILED
Definition: MessageHandling.hpp:123
@ RET_MATRIX_SHIFT_FAILED
Definition: MessageHandling.hpp:172
returnValue areBoundsConsistent(const real_t *const lb, const real_t *const ub, const real_t *const lbA, const real_t *const ubA) const
Definition: QProblem.cpp:2647
int_t getNC() const
Definition: Constraints.ipp:47
real_t epsNum
Definition: Options.hpp:138
real_t * R
Definition: Flipper.hpp:141
Indexlist active
Definition: Constraints.hpp:233
int_t getIndex(int_t givennumber) const
Definition: Indexlist.cpp:157
virtual ~Constraints()
Definition: Constraints.cpp:76
@ RET_WORKINGSET_UPDATE_FAILED
Definition: MessageHandling.hpp:134
@ BT_TRUE
Definition: Types.hpp:206
returnValue getVarianceCovariance(QProblemB *const qp, const real_t *const g_b_bA_VAR, real_t *const Primal_Dual_VAR) const
Definition: SolutionAnalysis.cpp:265
virtual returnValue times(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const =0
BooleanType isUnbounded() const
Definition: QProblemB.ipp:142
virtual returnValue addBound_checkLI(int_t number)
Definition: SQProblemSchur.cpp:1250
Implements the online active set strategy for QPs with varying matrices.
Definition: SQProblem.hpp:59
int_t excAddB
Definition: Types.hpp:307
SQProblemSchur()
Definition: SQProblemSchur.cpp:68
virtual returnValue removeBound(int_t number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
Definition: QProblem.cpp:4018
@ RET_ADDCONSTRAINT_FAILED
Definition: MessageHandling.hpp:147
int_t getNUC() const
Definition: Constraints.ipp:74
real_t getSqrt(real_t x)
Definition: Utils.ipp:157
real_t * Ax_u
Definition: QProblem.hpp:1057
returnValue init(uint_t _nV=0, uint_t _nC=0)
Definition: Flipper.cpp:116
returnValue changeActiveSet(int_t BC_idx, SubjectToStatus BC_status)
Definition: QProblemB.cpp:3354
@ RET_ADDCONSTRAINT_FAILED_INFEASIBILITY
Definition: MessageHandling.hpp:148
uint_t count
Definition: QProblemB.hpp:996
@ RET_USE_REGULARISATION_FOR_LP
Definition: MessageHandling.hpp:195
virtual int_t getNegativeEigenvalues()
Definition: SparseSolver.cpp:103
returnValue ensureConsistency()
Definition: Options.cpp:234
@ RET_CONSTRAINTS_ARE_NOT_SCALED
Definition: MessageHandling.hpp:191
@ RET_LI_RESOLVED
Definition: MessageHandling.hpp:161
int_t nCols
Definition: Matrices.hpp:496
int_t getNIAC() const
Definition: QProblem.ipp:92
int_t nCols
Definition: Matrices.hpp:919
@ RET_INDEXLIST_EXCEEDS_MAX_LENGTH
Definition: MessageHandling.hpp:82
@ RET_SIMPLE_STATUS_M1
Definition: MessageHandling.hpp:228
SparseMatrixRow()
Definition: Matrices.cpp:1422
int_t * schurUpdateIndex
Definition: SQProblemSchur.hpp:404
int_t getLength() const
Definition: Indexlist.ipp:60
virtual returnValue getSparseSubmatrix(const Indexlist *const irows, const Indexlist *const icols, int_t rowoffset, int_t coloffset, int_t &numNonzeros, int_t *irn, int_t *jcn, real_t *avals, BooleanType only_lower_triangular=BT_FALSE) const
Definition: Matrices.cpp:47
virtual ~SubjectTo()
Definition: SubjectTo.cpp:83
@ RET_REMOVE_FROM_ACTIVESET
Definition: MessageHandling.hpp:153
virtual real_t * full() const =0
Implements the online active set strategy for box-constrained QPs.
Definition: QProblemB.hpp:63
real_t getSign(real_t arg)
Definition: Utils.ipp:74
@ RET_SETUP_CONSTRAINT_FAILED
Definition: MessageHandling.hpp:94
real_t * ub
Definition: QProblemB.hpp:976
Indexlist constraintsActiveStart
Definition: SQProblemSchur.hpp:413
BooleanType isZero(real_t x, real_t TOL=ZERO)
Definition: Utils.ipp:60
real_t * T
Definition: QProblem.hpp:1049
virtual returnValue addBound(int_t number, SubjectToStatus B_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
Definition: SQProblemSchur.cpp:1115
const uint_t MAX_STRING_LENGTH
Definition: Constants.hpp:66
virtual returnValue rotate(int_t offset)
Definition: Bounds.cpp:325
returnValue setupAuxiliaryQPbounds(const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType useRelaxation)
Definition: QProblem.cpp:2668
int_t getNC() const
Definition: QProblem.ipp:65
Interface for specifying user-defined evaluations of constraint products.
Definition: ConstraintProduct.hpp:57
@ RET_STEPLENGTH_DETERMINATION_FAILED
Definition: MessageHandling.hpp:129
SymmetricMatrix * H
Definition: QProblemB.hpp:972
@ RET_INIT_SUCCESSFUL
Definition: MessageHandling.hpp:111
returnValue copy(const Options &rhs)
Definition: Options.cpp:510
@ RET_MOVING_BOUND_FAILED
Definition: MessageHandling.hpp:95
virtual returnValue determineStepDirection2(const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bC_isZero, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yAC, real_t *const delta_yFX)
Definition: SQProblemSchur.cpp:2841
Flipper flipper
Definition: QProblemB.hpp:1006
FILE * getOutputFile() const
Definition: MessageHandling.ipp:73
sparse_int_t * M_ir
Definition: SQProblemSchur.hpp:409
returnValue convertBooleanTypeToString(BooleanType value, char *const string)
Definition: Utils.cpp:812
int_t sizeT
Definition: QProblem.hpp:1051
BooleanType needToFreeMemory() const
Definition: Matrices.hpp:267
returnValue setupQPdataFromFile(const char *const H_file, const char *const g_file, const char *const lb_file, const char *const ub_file)
Definition: QProblemB.cpp:1805
Provides additional tools for analysing QP solutions.
Definition: SolutionAnalysis.hpp:57
returnValue printIteration(int_t iter, int_t BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound, real_t homotopyLength, BooleanType isFirstCall=BT_TRUE)
Definition: QProblem.cpp:6011
@ ST_UNDEFINED
Definition: Types.hpp:279
virtual real_t diag(int_t i) const
Definition: Matrices.cpp:1508
void computeGivens(real_t xold, real_t yold, real_t &xnew, real_t &ynew, real_t &c, real_t &s) const
Definition: QProblemB.ipp:409
uint_t getDimT() const
Definition: Flipper.cpp:245
real_t getCPUtime()
Definition: Utils.cpp:581
BooleanType enableFlippingBounds
Definition: Options.hpp:126
virtual returnValue setupSubjectToType()
Definition: QProblem.cpp:1935
SymSparseMat()
Definition: Matrices.hpp:940
@ RET_FIX_BOUNDS_FOR_LP
Definition: MessageHandling.hpp:194
returnValue addNumber(int_t addnumber)
Definition: Indexlist.cpp:167
virtual returnValue updateActivitiesForHotstart(const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new)
Definition: QProblem.cpp:1861
virtual real_t getRowNorm(int_t rNum, int_t type=2) const
Definition: Matrices.cpp:809
real_t * M_vals
Definition: SQProblemSchur.hpp:408
returnValue copy(const Bounds &rhs)
Definition: Bounds.cpp:447
returnValue setupAllUpper()
Definition: Bounds.cpp:178
@ RET_BOUND_NOT_ACTIVE
Definition: MessageHandling.hpp:169
@ QPS_PREPARINGAUXILIARYQP
Definition: Types.hpp:236
Interfaces matrix-vector operations tailored to symmetric sparse matrices.
Definition: Matrices.hpp:936
virtual SparseSolver & operator=(const SparseSolver &rhs)
Definition: SparseSolver.cpp:81
@ SUT_VarFixed
Definition: Types.hpp:285
returnValue getBounds(Bounds &_bounds) const
Definition: QProblemB.ipp:48
virtual returnValue computeCholesky()
Definition: QProblemB.cpp:1366
uint_t nV
Definition: Flipper.hpp:135
returnValue setupAuxiliaryQPbounds(BooleanType useRelaxation)
Definition: QProblemB.cpp:2911
virtual returnValue writeToFile(FILE *output_file, const char *prefix) const
Definition: Matrices.cpp:582
real_t * x
Definition: QProblemB.hpp:983
returnValue solveCurrentEQP(const int_t n_rhs, const real_t *g_in, const real_t *lb_in, const real_t *ub_in, const real_t *lbA_in, const real_t *ubA_in, real_t *x_out, real_t *y_out)
Definition: QProblem.cpp:718
@ RET_NOT_YET_IMPLEMENTED
Definition: MessageHandling.hpp:79
@ RET_HOMOTOPY_STEP_FAILED
Definition: MessageHandling.hpp:131
#define POTRF
Definition: LapackBlasReplacement.hpp:69
SubjectToStatus * status
Definition: SubjectTo.hpp:213
returnValue solveRegularisedQP(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int_t &nWSR, real_t *const cputime, int_t nWSRperformed=0, BooleanType isFirstCall=BT_TRUE)
Definition: QProblem.cpp:1753
returnValue determineDataShift(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bB_isZero)
Definition: QProblemB.cpp:1694
virtual returnValue performRamping()
Definition: QProblem.cpp:5416
virtual void free()
Definition: Matrices.cpp:107
returnValue copy(const QProblemB &rhs)
Definition: QProblemB.cpp:1081
virtual returnValue addConstraint(int_t number, SubjectToStatus C_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
Definition: QProblem.cpp:2819
QProblem()
Definition: QProblem.cpp:51
returnValue setupAll(SubjectToStatus _status)
Definition: Constraints.cpp:445
virtual returnValue computeProjectedCholesky()
Definition: SQProblemSchur.cpp:621
virtual SymmetricMatrix * duplicateSym() const
Definition: Matrices.cpp:609
int_t numRegularisationSteps
Definition: Options.hpp:149
virtual returnValue print(const char *name=0) const
Definition: Matrices.cpp:1397
@ QPS_NOTINITIALISED
Definition: Types.hpp:235
BEGIN_NAMESPACE_QPOASES returnValue readOqpDimensions(const char *path, int_t &nQP, int_t &nV, int_t &nC, int_t &nEC)
Definition: OQPinterface.cpp:49
@ RET_ERROR_UNDEFINED
Definition: MessageHandling.hpp:72
virtual returnValue performRamping()
Definition: QProblemB.cpp:2163
sparse_int_t * jd
Definition: Matrices.hpp:737
const real_t INFTY
Definition: Constants.hpp:61
Interfaces matrix-vector operations tailored to general dense matrices.
Definition: Matrices.hpp:328
@ RET_ALL_BOUNDS_ACTIVE
Definition: MessageHandling.hpp:167
@ BT_FALSE
Definition: Types.hpp:205
Implements the online active set strategy for QPs with general constraints.
Definition: QProblem.hpp:61
BEGIN_NAMESPACE_QPOASES returnValue print(const real_t *const v, int_t n, const char *name)
Definition: Utils.cpp:76
returnValue init(SymmetricMatrix *_H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int_t &nWSR, real_t *const cputime=0, const real_t *const xOpt=0, const real_t *const yOpt=0, const Bounds *const guessedBounds=0, const real_t *const _R=0)
Definition: QProblemB.cpp:253
@ RET_SETUP_WORKINGSET_FAILED
Definition: MessageHandling.hpp:113
@ RET_QP_SOLVED
Definition: MessageHandling.hpp:120
const char * data
Definition: MessageHandling.hpp:259
virtual returnValue getWorkingSetBounds(real_t *workingSetB)
Definition: QProblem.cpp:814
virtual real_t * full() const
Definition: Matrices.cpp:588
@ RET_NO_CHOLESKY_WITH_INITIAL_GUESS
Definition: MessageHandling.hpp:115
virtual returnValue bilinear(const Indexlist *const icols, int_t xN, const real_t *x, int_t xLD, real_t *y, int_t yLD) const
Definition: Matrices.cpp:2146
real_t * R
Definition: QProblemB.hpp:980
@ RET_CONSTRAINT_NOT_ACTIVE
Definition: MessageHandling.hpp:168
@ RET_SIMPLE_STATUS_P1
Definition: MessageHandling.hpp:226
returnValue init(int_t n=0)
Definition: Indexlist.cpp:108
real_t * tempB
Definition: QProblem.hpp:1063
@ RET_SWAPINDEX_FAILED
Definition: MessageHandling.hpp:91
PrintLevel printLevel
Definition: Options.hpp:122
returnValue copy(const Constraints &rhs)
Definition: Constraints.cpp:431
returnValue setupAuxiliaryQPgradient()
Definition: QProblem.cpp:2602
@ RET_ADDINDEX_FAILED
Definition: MessageHandling.hpp:89
virtual real_t diag(int_t i) const
Definition: Matrices.cpp:133
int_t leaDim
Definition: Matrices.hpp:497
@ RET_INDEX_ALREADY_OF_DESIRED_STATUS
Definition: MessageHandling.hpp:88
Base class for managing working sets of bounds and constraints.
Definition: SubjectTo.hpp:56
@ RET_NO_DIAGONAL_AVAILABLE
Definition: MessageHandling.hpp:216
real_t * y
Definition: QProblemB.hpp:984
Handles all kind of error messages, warnings and other information.
Definition: MessageHandling.hpp:244
@ RET_MAX_NWSR_REACHED
Definition: MessageHandling.hpp:135
@ VS_VISIBLE
Definition: Types.hpp:227
void spotrf_(const char *uplo, const la_uint_t *_n, float *a, const la_uint_t *_lda, la_int_t *info)
Definition: LAPACKReplacement.cpp:80
returnValue setLBA(const real_t *const lbA_new)
Definition: QProblem.ipp:186
sparse_int_t * M_jc
Definition: SQProblemSchur.hpp:410
@ PL_DEBUG_ITER
Definition: Types.hpp:214
virtual returnValue times(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:1049
returnValue addConstraint_checkLISchur(int_t number, real_t *const xiC, real_t *const xiX)
Definition: SQProblemSchur.cpp:855
int fint_t
Definition: Types.hpp:189
sparse_int_t * jd
Definition: Matrices.hpp:922
int_t idxAddB
Definition: Types.hpp:303
#define THROWWARNING(retval)
Definition: MessageHandling.hpp:459
int_t findInsert(int_t i) const
Definition: Indexlist.cpp:295
@ RET_NO_SPARSE_SOLVER
Definition: MessageHandling.hpp:224
real_t * Ax
Definition: QProblem.hpp:1053
@ RET_ALREADY_DISABLED
Definition: MessageHandling.hpp:179
int_t length
Definition: Indexlist.hpp:183
Matrix * A
Definition: QProblem.hpp:1042
returnValue listAllMessages()
Definition: MessageHandling.cpp:432
~Options()
Definition: Options.cpp:68
static const char * getErrorCodeMessage(const returnValue _returnValue)
Definition: MessageHandling.cpp:570
void dtrtrs_(const char *UPLO, const char *TRANS, const char *DIAG, const la_uint_t *N, const la_uint_t *NRHS, double *A, const la_uint_t *LDA, double *B, const la_uint_t *LDB, la_int_t *INFO)
Definition: LAPACKReplacement.cpp:121
@ RET_UNABLE_TO_WRITE_FILE
Definition: MessageHandling.hpp:201
Implements the online active set strategy for QPs with varying, sparse matrices.
Definition: SQProblemSchur.hpp:61
int_t numFactorizations
Definition: SQProblemSchur.hpp:402
@ RET_FEWER_REGSTEPS_NWSR
Definition: MessageHandling.hpp:188
QProblemStatus status
Definition: QProblemB.hpp:988
real_t epsLITests
Definition: Options.hpp:153
int_t getMin(int_t x, int_t y)
Definition: Utils.ipp:99
returnValue runOqpBenchmark(const char *path, BooleanType isSparse, const Options &options, int_t &nWSR, real_t &maxCPUtime, real_t &maxStationarity, real_t &maxFeasibility, real_t &maxComplementarity)
Definition: OQPinterface.cpp:569
int_t idxRemC
Definition: Types.hpp:306
real_t initialRamping
Definition: Options.hpp:143
real_t growFarBounds
Definition: Options.hpp:146
returnValue flipFixed(int_t number)
Definition: Bounds.cpp:228
virtual returnValue setupAuxiliaryWorkingSet(const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType setupAfresh)
Definition: SQProblemSchur.cpp:512
virtual returnValue addBound_ensureLI(int_t number, SubjectToStatus B_status)
Definition: QProblem.cpp:3596
virtual SQProblem & operator=(const SQProblem &rhs)
Definition: SQProblem.cpp:84
real_t * tempA
Definition: QProblem.hpp:1062
@ RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Definition: MessageHandling.hpp:133
returnValue setUB(const real_t *const ub_new)
Definition: QProblemB.ipp:360
returnValue hotstart(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int_t &nWSR, real_t *const cputime=0, const Bounds *const guessedBounds=0, const Constraints *const guessedConstraints=0)
Definition: QProblem.cpp:446
returnValue determineStepDirection(const real_t *const delta_g, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yFX)
Definition: QProblemB.cpp:3042
virtual returnValue getWorkingSet(real_t *workingSet)
Definition: QProblem.cpp:794
returnValue printOptions() const
Definition: QProblemB.cpp:1010
virtual returnValue addConstraint_checkLI(int_t number)
Definition: SQProblemSchur.cpp:834
real_t epsFlipping
Definition: Options.hpp:148
returnValue init(int_t _n=0)
Definition: SubjectTo.cpp:107
@ RET_OBTAINING_WORKINGSET_FAILED
Definition: MessageHandling.hpp:112
returnValue init(SymmetricMatrix *_H, const real_t *const _g, Matrix *_A, const real_t *const _lb, const real_t *const _ub, const real_t *const _lbA, const real_t *const _ubA, int_t &nWSR, real_t *const cputime=0, const real_t *const xOpt=0, const real_t *const yOpt=0, const Bounds *const guessedBounds=0, const Constraints *const guessedConstraints=0, const real_t *const _R=0)
Definition: QProblem.cpp:258
@ RET_INIT_FAILED_INFEASIBILITY
Definition: MessageHandling.hpp:108
real_t * g
Definition: QProblemB.hpp:974
@ RET_NO_INIT_WITH_STANDARD_SOLVER
Definition: MessageHandling.hpp:102
virtual returnValue getWorkingSet(real_t *workingSet)
Definition: QProblemB.cpp:644
@ RET_CANNOT_REGULARISE_IDENTITY
Definition: MessageHandling.hpp:185
returnValue ensureNonzeroCurvature(BooleanType removeBoundNotConstraint, int_t remIdx, BooleanType &exchangeHappened, BooleanType &addBoundNotConstraint, int_t &addIdx, SubjectToStatus &addStatus)
Definition: QProblem.cpp:4278
@ RET_QP_UNBOUNDED
Definition: MessageHandling.hpp:117
returnValue solveOqpBenchmark(int_t nQP, int_t nV, int_t nC, int_t nEC, const real_t *const _H, const real_t *const g, const real_t *const _A, const real_t *const lb, const real_t *const ub, const real_t *const lbA, const real_t *const ubA, BooleanType isSparse, const Options &options, int_t &nWSR, real_t &maxCPUtime, real_t &maxStationarity, real_t &maxFeasibility, real_t &maxComplementarity)
Definition: OQPinterface.cpp:230
virtual returnValue addToDiag(real_t alpha)
Definition: Matrices.cpp:2040
int_t errorCount
Definition: MessageHandling.hpp:434
returnValue computeMTimes(real_t alpha, const real_t *const x, real_t beta, real_t *const y)
Definition: SQProblemSchur.cpp:3116
Indexlist * getFree()
Definition: Bounds.ipp:100
returnValue writeIntoMatFile(FILE *const matFile, const real_t *const data, int_t nRows, int_t nCols, const char *name)
Definition: Utils.cpp:507
void sgemm_(const char *TRANSA, const char *TRANSB, const la_uint_t *M, const la_uint_t *N, const la_uint_t *K, const float *ALPHA, const float *A, const la_uint_t *LDA, const float *B, const la_uint_t *LDB, const float *BETA, float *C, const la_uint_t *LDC)
Definition: BLASReplacement.cpp:93
#define __LINE__
Definition: MessageHandling.hpp:445
returnValue moveFreeToFixed(int_t number, SubjectToStatus _status)
Definition: Bounds.cpp:207
@ RET_ENSURELI_FAILED_CYCLING
Definition: MessageHandling.hpp:165
SubjectToStatus
Definition: Types.hpp:272
SymDenseMat()
Definition: Matrices.hpp:515
returnValue repairSingularWorkingSet()
Definition: SQProblemSchur.cpp:3525
returnValue convertSubjectToStatusToString(SubjectToStatus value, char *const string)
Definition: Utils.cpp:828
@ RET_INIT_FAILED_REGULARISATION
Definition: MessageHandling.hpp:110
Indexlist freee
Definition: Bounds.hpp:242
@ RET_STEPDIRECTION_FAILED_TQ
Definition: MessageHandling.hpp:139
returnValue correctInertia()
Definition: SQProblemSchur.cpp:3428
@ RET_CYCLING_DETECTED
Definition: MessageHandling.hpp:141
virtual returnValue print(const char *name=0) const
Definition: Matrices.cpp:596
returnValue
Defines all symbols for global return values.
Definition: MessageHandling.hpp:64
virtual void setVal(const real_t *newVal)
Definition: Matrices.cpp:757
returnValue moveInactiveToActive(int_t number, SubjectToStatus _status)
Definition: Constraints.cpp:206
returnValue resetSchurComplement(BooleanType allowInertiaCorrection)
Definition: SQProblemSchur.cpp:2984
virtual returnValue determineStepDirection(const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bC_isZero, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yAC, real_t *const delta_yFX)
Definition: SQProblemSchur.cpp:2810
@ RET_LINEARLY_DEPENDENT
Definition: MessageHandling.hpp:159
returnValue getFreeVariablesFlags(BooleanType *varIsFree)
Definition: QProblem.cpp:1058
@ RET_STEPDIRECTION_DETERMINATION_FAILED
Definition: MessageHandling.hpp:128
virtual BooleanType isDiag() const
Definition: Matrices.cpp:139
returnValue throwWarning(returnValue Wnumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
Definition: MessageHandling.cpp:370
int_t dropIneqConPriority
Definition: Options.hpp:162
virtual real_t getNorm(int_t type=2) const
Definition: Matrices.cpp:1542
SubjectToType * type
Definition: SubjectTo.hpp:212
@ RET_UNABLE_TO_SAVE_QPDATA
Definition: MessageHandling.hpp:138
@ RET_SIMPLE_STATUS_P0
Definition: MessageHandling.hpp:227
returnValue flipFixed(int_t number)
Definition: Constraints.cpp:227
returnValue undoDeleteFromSchurComplement(int_t idx)
Definition: SQProblemSchur.cpp:3343
returnValue computeMTransTimes(real_t alpha, const real_t *const x, real_t beta, real_t *const y)
Definition: SQProblemSchur.cpp:3133
returnValue clear()
Definition: Flipper.cpp:211
returnValue getISortArray(int_t **const iSortArray) const
Definition: Indexlist.cpp:146
#define __FUNC__
Definition: MessageHandling.hpp:450
~MessageHandling()
Definition: MessageHandling.cpp:316
returnValue clear()
Definition: SubjectTo.cpp:145
virtual returnValue getRow(int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const
Definition: Matrices.cpp:1570
returnValue solveInitialQP(const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, const real_t *const _R, int_t &nWSR, real_t *const cputime)
Definition: QProblem.cpp:1301
BooleanType enableNZCTests
Definition: Options.hpp:129
virtual returnValue removeConstraint(int_t number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
Definition: QProblem.cpp:3782
@ ST_EQUALITY
Definition: Types.hpp:265
returnValue obtainAuxiliaryWorkingSet(const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, Bounds *auxiliaryBounds) const
Definition: QProblemB.cpp:1479
virtual SQProblemSchur & operator=(const SQProblemSchur &rhs)
Definition: SQProblemSchur.cpp:176
@ RET_UPDATEMATRICES_FAILED_AS_QP_NOT_SOLVED
Definition: MessageHandling.hpp:198
Base class for linear solvers that are used in a Schur-complement implementation in qpOASES.
Definition: SparseSolver.hpp:52
@ RET_SIMPLE_STATUS_M3
Definition: MessageHandling.hpp:230
void doNotFreeMemory()
Definition: Matrices.hpp:273
returnValue readOqpData(const char *path, int_t &nQP, int_t &nV, int_t &nC, int_t &nEC, real_t **H, real_t **g, real_t **A, real_t **lb, real_t **ub, real_t **lbA, real_t **ubA, real_t **xOpt, real_t **yOpt, real_t **objOpt)
Definition: OQPinterface.cpp:79
returnValue setToMPC()
Definition: Options.cpp:191
int_t excRemC
Definition: Types.hpp:310
virtual returnValue performDriftCorrection()
Definition: QProblemB.cpp:3405
returnValue copy(const Indexlist &rhs)
Definition: Indexlist.cpp:269
int_t excAddC
Definition: Types.hpp:309
Constraints constraints
Definition: QProblem.hpp:1047
real_t * val
Definition: Matrices.hpp:498
virtual returnValue getSparseSubmatrix(int_t irowsLength, const int_t *const irowsNumber, int_t icolsLength, const int_t *const icolsNumber, int_t rowoffset, int_t coloffset, int_t &numNonzeros, int_t *irn, int_t *jcn, real_t *avals, BooleanType only_lower_triangular=BT_FALSE) const
Definition: Matrices.cpp:955
real_t calcDetSchur(int_t idxDel)
Definition: SQProblemSchur.cpp:2191
@ RET_AVAILABLE_WITH_LINUX_ONLY
Definition: MessageHandling.hpp:76
returnValue determineHessianType()
Definition: QProblemB.cpp:1176
virtual returnValue setupInitialCholesky()
Definition: QProblemB.cpp:1447
@ RET_HOTSTART_STOPPED_INFEASIBILITY
Definition: MessageHandling.hpp:132
@ RET_REMOVEINDEX_FAILED
Definition: MessageHandling.hpp:90
virtual returnValue times(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:1693
MessageHandling & operator=(const MessageHandling &rhs)
Definition: MessageHandling.cpp:328
BooleanType enableFullLITests
Definition: Options.hpp:128
virtual real_t * full() const
Definition: Matrices.cpp:2080
virtual QProblemB & operator=(const QProblemB &rhs)
Definition: QProblemB.cpp:195
returnValue copy(const SQProblemSchur &rhs)
Definition: SQProblemSchur.cpp:235
returnValue addToSchurComplement(int_t number, SchurUpdateType update, int_t numNonzerosM, const sparse_int_t *M_pos, const real_t *const M_vals, int_t numNonzerosN, const sparse_int_t *Npos, const real_t *const Nvals, real_t N_diag)
Definition: SQProblemSchur.cpp:3162
virtual returnValue bilinear(const Indexlist *const icols, int_t xN, const real_t *x, int_t xLD, real_t *y, int_t yLD) const =0
returnValue setErrorCount(int_t _errorCount)
Definition: MessageHandling.ipp:127
real_t * delta_xFRy
Definition: QProblem.hpp:1065
virtual real_t getNorm(int_t type=2) const
Definition: Matrices.cpp:155
returnValue setToFast()
Definition: Options.cpp:224
int_t nS
Definition: SQProblemSchur.hpp:395
int_t getNEC() const
Definition: QProblem.ipp:74
virtual returnValue writeToFile(FILE *output_file, const char *prefix) const =0
BooleanType noUpper
Definition: SubjectTo.hpp:216
returnValue addBound(int_t number, SubjectToStatus B_status, BooleanType updateCholesky)
Definition: QProblemB.cpp:3484
@ RET_CONSTRAINTS_NOT_SPECIFIED
Definition: MessageHandling.hpp:136
BooleanType enableEqualities
Definition: Options.hpp:132
virtual returnValue shift(int_t offset)
Definition: Bounds.cpp:264
@ RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
Definition: MessageHandling.hpp:125
int_t getMax(int_t x, int_t y)
Definition: Utils.ipp:88
returnValue performStep(const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yAC, const real_t *const delta_yFX, int_t &BC_idx, SubjectToStatus &BC_status, BooleanType &BC_isBound)
Definition: QProblem.cpp:4981
@ RET_STEPSIZE
Definition: MessageHandling.hpp:144
returnValue setupQPdata(SymmetricMatrix *_H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub)
Definition: QProblemB.cpp:1757
returnValue solveQP(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int_t &nWSR, real_t *const cputime, int_t nWSRperformed=0, BooleanType isFirstCall=BT_TRUE)
Definition: QProblem.cpp:1477
returnValue copy(const Flipper &rhs)
Definition: Flipper.cpp:238
returnValue throwMessage(returnValue RETnumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus, const char *RETstring)
Definition: MessageHandling.cpp:461
@ RET_INFO_UNDEFINED
Definition: MessageHandling.hpp:74
real_t boundRelaxation
Definition: Options.hpp:137
virtual returnValue transTimes(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const =0
BooleanType unbounded
Definition: QProblemB.hpp:991
virtual Matrix * duplicate() const
Definition: Matrices.cpp:114
virtual returnValue addBound(int_t number, SubjectToStatus B_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
Definition: QProblem.cpp:3307
@ RET_INVALID_ARGUMENTS
Definition: MessageHandling.hpp:71
@ RET_ENSURELI_FAILED_TQ
Definition: MessageHandling.hpp:163
returnValue setOptions(const Options &_options)
Definition: QProblemB.ipp:191
returnValue removeIndex(Indexlist *const indexlist, int_t removenumber)
Definition: SubjectTo.cpp:229
@ RET_ROTATING_FAILED
Definition: MessageHandling.hpp:98
@ QPS_HOMOTOPYQPSOLVED
Definition: Types.hpp:242
virtual ~SQProblemSchur()
Definition: SQProblemSchur.cpp:165
SparseSolver * sparseSolver
Definition: SQProblemSchur.hpp:392
BooleanType isInfeasible() const
Definition: QProblemB.ipp:133
Options()
Definition: Options.cpp:50
returnValue setToDefault()
Definition: Options.cpp:91
virtual returnValue transTimes(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:318
int_t excRemB
Definition: Types.hpp:308
returnValue performStep(const real_t *const delta_g, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yFX, int_t &BC_idx, SubjectToStatus &BC_status)
Definition: QProblemB.cpp:3209
@ RET_INIT_FAILED_HOTSTART
Definition: MessageHandling.hpp:107
@ RET_DIAGONAL_NOT_INITIALISED
Definition: MessageHandling.hpp:217
SparseMatrix()
Definition: Matrices.cpp:671
@ QPS_SOLVED
Definition: Types.hpp:243
@ RET_INITIAL_QP_SOLVED
Definition: MessageHandling.hpp:212
BooleanType enableRamping
Definition: Options.hpp:124
Data structure for entries in global message list.
Definition: MessageHandling.hpp:257
returnValue printCopyrightNotice()
Definition: Utils.cpp:255
@ QPS_PERFORMINGHOMOTOPY
Definition: Types.hpp:240
int_t n
Definition: SubjectTo.hpp:210
virtual returnValue removeBound(int_t number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
Definition: SQProblemSchur.cpp:1798
virtual BooleanType isDiag() const
Definition: Matrices.cpp:1521
returnValue solveInitialQP(const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const real_t *const _R, int_t &nWSR, real_t *const cputime)
Definition: QProblemB.cpp:2259
virtual returnValue shift(int_t offset)
Definition: Constraints.cpp:248
Auxiliary class for storing a copy of the current matrix factorisations.
Definition: Flipper.hpp:57
@ RET_UNABLE_TO_SOLVE_QP
Definition: MessageHandling.hpp:121
virtual returnValue getRow(int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const
Definition: Matrices.cpp:864
#define QQ(I, J)
Definition: Types.hpp:144
@ PL_MEDIUM
Definition: Types.hpp:218
Constraints()
Definition: Constraints.cpp:50
virtual returnValue addConstraint_ensureLI(int_t number, SubjectToStatus C_status)
Definition: SQProblemSchur.cpp:947
@ ST_INFEASIBLE_LOWER
Definition: Types.hpp:277
@ RET_UNABLE_TO_READ_FILE
Definition: MessageHandling.hpp:202
int_t getNumber(int_t physicalindex) const
Definition: Indexlist.ipp:47
returnValue updateSchurQR(int_t idxDel)
Definition: SQProblemSchur.cpp:2284
@ ST_INFEASIBLE_UPPER
Definition: Types.hpp:278
@ RET_QP_NOT_SOLVED
Definition: MessageHandling.hpp:119
virtual returnValue getCol(int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const
Definition: Matrices.cpp:1627
@ RET_ADDBOUND_FAILED_INFEASIBILITY
Definition: MessageHandling.hpp:150
virtual returnValue backsolveT(const real_t *const b, BooleanType transposed, real_t *const a) const
Definition: SQProblemSchur.cpp:2164
real_t * Q
Definition: Flipper.hpp:142
Interfaces matrix-vector operations tailored to general sparse matrices.
Definition: Matrices.hpp:751
@ RET_ADD_TO_ACTIVESET
Definition: MessageHandling.hpp:154
returnValue print()
Definition: Bounds.cpp:400
BooleanType enableInertiaCorrection
Definition: Options.hpp:157
real_t * R_
Definition: SQProblemSchur.hpp:399
virtual returnValue setupInitialCholesky()
Definition: QProblem.cpp:2135
Indexlist & operator=(const Indexlist &rhs)
Definition: Indexlist.cpp:92
@ RET_ALREADY_ENABLED
Definition: MessageHandling.hpp:178
real_t rcondSMin
Definition: Options.hpp:156
real_t getObjVal() const
Definition: QProblemB.cpp:700
returnValue set(const Bounds *const _bounds, const real_t *const _R, const Constraints *const _constraints=0, const real_t *const _Q=0, const real_t *const _T=0)
Definition: Flipper.cpp:162
int_t getNIAC() const
Definition: Constraints.ipp:92
virtual ~SparseSolver()
Definition: SparseSolver.cpp:72
HessianType getHessianType() const
Definition: QProblemB.ipp:151
void setWarningVisibilityStatus(VisibilityStatus _warningVisibility)
Definition: MessageHandling.ipp:100
virtual returnValue print(const char *name=0) const
Definition: Matrices.cpp:2096
returnValue getKktViolation(int_t nV, int_t nC, const real_t *const H, const real_t *const g, const real_t *const A, const real_t *const lb, const real_t *const ub, const real_t *const lbA, const real_t *const ubA, const real_t *const x, const real_t *const y, real_t &stat, real_t &feas, real_t &cmpl, const real_t *const workingSetB, const real_t *const workingSetC, BooleanType hasIdentityHessian)
Definition: Utils.cpp:631
BooleanType hasNoUpper() const
Definition: SubjectTo.ipp:147
BooleanType isZero(real_t x, real_t TOL)
Definition: Utils.ipp:60
BooleanType shallRefactorise(const Bounds *const guessedBounds) const
Definition: QProblemB.cpp:3456
virtual returnValue reset()
Definition: SparseSolver.cpp:95
@ RET_UNKNOWN_BUG
Definition: MessageHandling.hpp:77
returnValue normaliseConstraints(int_t nV, int_t nC, real_t *A, real_t *lbA, real_t *ubA, int_t type)
Definition: Utils.cpp:963
@ RET_NWSR_SET_TO_ONE
Definition: MessageHandling.hpp:209
@ RET_STEPDIRECTION_FAILED_CHOLESKY
Definition: MessageHandling.hpp:140
virtual returnValue setupSubjectToType()
Definition: QProblemB.cpp:1281
@ RET_INVALID_FACTORISATION_FLAG
Definition: MessageHandling.hpp:137
Indexlist * getInactive()
Definition: Constraints.ipp:111
int_t rampOffset
Definition: QProblemB.hpp:1002
@ SUCCESSFUL_RETURN
Definition: MessageHandling.hpp:68
real_t * Q
Definition: QProblem.hpp:1050
@ HST_SEMIDEF
Definition: Types.hpp:254
ConstraintProduct * constraintProduct
Definition: QProblem.hpp:1060
VisibilityStatus errorVisibility
Definition: MessageHandling.hpp:428
returnValue setUBA(const real_t *const ubA_new)
Definition: QProblem.ipp:234
@ RET_CYCLING_RESOLVED
Definition: MessageHandling.hpp:143
@ RET_WARNING_UNDEFINED
Definition: MessageHandling.hpp:73
virtual returnValue getWorkingSetConstraints(real_t *workingSetC)
Definition: QProblemB.cpp:678
int_t getNV() const
Definition: QProblemB.ipp:64
@ ST_UPPER
Definition: Types.hpp:276
#define THROWERROR(retval)
Definition: MessageHandling.hpp:456
@ RET_NO_GLOBAL_MESSAGE_OUTPUTFILE
Definition: MessageHandling.hpp:175
@ RET_INDEXLIST_MUST_BE_REORDERD
Definition: MessageHandling.hpp:81
real_t epsIterRef
Definition: Options.hpp:152
returnValue moveActiveToInactive(int_t number)
Definition: Constraints.cpp:186
uint_t nC
Definition: Flipper.hpp:136
virtual real_t getRowNorm(int_t rNum, int_t type=2) const
Definition: Matrices.cpp:1551
#define GEMM
Definition: LapackBlasReplacement.hpp:63
@ HST_INDEF
Definition: Types.hpp:255
@ ST_UNKNOWN
Definition: Types.hpp:267
int_t dropBoundPriority
Definition: Options.hpp:160
TabularOutput tabularOutput
Definition: QProblemB.hpp:1008
#define TRCON
Definition: LapackBlasReplacement.hpp:78
@ RET_REGSTEPS_MUST_BE_POSITVE
Definition: MessageHandling.hpp:183
virtual returnValue bilinear(const Indexlist *const icols, int_t xN, const real_t *x, int_t xLD, real_t *y, int_t yLD) const
Definition: Matrices.cpp:630
void setOutputFile(FILE *_outputFile)
Definition: MessageHandling.ipp:118
void setNoUpper(BooleanType _status)
Definition: SubjectTo.ipp:129
virtual returnValue addConstraint_checkLI(int_t number)
Definition: QProblem.cpp:2982
virtual real_t getNorm(int_t type=2) const
Definition: Matrices.cpp:801
@ RET_MOVING_CONSTRAINT_FAILED
Definition: MessageHandling.hpp:96
@ SUT_UNDEFINED
Definition: Types.hpp:289
virtual QProblem & operator=(const QProblem &rhs)
Definition: QProblem.cpp:203
Indexlist * getActive()
Definition: Constraints.ipp:102
@ RET_INIT_FAILED
Definition: MessageHandling.hpp:104
virtual Matrix * duplicate() const =0
@ ST_LOWER
Definition: Types.hpp:274
@ RET_DISABLECONSTRAINTS_FAILED
Definition: MessageHandling.hpp:176
@ RET_SHIFT_DETERMINATION_FAILED
Definition: MessageHandling.hpp:127
sparse_int_t * ir
Definition: Matrices.hpp:735
@ RET_SIMPLE_STATUS_M2
Definition: MessageHandling.hpp:229
real_t getAbs(real_t x)
Definition: Utils.ipp:143
BooleanType usingRegularisation() const
Definition: QProblemB.ipp:170
real_t * delta_xFRz
Definition: QProblem.hpp:1066
returnValue setupAllUpper()
Definition: Constraints.cpp:177
BooleanType freeConstraintMatrix
Definition: QProblem.hpp:1041
returnValue setPrintLevel(PrintLevel _printlevel)
Definition: QProblemB.cpp:824
int_t idxAddC
Definition: Types.hpp:305
@ PL_TABULAR
Definition: Types.hpp:215
BooleanType noLower
Definition: SubjectTo.hpp:215
@ RET_HOTSTART_FAILED_TO_INIT
Definition: MessageHandling.hpp:124
virtual returnValue getRow(int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const
Definition: Matrices.cpp:177
@ ST_DISABLED
Definition: Types.hpp:266
virtual void free()
Definition: Matrices.cpp:715
real_t initialFarBounds
Definition: Options.hpp:145
returnValue myPrintf(const char *s)
Definition: Utils.cpp:225
Constraints constraints
Definition: Flipper.hpp:139
returnValue setLB(const real_t *const lb_new)
Definition: QProblemB.ipp:312
BooleanType enableRegularisation
Definition: Options.hpp:127
@ ST_UNBOUNDED
Definition: Types.hpp:263
HessianType hessianType
Definition: QProblemB.hpp:993
int_t getLastNumber() const
Definition: Indexlist.ipp:69
BooleanType haveCholesky
Definition: QProblemB.hpp:981
BooleanType isEqual(real_t x, real_t y, real_t TOL=ZERO)
Definition: Utils.ipp:45
real_t * S
Definition: SQProblemSchur.hpp:394
~Flipper()
Definition: Flipper.cpp:91
real_t * ubA
Definition: QProblem.hpp:1045
@ RET_STEPSIZE_NONPOSITIVE
Definition: MessageHandling.hpp:145
returnValue regulariseHessian()
Definition: QProblemB.cpp:1999
virtual returnValue writeToFile(FILE *output_file, const char *prefix) const
Definition: Matrices.cpp:1406
returnValue init(int_t _n=0)
Definition: Bounds.cpp:102
returnValue getNumberArray(int_t **const numberarray) const
Definition: Indexlist.cpp:132
@ RET_ADD_TO_ACTIVESET_FAILED
Definition: MessageHandling.hpp:156
@ RET_INERTIA_CORRECTION_FAILED
Definition: MessageHandling.hpp:223
returnValue clear()
Definition: Indexlist.cpp:248
#define TT(I, J)
Definition: Types.hpp:147
@ HST_ZERO
Definition: Types.hpp:250
SubjectToStatus getStatus(int_t i) const
Definition: SubjectTo.ipp:78
virtual Matrix * duplicate() const
Definition: Matrices.cpp:728
returnValue writeQpDataIntoMatFile(const char *const filename) const
Definition: QProblem.cpp:6363
real_t getRelativeHomotopyLength(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new)
Definition: QProblemB.cpp:2113
@ RET_EPS_MUST_BE_POSITVE
Definition: MessageHandling.hpp:182
returnValue printIteration(int_t iter, int_t BC_idx, SubjectToStatus BC_status, real_t homotopyLength, BooleanType isFirstCall=BT_TRUE)
Definition: QProblemB.cpp:3692
@ TERMINAL_LIST_ELEMENT
Definition: MessageHandling.hpp:66
virtual returnValue setupTQfactorisation()
Definition: SQProblemSchur.cpp:639
@ RET_NOTHING_TO_DO
Definition: MessageHandling.hpp:92
real_t * delta_xFR_TMP
Definition: QProblemB.hpp:998
sparse_int_t * createDiagInfo()
Definition: Matrices.cpp:1362
returnValue getPrimalSolution(real_t *const xOpt) const
Definition: QProblemB.cpp:774
virtual ~Bounds()
Definition: Bounds.cpp:76
virtual ~QProblem()
Definition: QProblem.cpp:194
BooleanType infeasible
Definition: QProblemB.hpp:990
real_t regVal
Definition: QProblemB.hpp:994
returnValue setupAuxiliaryQPsolution(const real_t *const xOpt, const real_t *const yOpt)
Definition: QProblem.cpp:2545
real_t terminationTolerance
Definition: Options.hpp:134
returnValue clear()
Definition: SQProblemSchur.cpp:211
@ RET_BOUND_ALREADY_ACTIVE
Definition: MessageHandling.hpp:166
returnValue checkCurvatureOnStronglyActiveConstraints(SQProblemSchur *qp)
Definition: SolutionAnalysis.cpp:534
SymSparseMat * createDiagSparseMat(int_t n, real_t diagVal=1.0)
Definition: QProblemB.cpp:2038
@ HST_IDENTITY
Definition: Types.hpp:251
returnValue throwInfo(returnValue Inumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
Definition: MessageHandling.cpp:393
virtual returnValue addConstraint(int_t number, SubjectToStatus C_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
Definition: SQProblemSchur.cpp:648
virtual real_t getRowNorm(int_t rNum, int_t type=2) const
Definition: Matrices.cpp:162
returnValue setToReliable()
Definition: Options.cpp:171
@ RET_LINEARLY_INDEPENDENT
Definition: MessageHandling.hpp:160
returnValue updateFarBounds(real_t curFarBound, int_t nRamp, const real_t *const lb_new, real_t *const lb_new_far, const real_t *const ub_new, real_t *const ub_new_far) const
Definition: QProblemB.cpp:2202
Stores and manages index lists.
Definition: Indexlist.hpp:55
SparseSolver()
Definition: SparseSolver.cpp:55
@ RET_DIV_BY_ZERO
Definition: MessageHandling.hpp:69
virtual returnValue determineStepDirection(const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bC_isZero, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yAC, real_t *const delta_yFX)
Definition: QProblem.cpp:4637
virtual returnValue writeToFile(FILE *output_file, const char *prefix) const
Definition: Matrices.cpp:2105
virtual void free()
Definition: Matrices.cpp:1465
@ HST_POSDEF_NULLSPACE
Definition: Types.hpp:253
virtual returnValue computeProjectedCholesky()
Definition: QProblem.cpp:2036
int_t getNFX() const
Definition: QProblemB.ipp:82
@ RET_ERROR_IN_CONSTRAINTPRODUCT
Definition: MessageHandling.hpp:193
virtual Matrix * duplicate() const
Definition: Matrices.cpp:2110
real_t finalRamping
Definition: Options.hpp:144
returnValue addIndex(Indexlist *const indexlist, int_t newnumber, SubjectToStatus newstatus)
Definition: SubjectTo.cpp:199
SchurUpdateType * schurUpdate
Definition: SQProblemSchur.hpp:405
real_t epsDen
Definition: Options.hpp:139
virtual returnValue transTimes(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:1087
Options options
Definition: QProblemB.hpp:1004
virtual returnValue reset()
Definition: QProblemB.cpp:210
returnValue print()
Definition: Constraints.cpp:384
@ RET_PRINTLEVEL_CHANGED
Definition: MessageHandling.hpp:78
real_t getKktViolation(QProblemB *const qp, real_t *const maxStat=0, real_t *const maxFeas=0, real_t *const maxCmpl=0) const
Definition: SolutionAnalysis.cpp:93
@ RET_INIT_FAILED_UNBOUNDEDNESS
Definition: MessageHandling.hpp:109
returnValue updateFarBounds(real_t curFarBound, int_t nRamp, const real_t *const lb_new, real_t *const lb_new_far, const real_t *const ub_new, real_t *const ub_new_far, const real_t *const lbA_new, real_t *const lbA_new_far, const real_t *const ubA_new, real_t *const ubA_new_far) const
Definition: QProblem.cpp:5498
real_t * delta_yAC_TMP
Definition: QProblem.hpp:1067
void dtrcon_(const char *NORM, const char *UPLO, const char *DIAG, const la_uint_t *N, double *A, const la_uint_t *LDA, double *RCOND, double *WORK, const la_uint_t *IWORK, la_int_t *INFO)
Definition: LAPACKReplacement.cpp:137
@ RET_UNABLE_TO_OPEN_FILE
Definition: MessageHandling.hpp:200
virtual Matrix * duplicate() const
Definition: Matrices.cpp:603
returnValue setupQPdata(SymmetricMatrix *_H, const real_t *const _g, Matrix *_A, const real_t *const _lb, const real_t *const _ub, const real_t *const _lbA, const real_t *const _ubA)
Definition: QProblem.cpp:5785
Bounds bounds
Definition: Flipper.hpp:138
Constraints & operator=(const Constraints &rhs)
Definition: Constraints.cpp:85
returnValue init(int_t _n=0)
Definition: Constraints.cpp:101
@ RET_REMOVE_FROM_ACTIVESET_FAILED
Definition: MessageHandling.hpp:155
virtual returnValue setupAuxiliaryQP(const Bounds *const guessedBounds)
Definition: QProblemB.cpp:2980
virtual returnValue setupAuxiliaryWorkingSet(const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType setupAfresh)
Definition: QProblem.cpp:2351
BooleanType isInitialised() const
Definition: QProblemB.ipp:109
@ RET_INDEXLIST_OUTOFBOUNDS
Definition: MessageHandling.hpp:84
@ RET_QPOBJECT_NOT_SETUP
Definition: MessageHandling.hpp:100
@ VS_HIDDEN
Definition: Types.hpp:226
virtual int_t getNZ() const
Definition: QProblem.cpp:849
@ RET_ADDBOUND_FAILED
Definition: MessageHandling.hpp:149
returnValue clear()
Definition: Bounds.cpp:438
virtual real_t * full() const
Definition: Matrices.cpp:1381
returnValue performPlainRatioTest(int_t nIdx, const int_t *const idxList, const real_t *const num, const real_t *const den, real_t epsNum, real_t epsDen, real_t &t, int_t &BC_idx) const
Definition: QProblem.cpp:4256
virtual returnValue getWorkingSetConstraints(real_t *workingSetC)
Definition: QProblem.cpp:823
returnValue setA(Matrix *A_new)
Definition: QProblem.ipp:107
@ RET_CHOLESKY_OF_ZERO_HESSIAN
Definition: MessageHandling.hpp:189
VisibilityStatus getInfoVisibilityStatus() const
Definition: MessageHandling.ipp:64
#define REFER_NAMESPACE_QPOASES
Definition: Types.hpp:116
const BEGIN_NAMESPACE_QPOASES real_t EPS
Definition: Constants.hpp:50
@ RET_ZERO_HESSIAN_ASSUMED
Definition: MessageHandling.hpp:190
@ HST_UNKNOWN
Definition: Types.hpp:256
real_t getAbs(real_t x)
Definition: Utils.ipp:143
int_t enableCholeskyRefactorisation
Definition: Options.hpp:131
@ RET_OPTIONS_ADJUSTED
Definition: MessageHandling.hpp:205
@ RET_KKT_MATRIX_SINGULAR
Definition: MessageHandling.hpp:221
@ RET_QR_FACTORISATION_FAILED
Definition: MessageHandling.hpp:222
@ RET_EWI_UNDEFINED
Definition: MessageHandling.hpp:75
@ RET_HESSIAN_INDEFINITE
Definition: MessageHandling.hpp:171
returnValue hotstart(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, int_t &nWSR, real_t *const cputime=0, const Bounds *const guessedBounds=0)
Definition: QProblemB.cpp:414
MessageHandling()
Definition: MessageHandling.cpp:241
BooleanType enableFarBounds
Definition: Options.hpp:125
BEGIN_NAMESPACE_QPOASES BooleanType isEqual(real_t x, real_t y, real_t TOL)
Definition: Utils.ipp:45
virtual returnValue getWorkingSetBounds(real_t *workingSetB)
Definition: QProblemB.cpp:653
@ RET_SETUP_BOUND_FAILED
Definition: MessageHandling.hpp:93
virtual returnValue getCol(int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const =0
returnValue reset()
Definition: MessageHandling.cpp:416
int_t getSimpleStatus(returnValue returnvalue, BooleanType doPrintStatus)
Definition: Utils.cpp:912
virtual real_t getNorm(int_t type=2) const =0
virtual returnValue solve(int_t dim, const real_t *const rhs, real_t *const sol)=0
int_t nRows
Definition: Matrices.hpp:918
virtual SymmetricMatrix * duplicateSym() const =0
int_t getNFV() const
Definition: QProblemB.ipp:91
returnValue deleteFromSchurComplement(int_t idx, BooleanType allowUndo=BT_FALSE)
Definition: SQProblemSchur.cpp:3244
int_t getNUV() const
Definition: Bounds.ipp:73
@ RET_ENABLECONSTRAINTS_FAILED
Definition: MessageHandling.hpp:177
~SolutionAnalysis()
Definition: SolutionAnalysis.cpp:69
@ RET_INITIALISATION_STARTED
Definition: MessageHandling.hpp:122
@ RET_CANNOT_REGULARISE_SPARSE
Definition: MessageHandling.hpp:186
PrintLevel
Definition: Types.hpp:212
int_t getNFR() const
Definition: Bounds.ipp:82
int_t getMax(int_t x, int_t y)
Definition: Utils.ipp:88
real_t * val
Definition: Matrices.hpp:738
virtual returnValue setMatrixData(int_t dim, int_t numNonzeros, const int_t *const airn, const int_t *const acjn, const real_t *const avals)=0
BooleanType enableDropInfeasibles
Definition: Options.hpp:159
@ ST_BOUNDED
Definition: Types.hpp:264
Indexlist()
Definition: Indexlist.cpp:50
real_t getRelativeHomotopyLength(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new)
Definition: QProblem.cpp:5372
returnValue readFromFile(real_t *data, int_t nrow, int_t ncol, const char *datafilename)
Definition: Utils.cpp:273
void setErrorVisibilityStatus(VisibilityStatus _errorVisibility)
Definition: MessageHandling.ipp:91
BooleanType shallRefactorise(const Bounds *const guessedBounds, const Constraints *const guessedConstraints) const
Definition: QProblem.cpp:5746
@ RET_SETUP_AUXILIARYQP_FAILED
Definition: MessageHandling.hpp:114
virtual ~QProblemB()
Definition: QProblemB.cpp:183
virtual ~DenseMatrix()
Definition: Matrices.cpp:101
real_t ramp1
Definition: QProblemB.hpp:1001
@ RET_SHIFTING_FAILED
Definition: MessageHandling.hpp:97
@ PL_LOW
Definition: Types.hpp:217
BooleanType isCPUtimeLimitExceeded(const real_t *const cputime, real_t starttime, int_t nWSR) const
Definition: QProblemB.cpp:1971
virtual ~SparseMatrixRow()
Definition: Matrices.cpp:1452
virtual returnValue reset()
Definition: QProblem.cpp:219
returnValue setG(const real_t *const g_new)
Definition: QProblemB.ipp:293
SubjectToType getType(int_t i) const
Definition: SubjectTo.ipp:66
int_t sparse_int_t
Definition: Types.hpp:199
returnValue setInfeasibilityFlag(returnValue returnvalue, BooleanType doThrowError=BT_FALSE)
Definition: QProblemB.cpp:1938
virtual returnValue backsolveR(const real_t *const b, BooleanType transposed, real_t *const a) const
Definition: SQProblemSchur.cpp:2173
@ RET_FILEDATA_INCONSISTENT
Definition: MessageHandling.hpp:203
virtual returnValue performDriftCorrection()
Definition: QProblem.cpp:5558
real_t rcondS
Definition: SQProblemSchur.hpp:401
@ RET_INDEXLIST_INTERSECT_FAILED
Definition: MessageHandling.hpp:86
@ RET_HESSIAN_NOT_SPD
Definition: MessageHandling.hpp:170
MessageHandling * getGlobalMessageHandler()
Definition: MessageHandling.cpp:615
returnValue get(Bounds *const _bounds, real_t *const R, Constraints *const _constraints=0, real_t *const _Q=0, real_t *const _T=0) const
Definition: Flipper.cpp:133
returnValue solveQP(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, int_t &nWSR, real_t *const cputime, int_t nWSRperformed=0, BooleanType isFirstCall=BT_TRUE)
Definition: QProblemB.cpp:2407
real_t getNorm(const real_t *const v, int_t n, int_t type)
Definition: Utils.cpp:603
@ RET_CONSTRAINT_ALREADY_ACTIVE
Definition: MessageHandling.hpp:157
@ RET_CYCLING_NOT_RESOLVED
Definition: MessageHandling.hpp:142
virtual returnValue getCol(int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const
Definition: Matrices.cpp:208
returnValue clear()
Definition: SparseSolver.cpp:134
@ RET_ALL_CONSTRAINTS_ACTIVE
Definition: MessageHandling.hpp:158
Interfaces matrix-vector operations tailored to symmetric dense matrices.
Definition: Matrices.hpp:511
@ RET_INIT_FAILED_CHOLESKY
Definition: MessageHandling.hpp:106
returnValue setupBound(int_t number, SubjectToStatus _status)
Definition: Bounds.cpp:124
MessageHandling::ReturnValueList returnValueList[]
Definition: MessageHandling.cpp:56
returnValue removeNumber(int_t removenumber)
Definition: Indexlist.cpp:187
void doFreeMemory()
Definition: Matrices.hpp:270
int_t nRows
Definition: Matrices.hpp:733
int_t getNFR() const
Definition: QProblemB.ipp:73
virtual returnValue setupAuxiliaryQP(const Bounds *const guessedBounds, const Constraints *const guessedConstraints)
Definition: QProblem.cpp:5657
@ SUT_VarFreed
Definition: Types.hpp:286
SubjectTo()
Definition: SubjectTo.cpp:50
VisibilityStatus
Definition: Types.hpp:224
real_t detS
Definition: SQProblemSchur.hpp:400
int_t dropEqConPriority
Definition: Options.hpp:161
virtual returnValue backsolveT(const real_t *const b, BooleanType transposed, real_t *const a) const
Definition: QProblem.cpp:4518
virtual returnValue getDualSolution(real_t *const yOpt) const
Definition: QProblem.cpp:859
returnValue setType(int_t i, SubjectToType value)
Definition: SubjectTo.ipp:90
int int_t
Definition: Types.hpp:180
virtual BooleanType isDiag() const =0
@ RET_BENCHMARK_SUCCESSFUL
Definition: MessageHandling.hpp:214
virtual returnValue getCol(int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const
Definition: Matrices.cpp:917
virtual ~SparseMatrix()
Definition: Matrices.cpp:702
returnValue copy(const QProblem &rhs)
Definition: QProblem.cpp:1181
@ PL_NONE
Definition: Types.hpp:216
int_t numRefinementSteps
Definition: Options.hpp:151
returnValue loadQPvectorsFromFile(const char *const g_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, real_t *const g_new, real_t *const lb_new, real_t *const ub_new, real_t *const lbA_new, real_t *const ubA_new) const
Definition: QProblem.cpp:5953
returnValue obtainAuxiliaryWorkingSet(const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, Bounds *auxiliaryBounds, Constraints *auxiliaryConstraints) const
Definition: QProblem.cpp:2199
SubjectTo & operator=(const SubjectTo &rhs)
Definition: SubjectTo.cpp:92
returnValue setupQPdataFromFile(const char *const H_file, const char *const g_file, const char *const A_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file)
Definition: QProblem.cpp:5884
returnValue addBound_checkLISchur(int_t number, real_t *const xiC, real_t *const xiX)
Definition: SQProblemSchur.cpp:1270
#define THROWINFO(retval)
Definition: MessageHandling.hpp:462
returnValue throwError(returnValue Enumber, const char *additionaltext, const char *functionname, const char *filename, const unsigned long linenumber, VisibilityStatus localVisibilityStatus)
Definition: MessageHandling.cpp:347
int_t nCols
Definition: Matrices.hpp:734
virtual returnValue printProperties()
Definition: QProblem.cpp:896
returnValue setH(SymmetricMatrix *H_new)
Definition: QProblemB.ipp:239
returnValue setupAuxiliaryWorkingSet(const Bounds *const auxiliaryBounds, BooleanType setupAfresh)
Definition: QProblemB.cpp:2763