O Método Simplex. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto

Documentos relacionados
Lógica do Método Simplex: Passar de Solução Básica Factível para outra Solução Básica, buscando melhorar a Função Objetivo e manter factibilidade

Programação Linear (PL) Solução algébrica - método simplex

MÉTODO SIMPLEX SOLUÇÃO INICIAL ARTIFICIAL

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX. Prof. Angelo Augusto Frozza, M.Sc.

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

Resolvendo algebricamente um PPL

Solução de problemas de PL com restrições do tipo >= e =

Pesquisa Operacional. Prof. José Luiz

Resolução de PL usando o método Simplex

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Graduação em Engenharia Elétrica MÉTODOS DE OTIMIZAÇÃO ENE081. PROF. IVO CHAVES DA SILVA JUNIOR

Método Simplex V 1.1, V.Lobo, EN / ISEGI, 2008

TP052-PESQUISA OPERACIONAL I Algoritmo Dual Simplex. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr.

CAPÍTULO 3. Método Simplex

3- O MÉTODO SIMPLEX Introdução e fundamentos teóricos para o Método Simplex

Aula 10: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Programação Linear. Dual Simplex: Viabilidade Dual Método Dual Simplex

Aula 02: Algoritmo Simplex (Parte 1)

O método de enumeração de soluções básicas é muito ineficiente.

Programação Linear/Inteira - Aula 5

CAPÍTULO 4. Teoria da Dualidade

2º Semestre 2002/2003 Problemas Resolvidos

Vânio Correia Domingos Massala

Exemplo de um problema de transporte, com 3 fontes e 3 destinos. Custos unitários de transporte para o exemplo de problema de transporte

Unidade II PESQUISA OPERACIONAL. Profa. Ana Carolina Bueno

Programação Linear/Inteira

Problema de Transporte (Redes) Fernando Nogueira Problema de Transporte 1

Investigação Operacional

PESQUISA OPERACIONAL 11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX ( ) DEFINIÇÕES REGRAS DE TRANSFORMAÇÃO. Prof. Edson Rovina Página 16

Denições Preliminares

Simplex. Investigação Operacional José António Oliveira Simplex

Sistemas Lineares. Juliana Pimentel. juliana.pimentel. Sala Bloco A, Torre 2

Investigação Operacional

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016

Marina Andretta. 10 de outubro de Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis.

Maristela Santos. Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo

PESQUISA OPERACIONAL Definições e Teoremas Básicos. Professor Volmir Wilhelm Professora Mariana Kleina

Determinação de Uma Solução Básica Factível Inicial

Capítulo 3. O Método Primal Simplex

Unidade: Modelo Simplex e Modelo Dual. Unidade I:

Programação Linear. Dualidade

Pesquisa Operacional aula 3 Modelagem PL. Profa. Alessandra Martins Coelho

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Programação Linear - Parte 3

Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6

Álgebra Matricial - Nota 03 Eliminação Gaussiana e Método de Gauss-Jordan

Agenda do Dia Aula 14 (19/10/15) Sistemas Lineares: Introdução Classificação

Aulas práticas de Álgebra Linear

Método Simplex. Marina Andretta ICMC-USP. 19 de outubro de 2016

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios. Cap. IV Modelo Dual

X - D U A L I D A D E

Programação Matemática Lista 3

MS428 - RESOLUÇÃO DA PROVA 02-19/10/2010 Prof. Moretti - Respostas sem justificativas não serão consideradas para correção

Otimização Linear. Conceitos básicos Álgebra Linear Introdução ao método simplex

Método Simplex Dual. Prof. Fernando Augusto Silva Marins Departamento de Produção Faculdade de Engenharia Campus de Guaratinguetá UNESP

Algoritmo para o Método Simplex:

Programação Matemática. Método Simplex

Métodos Numéricos - Notas de Aula

