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

Documentos relacionados
Regras para evitar ciclagem

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

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

Teoremas de dualidade

Teoria de dualidade. Marina Andretta ICMC-USP. 19 de outubro de 2016

Cones e raios extremos

Poliedros na forma padrão

Pontos extremos, vértices e soluções básicas viáveis

Degenerescência. Marina Andretta ICMC-USP. 19 de outubro de 2016

Representação de poliedros

Existência e otimalidade de pontos extremos

Lema de Farkas e desigualdades lineares

5 Análise de Sensibilidade

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

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

Resolução de sistemas de equações lineares: Método de eliminação de Gauss - estratégias de pivotamento

Combinando inequações lineares

Marina Andretta. 17 de setembro de Baseado no livro Numerical Optimization, de J. Nocedal e S. J. Wright.

Programação Linear - Parte 5

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

Notações e revisão de álgebra linear

Programação Linear - Parte 3

Combinando inequações lineares

Método do Lagrangiano aumentado

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.

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

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

Pesquisa Operacional. Prof. José Luiz

Programação Linear/Inteira - Aula 5

CAPÍTULO 4. Teoria da Dualidade

Algoritmos de aproximação - Método primal-dual

Método de Newton truncado

Resolvendo algebricamente um PPL

Resolução de sistemas de equações lineares: Fatorações de matrizes

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

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

Pesquisa Operacional

Programação Linear/Inteira

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

Resolução de problemas com apenas restrições lineares de igualdade

Métodos para resolver problemas de otimização restrita

Interpolação polinomial: Diferenças divididas de Newton

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

Como resolver o QFEMUP usando otimização

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

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

O método Simplex Aplicado ao Problema de Transporte (PT).

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

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

Resolução de sistemas de equações lineares: Método dos Gradientes Conjugados

Algoritmo Simplex para Programação Linear I

Método de restrições ativas para minimização com restrições lineares

Programação Linear. Dualidade

Unidade: Modelo Simplex e Modelo Dual. Unidade I:

O Problema de Transportes

MB PRINCÍPIOS DA PESQUISA OPERACIONAL PO INTRODUÇÃO A PESQUISA OPERACIONAL LISTA DE EXERCÍCIOS - PROGRAMAÇÃO LINEAR

Resolução de sistemas de equações não-lineares: Método de Newton

Professor João Soares 20 de Setembro de 2004

Método do Ponto Fixo

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

Aula 07: Análise de sensibilidade (2)

Resolução de sistemas de equações lineares: Fatorações de matrizes

3 O Método Simplex. 3.1 Condições de otimalidade

Método de restrições ativas para minimização em caixas

Resolução de sistemas de equações lineares: Fatorações de matrizes

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

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

Pesquisa Operacional

2 Geometria e Programação Linear

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

Álgebra Linear Semana 01

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

EQUAÇÕES RELACIONAIS FUZZY E COMO RESOLVÊ-LAS

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

Resolução de sistemas de equações lineares: Método do Gradiente

Otimização Aplicada à Engenharia de Processos

Interpolação polinomial: Polinômio de Lagrange

4- Dualidade em Programação Linear

Cálculo Numérico BCC760

Investigação Operacional

Capítulo 3. O Método Primal Simplex

Interpolação polinomial: Diferenças divididas de Newton

ÁLGEBRA LINEAR AULA 2

Prof.: Eduardo Uchoa.

