XpressProblem
Optimizer interface that allows modeling by objects. More...

Classes |
|
class | BranchObject |
Subclass of XPRSbranchobject that allows using Variable instances to specify bounds and constraints. More... |
|
class | CallbackAPI |
API for registering callbacks. More... |
|
Public Member Functions |
|
XpressProblem () | |
Create a problem without internal name. |
|
XpressProblem (std::optional< std::string > problemName) | |
Create a problem with internal name. |
|
XpressProblem (std::optional< std::string > problemName, std::optional< std::string > licensePath) | |
Create a problem with internal name and non-default license. |
|
template<typename C > | |
auto | addConstraint (ConstraintDefinition< C > def) -> C |
Add a single constraint to this problem. |
|
template<typename I , is-integral(I) , typename Func0 , typename C = result-type(Func0,I)::constraint_type, is-invocable(Func0, ConstraintDefinition< C >, I) > | |
auto | addConstraints (I const &count, Func0 defs) -> xpress::Iterable< C > |
Add multiple constraints of the same type to the problem. |
|
template<typename I , typename T = iter-value-type(I), typename Func0 , typename C = result-type(Func0,T)::constraint_type, is-invocable(Func0, ConstraintDefinition< C >, T) > | |
auto | addConstraints (I dataBegin, I dataEnd, Func0 defs) -> xpress::Iterable< std::pair< T, C > > |
Add multiple constraints of the same type to the problem. |
|
template<typename I1 , typename I2 , is-integral(I1) , is-integral(I2) , typename Func0 , typename C = result-type(Func0,I1 ,I2)::constraint_type, is-invocable(Func0, ConstraintDefinition< C >, I1, I2) > | |
auto | addConstraints (I1 count1, I2 count2, Func0 makeConstraint) -> void |
Add multiple constraints to this problem. |
|
template<typename I1 , typename I2 , typename I3 , is-integral(I1) , is-integral(I2) , is-integral(I3) , typename Func0 , typename C = result-type(Func0,I1 ,I2 ,I3)::constraint_type, is-invocable(Func0, ConstraintDefinition< C >, I1, I2, I3) > | |
auto | addConstraints (I1 count1, I2 count2, I3 count3, Func0 makeConstraint) -> void |
Add multiple constraints to this problem. |
|
template<typename I1 , typename I2 , typename I3 , typename I4 , is-integral(I1) , is-integral(I2) , is-integral(I3) , is-integral(I4) , typename Func0 , typename C = result-type(Func0,I1 ,I2 ,I3 ,I4)::constraint_type, is-invocable(Func0, ConstraintDefinition< C >, I1, I2, I3, I4) > | |
auto | addConstraints (I1 count1, I2 count2, I3 count3, I4 count4, Func0 makeConstraint) -> void |
Add multiple constraints to this problem. |
|
template<typename I1 , typename I2 , typename I3 , typename I4 , typename I5 , is-integral(I1) , is-integral(I2) , is-integral(I3) , is-integral(I4) , is-integral(I5) , typename Func0 , typename C = result-type(Func0,I1 ,I2 ,I3 ,I4 ,I5)::constraint_type, is-invocable(Func0, ConstraintDefinition< C >, I1, I2, I3, I4, I5) > | |
auto | addConstraints (I1 count1, I2 count2, I3 count3, I4 count4, I5 count5, Func0 makeConstraint) -> void |
Add multiple constraints to this problem. |
|
template<typename Iter0 , typename Iter1 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename Func0 , typename C = result-type(Func0,K1 ,K2)::constraint_type, is-iterable(Iter0) , is-iterable(Iter1) , is-invocable(Func0, ConstraintDefinition< C >, K1, K2) > | |
auto | addConstraints (Iter0 const &iterable1, Iter1 const &iterable2, Func0 makeConstraint) -> void |
Add multiple constraints to this problem. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), typename Func0 , typename C = result-type(Func0,K1 ,K2 ,K3)::constraint_type, is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) , is-invocable(Func0, ConstraintDefinition< C >, K1, K2, K3) > | |
auto | addConstraints (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3, Func0 makeConstraint) -> void |
Add multiple constraints to this problem. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename Iter3 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), typename K4 = element-type(Iter3), typename Func0 , typename C = result-type(Func0,K1 ,K2 ,K3 ,K4)::constraint_type, is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) , is-iterable(Iter3) , is-invocable(Func0, ConstraintDefinition< C >, K1, K2, K3, K4) > | |
auto | addConstraints (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3, Iter3 const &iterable4, Func0 makeConstraint) -> void |
Add multiple constraints to this problem. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename Iter3 , typename Iter4 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), typename K4 = element-type(Iter3), typename K5 = element-type(Iter4), typename Func0 , typename C = result-type(Func0,K1 ,K2 ,K3 ,K4 ,K5)::constraint_type, is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) , is-iterable(Iter3) , is-iterable(Iter4) , is-invocable(Func0, ConstraintDefinition< C >, K1, K2, K3, K4, K5) > | |
auto | addConstraints (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3, Iter3 const &iterable4, Iter4 const &iterable5, Func0 makeConstraint) -> void |
Add multiple constraints to this problem. |
|
template<typename Strm0 , typename T = element-type(Strm0), typename Func0 , typename C = result-type(Func0,T)::constraint_type, is-stream(Strm0) , is-invocable(Func0, ConstraintDefinition< C >, T const &) > | |
auto | addConstraints (Strm0 const &data, Func0 defs) -> xpress::Iterable< C > |
Add multiple constraints of the same type to the problem. |
|
template<typename Strm0 , typename C = typename Strm0::value_type::constraint_type, is-stream(Strm0) > | |
auto | addConstraints (Strm0 const &defs) -> xpress::Iterable< C > |
Add multiple constraints of the same type to the problem. |
|
auto | addCut (int cuttype, InequalityDefinition cut) -> int |
Add a cut at the current node. |
|
auto | addManagedCut (bool globallyValid, InequalityDefinition cut) -> void |
Add a managed cut at the current node. |
|
void | addMipSol (int length, Array< double const > const &solval, Array< int const > const &colind, std::optional< std::string > const &name) |
Adds a new feasible, infeasible or partial MIP solution for the problem to the Optimizer. |
|
auto | addMipSol (xpress::SizedArray< double const > const &val, xpress::SizedArray< int const > const &ind) -> void |
Add a MIP solution. |
|
auto | addMipSol (xpress::SizedArray< double const > const &val, xpress::SizedArray< int const > const &ind, std::optional< std::string > name) -> void |
Add a MIP solution. |
|
auto | addMipSol (xpress::SizedArray< double const > const &values, xpress::SizedArray< Variable const > const &variables, std::optional< std::string > name) -> void |
Adds a feasible, infeasible or partial MIP solution for the problem to the Optimizer. |
|
auto | addObjective (xpress::objects::Expression obj, int priority, double weight) -> void |
Add a objective function. |
|
auto | addVariable () -> xpress::objects::Variable |
Add a single variable to this problem. |
|
auto | addVariable (ColumnType type) -> xpress::objects::Variable |
Add a single variable to this problem. |
|
auto | addVariable (ColumnType type, std::optional< std::string > name) -> xpress::objects::Variable |
Add a single variable to this problem. |
|
auto | addVariable (double lb, double ub, ColumnType type) -> xpress::objects::Variable |
Add a single variable to this problem. |
|
auto | addVariable (double lb, double ub, ColumnType type, double limit, std::optional< std::string > name) -> xpress::objects::Variable |
Add a single variable to this problem. |
|
auto | addVariable (double lb, double ub, ColumnType type, std::optional< std::string > name) -> xpress::objects::Variable |
Add a single variable to this problem. |
|
auto | addVariable (std::optional< std::string > name) -> xpress::objects::Variable |
Add a single variable to this problem. |
|
template<typename C , is-integral(C) > | |
auto | addVariables (C dim) -> xpress::VariableBuilder::VariableArrayBuilder< C > |
Create an 1-dimensional array of variables. |
|
template<typename C1 , typename C2 , is-integral(C1) , is-integral(C2) > | |
auto | addVariables (C1 dim1, C2 dim2) -> xpress::VariableBuilder::VariableArray2Builder< C1, C2 > |
Create an 2-dimensional array of variables. |
|
template<typename C1 , typename C2 , typename C3 , is-integral(C1) , is-integral(C2) , is-integral(C3) > | |
auto | addVariables (C1 dim1, C2 dim2, C3 dim3) -> xpress::VariableBuilder::VariableArray3Builder< C1, C2, C3 > |
Create an 3-dimensional array of variables. |
|
template<typename C1 , typename C2 , typename C3 , typename C4 , is-integral(C1) , is-integral(C2) , is-integral(C3) , is-integral(C4) > | |
auto | addVariables (C1 dim1, C2 dim2, C3 dim3, C4 dim4) -> xpress::VariableBuilder::VariableArray4Builder< C1, C2, C3, C4 > |
Create an 4-dimensional array of variables. |
|
template<typename C1 , typename C2 , typename C3 , typename C4 , typename C5 , is-integral(C1) , is-integral(C2) , is-integral(C3) , is-integral(C4) , is-integral(C5) > | |
auto | addVariables (C1 dim1, C2 dim2, C3 dim3, C4 dim4, C5 dim5) -> xpress::VariableBuilder::VariableArray5Builder< C1, C2, C3, C4, C5 > |
Create an 5-dimensional array of variables. |
|
template<typename Iter0 , typename K1 = element-type(Iter0), is-iterable(Iter0) > | |
auto | addVariables (Iter0 const &iterable1) -> xpress::VariableBuilder::VariableMapBuilder< K1 > |
Create an 1-dimensional map of variables. |
|
template<typename Iter0 , typename Iter1 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), is-iterable(Iter0) , is-iterable(Iter1) > | |
auto | addVariables (Iter0 const &iterable1, Iter1 const &iterable2) -> xpress::VariableBuilder::VariableMap2Builder< K1, K2 > |
Create an 2-dimensional map of variables. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) > | |
auto | addVariables (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3) -> xpress::VariableBuilder::VariableMap3Builder< K1, K2, K3 > |
Create an 3-dimensional map of variables. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename Iter3 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), typename K4 = element-type(Iter3), is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) , is-iterable(Iter3) > | |
auto | addVariables (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3, Iter3 const &iterable4) -> xpress::VariableBuilder::VariableMap4Builder< K1, K2, K3, K4 > |
Create an 4-dimensional map of variables. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename Iter3 , typename Iter4 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), typename K4 = element-type(Iter3), typename K5 = element-type(Iter4), is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) , is-iterable(Iter3) , is-iterable(Iter4) > | |
auto | addVariables (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3, Iter3 const &iterable4, Iter4 const &iterable5) -> xpress::VariableBuilder::VariableMap5Builder< K1, K2, K3, K4, K5 > |
Create an 5-dimensional map of variables. |
|
auto | bndSA (int len, xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< double > const &lblower, xpress::SizedArray< double > const &lbupper, xpress::SizedArray< double > const &ublower, xpress::SizedArray< double > const &ubupper) -> void |
Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds. |
|
void | bndSA (int ncols, Array< int const > const &colind, Array< double > const &lblower, Array< double > const &lbupper, Array< double > const &ublower, Array< double > const &ubupper) |
Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds. |
|
auto | bndSA (xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< double > const &lblower, xpress::SizedArray< double > const &lbupper, xpress::SizedArray< double > const &ublower, xpress::SizedArray< double > const &ubupper) -> void |
Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds. |
|
auto | chgBounds (int j, double lb, double ub) -> void |
Change bounds of a single column. |
|
void | chgBounds (int nbounds, Array< int const > const &colind, Array< char const > const &bndtype, Array< double const > const &bndval) |
Used to change the bounds on columns in the matrix. |
|
auto | chgBounds (xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< char const > const &bndType, xpress::SizedArray< double const > const &bndValue) -> void |
Change bounds for multiple variables. |
|
auto | chgCoef (Inequality row, Variable variable, double coefficient) -> xpress::objects::XpressProblem & |
Changes the coefficient for variable in row in the linear matrix. |
|
void | chgCoef (int row, int col, double coef) |
Used to change a single coefficient in the matrix. |
|
auto | chgCoefs (xpress::SizedArray< Inequality const > const &row, xpress::SizedArray< Variable const > const &variable, xpress::SizedArray< double const > const &coefficient) -> xpress::objects::XpressProblem & |
Change coefficients in the linear matrix. |
|
void | chgColType (int ncols, Array< int const > const &colind, Array< char const > const &coltype) |
Used to change the type of a specified set of columns in the matrix. |
|
auto | chgColType (xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< ColumnType const > const &colType) -> void |
Change types for multiple variables. |
|
void | chgObj (int ncols, Array< int const > const &colind, Array< double const > const &objcoef) |
Used to change the objective function coefficients. |
|
auto | chgObj (Variable variable, double coefficient) -> xpress::objects::XpressProblem & |
Change objective function coefficient. |
|
auto | chgObj (xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< double const > const &coefficients) -> xpress::objects::XpressProblem & |
Change objective function coefficients. |
|
void | chgObjN (int objidx, int ncols, Array< int const > const &colind, Array< double const > const &objcoef) |
Modifies one or more coefficients of an objective function in a multi-objective problem. |
|
auto | chgObjN (int objidx, Variable variable, double coefficient) -> xpress::objects::XpressProblem & |
Change an objective function coefficient for a multi-objective problem. |
|
auto | chgObjN (int objidx, xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< double const > const &coefficients) -> xpress::objects::XpressProblem & |
Change objective function coefficients for a multi-objective problem. |
|
void | chgRhs (int nrows, Array< int const > const &rowind, Array< double const > const &rhs) |
Used to change right—hand side values of the problem. |
|
auto | chgRhs (xpress::SizedArray< Inequality const > const &rows, xpress::SizedArray< double const > const &newRHS) -> void |
Change right-hand side for multiple rows. |
|
void | chgRhsRange (int nrows, Array< int const > const &rowind, Array< double const > const &rng) |
Used to change the range for a row of the problem matrix. |
|
auto | chgRhsRange (xpress::SizedArray< Inequality const > const &rows, xpress::SizedArray< double const > const &newRange) -> void |
Change right-hand side ranges for multiple rows. |
|
void | chgRowType (int nrows, Array< int const > const &rowind, Array< char const > const &rowtype) |
Used to change the type of a row in the matrix. |
|
auto | chgRowType (xpress::SizedArray< Inequality const > const &rows, xpress::SizedArray< RowType const > const &rowType) -> void |
Change types for multiple rows. |
|
auto | createBranchObject () -> xpress::objects::XpressProblem::BranchObject * |
Create a branch object. |
|
virtual auto | delCols (int ncols, xpress::Array< int const > const &colind) -> void override |
Delete columns from this problem. |
|
virtual auto | delGenCons (int nconstraints, xpress::Array< int const > const &conind) -> void override |
Delete constraints from this problem. |
|
auto | delGeneralConstraints (xpress::SizedArray< GeneralConstraint const > const &constraints) -> void |
Delete general constraints from this problem. |
|
auto | delIndicator (Inequality row) -> void |
Delete a single indicator constraint. |
|
auto | delInequalities (xpress::SizedArray< Inequality const > const &rows) -> void |
Delete inequality constraints from this problem. |
|
virtual auto | delPwlCons (int npwls, xpress::Array< int const > const &pwlind) -> void override |
Delete piecewise linear constraints from this problem. |
|
auto | delPwlConstraints (xpress::SizedArray< PWL const > const &pwls) -> void |
Delete PWL constraints from this problem. |
|
virtual auto | delRows (int nrows, xpress::Array< int const > const &rowind) -> void override |
Delete rows from this problem. |
|
virtual auto | delSets (int nsets, xpress::Array< int const > const &sosind) -> void override |
Delete sets from this problem. |
|
auto | delSOS (SOS sos) -> void |
Delete a single SOS from the problem. |
|
auto | delSOS (xpress::SizedArray< SOS const > const &soss) -> void |
Delete special ordered set constraints. |
|
auto | delVariables (xpress::SizedArray< Variable const > const &vars) -> void |
Delete variables from this problem. |
|
auto | generalConstraintForIndex (int index) const -> xpress::objects::GeneralConstraint |
Map a general constraint index to a GeneralConstraint object. |
|
auto | generalConstraintForIndices (int first, int last) const -> std::vector< xpress::objects::GeneralConstraint > |
Map a range of general constraint indices to GeneralConstraint objects. |
|
auto | getCallbackDual (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackDual (Inequality r) -> double |
Get the dual associated with the current callback for a single row. |
|
auto | getCallbackDual (int index) const -> double |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackDuals () const -> std::vector< double > |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackDuals (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackDuals (bool *p_available, Array< double > const &duals, int first, int last) const |
Returns the dual values. |
|
auto | getCallbackDuals (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackDuals (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
template<typename Strm0 , is-stream(Strm0) > | |
auto | getCallbackDuals (Strm0 const &rows) -> std::vector< double > |
Get the duals associated with the current callback for a collection of rows. |
|
auto | getCallbackRedCost (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackRedCost (int index) const -> double |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackRedCost (Variable v) -> double |
Get the reduced cost associated with the current callbackfor a single variable. |
|
auto | getCallbackRedCosts () const -> std::vector< double > |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackRedCosts (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackRedCosts (bool *p_available, Array< double > const &djs, int first, int last) const |
Returns the reduced costs. |
|
auto | getCallbackRedCosts (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackRedCosts (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
template<typename Strm0 , is-stream(Strm0) > | |
auto | getCallbackRedCosts (Strm0 const &vars) -> std::vector< double > |
Get the reduced costs associated with the current callback for a collection of variables. |
|
auto | getCallbackSlack (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackSlack (Inequality r) -> double |
Get the slack associated with the current callback for a single row. |
|
auto | getCallbackSlack (int index) const -> double |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackSlacks () const -> std::vector< double > |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackSlacks (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackSlacks (bool *p_available, Array< double > const &slacks, int first, int last) const |
Returns the slack values. |
|
auto | getCallbackSlacks (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackSlacks (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
template<typename Strm0 , is-stream(Strm0) > | |
auto | getCallbackSlacks (Strm0 const &rows) -> std::vector< double > |
Get the slacks associated with the current callback for a collection of rows. |
|
auto | getCallbackSolution () const -> std::vector< double > |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackSolution (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackSolution (bool *p_available, Array< double > const &x, int first, int last) const |
Returns the primal values. |
|
auto | getCallbackSolution (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackSolution (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackSolution (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackSolution (int index) const -> double |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
template<typename Strm0 , is-stream(Strm0) > | |
auto | getCallbackSolution (Strm0 const &vars) -> std::vector< double > |
Get the solution associated with the current callback for a collection of variables. |
|
auto | getCallbackSolution (Variable v) -> double |
Get the solution associated with the current callback for a single variable. |
|
auto | getCoef (Inequality row, Variable variable) -> double |
Query a single coefficient from the linear matrix. |
|
auto | getCoef (int row, int col) -> double |
Returns a single coefficient in the constraint matrix. |
|
auto | getDual (Inequality r) -> double |
Get the dual for a single row. |
|
auto | getDual (int *status, int index) const -> double |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getDual (int index) const -> double |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getDuals () const -> std::vector< double > |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getDuals (int *status) const -> std::vector< double > |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getDuals (int *status, Array< double > const &duals, int first, int last) const |
Returns the dual values. |
|
auto | getDuals (int *status, int first, int last) const -> std::vector< double > |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getDuals (int first, int last) const -> std::vector< double > |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that allocates the output array. |
|
template<typename Strm0 , is-stream(Strm0) > | |
auto | getDuals (Strm0 const &rows) -> std::vector< double > |
Get the duals for a collection of rows. |
|
auto | getGeneralConstraints () -> std::vector< xpress::objects::GeneralConstraint > |
Get all the general constraints currently defined in this problem. |
|
auto | getIIS (int iis) -> xpress::objects::IIS |
Get the specified IIS. |
|
auto | getIndicator (Inequality row) -> std::optional< xpress::objects::IndicatorObjects > |
Get indicator information for a single row. |
|
auto | getInequalities () -> std::vector< xpress::objects::Inequality > |
Get all the inequalities currently defined in this problem. |
|
auto | getLhsExpression (int row) -> xpress::objects::Expression |
Get the left-hand side of a row as an expression. |
|
auto | getObj (int first, int last) -> std::vector< double > |
Returns the objective function coefficients for the columns in a given range. |
|
auto | getObj (Variable variable) -> double |
Query an objective function coefficient. |
|
auto | getObjN (int objidx, int first, int last) -> std::vector< double > |
For a given objective function, returns the objective coefficients for the columns in a given range. |
|
auto | getObjN (int objidx, Variable variable) -> double |
Query an objective function coefficient. |
|
auto | getPWLs () -> std::vector< xpress::objects::PWL > |
Get all piecewise linear constraints currently defined in this problem. |
|
auto | getRedCost (int *status, int index) const -> double |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getRedCost (int index) const -> double |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getRedCost (Variable v) -> double |
Get the reduced cost for a single variable. |
|
auto | getRedCosts () const -> std::vector< double > |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getRedCosts (int *status) const -> std::vector< double > |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getRedCosts (int *status, Array< double > const &djs, int first, int last) const |
Returns the reduced costs. |
|
auto | getRedCosts (int *status, int first, int last) const -> std::vector< double > |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getRedCosts (int first, int last) const -> std::vector< double > |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that allocates the output array. |
|
template<typename Strm0 , is-stream(Strm0) > | |
auto | getRedCosts (Strm0 const &vars) -> std::vector< double > |
Get the reduced costs for a collection of variables. |
|
auto | getSlack (Inequality r) -> double |
Get the current slack for a single row. |
|
auto | getSlack (int *status, int index) const -> double |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getSlack (int index) const -> double |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getSlacks () const -> std::vector< double > |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getSlacks (int *status) const -> std::vector< double > |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getSlacks (int *status, Array< double > const &slacks, int first, int last) const |
Returns the slack values. |
|
auto | getSlacks (int *status, int first, int last) const -> std::vector< double > |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getSlacks (int first, int last) const -> std::vector< double > |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that allocates the output array. |
|
template<typename Strm0 , is-stream(Strm0) > | |
auto | getSlacks (Strm0 const &rows) -> std::vector< double > |
Get the current slacks for a collection of rows. |
|
auto | getSolution () const -> std::vector< double > |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getSolution (int *status) const -> std::vector< double > |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getSolution (int *status, Array< double > const &x, int first, int last) const |
Returns the incumbent solution during or after optimization with XPRSoptimize , XPRSmipoptimize , XPRSlpoptimize or XPRSnlpoptimize . |
|
auto | getSolution (int *status, int first, int last) const -> std::vector< double > |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getSolution (int *status, int index) const -> double |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getSolution (int first, int last) const -> std::vector< double > |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getSolution (int index) const -> double |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that queries only a single value. |
|
template<typename Strm0 , is-stream(Strm0) > | |
auto | getSolution (Strm0 const &vars) -> std::vector< double > |
Get the current solution for a collection of variables. |
|
auto | getSolution (Variable v) -> double |
Get the current solution for a single variable. |
|
auto | getSOSs () -> std::vector< xpress::objects::SOS > |
Get all the special ordered set constraints currently defined in this problem. |
|
auto | getVariables () -> std::vector< xpress::objects::Variable > |
Get all the variables currently defined in this problem. |
|
auto | inequalitiesForIndices (int first, int last) const -> std::vector< xpress::objects::Inequality > |
Map a range of inequality indices to inequality objects. |
|
auto | inequalityForIndex (int index) const -> xpress::objects::Inequality |
Map an inequality index to an inequality object. |
|
auto | isOriginal () -> bool |
Check whether this model instance is in the original state. |
|
void | loadDelayedRows (int nrows, Array< int const > const &rowind) |
Specifies that a set of rows in the matrix will be treated as delayed rows during a tree search. |
|
auto | loadDelayedRows (xpress::SizedArray< Inequality const > const &rows) -> void |
Marks a set of rows as delayed rows. |
|
void | loadModelCuts (int nrows, Array< int const > const &rowind) |
Specifies that a set of rows in the matrix will be treated as model cuts. |
|
auto | loadModelCuts (xpress::SizedArray< Inequality const > const &rows) -> void |
Marks a set of rows as model cuts. |
|
void | nlpSetInitVal (int nvars, Array< int const > const &colind, Array< double const > const &initial) |
Set the initial value of a variable. |
|
auto | nlpSetInitVal (std::unordered_map< Variable, double > values) -> void |
Set initial values of variables for a non-linear solve. |
|
auto | nlpSetInitVal (xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< double const > const &values) -> void |
Set initial values of variables for a non-linear solve. |
|
auto | objSA (int len, xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< double > const &lower, xpress::SizedArray< double > const &upper) -> void |
Returns upper and lower sensitivity ranges for specified objective function coefficients. |
|
void | objSA (int ncols, Array< int const > const &colind, Array< double > const &lower, Array< double > const &upper) |
Returns upper and lower sensitivity ranges for specified objective function coefficients. |
|
auto | objSA (xpress::SizedArray< Variable const > const &variables, xpress::SizedArray< double > const &lower, xpress::SizedArray< double > const &upper) -> void |
Returns upper and lower sensitivity ranges for specified objective function coefficients. |
|
auto | pwlForIndex (int index) const -> xpress::objects::PWL |
Map a PWL index to a PWL object. |
|
auto | pwlsForIndices (int first, int last) const -> std::vector< xpress::objects::PWL > |
Map a range of PWL indices to PWL objects. |
|
auto | repairWeightedInfeas (Array< double const > const &lepref, Array< double const > const &gepref, Array< double const > const &lbpref, Array< double const > const &ubpref, char phase2, double delta, std::optional< std::string > const &flags) -> int |
By relaxing a set of selected constraints and bounds of an infeasible problem, it attempts to identify a 'solution' that violates the selected set of constraints and bounds minimally, while satisfying all other constraints and bounds. |
|
template<typename IMap , typename VMap > | |
auto | repairWeightedInfeas (VMap const &lepref, VMap const &gepref, IMap const &lbpref, IMap const &ubpref, char phase2, double delta, std::optional< std::string > flags) -> int |
Repair infeasibilities using weights. |
|
auto | rhsSA (int len, xpress::SizedArray< Inequality const > const &rows, xpress::SizedArray< double > const &lower, xpress::SizedArray< double > const &upper) -> void |
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients. |
|
void | rhsSA (int nrows, Array< int const > const &rowind, Array< double > const &lower, Array< double > const &upper) |
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients. |
|
auto | rhsSA (xpress::SizedArray< Inequality const > const &rows, xpress::SizedArray< double > const &lower, xpress::SizedArray< double > const &upper) -> void |
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients. |
|
auto | setIndicator (Variable indicatorVariable, bool indicatorValue, Inequality row) -> void |
Add an indicator constraint to this model. |
|
template<typename I , is-integral(I) , typename Func0 , typename Func1 , typename Func2 , is-invocable(Func0, Variable, int) , is-invocable(Func1, bool, int) , is-invocable(Func2, Inequality, int) > | |
auto | setIndicators (I count, Func0 indicatorVariable, Func1 indicatorValue, Func2 row) -> void |
Add indicator constraints to this model. |
|
void | setIndicators (int nrows, Array< int const > const &rowind, Array< int const > const &colind, Array< int const > const &complement) |
Specifies that a set of rows in the matrix will be treated as indicator constraints during a tree search. |
|
template<typename Strm0 , typename T = element-type(Strm0), typename Func0 , typename Func1 , typename Func2 , is-stream(Strm0) , is-invocable(Func0, Variable, T) , is-invocable(Func1, bool, T) , is-invocable(Func2, Inequality, T) > | |
auto | setIndicators (Strm0 const &data, Func0 indicatorVariable, Func1 indicatorValue, Func2 row) -> void |
Add indicator constraints to this model. |
|
auto | setIndicators (xpress::SizedArray< Variable const > const &indicatorVariable, std::vector< bool > const &indicatorValue, xpress::SizedArray< Inequality const > const &row) -> void |
Add indicator constraints to this model. |
|
auto | setObjective (int idx, xpress::objects::Expression obj, int priority, double weight, double abstol, double reltol) -> void |
Set an objective function and its controls. |
|
auto | setObjective (xpress::objects::Expression obj) -> void |
Set the objective function to a expression. |
|
auto | setObjective (xpress::objects::Expression obj, xpress::ObjSense sense) -> void |
Set the objective function to a expression. |
|
void | slpSetDetRow (int nvars, Array< int const > const &colind, Array< int const > const &rowind) |
Set the determining row of a variable. |
|
auto | slpSetDetRow (Variable v, Inequality i) -> void |
Set the determining row of a variable. |
|
auto | sosForIndex (int index) const -> xpress::objects::SOS |
Map an SOS index to an SOS object. |
|
auto | sosForIndices (int first, int last) const -> std::vector< xpress::objects::SOS > |
Map a range of SOS indices to SOS objects. |
|
auto | variableForIndex (int index) const -> xpress::objects::Variable |
Map a variable index to a variable object. |
|
auto | variablesForIndices (int first, int last) const -> std::vector< xpress::objects::Variable > |
Map a range of variable indices to variable objects. |
|
Public Member Functions inherited from xpress::XPRSProblem | |
XPRSProblem (bool) | |
Create a new instance without allocating a license. |
|
XPRSProblem (char const *name=nullptr, char const *licpath=nullptr) | |
Create a new instance with name and allocating a license. |
|
~XPRSProblem () noexcept | |
auto | addAfterObjectiveCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add an afterobjective callback. |
|
auto | addBarIterationCallback (std::function< void(XPRSProblem &, int *)> callback, int prio=0) -> CallbackHandle |
Add a bariteration callback. |
|
auto | addBarlogCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a barlog callback. |
|
auto | addBeforeObjectiveCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a beforeobjective callback. |
|
auto | addBeforeSolveCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a beforesolve callback. |
|
auto | addChangeBranchObjectCallback (std::function< void(XPRSProblem &, BranchObject *, BranchObject **)> callback, int prio=0) -> CallbackHandle |
Add a changebranchobject callback. |
|
auto | addCheckTimeCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a checktime callback. |
|
void | addCols (int ncols, int ncoefs, Array< double const > const &objcoef, Array< int const > const &start, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub) |
Adds columns to the optimizer matrix. |
|
void | addCols (int ncols, XPRSint64 ncoefs, Array< double const > const &objcoef, Array< XPRSint64 const > const &start, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub) |
Adds columns to the optimizer matrix. |
|
auto | addColumn (double lb, double ub, ColumnType type, std::optional< std::string > name) -> int |
Add a single column to this problem. |
|
template<typename C , is-integral(C) > | |
auto | addColumns (C dim) -> VariableBuilder::ColumnArrayBuilder< C > |
Create an 1-dimensional array of columns. |
|
template<typename C1 , typename C2 , is-integral(C1) , is-integral(C2) > | |
auto | addColumns (C1 dim1, C2 dim2) -> VariableBuilder::ColumnArray2Builder< C1, C2 > |
Create an 2-dimensional array of columns. |
|
template<typename C1 , typename C2 , typename C3 , is-integral(C1) , is-integral(C2) , is-integral(C3) > | |
auto | addColumns (C1 dim1, C2 dim2, C3 dim3) -> VariableBuilder::ColumnArray3Builder< C1, C2, C3 > |
Create an 3-dimensional array of columns. |
|
template<typename C1 , typename C2 , typename C3 , typename C4 , is-integral(C1) , is-integral(C2) , is-integral(C3) , is-integral(C4) > | |
auto | addColumns (C1 dim1, C2 dim2, C3 dim3, C4 dim4) -> VariableBuilder::ColumnArray4Builder< C1, C2, C3, C4 > |
Create an 4-dimensional array of columns. |
|
template<typename C1 , typename C2 , typename C3 , typename C4 , typename C5 , is-integral(C1) , is-integral(C2) , is-integral(C3) , is-integral(C4) , is-integral(C5) > | |
auto | addColumns (C1 dim1, C2 dim2, C3 dim3, C4 dim4, C5 dim5) -> VariableBuilder::ColumnArray5Builder< C1, C2, C3, C4, C5 > |
Create an 5-dimensional array of columns. |
|
template<typename Iter0 , typename K1 = element-type(Iter0), is-iterable(Iter0) > | |
auto | addColumns (Iter0 const &iterable1) -> VariableBuilder::ColumnMapBuilder< K1 > |
Create an 1-dimensional map of columns. |
|
template<typename Iter0 , typename Iter1 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), is-iterable(Iter0) , is-iterable(Iter1) > | |
auto | addColumns (Iter0 const &iterable1, Iter1 const &iterable2) -> VariableBuilder::ColumnMap2Builder< K1, K2 > |
Create an 2-dimensional map of columns. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) > | |
auto | addColumns (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3) -> VariableBuilder::ColumnMap3Builder< K1, K2, K3 > |
Create an 3-dimensional map of columns. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename Iter3 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), typename K4 = element-type(Iter3), is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) , is-iterable(Iter3) > | |
auto | addColumns (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3, Iter3 const &iterable4) -> VariableBuilder::ColumnMap4Builder< K1, K2, K3, K4 > |
Create an 4-dimensional map of columns. |
|
template<typename Iter0 , typename Iter1 , typename Iter2 , typename Iter3 , typename Iter4 , typename K1 = element-type(Iter0), typename K2 = element-type(Iter1), typename K3 = element-type(Iter2), typename K4 = element-type(Iter3), typename K5 = element-type(Iter4), is-iterable(Iter0) , is-iterable(Iter1) , is-iterable(Iter2) , is-iterable(Iter3) , is-iterable(Iter4) > | |
auto | addColumns (Iter0 const &iterable1, Iter1 const &iterable2, Iter2 const &iterable3, Iter3 const &iterable4, Iter4 const &iterable5) -> VariableBuilder::ColumnMap5Builder< K1, K2, K3, K4, K5 > |
Create an 5-dimensional map of columns. |
|
template<typename K1 > | |
auto | addColumns (xpress::SizedArray< K1 const > const &arr1) -> VariableBuilder::ColumnMapBuilder< K1 > |
Create an 1-dimensional map of columns. |
|
template<typename K1 , typename K2 > | |
auto | addColumns (xpress::SizedArray< K1 const > const &arr1, xpress::SizedArray< K2 const > const &arr2) -> VariableBuilder::ColumnMap2Builder< K1, K2 > |
Create an 2-dimensional map of columns. |
|
template<typename K1 , typename K2 , typename K3 > | |
auto | addColumns (xpress::SizedArray< K1 const > const &arr1, xpress::SizedArray< K2 const > const &arr2, xpress::SizedArray< K3 const > const &arr3) -> VariableBuilder::ColumnMap3Builder< K1, K2, K3 > |
Create an 3-dimensional map of columns. |
|
template<typename K1 , typename K2 , typename K3 , typename K4 > | |
auto | addColumns (xpress::SizedArray< K1 const > const &arr1, xpress::SizedArray< K2 const > const &arr2, xpress::SizedArray< K3 const > const &arr3, xpress::SizedArray< K4 const > const &arr4) -> VariableBuilder::ColumnMap4Builder< K1, K2, K3, K4 > |
Create an 4-dimensional map of columns. |
|
template<typename K1 , typename K2 , typename K3 , typename K4 , typename K5 > | |
auto | addColumns (xpress::SizedArray< K1 const > const &arr1, xpress::SizedArray< K2 const > const &arr2, xpress::SizedArray< K3 const > const &arr3, xpress::SizedArray< K4 const > const &arr4, xpress::SizedArray< K5 const > const &arr5) -> VariableBuilder::ColumnMap5Builder< K1, K2, K3, K4, K5 > |
Create an 5-dimensional map of columns. |
|
auto | addComputeRestartCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a computerestart callback. |
|
auto | addCut (int cuttype, RowInfo cut) -> void |
Add a single cut to the problem. |
|
auto | addCut (int cuttype, xpress::SizedArray< int const > const &colind, xpress::SizedArray< double const > const &colval, char rowtype, double rhs) -> void |
Add a single cut to the problem. |
|
auto | addCutlogCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a cutlog callback. |
|
auto | addCutRoundCallback (std::function< void(XPRSProblem &, int, int *)> callback, int prio=0) -> CallbackHandle |
Add a cutround callback. |
|
void | addCuts (int ncuts, Array< int const > const &cuttype, Array< char const > const &rowtype, Array< double const > const &rhs, Array< int const > const &start, Array< int const > const &colind, Array< double const > const &cutcoef) |
Adds cuts directly to the matrix at the current node. |
|
void | addCuts (int ncuts, Array< int const > const &cuttype, Array< char const > const &rowtype, Array< double const > const &rhs, Array< XPRSint64 const > const &start, Array< int const > const &colind, Array< double const > const &cutcoef) |
Adds cuts directly to the matrix at the current node. |
|
auto | addGapNotifyCallback (std::function< void(XPRSProblem &, double *, double *, double *, double *)> callback, int prio=0) -> CallbackHandle |
Add a gapnotify callback. |
|
void | addGenCons (int ncons, int ncols, int nvals, Array< GenConsType const > const &contype, Array< int const > const &resultant, Array< int const > const &colstart, Array< int const > const &colind, Array< int const > const &valstart, Array< double const > const &val) |
Adds one or more general constraints to the problem. |
|
void | addGenCons (int ncons, XPRSint64 ncols, XPRSint64 nvals, Array< GenConsType const > const &contype, Array< int const > const &resultant, Array< XPRSint64 const > const &colstart, Array< int const > const &colind, Array< XPRSint64 const > const &valstart, Array< double const > const &val) |
Adds one or more general constraints to the problem. |
|
auto | addInfnodeCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add an infnode callback. |
|
auto | addIntsolCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add an intsol callback. |
|
auto | addLplogCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a lplog callback. |
|
void | addManagedCuts (int globalvalid, int ncuts, Array< char const > const &rowtype, Array< double const > const &rhs, Array< int const > const &start, Array< int const > const &colind, Array< double const > const &cutcoef) |
Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by XPRSaddcbcutround . |
|
void | addManagedCuts (int globalvalid, int ncuts, Array< char const > const &rowtype, Array< double const > const &rhs, Array< XPRSint64 const > const &start, Array< int const > const &colind, Array< double const > const &cutcoef) |
Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by XPRSaddcbcutround . |
|
auto | addMessageCallback (std::function< void(XPRSProblem &, char const *, int, int)> callback, int prio=0) -> CallbackHandle |
Add a message callback. |
|
auto | addMiplogCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a miplog callback. |
|
void | addMipSol (int length, Array< double const > const &solval, Array< int const > const &colind, std::optional< std::string > const &name) |
Adds a new feasible, infeasible or partial MIP solution for the problem to the Optimizer. |
|
auto | addMipSol (xpress::SizedArray< double const > const &val, xpress::SizedArray< int const > const &ind) -> void |
Add a MIP solution. |
|
auto | addMipSol (xpress::SizedArray< double const > const &val, xpress::SizedArray< int const > const &ind, std::optional< std::string > name) -> void |
Add a MIP solution. |
|
auto | addMipThreadCallback (std::function< void(XPRSProblem &, XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a mipthread callback. |
|
auto | addMipThreadDestroyCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a mipthreaddestroy callback. |
|
auto | addMsJobEndCallback (std::function< int(XPRSProblem &, void *, char const *, int *)> callback, int prio=0) -> CallbackHandle |
Add a msjobend callback. |
|
auto | addMsJobStartCallback (std::function< int(XPRSProblem &, void *, char const *, int *)> callback, int prio=0) -> CallbackHandle |
Add a msjobstart callback. |
|
auto | addMsWinnerCallback (std::function< int(XPRSProblem &, void *, char const *)> callback, int prio=0) -> CallbackHandle |
Add a mswinner callback. |
|
void | addNames (int type, Array< std::string const > const &names, int first, int last) |
When a model is loaded, the rows, columns, sets, piecewise linear and general constraints of the model may not have names associated with them. |
|
auto | addNames (xpress::Namespaces type, xpress::SizedArray< std::optional< std::string > const > const &names, int first, int last) -> void |
Add names to model. |
|
auto | addNewnodeCallback (std::function< void(XPRSProblem &, int, int, int)> callback, int prio=0) -> CallbackHandle |
Add a newnode callback. |
|
auto | addNlpCoefEvalErrorCallback (std::function< int(XPRSProblem &, int, int)> callback, int prio=0) -> CallbackHandle |
Add a nlpcoefevalerror callback. |
|
auto | addNodecutoffCallback (std::function< void(XPRSProblem &, int)> callback, int prio=0) -> CallbackHandle |
Add a nodecutoff callback. |
|
auto | addNodeLPSolvedCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a nodelpsolved callback. |
|
void | addObj (int ncols, Array< int const > const &colind, Array< double const > const &objcoef, int priority, double weight) |
Appends an objective function with the given coefficients to a multi-objective problem. |
|
auto | addOptnodeCallback (std::function< void(XPRSProblem &, int *)> callback, int prio=0) -> CallbackHandle |
Add an optnode callback. |
|
auto | addPreIntsolCallback (std::function< void(XPRSProblem &, int, int *, double *)> callback, int prio=0) -> CallbackHandle |
Add a preintsol callback. |
|
auto | addPrenodeCallback (std::function< void(XPRSProblem &, int *)> callback, int prio=0) -> CallbackHandle |
Add a prenode callback. |
|
auto | addPresolveCallback (std::function< void(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a presolve callback. |
|
void | addPwlCons (int npwls, int npoints, Array< int const > const &colind, Array< int const > const &resultant, Array< int const > const &start, Array< double const > const &xval, Array< double const > const &yval) |
Adds one or more piecewise linear constraints to the problem. |
|
void | addPwlCons (int npwls, XPRSint64 npoints, Array< int const > const &colind, Array< int const > const &resultant, Array< XPRSint64 const > const &start, Array< double const > const &xval, Array< double const > const &yval) |
Adds one or more piecewise linear constraints to the problem. |
|
void | addQMatrix (int row, int ncoefs, Array< int const > const &rowqcol1, Array< int const > const &rowqcol2, Array< double const > const &rowqcoef) |
Adds a new quadratic matrix into a row defined by triplets. |
|
void | addQMatrix (int row, XPRSint64 ncoefs, Array< int const > const &rowqcol1, Array< int const > const &rowqcol2, Array< double const > const &rowqcoef) |
Adds a new quadratic matrix into a row defined by triplets. |
|
auto | addRow (RowInfo row) -> int |
Add a single row to the problem. |
|
auto | addRow (RowInfo row, std::optional< std::string > name) -> int |
Add a single row to the problem. |
|
auto | addRow (xpress::SizedArray< int const > const &colind, xpress::SizedArray< double const > const &colval, char rowtype, double rhs) -> int |
Add a single row to the problem. |
|
auto | addRow (xpress::SizedArray< int const > const &colind, xpress::SizedArray< double const > const &colval, char rowtype, double rhs, double rng, std::optional< std::string > name) -> int |
Add a single row to the problem. |
|
auto | addRow (xpress::SizedArray< int const > const &colind, xpress::SizedArray< double const > const &colval, char rowtype, double rhs, std::optional< std::string > name) -> int |
Add a single row to the problem. |
|
void | addRows (int nrows, int ncoefs, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< int const > const &start, Array< int const > const &colind, Array< double const > const &rowcoef) |
Adds rows to the optimizer matrix. |
|
void | addRows (int nrows, int ncoefs, Array< char const > const &rowtype, Array< double const > const &rhs, Array< int const > const &start, Array< int const > const &colind, Array< double const > const &rowcoef) |
Adds rows to the optimizer matrix. |
|
void | addRows (int nrows, XPRSint64 ncoefs, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< XPRSint64 const > const &start, Array< int const > const &colind, Array< double const > const &rowcoef) |
Adds rows to the optimizer matrix. |
|
void | addRows (int nrows, XPRSint64 ncoefs, Array< char const > const &rowtype, Array< double const > const &rhs, Array< XPRSint64 const > const &start, Array< int const > const &colind, Array< double const > const &rowcoef) |
Adds rows to the optimizer matrix. |
|
auto | addSet (xpress::SetType type, xpress::SizedArray< int const > const &elements, xpress::SizedArray< double const > const &weights, std::optional< std::string > name) -> int |
Add a single set constraint to this problem. |
|
void | addSetNames (Array< std::string const > const &names, int first, int last) |
When a model with MIP entities is loaded, any special ordered sets may not have names associated with them. |
|
auto | addSets (int count, xpress::SizedArray< int const > const &start, xpress::SizedArray< SetType const > const &type, xpress::SizedArray< int const > const &setind, xpress::SizedArray< double const > const &setref, xpress::SizedArray< std::optional< std::string > const > const &names) -> std::vector< int > |
Create multiple set constraints. |
|
void | addSets (int nsets, int nelems, Array< char const > const &settype, Array< int const > const &start, Array< int const > const &colind, Array< double const > const &refval) |
Allows sets to be added to the problem after passing it to the Optimizer using the input routines. |
|
void | addSets (int nsets, XPRSint64 nelems, Array< char const > const &settype, Array< XPRSint64 const > const &start, Array< int const > const &colind, Array< double const > const &refval) |
Allows sets to be added to the problem after passing it to the Optimizer using the input routines. |
|
auto | addSets (std::vector< xpress::SetType > type, xpress::SizedArray< std::vector< int > > const &elements, xpress::SizedArray< std::vector< double > > const &weights, xpress::SizedArray< std::optional< std::string > const > const &name) -> std::vector< int > |
Add multiple set constraints to the problem. |
|
auto | addSlpCascadeEndCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a slpcascadeend callback. |
|
auto | addSlpCascadeStartCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a slpcascadestart callback. |
|
auto | addSlpCascadeVarCallback (std::function< int(XPRSProblem &, int)> callback, int prio=0) -> CallbackHandle |
Add a slpcascadevar callback. |
|
auto | addSlpCascadeVarFailCallback (std::function< int(XPRSProblem &, int)> callback, int prio=0) -> CallbackHandle |
Add a slpcascadevarfail callback. |
|
auto | addSlpConstructCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a slpconstruct callback. |
|
auto | addSlpDrColCallback (std::function< int(XPRSProblem &, int, int, double, double *, double, double)> callback, int prio=0) -> CallbackHandle |
Add a slpdrcol callback. |
|
auto | addSlpIntSolCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a slpintsol callback. |
|
auto | addSlpIterEndCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a slpiterend callback. |
|
auto | addSlpIterStartCallback (std::function< int(XPRSProblem &)> callback, int prio=0) -> CallbackHandle |
Add a slpiterstart callback. |
|
auto | addSlpIterVarCallback (std::function< int(XPRSProblem &, int)> callback, int prio=0) -> CallbackHandle |
Add a slpitervar callback. |
|
auto | addSlpPreUpdateLinearizationCallback (std::function< int(XPRSProblem &, int *)> callback, int prio=0) -> CallbackHandle |
Add a slppreupdatelinearization callback. |
|
auto | addUserSolNotifyCallback (std::function< void(XPRSProblem &, char const *, int)> callback, int prio=0) -> CallbackHandle |
Add an usersolnotify callback. |
|
void | alter (std::optional< std::string > const &filename) |
Alters or changes matrix elements, right hand sides and constraint senses in the current problem. |
|
auto | basisStability (int type, int norm, int scaled) -> double |
Calculates various measures for the stability of the current basis, including the basis condition number. |
|
void | bndSA (int ncols, Array< int const > const &colind, Array< double > const &lblower, Array< double > const &lbupper, Array< double > const &ublower, Array< double > const &ubupper) |
Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds. |
|
void | bTran (Array< double > const &vec) |
Post-multiplies a (row) vector provided by the user by the inverse of the current basis. |
|
auto | calcObjective (Array< double const > const &solution) -> double |
Calculates the objective value of a given solution. |
|
auto | calcObjN (int objidx, Array< double const > const &solution) -> double |
Calculates the objective value of the given objective function in a multi-objective problem. |
|
auto | calcReducedCosts (Array< double const > const &duals, Array< double const > const &solution) -> std::vector< double > |
Calculates the reduced cost values for a given (row) dual solution. |
|
auto | calcSlacks (Array< double const > const &solution) -> std::vector< double > |
Calculates the row slack values for a given solution. |
|
auto | calcSolInfo (Array< double const > const &solution, Array< double const > const &duals, int property) -> double |
Calculates the required property of a solution, like maximum infeasibility of a given primal and dual solution. |
|
auto | chgBounds (int j, double lb, double ub) -> void |
Change bounds of a single column. |
|
void | chgBounds (int nbounds, Array< int const > const &colind, Array< char const > const &bndtype, Array< double const > const &bndval) |
Used to change the bounds on columns in the matrix. |
|
void | chgCoef (int row, int col, double coef) |
Used to change a single coefficient in the matrix. |
|
void | chgColType (int ncols, Array< int const > const &colind, Array< char const > const &coltype) |
Used to change the type of a specified set of columns in the matrix. |
|
void | chgGlbLimit (int ncols, Array< int const > const &colind, Array< double const > const &limit) |
Used to change semi-continuous or semi-integer lower bounds, or upper limits on partial integers. |
|
auto | chgLB (int j, double lb) -> void |
Change the lower bound of a single column. |
|
void | chgMCoef (int ncoefs, Array< int const > const &rowind, Array< int const > const &colind, Array< double const > const &rowcoef) |
Used to change multiple coefficients in the matrix. |
|
void | chgMCoef (XPRSint64 ncoefs, Array< int const > const &rowind, Array< int const > const &colind, Array< double const > const &rowcoef) |
Used to change multiple coefficients in the matrix. |
|
void | chgMQObj (int ncoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef) |
Used to change multiple quadratic coefficients in the objective function. |
|
void | chgMQObj (XPRSint64 ncoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef) |
Used to change multiple quadratic coefficients in the objective function. |
|
void | chgObj (int ncols, Array< int const > const &colind, Array< double const > const &objcoef) |
Used to change the objective function coefficients. |
|
void | chgObjN (int objidx, int ncols, Array< int const > const &colind, Array< double const > const &objcoef) |
Modifies one or more coefficients of an objective function in a multi-objective problem. |
|
void | chgObjSense (ObjSense objsense) |
Changes the problem's objective function sense to minimize or maximize. |
|
void | chgQObj (int objqcol1, int objqcol2, double objqcoef) |
Used to change a single quadratic coefficient in the objective function corresponding to the variable pair (objqcol1,objqcol2) of the Hessian matrix. |
|
void | chgQRowCoeff (int row, int rowqcol1, int rowqcol2, double rowqcoef) |
Changes a single quadratic coefficient in a row. |
|
void | chgRhs (int nrows, Array< int const > const &rowind, Array< double const > const &rhs) |
Used to change right—hand side values of the problem. |
|
void | chgRhsRange (int nrows, Array< int const > const &rowind, Array< double const > const &rng) |
Used to change the range for a row of the problem matrix. |
|
void | chgRowType (int nrows, Array< int const > const &rowind, Array< char const > const &rowtype) |
Used to change the type of a row in the matrix. |
|
auto | chgUB (int j, double ub) -> void |
Change the upper bound of a single column. |
|
void | clearIIS () |
Resets the search for Irreducible Infeasible Sets (IIS). |
|
auto | clearObjective () -> void |
Clear the objective function. |
|
void | clearRowFlags (Array< int const > const &flags, int first, int last) |
Clears extra information attached to a range of rows. |
|
void | copyControls (XPRSProblem const &src) |
Copies controls defined for one problem to another. |
|
void | copyProb (XPRSProblem const &src, std::optional< std::string > const &name) |
Copies information defined for one problem to another. |
|
auto | crossoverLpSol () -> int |
Provides a basic optimal solution for a given solution of an LP problem. |
|
void | delCPCuts () |
During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. |
|
void | delCPCuts (int cuttype, int interp) |
During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. |
|
void | delCPCuts (int cuttype, int interp, int ncuts, Array< XPRScut const > const &cutind) |
During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. |
|
void | delCPCuts (int ncuts, Array< XPRScut const > const &cutind) |
During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. |
|
void | delCuts (int basis) |
Deletes cuts from the matrix at the current node. |
|
void | delCuts (int basis, int cuttype, int interp) |
Deletes cuts from the matrix at the current node. |
|
void | delCuts (int basis, int cuttype, int interp, double delta) |
Deletes cuts from the matrix at the current node. |
|
void | delCuts (int basis, int cuttype, int interp, double delta, int ncuts, Array< XPRScut const > const &cutind) |
Deletes cuts from the matrix at the current node. |
|
void | delCuts (int basis, int ncuts, Array< XPRScut const > const &cutind) |
Deletes cuts from the matrix at the current node. |
|
auto | delIndicator (int row) -> void |
Delete a single indicator constraint. |
|
void | delIndicators (int first, int last) |
Delete indicator constraints. |
|
void | delObj (int objidx) |
Removes an objective function from a multi-objective problem. |
|
void | delQMatrix (int row) |
Deletes the quadratic part of a row or of the objective function. |
|
void | destroyProb () |
Removes a given problem and frees any memory associated with it following manipulation and optimization. |
|
void | dumpControls () |
Displays the list of controls and their current value for those controls that have been set to a non default value. |
|
void | estimateRowDualRanges (int nrows, Array< int const > const &rowind, int iterlim, Array< double > const &mindual, Array< double > const &maxdual) |
Performs a dual side range sensitivity analysis, i.e. |
|
auto | firstIIS (int mode) -> int |
Initiates a search for an Irreducible Infeasible Set (IIS) in an infeasible problem. |
|
void | fixMipEntities (int options) |
Fixes all the MIP entities to the values of the last found MIP solution. |
|
void | fTran (Array< double > const &vec) |
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix. |
|
void | getAttribInfo (std::optional< std::string > const &name, int *p_id, ParameterType *p_type) |
Accesses the id number and the type information of an attribute given its name. |
|
void | getBarNumStability (Array< int > const &colstab, Array< int > const &rowstab) |
void | getBasis (Array< int > const &rowstat, Array< int > const &colstat) |
Returns the current basis into the user's data arrays. |
|
void | getBasisVal (int row, int col, int *p_rowstat, int *p_colstat) |
Returns the current basis status for a specific column or row. |
|
auto | getCallbackDual (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackDual (int index) const -> double |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackDuals () const -> std::vector< double > |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackDuals (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackDuals (bool *p_available, Array< double > const &duals, int first, int last) const |
Returns the dual values. |
|
auto | getCallbackDuals (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackDuals (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveDual (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackPresolveDuals(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackPresolveDual (int index) const -> double |
Convenience wrapper for getCallbackPresolveDuals(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackPresolveDuals () const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveDuals(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackPresolveDuals (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveDuals(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackPresolveDuals (bool *p_available, Array< double > const &duals, int first, int last) const |
Returns the dual values from the solution to the presolved problem associated with the current callback. |
|
auto | getCallbackPresolveDuals (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveDuals(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveDuals (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveDuals(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveRedCost (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackPresolveRedCosts(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackPresolveRedCost (int index) const -> double |
Convenience wrapper for getCallbackPresolveRedCosts(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackPresolveRedCosts () const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackPresolveRedCosts (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackPresolveRedCosts (bool *p_available, Array< double > const &djs, int first, int last) const |
Returns the reduced costs from the solution to the presolved problem associated with the current callback. |
|
auto | getCallbackPresolveRedCosts (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveRedCosts (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveSlack (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackPresolveSlacks(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackPresolveSlack (int index) const -> double |
Convenience wrapper for getCallbackPresolveSlacks(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackPresolveSlacks () const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveSlacks(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackPresolveSlacks (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveSlacks(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackPresolveSlacks (bool *p_available, Array< double > const &slacks, int first, int last) const |
Returns the slack values from the solution to the presolved problem associated with the current callback. |
|
auto | getCallbackPresolveSlacks (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveSlacks(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveSlacks (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveSlacks(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveSolution () const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveSolution(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackPresolveSolution (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveSolution(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackPresolveSolution (bool *p_available, Array< double > const &x, int first, int last) const |
Returns the solution to the presolved problem associated with the current callback. |
|
auto | getCallbackPresolveSolution (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveSolution(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveSolution (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackPresolveSolution(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackPresolveSolution (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackPresolveSolution(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackPresolveSolution (int index) const -> double |
Convenience wrapper for getCallbackPresolveSolution(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackRedCost (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackRedCost (int index) const -> double |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackRedCosts () const -> std::vector< double > |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackRedCosts (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackRedCosts (bool *p_available, Array< double > const &djs, int first, int last) const |
Returns the reduced costs. |
|
auto | getCallbackRedCosts (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackRedCosts (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackSlack (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackSlack (int index) const -> double |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackSlacks () const -> std::vector< double > |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackSlacks (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackSlacks (bool *p_available, Array< double > const &slacks, int first, int last) const |
Returns the slack values. |
|
auto | getCallbackSlacks (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackSlacks (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackSolution () const -> std::vector< double > |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getCallbackSolution (bool *p_available) const -> std::vector< double > |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getCallbackSolution (bool *p_available, Array< double > const &x, int first, int last) const |
Returns the primal values. |
|
auto | getCallbackSolution (bool *p_available, int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackSolution (bool *p_available, int index) const -> double |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCallbackSolution (int first, int last) const -> std::vector< double > |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getCallbackSolution (int index) const -> double |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getCoef (int row, int col) -> double |
Returns a single coefficient in the constraint matrix. |
|
void | getCols (Array< int > const &start, Array< int > const &rowind, Array< double > const &rowcoef, int maxcoefs, int *p_ncoefs, int first, int last) |
Returns the nonzeros in the constraint matrix for the columns in a given range. |
|
auto | getCols (Array< int > const &start, Array< int > const &rowind, Array< double > const &rowcoef, int maxcoefs, int first, int last) -> int |
Returns the nonzeros in the constraint matrix for the columns in a given range. |
|
auto | getCols (Array< XPRSint64 > const &start, Array< int > const &rowind, Array< double > const &rowcoef, XPRSint64 maxcoefs, int first, int last) -> XPRSint64 |
Returns the nonzeros in the constraint matrix for the columns in a given range. |
|
void | getCols (Array< XPRSint64 > const &start, Array< int > const &rowind, Array< double > const &rowcoef, XPRSint64 maxcoefs, XPRSint64 *p_ncoefs, int first, int last) |
Returns the nonzeros in the constraint matrix for the columns in a given range. |
|
auto | getCols (int first, int last) -> xpress::XPRSProblem::MatrixInfo |
Get range of columns. |
|
auto | getColType (int first, int last) -> std::vector< char > |
Returns the column types for the columns in a given range. |
|
auto | getColumnName (int index) -> std::string |
Get a column name. |
|
auto | getColumnNames (int first, int last) -> std::vector< std::string > |
Get names of columns. |
|
void | getControlInfo (std::optional< std::string > const &name, int *p_id, ParameterType *p_type) |
Accesses the id number and the type information of a control given its name. |
|
void | getCPCutList (int cuttype, int interp, double delta, int *p_ncuts, int maxcuts, Array< XPRScut > const &cutind, Array< double > const &viol) |
Returns a list of cut indices from the cut pool. |
|
auto | getCPCutList (int cuttype, int interp, double delta, int maxcuts, Array< XPRScut > const &cutind, Array< double > const &viol) -> int |
Returns a list of cut indices from the cut pool. |
|
auto | getCPCutList (int maxcuts, Array< XPRScut > const &cutind, Array< double > const &viol) -> int |
Returns a list of cut indices from the cut pool. |
|
void | getCPCuts (Array< XPRScut const > const &rowind, int ncuts, int maxcoefs, Array< int > const &cuttype, Array< char > const &rowtype, Array< int > const &start, Array< int > const &colind, Array< double > const &cutcoef, Array< double > const &rhs) |
Returns cuts from the cut pool. |
|
void | getCPCuts (Array< XPRScut const > const &rowind, int ncuts, XPRSint64 maxcoefs, Array< int > const &cuttype, Array< char > const &rowtype, Array< XPRSint64 > const &start, Array< int > const &colind, Array< double > const &cutcoef, Array< double > const &rhs) |
Returns cuts from the cut pool. |
|
void | getCutList (int cuttype, int interp, int *p_ncuts, int maxcuts, Array< XPRScut > const &cutind) |
Retrieves a list of cut pointers for the cuts active at the current node. |
|
auto | getCutList (int cuttype, int interp, int maxcuts, Array< XPRScut > const &cutind) -> int |
Retrieves a list of cut pointers for the cuts active at the current node. |
|
auto | getCutList (int maxcuts, Array< XPRScut > const &cutind) -> int |
Retrieves a list of cut pointers for the cuts active at the current node. |
|
auto | getCutMap (int ncuts, Array< XPRScut const > const &cutind) -> std::vector< int > |
Used to return in which rows a list of cuts are currently loaded into the Optimizer. |
|
auto | getCutSlack (XPRScut cutind) -> double |
Used to calculate the slack value of a cut with respect to the current LP relaxation solution. |
|
auto | getDblAttrib (int attrib) const -> double |
Enables users to retrieve the values of various double problem attributes. |
|
auto | getDblControl (int control) const -> double |
Retrieves the value of a given double control parameter. |
|
auto | getDirs () -> int |
Used to return the directives that have been loaded into a matrix. |
|
auto | getDirs (Array< int > const &indices, Array< int > const &prios, Array< char > const &branchdirs, Array< double > const &uppseudo, Array< double > const &downpseudo) -> int |
Used to return the directives that have been loaded into a matrix. |
|
void | getDirs (int *p_ndir, Array< int > const &indices, Array< int > const &prios, Array< char > const &branchdirs, Array< double > const &uppseudo, Array< double > const &downpseudo) |
Used to return the directives that have been loaded into a matrix. |
|
auto | getDiscreteCols () -> xpress::XPRSProblem::MIPEntityInfo |
Get information about MIP entities. |
|
auto | getDual (int *status, int index) const -> double |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getDual (int index) const -> double |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that queries only a single value. |
|
void | getDualRay (Array< double > const &ray, int *p_hasray) |
Retrieves a dual ray (dual unbounded direction) for the current problem, if the problem is found to be infeasible. |
|
auto | getDuals () const -> std::vector< double > |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getDuals (int *status) const -> std::vector< double > |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getDuals (int *status, Array< double > const &duals, int first, int last) const |
Returns the dual values. |
|
auto | getDuals (int *status, int first, int last) const -> std::vector< double > |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getDuals (int first, int last) const -> std::vector< double > |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const that allocates the output array. |
|
void | getGenCons (Array< GenConsType > const &contype, Array< int > const &resultant, Array< int > const &colstart, Array< int > const &colind, int maxcols, int *p_ncols, Array< int > const &valstart, Array< double > const &val, int maxvals, int *p_nvals, int first, int last) |
Returns the general constraints y = f(x1, ..., xn, c1, ..., cm) in a given range. |
|
void | getGenCons (Array< GenConsType > const &contype, Array< int > const &resultant, Array< XPRSint64 > const &colstart, Array< int > const &colind, XPRSint64 maxcols, XPRSint64 *p_ncols, Array< XPRSint64 > const &valstart, Array< double > const &val, XPRSint64 maxvals, XPRSint64 *p_nvals, int first, int last) |
Returns the general constraints y = f(x1, ..., xn, c1, ..., cm) in a given range. |
|
auto | getGenCons (int first, int last) -> xpress::XPRSProblem::GeneralConstraintInfo |
Query a range of general constraints. |
|
auto | getGenConsName (int index) -> std::string |
Get a general constraint name. |
|
auto | getGenConsNames (int first, int last) -> std::vector< std::string > |
Get names of general constraints. |
|
void | getIISData (int iis, int *p_nrows, int *p_ncols, Array< int > const &rowind, Array< int > const &colind, Array< char > const &contype, Array< char > const &bndtype, Array< double > const &duals, Array< double > const &djs, Array< char > const &isolationrows, Array< char > const &isolationcols) |
Returns information for an Irreducible Infeasible Set: size, variables and constraints (row and column vectors), and conflicting sides of the variables. |
|
auto | getIISData (int number) -> xpress::XPRSProblem::IISData |
Get information about an IIS. |
|
auto | getIndex (int type, std::optional< std::string > const &name) -> int |
Returns the index for a specified row or column name. |
|
auto | getIndicator (int row) -> std::optional< xpress::IndicatorInfo > |
Get indicator information for a single row. |
|
void | getIndicators (Array< int > const &colind, Array< int > const &complement, int first, int last) |
Returns the indicator constraint condition (indicator variable and complement flag) associated to the rows in a given range. |
|
auto | getIndicators (int first, int last) -> std::vector< xpress::IndicatorInfo > |
Get indicator information for a range of rows. |
|
void | getInfeas (int *p_nprimalcols, int *p_nprimalrows, int *p_ndualrows, int *p_ndualcols, Array< int > const &x, Array< int > const &slack, Array< int > const &duals, Array< int > const &djs) |
Returns a list of infeasible primal and dual variables. |
|
auto | getIntAttrib (int attrib) const -> int |
Enables users to recover the values of various integer problem attributes. |
|
auto | getIntControl (int control) const -> int |
Enables users to recover the values of various integer control parameters. |
|
void | getLastBarSol (Array< double > const &x, Array< double > const &slack, Array< double > const &duals, Array< double > const &djs, int *p_status) |
Used to obtain the last barrier solution values following optimization that used the barrier solver. |
|
auto | getLB (int first, int last) -> std::vector< double > |
Returns the lower bounds for the columns in a given range. |
|
auto | getLongAttrib (int attrib) const -> XPRSint64 |
Enables users to recover the values of various integer problem attributes. |
|
auto | getLongControl (int control) const -> XPRSint64 |
Enables users to recover the values of various integer control parameters. |
|
void | getLpSol (Array< double > const &x) |
Used to obtain the LP solution values following optimization. |
|
void | getLpSol (Array< double > const &x, Array< double > const &slack, Array< double > const &duals, Array< double > const &djs) |
Used to obtain the LP solution values following optimization. |
|
void | getLpSolVal (int col, int row, double *p_x, double *p_slack, double *p_dual, double *p_dj) |
Used to obtain a single LP solution value following optimization. |
|
auto | getMessageStatus (int msgcode) -> int |
Retrieves the current suppression status of a message. |
|
auto | getMipEntities () -> xpress::XPRSProblem::MIPEntityInfo |
Get information about MIP entities and SOS. |
|
auto | getMipEntities (Array< char > const &coltype, Array< int > const &colind, Array< double > const &limit) -> int |
Retrieves integr and entity information about a problem. |
|
void | getMipEntities (int *p_nentities, Array< char > const &coltype, Array< int > const &colind, Array< double > const &limit) |
Retrieves integr and entity information about a problem. |
|
void | getMipEntities (int *p_nentities, int *p_nsets, Array< char > const &coltype, Array< int > const &colind, Array< double > const &limit, Array< char > const &settype, Array< int > const &start, Array< int > const &setcols, Array< double > const &refval) |
Retrieves integr and entity information about a problem. |
|
void | getMipEntities (int *p_nentities, int *p_nsets, Array< char > const &coltype, Array< int > const &colind, Array< double > const &limit, Array< char > const &settype, Array< XPRSint64 > const &start, Array< int > const &setcols, Array< double > const &refval) |
Retrieves integr and entity information about a problem. |
|
void | getMipSol (Array< double > const &x) |
Used to obtain the solution values of the last MIP solution that was found. |
|
void | getMipSol (Array< double > const &x, Array< double > const &slack) |
Used to obtain the solution values of the last MIP solution that was found. |
|
void | getMipSolVal (int col, int row, double *p_x, double *p_slack) |
Used to obtain a single solution value of the last MIP solution that was found. |
|
void | getMQObj (Array< int > const &start, Array< int > const &colind, Array< double > const &objqcoef, int maxcoefs, int *p_ncoefs, int first, int last) |
Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. |
|
auto | getMQObj (Array< int > const &start, Array< int > const &colind, Array< double > const &objqcoef, int maxcoefs, int first, int last) -> int |
Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. |
|
auto | getMQObj (Array< XPRSint64 > const &start, Array< int > const &colind, Array< double > const &objqcoef, XPRSint64 maxcoefs, int first, int last) -> XPRSint64 |
Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. |
|
void | getMQObj (Array< XPRSint64 > const &start, Array< int > const &colind, Array< double > const &objqcoef, XPRSint64 maxcoefs, XPRSint64 *p_ncoefs, int first, int last) |
Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. |
|
auto | getMQObj (int first, int last) -> xpress::XPRSProblem::MatrixInfo |
Get quadratic objective matrix for range of columns. |
|
auto | getName (int type, int elt) -> std::string |
Get the name of a single element. |
|
auto | getName (xpress::Namespaces type, int elt) -> std::string |
Get the name of a single element. |
|
auto | getNameList (int type, int first, int last) -> std::vector< std::string > |
Returns the names for the rows, columns, sets, piecewise linear constraints, general constraints or objectives in a given range. |
|
auto | getNames (int type, int first, int last) -> std::vector< std::string > |
Get names. |
|
auto | getNames (xpress::Namespaces type, int first, int last) -> std::vector< std::string > |
Get names. |
|
void | getNlpsol (Array< double > const &x, Array< double > const &slack, Array< double > const &duals, Array< double > const &djs) |
Obtain the current SLP solution values. |
|
auto | getObj (int first, int last) -> std::vector< double > |
Returns the objective function coefficients for the columns in a given range. |
|
auto | getObjDblAttrib (int solveidx, int attrib) -> double |
Retrieves the value of a given double attribute associated with a multi-objective solve. |
|
auto | getObjDblControl (int objidx, ObjControl control) -> double |
Retrieves the value of a given double control parameter associated with an objective function. |
|
auto | getObjIntAttrib (int solveidx, int attrib) -> int |
Retrieves the value of a given integer attribute associated with a multi-objective solve. |
|
auto | getObjIntControl (int objidx, ObjControl control) -> int |
Retrieves the value of a given integer control parameter associated with an objective. |
|
auto | getObjLongAttrib (int solveidx, int attrib) -> XPRSint64 |
Retrieves the value of a given integer attribute associated with a multi-objective solve. |
|
auto | getObjN (int objidx, int first, int last) -> std::vector< double > |
For a given objective function, returns the objective coefficients for the columns in a given range. |
|
auto | getPivotOrder () -> std::vector< int > |
Returns the pivot order of the basic variables. |
|
void | getPivots (int enter, Array< int > const &outlist, Array< double > const &x, double *p_objval, int *p_npivots, int maxpivots) |
Returns a list of potential leaving variables if a specified variable enters the basis. |
|
void | getPresolveBasis (Array< int > const &rowstat, Array< int > const &colstat) |
Returns the current basis from memory into the user's data areas. |
|
void | getPresolveMap (Array< int > const &rowmap, Array< int > const &colmap) |
Returns the mapping of the row and column numbers from the presolve problem back to the original problem. |
|
void | getPresolveSol (Array< double > const &x) |
Returns the solution for the presolved problem from memory. |
|
void | getPresolveSol (Array< double > const &x, Array< double > const &slack, Array< double > const &duals, Array< double > const &djs) |
Returns the solution for the presolved problem from memory. |
|
void | getPrimalRay (Array< double > const &ray, int *p_hasray) |
Retrieves a primal ray (primal unbounded direction) for the current problem, if the problem is found to be unbounded. |
|
auto | getProbName () -> std::string |
Returns the current problem name. |
|
void | getPwlCons (Array< int > const &colind, Array< int > const &resultant, Array< int > const &start, Array< double > const &xval, Array< double > const &yval, int maxpoints, int *p_npoints, int first, int last) |
Returns the piecewise linear constraints y = f(x) in a given range. |
|
void | getPwlCons (Array< int > const &colind, Array< int > const &resultant, Array< XPRSint64 > const &start, Array< double > const &xval, Array< double > const &yval, XPRSint64 maxpoints, XPRSint64 *p_npoints, int first, int last) |
Returns the piecewise linear constraints y = f(x) in a given range. |
|
auto | getPWLName (int index) -> std::string |
Get a PWL constraint name. |
|
auto | getPWLNames (int first, int last) -> std::vector< std::string > |
Get names of PWL constraints. |
|
auto | getQObj (int objqcol1, int objqcol2) -> double |
Returns a single quadratic objective function coefficient corresponding to the variable pair (objqcol1, objqcol2) of the Hessian matrix. |
|
auto | getQRowCoeff (int row, int rowqcol1, int rowqcol2) -> double |
Returns a single quadratic constraint coefficient corresponding to the variable pair (rowqcol1 , rowqcol2 ) of the Hessian of a given constraint. |
|
void | getQRowQMatrix (int row, Array< int > const &start, Array< int > const &colind, Array< double > const &rowqcoef, int maxcoefs, int *p_ncoefs, int first, int last) |
Returns the nonzeros in a quadratic constraint coefficients matrix for the columns in a given range. |
|
auto | getQRowQMatrix (int row, Array< int > const &start, Array< int > const &colind, Array< double > const &rowqcoef, int maxcoefs, int first, int last) -> int |
Returns the nonzeros in a quadratic constraint coefficients matrix for the columns in a given range. |
|
auto | getQRowQMatrixTriplets (int row, Array< int > const &rowqcol1, Array< int > const &rowqcol2, Array< double > const &rowqcoef) -> int |
Returns the nonzeros in a quadratic constraint coefficients matrix as triplets (index pairs with coefficients). |
|
void | getQRowQMatrixTriplets (int row, int *p_ncoefs, Array< int > const &rowqcol1, Array< int > const &rowqcol2, Array< double > const &rowqcoef) |
Returns the nonzeros in a quadratic constraint coefficients matrix as triplets (index pairs with coefficients). |
|
auto | getQRows () -> int |
Returns the list indices of the rows that have quadratic coefficients. |
|
auto | getQRows (Array< int > const &rowind) -> int |
Returns the list indices of the rows that have quadratic coefficients. |
|
void | getQRows (int *p_nrows, Array< int > const &rowind) |
Returns the list indices of the rows that have quadratic coefficients. |
|
auto | getRedCost (int *status, int index) const -> double |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getRedCost (int index) const -> double |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getRedCosts () const -> std::vector< double > |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getRedCosts (int *status) const -> std::vector< double > |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getRedCosts (int *status, Array< double > const &djs, int first, int last) const |
Returns the reduced costs. |
|
auto | getRedCosts (int *status, int first, int last) const -> std::vector< double > |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getRedCosts (int first, int last) const -> std::vector< double > |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getRhs (int first, int last) -> std::vector< double > |
Returns the right hand side elements for the rows in a given range. |
|
auto | getRhsRange (int first, int last) -> std::vector< double > |
Returns the right hand side range values for the rows in a given range. |
|
auto | getRowFlags (int first, int last) -> std::vector< int > |
Retrieve if a range of rows have been set up as special rows. |
|
auto | getRowName (int index) -> std::string |
Get a row name. |
|
auto | getRowNames (int first, int last) -> std::vector< std::string > |
Get names of rows. |
|
void | getRows (Array< int > const &start, Array< int > const &colind, Array< double > const &colcoef, int maxcoefs, int *p_ncoefs, int first, int last) |
Returns the nonzeros in the constraint matrix for the rows in a given range. |
|
auto | getRows (Array< int > const &start, Array< int > const &colind, Array< double > const &colcoef, int maxcoefs, int first, int last) -> int |
Returns the nonzeros in the constraint matrix for the rows in a given range. |
|
auto | getRows (Array< XPRSint64 > const &start, Array< int > const &colind, Array< double > const &colcoef, XPRSint64 maxcoefs, int first, int last) -> XPRSint64 |
Returns the nonzeros in the constraint matrix for the rows in a given range. |
|
void | getRows (Array< XPRSint64 > const &start, Array< int > const &colind, Array< double > const &colcoef, XPRSint64 maxcoefs, XPRSint64 *p_ncoefs, int first, int last) |
Returns the nonzeros in the constraint matrix for the rows in a given range. |
|
auto | getRows (int first, int last) -> xpress::XPRSProblem::MatrixInfo |
Get range of rows. |
|
auto | getRowType (int first, int last) -> std::vector< char > |
Returns the row types for the rows in a given range. |
|
void | getScale (Array< int > const &rowscale, Array< int > const &colscale) |
Returns the the current scaling of the matrix. |
|
void | getScaledInfeas (int *p_nprimalcols, int *p_nprimalrows, int *p_ndualrows, int *p_ndualcols, Array< int > const &x, Array< int > const &slack, Array< int > const &duals, Array< int > const &djs) |
Returns a list of scaled infeasible primal and dual variables for the original problem. |
|
auto | getSetDefinitions () -> xpress::XPRSProblem::MIPEntityInfo |
Get information about SOS. |
|
auto | getSetName (int index) -> std::string |
Get a set (SOS) name. |
|
auto | getSetNames (int first, int last) -> std::vector< std::string > |
Get names of sets (SOS). |
|
auto | getSlack (int *status, int index) const -> double |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getSlack (int index) const -> double |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getSlacks () const -> std::vector< double > |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getSlacks (int *status) const -> std::vector< double > |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getSlacks (int *status, Array< double > const &slacks, int first, int last) const |
Returns the slack values. |
|
auto | getSlacks (int *status, int first, int last) const -> std::vector< double > |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getSlacks (int first, int last) const -> std::vector< double > |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getSolution () const -> std::vector< double > |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
auto | getSolution (int *status) const -> std::vector< double > |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that allocates the output array and queries all elements. |
|
void | getSolution (int *status, Array< double > const &x, int first, int last) const |
Returns the incumbent solution during or after optimization with XPRSoptimize , XPRSmipoptimize , XPRSlpoptimize or XPRSnlpoptimize . |
|
auto | getSolution (int *status, int first, int last) const -> std::vector< double > |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getSolution (int *status, int index) const -> double |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getSolution (int first, int last) const -> std::vector< double > |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that allocates the output array. |
|
auto | getSolution (int index) const -> double |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const that queries only a single value. |
|
auto | getStrAttrib (int attrib) const -> std::string |
Enables users to recover the values of various string problem attributes. |
|
auto | getStrControl (int control) const -> std::string |
Returns the value of a given string control parameters. |
|
void | getStringControl (int control, char *value, int maxbytes, int *p_nbytes) const |
Returns the value of a given string control parameters. |
|
void | getStrStringAttrib (int attrib, char *value, int maxbytes, int *p_nbytes) const |
Enables users to recover the values of various string problem attributes. |
|
auto | getUB (int first, int last) -> std::vector< double > |
Returns the upper bounds for the columns in a given range. |
|
auto | getUnbVec () -> int |
Returns the index vector which causes the primal simplex or dual simplex algorithm to determine that a matrix is primal or dual unbounded respectively. |
|
void | IISAll () |
Performs an automated search for independent Irreducible Infeasible Sets (IIS) in an infeasible problem. |
|
void | IISIsolations (int iis) |
Performs the isolation identification procedure for an Irreducible Infeasible Set (IIS). |
|
auto | IISStatus () -> xpress::XPRSProblem::IISStatusInfo |
Get the IIS status. |
|
void | IISStatus (int *p_niis, Array< int > const &nrows, Array< int > const &ncols, Array< double > const &suminfeas, Array< int > const &numinfeas) |
Returns statistics on the Irreducible Infeasible Sets (IIS) found so far by XPRSiisfirst (IIS ), XPRSiisnext (IIS -n ) or XPRSiisall (IIS -a ). |
|
void | interrupt (StopType reason) |
Interrupts the Optimizer algorithms. |
|
void | loadBasis (Array< int const > const &rowstat, Array< int const > const &colstat) |
Loads a basis from the user's areas. |
|
void | loadBranchDirs (int ncols, Array< int const > const &colind, Array< int const > const &dir) |
Loads directives into the current problem to specify which MIP entities the Optimizer should continue to branch on when a node solution is integer feasible. |
|
void | loadCuts (int cuttype, int interp) |
Loads cuts from the cut pool into the matrix. |
|
void | loadCuts (int cuttype, int interp, int ncuts, Array< XPRScut const > const &cutind) |
Loads cuts from the cut pool into the matrix. |
|
void | loadCuts (int ncuts, Array< XPRScut const > const &cutind) |
Loads cuts from the cut pool into the matrix. |
|
void | loadDelayedRows (int nrows, Array< int const > const &rowind) |
Specifies that a set of rows in the matrix will be treated as delayed rows during a tree search. |
|
void | loadDirs (int ndirs, Array< int const > const &colind, Array< int const > const &priority, Array< char const > const &dir, Array< double const > const &uppseudo, Array< double const > const &downpseudo) |
Loads directives into the matrix. |
|
void | loadLp (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< int const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub) |
Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file. |
|
void | loadLp (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< XPRSint64 const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub) |
Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file. |
|
auto | loadLpSol (Array< double const > const &x, Array< double const > const &slack, Array< double const > const &duals, Array< double const > const &djs) -> int |
Loads an LP solution for the problem into the Optimizer. |
|
void | loadMip (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< int const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, int nentities, int nsets, Array< char const > const &coltype, Array< int const > const &entind, Array< double const > const &limit, Array< char const > const &settype, Array< int const > const &setstart, Array< int const > const &setind, Array< double const > const &refval) |
Used to load a MIP problem into the Optimizer data structures. |
|
void | loadMip (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< XPRSint64 const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, int nentities, int nsets, Array< char const > const &coltype, Array< int const > const &entind, Array< double const > const &limit, Array< char const > const &settype, Array< XPRSint64 const > const &setstart, Array< int const > const &setind, Array< double const > const &refval) |
Used to load a MIP problem into the Optimizer data structures. |
|
auto | loadMipSol (Array< double const > const &x) -> int |
Loads a starting MIP solution for the problem into the Optimizer. |
|
void | loadMIQCQP (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< int const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, int nobjqcoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef, int nqrows, Array< int const > const &qrowind, Array< int const > const &nrowqcoefs, Array< int const > const &rowqcol1, Array< int const > const &rowqcol2, Array< double const > const &rowqcoef, int nentities, int nsets, Array< char const > const &coltype, Array< int const > const &entind, Array< double const > const &limit, Array< char const > const &settype, Array< int const > const &setstart, Array< int const > const &setind, Array< double const > const &refval) |
Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure. |
|
void | loadMIQCQP (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< XPRSint64 const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, XPRSint64 nobjqcoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef, int nqrows, Array< int const > const &qrowind, Array< XPRSint64 const > const &nrowqcoefs, Array< int const > const &rowqcol1, Array< int const > const &rowqcol2, Array< double const > const &rowqcoef, int nentities, int nsets, Array< char const > const &coltype, Array< int const > const &entind, Array< double const > const &limit, Array< char const > const &settype, Array< XPRSint64 const > const &setstart, Array< int const > const &setind, Array< double const > const &refval) |
Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure. |
|
void | loadMIQP (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< int const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, int nobjqcoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef, int nentities, int nsets, Array< char const > const &coltype, Array< int const > const &entind, Array< double const > const &limit, Array< char const > const &settype, Array< int const > const &setstart, Array< int const > const &setind, Array< double const > const &refval) |
Used to load a MIQP problem, hence a MIP with quadratic objective coefficients, into the Optimizer data structures. |
|
void | loadMIQP (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< XPRSint64 const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, XPRSint64 nobjqcoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef, int nentities, int nsets, Array< char const > const &coltype, Array< int const > const &entind, Array< double const > const &limit, Array< char const > const &settype, Array< XPRSint64 const > const &setstart, Array< int const > const &setind, Array< double const > const &refval) |
Used to load a MIQP problem, hence a MIP with quadratic objective coefficients, into the Optimizer data structures. |
|
void | loadModelCuts (int nrows, Array< int const > const &rowind) |
Specifies that a set of rows in the matrix will be treated as model cuts. |
|
void | loadPresolveBasis (Array< int const > const &rowstat, Array< int const > const &colstat) |
Loads a presolved basis from the user's areas. |
|
void | loadPresolveDirs (int ndirs, Array< int const > const &colind, Array< int const > const &priority, Array< char const > const &dir, Array< double const > const &uppseudo, Array< double const > const &downpseudo) |
Loads directives into the presolved matrix. |
|
void | loadQCQP (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< int const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, int nobjqcoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef, int nqrows, Array< int const > const &qrowind, Array< int const > const &nrowqcoef, Array< int const > const &rowqcol1, Array< int const > const &rowqcol2, Array< double const > const &rowqcoef) |
Used to load a quadratic problem with quadratic side constraints into the Optimizer data structure. |
|
void | loadQCQP (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< XPRSint64 const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, XPRSint64 nobjqcoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef, int nqrows, Array< int const > const &qrowind, Array< XPRSint64 const > const &nrowqcoef, Array< int const > const &rowqcol1, Array< int const > const &rowqcol2, Array< double const > const &rowqcoef) |
Used to load a quadratic problem with quadratic side constraints into the Optimizer data structure. |
|
void | loadQP (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< int const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, int nobjqcoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef) |
Used to load a quadratic problem into the Optimizer data structure. |
|
void | loadQP (std::optional< std::string > const &probname, int ncols, int nrows, Array< char const > const &rowtype, Array< double const > const &rhs, Array< double const > const &rng, Array< double const > const &objcoef, Array< XPRSint64 const > const &start, Array< int const > const &collen, Array< int const > const &rowind, Array< double const > const &rowcoef, Array< double const > const &lb, Array< double const > const &ub, XPRSint64 nobjqcoefs, Array< int const > const &objqcol1, Array< int const > const &objqcol2, Array< double const > const &objqcoef) |
Used to load a quadratic problem into the Optimizer data structure. |
|
void | loadSecureVecs (int nrows, int ncols, Array< int const > const &rowind, Array< int const > const &colind) |
Allows the user to mark rows and columns in order to prevent the presolve removing these rows and columns from the matrix. |
|
void | lpOptimize () |
This function begins a search for the optimal continuous (LP) solution. |
|
void | lpOptimize (std::optional< std::string > const &flags) |
This function begins a search for the optimal continuous (LP) solution. |
|
void | mipOptimize () |
This function begins a tree search for the optimal MIP solution. |
|
void | mipOptimize (std::optional< std::string > const &flags) |
This function begins a tree search for the optimal MIP solution. |
|
void | msAddCustomPreset (std::optional< std::string > const &description, int preset, int maxjobs, int ninitial, Array< int const > const &colind, Array< double const > const &initial, int nintcontrols, Array< int const > const &intcontrolid, Array< int const > const &intcontrolval, int ndblcontrols, Array< int const > const &dblcontrolid, Array< double const > const &dblcontrolval, void *data) |
A combined version of XSLPmsaddjob and XSLPmsaddpreset. |
|
void | msAddJob (std::optional< std::string > const &description, int ninitial, Array< int const > const &colind, Array< double const > const &initial, int nintcontrols, Array< int const > const &intcontrolid, Array< int const > const &intcontrolval, int ndblcontrols, Array< int const > const &dblcontrolid, Array< double const > const &dblcontrolval, void *data) |
Adds a multistart job to the multistart pool. |
|
void | msAddPreset (std::optional< std::string > const &description, int preset, int maxjobs, void *data) |
Loads a preset of jobs into the multistart job pool. |
|
void | msClear () |
Removes all scheduled jobs from the multistart job pool. |
|
auto | newBranchObject (bool isOriginal) -> BranchObject * |
Create a new branching object. |
|
auto | nextIIS () -> int |
Continues the search for further Irreducible Infeasible Sets (IIS), or calls XPRSiisfirst (IIS ) if no IIS has been identified yet. |
|
void | nlpAddFormulas (int ncoefs, Array< int const > const &rowind, Array< int const > const &formulastart, int parsed, Array< int const > const &type, Array< double const > const &value) |
Add non-linear formulas to the SLP problem. |
|
auto | nlpAddUserFunction (std::optional< std::string > funcname, int nIn, int nOut, int options, MultiMapDeltaFunctor functor) -> xpress::XPRSProblem::MultiMapDeltaFunction * |
Register a user function of type "multi map with partial derivatives". |
|
auto | nlpAddUserFunction (std::optional< std::string > funcname, int nIn, int nOut, int options, MultiMapFunctor functor) -> xpress::XPRSProblem::MultiMapFunction * |
Register a user function of type "multi map". |
|
auto | nlpAddUserFunction (std::optional< std::string > funcname, int nIn, int options, VecMapDeltaFunctor functor) -> xpress::XPRSProblem::VecMapDeltaFunction * |
Register a user function of type "vector map with partial derivatives". |
|
auto | nlpAddUserFunction (std::optional< std::string > funcname, int nIn, int options, VecMapFunctor functor) -> xpress::XPRSProblem::VecMapFunction * |
Register a user function of type "vector map". |
|
auto | nlpAddUserFunction (std::optional< std::string > funcname, int options, MapDeltaFunctor functor) -> xpress::XPRSProblem::MapDeltaFunction * |
Register a user function of type "map with derivative". |
|
auto | nlpAddUserFunction (std::optional< std::string > funcname, int options, MapFunctor functor) -> xpress::XPRSProblem::MapFunction * |
Register a user function of type "map". |
|
void | nlpCalcSlacks (Array< double const > const &solution, Array< double > const &slack) |
Calculate the slack values for the provided solution in the non-linear problem. |
|
void | nlpChgFormula (int row, int parsed, Array< int const > const &type, Array< double const > const &value) |
Add or replace a single matrix formula using a parsed or unparsed formula. |
|
void | nlpChgFormulaStr (int row, std::optional< std::string > const &formula) |
Add or replace a single matrix formula using a character string for the formula. |
|
void | nlpCurrentIV () |
Transfer the current solution to initial values. |
|
void | nlpDelFormulas (int nformulas, Array< int const > const &rowind) |
Delete nonlinear formulas from the current problem. |
|
void | nlpDelUserFunction (int type) |
Delete a user function from the current problem. |
|
auto | nlpEvaluateFormula (int parsed, Array< int const > const &type, Array< double const > const &values) -> double |
Evaluate a formula using the current values of the variables. |
|
void | nlpGetFormula (int row, int parsed, int maxtypes, int *p_ntypes, Array< int > const &type, Array< double > const &value) |
Retrieve a single matrix formula as a formula split into tokens. |
|
void | nlpGetFormulaRows (int *p_nformulas, Array< int > const &rowind) |
Retrieve the list of positions of the nonlinear formulas in the problem. |
|
void | nlpGetFormulaStr (int row, char *formula, int maxbytes, int *p_nbytes) |
Retrieve a single matrix formula in a character string. |
|
void | nlpImportLibFunc (std::optional< std::string > const &libname, std::optional< std::string > const &funcname, XPRSfunctionptr *p_function, int *p_status) |
Imports a function from a library file to be called as a user function. |
|
void | nlpLoadFormulas (int nnlpcoefs, Array< int const > const &rowind, Array< int const > const &formulastart, int parsed, Array< int const > const &type, Array< double const > const &value) |
Load non-linear formulas into the SLP problem. |
|
void | nlpOptimize (std::optional< std::string > const &flags) |
Maximize or minimize an SLP problem. |
|
void | nlpPostsolveProb () |
Restores the problem to its pre-solve state. |
|
void | nlpPrintEvalInfo () |
Print a summary of any evaluation errors that may have occurred during solving a problem. |
|
void | nlpSetFunctionError () |
Set the function error flag for the problem. |
|
void | nlpSetInitVal (int nvars, Array< int const > const &colind, Array< double const > const &initial) |
Set the initial value of a variable. |
|
void | nlpValidate () |
Validate the feasibility of constraints in a converged solution. |
|
void | nlpValidateKKT (int mode, int respectbasis, int updatemult, double violtarget) |
Validates the first order optimality conditions also known as the Karush-Kuhn-Tucker (KKT) conditions versus the currect solution. |
|
void | nlpValidateRow (int row) |
Prints an extensive analysis on a given constraint of the SLP problem. |
|
void | nlpValidateVector (Array< double const > const &solution, double *p_suminf, double *p_sumscaledinf, double *p_objval) |
Validate the feasibility of constraints for a given solution. |
|
void | objSA (int ncols, Array< int const > const &colind, Array< double > const &lower, Array< double > const &upper) |
Returns upper and lower sensitivity ranges for specified objective function coefficients. |
|
auto | optimize () -> int |
Convenience wrapper for optimize(std::optional<std::string> const &, int *, int *) . |
|
void | optimize (std::optional< std::string > const &flags, int *solvestatus, int *solstatus) |
This function begins a search for the optimal solution of the problem. |
|
auto | optimize (std::optional< std::string > flags) -> int |
Convenience wrapper for optimize(std::optional<std::string> const &, int *, int *) . |
|
void | pivot (int enter, int leave) |
Performs a simplex pivot by bringing variable enter into the basis and removing leave . |
|
void | postSolve () |
Postsolve the current matrix when it is in a presolved state. |
|
auto | postSolveSol (Array< double const > const &prex) -> std::vector< double > |
Postsolves a primal solution formulated in the presolved space into the corresponding solution formulated in the original space. |
|
void | presolveRow (char rowtype, int norigcoefs, Array< int const > const &origcolind, Array< double const > const &origrowcoef, double origrhs, int maxcoefs, int *p_ncoefs, Array< int > const &colind, Array< double > const &rowcoef, double *p_rhs, int *p_status) |
Presolves a row formulated in terms of the original variables such that it can be added to a presolved matrix. |
|
auto | presolveRow (xpress::SizedArray< int const > const &ind, xpress::SizedArray< double const > const &val, char type, double rhs) -> std::optional< xpress::XPRSProblem::RowInfo > |
Presolve a row. |
|
auto | presolveRow (xpress::XPRSProblem::RowInfo row) -> std::optional< xpress::XPRSProblem::RowInfo > |
Presolve a row. |
|
void | printIIS (int iis) |
Prints a given Irreducible Infeasible Set (IIS) in the log. |
|
void | readBasis () |
Instructs the Optimizer to read in a previously saved basis from a file. |
|
void | readBasis (std::optional< std::string > const &filename) |
Instructs the Optimizer to read in a previously saved basis from a file. |
|
void | readBasis (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Instructs the Optimizer to read in a previously saved basis from a file. |
|
void | readBinSol () |
Reads a solution from a binary solution file. |
|
void | readBinSol (std::optional< std::string > const &filename) |
Reads a solution from a binary solution file. |
|
void | readBinSol (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Reads a solution from a binary solution file. |
|
void | readDirs () |
Reads a directives file to help direct the tree search. |
|
void | readDirs (std::optional< std::string > const &filename) |
Reads a directives file to help direct the tree search. |
|
void | readProb (std::optional< std::string > const &filename) |
Reads an (X)MPS or LP format matrix from file. |
|
void | readProb (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Reads an (X)MPS or LP format matrix from file. |
|
void | readSlxSol () |
Reads an ASCII solution file [.slx ] created by the XPRSwriteslxsol function. |
|
void | readSlxSol (std::optional< std::string > const &filename) |
Reads an ASCII solution file [.slx ] created by the XPRSwriteslxsol function. |
|
void | readSlxSol (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Reads an ASCII solution file [.slx ] created by the XPRSwriteslxsol function. |
|
void | removeAfterObjectiveCallback (CallbackHandle const &callback) |
Remove an afterobjective callback. |
|
void | removeAfterObjectiveCallbacks () |
Remove all afterobjective callbacks. |
|
void | removeBarIterationCallback (CallbackHandle const &callback) |
Remove a bariteration callback. |
|
void | removeBarIterationCallbacks () |
Remove all bariteration callbacks. |
|
void | removeBarlogCallback (CallbackHandle const &callback) |
Remove a barlog callback. |
|
void | removeBarlogCallbacks () |
Remove all barlog callbacks. |
|
void | removeBeforeObjectiveCallback (CallbackHandle const &callback) |
Remove a beforeobjective callback. |
|
void | removeBeforeObjectiveCallbacks () |
Remove all beforeobjective callbacks. |
|
void | removeBeforeSolveCallback (CallbackHandle const &callback) |
Remove a beforesolve callback. |
|
void | removeBeforeSolveCallbacks () |
Remove all beforesolve callbacks. |
|
void | removeChangeBranchObjectCallback (CallbackHandle const &callback) |
Remove a changebranchobject callback. |
|
void | removeChangeBranchObjectCallbacks () |
Remove all changebranchobject callbacks. |
|
void | removeCheckTimeCallback (CallbackHandle const &callback) |
Remove a checktime callback. |
|
void | removeCheckTimeCallbacks () |
Remove all checktime callbacks. |
|
void | removeComputeRestartCallback (CallbackHandle const &callback) |
Remove a computerestart callback. |
|
void | removeComputeRestartCallbacks () |
Remove all computerestart callbacks. |
|
void | removeCutlogCallback (CallbackHandle const &callback) |
Remove a cutlog callback. |
|
void | removeCutlogCallbacks () |
Remove all cutlog callbacks. |
|
void | removeCutRoundCallback (CallbackHandle const &callback) |
Remove a cutround callback. |
|
void | removeCutRoundCallbacks () |
Remove all cutround callbacks. |
|
void | removeGapNotifyCallback (CallbackHandle const &callback) |
Remove a gapnotify callback. |
|
void | removeGapNotifyCallbacks () |
Remove all gapnotify callbacks. |
|
void | removeInfnodeCallback (CallbackHandle const &callback) |
Remove an infnode callback. |
|
void | removeInfnodeCallbacks () |
Remove all infnode callbacks. |
|
void | removeIntsolCallback (CallbackHandle const &callback) |
Remove an intsol callback. |
|
void | removeIntsolCallbacks () |
Remove all intsol callbacks. |
|
void | removeLplogCallback (CallbackHandle const &callback) |
Remove a lplog callback. |
|
void | removeLplogCallbacks () |
Remove all lplog callbacks. |
|
void | removeMessageCallback (CallbackHandle const &callback) |
Remove a message callback. |
|
void | removeMessageCallbacks () |
Remove all message callbacks. |
|
void | removeMiplogCallback (CallbackHandle const &callback) |
Remove a miplog callback. |
|
void | removeMiplogCallbacks () |
Remove all miplog callbacks. |
|
void | removeMipThreadCallback (CallbackHandle const &callback) |
Remove a mipthread callback. |
|
void | removeMipThreadCallbacks () |
Remove all mipthread callbacks. |
|
void | removeMipThreadDestroyCallback (CallbackHandle const &callback) |
Remove a mipthreaddestroy callback. |
|
void | removeMipThreadDestroyCallbacks () |
Remove all mipthreaddestroy callbacks. |
|
void | removeMsJobEndCallback (CallbackHandle const &callback) |
Remove a msjobend callback. |
|
void | removeMsJobEndCallbacks () |
Remove all msjobend callbacks. |
|
void | removeMsJobStartCallback (CallbackHandle const &callback) |
Remove a msjobstart callback. |
|
void | removeMsJobStartCallbacks () |
Remove all msjobstart callbacks. |
|
void | removeMsWinnerCallback (CallbackHandle const &callback) |
Remove a mswinner callback. |
|
void | removeMsWinnerCallbacks () |
Remove all mswinner callbacks. |
|
void | removeNewnodeCallback (CallbackHandle const &callback) |
Remove a newnode callback. |
|
void | removeNewnodeCallbacks () |
Remove all newnode callbacks. |
|
void | removeNlpCoefEvalErrorCallback (CallbackHandle const &callback) |
Remove a nlpcoefevalerror callback. |
|
void | removeNlpCoefEvalErrorCallbacks () |
Remove all nlpcoefevalerror callbacks. |
|
void | removeNodecutoffCallback (CallbackHandle const &callback) |
Remove a nodecutoff callback. |
|
void | removeNodecutoffCallbacks () |
Remove all nodecutoff callbacks. |
|
void | removeNodeLPSolvedCallback (CallbackHandle const &callback) |
Remove a nodelpsolved callback. |
|
void | removeNodeLPSolvedCallbacks () |
Remove all nodelpsolved callbacks. |
|
void | removeOptnodeCallback (CallbackHandle const &callback) |
Remove an optnode callback. |
|
void | removeOptnodeCallbacks () |
Remove all optnode callbacks. |
|
void | removePreIntsolCallback (CallbackHandle const &callback) |
Remove a preintsol callback. |
|
void | removePreIntsolCallbacks () |
Remove all preintsol callbacks. |
|
void | removePrenodeCallback (CallbackHandle const &callback) |
Remove a prenode callback. |
|
void | removePrenodeCallbacks () |
Remove all prenode callbacks. |
|
void | removePresolveCallback (CallbackHandle const &callback) |
Remove a presolve callback. |
|
void | removePresolveCallbacks () |
Remove all presolve callbacks. |
|
void | removeSlpCascadeEndCallback (CallbackHandle const &callback) |
Remove a slpcascadeend callback. |
|
void | removeSlpCascadeEndCallbacks () |
Remove all slpcascadeend callbacks. |
|
void | removeSlpCascadeStartCallback (CallbackHandle const &callback) |
Remove a slpcascadestart callback. |
|
void | removeSlpCascadeStartCallbacks () |
Remove all slpcascadestart callbacks. |
|
void | removeSlpCascadeVarCallback (CallbackHandle const &callback) |
Remove a slpcascadevar callback. |
|
void | removeSlpCascadeVarCallbacks () |
Remove all slpcascadevar callbacks. |
|
void | removeSlpCascadeVarFailCallback (CallbackHandle const &callback) |
Remove a slpcascadevarfail callback. |
|
void | removeSlpCascadeVarFailCallbacks () |
Remove all slpcascadevarfail callbacks. |
|
void | removeSlpConstructCallback (CallbackHandle const &callback) |
Remove a slpconstruct callback. |
|
void | removeSlpConstructCallbacks () |
Remove all slpconstruct callbacks. |
|
void | removeSlpDrColCallback (CallbackHandle const &callback) |
Remove a slpdrcol callback. |
|
void | removeSlpDrColCallbacks () |
Remove all slpdrcol callbacks. |
|
void | removeSlpIntSolCallback (CallbackHandle const &callback) |
Remove a slpintsol callback. |
|
void | removeSlpIntSolCallbacks () |
Remove all slpintsol callbacks. |
|
void | removeSlpIterEndCallback (CallbackHandle const &callback) |
Remove a slpiterend callback. |
|
void | removeSlpIterEndCallbacks () |
Remove all slpiterend callbacks. |
|
void | removeSlpIterStartCallback (CallbackHandle const &callback) |
Remove a slpiterstart callback. |
|
void | removeSlpIterStartCallbacks () |
Remove all slpiterstart callbacks. |
|
void | removeSlpIterVarCallback (CallbackHandle const &callback) |
Remove a slpitervar callback. |
|
void | removeSlpIterVarCallbacks () |
Remove all slpitervar callbacks. |
|
void | removeSlpPreUpdateLinearizationCallback (CallbackHandle const &callback) |
Remove a slppreupdatelinearization callback. |
|
void | removeSlpPreUpdateLinearizationCallbacks () |
Remove all slppreupdatelinearization callbacks. |
|
void | removeUserSolNotifyCallback (CallbackHandle const &callback) |
Remove an usersolnotify callback. |
|
void | removeUserSolNotifyCallbacks () |
Remove all usersolnotify callbacks. |
|
auto | repairInfeas (char penalty, char phase2, char flags, double lepref, double gepref, double lbpref, double ubpref, double delta) -> int |
Provides a simplified interface for XPRSrepairweightedinfeas . |
|
auto | repairWeightedInfeas (Array< double const > const &lepref, Array< double const > const &gepref, Array< double const > const &lbpref, Array< double const > const &ubpref, char phase2, double delta, std::optional< std::string > const &flags) -> int |
By relaxing a set of selected constraints and bounds of an infeasible problem, it attempts to identify a 'solution' that violates the selected set of constraints and bounds minimally, while satisfying all other constraints and bounds. |
|
auto | repairWeightedInfeasBounds (Array< double const > const &lepref, Array< double const > const &gepref, Array< double const > const &lbpref, Array< double const > const &ubpref, Array< double const > const &lerelax, Array< double const > const &gerelax, Array< double const > const &lbrelax, Array< double const > const &ubrelax, char phase2, double delta, std::optional< std::string > const &flags) -> int |
An extended version of XPRSrepairweightedinfeas that allows for bounding the level of relaxation allowed. |
|
void | restore () |
Restores the Optimizer's data structures from a file created by XPRSsave (SAVE ). |
|
void | restore (std::optional< std::string > const &probname) |
Restores the Optimizer's data structures from a file created by XPRSsave (SAVE ). |
|
void | restore (std::optional< std::string > const &probname, std::optional< std::string > const &flags) |
Restores the Optimizer's data structures from a file created by XPRSsave (SAVE ). |
|
void | rhsSA (int nrows, Array< int const > const &rowind, Array< double > const &lower, Array< double > const &upper) |
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients. |
|
void | save () |
Saves the current data structures, i.e. |
|
void | saveAs (std::optional< std::string > const &sSaveFileName) |
Saves the current data structures, i.e. |
|
void | scale (Array< int const > const &rowscale, Array< int const > const &colscale) |
Re-scales the current matrix. |
|
void | setDblControl (int control, double value) |
Sets the value of a given double control parameter. |
|
void | setDefaultControl (int control) |
Sets a single control to its default value. |
|
void | setDefaults () |
Sets all controls to their default values. |
|
auto | setIndicator (int rowind, int colind, int complement) -> void |
Add a single indicator constraint. |
|
void | setIndicators (int nrows, Array< int const > const &rowind, Array< int const > const &colind, Array< int const > const &complement) |
Specifies that a set of rows in the matrix will be treated as indicator constraints during a tree search. |
|
void | setIntControl (int control, int value) |
Sets the value of a given integer control parameter. |
|
void | setLogFile (std::optional< std::string > const &filename) |
This directs all Optimizer output to a log file. |
|
void | setLongControl (int control, XPRSint64 value) |
Sets the value of a given integer control parameter. |
|
void | setMessageStatus (int msgcode, int status) |
Manages suppression of messages. |
|
void | setObjDblControl (int objidx, ObjControl control, double value) |
Sets the value of a given double control parameter associated with an objective. |
|
auto | setObjective (xpress::SizedArray< int const > const &ind, xpress::SizedArray< double const > const &val) -> void |
Set objective to a linear function. |
|
auto | setObjective (xpress::SizedArray< int const > const &ind, xpress::SizedArray< double const > const &val, xpress::ObjSense sense) -> void |
Set objective to a linear function. |
|
void | setObjIntControl (int objidx, ObjControl control, int value) |
Sets the value of a given integer control parameter associated with an objective. |
|
void | setProbName (std::optional< std::string > const &probname) |
Sets the current default problem name. |
|
void | setStrControl (int control, std::optional< std::string > const &value) |
Used to set the value of a given string control parameter. |
|
void | slpAddCoefs (int ncoefs, Array< int const > const &rowind, Array< int const > const &colind, Array< double const > const &factor, Array< int const > const &formulastart, int parsed, Array< int const > const &type, Array< double const > const &value) |
Add non-linear coefficients to the SLP problem. |
|
void | slpCascadeOrder () |
Establish a re-calculation sequence for SLP variables with determining rows. |
|
void | slpCascadeSol () |
Re-calculate consistent values for SLP variables based on the current values of the remaining variables. |
|
void | slpChgCascadeNLimit (int col, int limit) |
Set a variable specific cascade iteration limit. |
|
void | slpChgCoef (int row, int col, double *factor, int parsed, Array< int const > const &type, Array< double const > const &value) |
Add or change a single matrix coefficient using a parsed or unparsed formula. |
|
void | slpChgCoefStr (int row, int col, double *factor, std::optional< std::string > const &formula) |
Add or change a single matrix coefficient using a character string for the formula. |
|
void | slpChgDeltaType (int nvars, Array< int const > const &varind, Array< int const > const &deltatypes, Array< double const > const &values) |
Changes the type of the delta assigned to a nonlinear variable. |
|
auto | slpChgRowStatus (int row) -> int |
Change the status setting of a constraint. |
|
void | slpChgRowWt (int row, double *weight) |
Set or change the initial penalty error weight for a row. |
|
void | slpConstruct () |
Create the full augmented SLP matrix and data structures, ready for optimization. |
|
void | slpDelCoefs (int ncoefs, Array< int const > const &rowind, Array< int const > const &colind) |
Delete coefficients from the current problem. |
|
auto | slpEvaluateCoef (int row, int col) -> double |
Evaluate a coefficient using the current values of the variables. |
|
void | slpFixPenalties (int *p_status) |
Fixe the values of the error vectors. |
|
void | slpGetCoefFormula (int row, int col, double *p_factor, int parsed, int maxtypes, int *p_ntypes, Array< int > const &type, Array< double > const &value) |
Retrieve a single matrix coefficient as a formula split into tokens. |
|
void | slpGetCoefs (int *p_ncoefs, Array< int > const &rowind, Array< int > const &colind) |
Retrieve the list of positions of the nonlinear coefficients in the problem. |
|
void | slpGetCoefStr (int row, int col, double *p_factor, char *formula, int maxbytes, int *p_nbytes) |
Retrieve a single matrix coefficient as a formula in a character string. |
|
void | slpGetRowStatus (int row, int *p_status) |
Retrieve the status setting of a constraint. |
|
auto | slpGetRowWT (int row) -> double |
Get the initial penalty error weight for a row. |
|
void | slpLoadCoefs (int ncoefs, Array< int const > const &rowind, Array< int const > const &colind, Array< double const > const &factor, Array< int const > const &formulastart, int parsed, Array< int const > const &type, Array< double const > const &coef) |
Load non-linear coefficients into the SLP problem. |
|
void | slpReInitialize () |
Reset the SLP problem to match a just augmented system. |
|
void | slpSetDetRow (int nvars, Array< int const > const &colind, Array< int const > const &rowind) |
Set the determining row of a variable. |
|
void | slpUnConstruct () |
Removes the augmentation and returns the problem to its pre-linearization state. |
|
void | slpUpdateLinearization () |
Updates the current linearization. |
|
void | sparseBTran (Array< double > const &val, Array< int > const &ind, int *p_ncoefs) |
Post-multiplies a (row) vector provided by the user by the inverse of the current matrix. |
|
void | sparseFTran (Array< double > const &val, Array< int > const &ind, int *p_ncoefs) |
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix. |
|
auto | storeCuts (int ncuts, int nodups, Array< int const > const &cuttype, Array< char const > const &rowtype, Array< double const > const &rhs, Array< int const > const &start, Array< int const > const &colind, Array< double const > const &cutcoef) -> std::vector< XPRScut > |
Stores cuts into the cut pool, but does not apply them to the current node. |
|
auto | storeCuts (int ncuts, int nodups, Array< int const > const &cuttype, Array< char const > const &rowtype, Array< double const > const &rhs, Array< XPRSint64 const > const &start, Array< int const > const &colind, Array< double const > const &cutcoef) -> std::vector< XPRScut > |
Stores cuts into the cut pool, but does not apply them to the current node. |
|
void | strongBranch (int nbounds, Array< int const > const &colind, Array< char const > const &bndtype, Array< double const > const &bndval, int iterlim, Array< double > const &objval, Array< int > const &status) |
Performs strong branching iterations on all specified bound changes. |
|
void | strongBranchCB (int nbounds, Array< int const > const &colind, Array< char const > const &bndtype, Array< double const > const &bndval, int iterlim, Array< double > const &objval, Array< int > const &status, std::function< int(XPRSProblem &, int)> callback) |
Performs strong branching iterations on all specified bound changes. |
|
void | tune (std::optional< std::string > const &flags) |
This function begins a tuner session for the current problem. |
|
void | tuneProbSetFile (std::optional< std::string > const &setfile, int ifmip, int sense) |
This function begins a tuner session for a set of problems. |
|
void | tunerReadMethod (std::optional< std::string > const &methodfile) |
This function loads a user defined tuner method from the given file. |
|
void | tunerWriteMethod (std::optional< std::string > const &methodfile) |
This function writes the current tuner method to a given file or prints it to the console. |
|
void | unloadProb () |
Unloads and frees all memory associated with the current problem. |
|
void | writeBasis () |
Writes the current basis to a file for later input into the Optimizer. |
|
void | writeBasis (std::optional< std::string > const &filename) |
Writes the current basis to a file for later input into the Optimizer. |
|
void | writeBasis (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Writes the current basis to a file for later input into the Optimizer. |
|
void | writeBinSol () |
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer. |
|
void | writeBinSol (std::optional< std::string > const &filename) |
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer. |
|
void | writeBinSol (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer. |
|
void | writeDirs () |
Writes the tree search directives from the current problem to a directives file. |
|
void | writeDirs (std::optional< std::string > const &filename) |
Writes the tree search directives from the current problem to a directives file. |
|
void | writeIIS (int iis, std::optional< std::string > const &filename, int filetype) |
Writes an LP/MPS/CSV file containing a given Irreducible Infeasible Set (IIS). |
|
void | writeIIS (int iis, std::optional< std::string > const &filename, int filetype, std::optional< std::string > const &flags) |
Writes an LP/MPS/CSV file containing a given Irreducible Infeasible Set (IIS). |
|
void | writeProb () |
Writes the current problem to an MPS or LP file. |
|
void | writeProb (std::optional< std::string > const &filename) |
Writes the current problem to an MPS or LP file. |
|
void | writeProb (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Writes the current problem to an MPS or LP file. |
|
void | writePrtSol () |
Writes the current solution to a fixed format ASCII file, problem_name .prt . |
|
void | writePrtSol (std::optional< std::string > const &filename) |
Writes the current solution to a fixed format ASCII file, problem_name .prt . |
|
void | writePrtSol (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Writes the current solution to a fixed format ASCII file, problem_name .prt . |
|
void | writeSlxSol () |
Creates an ASCII solution file (.slx ) using a similar format to MPS files. |
|
void | writeSlxSol (std::optional< std::string > const &filename) |
Creates an ASCII solution file (.slx ) using a similar format to MPS files. |
|
void | writeSlxSol (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Creates an ASCII solution file (.slx ) using a similar format to MPS files. |
|
void | writeSol () |
Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr ). |
|
void | writeSol (std::optional< std::string > const &filename) |
Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr ). |
|
void | writeSol (std::optional< std::string > const &filename, std::optional< std::string > const &flags) |
Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr ). |
|
Static Public Member Functions |
|
static void | console (XpressProblem &prob, char const *msg, int msglen, int msgtype) |
Default implementation for message listener. |
|
static auto | isNullVariable (Variable v) -> bool |
Check whether a variable is the same as NULL_VARIABLE . |
|
Static Public Member Functions inherited from xpress::XPRSProblem | |
static void | console (XPRSProblem &prob, char const *msg, int msglen, int msgtype) |
Default implementation for message listener. |
|
Public Attributes |
|
CallbackAPI | callbacks |
Callbacks for this problem. |
|
Public Attributes inherited from xpress::XPRSProblem | |
Attributes | attributes |
Attributess for this problem. |
|
Controls | controls |
Controlss for this problem. |
|
Static Public Attributes |
|
static Variable const | NULL_VARIABLE = Variable(nullptr, -1, xpress::objects::XpressProblem::NULL_VARIABLE_INDEX ) |
Variable object that is used to indicate a constant term in expressions that are implemented as maps. |
|
Static Public Attributes inherited from xpress::XPRSProblem | |
static constexpr char const | EQ = 'E' |
Constraint sense for == constraints. |
|
static constexpr char const | GEQ = 'G' |
Constraint sense for >= constraints. |
|
static constexpr char const | LEQ = 'L' |
Constraint sense for <= constraints. |
|
Additional Inherited Members |
|
Public Types inherited from xpress::XPRSProblem | |
typedef std::function< double(double, double, double *)> | MapDeltaFunctor |
Function that maps a value to a value and also provides derivatives. |
|
typedef std::function< double(double)> | MapFunctor |
Function that maps a value to a value. |
|
typedef std::function< std::vector< double >(double const *, double const *, double *)> | MultiMapDeltaFunctor |
Function that maps an array of values to an array of values and also provides derivatives. |
|
typedef std::function< std::vector< double >(double const *)> | MultiMapFunctor |
Function that maps an array of values to an array of values. |
|
typedef std::function< double(double const *, double const *, double *)> | VecMapDeltaFunctor |
Function that maps an array of values to a single value and also provides derivatives. |
|
typedef std::function< double(double const *)> | VecMapFunctor |
Function that maps an array of values to a single value. |
|
Protected Member Functions inherited from xpress::XPRSProblem | |
XPRSProblem (XPRSprob p) | |
Create a new instance from an existing low-level pointer. |
|
Detailed Description
Optimizer interface that allows modeling by objects.
Constructor & Destructor Documentation
XpressProblem() [1/3]
|
inline |
Create a problem without internal name.
If not yet done then Xpress is initialized with the license found at the default license location. If Xpress is initialized this way then it will be automatically de-initialized once the newly created problem instance is closed.
- Since
- 44.00
XpressProblem() [2/3]
|
inline |
Create a problem with internal name.
If not yet done then Xpress is initialized with the license found at the default license location. If Xpress is initialized this way then it will be automatically de-initialized once the newly created problem instance is closed.
- Parameters
-
problemName Internal name of problem, can be std::nullopt
.
- Since
- 44.00
XpressProblem() [3/3]
|
inline |
Create a problem with internal name and non-default license.
If not yet done then Xpress is initialized with the license found at licensePath
. If Xpress is initialized this way then it will be automatically de-initialized once the newly created problem instance is closed.
- Parameters
-
problemName Internal name of problem, can be std::nullopt
.licensePath Path to license location. Can be std::nullopt
or the empty string to indicate that the license is in the default location.
- Since
- 44.00
Member Function Documentation
addConstraint()
|
inline |
Add a single constraint to this problem.
Examples using addConstraint
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSManagedCuts.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- Parameters
-
def Definition of the constraint to add.
- Template Parameters
-
C Constraint type.
- Returns
- The constraint.
- Since
- 44.00
addConstraints() [1/12]
|
inline |
Add multiple constraints of the same type to the problem.
Calls the specified function for each element in [0, ..., count[
and adds a constraint as specified by the return value of the function.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
count Number of constraints to add. defs Function to produce the constraints to add.
- Template Parameters
-
I Type for count Func0 auto (I) -> ConstraintDefinition<C>
: Maps(I)
toConstraintDefinition<C>
.C Constraint type.
- Returns
- The constraints.
- Since
- 44.00
addConstraints() [2/12]
|
inline |
Add multiple constraints of the same type to the problem.
Calls the specified functions for each element in data
and adds a constraint as specified by the return values of the functions.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
dataBegin Pointer to first data element. dataEnd Pointer to one past the last data element. defs Function to produce the constraint definitions.
- Template Parameters
-
I Iterator type. T Data type Func0 auto (T) -> ConstraintDefinition<C>
: Maps(T)
toConstraintDefinition<C>
.C Constraint type.
- Returns
- The created constraint indexed by data.
- Since
- 44.00
addConstraints() [3/12]
|
inline |
Add multiple constraints to this problem.
Calls makeConstraint
for each element in the cartesian product of [0,count1[, ..., [0,countN[
and adds the constraint that is produced by this function call. A deep copy is made of each constraint, thus modifying the constraint later will not alter the model.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
count1 Length of dimension 1. count2 Length of dimension 2. makeConstraint Function to generate a constraint.
- Template Parameters
-
Func0 auto (I1,I2) -> ConstraintDefinition<C>
: Maps(I1,I2)
toConstraintDefinition<C>
.C The type of constraints.
- Since
- 44.00
addConstraints() [4/12]
|
inline |
Add multiple constraints to this problem.
Calls makeConstraint
for each element in the cartesian product of [0,count1[, ..., [0,countN[
and adds the constraint that is produced by this function call. A deep copy is made of each constraint, thus modifying the constraint later will not alter the model.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
count1 Length of dimension 1. count2 Length of dimension 2. count3 Length of dimension 3. makeConstraint Function to generate a constraint.
- Template Parameters
-
Func0 auto (I1,I2,I3) -> ConstraintDefinition<C>
: Maps(I1,I2,I3)
toConstraintDefinition<C>
.C The type of constraints.
- Since
- 44.00
addConstraints() [5/12]
|
inline |
Add multiple constraints to this problem.
Calls makeConstraint
for each element in the cartesian product of [0,count1[, ..., [0,countN[
and adds the constraint that is produced by this function call. A deep copy is made of each constraint, thus modifying the constraint later will not alter the model.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
count1 Length of dimension 1. count2 Length of dimension 2. count3 Length of dimension 3. count4 Length of dimension 4. makeConstraint Function to generate a constraint.
- Template Parameters
-
Func0 auto (I1,I2,I3,I4) -> ConstraintDefinition<C>
: Maps(I1,I2,I3,I4)
toConstraintDefinition<C>
.C The type of constraints.
- Since
- 44.00
addConstraints() [6/12]
|
inline |
Add multiple constraints to this problem.
Calls makeConstraint
for each element in the cartesian product of [0,count1[, ..., [0,countN[
and adds the constraint that is produced by this function call. A deep copy is made of each constraint, thus modifying the constraint later will not alter the model.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
count1 Length of dimension 1. count2 Length of dimension 2. count3 Length of dimension 3. count4 Length of dimension 4. count5 Length of dimension 5. makeConstraint Function to generate a constraint.
- Template Parameters
-
Func0 auto (I1,I2,I3,I4,I5) -> ConstraintDefinition<C>
: Maps(I1,I2,I3,I4,I5)
toConstraintDefinition<C>
.C The type of constraints.
- Since
- 44.00
addConstraints() [7/12]
|
inline |
Add multiple constraints to this problem.
Calls makeConstraint
for each element in the cartesian product of the iterables and adds the constraint that is produced by this function call. A deep copy is made of each constraint, thus modifying the constraint later will not alter the model.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Keys for dimension 1. iterable2 Keys for dimension 2. makeConstraint Function to generate a constraint.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.Iter1 Something that supports begin()
andend()
and contains values of typeK2
.K1 Data for dimension 1. K2 Data for dimension 2. Func0 auto (K1,K2) -> ConstraintDefinition<C>
: Maps(K1,K2)
toConstraintDefinition<C>
.C The type of constraints.
- Since
- 44.00
addConstraints() [8/12]
|
inline |
Add multiple constraints to this problem.
Calls makeConstraint
for each element in the cartesian product of the iterables and adds the constraint that is produced by this function call. A deep copy is made of each constraint, thus modifying the constraint later will not alter the model.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Keys for dimension 1. iterable2 Keys for dimension 2. iterable3 Keys for dimension 3. makeConstraint Function to generate a constraint.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.Iter1 Something that supports begin()
andend()
and contains values of typeK2
.Iter2 Something that supports begin()
andend()
and contains values of typeK3
.K1 Data for dimension 1. K2 Data for dimension 2. K3 Data for dimension 3. Func0 auto (K1,K2,K3) -> ConstraintDefinition<C>
: Maps(K1,K2,K3)
toConstraintDefinition<C>
.C The type of constraints.
- Since
- 44.00
addConstraints() [9/12]
|
inline |
Add multiple constraints to this problem.
Calls makeConstraint
for each element in the cartesian product of the iterables and adds the constraint that is produced by this function call. A deep copy is made of each constraint, thus modifying the constraint later will not alter the model.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Keys for dimension 1. iterable2 Keys for dimension 2. iterable3 Keys for dimension 3. iterable4 Keys for dimension 4. makeConstraint Function to generate a constraint.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.Iter1 Something that supports begin()
andend()
and contains values of typeK2
.Iter2 Something that supports begin()
andend()
and contains values of typeK3
.Iter3 Something that supports begin()
andend()
and contains values of typeK4
.K1 Data for dimension 1. K2 Data for dimension 2. K3 Data for dimension 3. K4 Data for dimension 4. Func0 auto (K1,K2,K3,K4) -> ConstraintDefinition<C>
: Maps(K1,K2,K3,K4)
toConstraintDefinition<C>
.C The type of constraints.
- Since
- 44.00
addConstraints() [10/12]
|
inline |
Add multiple constraints to this problem.
Calls makeConstraint
for each element in the cartesian product of the iterables and adds the constraint that is produced by this function call. A deep copy is made of each constraint, thus modifying the constraint later will not alter the model.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Keys for dimension 1. iterable2 Keys for dimension 2. iterable3 Keys for dimension 3. iterable4 Keys for dimension 4. iterable5 Keys for dimension 5. makeConstraint Function to generate a constraint.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.Iter1 Something that supports begin()
andend()
and contains values of typeK2
.Iter2 Something that supports begin()
andend()
and contains values of typeK3
.Iter3 Something that supports begin()
andend()
and contains values of typeK4
.Iter4 Something that supports begin()
andend()
and contains values of typeK5
.K1 Data for dimension 1. K2 Data for dimension 2. K3 Data for dimension 3. K4 Data for dimension 4. K5 Data for dimension 5. Func0 auto (K1,K2,K3,K4,K5) -> ConstraintDefinition<C>
: Maps(K1,K2,K3,K4,K5)
toConstraintDefinition<C>
.C The type of constraints.
- Since
- 44.00
addConstraints() [11/12]
|
inline |
Add multiple constraints of the same type to the problem.
Calls the specified function for each element in data
and adds a constraint as specified by the return value of the function.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
data Data to generate constraints. defs Function to generate a constraint for each data element.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeT
.T Data type. Func0 auto (T const &) -> ConstraintDefinition<C>
: Maps(T const &)
toConstraintDefinition<C>
.C Constraint type.
- Returns
- The constraints.
- Since
- 44.00
addConstraints() [12/12]
|
inline |
Add multiple constraints of the same type to the problem.
Examples using addConstraints
:
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
defs The constraints to add.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeConstraintDefinition<C>
.C Constraint type.
- Returns
- The constraints.
- Since
- 44.00
addCut()
|
inline |
Add a cut at the current node.
It is assumed that the left-hand side (lhs
) is formulated in terms of the original model. So you can use Variable
instances to formulate it. When using plain variable indices, be sure these indices are for the original model. The function will automatically transform (presolve) the cut to the presolved space. If presolving the cut fails then the cut is not added and the reason for failure is returned. Failing to presolve (and thus adding) a cut is not a problem in every context. That is why this does not raise an exception but instead leaves it to the caller to decide whether this is an error or not.
Examples using addCut
:
- Parameters
-
cuttype User defined cut type. cut The inequality to add as cut.
- Returns
-
0 (zero) if the cut was successfully added. Otherwise the status code from
presolveRow
that indicates why the cut could not be presolved. It is up to the caller to decide whether not being able to presolve the cut is a problem or not.
- Since
- 44.00
addManagedCut()
|
inline |
Add a managed cut at the current node.
It is assumed that the left-hand side (lhs
) is formulated in terms of the original model. So you can use Variable
instances to formulate it. The function will automatically transform (presolve) the cut to the presolved space. If presolving the cut fails then the cut is not added.
Examples using addManagedCut
:
- Parameters
-
globallyValid Whether the cut is globally valid. cut The inequality to add as cut.
- Since
- 44.00
addMipSol() [1/4]
|
inline |
Adds a new feasible, infeasible or partial MIP solution for the problem to the Optimizer.
- Parameters
-
length Number of columns for which a value is provided. solval Double array of length length
containing solution values.colind Optional integer array of length length
containing the column indices for the solution values provided insolval
. Should benull
whenlength
is equal toCOLS
, in which case it is assumed thatsolval
provides a complete solution vector.name An optional name to associate with the solution. Can be null.
addMipSol() [2/4]
|
inline |
Add a MIP solution.
This is a convenience wrapper for addMipSol(int, Array<double const> const&, Array<int const> const&, std::optional<std::string> const &)
.
Examples using addMipSol
:
- Parameters
-
val objects.Variable values. ind objects.Variable indices.
- See also
- addMipSol(int, Array<double const> const&, Array<int const> const&, std::optional<std::string> const &)
- Since
- 44.00
addMipSol() [3/4]
|
inline |
Add a MIP solution.
This is a convenience wrapper for addMipSol(int, Array<double const> const&, Array<int const> const&, std::optional<std::string> const &)
.
Examples using addMipSol
:
- Parameters
-
val objects.Variable values. ind objects.Variable indices. name Name of solution.
- See also
- addMipSol(int, Array<double const> const&, Array<int const> const&, std::optional<std::string> const &)
- Since
- 44.00
addMipSol() [4/4]
|
inline |
Adds a feasible, infeasible or partial MIP solution for the problem to the Optimizer.
Examples using addMipSol
:
- Parameters
-
values Values for variables
.variables Variables in the solution. name Name for solution, can be std::nullopt
.
- Since
- 44.00
addObjective()
|
inline |
Add a objective function.
This turns the problem into a multi-objective problem.
Examples using addObjective
:
- Parameters
-
obj The objective priority Priority for objective. weight Weight for objective.
- Since
- 44.00
addVariable() [1/7]
|
inline |
Add a single variable to this problem.
This variable will be continuous, have default bounds (0 and infinity) and will not have a name.
Examples using addVariable
:
- BoolVars.cpp
- Boxes02.cpp
- CuttingStock.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- Wagon.cpp
- Returns
- The newly created variable.
- Since
- 44.00
addVariable() [2/7]
|
inline |
Add a single variable to this problem.
The variable will have default bounds and no name.
Examples using addVariable
:
- BoolVars.cpp
- Boxes02.cpp
- CuttingStock.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- Wagon.cpp
- Parameters
-
type Type for variable.
- Returns
- The newly created variable.
- Since
- 44.00
addVariable() [3/7]
|
inline |
Add a single variable to this problem.
The variable will have default bounds.
Examples using addVariable
:
- BoolVars.cpp
- Boxes02.cpp
- CuttingStock.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- Wagon.cpp
- Parameters
-
type Type for variable. name Name for variable.
- Returns
- The newly created variable.
- Since
- 44.00
addVariable() [4/7]
|
inline |
Add a single variable to this problem.
Examples using addVariable
:
- BoolVars.cpp
- Boxes02.cpp
- CuttingStock.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- Wagon.cpp
- Parameters
-
lb Lower bound for variable. ub Upper bound for variable. type Type for variable.
- Returns
- The newly created variable.
- Since
- 44.00
addVariable() [5/7]
|
inline |
Add a single variable to this problem.
Examples using addVariable
:
- BoolVars.cpp
- Boxes02.cpp
- CuttingStock.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- Wagon.cpp
- Parameters
-
lb Lower bound for variable. ub Upper bound for variable. type Type for variable. limit Global limit for the variable. This is ignored unless the variable is semi-continuous, semi-integer or partial integer. name Name for variable, can be std::nullopt
.
- Returns
- The newly created variable.
- Since
- 44.00
addVariable() [6/7]
|
inline |
Add a single variable to this problem.
Examples using addVariable
:
- BoolVars.cpp
- Boxes02.cpp
- CuttingStock.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- Wagon.cpp
- Parameters
-
lb Lower bound for variable. ub Upper bound for variable. type Type for variable. name Name for variable, can be std::nullopt
.
- Returns
- The newly created variable.
- Since
- 44.00
addVariable() [7/7]
|
inline |
Add a single variable to this problem.
The variable will have default type (continuous) and bounds (0 and infinity).
Examples using addVariable
:
- BoolVars.cpp
- Boxes02.cpp
- CuttingStock.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- Wagon.cpp
- Parameters
-
name Name for variable.
- Returns
- The newly created variable.
- Since
- 44.00
addVariables() [1/10]
|
inline |
Create an 1-dimensional array of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toArray()
function.
// Create a multi-dimensional array of binary variables std::vector< xpress::objects::Variable> = prob->addVariables(xpress::toInt(dim)) .withType(xpress::objects::ColumnType::Binary) .toArray();
See xpress::VariableBuilder::VariableArrayBuilder<C>
for details of how to modify the specification in the builder.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
dim Dimension.
- Template Parameters
-
C Type for dimension.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [2/10]
|
inline |
Create an 2-dimensional array of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toArray()
function.
// Create a multi-dimensional array of binary variables std::vector< std::vector<xpress::objects::Variable> > = prob->addVariables(xpress::toInt(dim1) ,xpress::toInt(dim2)) .withType(xpress::objects::ColumnType::Binary) .toArray();
See xpress::VariableBuilder::VariableArray2Builder<C1 ,C2>
for details of how to modify the specification in the builder.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
dim1 Dimension 1. dim2 Dimension 2.
- Template Parameters
-
C1 Type for dimension 1. C2 Type for dimension 2.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [3/10]
|
inline |
Create an 3-dimensional array of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toArray()
function.
// Create a multi-dimensional array of binary variables std::vector< std::vector< std::vector<xpress::objects::Variable> > > = prob->addVariables(xpress::toInt(dim1) ,xpress::toInt(dim2) ,xpress::toInt(dim3)) .withType(xpress::objects::ColumnType::Binary) .toArray();
See xpress::VariableBuilder::VariableArray3Builder<C1 ,C2 ,C3>
for details of how to modify the specification in the builder.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
dim1 Dimension 1. dim2 Dimension 2. dim3 Dimension 3.
- Template Parameters
-
C1 Type for dimension 1. C2 Type for dimension 2. C3 Type for dimension 3.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [4/10]
|
inline |
Create an 4-dimensional array of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toArray()
function.
// Create a multi-dimensional array of binary variables std::vector< std::vector< std::vector< std::vector<xpress::objects::Variable> > > > = prob->addVariables(xpress::toInt(dim1) ,xpress::toInt(dim2) ,xpress::toInt(dim3) ,xpress::toInt(dim4)) .withType(xpress::objects::ColumnType::Binary) .toArray();
See xpress::VariableBuilder::VariableArray4Builder<C1 ,C2 ,C3 ,C4>
for details of how to modify the specification in the builder.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
dim1 Dimension 1. dim2 Dimension 2. dim3 Dimension 3. dim4 Dimension 4.
- Template Parameters
-
C1 Type for dimension 1. C2 Type for dimension 2. C3 Type for dimension 3. C4 Type for dimension 4.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [5/10]
|
inline |
Create an 5-dimensional array of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toArray()
function.
// Create a multi-dimensional array of binary variables std::vector< std::vector< std::vector< std::vector< std::vector<xpress::objects::Variable> > > > > = prob->addVariables(xpress::toInt(dim1) ,xpress::toInt(dim2) ,xpress::toInt(dim3) ,xpress::toInt(dim4) ,xpress::toInt(dim5)) .withType(xpress::objects::ColumnType::Binary) .toArray();
See xpress::VariableBuilder::VariableArray5Builder<C1 ,C2 ,C3 ,C4 ,C5>
for details of how to modify the specification in the builder.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
dim1 Dimension 1. dim2 Dimension 2. dim3 Dimension 3. dim4 Dimension 4. dim5 Dimension 5.
- Template Parameters
-
C1 Type for dimension 1. C2 Type for dimension 2. C3 Type for dimension 3. C4 Type for dimension 4. C5 Type for dimension 5.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [6/10]
|
inline |
Create an 1-dimensional map of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toMap()
function.
// Create a multi-dimensional map of binary variables std::unordered_map<K1 ,xpress::objects::Variable> x = prob->addVariables(iterable1 ) .withType(xpress::objects::ColumnType::Binary) .toMap();
See xpress::VariableBuilder::VariableMapBuilder
for details of how to modify the specification in the builder.
Attention: this function takes a reference to the passed collections, so data must stay valid over the lifetime of the returned Builder object.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Data for dimension 1.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.K1 Data type for dimension 1.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [7/10]
|
inline |
Create an 2-dimensional map of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toMap()
function.
// Create a multi-dimensional map of binary variables xpress::maps::HashMap2<K1 ,K2,xpress::objects::Variable> x = prob->addVariables(iterable1 ,iterable2) .withType(xpress::objects::ColumnType::Binary) .toMap();
See xpress::VariableBuilder::VariableMap2Builder
for details of how to modify the specification in the builder.
Attention: this function takes a reference to the passed collections, so data must stay valid over the lifetime of the returned Builder object.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Data for dimension 1. iterable2 Data for dimension 2.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.Iter1 Something that supports begin()
andend()
and contains values of typeK2
.K1 Data type for dimension 1. K2 Data type for dimension 2.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [8/10]
|
inline |
Create an 3-dimensional map of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toMap()
function.
// Create a multi-dimensional map of binary variables xpress::maps::HashMap3<K1 ,K2 ,K3,xpress::objects::Variable> x = prob->addVariables(iterable1 ,iterable2 ,iterable3) .withType(xpress::objects::ColumnType::Binary) .toMap();
See xpress::VariableBuilder::VariableMap3Builder
for details of how to modify the specification in the builder.
Attention: this function takes a reference to the passed collections, so data must stay valid over the lifetime of the returned Builder object.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Data for dimension 1. iterable2 Data for dimension 2. iterable3 Data for dimension 3.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.Iter1 Something that supports begin()
andend()
and contains values of typeK2
.Iter2 Something that supports begin()
andend()
and contains values of typeK3
.K1 Data type for dimension 1. K2 Data type for dimension 2. K3 Data type for dimension 3.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [9/10]
|
inline |
Create an 4-dimensional map of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toMap()
function.
// Create a multi-dimensional map of binary variables xpress::maps::HashMap4<K1 ,K2 ,K3 ,K4,xpress::objects::Variable> x = prob->addVariables(iterable1 ,iterable2 ,iterable3 ,iterable4) .withType(xpress::objects::ColumnType::Binary) .toMap();
See xpress::VariableBuilder::VariableMap4Builder
for details of how to modify the specification in the builder.
Attention: this function takes a reference to the passed collections, so data must stay valid over the lifetime of the returned Builder object.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Data for dimension 1. iterable2 Data for dimension 2. iterable3 Data for dimension 3. iterable4 Data for dimension 4.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.Iter1 Something that supports begin()
andend()
and contains values of typeK2
.Iter2 Something that supports begin()
andend()
and contains values of typeK3
.Iter3 Something that supports begin()
andend()
and contains values of typeK4
.K1 Data type for dimension 1. K2 Data type for dimension 2. K3 Data type for dimension 3. K4 Data type for dimension 4.
- Returns
- A builder that will create the variables.
- Since
- 44.00
addVariables() [10/10]
|
inline |
Create an 5-dimensional map of variables.
This function returns a builder that generates variables according to a specification. The specification can be modified. In order to actually create the variables, you have to call the returned builder's toMap()
function.
// Create a multi-dimensional map of binary variables xpress::maps::HashMap5<K1 ,K2 ,K3 ,K4 ,K5,xpress::objects::Variable> x = prob->addVariables(iterable1 ,iterable2 ,iterable3 ,iterable4 ,iterable5) .withType(xpress::objects::ColumnType::Binary) .toMap();
See xpress::VariableBuilder::VariableMap5Builder
for details of how to modify the specification in the builder.
Attention: this function takes a reference to the passed collections, so data must stay valid over the lifetime of the returned Builder object.
Examples using addVariables
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
iterable1 Data for dimension 1. iterable2 Data for dimension 2. iterable3 Data for dimension 3. iterable4 Data for dimension 4. iterable5 Data for dimension 5.
- Template Parameters
-
Iter0 Something that supports begin()
andend()
and contains values of typeK1
.Iter1 Something that supports begin()
andend()
and contains values of typeK2
.Iter2 Something that supports begin()
andend()
and contains values of typeK3
.Iter3 Something that supports begin()
andend()
and contains values of typeK4
.Iter4 Something that supports begin()
andend()
and contains values of typeK5
.K1 Data type for dimension 1. K2 Data type for dimension 2. K3 Data type for dimension 3. K4 Data type for dimension 4. K5 Data type for dimension 5.
- Returns
- A builder that will create the variables.
- Since
- 44.00
bndSA() [1/3]
|
inline |
Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds.
If the bounds are varied within these ranges the current basis remains optimal and feasible.
- Parameters
-
len Sensitivity analysis is performed only on the first len
variables invariables
.variables Variables on which to perform sensitivity analysis. lblower Array of length at least len
that receives the sensitivity analysis lower bounds for the variables' lower bound constraints.lbupper Array of length at least len
that receives the sensitivity analysis upper bounds for the variables' lower bound constraints.ublower Array of length at least len
that receives the sensitivity analysis lower bounds for the variables' upper bound constraints.ubupper Array of length at least len
that receives the sensitivity analysis upper bounds for the variables' upper bound constraints.
- Since
- 44.00
bndSA() [2/3]
|
inline |
Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds.
If the bounds are varied within these ranges the current basis remains optimal and feasible.
- Parameters
-
ncols Number of variables whose sensitivity is sought. colind Integer array of length ncols
containing the indices of the columns whose bounds' ranges are required.lblower Double array of length ncols
where the variable lower bound lower range values are to be returned.lbupper Double array of length ncols
where the variable lower bound upper range values are to be returned.ublower Double array of length ncols
where the variable upper bound lower range values are to be returned.ubupper Double array of length ncols
where the variable upper bound upper range values are to be returned.
bndSA() [3/3]
|
inline |
Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds.
If the bounds are varied within these ranges the current basis remains optimal and feasible.
- Parameters
-
variables Variables on which to perform sensitivity analysis. lblower Array at least as long as variables
that receives the sensitivity analysis lower bounds for the variables' lower bound constraints.lbupper Array at least as long as variables
that receives the sensitivity analysis upper bounds for the variables' lower bound constraints.ublower Array at least as long as variables
that receives the sensitivity analysis lower bounds for the variables' upper bound constraints.ubupper Array at least as long as variables
that receives the sensitivity analysis upper bounds for the variables' upper bound constraints.
- Since
- 44.00
chgBounds() [1/3]
|
inline |
Change bounds of a single column.
- Parameters
-
j Column to change. lb New lower bound. ub New upper bound.
- See also
- chgBounds(int, std::vector<int>, std::vector<char>, std::vector<double>)
- Since
- 44.00
chgBounds() [2/3]
|
inline |
Used to change the bounds on columns in the matrix.
- Parameters
-
nbounds Number of bounds to change. colind Integer array of size nbounds
containing the indices of the columns on which the bounds will change.bndtype Character array of length nbounds
indicating the type of bound to change:-
U
: indicates change the upper bound; -
L
: indicates change the lower bound; -
B
: indicates change both bounds, i.e. fix the column.
bndval Double array of length nbounds
giving the new bound values. -
chgBounds() [3/3]
|
inline |
Change bounds for multiple variables.
- Parameters
-
variables Variables for which to change bounds. bndType Type of bounds to change. bndValue New bounds.
- Since
- 44.00
chgCoef() [1/2]
|
inline |
Changes the coefficient for variable
in row
in the linear matrix.
Examples using chgCoef
:
- Parameters
-
row Inequality in which to change coefficient. variable Variable for which to change coefficient. coefficient The coefficient.
- Returns
- Always returns this instance.
- Since
- 44.00
chgCoef() [2/2]
|
inline |
Used to change a single coefficient in the matrix.
If the coefficient does not already exist, a new coefficient will be added to the matrix. If many coefficients are being added to a row of the matrix, it may be more efficient to delete the old row of the matrix and add a new row.
- Parameters
-
row Row index for the coefficient. col Column index for the coefficient. coef New value for the coefficient. If coef
is zero, any existing coefficient will be deleted.
chgCoefs()
|
inline |
Change coefficients in the linear matrix.
The function changes the coefficients as indicated by the triplets given by row
, variable
, coefficient
.
- Parameters
-
row Inequality in which to change coefficient. variable Variable for which to change coefficient. coefficient The coefficient.
- Returns
- Always returns this instance.
- Since
- 44.00
chgColType() [1/2]
|
inline |
Used to change the type of a specified set of columns in the matrix.
- Parameters
-
ncols Number of columns to change. colind Integer array of length ncols
containing the indices of the columns.coltype Character array of length ncols
giving the new column types:-
C
: indicates a continuous column; -
B
: indicates a binary column; -
I
: indicates an integer column. -
S
: indicates a semi—continuous column. The semi—continuous lower bound will be set to1.0
. -
R
: indicates a semi—integer column. The semi—integer lower bound will be set to1.0
. -
P
: indicates a partial integer column. The partial integer limit will be set to1.0
.
-
chgColType() [2/2]
|
inline |
Change types for multiple variables.
Examples using chgColType
:
- Parameters
-
variables Variables for which to change types. colType New column types.
- Since
- 44.00
chgObj() [1/3]
|
inline |
Used to change the objective function coefficients.
- Parameters
-
ncols Number of objective function coefficient elements to change. colind Integer array of length ncols
containing the indices of the columns whose objective coefficients will change. An index of-1
indicates that the fixed part of the objective function on the right hand side should change.objcoef Double array of length ncols
giving the new objective function coefficients.
chgObj() [2/3]
|
inline |
Change objective function coefficient.
This changes the linear coefficient in the first/primary objective function. In order to delete a coefficient from the objective set it to 0 (zero).
Examples using chgObj
:
- Parameters
-
variable Variable for which to change coefficient. coefficient New coefficient for variables.
- Returns
- Always returns this instance.
- Since
- 44.00
chgObj() [3/3]
|
inline |
Change objective function coefficients.
This changes the linear coefficients in the first/primary objective function. In order to delete a coefficient from the objective set it to 0 (zero).
Examples using chgObj
:
- Parameters
-
variables Variables for which to change coefficients. coefficients New coefficients for variables.
- Returns
- Always returns this instance.
- Since
- 44.00
chgObjN() [1/3]
|
inline |
Modifies one or more coefficients of an objective function in a multi-objective problem.
If the objective already exists, any coefficients not present in the colind
and objcoef
arrays will unchanged. If the objective does not exist, it will be added to the problem.
- Parameters
-
objidx Index of the objective function to add or modify. ncols Number of objective function coefficient elements to change. colind Integer array of length ncols
containing the indices of the columns whose objective coefficients will change. An index of-1
indicates that the fixed part of the objective function on the right hand side should change.objcoef Double array of length ncols
giving the new objective function coefficients.
chgObjN() [2/3]
|
inline |
Change an objective function coefficient for a multi-objective problem.
This changes the linear coefficient in the objective function objidx
. In order to delete a coefficient from the objective set it to 0 (zero).
- Parameters
-
objidx Index of objective function to change, variable Variable for which to change coefficient. coefficient New coefficient for variable.
- Returns
- Always returns this instance.
- Since
- 44.00
chgObjN() [3/3]
|
inline |
Change objective function coefficients for a multi-objective problem.
This changes tje linear coefficients in the objective function objidx
. In order to delete a coefficient from the obejctive set it to 0 (zero).
- Parameters
-
objidx Index of objective function to change, variables Variables for which to change coefficients. coefficients New coefficients for variables.
- Returns
- Always returns this instance.
- Since
- 44.00
chgRhs() [1/2]
|
inline |
Used to change right—hand side values of the problem.
- Parameters
-
nrows Number of right hand side values to change. rowind Integer array of length nrows
containing the indices of the rows on which the right hand side values will change.rhs Double array of length nrows
giving the right hand side values.
chgRhs() [2/2]
|
inline |
Change right-hand side for multiple rows.
- Parameters
-
rows Inequalities for which to change right-hand sides. newRHS New right-hand side values.
- Since
- 44.00
chgRhsRange() [1/2]
|
inline |
Used to change the range for a row of the problem matrix.
- Parameters
-
nrows Number of range elements to change. rowind Integer array of length nrows
containing the indices of the rows on which the range elements will change.rng Double array of length nrows
giving the range values.
chgRhsRange() [2/2]
|
inline |
Change right-hand side ranges for multiple rows.
- Parameters
-
rows Inequalities for which to right-hand side ranges. newRange New right-hand side range values.
- Since
- 44.00
chgRowType() [1/2]
|
inline |
Used to change the type of a row in the matrix.
- Parameters
-
nrows Number of rows to change. rowind Integer array of length nrows
containing the indices of the rows.rowtype Character array of length nrows
giving the new row types:-
L
: indicates a <= row; -
E
: indicates an = row; -
G
: indicates a >= row; -
R
: indicates a range row; -
N
: indicates a free row.
-
chgRowType() [2/2]
|
inline |
Change types for multiple rows.
- Parameters
-
rows Inequalities for which to change types. rowType New row types.
- Since
- 44.00
console()
|
inlinestatic |
Default implementation for message listener.
- Parameters
-
prob The problem on which the callback is invoked. msg The message to be sent. This can be nullptr
(ifmsglen
is zero). If notnullptr
then it is terminated by aNUL
character.msglen The length of msg
.msgtype Type of message. See the reference documentation for XPRSaddcbmessage
for details about this.
- Since
- 44.00
createBranchObject()
|
inline |
Create a branch object.
This is different from the super class's createBranchObject() function in two aspects:
- it returns an instance of
BranchObject
, notXPRSbranchobject
. The former is a subclass of the latter and has functions to add bounds and constraints that referenceVariable
objects. - the returned object always operates in the original space.
- Returns
- The branch object.
- Since
- 44.00
delCols()
|
inlineoverridevirtual |
Delete columns from this problem.
Note that this may be expensive if you use Variable
instances to formulate your problem since indices of remaining variables will have to be updated after columns were deleted from the underlying model. If you have to delete multiple variables then it is best to collect all variables to be deleted in an array and then delete all of them with a single call to this function.
- Parameters
-
ncols Number of columns to delete. colind Indices of columns to delete.
- Since
- 44.00
Reimplemented from xpress::XPRSProblem.
delGenCons()
|
inlineoverridevirtual |
Delete constraints from this problem.
Note that this may be expensive if you use GeneralConstraint
instances to formulate your problem since indices of remaining constraints will have to be updated after constraints were deleted from the underlying model. If you have to delete multiple constraints then it is best to collect all constraints to be deleted in an array and then delete all of them with a single call to this function.
- Parameters
-
nconstraints Number of constraints to delete. conind Indices of constraints to delete.
- Since
- 44.00
Reimplemented from xpress::XPRSProblem.
delGeneralConstraints()
|
inline |
Delete general constraints from this problem.
- Parameters
-
constraints The constraints to be deleted.
- Since
- 44.00
delIndicator()
|
inline |
Delete a single indicator constraint.
This only deletes the "indicator property from the specified row. Neither the associated variable nor the row are deleted.
- Parameters
-
row Row from which to delete the indicator constraint.
- Since
- 44.00
delInequalities()
|
inline |
Delete inequality constraints from this problem.
- Parameters
-
rows Inequalities to be deleted.
- Since
- 44.00
delPwlCons()
|
inlineoverridevirtual |
Delete piecewise linear constraints from this problem.
Note that this may be expensive if you use PWL
instances to formulate your problem since indices of remaining variables will have to be updated after columns were deleted from the underlying model. If you have to delete multiple variables then it is best to collect all variables to be deleted in an array and then delete all of them with a single call to this function.
- Parameters
-
npwls Number of constraints to delete. pwlind Indices of constraints to delete.
- Since
- 44.00
Reimplemented from xpress::XPRSProblem.
delPwlConstraints()
|
inline |
Delete PWL constraints from this problem.
- Parameters
-
pwls Piecewise linear constraints to be deleted.
- Since
- 44.00
delRows()
|
inlineoverridevirtual |
Delete rows from this problem.
Note that this may be expensive if you use Inequality
instances to formulate your problem since indices of remaining rows will have to be updated after rows were deleted from the underlying model. If you have to delete multiple rows then it is best to collect all rows to be deleted in an array and then delete all of them with a single call to this function.
- Parameters
-
nrows Number of rows to delete. rowind Indices of rows to delete.
- Since
- 44.00
Reimplemented from xpress::XPRSProblem.
delSets()
|
inlineoverridevirtual |
Delete sets from this problem.
Note that this may be expensive if you use SOS
instances to formulate your problem since indices of remaining sets will have to be updated after sets were deleted from the underlying model. If you have to delete multiple sets then it is best to collect all sets to be deleted in an array and then delete all of them with a single call to this function.
- Parameters
-
nsets Number of sets to delete. sosind Indices of sets to delete.
- Since
- 44.00
Reimplemented from xpress::XPRSProblem.
delSOS() [1/2]
|
inline |
Delete a single SOS from the problem.
- Parameters
-
sos SOS to delete.
- Since
- 44.00
delSOS() [2/2]
|
inline |
Delete special ordered set constraints.
Removes all the specified special ordered set constraints from this problem.
- Parameters
-
soss SOS to be deleted.
- Since
- 44.00
delVariables()
|
inline |
Delete variables from this problem.
- Parameters
-
vars Variables to be deleted.
- Since
- 44.00
generalConstraintForIndex()
|
inline |
Map a general constraint index to a GeneralConstraint
object.
- Parameters
-
index The index to map.
- Returns
-
The
GeneralConstraint
object forindex
.
- See also
- getGeneralConstraints()
- Since
- 44.00
generalConstraintForIndices()
|
inline |
Map a range of general constraint indices to GeneralConstraint
objects.
- Parameters
-
first First index in range (inclusive). last Last index in range (inclusive).
- Returns
-
The
GeneralConstraint
objects in the specified range.
- Since
- 44.00
getCallbackDual() [1/2]
|
inline |
Get the dual associated with the current callback for a single row.
- Parameters
-
r Inequality for which to query dual.
- Returns
-
Dual for
r
.
- Since
- 44.00
getCallbackDual() [2/2]
|
inline |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const
that queries only a single value.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackDuals() [1/4]
|
inline |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const
that allocates the output array and queries all elements.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackDuals() [2/4]
|
inline |
Returns the dual values.
from the solution associated with the current callback.
- Parameters
-
p_available This variable will be set to 1 if a dual solution is available. May be null
if not required.duals Double array of length last-first+1
where the values of the dual variables will be returned. May benull
if not required.first First row whose dual value to return. last Last row whose dual value to return.
getCallbackDuals() [3/4]
|
inline |
Convenience wrapper for getCallbackDuals(bool*, Array<double> const &, int, int) const
that allocates the output array.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackDuals() [4/4]
|
inline |
Get the duals associated with the current callback for a collection of rows.
The values in the returned array are in 1-to-1 correspondence with the row in row
.
Examples using getCallbackDuals
:
- Parameters
-
rows Inequalties for which to query duals.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeInequality
.
- Returns
-
Duals for inequalities in
rows
.
- Since
- 44.00
getCallbackRedCost() [1/2]
|
inline |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const
that queries only a single value.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackRedCost() [2/2]
|
inline |
Get the reduced cost associated with the current callbackfor a single variable.
- Parameters
-
v Variable for which reduced cost is queried.
- Returns
-
Reduced cost for
v
.
- Since
- 44.00
getCallbackRedCosts() [1/4]
|
inline |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const
that allocates the output array and queries all elements.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackRedCosts() [2/4]
|
inline |
Returns the reduced costs.
from the solution associated with the current callback.
- Parameters
-
p_available This variable will be set to 1 if a dual solution is available. May be null
if not required.djs Double array of length last-first+1
where the reduced costs of the variables will be returned. May benull
if not required.first First column whose reduced cost to return. last Last column whose reduced cost to return.
getCallbackRedCosts() [3/4]
|
inline |
Convenience wrapper for getCallbackRedCosts(bool*, Array<double> const &, int, int) const
that allocates the output array.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackRedCosts() [4/4]
|
inline |
Get the reduced costs associated with the current callback for a collection of variables.
The values in the returned array are in 1-to-1 correspondence with the variables in vars
.
Examples using getCallbackRedCosts
:
- Parameters
-
vars Variables for which reduced costs are queried.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeVariable
.
- Returns
-
Reduced costs for variables in
vars
.
- Since
- 44.00
getCallbackSlack() [1/2]
|
inline |
Get the slack associated with the current callback for a single row.
- Parameters
-
r Inequality for which to query slack.
- Returns
-
Slack for
r
.
- Since
- 44.00
getCallbackSlack() [2/2]
|
inline |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const
that queries only a single value.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackSlacks() [1/4]
|
inline |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const
that allocates the output array and queries all elements.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackSlacks() [2/4]
|
inline |
Returns the slack values.
from the solution associated with the current callback.
- Parameters
-
p_available This variable will be set to 1 if a solution is available. May be null
if not required.slacks Double array of length last-first+1
where the values of the slack variables will be returned. May benull
if not required.first First row whose slack value to return. last Last row whose slack value to return.
getCallbackSlacks() [3/4]
|
inline |
Convenience wrapper for getCallbackSlacks(bool*, Array<double> const &, int, int) const
that allocates the output array.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackSlacks() [4/4]
|
inline |
Get the slacks associated with the current callback for a collection of rows.
The values in the returned array are in 1-to-1 correspondence with the rows in rows
.
Examples using getCallbackSlacks
:
- Parameters
-
rows Inequalities for which to query slacks.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeInequality
.
- Returns
-
Slacks for inequalities in
rows
.
- Since
- 44.00
getCallbackSolution() [1/6]
|
inline |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const
that allocates the output array and queries all elements.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackSolution() [2/6]
|
inline |
Returns the primal values.
from the solution associated with the current callback.
- Parameters
-
p_available This variable will be set to 1 if a solution is available. May be null
if not required.x Double array of length last-first+1
where the values of the primal variables will be returned. May benull
if not required.first First column in the solution to return. last Last column in the solution to return.
getCallbackSolution() [3/6]
|
inline |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const
that allocates the output array.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackSolution() [4/6]
|
inline |
Convenience wrapper for getCallbackSolution(bool*, Array<double> const &, int, int) const
that queries only a single value.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getCallbackSolution() [5/6]
|
inline |
Get the solution associated with the current callback for a collection of variables.
The values in the returned array are in 1-to-1 correspondence with the variables in vars
.
Examples using getCallbackSolution
:
- Parameters
-
vars Variables for which solution is queried.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeVariable
.
- Returns
-
Solution values for
vars
.
- Since
- 45.00
getCallbackSolution() [6/6]
|
inline |
Get the solution associated with the current callback for a single variable.
Examples using getCallbackSolution
:
- Parameters
-
v Variable for which solution is queried.
- Returns
-
Solution for
v
.
- Since
- 44.00
getCoef() [1/2]
|
inline |
Query a single coefficient from the linear matrix.
Retrieves the coefficient of variable
in row
in the linear matrix. Note that the coefficient will be 0 (zero) in case the variable has no coefficient in that row.
- Parameters
-
row The row in which to query the coefficient. variable The variable for which to query the coefficient.
- Returns
- The queried coefficient.
- Since
- 44.00
getCoef() [2/2]
|
inline |
Returns a single coefficient in the constraint matrix.
- Parameters
-
row Row of the constraint matrix. col Column of the constraint matrix.
getDual() [1/2]
|
inline |
Get the dual for a single row.
- Parameters
-
r Inequality for which to query dual.
- Returns
-
Dual for
r
.
- Since
- 44.00
getDual() [2/2]
|
inline |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const
that queries only a single value.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getDuals() [1/4]
|
inline |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const
that allocates the output array and queries all elements.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getDuals() [2/4]
|
inline |
Returns the dual values.
from the incumbent solution during or after optimization of a continuous problem with XPRSoptimize
, XPRSlpoptimize
or XPRSnlpoptimize
.
- Parameters
-
status Information about the dual solution returned. duals Double array of length last-first+1
where the values of the dual variables will be returned. May benull
if not required.first First row in the dual solution. last Last row in the dual solution.
getDuals() [3/4]
|
inline |
Convenience wrapper for getDuals(int*, Array<double> const &, int, int) const
that allocates the output array.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getDuals() [4/4]
|
inline |
Get the duals for a collection of rows.
The values in the returned array are in 1-to-1 correspondence with the row in row
.
Examples using getDuals
:
- Parameters
-
rows Inequalties for which to query duals.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeInequality
.
- Returns
-
Duals for inequalities in
rows
.
- Since
- 44.00
getGeneralConstraints()
|
inline |
Get all the general constraints currently defined in this problem.
- Returns
- All general constraints in this problem.
- See also
- generalConstraintForIndex(int)
- Since
- 44.00
getIIS()
|
inline |
Get the specified IIS.
Examples using getIIS
:
- Parameters
-
iis The index of the IIS for which data is queried.
- Returns
-
The IIS specified by
iis
.
- Since
- 44.00
getIndicator()
|
inline |
Get indicator information for a single row.
- Parameters
-
row The row to query.
- Returns
-
Indicator information for
row
. This will bestd::nullopt
ifrow
is not an indicator row.
- Since
- 44.00
getInequalities()
|
inline |
Get all the inequalities currently defined in this problem.
- Returns
- All the inequalities in this problem.
- See also
- inequalityForIndex(int)
- Since
- 44.00
getLhsExpression()
|
inline |
Get the left-hand side of a row as an expression.
- Parameters
-
row Index of row to fetch.
- Returns
-
The left-hand side of row
row
.
- Since
- 44.00
getObj() [1/2]
|
inline |
Returns the objective function coefficients for the columns in a given range.
- Parameters
-
first First column in the range. last Last column in the range.
getObj() [2/2]
|
inline |
Query an objective function coefficient.
Retrieves the linear objective coefficient for the specified variable from the first/primary objective.
- Parameters
-
variable The variable for which to query the objective.
- Returns
-
The objective coefficient for
variable
.
- Since
- 44.00
getObjN() [1/2]
|
inline |
For a given objective function, returns the objective coefficients for the columns in a given range.
- Parameters
-
objidx Index of the objective function whose coefficients to return. first First column in the range. last Last column in the range.
getObjN() [2/2]
|
inline |
Query an objective function coefficient.
Retrieves the linear objective coefficient for the specified variable from objective objidx
.
- Parameters
-
objidx objects.Index of objective function to query. variable The variable for which to query the objective.
- Returns
-
The objective coefficient for
variable
.
- Since
- 44.00
getPWLs()
|
inline |
Get all piecewise linear constraints currently defined in this problem.
- Returns
- All piecewise linear constraints in this problem.
- See also
- pwlForIndex(int)
- Since
- 44.00
getRedCost() [1/2]
|
inline |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const
that queries only a single value.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getRedCost() [2/2]
|
inline |
Get the reduced cost for a single variable.
- Parameters
-
v Variable for which reduced cost is queried.
- Returns
-
Reduced cost for
v
.
- Since
- 44.00
getRedCosts() [1/4]
|
inline |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const
that allocates the output array and queries all elements.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getRedCosts() [2/4]
|
inline |
Returns the reduced costs.
from the incumbent solution during or after optimization of a continuous problem with XPRSoptimize
, XPRSlpoptimize
or XPRSnlpoptimize
.
- Parameters
-
status Information about the reduced costs returned. djs Double array of length last-first+1
where the reduced costs for the variables will be returned. May benull
if not required.first First column in the reduced costs. last Last column in the reduced costs.
getRedCosts() [3/4]
|
inline |
Convenience wrapper for getRedCosts(int*, Array<double> const &, int, int) const
that allocates the output array.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getRedCosts() [4/4]
|
inline |
Get the reduced costs for a collection of variables.
The values in the returned array are in 1-to-1 correspondence with the variables in vars
.
- Parameters
-
vars Variables for which reduced costs are queried.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeVariable
.
- Returns
-
Reduced costs for variables in
vars
.
- Since
- 45.00
getSlack() [1/2]
|
inline |
Get the current slack for a single row.
Examples using getSlack
:
- Parameters
-
r Inequality for which to query slack.
- Returns
-
Slack for
r
.
- Since
- 44.00
getSlack() [2/2]
|
inline |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const
that queries only a single value.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getSlacks() [1/4]
|
inline |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const
that allocates the output array and queries all elements.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getSlacks() [2/4]
|
inline |
Returns the slack values.
from the incumbent solution during or after optimization with XPRSoptimize
, XPRSmipoptimize
, XPRSlpoptimize
or XPRSnlpoptimize
.
- Parameters
-
status Information about the slacks returned. slacks Double array of length last-first+1
where the value of the slack variables will be returned. May benull
if not required.first First row in the slacks. last Last row in the slacks.
getSlacks() [3/4]
|
inline |
Convenience wrapper for getSlacks(int*, Array<double> const &, int, int) const
that allocates the output array.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getSlacks() [4/4]
|
inline |
Get the current slacks for a collection of rows.
The values in the returned array are in 1-to-1 correspondence with the rows in rows
.
- Parameters
-
rows Inequalities for which to query slacks.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeInequality
.
- Returns
-
Slacks for inequalities in
rows
.
- Since
- 44.00
getSolution() [1/6]
|
inline |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const
that allocates the output array and queries all elements.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getSolution() [2/6]
|
inline |
Returns the incumbent solution during or after optimization with XPRSoptimize
, XPRSmipoptimize
, XPRSlpoptimize
or XPRSnlpoptimize
.
- Parameters
-
status Information about the solution returned. x Double array of length last-first+1
where the value of the primal variables will be returned. May benull
if not required.first First column in the solution. last Last column in the solution.
getSolution() [3/6]
|
inline |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const
that allocates the output array.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getSolution() [4/6]
|
inline |
Convenience wrapper for getSolution(int*, Array<double> const &, int, int) const
that queries only a single value.
Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
getSolution() [5/6]
|
inline |
Get the current solution for a collection of variables.
The values in the returned array are in 1-to-1 correspondence with the variables in vars
.
Examples using getSolution
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioQC.cpp
- FolioQP.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- tsp.cpp
- Parameters
-
vars Variables for which solution is queried.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeVariable
.
- Returns
-
Solution values for
vars
.
- Since
- 44.00
getSolution() [6/6]
|
inline |
Get the current solution for a single variable.
Examples using getSolution
:
- BinBurglar.cpp
- BoolVars.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioQC.cpp
- FolioQP.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- tsp.cpp
- Parameters
-
v Variable for which solution is queried.
- Returns
-
Solution for
v
.
- Since
- 44.00
getSOSs()
|
inline |
Get all the special ordered set constraints currently defined in this problem.
- Returns
- All special ordered set constraints in this problem.
- See also
- sosForIndex(int)
- Since
- 44.00
getVariables()
|
inline |
Get all the variables currently defined in this problem.
Examples using getVariables
:
- Returns
- All the variables in this problem.
- See also
- variableForIndex(int)
- Since
- 44.00
inequalitiesForIndices()
|
inline |
Map a range of inequality indices to inequality objects.
- Parameters
-
first First index to map. last Last index to map.
- Since
- 44.00
inequalityForIndex()
|
inline |
Map an inequality index to an inequality object.
- Parameters
-
index Index to map.
- Returns
-
The inequality for
index
.
- See also
- getInequalities()
- Since
- 44.00
isNullVariable()
|
inlinestatic |
Check whether a variable is the same as NULL_VARIABLE
.
The NULL_VARIABLE
is used in certain places to indicate the absence of a variable. For example, when iterating over the linear terms of an expression, a term with a NULL_VARIABLE
indicates a constant term in the expression.
- Parameters
-
v The variable to check.
- Returns
-
true
ifv
is the nullptr variable.
- Since
- 44.00
isOriginal()
|
inline |
Check whether this model instance is in the original state.
A model is not in the original state if it is a callback problem or its problem state indicates being presolved.
- Returns
-
true
if this instance is in original state.
- Since
- 44.00
loadDelayedRows() [1/2]
|
inline |
Specifies that a set of rows in the matrix will be treated as delayed rows during a tree search.
These are rows that must be satisfied for any integer solution, but will not be loaded into the active set of constraints until required.
- Parameters
-
nrows The number of delayed rows. rowind An array of row indices to treat as delayed rows.
loadDelayedRows() [2/2]
|
inline |
Marks a set of rows as delayed rows.
- Parameters
-
rows Inequalities to mark as delayed.
- Since
- 44.00
loadModelCuts() [1/2]
|
inline |
Specifies that a set of rows in the matrix will be treated as model cuts.
- Parameters
-
nrows The number of model cuts. rowind An array of row indices to be treated as cuts.
loadModelCuts() [2/2]
|
inline |
Marks a set of rows as model cuts.
- Parameters
-
rows Inequalities to mark as model cuts.
- Since
- 44.00
nlpSetInitVal() [1/3]
|
inline |
Set the initial value of a variable.
- Parameters
-
nvars Number of variables for which the initial value is to be set. colind Array of length nvars
with index of the column for which the initial value is provided.initial Array of length nvars
with the initial value.
nlpSetInitVal() [2/3]
|
inline |
Set initial values of variables for a non-linear solve.
Examples using nlpSetInitVal
:
- Parameters
-
values Values to be set. For each variable/value pair in this map the corresponding initial value is set.
- Since
- 44.00
nlpSetInitVal() [3/3]
|
inline |
Set initial values of variables for a non-linear solve.
Examples using nlpSetInitVal
:
- Parameters
-
variables Variables for which to set values. values Values for variables
. This must have the same length asvariables
. The initial value forvariables[i]
isvalues[i]
.
- Since
- 44.00
objSA() [1/3]
|
inline |
Returns upper and lower sensitivity ranges for specified objective function coefficients.
If the objective coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
- Parameters
-
len Sensitivity analysis is performed only on the first len
variables invariables
.variables Variables on which to perform sensitivity analysis. lower Array of length at least len
that receives the sensitivity analysis lower bounds.upper Array of length at least len
that receives the sensitivity analysis upper bounds.
- Since
- 44.00
objSA() [2/3]
|
inline |
Returns upper and lower sensitivity ranges for specified objective function coefficients.
If the objective coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
- Parameters
-
ncols Number of objective function coefficients whose sensitivity is sought. colind Integer array of length ncols
containing the indices of the columns whose objective function coefficients sensitivity ranges are required.lower Double array of length ncols
where the objective function lower range values are to be returned.upper Double array of length ncols
where the objective function upper range values are to be returned.
objSA() [3/3]
|
inline |
Returns upper and lower sensitivity ranges for specified objective function coefficients.
If the objective coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
- Parameters
-
variables Variables on which to perform sensitivity analysis. lower Array at least as long as variables
that receives the sensitivity analysis lower bounds.upper Array at least as long as variables
that receives the sensitivity analysis upper bounds.
- Since
- 44.00
pwlForIndex()
|
inline |
Map a PWL index to a PWL object.
- Parameters
-
index Index to map.
- Returns
-
The PWL for
index
.
- See also
- getPWLs()
- Since
- 44.00
pwlsForIndices()
|
inline |
Map a range of PWL indices to PWL objects.
- Parameters
-
first First index to map. last Last index to map.
- Returns
-
The SOSs from
first
(inclusive).
- Since
- 44.00
repairWeightedInfeas() [1/2]
|
inline |
By relaxing a set of selected constraints and bounds of an infeasible problem, it attempts to identify a 'solution' that violates the selected set of constraints and bounds minimally, while satisfying all other constraints and bounds.
Among such solution candidates, it selects one that is optimal regarding the original objective function. For the console version, see REPAIRINFEAS
.
- Parameters
-
lepref Array of size ROWS
containing the preferences for relaxing the less or equal side of row.gepref Array of size ROWS
containing the preferences for relaxing the greater or equal side of a row.lbpref Array of size COLS
containing the preferences for relaxing lower bounds.ubpref Array of size COLS
containing preferences for relaxing upper bounds.phase2 Controls the second phase of optimization: -
o
: use the objective sense of the original problem (default); -
x
: maximize the relaxed problem using the original objective; -
f
: skip optimization regarding the original objective; -
n
: minimize the relaxed problem using the original objective; -
i
: if the relaxation is infeasible, generate an irreducible infeasible subset for the analys of the problem; -
a
: if the relaxation is infeasible, generate all irreducible infeasible subsets for the analys of the problem.
delta The relaxation multiplier in the second phase -1. flags Specifies flags to be passed to XPRSoptimize. -
repairWeightedInfeas() [2/2]
|
inline |
Repair infeasibilities using weights.
By relaxing a set of selected constraints and bounds of an infeasible problem, it attempts to identify a 'solution' that violates the selected set of constraints and bounds minimally, while satisfying all other constraints and bounds. Among such solution candidates, it selects one that is optimal regarding the original objective function.
- Parameters
-
lepref Map with preferences for relaxing the less-than-or-equal direction of rows. Inequalities without preference will not be relaxed. Can be empty. gepref Map with preferences for relaxing the greater-than-or-equal direction of rows. Inequalities without preference will not be relaxed. Can be empty. lbpref Map with preferences for relaxing the lower bounds of variables. Variables without preference will not be relaxed. Can be empty. ubpref Map with preferences for relaxing the upper bounds of variables. Variables without preference will not be relaxed. Can be empty. phase2 Controls the second phase of optimization. delta Relaxation multiplier in second phase - 1. flags Flags passed to the optimizer.
- Returns
- Result status.
- Since
- 44.00
rhsSA() [1/3]
|
inline |
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients.
If the RHS coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
- Parameters
-
len Sensitity analysis is only performed for the first len
elements inrows
.rows The rows for which to perform sensitivity analysis. lower Array of length at least len
that receives the sensitivity lower bounds.upper Array of length at least len
that receives the sensitivity upper bounds.
- Since
- 44.00
rhsSA() [2/3]
|
inline |
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients.
If the RHS coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
- Parameters
-
nrows The number of RHS coefficients for which sensitivity ranges are required. rowind Integer array of length nrows
containing the indices of the rows whose RHS coefficients sensitivity ranges are required.lower Double array of length nrows
where the RHS lower range values are to be returned.upper Double array of length nrows
where the RHS upper range values are to be returned.
rhsSA() [3/3]
|
inline |
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients.
If the RHS coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
- Parameters
-
rows The rows for which to perform sensitivity analysis. lower Array at least as long as rows
that receives the sensitivity lower bounds.upper Array at least as long as rows
that receives the sensitivity upper bounds.
- Since
- 44.00
setIndicator()
|
inline |
Add an indicator constraint to this model.
Both variable and row must exist.
Examples using setIndicator
:
- Parameters
-
indicatorVariable Indicator variable. indicatorValue Whether row
becomes active ifindicatorVariable
is non-zero (indicatorValue
istrue
) or ifindicatorVariable
is zero (indicatorValue
isfalse
).row The implied row for the indicator constraint.
- Since
- 44.00
setIndicators() [1/4]
|
inline |
Add indicator constraints to this model.
The function iterates through [0, ... ,count[
and calls the provided functions for each in this interval. The return values of the functions are used to construct an indicator constraint. For a fixed t
, if indicatorValue(t)
returns true
then the created constraint states that if indicatorVariable(t)
is 1 (one), then row(t)
must be satisfied and is ignored otherwise. Otherwise, row(t)
must be satisfied if indicatorVariable(t)
is 0 (zero) and is ignored otherwise.
All referenced variables and rows must exist.
- Parameters
-
count How many constraint to add. indicatorVariable Indicator variables. indicatorValue Whether indicator variables should be non-zero or zero for rows to become active. If this is nullptr
then rows become active if indicator variables are non-zero.row The implied rows for the indicator constraints.
- Template Parameters
-
I Type for count Func0 auto (int) -> Variable
: Maps(int)
toVariable
.Func1 auto (int) -> bool
: Maps(int)
tobool
.Func2 auto (int) -> Inequality
: Maps(int)
toInequality
.
- Since
- 44.00
setIndicators() [2/4]
|
inline |
Specifies that a set of rows in the matrix will be treated as indicator constraints during a tree search.
An indicator constraint is made of a condition
and a constraint
. The condition
is of the type "bin = value", where bin
is a binary variable and value
is either 0 or 1. The constraint
is any matrix row (may be linear, quadratic or general nonlinear). During tree search, a row configured as an indicator constraint is enforced only when condition holds, that is only if the indicator variable bin
has the specified value. Note that every row may only get assigned a single indicator variable and term. If a row needs to be activated by multiple different terms, the row needs to be duplicated so that each term can be assigned to a distinct row. If the indicator variable should be changed, the old term needs to be deleted first (by calling XPRSdelindicators
or by calling this function with a comps argument of 0) before assigning a new one.
- Parameters
-
nrows The number of indicator constraints. rowind Integer array of length nrows
containing the indices of the rows that define the constraint part for the indicator constraints.colind Integer array of length nrows
containing the column indices of the indicator variables.complement Integer array of length nrows
with the complement flags:-
0
: not an indicator constraint (in this case the corresponding entry in thecolind
array is ignored); -
1
: for indicator constraints with condition "<code>bin = 1</code>"; -
-1
: for indicator constraints with condition "<code>bin = 0</code>".
-
setIndicators() [3/4]
|
inline |
Add indicator constraints to this model.
The function iterates through data
and calls the provided functions for each element found. The return values of the functions are used to construct an indicator constraint. For a fixed t
, if indicatorValue(t)
returns true
then the created constraint states that if indicatorVariable(t)
is 1 (one), then row(t)
must be satisfied and is ignored otherwise. Otherwise, row(t)
must be satisfied if indicatorVariable(t)
is 0 (zero) and is ignored otherwise.
All referenced variables and rows must exist.
- Parameters
-
data Data for which constraints are created. indicatorVariable Indicator variables. indicatorValue Whether indicator variables should be non-zero or zero for rows to become active. If this is nullptr
then rows become active if indicator variables are non-zero.row The implied rows for the indicator constraints.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeT
.T Data type. Func0 auto (T) -> Variable
: Maps(T)
toVariable
.Func1 auto (T) -> bool
: Maps(T)
tobool
.Func2 auto (T) -> Inequality
: Maps(T)
toInequality
.
- Since
- 44.00
setIndicators() [4/4]
|
inline |
Add indicator constraints to this model.
The provided arrays must all have length at least count
and for any i
in 0..count-1
an indicator constraint is constructed from indicatorVariable[i]
, indicatorValue[i]
and row[i]
. If indicatorValue[i]
is true
then the constraints states that if indicatorVariable[i]
is 1 (one), then row[i]
must be satisfied (and if indicator
is 0 (zero) then row[i]
is ignored). Otherwise, row[i]
must be satisfied if indicator[i]
is 0 (zero) and is ignored otherwise.
All referenced variables and rows must exist.
- Parameters
-
indicatorVariable Indicator variables. indicatorValue Whether rows become active if indicator variables are non-zero ( indicatorValue[.]
istrue
) or if indicator variables are zero (indicatorValue
isfalse
). If this isnullptr
or empty then rows become active if indicator variables are non-zero.row The implied rows for the indicator constraints.
- Since
- 44.00
setObjective() [1/3]
|
inline |
Set an objective function and its controls.
In case of error:
- if the function created objectives then all newly created objectives will be removed,
- if an existing objective was modified then that objective function will be cleared and all controls will be unchanged.
Examples using setObjective
:
- BinBurglar.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
idx Index of objective to set. obj New objective for idx
.priority New objective priority. weight New objective weight. abstol New absolute tolerance for objective idx
.reltol New relative tolerance for objective idx
.
- Since
- 44.00
setObjective() [2/3]
|
inline |
Set the objective function to a expression.
Examples using setObjective
:
- BinBurglar.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
obj The objective
- Since
- 44.00
setObjective() [3/3]
|
inline |
Set the objective function to a expression.
Examples using setObjective
:
- BinBurglar.cpp
- Boxes02.cpp
- Capbgt2l.cpp
- CapitalBudgeting.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELS.cpp
- ELSCut.cpp
- ELSManagedCuts.cpp
- FacilityLocationArray.cpp
- FacilityLocationCollection.cpp
- Folio.cpp
- FolioCB.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- GeneralConstraints.cpp
- Glidert.cpp
- MultipleKnapsack_Arrays.cpp
- MultipleKnapsack_Collections.cpp
- PiecewiseLinear.cpp
- PolygonObjects.cpp
- Pplan.cpp
- Pplan2.cpp
- ProductionPlanning_Index.cpp
- PurchasePWL.cpp
- PurchaseSOS2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- SpecialOrderedSets.cpp
- SpecialOrderedSetsQuadratic.cpp
- TravelingSalesPerson.cpp
- Wagon.cpp
- Parameters
-
obj The objective sense The objective sense (minimize or maximize).
- Since
- 44.00
slpSetDetRow() [1/2]
|
inline |
Set the determining row of a variable.
- Parameters
-
nvars The number of variables for which determining rows are set. colind Array of length nvars
with the index of the column for which the determining row is set.rowind Array of length nvars
with the index of the determining row.
slpSetDetRow() [2/2]
|
inline |
Set the determining row of a variable.
- Parameters
-
v Variable for which the determining row is set. i Determining row for v
.
- Since
- 44.00
sosForIndex()
|
inline |
Map an SOS index to an SOS object.
- Parameters
-
index Index to map.
- Returns
-
The SOS for
index
.
- See also
- getSOSs()
- Since
- 44.00
sosForIndices()
|
inline |
Map a range of SOS indices to SOS objects.
- Parameters
-
first First index to map. last Last index to map.
- Since
- 44.00
variableForIndex()
|
inline |
Map a variable index to a variable object.
- Parameters
-
index Index to map.
- Returns
-
The variable for
index
.
- See also
- getVariables()
- Since
- 44.00
variablesForIndices()
|
inline |
Map a range of variable indices to variable objects.
- Parameters
-
first First index to map. last Last index to map.
- Returns
-
The variables from
first
(inclusive) throughlast
(inclusive).
- Since
- 44.00
Member Data Documentation
callbacks
CallbackAPI xpress::objects::XpressProblem::callbacks |
Callbacks for this problem.
- Since
- 44.00
NULL_VARIABLE
|
inlinestatic |
Variable object that is used to indicate a constant term in expressions that are implemented as maps.
- Since
- 44.00
The documentation for this class was generated from the following file:
- xpress_objects.hpp
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.