Simplex. Transparências de apoio à leccionação de aulas teóricas. c 2011, 2009, 1998 José Fernando Oliveira, Maria Antónia Carravilla FEUP

+ a 3. x 3. são números reais, que recebem o nome de coeficientes das incógnitas; x 1

UNIVERSIDADE DO ESTADO DO RIO GRANDE DO NORTE CAMPUS AVANÇADO DE NATAL CURSO DE CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: ÁLGEBRA LINEAR

Combinando inequações lineares

PEA 2522 MÉTODOS DE OTIMIZAÇÃO. Otimização

ÁLGEBRA LINEAR AULA 2

ÁLGEBRA LINEAR SISTEMAS DE EQUAÇÕES LINEARES

4-1 PESQUISA OPERACIONAL MÉTODO SIMPLEX

Regras para evitar ciclagem

Conceitos e Teoremas. Tecnologia da Decisão I TP065. Profª Mariana

Otm1 12/04/2012. Método Simplex Obtenção base inicial Degeneração (alguns comentários) Variáveis Canalizadas

Pesquisa Operacional. Introdução à Pesquisa Operacional Programação Linear

Combinando inequações lineares

Sistemas de Equações Lineares Algébricas

PESQUISA OPERACIONAL. Prof. Carlos Norberto Vetorazzi Jr.

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

O método gráfico resolve PLs com 2 variáveis. 3 variáveis se você for um ninja da geometria descritiva!

Problema de Designação. Fernando Nogueira Problema de Designação 1

Aula 03: Algoritmo Simplex (Parte 2)

Material Teórico - Módulo Matrizes e Sistemas Lineares. Sistemas Lineares - Parte 2. Terceiro Ano do Ensino Médio

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos

Slide 1. c 1998 José Fernando Oliveira, Maria Antónia Carravilla FEUP

Universidade da Beira Interior Departamento de Matemática. Ficha de exercícios nº3: Dualidade. Interpretação Económica.

Degenerescência, ciclagem e eficiência do Simplex

Pesquisa Operacional

Pode-se mostrar que da matriz A, pode-se tomar pelo menos uma submatriz quadrada de ordem dois cujo determinante é diferente de zero. Então P(A) = P(A

Pesquisa Operacional

Prof.: Eduardo Uchoa.

Método de Gauss-Jordan e Sistemas Homogêneos

Programação Linear/Inteira

Aula 07: Análise de sensibilidade (2)

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Tema: Método da Eliminação de Gauss

Disciplina: Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer. Aula 6 - Solução de Sistema de Equações Algébricas

Problema 5a by

No exemplo há duas variáveis básicas: ST e LX. Serão agora representadas, em um gráfico bidirecional, tanto as restrições como a função objetivo.

Programação Linear. (3ª parte) Informática de Gestão Maria do Rosário Matos Bernardo 2016

Transcrição:

O Método Simplex Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto

O Método Simplex para Problemas de Maximização Max Z(X) = 5X 1 + 2X 2 sujeito a X 1 <= 3 B >= 0 X 2 <= 4 X 1 >= 0 Forma padrão (<=) X 1 + 2X 2 <= 9 X 2 >= 0 Acrescentando as variáveis de folga X 3,X 4 ex 5 às restrições, temos: X 1 + X 3 = 3 Este é um sistema linear X 2 + X 4 = 4 com 5 incógnitas e 3 equações. X 1 + 2X 2 +X 5 = 9 Portanto tem infinitas soluções!!! Forma canônica (base óbvia) Queremos encontrar aquela que maximiza a função objetivo Z(X)

O Método Simplex para Problemas de Maximização Max Z(X) = 5X 1 + 2X 2 + 0X 3 + 0X 4 + 0X 5 sujeito a X 1 + X 3 = 3 B >= 0, X 1 >= 0,..., X 5 >=0 X 1 + 2X 2 X 2 + X 4 = 4 O problema neste formato é dito estar na +X 5 = 9 forma canônica, e apresenta uma base óbviae uma solução trivial. Quem é ela? Solução básica viável: X 1 = X 2 = 0 variáveis não-básicas(vnb): assumem valor nulo X 3 = 3, X 4 = 4, X 5 = 9 variáveis básicas(vb): assumem valor não nulo Z(X) = 5X 1 + 2X 2 = 0 valor da função objetivo para esta solução! Resumo do Simplex: 1. Encontrar uma solução básica viável inicial. OK 2.Verificar se a solução atual é ótima. Se for ótima FIM, senão 3.Determinar a VNBque deve entrar na base 4.Determinar a VBque deve sair da base 5.Encontrar a nova solução básicaviável e voltar para o passo 2.

O Método Simplex para Problemas de Maximização 1. Solução básica viável trivial: X 1 = X 2 = 0 (VNB), X 3 = 3, X 4 = 4, X 5 = 9 (VB), Z = 0. VERIFICANDO SE A SOLUÇÃO É ÓTIMA 2. Escrever Z(X) em função das vars não básicas corrente: Z(X) = 5X 1 + 2X 2 já está escrito. Sepelo menos uma delas tem coeficiente > 0 e o problema é de maximização, então a solução não é ótima!!! ENCONTRANDO A VARIÁVEL QUE DEVE ENTRAR NA BASE 3. Entra na base a VNB com maior coeficiente positivo. X 1 entra na base e deve assumir o maior valor possível, sem que as variáveis básicas fiquem negativas! ENCONTRANDO O VALOR DA VARIÁVEL QUE ENTRA NA BASE X 3 = 3 -X 1 temos que X 2 = 0 e X 1 deve aumentar X 4 = 4 -X 2 o máximo possível. Qual é o valor para X 1? X 5 = 9 X 1 2X 2 olhando para X 3, X 1 pode ser no máximo 3 olhando para X 4, X 1 pode ser infinito olhando para X 5, X 1 pode ser no máximo 9. Portanto, X 1 = min{3,, 9} = 3 X 1 assumirá valor 3

O Método Simplex para Problemas de Maximização QUEM DEVE SAIR DA BASE? 4. Sai da base a VB que se anular primeiro com o crescimento da VNB que esta entrando. Lembre-se que X 2 = 0 Para X 1 = 3 temos X 3 = 3 -X 1 => X 3 = 3-3 = 0 Logo X 3 sairá da base. X 4 = 4 -X 2 => X 4 = 4-0 = 4 X 5 = 9 X 1 2X 2 => X 5 = 9 3 2.0 = 6 Resumo da iteração: >X 1 entra na base com valor 3 e X 3 sai da base pois seu valor foi zerado. >A nova solução básica viável será VB = (X 1, X 4, X 5 ) = (3, 4, 6), VNB = (X 2, X 3 ) = (0, 0) e Z(X) = 5*3 + 2*0 = 15. Melhorou!!! 5. Transformar o sistema considerando a nova base. e 1 e 2 e 3 X 1 + 1X 3 = 3 A coluna da base que aparecia na var. X 3 X 2 0 + X 4 = 4 agora deve aparecer na var. X 1. X 1 + 2X 2 0 + X 5 = 9 Este é um pivoteamentode Gauss (Cálc. Num.)

O Método Simplex para Problemas de Maximização e 1 e 2 e 3 X 1 + 1X 3 = 3 A coluna da base que aparecia na var. X 3 X 2 0 + X 4 = 4 agora deve aparecer na var. X 1. X 1 + 2X 2 0 + X 5 = 9 Este é um pivoteamentode Gauss (Cálc. Num.) e 1 e 2 e 3 1X 1 + X 3 = 3 0 X 2 + X 4 = 4 0 +2X 2 -X 3 +X 5 = 6

O Método Simplex para Problemas de Maximização Final da primeira iteração: VB = (X 1, X 4, X 5 ) = (3, 4, 6), VNB = (X 2, X 3 ) = (0, 0) e Z(X) = 15. O sistema transformado é: e 1 e 2 e 3 X 1 + X 3 = 3 VBásicas sempre diferentes de zero X 2 + X 4 = 4 VNãoBásicas sempre iguais a zero... +2X 2 -X 3 +X 5 = 6 a não ser em casos especiais!!! Esta solução é ótima? Se não for, repetir o processo. Para saber, devemos voltar ao passo 2. Escrever Z(X) = 5X 1 + 2X 2 em função das VNB X 2 e X 3. Da primeira equação temos que X 1 = 3 X 3, portanto: Z(X) = 5(3-X 3 ) + 2X 2 => Z(X) = 15 + 2X 2-5X 3. Logo a solução ainda não é ótima pois tem uma VNB com coeficiente positivo. 3. Como X 2 é a VNB com maior coeficiente positivo, ela entra na base. 4. Quem sairá da base? Escrever as VBsem função das VNBse aumentar o valor de X 2. A primeira VB que zerar é a que deve sair da base.

O Método Simplex para Problemas de Maximização 4. Quem sairá da base? Escrever as VBsem função das VNBse aumentar o valor de X 2. A primeira VB que zerar é a que deve sair da base. Lembrar que X 3 = 0. X 1 = 3 X 3 => X 2 <= infinito X 4 = 4 X 2 => X 2 <= 4 X 5 = 6 2X 2 + X 3 => X 2 <= 3. Portanto X 2 = min {, 4, 3} = 3 e X 5 = 0 sai da base. Ao substituir os valores X 2 = 3 e X 5 = 0 no sistema teremos a nova solução básica viável: VB = (X 1, X 2, X 4 ) = (3, 3, 1), VNB = (X 3, X 5 ) = (0, 0) e Z(X) = 3*5+ 2*3 = 21 melhorou!!! Ou seja, a função objetivo melhorou mais um pouco. Olhando o sistema pivoteado teremos:

O Método Simplex para Problemas de Maximização Pivoteamentodo sistema X 2 entra na base e X 5 sai da base. Isso significa que X 2 entra no lugar dex 5! e 1 e 2 e 3 X 1 + X 3 0 = 3 X 2 + X 4 0 = 4 +2X 2 -X 3 +1X 5 = 6 Final da segunda iteração. O sistema transformado é: e 1 e 3 e 2 X 1 0 + X 3 = 3 0 +0.5X 3 + X 4-0.5X 5 = 1 + 1X 2-0.5X 3 +0.5X 5 = 3 Será que esta solução é ótima? Passo 2. Escrever Z(X) em função de X 3 e X 5. Z(X) = 5X 1 + 2X 2 => Z(X) = 5(3-X 3 ) +2(3 + 0.5X 3-0.5X 5 ) Z(X) = 15-5X 3 + 6 + X 3 -X 5 Z(X) = 21-4X 3 X 5 Como nenhuma VNB tem coeficiente > 0 a solução VB = (X 1, X 2, X 4 ) = (3, 3, 1), VNB = (X 3, X 5 ) = (0, 0) é ótima com Z(X) = 21!

O Método Simplex usando Quadros ou Tablôs Resolução Prática Acrescentando as variáveis de folga X 3, X 4 e X 5 às restrições e transformando a função objetivo em uma equação temos Z(X) -5X 1-2X 2 = 0 X 1 + X 3 = 3 X 2 + X 4 = 4 X 1 +2X 2 + X 5 = 9 Temos agora quatro equações representando o problema, sendo que a primeira diz respeito à função objetivo. Na Tablô temos: XNB XB X 1 X 2 X 3 X 4 X 5 B Z -5-2 0 0 0 0 X 3 1 0 1 0 0 3 X 4 0 1 0 1 0 4 X 5 1 2 0 0 1 9 Coeficientes das XBs na FO são nulos

O Método Simplex usando quadros ou Tablôs XNB XB TR X 1 X 2 X 3 X 4 X 5 B Bi/Aji Z -5 pivô -2 0 0 0 0 === X 3 1 0 1 0 0 3 3/1 X 4 0 1 0 1 0 4 NA X 5 1 2 0 0 1 9 9/1 Mínimo do Teste da Razão Obs. nesta representação, os coeficientes estão invertidos na FO e os coeficientes de X 3, X 4 e X 5 já são todos nulos. Logo, Z(X) já está escrito em função de X 1 e X 2. Como tem XNB com coeficiente < 0 (antes era > 0, mas foi invertido o sinal), a solução NÃO É ÓTIMA, pode melhorar. X 1 é a VNB com coeficiente mais negativo, portanto é quem entra na base. Para saber quem deve sair da base devemos fazer o teste da razão para i = índice da variável que entra na base, ou seja i = 1. Min{ B j /A ji : i tal que A ji > 0} = Min{ 3/1, 9/1} = 3 j = 1 é o índice da a sair j = 1,...,m Assim temos o pivô da iteração que nos dará o próximo quadro.

O Método Simplex usando quadros ou Tablôs XNB XB X 1 X 2 X 3 X 4 X 5 B Z -5 pivô -2 0 0 0 0 X 3 1 0 1 0 0 3 X 4 0 1 0 1 0 4 X 5 1 2 0 0 1 9 transformações: a) repetir as linhas (1) pois o pivô já é = 1 b) repetir a linha (2) pois o elemento abaixo do pivô já é = 0 c) zerando o elemento A 31 (3) :=-1*(1) +(3) d) zerando o coeficiente C 1 (0) := 5*(1) + (0), teremos o quadro X 1 X 2 X 3 X 4 X 5 B Z 0-2 5 0 0 15 X 1 1 0 1 0 0 3 X 4 0 1 0 1 0 4 X 5 0 2-1 0 1 6 linhas (0) (1) (2) (3) O pivô deve ser transformado em 1. Os elementos acima e abaixo do pivô devem ser transformados em 0 usando o pivô.

O Método Simplex usando quadros ou Tablôs X 1 X 2 X 3 X 4 X 5 B TR Z 0-2 5 0 0 15 == X 1 1 0 1 0 0 3 NA X 4 0 1 pivô 0 1 0 4 4/1 X 5 0 2-1 0 1 6 6/2 linhas (0) (1) (2) (3) Mínimo do Teste da Razão Solução Corrente XB = (X 1, X 4, X 5 ) =(3, 4, 6), XNB = (X 2, X 3 ) = (0, 0) e Z(X) = 15 Obs. que da linha (0) temos que Z 2X 2 + 5X 3 = 15 Z = 2X 2-5X 3 + 15. Ou seja, a FO já esta escrita em função das variáveis XNB. Como tem XNB com coeficiente < 0 solução não é ótima. X 2 entra na base. Teste da razão para i = 2, Min {4/1, 6/2} = 6/2 referente à linha 3 portanto X 5 deve sair da base.

O Método Simplex usando quadros ou Tablôs X 1 X 2 X 3 X 4 X 5 B Z 0-2 5 0 0 15 X 1 1 0 1 0 0 3 X 4 0 1 pivô 0 1 0 4 X 5 0 2-1 0 1 6 linhas (0) (1) (2) (3) transformações: a) (0) := (0) + (3); b) (2) := (2) 0.5*(3) e c) (3) := 0.5*(3) X 1 X 2 X 3 X 4 X 5 B Z 0 0 4 0 1 21 X 1 1 0 1 0 0 3 X 4 0 0 0.5 1-0.5 1 X 2 0 1-0.5 0 0.5 3 Esta solução é ótima pois todas as XNB: X 3 e X 5 têm coeficientes > 0

