19#ifndef _nmrConstraintOptimizer_h
20#define _nmrConstraintOptimizer_h
113 void Allocate(
const size_t CRows,
const size_t CCols,
const size_t ARows,
const size_t ACols,
const size_t ERows,
const size_t ECols);
122 void ReserveSpace(
const size_t CRows,
const size_t ARows,
const size_t ERows,
const size_t num_slacks);
139 void SetRefs(
const size_t CRows,
const size_t ARows,
const size_t ERows,
const size_t NumSlacks,
size_t GetSlacks(void) const
Gets the number of slacks.
~nmrConstraintOptimizer()
Definition nmrConstraintOptimizer.h:86
const vctDoubleMat & GetObjectiveMatrix(void) const
Gets the objective matrix.
const vctDoubleVec & GetEqConstraintVector(void) const
Gets the equality constraint vector.
nmrConstraintOptimizer(const size_t n)
const std::string GetStatusString(STATUS status) const
Helper function for converting status enum to a string message.
void SetRefs(const size_t CRows, const size_t ARows, const size_t ERows, const size_t NumSlacks, vctDynamicMatrixRef< double > &CData, vctDynamicMatrixRef< double > &CSlacks, vctDynamicVectorRef< double > &dData, vctDynamicMatrixRef< double > &AData, vctDynamicMatrixRef< double > &ASlacks, vctDynamicVectorRef< double > &bData, vctDynamicVectorRef< double > &bSlacks, vctDynamicMatrixRef< double > &EData, vctDynamicVectorRef< double > &fData)
Returns references to spaces in the tableau.
void ReserveSpace(const size_t CRows, const size_t ARows, const size_t ERows, const size_t num_slacks)
Reserves space in the tableau.
void Allocate(void)
Allocate memory indicated by indices.
void ResetIndices(void)
Clear all indices.
const vctDoubleVec & GetObjectiveVector(void) const
Gets the objective vector.
void Allocate(const size_t CRows, const size_t CCols, const size_t ARows, const size_t ACols, const size_t ERows, const size_t ECols)
Allocate memory indicated by input.
const vctDoubleVec & GetIneqConstraintVector(void) const
Gets the inequality constraint vector.
size_t GetObjectiveIndex(void) const
Gets the objective index.
const vctDoubleMat & GetIneqConstraintMatrix(void) const
Gets the inequality constraint matrix.
size_t GetEqConstraintIndex(void) const
Gets the equality constraint index.
size_t GetIneqConstraintIndex(void) const
Gets the inequality constraint index.
const vctDoubleMat & GetEqConstraintMatrix(void) const
Gets the equality constraint matrix.
STATUS Solve(vctDoubleVec &dq)
Calls the solver and stores the result in dq.
size_t GetObjectiveRows(void) const
Gets the number of rows for the objective expression.
STATUS
Definition nmrConstraintOptimizer.h:78
@ NMR_OK
Definition nmrConstraintOptimizer.h:78
@ NMR_INEQ_CONTRADICTION
Definition nmrConstraintOptimizer.h:78
@ NMR_EQ_CONTRADICTION
Definition nmrConstraintOptimizer.h:78
@ NMR_EMPTY
Definition nmrConstraintOptimizer.h:78
@ NMR_MALFORMED
Definition nmrConstraintOptimizer.h:78
@ NMR_BOTH_CONTRADICTION
Definition nmrConstraintOptimizer.h:78
size_t GetEqConstraintRows(void) const
Gets the number of rows for the equality constraint.
size_t GetSlackIndex(void) const
Gets the current slack index.
size_t GetNumVars(void) const
Returns the number of variables.
nmrConstraintOptimizer()
Definition nmrConstraintOptimizer.h:82
size_t GetIneqConstraintRows(void) const
Gets the number of rows for the inequality constraint.
Definition nmrLSqLin.h:114
Dynamic matrix referencing existing memory.
Definition vctDynamicMatrixRef.h:75
Dynamic vector referencing existing memory.
Definition vctDynamicVectorRef.h:78
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Declaration of nmrLSqLin.
Typedef for dynamic matrices.
vctDynamicMatrix< double > vctDoubleMat
Definition vctDynamicMatrixTypes.h:35
Typedef for dynamic vectors.
vctDynamicVector< double > vctDoubleVec
Definition vctDynamicVectorTypes.h:37