Interface LinearExpr

All Superinterfaces:
LinearArgument
All Known Implementing Classes:
AffineExpression, ConstantExpression, WeightedSumExpression

public interface LinearExpr extends LinearArgument
A linear expression (sum (ai * xi) + b). It specifies methods to help parsing the expression.
  • Method Details

    • numElements

      int numElements()
      Returns the number of terms (excluding the constant one) in this expression.
    • getVariableIndex

      int getVariableIndex(int index)
      Returns the index of the ith variable.
    • getCoefficient

      long getCoefficient(int index)
      Returns the ith coefficient.
    • getOffset

      long getOffset()
      Returns the constant part of the expression.
    • newBuilder

      static LinearExprBuilder newBuilder()
      Returns a builder
    • constant

      static LinearExpr constant(long value)
      Shortcut for newBuilder().add(value).build()
    • term

      static LinearExpr term(LinearArgument expr, long coeff)
      Shortcut for newBuilder().addTerm(expr, coeff).build()
    • affine

      static LinearExpr affine(LinearArgument expr, long coeff, long offset)
      Shortcut for newBuilder().addTerm(expr, coeff).add(offset).build()
    • sum

      static LinearExpr sum(LinearArgument[] exprs)
      Shortcut for newBuilder().addSum(exprs).build()
    • weightedSum

      static LinearExpr weightedSum(LinearArgument[] exprs, long[] coeffs)
      Shortcut for newBuilder().addWeightedSum(exprs, coeffs).build()
    • rebuildFromLinearExpressionProto

      static LinearExpr rebuildFromLinearExpressionProto(LinearExpressionProto proto)