LinTerm
- java.lang.Object
-
- com.dashoptimization.objects.Expression
-
- com.dashoptimization.objects.AbstractExpression
-
- com.dashoptimization.objects.LinTerm
-
public final class LinTerm extends AbstractExpression
A linear term.- Since:
- 43.00
-
-
Method Summary
Modifier and Type Method Description LinTerm
div(double arg)
Create a new expression that represents the quotient ofthis
andarg
.LinTerm
div(ConstantExpression arg)
Expression
div(Expression arg)
Create a new expression that represents the quotient ofthis
andarg
.double
evaluate(double[] solution)
Compute the value of this expression with respect to the given solution vector (which is not required to be feasible).void
extract(double factor, PostfixExtractor extractor)
Extract this expression into postfix notation.boolean
extract(double factor, XPRSprob.RowCreator creator)
Extract this expression into a row.double
getCoefficient()
Variable
getVariable()
static LinTerm
lTerm(Variable variable)
Convenience function to create a single linear term.static LinTerm
lTerm(Variable variable, double coefficient)
Convenience function to create a single linear term.LinTerm
mul(double arg)
Create a new expression that represents the product ofthis
andarg
.LinTerm
mul(ConstantExpression arg)
Expression
mul(Expression arg)
Create a new expression that represents the product ofthis
andarg
.QuadTerm
mul(LinTerm arg)
QuadTerm
mul(Variable arg)
QuadTerm
square()
Multiply this term by itself.java.lang.String
toString()
static java.lang.String
toString(Variable v, double coef)
Convert a linear term to a string.LinTerm
uminus()
Create a new expression that represents the unary minus of this one.-
Methods inherited from class com.dashoptimization.objects.AbstractExpression
eq, eq, geq, geq, in, leq, leq
-
Methods inherited from class com.dashoptimization.objects.Expression
minus, minus, plus, plus
-
-
-
-
Constructor Detail
-
LinTerm
public LinTerm(Variable variable, double coefficient)
Create a new term.- Parameters:
-
variable
- objects.Variable in the term. -
coefficient
- Coefficient forvariable
. - Since:
- 43.00
-
-
Method Detail
-
getVariable
public Variable getVariable()
-
getCoefficient
public double getCoefficient()
-
extract
public boolean extract(double factor, XPRSprob.RowCreator creator)
Extract this expression into a row. This is for internal use only, you should never have to call this function explicitly.- Specified by:
-
extract
in classExpression
- Parameters:
-
factor
- Factor by which to multiply the expression during extraction. -
creator
- The creator to which this expression should be extracted. - Returns:
-
true
if the low-level representation does requires normalization (sorting, removal of dups, ...). In some special cases we know that this is not required and can returnfalse
to save the overhead. - Since:
- 43.00
-
extract
public void extract(double factor, PostfixExtractor extractor)
Extract this expression into postfix notation.- Specified by:
-
extract
in classExpression
- Parameters:
-
factor
- Factor by which to multiply the expression during extraction. -
extractor
- The extractor to which the expression is extract. - Since:
- 43.00
-
evaluate
public double evaluate(double[] solution)
Compute the value of this expression with respect to the given solution vector (which is not required to be feasible).- Specified by:
-
evaluate
in classExpression
- Parameters:
-
solution
- Solution values for which the expression is evaluated. - Since:
- 43.00
-
lTerm
public static LinTerm lTerm(Variable variable, double coefficient)
Convenience function to create a single linear term.- Parameters:
-
variable
- objects.Variable for term. -
coefficient
- Coefficient for term. - Returns:
- The newly created term.
- Since:
- 43.00
-
lTerm
public static LinTerm lTerm(Variable variable)
Convenience function to create a single linear term. Creates the term1 * variable
.- Parameters:
-
variable
- objects.Variable for term. - Returns:
- The newly created term.
- Since:
- 43.00
-
square
public QuadTerm square()
Multiply this term by itself.- Returns:
- The product of this term with itself.
- Since:
- 43.00
-
toString
public java.lang.String toString()
Used in these examples:
- GlobalRHSParametrics
- IISExample
- Knapsack
- Trimloss
- Overrides:
-
toString
in classjava.lang.Object
- Since:
- 43.00
-
toString
public static java.lang.String toString(Variable v, double coef)
Convert a linear term to a string. Note that while theLinTerm
class does not allowXpressProblem.NULL_VARIABLE
as variable, this function allows this variable to indicate constantterms.Used in these examples:
- GlobalRHSParametrics
- IISExample
- Knapsack
- Trimloss
- Parameters:
-
v
- Variable in linear term. -
coef
- Coeffcient in linear term. - Returns:
-
String representation of
coef*v
. - Since:
- 43.00
-
uminus
public LinTerm uminus()
Create a new expression that represents the unary minus of this one.- Overrides:
-
uminus
in classExpression
- Returns:
-
Expression representing
-this
. - Since:
- 43.00
-
mul
public Expression mul(Expression arg)
Create a new expression that represents the product ofthis
andarg
.- Overrides:
-
mul
in classExpression
- Parameters:
-
arg
- Factor. - Returns:
-
Product of
this
andarg
. - Since:
- 43.00
-
mul
public LinTerm mul(ConstantExpression arg)
- Since:
- 43.00
-
mul
public LinTerm mul(double arg)
Create a new expression that represents the product ofthis
andarg
.- Overrides:
-
mul
in classExpression
- Parameters:
-
arg
- Factor. - Returns:
-
Product of
this
andarg
. - Since:
- 43.00
-
div
public Expression div(Expression arg)
Create a new expression that represents the quotient ofthis
andarg
.- Overrides:
-
div
in classExpression
- Parameters:
-
arg
- Divisor. - Returns:
-
Quotient of
this
andarg
. - Since:
- 43.00
-
div
public LinTerm div(ConstantExpression arg)
- Since:
- 43.00
-
div
public LinTerm div(double arg)
Create a new expression that represents the quotient ofthis
andarg
.- Overrides:
-
div
in classExpression
- Parameters:
-
arg
- Divisor. - Returns:
-
Quotient of
this
andarg
. - Since:
- 43.00
-
-
© 2001-2024 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.