Initializing help system before first use

LinTermMap

A linear expression. More...

#include <xpress_objects.hpp>

Inheritance diagram for xpress::objects::LinTermMap:
xpress::objects::LinExpression xpress::objects::AbstractExpression xpress::objects::Expression

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.
Parameters
c The constant to add.
Returns
Always returns this.
Since
44.00

 
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.
Parameters
coefficient Coefficient to add for variable.
variable Variable.
Returns
Always returns this.
Since
44.00

 
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.
Parameters
variable Variable.
coefficient Coefficient to add for variable.
Returns
Always returns this.
Since
44.00

 
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.
Parameters
x Variable.
Returns
Always returns this.
Since
44.00

 
virtual auto  addTerms (LinExpression const &expr) -> LinTermMap &override
  Add another linear expression to this expression.
Parameters
expr The expression to add
Returns
Always returns this.
Since
44.00

 
virtual auto  addTerms (LinExpression const &expr, double factor) -> LinTermMap &override
  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

 
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.
Returns
A deep copy of this expression.
Since
44.00

 
virtual auto  deepCopy (double factor) -> xpress::objects::LinExpression override
  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

 
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).
Parameters
solution Solution values for which the expression is evaluated.
Returns
The value of this expression evaluated at solution.
Since
44.00

 
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.
Returns
The constant value in this expression.
Since
44.00

 
virtual auto  reset () -> LinTermMap &override
  Clear this expression.Removes all terms and sets the constant to 0.
Returns
Always returns this.
Since
44.00

 
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.
Parameters
c New constant term for this expression
Returns
Always returns this.
Since
44.00

 
virtual auto  toString () const -> std::string override
  Get a string representation of this expression.
Returns
A string representing this expression.
Since
44.00

 
 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.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
virtual auto  eq (Expression const &rhs) const -> xpress::objects::InequalityDefinition override
  Create an "equals" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
virtual auto  geq (double rhs) const -> xpress::objects::InequalityDefinition override
  Create a "greater than or equal" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
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.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
virtual auto  in (double lb, double ub) -> xpress::objects::InequalityDefinition override
  Create a range constraint that bounds this expression from below and above.
Parameters
lb Lower bound for this expression.
ub Upper bound for this expression.
Returns
The constraint.
Since
44.00

 
virtual auto  leq (double rhs) const -> xpress::objects::InequalityDefinition override
  Create a "less than or equal" constraint with this expression as left-hand side.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
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.
Parameters
rhs Right-hand side of constraint.
Returns
The constraint.
Since
44.00

 
 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]

xpress::objects::LinTermMap::LinTermMap ( )
inline

Create a empty expression.

Since
44.00

LinTermMap() [2/2]

xpress::objects::LinTermMap::LinTermMap ( double constant )
inline

Create an expression with a constant term.

Parameters
constant Constant term in expression.
Since
44.00

Member Function Documentation

addConstant()

auto xpress::objects::LinTermMap::addConstant ( double c ) -> LinTermMap&
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]

auto xpress::objects::LinTermMap::addTerm ( double const & coefficient,
Variable const & variable ) -> LinTermMap&
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]

auto xpress::objects::LinExpression::addTerm ( LinTerm const & term ) -> LinExpression&
inline

Add term term to this expression.

Parameters
term The term to add.
Returns
Always returns this.
Since
44.00

addTerm() [3/4]

auto xpress::objects::LinTermMap::addTerm ( Variable const & variable,
double const & coefficient ) -> LinTermMap&
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]

auto xpress::objects::LinTermMap::addTerm ( Variable const & x ) -> LinTermMap&
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]

auto xpress::objects::LinTermMap::addTerms ( LinExpression const & expr ) -> LinTermMap&
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]

auto xpress::objects::LinTermMap::addTerms ( LinExpression const & expr,
double factor ) -> LinTermMap&
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]

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 xpress::objects::LinExpression::addTerms ( Strm0 const & variables,
Strm1 const & coefficients ) -> LinExpression&
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() and end() and contains values of type Variable.
Strm1 Something that supports begin() and end() and contains values of type double.
Returns
Always returns this.
Since
44.00

deepCopy() [1/2]

auto xpress::objects::LinTermMap::deepCopy ( ) -> xpress::objects::LinExpression
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]

auto xpress::objects::LinTermMap::deepCopy ( double factor ) -> xpress::objects::LinExpression
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()

auto xpress::objects::LinTermMap::evaluate ( xpress::SizedArray< double const > const & solution ) const -> double
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()

auto xpress::objects::LinTermMap::getCoefficient ( Variable variable ) const -> double
inline

Get the coefficient for a variable.

Parameters
variable Variable to query.
Returns
The coefficient for variable in this expression.
Since
44.00

getConstant()

auto xpress::objects::LinTermMap::getConstant ( ) const -> double
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()

auto xpress::objects::LinTermMap::reset ( ) -> LinTermMap&
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()

auto xpress::objects::LinTermMap::setCoefficient ( Variable variable,
double coefficient ) -> LinTermMap&
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()

auto xpress::objects::LinTermMap::setConstant ( double c ) -> LinTermMap&
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()

auto xpress::objects::LinTermMap::toString ( ) const -> std::string
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.