dealib.linprog package
Submodules
dealib.linprog._wrappers module
- class dealib.linprog._wrappers.LPP(c: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None, A_ub: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None, b_ub: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None, A_eq: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None, b_eq: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None)
Bases:
objectLinear programming problem.
- Parameters
c (1-d array) – Objective function to optimize.
A_ub (2-d array) – Lhs matrix of inequalities constraints.
b_ub (1-d array) – Rhs vector of inequalities constraints.
A_eq (1-d array) – Lhs matrix of equalities constraints.
b_eq (1-d array) – Rhs vector of equalities constraints
- A_eq: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None
- A_ub: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None
- b_eq: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None
- b_ub: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None
- c: Optional[numpy.ndarray[Any, numpy.dtype[float]]] = None
- class dealib.linprog._wrappers.LPPResult(f: float, x: numpy.ndarray[Any, numpy.dtype[float]], slack: numpy.ndarray[Any, numpy.dtype[float]], dual: numpy.ndarray[Any, numpy.dtype[float]])
Bases:
objectResult of linear programming problem.
- Parameters
f (bool) – A value of objective function.
x (1-d array) – Solution vector at optima.
slack (2-d array) – Matrix of slack variables.
dual (2-d array) – Matrix of variables of dual LPP.
- dual: numpy.ndarray[Any, numpy.dtype[float]]
- f: float
- slack: numpy.ndarray[Any, numpy.dtype[float]]
- x: numpy.ndarray[Any, numpy.dtype[float]]
dealib.linprog._simplex module
- dealib.linprog._simplex.simplex(lpp: dealib.linprog._wrappers.LPP, *, opt_f: Optional[bool] = True, opt_slacks: Optional[bool] = False, maxiter: Optional[int] = 1000, eps: Optional[float] = 1e-06, tol: Optional[float] = 1e-09) dealib.linprog._wrappers.LPPResult
Solves the given linear programming problem.
- Parameters
lpp (LPP) – Linear programming problem.
opt_f (bool) – Flag that determines whether to optimize the objective function.
opt_slacks (bool) – Flag that determines whether to optimize the slack variables.
maxiter (int) – Maximal number of iteration.
eps (float) – Float number for slack optimization.
tol (float) – Tolerance for LPP solving.
- Returns
LPP solution.
- Return type
Example
>>> c = np.array([3, 2]) >>> A_ub = np.array([[2, 1], [-1, -3]]) >>> b_ub = np.array([50, -15]) >>> A_eq = np.array([[5, 6]]) >>> b_eq = np.array([60]) >>> lpp = LPP(c, A_ub, b_ub, A_eq, b_eq) >>> result = simplex(lpp) >>> print(result.f) 33.333333 >>> print(result.x) [10, 1.666667] >>> print(result.slack) [28.333333, 0]