Professional Documents
Culture Documents
Simplex Trabalho Individual
Simplex Trabalho Individual
INVESTIGACÃO OPERACIONAL
TRABAÇHO DO INDIVIDUAL
Discente:
Stelio Vicente Bernardo
Docente:
Dr. Assuaste Momade
1
TEMA: Método Simplex
Discente:
Docente:
2
Índice
I. Introdução............................................................................................................................1
1.1.1. Objetivos geral.............................................................................................................1
1.2. Objetivos específicos.......................................................................................................1
1.3. Metodologia.....................................................................................................................1
II. Fundamentos Teóricos Do Simplex.................................................................................2
2.1.1. Algoritmo primal simplex............................................................................................3
2.1.2. A Visão Geral do Algoritmo........................................................................................3
2.1.3. Critério de Inviabilidade do Problema.........................................................................4
2.1.4. Visão geral do método algoritmo.................................................................................5
2.1.5. Critérios de melhoria de uma solução básica...............................................................5
III. Quadro simplex e exemplos numéricos...........................................................................6
3.1.1. O Caso em que a Base Viável Inicial não Está Disponível..........................................6
3.1.2. Método de duas fases...................................................................................................7
IV. Casos especiais para o simplex........................................................................................8
4.1.1. Degeneração e Ciclagem..............................................................................................8
4.1.2. O problema de soluções ilimitadas...............................................................................9
4.1.3. Caso de soluções múltiplas........................................................................................10
V. Conclusão.......................................................................................................................10
VI. Referencias bibliográficas..............................................................................................11
3
I. Introdução
O presente trabalho aborda um tema que diz respeito ao método Simplex que por sua vez é
um processo iterativo que permite melhorar a solução da função objetivo em cada etapa. O
processo finaliza quando não é possível continuar melhorando este valor, ou seja, quando se
obtenha a solução ótima (o maior ou menor valor possível, segundo o caso, para que todas as
restrições sejam satisfeitas).
Por outro lado é um algoritmo iterativo que procura fornecer solução para problemas de
programação linear, através da pesquisa dos vértices do conjunto de soluções viáveis, em cada
iteração, visando a otimização de uma função matemática denominada função objetivo. O
método explora o fato de o máximo ou mínimo da função objetivo ocorrer em um dos vértices
desse conjunto de soluções.
Segundo Maros (2003), o método dual simplex tem atraído considerável interesse, devido à
importante aplicação nos métodos de otimização linear inteiro misto, os quais resolvem uma
sequência de problemas de otimização linear, com característica de que uma solução básica
dual factível de boa qualidade é sempre disponível para o problema seguinte da sequência.
Segundo Bixby (2001), testes computacionais mostram que o desempenho do método dual
simplex pode ser superior ao método primal simplex.
O objetivo do presente trabalho é estabelecer uma visão geral sobre o método simples.
I.3. Metodologia
Para a elaboração deste trabalho, segui os preceitos do estudo exploratório, por meio de uma
pesquisa bibliográfica, que, segundo Gil (2008), “é desenvolvida a partir de material já
elaborado, constituído de livros e artigos científicos.” (p.50).
1
II. Fundamentos Teóricos Do Simplex
Sua concepção básica é simples e, por isso mesmo, eficiente. Em linhas bastante gerais, o
algoritmo parte de uma solução viável do sistema de equações que constituem as restrições do
PPL, solução essa normalmente extrema (vértice). A partir dessa solução inicial vai
identificando novas soluções viáveis de valor igual ou melhor que a corrente. O algoritmo,
portanto, possui um critério de escolha que permite encontrar sempre novos e melhores
vértices da envoltório convexa do problema, e um outro critério que consegue determinar se o
vértice escolhido é ou não um vértice ótimo. Antes de desenvolvermos o algoritmo
propriamente dito é necessário recordar alguns conceitos matemáticos que serão utilizados
pelo método.
Será necessário considerar que o método Simplex trabalha apenas com restrições do problema
cujas desigualdades sejam do tipo "≤" (menor ou igual) e seus coeficientes independentes
sejam maiores ou iguais a 0. Portanto, é preciso padronizar as restrições para atender aos
2
requisitos antes de iniciar o algoritmo Simplex. Caso apareçam, depois deste processo,
restrições do tipo "≥" (maior ou igual) ou "=" (igualdade), ou não seja possível alterá-las, será
necessário utilizar outros métodos de resolução, sendo o mais comum, o método das Duas
Fases.
2. As condições de troca de variáveis dentro da matriz básica, para que exista garantia de
melhoria da solução ao longo do desenvolvimento dos passos do algoritmo.
Eventualmente, o algoritmo pode ser adaptado para promover a escolha da base viável inicial,
ou solução viável de partida. Contudo, a essência do método desconhece o problema da
escolha de uma base viável inicial.
O segundo ponto é abordado por um critério bastante simples que envolve o cálculo da
possível contribuição para o acréscimo ou decréscimo da função objetivo (conforme o caso:
maximização ou minimização) com a possível entrada na base de uma variável não básica. O
critério aponta a escolha da variável de maior contribuição imediata. A eficiência do método
3
simplex e seu extraordinário poder de funcionar na prática estão associados ao critério
adotado nesse cálculo. O terceiro tema diz respeito ao teste de parada que inclui a
identificação das condições em que não existe mais a possibilidade de que uma troca de
variáveis na base possa melhorar o critério de otimização, ou ainda situações em que é
identificado um comportamento patológico de crescimento indefinido ou de inviabilidade do
problema.
' ạ ' rj
C j−C ' s (j = l, …,n).
ạ' rs
A nova base irá continuar dual viável se esses coeficientes forem nãonegativos, ou seja:
' ạ ' rj
C j−C ' s ≥0 (j = l, …,n).
ạ' rs
VB X1 X2 X3 X4 X5 X6 b
X1 1 0 0 4 -5 7 8
Logo, a variável x4
X2 0 1 0 -2 4 -2 -2 Linha pivo
entra na base, em
X3 0 0 1 1 -3 2 2
substituição a x2.
-Z 0 0 0 1 3 2 0
c'j/ 1/2 A nova tabela canônica
(a'2j) Coluna será:
pivô
VB X1 X2 X3 X4 X5 X6 b
X1 1 2 0 0 3 3 4
4
X2 0 -1/2 0 1 -2 1 1
X3 0 1/2 1 0 -1 1 1
-Z 0 1/2 0 0 5 1 -1
Como todos os b'i ≥ 0, a base atual é ótima. Logo, a solução ótima é: x* = (4, 0, 1, 1, 0, 0) T e
z* = 1.
O Simplex permite que se encontre valores ideais em situações em que diversos aspetos
precisam ser respeitados. Diante de um problema, são estabelecidas inequações que representam
restrições para as variáveis. A partir daí, testa-se possibilidades de maneira a otimizar o
resultado da forma mais rápida possível.
O uso mais comum do Simplex é para se maximizar um resultado, ou seja, encontrar o maior
valor possível para um total. Problemas típicos para se resolver com o Simplex são os que
buscam quantidades ideais de produtos a serem comercializados, com restrições referentes ao
armazenamento e à fabricação dos mesmos. A ideia é isolar uma função como sendo o
objetivo.
Solução ótima: quando o critério de parada é satisfeito e não existam variáveis artificiais na
base com valor positivo (os valores são indicados na coluna P0), a otimização foi alcançada. O
valor Z0 atual é a solução ótima do problema, cumprindo para as variáveis que estão na base.
Caso trate-se de um problema de minimização, o valor ótimo obtido deverá ser multiplicado por
"-1".
Soluções infinitas: satisfeito o critério de parada, se alguma variável de decisão não-básica tem
um valor 0 na fila Z, significa que existe outra solução que fornece o mesmo valor ótimo para a
função objetivo. Neste caso, o problema admite infinitas soluções, todas as quais abrangidas
dentro do segmento (ou parte do plano, região de espaço, etc., conforme o número de variáveis
do problema) definido por A·X1 + B·X2 = Z0. Através de uma nova iteração e fazendo com
que a variável de decisão que tenha 0 na linha Z entre na base, é obtida uma solução diferente
para o mesmo valor ótimo.
5
Solução ilimitada (unbounded): se toda coluna da variável que entra na base tem todos os
seus elementos negativos ou nulos, trata-se de um problema não-limitado, ou seja, que tem
solução ilimitada. Não há valor ótimo concreto para a função objetivo, mas à medida que os
valores das variáveis são aumentados, o valor Z também aumenta sem violar qualquer
restrição.
Não existe solução: quando nenhum ponto satisfaz às restrições do problema, ocorre a
inviabilidade, não existindo nenhuma solução possível para ele. Neste caso, uma vez
terminadas todas as iterações do algoritmo, existem na base variáveis artificiais em que o
valor é superior a zero.
Empate de variável de saída: novamente é possível optar por qualquer uma delas. No
entanto, a fim de não ampliar o problema e evitar que a entrada fique em um ciclo infinito
(caso degenerado), discrimina-se a favor das variáveis de decisão fazendo que permaneçam na
base. No caso de ser a primeira fase do método das Duas Fases, se optará por retirar da base
as variáveis artificiais.
Quadro simplex:
Simplex algébrico Base X y F1 F2 F3 b
Z -5 -3 0
Xb = {F1, F2, F3}, Xn = {x,y} F1 2 3 1 15
F1 = 15 – 2x – 3y
F2 = 9 – 2x – y F2 2 1 1 9
F3 = 3 – X + y
Z – 5x – 3y + 0F1 + 0F2 + 0F3 = 0 F3 1 -1 1 3
6
III.1.1.O Caso em que a Base Viável Inicial não Está Disponível
No algoritmo descrito, a fase de obtenção de uma base viável para o problema foi considerada
superada. Realmente, quando, por meio da inclusão de variáveis de folga na passagem da
descrição da forma canônica para a padrão obtemos uma base inicial (e ainda por cima
canônica), o algoritmo descrito soluciona bem o problema. Mas e quando isso não acontece?
Seja o exemplo que se segue (Goldbarg, Marco Cesar 2005, p. 113):
[ ]
1 0 0
B= 0 1 0
0 0 −1
7
• Descobrir uma base viável (pontos A, B ou C) por um outro método qualquer e então aplicar
o simplex a partir dessa base.
• Usar o próprio simplex para gerar uma base viável, a partir de uma base qualquer inviável.
Optaremos pela segunda alternativa. Nesse caso, inicialmente, o algoritmo buscará uma base
viável para, posteriormente, buscar o ótimo do programa em si.
Tal método de solução terá genericamente duas fases. Podemos descrever essas etapas da
seguinte forma:
• Primeira Fase: o procedimento utilizará o simplex para buscar uma base viável de solução.
• Segunda Fase: de posse da base calculada na primeira fase aplicaremos o método simplex
tradicional em busca do ótimo do programa.
Para operacionalizar a busca da base viável inicial existem duas alternativas, todas com base
na ideia de “variáveis artificiais”. Vamos definir como variáveis artificiais aquelas que
faremos introduzir no programa de otimização para que tenhamos a tão necessária base viável
inicial. Essas variáveis não necessitarão possuir qualquer ligação com a realidade da
modelagem do problema, daí o nome de “artificiais”. No exemplo anterior, como apenas uma
das colunas da base apresenta valor negativo em sua componente canônica (terceira coluna),
ou seja, existe somente uma variável de folga negativa, nos bastará uma artificial para corrigir
essa anomalia.
A convergência do algoritmo simplex é garantida pela certeza de que, a cada passo, o critério
de escolha de troca de uma variável da base vai redundar em melhoria para o valor da função
objetivo. Mesmo que fosse necessário examinar um número exponencial de combinações de
variáveis para formar a base ótima (também denominadas configurações de solução), em passo
finito, o algoritmo terminaria. Entretanto, em algumas situações especiais, podemos encontrar
configurações que invalidem o uso perfeito dos critérios anteriormente descritos. Essas
8
configurações patológicas decorrem de situações em que os zj – cj associados a algumas
bs
variáveis possuem valores iguais, e o mesmo acontece em relação ao mínimo valor .
ysk
Poderá ocorrer que durante a escolha de uma variável para sair da base, temos, empate, isto é, duas ou
mais variáveis se anulam com o crescimento da variável que está entrando na base. Neste caso ocorre o
que chamamos de degeneração (temos uma solução básica factível degenerada). A escolha também é
arbitrária (uma das variáveis básicas assume valor zero). Temos, então, que a mesma solução é obtida
através de bases diferentes. Isso ocorre devido a hiperdeterminação de pontos extremos.
Ciclagem ou retorno cíclico: Observe as iterações 1 e 2 do simples e note que o valor da função
objetivo não melhora (z=18). É possível que o método simplex entre em uma sequencia de iterações
sem nunca melhorar o valor da função objetivo.
Exemplo:
X1 X2 X3 X4 X5 X6 X7
Z 0 0 0 1 1 -1 0
X1 0 1 0 0 1 3 1 0 0
X2 1 0 1 0 0 -2 -1 0
X7 0 0 0 0 1 2 0 1 0
X3 2 0 0 1 1 0 0 0
Ermes Medeiros (1998), no contexto das soluções ilimitadas “Isto ocorre quando a variável que
entra na base não possui em sua coluna nenhum coeficiente positivo. Os programas de
computador, neste caso apresentam a ultima solução básica antes que a solução se torne
ilimitada”(p.73)
Uma solução ilimitada de um problema de programação linear é uma situação em que a função
objetivo é infinita. Diz-se que um problema de programação linear tem solução ilimitada se sua
solução puder ser infinitamente grande sem violar nenhuma de suas restrições no problema.
A solução ilimitada é uma situação em que a solução ótima viável não pode ser determinada, em
vez disso, existem infinitas soluções. Não é possível resolver o problema em que esta situação
ocorre.
9
Se a região factível da solução do sistema de desigualdades lineares estiver contida em uma figura
fechada, diz-se que a região é limitada, caso contrário, é ilimitada. Isso significa que a região
viável se estende indefinidamente em qualquer direção.
Exemplo:
Maximizar Z = x1+2x2
Sujeito a:
4x1+x2 ≥ 20
x1+2x2 ≥ 10
x1 ≥ 2
x1;x2 ≥ 0
De acordo com Ermes Medeiros (1998), refere que “Se na solução optima o coeficiente de uma
variável não básica é zero, ele poderá entrar na base sem alterar o valor do objetivo, gerado
outra solução ótima. Neste caso, qualquer combinação linear dessas duas soluções também
será solução ótima” (p.73).
Exemplo:
Maximizar Z = x1+2x2 x1 ≤ 3
sujeito a: x2 ≤4
x1+2x2 ≤ 9
x1;x2 ≥ 0
10
V. Conclusão
Com base no seguinte trabalho foi possível perceber que o método simplex O método simplex
é um algoritmo muito útil, com o qual podemos fazer vários panejamentos e utilizá-lo para
apoiar a tomada de decisão.
O método simplex, também conhecido como algoritmo simplex, é utilizado para resolver
problemas de programação linear. Foi desenvolvido por George Dantzig e Koopmans em
1946, quando trabalhavam no departamento da Força Aérea Americana. É considerado por
muitos como um dos principais algoritmos inventados no século XX.
Ele é um dos principais algoritmos utilizados atualmente, e tem uma aplicação muito
interessante para o setor dos negócios.
No algoritmo dual simplex, todas as soluções básicas (exceto a solução final) são primal
inviáveis. Se tivermos que interromper a execução do algoritmo dual simplex, todo o esforço
será perdido pois não teremos uma solução viável para o problema até que o algoritmo
termine. No algoritmo primal simplex todas as soluções básicas obtidas são primal viáveis.
Logo, se a execução do algoritmo for interrompida, poderemos não ter uma solução ótima,
mas teremos, pelo menos, uma solução viável para o problema.
Com na abordagem feita será necessário considerar que o método Simplex trabalha apenas
com restrições do problema cujas desigualdades sejam do tipo "≤" (menor ou igual) e seus
coeficientes independentes sejam maiores ou iguais a 0. Portanto, é preciso padronizar as
11
restrições para atender aos requisitos antes de iniciar o algoritmo Simplex. Caso apareçam,
depois deste processo, restrições do tipo "≥" (maior ou igual) ou "=" (igualdade), ou não seja
possível alterá-las, será necessário utilizar outros métodos de resolução, sendo o mais comum,
o método das Duas Fases.
Dantizg, G., Orden, A., Wolfe, P. (1955). A Generalized Simplex Method for Minimizing a
Linear Form under Linear Inequality Constraints. Pacific Journal of Mathematics.
Sousa, R. S. (2005). Métodos Tipo Dual Simplex para Problemas de Otimização Linear
Canalizados, Tese de Doutorado. ICMC-USP.Raymond.
V., Soumis, F., Orban, D. (2010). A new version of the Improved Primal Simplex for
degenerate linear programs, Computers & Operations Research 37, 91-98.
http://www.phpsimplex.com/pt/exemplo_metodo_simplex.htm
http://www.phpsimplex.com/pt/teoria_metodo_simplex.htm
12