O Método Simplex usando quadros ou Tablôs X 1 X 2 X 3 X 4 X 5 B Z 0 0 4 0 1 21 X 1 1 0 1 0 0 3 X 4 0 0 0.5 1-0.5 1 X 2 0 1-0.5 0 0.5 3 linhas (0) (1) (2) (3) Solução ótima X* XB =(X 1, X 4 X 2 ) = (3, 1, 3) XNB = (X 3, X 5 ) = (0, 0) e Z*(X) = 21. A variável X 4 = 1 mostra que a equação onde ela foi introduzida, X 2 + X 4 = 4 tem uma folga de 1 unidade, como pode ser conferido no sistema original. Nas demais equações não existe qualquer folga.

Características do Tablôdo Método Simplex para Problemas de Maximização Os coeficientes das VBsna Fo são sempre igual a zero. Assim a FO estará sempre escrita em função das VNBs X 1 X 2 X 3 X 4 X 5 B TR Z 0-2 5 0 0 15 == X 1 1 0 1 0 0 3 NA X 4 0 1 pivô 0 1 0 4 4/1 X 5 0 2-1 0 1 6 6/2 Os valores das VBsna solução são sempre maiores do que zero. Os coeficientes das VNBsserão sempre diferentes de zero, podendo ser positivo ou negativo. Dependendo do sinal, a solução será ótima ou não. Entra na base a VNB com coef. Mais negativo p/ maximização! Os valores das VNBssão sempre iguais a zero. Assim as suas colunas são eliminadas e temos um sistema quadrado O TR é feito dividindo o Bi apenas pelos Aij > 0 da coluna i da var que está entrando na base. Mínimo do TR indica a var que vai sair da base

