https://github.com/fusion809/simplex
Linear programme solver that uses the simplex method. Has advanced features and shows full working.
https://github.com/fusion809/simplex
linear-programming-solver operations-research sensitivity-analysis simplex simplex-algorithm simplex-method
Last synced: 2 months ago
JSON representation
Linear programme solver that uses the simplex method. Has advanced features and shows full working.
- Host: GitHub
- URL: https://github.com/fusion809/simplex
- Owner: fusion809
- License: gpl-3.0
- Created: 2020-10-24T11:41:17.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-22T08:37:00.000Z (over 1 year ago)
- Last Synced: 2023-09-23T04:37:14.948Z (over 1 year ago)
- Topics: linear-programming-solver, operations-research, sensitivity-analysis, simplex, simplex-algorithm, simplex-method
- Language: JavaScript
- Homepage: https://fusion809.github.io/simplex/
- Size: 187 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Simplex method solver
This repository contains a webpage I have written to solve linear programmes using the simplex method.As of 19 November 2020 this solver:
* Prints messages indicating whether the solution is:
* Permanently degenerate.
* Permanently infeasible.
* Unbounded.
* Prints the final solution, including decision variable values, dual variable values and objective function value.
* Mentions whether a problem has alternate solutions and lists them.
* Shows extensive working.
* Uses USQ's [MAT2200](https://www.usq.edu.au/course/synopses/2020/MAT2200.html) simplex tableau layout (not sure the formal name for this layout).
* Can perform sensitivity analysis, including:
* The adding of new constraint(s).
* The changing of objective function coefficient(s).
* The change in resource value(s) (the right-hand side of constraints).
* Constraint left-hand side change(s).
* The adding of new variable(s).
* Allows the user to enter the problem in either matrix form or non-matrix form.Shortcomings include:
* Poor performance. For really big problems this solver is *very slow* (taking several seconds). Performance has been improved to an extent by reducing redundancy. Any optimizations will be welcome.
* Does not solve integer programming problems (BB.js is an attempt at this, but it was abandoned due to the complexity of the recursion required).
* While the original problem can be entered in non-matrix form, sensitivity analysis can only be performed with changes to the problem entered in matrix form.