Skip to content

O projeto tem como fim, fazer uma implementação do método simplex. Existem dois tipos de apresentação neste repositório, um em prompt e um em tela. O projeto foi feito em Java.

Notifications You must be signed in to change notification settings

iloElias/programaca-linear

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Implementação do Método Simplex

Este é um repositório que contém uma implementação do Método Simplex, utilizado em programação linear para resolver problemas de maximização ou minimização de uma função objetivo, sujeito a restrições.

Modos de Uso

Existem duas formas de utilizar esta implementação: a primeira é através do prompt de comando, utilizando o arquivo MainSimplex.java, e a segunda é utilizando o aplicativo gráfico, com o arquivo MainSimplexGUI.java.

Preparando a Tabela

Para utilizar a classe Simplex, a tabela (matriz/vetor de duas dimensões) deve estar formatada da seguinte forma:

  • A primeira coluna deve ser reservada aos valores de Z;
  • A última coluna deve ser reservada para os resultados, tanto da função objetivo (normalmente 0) quanto para as inequações;
  • A primeira linha deve conter os valores dos coeficientes da função objetivo;
  • O restante dos espaços deve ser reservado para os coeficientes de X e para as variáveis de folga.

Por exemplo, considere o seguinte problema:

Max Z: 4 X1 + 3 X2
s.a. 2 X1 + 1 X2 >= 1000
     1 X1 + 1 X2 >= 800
     1 X1        >= 400

Neste caso, a matriz deve ser construída da seguinte forma:

float[][] simplexMatrix = {
    {  1,  -4, -3, 0,  0,  0,  0},
    {  0,   2,  1, 1,  0,  0,  1000},
    {  0,   1,  1, 0,  1,  0,  800},
    {  0,   1,  0, 0,  0,  1,  400}
};

Agora para implementar no codigo, devemos fazer assim:

Simplex simplex = new Simplex(simplexMatrix);
simplex.solveSimplex();

Caso esteja utilizando a implementação com interface gráfica, utilize o método solveSimplexGUI(), que retorna uma lista de modificações a serem mostradas na tela.

O programa irá realizar os cálculos necessários e imprimir o passo a passo, juntamente com a resolução final.

About

O projeto tem como fim, fazer uma implementação do método simplex. Existem dois tipos de apresentação neste repositório, um em prompt e um em tela. O projeto foi feito em Java.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages