类 LinearProgramming
- java.lang.Object
-
- edu.princeton.cs.algs4.LinearProgramming
-
public class LinearProgramming extends java.lang.Object
TheLinearProgramming
class represents a data type for solving a linear program of the form { max cx : Ax ≤ b, x ≥ 0 }, where A is a m-by-n matrix, b is an m-length vector, and c is an n-length vector. For simplicity, we assume that A is of full rank and that b ≥ 0 so that x = 0 is a basic feasible soution.The data type supplies methods for determining the optimal primal and dual solutions.
This is a bare-bones implementation of the simplex algorithm. It uses Bland's rule to determing the entering and leaving variables. It is not suitable for use on large inputs. It is also not robust in the presence of floating-point roundoff error.
For additional documentation, see Section 6.5 Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
-
-
构造器概要
构造器 构造器 说明 LinearProgramming(double[][] A, double[] b, double[] c)
Determines an optimal solution to the linear program { max cx : Ax ≤ b, x ≥ 0 }, where A is a m-by-n matrix, b is an m-length vector, and c is an n-length vector.
-
方法概要
修饰符和类型 方法 说明 double[]
dual()
Returns the optimal dual solution to this linear programstatic void
main(java.lang.String[] args)
Unit tests theLinearProgramming
data type.double[]
primal()
Returns the optimal primal solution to this linear program.double
value()
Returns the optimal value of this linear program.
-
-
-
构造器详细资料
-
LinearProgramming
public LinearProgramming(double[][] A, double[] b, double[] c)
Determines an optimal solution to the linear program { max cx : Ax ≤ b, x ≥ 0 }, where A is a m-by-n matrix, b is an m-length vector, and c is an n-length vector.- 参数:
A
- the m-by-b matrixb
- the m-length RHS vectorc
- the n-length cost vector- 抛出:
java.lang.IllegalArgumentException
- unlessb[i] >= 0
for eachi
java.lang.ArithmeticException
- if the linear program is unbounded
-
-
方法详细资料
-
value
public double value()
Returns the optimal value of this linear program.- 返回:
- the optimal value of this linear program
-
primal
public double[] primal()
Returns the optimal primal solution to this linear program.- 返回:
- the optimal primal solution to this linear program
-
dual
public double[] dual()
Returns the optimal dual solution to this linear program- 返回:
- the optimal dual solution to this linear program
-
main
public static void main(java.lang.String[] args)
Unit tests theLinearProgramming
data type.- 参数:
args
- the command-line arguments
-
-