Como o Simplex percorre a Região de Factibilidade X2 Max Z = 5X1 + 2X2 s.a X1 <= 3 X2 <= 4 X1 + 2X2 <= 9 Primeira solução do Simplex X=(0,0), Z = 0 4,5 4 X1 =3 X2 =4 Região de factibilidade X1 + 2X2 =9 1 1 2 3 9 X1

Como o Simplex percorre a Região de Factibilidade X2 Max Z = 5X1 + 2X2 s.a X1 <= 3 X2 <= 4 X1 + 2X2 <= 9 Primeira solução do Simplex X=(0,0), Z = 0 Segunda solução do Simplex X=(3,0), Z = 15 4,5 4 X1 =3 X2 =4 Região de factibilidade X1 + 2X2 =9 1 1 2 3 9 X1

Como o Simplex percorre a Região de Factibilidade X2 Max Z = 5X1 + 2X2 s.a X1 <= 3 X2 <= 4 X1 + 2X2 <= 9 Primeira solução do Simplex X=(0,0), Z = 0 Segunda solução do Simplex X=(3,0), Z = 15 4,5 4 1 Região de factibilidade X1 =3 X2 =4 X1 + 2X2 =9 Terceira solução do Simplex X=(3, 3), Z =21 Ponto ótimo X*=(3, 3), Z* = 21 1 2 3 9 X1

Como o Simplex percorre a Região de Factibilidade 4,5 4 X2 Max Z = 5X1 + 2X2 s.a X1 <= 3 X2 <= 4 X1 + 2X2 <= 9 X1 =3 X2 =4 Trajetória dos pontos encontrados pelo Simplex Ou seja, o Simplex percorre a RF indo sempre de um vértice para um outro vértice vizinho 1 Região de factibilidade X1 + 2X2 =9 1 2 3 9 X1

Exercícios Resolver pelo método Simplex Max Z(X) = 4X 1 + 8X 2 3X 1 + 2X 2 <= 18 X 1 + X 2 <= 5 X 1 <= 4 X 1, X 2 >= 0 sujeito a Max Z(X) = 5X 1 + 4X 2 + 3X 3 sujeito a 2X 1 + 3X 2 + X 3 <= 5 4X 1 + 2X 2 + 2X 3 <= 11 3X 1 + 2X 2 + 2X 3 <= 8 X 1, X 2, X 3 >= 0