LinTermMap
A linear expression. More...
#include <xpress_objects.hpp>

Public Member Functions |
|||||
LinTermMap () | |||||
Create a empty expression. |
|||||
LinTermMap (double constant) | |||||
Create an expression with a constant term. |
|||||
virtual auto | addConstant (double c) -> LinTermMap &override | ||||
Add a value to the constant term of this expression.
|
|||||
virtual auto | addTerm (double const &coefficient, Variable const &variable) -> LinTermMap &override | ||||
Add a term to this expression.If the expression already has a coefficient for variable then the old and the new coefficients will be added.
|
|||||
auto | addTerm (LinTerm const &term) -> LinExpression & | ||||
Add term term to this expression. |
|||||
virtual auto | addTerm (Variable const &variable, double const &coefficient) -> LinTermMap &override | ||||
Add a term to this expression.If the expression already has a coefficient for variable then the old and the new coefficients will be added.
|
|||||
virtual auto | addTerm (Variable const &x) -> LinTermMap &override | ||||
Add term 1*x to this expression.If the expression already has a coefficient for x then the old and the new coefficients will be added.
|
|||||
virtual auto | addTerms (LinExpression const &expr) -> LinTermMap &override | ||||
Add another linear expression to this expression.
|
|||||
virtual auto | addTerms (LinExpression const &expr, double factor) -> LinTermMap &override | ||||
Add another linear expression to this expression.
|
|||||
template<typename Strm0 , typename Strm1 , typename Strm0IsStream = typename std::enable_if<xpress::is_stream<Strm0>::value>::type, typename Strm1IsStream = typename std::enable_if<xpress::is_stream<Strm1>::value>::type> | |||||
auto | addTerms (Strm0 const &variables, Strm1 const &coefficients) -> LinExpression & | ||||
Add multiple terms to this expression. |
|||||
virtual auto | deepCopy () -> xpress::objects::LinExpression override | ||||
Get a deep copy of this expression.
|
|||||
virtual auto | deepCopy (double factor) -> xpress::objects::LinExpression override | ||||
Get a deep copy of this expression multiplied by a constant.
|
|||||
virtual auto | evaluate (xpress::SizedArray< double const > const &solution) const -> double override | ||||
Compute the value of this expression with respect to the given solution vector (which is not required to be feasible).
|
|||||
auto | getCoefficient (Variable variable) const -> double | ||||
Get the coefficient for a variable. |
|||||
virtual auto | getConstant () const -> double override | ||||
Get the constant value in this expression.
|
|||||
virtual auto | reset () -> LinTermMap &override | ||||
Clear this expression.Removes all terms and sets the constant to 0.
|
|||||
auto | setCoefficient (Variable variable, double coefficient) -> LinTermMap & | ||||
Set the coefficient for a variable in this expression. |
|||||
virtual auto | setConstant (double c) -> LinTermMap &override | ||||
Set the constant term in this expression.Any existing constant term will be overwritten.
|
|||||
virtual auto | toString () const -> std::string override | ||||
Get a string representation of this expression.
|
|||||
Public Member Functions inherited from xpress::objects::LinExpression | |||||
auto | addTerm (LinTerm const &term) -> LinExpression & | ||||
Add term term to this expression. |
|||||
template<typename Strm0 , typename Strm1 , typename Strm0IsStream = typename std::enable_if<xpress::is_stream<Strm0>::value>::type, typename Strm1IsStream = typename std::enable_if<xpress::is_stream<Strm1>::value>::type> | |||||
auto | addTerms (Strm0 const &variables, Strm1 const &coefficients) -> LinExpression & | ||||
Add multiple terms to this expression. |
|||||
auto | square () -> xpress::objects::Expression | ||||
Create a QuadExpression by multiplying this expression by itself. |
|||||
Public Member Functions inherited from xpress::objects::AbstractExpression | |||||
virtual auto | eq (double rhs) const -> xpress::objects::InequalityDefinition override | ||||
Create an "equals" constraint with this expression as left-hand side.
|
|||||
virtual auto | eq (Expression const &rhs) const -> xpress::objects::InequalityDefinition override | ||||
Create an "equals" constraint with this expression as left-hand side.
|
|||||
virtual auto | geq (double rhs) const -> xpress::objects::InequalityDefinition override | ||||
Create a "greater than or equal" constraint with this expression as left-hand side.
|
|||||
virtual auto | geq (Expression const &rhs) const -> xpress::objects::InequalityDefinition override | ||||
Create a "greater than or equal" constraint with this expression as left-hand side.
|
|||||
virtual auto | in (double lb, double ub) -> xpress::objects::InequalityDefinition override | ||||
Create a range constraint that bounds this expression from below and above.
|
|||||
virtual auto | leq (double rhs) const -> xpress::objects::InequalityDefinition override | ||||
Create a "less than or equal" constraint with this expression as left-hand side.
|
|||||
virtual auto | leq (Expression const &rhs) const -> xpress::objects::InequalityDefinition override | ||||
Create a "less than or equal" constraint with this expression as left-hand side.
|
|||||
Public Member Functions inherited from xpress::objects::Expression | |||||
virtual auto | div (double arg) const -> xpress::objects::Expression | ||||
Create a expression that represents the quotient of this and arg . |
|||||
virtual auto | div (Expression arg) const -> xpress::objects::Expression | ||||
Create a expression that represents the quotient of this and arg . |
|||||
virtual auto | minus (double arg) const -> xpress::objects::Expression | ||||
Create a expression that represents the difference of this and arg . |
|||||
virtual auto | minus (xpress::objects::Expression arg) const -> xpress::objects::Expression | ||||
Create a expression that represents the difference of this and arg . |
|||||
virtual auto | mul (double arg) const -> xpress::objects::Expression | ||||
Create a expression that represents the product of this and arg . |
|||||
virtual auto | mul (Expression arg) const -> xpress::objects::Expression | ||||
Create a expression that represents the product of this and arg . |
|||||
virtual auto | plus (double arg) const -> xpress::objects::Expression | ||||
Create a expression that represents the sum of this and arg . |
|||||
virtual auto | plus (xpress::objects::Expression arg) const -> xpress::objects::Expression | ||||
Create a expression that represents the sum of this and arg . |
|||||
virtual auto | uminus () const -> xpress::objects::Expression | ||||
Create a expression that represents the unary minus of this one. |
|||||
Additional Inherited Members |
|
Public Types inherited from xpress::objects::LinExpression | |
Public Types inherited from xpress::objects::AbstractExpression | |
Public Types inherited from xpress::objects::Expression | |
Static Public Member Functions inherited from xpress::objects::LinExpression | |
static auto | create () -> xpress::objects::LinExpression |
Create an empty linear expression. |
|
static auto | create (double constant) -> xpress::objects::LinExpression |
Create a linear expression with the specified constant term. |
|
Protected Member Functions inherited from xpress::objects::LinExpression | |
Protected Member Functions inherited from xpress::objects::AbstractExpression | |
Protected Member Functions inherited from xpress::objects::Expression | |
Protected Attributes inherited from xpress::objects::Expression |
Detailed Description
A linear expression.
This class implements a linear expression as a map from variables to values.
- Since
- 44.00
Constructor & Destructor Documentation
LinTermMap() [1/2]
|
inline |
Create a empty expression.
- Since
- 44.00
LinTermMap() [2/2]
|
inline |
Create an expression with a constant term.
- Parameters
-
constant Constant term in expression.
- Since
- 44.00
Member Function Documentation
addConstant()
|
inlineoverridevirtual |
Add a value to the constant term of this expression.
- Parameters
-
c The constant to add.
- Returns
-
Always returns
this
.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
addTerm() [1/4]
|
inlineoverridevirtual |
Add a term to this expression.If the expression already has a coefficient for variable
then the old and the new coefficients will be added.
- Parameters
-
coefficient Coefficient to add for variable
.variable Variable.
- Returns
-
Always returns
this
.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
addTerm() [2/4]
|
inline |
Add term
term to this expression.
- Parameters
-
term The term to add.
- Returns
-
Always returns
this
.
- Since
- 44.00
addTerm() [3/4]
|
inlineoverridevirtual |
Add a term to this expression.If the expression already has a coefficient for variable
then the old and the new coefficients will be added.
- Parameters
-
variable Variable. coefficient Coefficient to add for variable
.
- Returns
-
Always returns
this
.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
addTerm() [4/4]
|
inlineoverridevirtual |
Add term 1*x
to this expression.If the expression already has a coefficient for x
then the old and the new coefficients will be added.
- Parameters
-
x Variable.
- Returns
-
Always returns
this
.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
addTerms() [1/3]
|
inlineoverridevirtual |
Add another linear expression to this expression.
- Parameters
-
expr The expression to add
- Returns
-
Always returns
this
.
- Since
- 44.00
- Parameters
-
expr The expression to add
- Returns
-
Always returns
this
.
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
addTerms() [2/3]
|
inlineoverridevirtual |
Add another linear expression to this expression.
- Parameters
-
expr The expression to add. factor Factor by which to multiply elements in expr
before adding.
- Returns
-
Always returns
this
.
- Since
- 44.00
- Parameters
-
expr The expression to add. factor Factor by which to multiply elements in expr
before adding.
- Returns
-
Always returns
this
.
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
addTerms() [3/3]
|
inline |
Add multiple terms to this expression.
Adds the scalar product defined by the element-wise multiplication of variables
and coefficients
.
- Parameters
-
variables Variables. coefficients Coefficients.
- Template Parameters
-
Strm0 Something that supports begin()
andend()
and contains values of typeVariable
.Strm1 Something that supports begin()
andend()
and contains values of typedouble
.
- Returns
-
Always returns
this
.
- Since
- 44.00
deepCopy() [1/2]
|
inlineoverridevirtual |
Get a deep copy of this expression.
- Returns
- A deep copy of this expression.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
deepCopy() [2/2]
|
inlineoverridevirtual |
Get a deep copy of this expression multiplied by a constant.
- Parameters
-
factor Factor to scale this
with.
- Returns
-
A deep copy of this expression multiplied by
factor
.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
evaluate()
|
inlineoverridevirtual |
Compute the value of this expression with respect to the given solution vector (which is not required to be feasible).
- Parameters
-
solution Solution values for which the expression is evaluated.
- Returns
-
The value of this expression evaluated at
solution
.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::Expression.
getCoefficient()
|
inline |
Get the coefficient for a variable.
- Parameters
-
variable Variable to query.
- Returns
-
The coefficient for
variable
in this expression.
- Since
- 44.00
getConstant()
|
inlineoverridevirtual |
Get the constant value in this expression.
- Returns
- The constant value in this expression.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
reset()
|
inlineoverridevirtual |
Clear this expression.Removes all terms and sets the constant to 0.
- Returns
-
Always returns
this
.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
setCoefficient()
|
inline |
Set the coefficient for a variable in this expression.
Any existing coefficient will be overwritten.
- Parameters
-
variable Variable index. coefficient New coefficient for variable
.
- Returns
-
Always returns
this
.
- Since
- 44.00
setConstant()
|
inlineoverridevirtual |
Set the constant term in this expression.Any existing constant term will be overwritten.
- Parameters
-
c New constant term for this expression
- Returns
-
Always returns
this
.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
toString()
|
inlineoverridevirtual |
Get a string representation of this expression.
- Returns
- A string representing this expression.
- Since
- 44.00
- Since
- 44.00
Reimplemented from xpress::objects::Expression.
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.