Class LinearConstraint
- java.lang.Object
-
- org.apache.commons.math3.optim.linear.LinearConstraint
-
- All Implemented Interfaces:
java.io.Serializable
public class LinearConstraint extends java.lang.Object implements java.io.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
- Since:
- 2.0
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private RealVector
coefficients
Coefficients of the constraint (left hand side).private Relationship
relationship
Relationship between left and right hand sides (=, <=, >=).private static long
serialVersionUID
Serializable version identifier.private double
value
Value of the constraint (right hand side).
-
Constructor Summary
Constructors Constructor 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object other)
RealVector
getCoefficients()
Gets the coefficients of the constraint (left hand side).Relationship
getRelationship()
Gets the relationship between left and right hand sides.double
getValue()
Gets the value of the constraint (right hand side).int
hashCode()
private void
readObject(java.io.ObjectInputStream ois)
Deserialize the instance.private void
writeObject(java.io.ObjectOutputStream oos)
Serialize the instance.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Serializable version identifier.- See Also:
- Constant Field Values
-
coefficients
private final transient RealVector coefficients
Coefficients of the constraint (left hand side).
-
relationship
private final Relationship relationship
Relationship between left and right hand sides (=, <=, >=).
-
value
private final double value
Value of the constraint (right hand side).
-
-
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 constraintvalue
- 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 constraintvalue
- 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 constraintlhsConstant
- The constant term of the linear expression on the left hand side of the constraintrelationship
- The type of (in)equality used in the constraintrhsCoefficients
- The coefficients of the linear expression on the right hand side of the constraintrhsConstant
- 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 constraintlhsConstant
- The constant term of the linear expression on the left hand side of the constraintrelationship
- The type of (in)equality used in the constraintrhsCoefficients
- The coefficients of the linear expression on the right hand side of the constraintrhsConstant
- The constant term of the linear expression on the right hand side of the constraint
-
-
Method Detail
-
getCoefficients
public RealVector getCoefficients()
Gets the coefficients of the constraint (left hand side).- Returns:
- the coefficients of the constraint (left hand side).
-
getRelationship
public Relationship getRelationship()
Gets the relationship between left and right hand sides.- Returns:
- the relationship between left and right hand sides.
-
getValue
public double getValue()
Gets the value of the constraint (right hand side).- Returns:
- the value of the constraint (right hand side).
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
writeObject
private void writeObject(java.io.ObjectOutputStream oos) throws java.io.IOException
Serialize the instance.- Parameters:
oos
- stream where object should be written- Throws:
java.io.IOException
- if object cannot be written to stream
-
readObject
private void readObject(java.io.ObjectInputStream ois) throws java.lang.ClassNotFoundException, java.io.IOException
Deserialize the instance.- Parameters:
ois
- stream from which the object should be read- Throws:
java.lang.ClassNotFoundException
- if a class in the stream cannot be foundjava.io.IOException
- if object cannot be read from the stream
-
-