LinTermList
A linear expression that is represented as a list of terms. More...

Public Member Functions |
|||||
LinTermList () | |||||
Create a empty expression. |
|||||
LinTermList (double c) | |||||
Create a expression that represents a constant term. |
|||||
LinTermList (double c, int capacity) | |||||
Create a expression with a constant term and an initial capacity. |
|||||
virtual auto | addConstant (double c) -> LinTermList &override | ||||
Add a value to the constant term of this expression.
|
|||||
virtual auto | addTerm (double const &coefficient, Variable const &variable) -> LinTermList &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.Examples using addTerm :
addTerm : |
|||||
auto | addTerm (LinTerm const &term) -> LinExpression & | ||||
Add term term to this expression. |
|||||
virtual auto | addTerm (Variable const &variable, double const &coefficient) -> LinTermList &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.Examples using addTerm :
addTerm : |
|||||
virtual auto | addTerm (Variable const &x) -> LinTermList &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.Examples using addTerm :
addTerm : |
|||||
virtual auto | addTerms (LinExpression const &expr) -> LinTermList &override | ||||
Add another linear expression to this expression.
|
|||||
virtual auto | addTerms (LinExpression const &expr, double factor) -> LinTermList &override | ||||
Add another linear expression to this expression.
|
|||||
template<typename Strm0 , typename Strm1 , is-stream(Strm0) , is-stream(Strm1) > | |||||
auto | addTerms (Strm0 const &variables, Strm1 const &coefficients) -> LinExpression & | ||||
Add multiple terms to this expression. |
|||||
auto | compress () const -> void | ||||
Compress duplicate terms. |
|||||
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).Examples using evaluate :
evaluate : |
|||||
virtual auto | getConstant () const -> double override | ||||
Get the constant value in this expression.
|
|||||
auto | reserve (int l) -> LinTermList & | ||||
Reserve a maximum number of elements in this expression. |
|||||
virtual auto | reset () -> LinTermList &override | ||||
Clear this expression.Removes all terms and sets the constant to 0.Examples using reset :
reset : |
|||||
virtual auto | setConstant (double c) -> LinTermList &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.Examples using toString :
toString : |
|||||
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 , is-stream(Strm0) , is-stream(Strm1) > | |||||
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.Examples using eq :
eq : |
|||||
virtual auto | eq (Expression const &rhs) const -> xpress::objects::InequalityDefinition override | ||||
Create an "equals" constraint with this expression as left-hand side.Examples using eq :
eq : |
|||||
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.Examples using in :
in : |
|||||
virtual auto | leq (double rhs) const -> xpress::objects::InequalityDefinition override | ||||
Create a "less than or equal" constraint with this expression as left-hand side.Examples using leq :
leq : |
|||||
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.Examples using leq :
leq : |
|||||
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. |
|||||
Static Public Member Functions |
|
static auto | isAutoCompress () -> bool |
Test whether auto-compression is enabled for this class. |
|
static auto | setAutoCompress (bool compress) -> void |
Enable/disable auto-compression for instances of this class. |
|
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. |
|
Detailed Description
A linear expression that is represented as a list of terms.
Instances of this class represent a linear expression as a list of terms. This is the most efficient way to represent a list. By default, the implementation assumes that there are no two terms in the list that refer to the same variable. If there are you must either explicitly call compress()
or set the autoCompress
property to true
.
- Since
- 44.00
Constructor & Destructor Documentation
LinTermList() [1/3]
|
inline |
Create a empty expression.
- Since
- 44.00
LinTermList() [2/3]
|
inline |
Create a expression that represents a constant term.
- Parameters
-
c The constant term.
- Since
- 44.00
LinTermList() [3/3]
|
inline |
Create a expression with a constant term and an initial capacity.
- Parameters
-
c The constant term. capacity The initial capacity.
- 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.Examples using addTerm
:
- Capbgt2l.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELSManagedCuts.cpp
- Pplan.cpp
- Pplan2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- TravelingSalesPerson.cpp
- Parameters
-
coefficient Coefficient to add for variable
.variable Variable.
- Returns
-
Always returns
this
.
- Since
- 44.00
addTerm
:
- Capbgt2l.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELSManagedCuts.cpp
- Pplan.cpp
- Pplan2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- TravelingSalesPerson.cpp
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
addTerm() [2/4]
|
inline |
Add term
term to this expression.
Examples using addTerm
:
- Capbgt2l.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELSManagedCuts.cpp
- Pplan.cpp
- Pplan2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- TravelingSalesPerson.cpp
- 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.Examples using addTerm
:
- Capbgt2l.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELSManagedCuts.cpp
- Pplan.cpp
- Pplan2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- TravelingSalesPerson.cpp
- Parameters
-
variable Variable. coefficient Coefficient to add for variable
.
- Returns
-
Always returns
this
.
- Since
- 44.00
addTerm
:
- Capbgt2l.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELSManagedCuts.cpp
- Pplan.cpp
- Pplan2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- TravelingSalesPerson.cpp
- 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.Examples using addTerm
:
- Capbgt2l.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELSManagedCuts.cpp
- Pplan.cpp
- Pplan2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- TravelingSalesPerson.cpp
- Parameters
-
x Variable.
- Returns
-
Always returns
this
.
- Since
- 44.00
addTerm
:
- Capbgt2l.cpp
- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- ELSManagedCuts.cpp
- Pplan.cpp
- Pplan2.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp
- Sangraalind.cpp
- TravelingSalesPerson.cpp
- 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
- 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
- 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
compress()
|
inline |
Compress duplicate terms.
Sorts the terms and merges any terms for the same variable into a single term.
Examples using compress
:
- 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).Examples using evaluate
:
- Parameters
-
solution Solution values for which the expression is evaluated.
- Returns
-
The value of this expression evaluated at
solution
.
- Since
- 44.00
evaluate
:
- Parameters
-
solution Solution values for which the expression is evaluated.
- Since
- 44.00
Reimplemented from xpress::objects::Expression.
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.
isAutoCompress()
|
inlinestatic |
Test whether auto-compression is enabled for this class.
- Returns
-
true
if auto compression is enabled for all instances of this class.
- Since
- 44.00
reserve()
|
inline |
Reserve a maximum number of elements in this expression.
- Parameters
-
l The number of additional elements to reserve.
- Returns
- Always returns this instance.
- Since
- 44.00
reset()
|
inlineoverridevirtual |
Clear this expression.Removes all terms and sets the constant to 0.Examples using reset
:
- Returns
-
Always returns
this
.
- Since
- 44.00
reset
:
- Since
- 44.00
Reimplemented from xpress::objects::LinExpression.
setAutoCompress()
|
inlinestatic |
Enable/disable auto-compression for instances of this class.
With auto-compression disabled, any instance of this class assumes that expressions do not contain two terms with the same variable.
- Parameters
-
compress true
to enable,false
otherwise.
- 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.Examples using toString
:
- Returns
- A string representing this expression.
- Since
- 44.00
toString
:
- 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.