https://github.com/macmod/posimplex
Yet another Simplex written in Python.
https://github.com/macmod/posimplex
Last synced: 8 months ago
JSON representation
Yet another Simplex written in Python.
- Host: GitHub
- URL: https://github.com/macmod/posimplex
- Owner: Macmod
- License: gpl-3.0
- Created: 2018-05-07T13:00:27.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-06-25T20:09:13.000Z (almost 8 years ago)
- Last Synced: 2025-02-01T01:06:40.248Z (over 1 year ago)
- Language: Python
- Size: 187 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# POSimplex
O objetivo da primeira parte do trabalho é implementar o Simplex primal/dual, abrindo caminho para trabalhos futuros da disciplina de Pesquisa Operacional e desenvolvendo um entendimento maior a respeito dos métodos aprendidos. O objetivo da segunda parte é implementar os métodos de Planos de Corte e Branch & Bound para resolução de programações inteiras. O arquivo [spec-tp1.pdf](spec-tp1.pdf) detalha a especificação da primeira parte e o arquivo [spec-tp2.pdf](spec-tp2.pdf) detalha a especificação da segunda parte.
A biblioteca `fractions` é utilizada para suporte a frações. A saída é dada em frações e a entrada pode conter expressões a serem interpertadas pela `numpy`.
A única dependência é a `numpy`.
# Instalação
As dependências podem ser obtidas com:
```bash
$ pipenv install
```
E o ambiente ativado com:
```bash
$ pipenv shell
```
# Uso
O programa correspondente ao TP1, `simplex.py` resolve programações lineares e pode ser chamado como segue:
```bash
$ ./simplex.py entrada.txt
```
Ou passando a entrada via `stdin`:
```bash
$ ./simplex.py < entrada.txt
```
As duas maneiras de chamada também são válidas para o programa do TP2, `integer_programming.py`, que resolve programações inteiras:
```bash
$ ./integer_programming.py entrada.txt
$ ./integer_programming.py < entrada.txt
```
É possível ainda incluir a biblioteca `simplex` em outros programas a fim de utilizar a classe `StdLP`:
```bash
from simplex import StdLP
```