
Manual do Usuário
Programa Simplex Versão 2.X
Nessa nova versão do programa para simplex, a interface com o usuário
ficou mais amigável, sendo que as respostas também ficaram mais completas. Para utilizar
bem esse manual, e necessário algum conhecimento de modelagem de tableau para simplex,
pois esse programa ainda está trabalhando com uma matriz ( tableau ) definida pelo
usuário, assim como as definições das variáveis, dos passos passos necessários.
OBS: O método com duas fases ( MAX / MIN ) deve ser usado, quando uma ou
mais restrições, forem do tipo: >= ( Maior Igual ) ou do tipo: = ( Igual ). Sendo que
o problema de Minimização, so tem com duas fases.
Nos exemplos abaixos, foram usados os arquivos contidos na pasta de
exercícios/exemplos, que acompanha a versão 1.0 do programa, para quem vai utilizar
diretamente pela primeira vez a versão 2.0 do programa, recomento instalar os exemplos,
contido no arquivo: ExeMat
1 - Maximização ( Simplex com Uma Fase )
- Transfira o arquivo Simplex 2.0
para a sua HP48
- Entre no diretório PRGMAT,a seguinte
tela aparecerá:

- O diretório EXERC, contém os exercicios da apostila e
alguns exemplos.

- O diretório PROG, contém os programas para simplex.

- Para editar a sua matriz basta copiar o Tableau Incial do proplema ( as primeiras linhas
da matriz deve conter as restrições e a ultima linha a função objetiva Z ), porém,
vamos utilizar um exercicio previamente gravado
Base |
X1 |
X2 |
X3 |
XA |
XB |
Solução |
XA |
6 |
3 |
5 |
1 |
0 |
30 |
XB |
2 |
4 |
5 |
0 |
1 |
20 |
-Z |
3 |
1 |
4 |
0 |
0 |
0 |
- No diretório EXERC, escolha o EX12

- Entre do diretório PROG, e execute SIMPLEX

- No menu de opções: Escolha a primeira opção ( MAX: SIMPLES
)

- Pronto o Simplex está resolvido,agora basta ir copiando os resultados da tela

- Pressiome a seta para baixo da HP48 na tela acima

- Após copiar a matriz, pressione ENTER ou ON e apague a matriz com o DROP
- As próximas 2 linhas indicam, quem entrou e quem saiu da BASE

- Cuidado, o "IN: 3" indica que a variável da terceira coluna entrou na base e
o "OUT: 2" indica que a variável da segunda linha do tableau sai da base
- Apague essas duas linha ( DROP e depois DROP de novo )
- Repita os passos 15 a 21 para o restante o Tableu
- A última Matriz, tem a solução do proplema:

Base |
X1 |
X2 |
X3 |
XA |
XB |
Solução |
X1 |
1 |
-0.25 |
0 |
0.25 |
-0.25 |
2.5 |
X3 |
0 |
0.9 |
1 |
0.1 |
0.3 |
3 |
-Z |
0 |
-1.85 |
0 |
-0.35 |
-0.45 |
-19.5 |
- Solução Z* = 19,5 X1* = 2,5 X2* = 0 ( não esta na base ) X3* = 3
- CUIDADO: Nesse modo simples o programa não indica qual a variável que está na base,
por isso você deve ir acompanhando quem entrou e quem saiu para saber no resultado, quem
está na base
2 - Conhecendo as principais funções
que fazem parte do algorítmo do programa Simplex
Função |
Descrição |
SIMPLEX |
Esse é o programa principal ( automático ). Parâmetros: Matriz
com dados do problemas na pilha 1. |
INVERTE |
Essa função inverte os dados da pilha ( ultimo para o primeiro nível e
vice-versa ) |
MAIN |
Função que resolve o Simplex de Maximização ( controla a chamada das
funções MAXLI, MINCO e CALC ). Parâmetros: Matriz inicial do problema |
CALC |
Função que calcula uma passagem do Tableau. Parâmentros: Matriz do
problema ( nível 3 ), Número da coluna da variável que vai entrar na base ( nível 2 )
e o número da linha aonde a variável vai sair da base ( nível 1 ) |
MINCO |
Essa função encontra qual a linha que contêm a variável que vai sair
da base. Parâmentros: Matriz do Problema ( Nível 2 ) e o número da coluna da variável
que vai entrar na base ( Nível 1 ) |
MAXLI |
Essa função encontra a coluna da variável que vai entrar na base.
Parâmentros: Matriz do problema ( Nível 2 ) e o número 1 ( Sempre, nivel 1 ).
ATENÇÃO: Se o valor retornado no nível 1 for igual a 0, então todos os valores da
função Objetiva já são 0 ou negativos. |
PRETAB |
Essa função prepara o Z' do tableau inicial com as variáveis
artificiais |
3 - Maximização ( simples ), Manualmente
- Transfira o arquivo ProgMat para a sua HP48
- Entre no diretório PRGMAT,a seguinte
tela aparecerá:

- O diretório EXERC, contém os exercicios da apostila e
alguns exemplos.

- O diretório PROG, contém os programas para simplex.

