LinExpression
- java.lang.Object
-
- com.dashoptimization.objects.Expression
-
- com.dashoptimization.objects.AbstractExpression
-
- com.dashoptimization.objects.LinExpression
-
- Direct Known Subclasses:
-
LinTermList,LinTermMap
public abstract class LinExpression extends AbstractExpression
A linear expression that represents its data by a collection of terms. This is an abstract base class that is implement by different subclasses which use different data types to actually store the various terms in the expression.- Since:
- 43.00
-
-
Constructor Summary
Constructor Description LinExpression()
-
Method Summary
Modifier and Type Method Description abstract LinExpressionaddConstant(double c)Add a value to the constant term of this expression.abstract LinExpressionaddTerm(double coefficient, Variable variable)Add a term to this expression.LinExpressionaddTerm(LinTerm term)Addtermterm to this expression.abstract LinExpressionaddTerm(Variable x)Add term1*xto this expression.abstract LinExpressionaddTerm(Variable variable, double coefficient)Add a term to this expression.abstract LinExpressionaddTerms(LinExpression expr)Add another linear expression to this expression.abstract LinExpressionaddTerms(LinExpression expr, double factor)Add another linear expression to this expression.LinExpressionaddTerms(Variable[] variables, double[] coefficients)Add multiple terms to this expression.LinExpressionaddTerms(java.lang.Iterable<Variable> variables, java.lang.Iterable<java.lang.Double> coefficients)Add multiple terms to this expression.LinExpressionaddTerms(java.util.stream.Stream<Variable> variables, java.util.stream.Stream<java.lang.Double> coefficients)Add multiple terms to this expression.static LinExpressioncreate()Create an empty linear expression.static LinExpressioncreate(double constant)Create a linear expression with the specified constant term.static LinExpressioncreate(double constant, int reserve)Create a linear expression with the specified constant term and prepare for adding the specified number of terms.abstract LinExpressiondeepCopy()Get a deep copy of this expression.abstract LinExpressiondeepCopy(double factor)Get a deep copy of this expression multiplied by a constantabstract doublegetConstant()Get the constant value in this expression.abstract LinExpressionreset()Clear this expression.abstract LinExpressionsetConstant(double c)Set the constant term in this expression.static booleansetCreateLists(boolean newValue)Configures whether thecreate()functions should return instances ofLinTermList(ifnewValueis true) orLinTermMap(ifnewValueis false).Expressionsquare()Create aQuadExpressionby multiplying this expression by itself.-
Methods inherited from class com.dashoptimization.objects.AbstractExpression
eq, eq, geq, geq, in, leq, leq
-
-
-
-
Method Detail
-
deepCopy
public abstract LinExpression deepCopy()
Get a deep copy of this expression.- Returns:
- A deep copy of this expression.
- Since:
- 43.00
-
deepCopy
public abstract LinExpression deepCopy(double factor)
Get a deep copy of this expression multiplied by a constant- Parameters:
-
factor- Factor to scalethiswith. - Returns:
-
A deep copy of this expression multiplied by
factor. - Since:
- 43.00
-
getConstant
public abstract double getConstant()
Get the constant value in this expression.- Returns:
- The constant value in this expression.
- Since:
- 43.00
-
addConstant
public abstract LinExpression addConstant(double c)
Add a value to the constant term of this expression.- Parameters:
-
c- The constant to add. - Returns:
-
Always returns
this. - Since:
- 43.00
-
setConstant
public abstract LinExpression setConstant(double c)
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:
- 43.00
-
reset
public abstract LinExpression reset()
Clear this expression. Removes all terms and sets the constant to 0.- Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerms
public LinExpression addTerms(java.util.stream.Stream<Variable> variables, java.util.stream.Stream<java.lang.Double> coefficients)
Add multiple terms to this expression. Adds the scalar product defined by the element-wise multiplication ofvariablesandcoefficients.- Parameters:
-
variables- Variables. -
coefficients- Coefficients. - Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerms
public LinExpression addTerms(java.lang.Iterable<Variable> variables, java.lang.Iterable<java.lang.Double> coefficients)
Add multiple terms to this expression. Adds the scalar product defined by the element-wise multiplication ofvariablesandcoefficients.- Parameters:
-
variables- Variables. -
coefficients- Coefficients. - Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerms
public LinExpression addTerms(Variable[] variables, double[] coefficients)
Add multiple terms to this expression. Adds the scalar product defined by the element-wise multiplication ofvariablesandcoefficients.- Parameters:
-
variables- Variables -
coefficients- Coefficients - Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerm
public abstract LinExpression addTerm(Variable variable, double coefficient)
Add a term to this expression. If the expression already has a coefficient forvariablethen the old and the new coefficients will be added.Examples using
addTerm:- Parameters:
-
variable- Variable. -
coefficient- Coefficient to add forvariable. - Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerm
public abstract LinExpression addTerm(double coefficient, Variable variable)
Add a term to this expression. If the expression already has a coefficient forvariablethen the old and the new coefficients will be added.Examples using
addTerm:- Parameters:
-
coefficient- Coefficient to add forvariable. -
variable- Variable. - Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerm
public LinExpression addTerm(LinTerm term)
Addtermterm to this expression.Examples using
addTerm:- Parameters:
-
term- The term to add. - Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerm
public abstract LinExpression addTerm(Variable x)
Add term1*xto this expression. If the expression already has a coefficient forxthen the old and the new coefficients will be added.Examples using
addTerm:- Parameters:
-
x- Variable. - Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerms
public abstract LinExpression addTerms(LinExpression expr)
Add another linear expression to this expression.- Parameters:
-
expr- The expression to add - Returns:
-
Always returns
this. - Since:
- 43.00
-
addTerms
public abstract LinExpression addTerms(LinExpression expr, double factor)
Add another linear expression to this expression.- Parameters:
-
expr- The expression to add. -
factor- Factor by which to multiply elements inexprbefore adding. - Returns:
-
Always returns
this. - Since:
- 43.00
-
square
public Expression square()
Create aQuadExpressionby multiplying this expression by itself.Examples using
square:- Returns:
-
New expression that represents the product of
thiswith itself. - Since:
- 43.00
-
setCreateLists
public static boolean setCreateLists(boolean newValue)
Configures whether thecreate()functions should return instances ofLinTermList(ifnewValueis true) orLinTermMap(ifnewValueis false).- Parameters:
-
newValue- The new value. - Returns:
- The old value.
- Since:
- 46.00
-
create
public static LinExpression create()
Create an empty linear expression.Examples using
create:- Returns:
- The new linear expression.
- Since:
- 43.00
-
create
public static LinExpression create(double constant)
Create a linear expression with the specified constant term.Examples using
create:- Parameters:
-
constant- The constant term to which the expression is initialized. - Returns:
- The new quadratic expression.
- Since:
- 43.00
-
create
public static LinExpression create(double constant, int reserve)
Create a linear expression with the specified constant term and prepare for adding the specified number of terms.Examples using
create:- Parameters:
-
constant- The constant term to which the expression is initialized. -
reserve- Prepare for this many terms to add. - Returns:
- The new quadratic expression.
- Since:
- 43.00
-
-
© 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.
