A module for solving linear programming problems.
Project description
LipPy
A module for solving linear programming problems on Python.
Install
pip install lippy
How to use
Import
import lippy as lp
1. Simplex method in primal linear programming:
c_vec = [6, 6, 6]
a_matrix = [[4, 1, 1],
[1, 2, 0],
[0, 0.5, 4]]
b_vec = [5, 3, 8]
simplex = lp.SimplexMethod(c_vec, a_matrix, b_vec)
solution, func_value = simplex.solve()
2. Simplex method in dual linear programming:
c_vec = [6, 6, 6]
a_matrix = [[4, 1, 1],
[1, 2, 0],
[0, 0.5, 4]]
b_vec = [5, 3, 8]
c_vec, a_matrix, b_vec = lp.primal_to_dual_lp(c_vec, a_matrix, b_vec)
simplex = lp.SimplexMethod(c_vec, a_matrix, b_vec)
solution, func_value = simplex.solve()
3. Branch and bound in integer linear programming:
c_vec = [3, 3, 7]
a_matrix = [[1, 1, 1],
[1, 4, 0],
[0, 0.5, 3]]
b_vec = [3, 5, 7]
bab = lp.BranchAndBound(c_vec, a_matrix, b_vec)
solution, func_value = bab.solve()
4. Brute force method in integer linear programming:
c_vec = [3, 3, 7]
a_matrix = [[1, 1, 1],
[1, 4, 0],
[0, 0.5, 3]]
b_vec = [3, 5, 7]
force = lp.BruteForce(c_vec, a_matrix, b_vec)
solution, func_value = force.solve()
5. Cutting-plane method in integer linear programming:
c_vec = [3, 3, 7]
a_matrix = [[1, 1, 1],
[1, 4, 0],
[0, 0.5, 3]]
b_vec = [3, 5, 7]
gomory = lp.CuttingPlaneMethod(c_vec, a_matrix, b_vec)
gomory.solve()
6. Zero-sum game in game theory (using Simplex method):
game_matrix = [[8, 1, 17, 8, 1],
[12, 6, 11, 10, 16],
[4, 19, 11, 15, 2],
[17, 19, 6, 17, 16]]
game = lp.ZeroSumGame(game_matrix)
strategies = game.solve()
p.s. Conclusion of the solution:
You can use three logging modes: lp.FULL_LOG, lp.MEDIUM_LOG and lp.LOG_OFF.
These values are passed to the parameters of the class you are using. The default value is lp.LOG_OFF.
Example:
simplex = lp.SimplexMethod(c_vec, a_matrix, b_vec, log_mode=lp.LOG_OFF)
# or
bab = lp.BranchAndBound(c_vec, a_matrix, b_vec, log_mode=lp.LOG_OFF)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lippy-0.0.2.tar.gz
(9.6 kB
view hashes)
Built Distribution
lippy-0.0.2-py3-none-any.whl
(13.2 kB
view hashes)