- Para editar a sua matriz basta copiar o Tableau Incial do proplema ( as primeiras linhas
da matriz deve conter as restrições e a ultima linha a função objetiva Z ), porém,
vamos utilizar um exercicio previamente gravado
Base |
X1 |
X2 |
X3 |
XA |
XB |
Solução |
XA |
6 |
3 |
5 |
1 |
0 |
30 |
XB |
2 |
4 |
5 |
0 |
1 |
20 |
-Z |
3 |
1 |
4 |
0 |
0 |
0 |
- No diretório EXERC, escolha o EX12

- Agora, vamos começar a resolver o Simplex manualmente, entre no diretório PROG
- Primeiro passo, achar qual a variável que vai entrar na base: Execute o MAXLI com os parâmetros: Matriz do problema ( nível 2 ) e o
número 1 ( Nível 1 )

- Resposta, a função retornará um valor no nível 1, esse valor indica qual a coluna
que contém a variável que vai entrar na base ( no nosso exemplo, a variável que está
na coluna 3, vai entrar na base ).

- Agora, execute a função MINCO, para saber qual a linha da
variável que vai sair da base. O resultado é colocado no nível 1 da pilha.

- Com esses dados: Matriz do Problema no nível 3, número da coluna que vai entrar na
base no nível 2 e o número da linha que vai sair da base no nível 1. Execute a função
CALC, teremos uma nova matriz

- Repita os passos 12 a 19
- Mas quando devemos parar ?. Para saber se ja encontramos a solução do problema é
simples, ao executar a função MAXLI, se o retorno do nível
1 for igual a 0, então nao temos mais nenhuma variável positiva maior que zero na
função objetiva, logo, encontramos a solução do problema.
4 - Maximização/ Minimização com 2 Fases
O processo para resolver Maximização / Minimização com duas fases,
são idênticos, tomando somente o cuidado de escolher no menu principal, a opção
desejada.
Vamos resolver o seguinte problema:

passando para a forma canônica, teremos:

O tableau inicial ficará ( esse e o tableu que iremos utilizar na HP48 )
Base |
xa |
xb |
xc |
xad |
xe |
Solução |
xad |
30 |
50 |
-1 |
1 |
0 |
320 |
xe |
1 |
2 |
0 |
0 |
1 |
12 |
Z'' |
0 |
0 |
0 |
-1 |
0 |
0 |
Repare que a função Z' não foi calculada, porque o programa realizará
essa tarefa. Essa linha contém todos os valores igual a zero e o valor -1, nas colunas
que se encontram as variáveis artificiais.
- No diretório EXERC, escolha o MC

- Agora, entre no diretório PROG.
- Com a Matriz do problema na pilha, execute o programa SIMPLEX, no menu, escolha a terceira opção:
MIN: 2 FASES.

- Na tela seguinte, temos quatro campos de entradas. Primeiro campo: VARIÁVEIS,
nesse item devemos escrever as variáveis utilizadas no problema. ( com letras / numeros,
ficando ao seu gosto ).

- Segundo Campo: TIPO, esse é a parte mais crítica do
programa. Devemos entrar com os tipos que corresponde as variáveis digitadas
anteriormente, sendo: TIPO 1 ( Digitar o número 1 ), para as variáveis básicas, TIPO 2:
Variáveis de folga e ou excesso, TIPO 3: Variáveis artificiais. No nosso exemplo, as
variáveis XA e XB são básicas, sendo do tipo 1, as variáveis XC e XD são de
folga/excesso, sendo do tipo 2 e a variável XAD é artificial, sendo do tipo 3. A entrada
ficará de seguinte maneira:

- Terceiro Campo: FUNÇÃO Z, devemos digitar os coeficientes
da função objetiva ( MIN Z ) do problema

- Quarto Campo: BASE, nesse campo, devemos colocar os nomes das variáveis que estão na
base no tableau inicial, normalmente as articifiais e ou as de folga/excesso.

- Após ter digitados as campos corretamente, pressione OK

- Pronto, o nosso problema de Minimização está resolvido. Agora, basta ir copiando os
resultados e apagando os dados da pilha assim que copiados ( do mesmo modo que foi feito
com o de maximização ). Os valores IN e OUT indicaram qual foi as variaveis que entraram
e sairam da base.
- Ao ser copiado, os resultados, em um determinado ponto aparecerá a palavra "SBI",
indicando o final da primeira fase, bem como as variáveis que se encontram na base nesse
ponto, gerando o seguinte tableau:
-
Base |
xa |
xb |
xc |
xad |
xe |
Solução |
xa |
1 |
0 |
-.2 |
.2 |
-5 |
4 |
xb |
0 |
1 |
.1 |
-.1 |
3 |
4 |
Z'' |
0 |
0 |
0 |
-1 |
0 |
0 |
- Ao chegar no final temos a palavra "SOLUÇÃO", indicando que a próxima
matriz e a solução do problema.

-
Base |
xa |
xb |
xc |
xe |
Solução |
xa |
1 |
0 |
-.2 |
-5 |
4 |
xb |
0 |
1 |
.1 |
3 |
4 |
Z'' |
0 |
0 |
-1000 |
-15000 |
140000 |
- Z* = 140000, XA* = 4, XB* = 4, XC=XE=0

Dúvidas, sugestões, comentários: Anthares Software E-Mail
