NMath Reference Guide

## Linear |

Class LinearProgrammingProblem encapsulates a Linear programming problem.

Inheritance Hierarchy

SystemObject

CenterSpace.NMath.CoreBoundedVariableProblem

CenterSpace.NMath.CoreLinearConstrainedProblem

CenterSpace.NMath.CoreLinearProgrammingProblem

CenterSpace.NMath.CoreMixedIntegerLinearProgrammingProblem

CenterSpace.NMath.CoreBoundedVariableProblem

CenterSpace.NMath.CoreLinearConstrainedProblem

CenterSpace.NMath.CoreLinearProgrammingProblem

CenterSpace.NMath.CoreMixedIntegerLinearProgrammingProblem

Syntax

The LinearProgrammingProblem type exposes the following members.

Constructors

Name | Description | |
---|---|---|

LinearProgrammingProblem | Default constructor. Behavior of resulting object is undefined. | |

LinearProgrammingProblem(DoubleVector) | Constructs a LinearProgrammingProblem object for minimizing objective function dot(objectiveCoefficients, x), where x is the vector of variables. |

Properties

Name | Description | |
---|---|---|

Constraints |
Gets and sets the linear constraints for the problem.
(Inherited from LinearConstrainedProblem) | |

NumVariables |
Gets the number of variables.
(Overrides BoundedVariableProblemNumVariables) | |

ObjectiveCoefficients | Gets and sets the coefficients for the objective function. | |

VariableBounds |
Gets and sets variable bounds for the problem.
(Inherited from BoundedVariableProblem) |

Methods

Name | Description | |
---|---|---|

AddBounds(Int32, Double, Double) |
Adds upper and lower bound constraints to a variable.
(Inherited from BoundedVariableProblem) | |

AddBounds(Int32, Double, Double, Double) |
Adds upper and lower bound constraints to a variable.
(Inherited from BoundedVariableProblem) | |

AddConstraint(LinearConstraint) |
Adds the given constraint to the problem.
(Inherited from LinearConstrainedProblem) | |

AddConstraint(DoubleVector, Double, Double) |
Adds a linear inequality constraint of the form
lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem) | |

AddConstraint(ILinearConstraintCoefficients, Double, Double) |
Adds a linear inequality constraint of the form
lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem) | |

AddConstraint(DoubleVector, Double, Double, Double) |
Adds a linear inequality constraint of the form
lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem) | |

AddConstraint(ILinearConstraintCoefficients, Double, Double, Double) |
Adds a linear inequality constraint of the form
lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem) | |

AddEqualityConstraint(DoubleVector, Double) |
Adds an equality constraint of the form
coefficients'x = rightHandSide
(Inherited from LinearConstrainedProblem) | |

AddEqualityConstraint(ILinearConstraintCoefficients, Double) |
Adds an equality constraint of the form
coefficients'x = rightHandSide
(Inherited from LinearConstrainedProblem) | |

AddLowerBound(Int32, Double) |
Adds an lower bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem) | |

AddLowerBound(Int32, Double, Double) |
Adds an lower bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem) | |

AddLowerBoundConstraint(DoubleVector, Double) |
Adds a linear inequality constraint of the form
coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem) | |

AddLowerBoundConstraint(ILinearConstraintCoefficients, Double) |
Adds a linear inequality constraint of the form
coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem) | |

AddLowerBoundConstraint(DoubleVector, Double, Double) |
Adds a linear inequality constraint of the form
coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem) | |

AddLowerBoundConstraint(ILinearConstraintCoefficients, Double, Double) |
Adds a linear inequality constraint of the form
coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem) | |

AddUpperBound(Int32, Double) |
Adds an upper bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem) | |

AddUpperBound(Int32, Double, Double) |
Adds an upper bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem) | |

AddUpperBoundConstraint(DoubleVector, Double) |
Adds a linear inequality constraint of the form
coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem) | |

AddUpperBoundConstraint(ILinearConstraintCoefficients, Double) |
Adds a linear inequality constraint of the form
coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem) | |

AddUpperBoundConstraint(DoubleVector, Double, Double) |
Adds a linear inequality constraint of the form
coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem) | |

AddUpperBoundConstraint(ILinearConstraintCoefficients, Double, Double) |
Adds a linear inequality constraint of the form
coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem) | |

CheckVariableIndex |
Checks that the given variable array index is valid.
(Overrides BoundedVariableProblemCheckVariableIndex(Int32)) | |

Clone | Returns a deep copy of self. | |

EvaluateConstraints |
Evaluates each of the constraints at the specified point and
returns the results.
(Inherited from LinearConstrainedProblem) | |

PointIsFeasible(DoubleVector) |
Function for determining the feasibility of a give point. A point
x is feasible if it satisfies all the constraints of the
problem.
(Inherited from LinearConstrainedProblem) | |

PointIsFeasible(DoubleVector, Double) |
Function for determining the feasibility of a give point.
(Inherited from LinearConstrainedProblem) | |

ToString |
Creates a string representation of the problem.
(Overrides ObjectToString) |

Fields

Name | Description | |
---|---|---|

constraints_ |
Problem constraints.
(Inherited from LinearConstrainedProblem) | |

variableBounds_ |
Map containing variable bounds. Key is the variable ID, the value is the bounds.
(Inherited from BoundedVariableProblem) |

Remarks

A linear programming (LP) problem optimizes a linear objective function subject to
a set of linear constraints, and optionally subject to a set of variable bounds.
The simplex method solves LP problems by constructing a solution at a vertex of
a simplex, then walking along edges of the simplex to vertices with successively
optimal values of the objective function until the optimum is reached. For example:

See Also