org.apache.commons.math3.optimization.linear

## Class LinearConstraint

- java.lang.Object
- - org.apache.commons.math3.optimization.linear.LinearConstraint

- All Implemented Interfaces:
    Serializable

      public class LinearConstraint
      extends Object
      implements Serializable

  A linear constraint for a linear optimization problem.

  A linear constraint has one of the forms:

  - c1x1 + ... cnxn = v
  - c1x1 + ... cnxn <= v
  - c1x1 + ... cnxn >= v
  - l1x1 + ... lnxn + lcst = r1x1 + ... rnxn + rcst
  - l1x1 + ... lnxn + lcst <= r1x1 + ... rnxn + rcst
  - l1x1 + ... lnxn + lcst >= r1x1 + ... rnxn + rcst
  The ci, li or ri are the coefficients of the constraints, the xi are the coordinates of the current point and v is the value of the constraint.
  Since:
    2.0
  Version:
    $Id: LinearConstraint.java 1244107 2012-02-14 16:17:55Z erans $
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LinearConstraint(double[] lhsCoefficients, double lhsConstant, Relationship relationship, double[] rhsCoefficients, double rhsConstant)` Build a constraint involving two linear equations.
    `LinearConstraint(double[] coefficients, Relationship relationship, double value)` Build a constraint involving a single linear equation.
    `LinearConstraint(RealVector lhsCoefficients, double lhsConstant, Relationship relationship, RealVector rhsCoefficients, double rhsConstant)` Build a constraint involving two linear equations.
    `LinearConstraint(RealVector coefficients, Relationship relationship, double value)` Build a constraint involving a single linear equation.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object other)`
    `RealVector` | `getCoefficients()` Get the coefficients of the constraint (left hand side).
    `Relationship` | `getRelationship()` Get the relationship between left and right hand sides.
    `double` | `getValue()` Get the value of the constraint (right hand side).
    `int` | `hashCode()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LinearConstraint

          public LinearConstraint(double[] coefficients,
                          Relationship relationship,
                          double value)

      Build a constraint involving a single linear equation.

      A linear constraint with a single linear equation has one of the forms:

      - c1x1 + ... cnxn = v
      - c1x1 + ... cnxn <= v
      - c1x1 + ... cnxn >= v
      Parameters:
        `coefficients` - The coefficients of the constraint (left hand side)
        `relationship` - The type of (in)equality used in the constraint
        `value` - The value of the constraint (right hand side)

    - #### LinearConstraint

          public LinearConstraint(RealVector coefficients,
                          Relationship relationship,
                          double value)

      Build a constraint involving a single linear equation.

      A linear constraint with a single linear equation has one of the forms:

      - c1x1 + ... cnxn = v
      - c1x1 + ... cnxn <= v
      - c1x1 + ... cnxn >= v
      Parameters:
        `coefficients` - The coefficients of the constraint (left hand side)
        `relationship` - The type of (in)equality used in the constraint
        `value` - The value of the constraint (right hand side)

    - #### LinearConstraint

          public LinearConstraint(double[] lhsCoefficients,
                          double lhsConstant,
                          Relationship relationship,
                          double[] rhsCoefficients,
                          double rhsConstant)

      Build a constraint involving two linear equations.

      A linear constraint with two linear equation has one of the forms:

      - l1x1 + ... lnxn + lcst = r1x1 + ... rnxn + rcst
      - l1x1 + ... lnxn + lcst <= r1x1 + ... rnxn + rcst
      - l1x1 + ... lnxn + lcst >= r1x1 + ... rnxn + rcst
      Parameters:
        `lhsCoefficients` - The coefficients of the linear expression on the left hand side of the constraint
        `lhsConstant` - The constant term of the linear expression on the left hand side of the constraint
        `relationship` - The type of (in)equality used in the constraint
        `rhsCoefficients` - The coefficients of the linear expression on the right hand side of the constraint
        `rhsConstant` - The constant term of the linear expression on the right hand side of the constraint

    - #### LinearConstraint

          public LinearConstraint(RealVector lhsCoefficients,
                          double lhsConstant,
                          Relationship relationship,
                          RealVector rhsCoefficients,
                          double rhsConstant)

      Build a constraint involving two linear equations.

      A linear constraint with two linear equation has one of the forms:

      - l1x1 + ... lnxn + lcst = r1x1 + ... rnxn + rcst
      - l1x1 + ... lnxn + lcst <= r1x1 + ... rnxn + rcst
      - l1x1 + ... lnxn + lcst >= r1x1 + ... rnxn + rcst
      Parameters:
        `lhsCoefficients` - The coefficients of the linear expression on the left hand side of the constraint
        `lhsConstant` - The constant term of the linear expression on the left hand side of the constraint
        `relationship` - The type of (in)equality used in the constraint
        `rhsCoefficients` - The coefficients of the linear expression on the right hand side of the constraint
        `rhsConstant` - The constant term of the linear expression on the right hand side of the constraint

  - ### Method Detail

    - #### getCoefficients

          public RealVector getCoefficients()

      Get the coefficients of the constraint (left hand side).
      Returns:
        coefficients of the constraint (left hand side)

    - #### getRelationship

          public Relationship getRelationship()

      Get the relationship between left and right hand sides.
      Returns:
        relationship between left and right hand sides

    - #### getValue

          public double getValue()

      Get the value of the constraint (right hand side).
      Returns:
        value of the constraint (right hand side)

    - #### equals

          public boolean equals(Object other)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.