[a11 a12 a1n 7. SISTEMAS LINEARES 7.1. CONCEITO. Um sistema de equações lineares é um conjunto de equações do tipo

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

Aulas 6 / 05 de setembro

Aula 02: Algoritmo Simplex (Parte 1)

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

INTRODUÇÃO AOS MÉTODOS NUMÉRICOS. Solução de Sistemas Lineares

Método dos gradientes (ou método de máxima descida)

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

Otimização Combinatória - Parte 4

Resolução de sistemas de equações lineares: Método de eliminação de Gauss - estratégias de pivotamento

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

Problema 5a by

Problema do Caminho Mínimo

Marina Andretta. 02 de agosto de 2010

Transcrição:

Método Simplex dual Marina Andretta ICMC-USP 24 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 1 / 51

Método Simplex dual Vamos agora definir o Método Simplex dual e discutir a relação entre soluções básicas viáveis do primal e do dual. Vamos sempre supor que o problema primal está na forma padrão. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 2 / 51

Método Simplex dual Na prova do teorema forte de dualidade, aplicamos o Método Simplex a um problema primal na forma padrão e definimos um vetor dual p como p T = c T B B 1. Depois, observamos que a condição de otimalidade c T c T B B 1 A 0 para o primal é o mesmo que a condição de viabilidade p T A c T para o dual. Portanto, podemos pensar que o Método Simplex mantém viabilidade no primal enquanto busca viabilidade do dual. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 3 / 51

Método Simplex dual Um método com esta propriedade costuma ser chamado de algoritmo primal. Poderíamos ter um método que mantivesse viabilidade dual e buscasse viabilidade primal. Neste caso, teríamos um algoritmo dual. Vamos ver agora um Método Simplex dual, implementado usando o tableau completo. Este método move de uma solução básica viável do dual para outra. Uma implementação alternativa, que atualiza a matriz B 1 em vez do tableau completo, é chamada de Método Simplex dual revisado. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 4 / 51

Método Simplex dual Considere um problema na forma padrão, com as linhas de A linearmente independentes. Seja B uma matriz base, com m colunas linearmente independentes de A. Considere o tableau correspondente c T B B 1 b B 1 b c T c T B B 1 A B 1 A ou, em mais detalhes, c T B x B c 1... c n x B(1). B 1 A 1... B 1 A n x B(m) Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 5 / 51

Método Simplex dual Não vamos exigir que B 1 b seja não-negativa, o que significa que temos uma solução básica, mas não necessariamente viável. No entanto, vamos supor que c 0. Ou seja, o vetor p T = c T B B 1 satisfaz p T A c T e temos uma solução viável para o problema dual. O custo desta solução viável dual é p T b = c T B B 1 b = c T B x B, que é o negativo do elemento que fica no canto superior esquerdo do tableau. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 6 / 51

Método Simplex dual Se a desigualdade B 1 b 0 é satisfeita, também temos uma solução viável primal com o mesmo custo, o que significa que uma solução para ambos os problemas (primal e dual) foi encontrada. Se a B 1 b 0 não é satisfeita, fazemos uma troca de base. Para fazer a troca de base, escolhemos um l tal que x B(l) < 0 e consideramos a l-ésima linha do tableau, chamada de linha pivô. Esta linha tem a forma (x B(l), v 1,..., v n ), com v i a l-ésima componente de B 1 A i. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 7 / 51

Método Simplex dual Para cada i com v i < 0, se houver algum, calculamos a razão c i / v i e definimos j como um índice para o qual esta razão é a menor. Ou seja, v j < 0 e c j v j = min c i {i v i <0} v i. Chamamos o elemento v j de elemento pivô. Note que x j deve ser uma variável não-básica, já que a j-ésima coluna do tableau contém o elemento negativo v j. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 8 / 51

Método Simplex dual Então, fazemos a troca de base: a coluna A j entra na base e a coluna A B(l) sai da base. A atualização do tableau depois desta mudança de base é feita exatamente como no Método Simplex primal: somamos a cada linha do tableau um múltiplo da linha pivô de modo que todos os elementos da coluna pivô se tornem 0, com exceção do elemento pivô, que se torna 1. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 9 / 51

Método Simplex dual Em particular, para transformar o custo reduzido da coluna pivô em 0, multiplicamos a linha pivô por c j / v j e a somamos à linha 0. Para todo i, o novo valor de c i é c j c i + v i v j, que é não-negativo pela escolha de j. Com isso, os custos reduzidos no tableau atualizados se mantêm não-negativos e a viabilidade dual é mantida. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 10 / 51

Exemplo 1 Considere o tableau: x 1 x 2 x 3 x 4 x 5 0 2 6 10 0 0 x 4 = 2-2 4 1 1 0 x 5 = -1 4-2 -3 0 1 Como x B(2) = x 5 < 0, escolhemos a segunda linha como a linha pivô. Ou seja, x 5 sai da base. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 11 / 51

Exemplo 1 Na linha pivô, os elementos negativos estão na segunda e terceira colunas. Calculamos então as razões c 2 / v 2 = 6/ 2 e c 3 / v 3 = 10/ 3. Como c 2 / v 2 fornece o menor valor, a segunda coluna entra na base. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 12 / 51

Exemplo 1 O elemento pivô está destacado no tableau: x 1 x 2 x 3 x 4 x 5 0 2 6 10 0 0 x 4 = 2-2 4 1 1 0 x 5 = -1 4-2 -3 0 1 Para atualizar o tableau, multiplicamos a linha pivô (segunda linha) por 3 e somamos à linha 0. Em seguida, multiplicamos a linha pivô por 2 e somamos à primeira linha. Finalmente, dividimos a linha pivô por -2. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 13 / 51

Exemplo 1 O tableau atualizado é dado por x 1 x 2 x 3 x 4 x 5-3 14 0 1 0 3 x 4 = 0 6 0-5 1 2 x 2 = 1/2-2 1 3/2 0-1/2 Note que todas as variáveis básicas são não-negativas. Portanto, encontramos a solução ótima, dada por x = (0, 1/2, 0, 0, 0), com custo 3. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 14 / 51

Método Simplex dual Note que o elemento pivô v j sempre é escolhido de forma a ser não-negativo. E o custo reduzido correspondente c j é não-negativo. Se c j é, de fato, positivo, para transformá-lo em 0, é necessário somar um múltiplo positivo da linha pivô à linha 0. Como x B(l) é negativa, isso tem o efeito de somar uma quantidade negativa ao canto superior esquerdo do tableau. Ou seja, o custo dual aumenta. Portanto, se todos os custos reduzidos das variáveis não-basicas são não-nulos, o custo dual aumenta com cada mudança de base e nenhuma base será repetida durante a execução do algoritmo. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 15 / 51

Método Simplex dual Temos, então, que o algoritmo deve parar em um número finito de iterações. Isso pode acontecer de duas maneiras: (a) Temos B 1 b 0 e uma solução ótima. (b) Todos os elementos v 1,..., v n da linha pivô são não-negativos e não podemos definir um elemento pivô. Neste caso, analogamente ao Método Simplex primal, temos que o custo dual ótimo é + e, portanto, o problema primal é inviável. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 16 / 51

Método Simplex dual Uma iteração típica do Método Simplex dual é descrita a seguir. P1. Em uma iteração típica, começamos com o tableau associado à uma base B e com todos custos reduzidos não-negativos. P2. Examine as componentes do vetor B 1 b na coluna 0 do tableau. Se todas as componentes forem não-negativas, temos uma solução básica viável ótima do primal e o algoritmo pára. Caso contrário, escolha um l para o qual x B(l) < 0. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 17 / 51

Método Simplex dual P3. Considere a l-ésima linha do tableau, com elementos x B(l), v 1,..., v n (linha pivô). Se v i 0 para todo i, então custo ótimo dual é e o algoritmo pára. P4. Para cada i tal que v i < 0, calcule as razões c i / v i. Seja j o índice de uma coluna que corresponde à menor razão. A coluna A B(l) sai da base e a coluna A j entra na base. P5. Some a cada linha do tableau um múltiplo da l-ésima linha (linha pivô) de forma a transformar v j (elemento pivô) em 1 e todos os demais elementos da coluna pivô em 0. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 18 / 51

Método Simplex dual Se o custo reduzido c j na coluna pivô é zero, a linha 0 do tableau não muda e o custo dual c T B B 1 b permanece o mesmo. A prova de término de execução do algoritmo dada anteriormente não vale neste caso e o algoritmo pode ciclar. Isso pode ser evitado usando uma regra de pivotamento conveniente, como a que é apresentada a seguir. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 19 / 51

Regra lexicográfica de pivotamento para o Método Simplex dual P1. Escolha qualquer linha l tal que x B(l) < 0 para ser a linha pivô. P2. Determine o índice j para a coluna que entra na base da seguinte forma: para cada coluna com v i < 0, divida todas as componentes por v i. Então, escolha a coluna que é menor lexicograficamente. Se houver um empate entre várias colunas menores lexicograficamente, escolha a que tem menor índice. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 20 / 51

Regra lexicográfica de pivotamento para o Método Simplex dual Se o Método Simplex dual começa de modo que todas as colunas to tableau são lexicograficamente positivas e se a regra lexicográfica de pivotamento é usada, o método termina em um número finito de iterações. A prova é similiar à prova do resultado correspondente para o Método Simplex primal (Teorema 1 da aula sobre Regras para evitar ciclagem ). Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 21 / 51

Quando devemos usar o Método Simplex dual Um caso em que é interessante usar o Método Simplex dual em vez do Método Simplex (primal) é quando uma solução básica viável do problema dual é facilmente calculada. Por exemplo, suponha que um problema primal tenha sido resolvido e uma base ótima esteja disponível. Se for necessário resolver um problema parecido, apenas com o vetor b diferente, a solução ótima do problema original é uma solução básica para o novo problema, mas pode não ser viável. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 22 / 51

Quando devemos usar o Método Simplex dual Como o vetor b não afeta os custos reduzidos, a solução ótima do problema original é uma solução viável do problema dual. Então, em vez de resolver o novo problema do início, usando o Método Simplex, é preferível resolvê-lo usando o Método Simplex dual, com a solução do problema original como ponto inicial. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 23 / 51

Geometria do Método Simplex dual Até agora desenvolvemos e analisamos o Método Simplex dual apenas baseados no tableau completo e em argumentos algébricos. Vamos agora ver como funciona o Método Simplex dual geometricamente. Como feito até agora, vamos supor que estamos lidando com problemas de programação linear na forma padrão e que a matriz A tem linhas linearmente independentes. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 24 / 51

Geometria do Método Simplex dual Seja B uma matriz base com colunas A B(1),..., A B(m). Esta base define uma solução básica x B = B 1 b do problema primal. A mesma base pode terminar um vetor dual p usando as equações p T A B(i) = c B(i), i = 1,..., m. Essas são m equações, com m incógnitas. Como as colunas A B(1),..., A B(m) são linearmente independentes, existe uma única solução p. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 25 / 51

Geometria do Método Simplex dual Para este vetor p, o número de restrições duais ativas linearmente independentes é igual à dimensão do vetor dual p. Portanto, temos uma solução básica do problema dual. Em notação matricial, a solução básica dual p satisfaz p T B = c B, ou p T = c T B B 1, que chamamos de vetor de multiplicadores do simplex. Se p também é viável dual, ou seja, se p T A c T, então p é uma solução básica viável do problema dual. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 26 / 51

Geometria do Método Simplex dual Resumidamente, a base B está associada com uma solução básica do problema primal e também a uma solução básica do problema dual. Uma solução básica para o primal (dual) que é viável primal (dual) é uma solução básica primal (dual). Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 27 / 51

Geometria do Método Simplex dual Agora temos uma interpretação geométrica para o Método Simplex dual. Em cada iteração temos uma solução básica viável para o problema dual. Soluções básicas viáveis obtidas em duas iterações consecutivas têm m 1 restrições ativas linearmente independentes em comum (os custos reduzidos das m 1 variáveis que são comuns a ambas as bases são nulos). Então, soluções básicas viáveis consecutivas são ou adjacentes ou coincidentes. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 28 / 51

Exemplo 2 Considere o problema de programação linear na forma padrão Seu dual é dado por minimizar x 1 + x 2 sujeita a x 1 + 2x 2 x 3 = 2, x 1 x 4 = 1, x 1, x 2, x 3, x 4 0. maximizar 2p 1 + p 2 sujeita a p 1 + p 2 1, 2p 1 1, p 1, p 2 0. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 29 / 51

Exemplo 2 O conjunto viável do problema primal tem 4 dimensões. Se eliminarmos as variáveis x 3 e x 4 do problema primal, temos o problema equivalente minimizar x 1 + x 2 sujeita a x 1 + 2x 2 2, x 1 1, x 1, x 2 0. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 30 / 51

Exemplo 2 Na figura abaixo temos o desenho das regiões viáveis do problema equivalente ao primal e do problema dual. x 2 p 2 D = (0, 1) C = (1/2, 1/2) B = (0, 1) C = (1, 1/2) x 1 p 1 A = (0, 0) D = (1, 0) E = (2, 0) A = (0, 0) B = (1/2, 0) E = (1, 0) (a) (b) Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 31 / 51

Exemplo 2 Há um total de 5 bases diferentes no problema primal na forma padrão e 5 soluções básicas diferentes. Elas correspondem aos pontos A, B, C, D e E da Figura (a). As mesmas 5 bases também levam a 5 soluções básicas no problema dual, que correspondem aos pontos A, B, C, D e E da Figura (b). Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 32 / 51

Exemplo 2 Se escolhemos, por exemplo, as colunas A 3 e A 4 para serem as colunas básicas, temos a solução básica inviável x = (0, 0, 2, 1) (ponto A) do primal. A solução básica dual correspondente é obtida fazendo p T A 3 = c 3 = 0 e p T A 4 = c 4 = 0, o que dá o ponto p = (0, 0). Esta é uma solução básica viável do problema dual e pode ser usada para começar o Método Simplex dual. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 33 / 51

Exemplo 2 O tableau inicial é x 1 x 2 x 3 x 4 0 1 1 0 0 x 3 = -2-1 -2 1 0 x 4 = -1-1 0 0 1 Para escolher qual variável sai da base, escolhemos uma entre as que tem valores negativos. Assim, podemos escolher entre x B(1) = x 3 e x B(2) = x 4. Vamos escolher x 3. Para escolher a variável que entra na base, calculamos as razões c 1 / v 1 e c 2 / v 2 (já que v 1 e v 2 são negativos) e escolhemos a menor. Temos então que a variável x 2 deve entrar na base. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 34 / 51

Exemplo 2 O elemento pivô está destacado no tableau: x 1 x 2 x 3 x 4 0 1 1 0 0 x 3 = -2-1 -2 1 0 x 4 = -1-1 0 0 1 Depois da atualização do tableau, temos x 1 x 2 x 3 x 4-1 1/2 0 1/2 0 x 2 = 1 1/2 1-1/2 0 x 4 = -1-1 0 0 1 Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 35 / 51

Exemplo 2 Como ainda há variáveis básicas negativas, não chegamos à solução ótima. Escolhemos então o elemento pivô, destacado no tableau: x 1 x 2 x 3 x 4-1 1/2 0 1/2 0 x 2 = 1 1/2 1-1/2 0 x 4 = -1-1 0 0 1 Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 36 / 51

Exemplo 2 Depois da atualização, temos o seguinte tableau: x 1 x 2 x 3 x 4-3/2 0 0 1/2 1/2 x 2 = 1/2 0 1-1/2 1/2 x 1 = 1 1 0 0-1 Note que agora todas as variáveis básicas são não-negativas, o que significa que chegamos à solução ótima, dada por x = (1, 1/2, 0, 0) (ponto C do primal), com custo 3/2. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 37 / 51

Exemplo 2 A sequência de pontos calculados pelo Método do tableau completo é x = (0, 0, 2, 1) ou p = (0, 0) (ponto A), com custo 0 x = (0, 1, 0, 1) ou p = (1/2, 0) (ponto B), com custo 1 x = (1, 1/2, 0, 0) ou p = (1/2, 1/2) (ponto C), com custo 3/2 Note que, no espaço primal, o caminho percorrido é uma sequência de soluções básicas inviáveis até que, na otimalidade, uma solução básica viável é atingida. No espaço dual, o algoritmo se comporta exatamente como o Método Simplex: ele passa de uma solução básica viável dual a outra, com o custo aumentando (lembre-se que o problema dual é de maximização), até que a solução ótima seja atingida. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 38 / 51

Geometria do Método Simplex dual Observando que o Método Simplex dual se move de uma solução básica viável para outra adjacente, podemos ficar tentados a dizer que o Método Simplex dual é simplesmente o Método Simplex aplicado ao problema dual. Isso não é verdade, porque o problema dual de um problema primal na forma padrão não está na forma padrão. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 39 / 51

Geometria do Método Simplex dual Se o problema dual for transformado em um problema equivalente na forma padrão e aplicarmos o Método Simplex a este novo problema, o caminho percorrido não é necessariamente o mesmo feito pelo Método Simplex dual aplicado ao problema original. Uma afirmação correta é que o Método Simplex dual é uma variante do Método Simplex feita para problemas definidos exclusivamente em termos de restrições lineares de desigualdade. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 40 / 51

Dualidade e degenerescência Vamos continuar supondo que estamos lidando com problemas de programação linear na forma padrão e que a matriz A tem linhas linearmente independentes. Toda base B leva a uma solução básica dual associada dada por p T = c T B B 1. Nesta solução básica, a restrição dual p T A j c j é ativa se, e somente se, c T B B 1 A j = c j. Ou seja, se, e somente se, o custo reduzido é nulo. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 41 / 51

Dualidade e degenerescência Como p é um vetor m dimensional, degenerescência dual significa ter mais de m custos reduzidos iguais a 0. Dado que o custo reduzido de todas as variáveis básicas deve ser 0, degenerescência dual acontece quando existe uma variável não-básica cujo custo reduzido é 0. Vejamos agora um exemplo que mostra a relação entre soluções básicas primal e dual na presença de degenerescência. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 42 / 51

Exemplo 3 Considere o seguinte problema na forma padrão: Seu dual é dado por minimizar 3x 1 + x 2 sujeita a x 1 + x 2 x 3 = 2, 2x 1 x 2 x 4 = 0, x 1, x 2, x 3, x 4 0. maximizar 2p 1 sujeita a p 1 + 2p 2 3, p 1 p 2 1, p 1, p 2 0. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 43 / 51

Exemplo 3 Eliminando as variáveis x 3 e x 4 do problema primal, obtemos o seguinte problema equivalente: minimizar 3x 1 + x 2 sujeita a x 1 + x 2 2, 2x 1 x 2 0, x 1, x 2 0. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 44 / 51

Exemplo 3 Na figura abaixo temos o desenho das regiões viáveis do problema equivalente ao primal e do problema dual. x 2 p 2 B = (0, 1) A = (0, 3/2) C = (2/3, 4/3) C = (5/3, 2/3) p 1 A = (0, 0) B = (1, 0) D = (3, 0) A = (0, 0) (a) x 1 D = (1, 0) A = (0, 1) (b) Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 45 / 51

Exemplo 3 Há um total de 6 bases diferentes do problema primal na forma padrão, mas somente 4 soluções básicas diferentes. Estas soluções são representadas pelos pontos A, B, C e D da Figura (a). No entanto, no problema dual estas 6 bases diferentes correspondem a 6 soluções básicas diferentes. Estas soluções são representadas pelos pontos A, A, A, B, C e D da Figura (b). Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 46 / 51

Exemplo 3 Se tomamos as colunas A 3 e A 4 como base, a solução básica primal é (x 1, x 2, x 3, x 4 ) = (0, 0, 2, 0) (ponto A da Figura (a)), que é inviável. A solução básica dual correspondente é (p 1, p 2 ) = (0, 0). Note que esta é uma solução básica viável dual (ponto A da Figura (b)). Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 47 / 51

Exemplo 3 Se tomamos as colunas A 1 e A 3 como base, a solução básica primal também é (x 1, x 2, x 3, x 4 ) = (0, 0, 2, 0). Para o problema dual, no entanto, as equações p T A 1 = c 1 e p T A 3 = c 3 levam à solução básica dual (p 1, p 2 ) = (0, 3/2). Esta é uma solução básica viável dual (ponto A da Figura (b)). Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 48 / 51

Exemplo 3 Se tomamos as colunas A 2 e A 3 como base, temos a mesma solução básica primal (x 1, x 2, x 3, x 4 ) = (0, 0, 2, 0). Para o problema dual, as equações p T A 2 = c 2 e p T A 3 = c 3 levam à solução básica dual (p 1, p 2 ) = (0, 1). Esta é uma solução básica inviável dual (ponto A da Figura (b)). Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 49 / 51

Dualidade e degenerescência Pelo exemplo anterior podemos ver que diferentes bases podem levar a uma mesma solução básica para o problema primal, mas para diferentes soluções básicas para o problema dual. Além disso, dentre as diferentes soluções básicas para o problema dual, algumas podem ser viáveis e outras podem ser inviáveis. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 50 / 51

Dualidade e degenerescência Vamos resumir algumas propriedades sobre bases e soluções básicas para problemas na forma padrão que foram discutidas aqui. (a) Toda base determina uma solução básica no primal e uma solução básica correspondente no dual, dada por p T = c T B B 1. (b) Esta solução básica dual é viável se, e somente se, todos os custos reduzidos são não-negativos. (c) Nesta solução básica dual, os custos reduzidos que são nulos correspondem a restrições ativas no problema dual. (d) Esta solução básica dual é degenerada se, e somente se, alguma variável não-básica tem custo reduzido nulo. Marina Andretta (ICMC-USP) sme0211 - Otimização linear 24 de outubro de 2016 51 / 51