|
JMSLTM Numerical Library 4.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.imsl.math.LinearProgramming
Linear programming problem using the revised simplex algorithm.
Class LinearProgramming uses a revised simplex method to
solve linear programming problems, i.e., problems of the form
![]()
subject to
![]()
![]()
where c is the objective coefficient vector,
A is the coefficient matrix, and the vectors
,
,
,
and
are the lower and upper bounds on the
constraints and the variables, respectively.
NOTE: This code is obsolete. For any new development one should use DenseLP instead.
For a complete description of the revised simplex method, see Murtagh (1981) or Murty (1983).
| Nested Class Summary | |
static class |
LinearProgramming.BoundsInconsistentException
The bounds given are inconsistent. |
static class |
LinearProgramming.NumericDifficultyException
Numerical difficulty occurred. |
static class |
LinearProgramming.ProblemInfeasibleException
The problem is not feasible. |
static class |
LinearProgramming.ProblemUnboundedException
The problem is unbounded. |
| Constructor Summary | |
LinearProgramming(double[][] a,
double[] b,
double[] c)
Constructor variables of type double. |
|
| Method Summary | |
Object |
clone()
Creates and returns a copy of this object. |
double[] |
getDualSolution()
Returns the dual solution. |
double |
getOptimalValue()
Returns the optimal value of the objective function. |
double[] |
getPrimalSolution()
Returns the solution x of the linear programming problem. |
void |
setConstraintType(int[] constraintType)
Sets the types of general constraints in the matrix a. |
void |
setLowerBound(double[] lowerBound)
Sets the lower bound on the variables. |
void |
setMaximumIteration(int iterations)
Sets the maximum number of iterations. |
void |
setUpperBound(double[] upperBound)
Sets the upper bound on the variables. |
void |
setUpperLimit(double[] upperLimit)
Sets the upper limit of the constraints. |
void |
solve()
Solves the program using the revised simplex algorithm. |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public LinearProgramming(double[][] a,
double[] b,
double[] c)
double.
a - A double matrix with coefficients of the constraintsb - A double array containing the right-hand side of the constraints.c - A double array containing the coefficients of the objective function.
IllegalArgumentException - is thrown if the dimensions of a,
b.length, and c.length are not consistent.| Method Detail |
public Object clone()
public double[] getDualSolution()
double array containing the dual
solution of the linear programming problem.public double getOptimalValue()
double scalar containing the optimal
value of the objective function.public double[] getPrimalSolution()
double array containing the
solution x of the linear programming problem.public void setConstraintType(int[] constraintType)
constraintType - a int array containing the types
of general constraints.
|
constraintType |
Constraint |
| 0 | |
| 1 | |
| 2 | |
| 3 |
public void setLowerBound(double[] lowerBound)
lowerBound - a double array containing the lower
bound on the variables.public void setMaximumIteration(int iterations)
iterations - a int scalar specifying the maximum
number of iterations.public void setUpperBound(double[] upperBound)
upperBound - a double array containing the upper
bound on the variables.public void setUpperLimit(double[] upperLimit)
upperLimit - a double array containing the upper
limit of the constraints that have both the lower
and the upper bounds.
public final void solve()
throws LinearProgramming.BoundsInconsistentException,
LinearProgramming.NumericDifficultyException,
LinearProgramming.ProblemInfeasibleException,
LinearProgramming.ProblemUnboundedException,
SingularMatrixException
LinearProgramming.BoundsInconsistentException - is thrown if the bounds are inconsistent.
LinearProgramming.ProblemInfeasibleException - is thrown if there is no feasible solution
to the problem.
LinearProgramming.ProblemUnboundedException - is thrown if there is no finite solution
to the problem.
LinearProgramming.NumericDifficultyException - is thrown if there is a numerical problem
during the solution.
SingularMatrixException
|
JMSLTM Numerical Library 4.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||