Algoritmo Simplex - versão 2.5

Documentos relacionados
Lema de Farkas e desigualdades lineares

Programação Linear. Dualidade

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

Pesquisa Operacional

Teoremas de dualidade

Programação Linear - Parte 5

Representação de poliedros

Combinando inequações lineares

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

Professor João Soares 20 de Setembro de 2004

Combinando inequações lineares

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

2 Geometria e Programação Linear

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

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

5 Análise de Sensibilidade

BCC465 - TÉCNICAS DE MULTI-OBJETIVO. Gladston Juliano Prates Moreira 22 de novembro de 2017

Professor: Carlos Eugênio da Costa Teoria Microeconômica II Monitor: Diego Santiago

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

Otimização Combinatória - Parte 4

Aulas 6 / 05 de setembro

Análise Convexa. 1. Conjuntos convexos 1.1. Casca convexa, ponto extremo, cone. 2. Hiperplanos: suporte, separador, teorema da separação

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.

INTRODUÇÃO À ANÁLISE CONVEXA E APLICAÇÕES INTRODUCTION TO CONVEX ANALYSIS AND APLICATIONS

Existência e otimalidade de pontos extremos

X - D U A L I D A D E

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

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

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

Programação Matemática

Condições geométricas de otimalidade

Aula 07: Análise de sensibilidade (2)

Otimização Aplicada à Engenharia de Processos

Inversão de Matrizes

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

Resolvendo algebricamente um PPL

Inversão de Matrizes

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

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

J. Delgado - K. Frensel - L. Crissaff Geometria Analítica e Cálculo Vetorial

Capítulo 3. O Método Primal Simplex

Método do Lagrangiano aumentado

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

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

Área disponível para semear: A km 2 Tipo de plantação: trigo ou sevada Quantidade disponível de inseticida = P e fertilizante = F

Exemplo: Maximização de lucros em uma chocolateria que produz os seguintes produtos: (1) Chocolate Pyramide (2) Chocolate Pyramide Nuit

UNIVERSIDADE FEDERAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA. Medida e Probabilidade

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

Aula 18. Método Multiplicadores Lagrange (continuação)

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

Programação Linear Inteira. C. Requejo (UA) Métodos de Investigação Operacional MIO / 30

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

Métodos de Pesquisa Operacional

13 Fórmula de Taylor

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

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

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

EEL 7100 Despacho Econômico de Unidades Térmicas Parte 1

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

Bases Matemáticas. Como o Conhecimento Matemático é Construído. Aula 2 Métodos de Demonstração. Rodrigo Hausen. Definições Axiomas.

DEPARTAMENTO DE ENGENHARIA MECÂNICA

Máximos e mínimos em intervalos fechados

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

Matrizes Semelhantes e Matrizes Diagonalizáveis

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

Regras para evitar ciclagem

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

Cap. 5 Estabilidade de Lyapunov

Investigação Operacional 1. Transparências de apoio à leccionação de aulas teóricas. x j - valor da variável de decisão j;

Material Teórico - Sistemas Lineares e Geometria Anaĺıtica. Sistemas com três variáveis - Parte 1. Terceiro Ano do Ensino Médio

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

4- Dualidade em Programação Linear

Aula 19: Lifting e matrizes ideais

Matemática 2. Teste Final. Atenção: Esta prova deve ser entregue ao fim de 1 Hora. Deve justificar detalhadamente todas as suas respostas.

A Dualidade em Programação Linear

1 Otimização com restrições I: Condições de Primeira Ordem

Programação Linear/Inteira - Aula 5

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

Material Teórico - Módulo Equações do Segundo Grau. Equações de Segundo Grau: outros resultados importantes. Nono Ano do Ensino Funcamental

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

A forma canônica de Jordan

Jogos de soma zero com dois jogadores

Definição 3.1: Seja x um número real. O módulo de x, denotado por x, é definido como: { x se x 0 x se x < 0

Departamento de Matemática da Universidade de Coimbra. Licenciatura em Matemática. e B =

PESQUISA OPERACIONAL. Fabiano F. T. dos Santos. Instituto de Matemática e Estatística

Espaços Euclidianos. Espaços R n. O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais:

Método de Eliminação de Fourier-Motzkin

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

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

Alocação de Unidades via Relaxação Lagrangeana

= o A MATRIZ IDENTIDADE. a(i, :) = (aii, ai2,, ai.) i = 1,, m

α ( u 1 - u 2 ) = u 3 - u 2.

FUNCIONAIS LINEARES: ESPAÇO DUAL E ANULADORES

GEOMETRIA II EXERCÍCIOS RESOLVIDOS - ABRIL, 2018

Produto interno e produto vetorial no espaço

Lista 8 de Análise Funcional - Doutorado 2018

Transcrição:

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 1 Introdução à Programação Linear (2) Algoritmo Simplex - versão 25 Leônidas de Oliveira Brandão http://wwwimeuspbr/ leo http://wwwmatematicabr 1 de dezembro de 25 2:48 Sumário Índice Remissivo 1 5 Dualidade em Programação Linear 2 51 Como construir o dual de um problema linear 4 52 Par Primal/Dual 4 53 Teorema Forte de Dualidade 7 54 Aplicações do Teorema Forte de Dualidade: Teorema de Alternativas 9 55 Lema de Farkas pelos teoremas de Weierstrass e separabilidade por hiperplano 12 56 Referências 14 Índice Remissivo J D [Cap 5], 2 J P [Cap 5], 2 L(x, y) := c t x+y t (b Ax) = b t y +x t (c A t y) [Cap 5], 3 função lagrangeana [Cap 5], 3 função objetivo estendida [Cap 5], 3 Lema de Farkas [Cap 5], 9 lema de Farkas [Cap 5], 9, 1 Multiplicadores de Lagrange [Cap 5], 2 primal-dual [Cap 5], 4 Problema Canônico [Cap 5], 2 Problema Dual [Cap 5], 4 problema dual [Cap 5], 3 Problema Primal [Cap 5], 4 Teorema da Separabilidade por Hiperplano [Cap 5], 12 teorema de alternativa [Cap 5], 9 teorema de Gale [Cap 5], 11 Teorema de Weierstrass [Cap 5], 12 Teorema Forte de Dualidade [Cap 5], 9 Teorema Fraco de Dualidade [Cap 5], 6

Capítulo 5 Dualidade em Programação Linear Neste capítulo introduziremos dualidade a partir de uma interpretação econômica (com dois jogadores ) via penalidades (multiplicadores de Lagrange 1 ) A associação derivada desta interpretação com os problemas lineares não é a usual, porém atinge muito bem o objetivo de seu uso: determinar as retrições lineares no problema dual Fixada uma matriz A IR m n de posto completo, um vetor b IR m e um vetor c IR n, difinimos o problema canônico por (PLC): max c t x Ax = b x > = max c t x x X sendo X := {x IR n : Ax = b x > = } (51) Para este problema, que também estamos denominando Problema Canônico, convencionando que, se X =, então V O = (valor objetivo) Assim, podemos reescrever este problema como: sup{c t x : Ax = b} (52) x = > Podemos eliminar a restrição Ax = b, impondo multas por violações Para ficar mais fácil esta exposição suporemos a existência de dois jogadores, o primeiro deseja resolver o problema anterior e será denominado jogador J P O segundo jogador será o J D, cujo objetivo (neste momento) é evitar que J P viole alguma restrição Assim, se J P permitir que para algum i {1, 2,, n} que a i x b i, J D aplicará uma multa y i reduzindo o lucro de J P Além disso, para obtermos um problema equivalente ao problema 51, J P está interessado em obter lucro máximo e J D em ter prejuízo mínimo Assim, para cada valor de produção x que J P escolhe, J D escolhe sua melhor multa: inf y IR m c t x + y t (b Ax) Assim o problema (51) é equivalente a sup x > = {ct x + inf y IR m y t (b Ax)}, que ainda pode ser reescrito na forma: primeiro jogador escolhe o x, depois segundo jogador escolhe o y, a partir do x já escolhido, sup inf y IR {ct x + y t (b Ax)} (53) m x > = Note que: como o objetivo de J P é obter lucro máximo, para evitar que J D reduza seu lucro com multas, J P sempre que possível (X ) manterá Ax = b; entretante, se X =, este problema produz como resposta, coincidindo com a convenção max f(x) = Lema 51 Os problemas (52) e (53) são equivalentes 1 Joseph-Louis Lagrange, nascido em 1736 numa região da hoje Itália O problema considerado por Lagrange, foi: min{f(x) + λ t h(x) : x A}, A um conjunto aberto As componentes λ 1, λ 2,, λ n, são denominadas Multiplicadores de Lagrange

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 3 Demonstração Elementar a partir das observações acima Continuando com a investigação do jogo J P /J D, podemos inverter os papéis dos jogadores problema derivado quando J D primeiro seleciona sua variável y, para depois J P escolher x? Qual o Neste caso, podemos reescrever o sistema como sup inf y IR {ct x + y t (b Ax)}=sup inf m y IR {ct x + y t b y t Ax)}=sup inf m y IR {ct x + y t b x t A t y}= m x > = x > = e este problema pode finalmente ser reduzido ao seguinte x > = sup inf y IR {yt b + x t (c A t y)} (54) m x > = Para este problema, podemos fazer uma análise inversa à que motivou a definição de (52) Agora, o jogador J D é o primeiro a selecionar sua variável y, procurando minizar o valor objetivo, enquanto J P pode selecionar x de modo a penalizar J D sempre que este não conseguir c A t y < =, pois, se ficar algum c i a i y >, i {1, 2,, n}, J P toma sup{x i > = } = + Deste modo, J D escolhe primeiro sua variável y, mas sabe que depois dele J P vai escolher seu x > = tentando crescer o valor da função objetivo, o que resulta no problema: inf sup {y t b + x t (c A t y)} inf y IR m y IR {yt b + sup x t (c A t y)} m x > = este é o problema dual de (53), e (54) É importante notar a relação entre os problemas com restrições linear, 51, e o sem restrições, 53: as multas só serão aplicadas quando o primeiro jogador não conseguir um ponto viável Isso pode ser traduzido no lema seguinte Para simplificar a notação definiremos a função objetivo estendida, também conhecida com função lagrangeana 2 x > = L(x, y) := c t x + y t (b Ax) = b t y + x t (c A t y) (55) Lema 52 Qualquer que seja o poliedro primal P e seu correspondente dual D, sendo S x IR n e S y IR m, respectivamente, os sinais das variáveis primais e duais, então inf L(x, y) = inf y Sy {c t x + y t (b Ax)} = c t x, y S y x P, e sup L(x, y) = sup x Sx {y t b + x t (c A t y)} = y t b, x S x y D Demonstração Fica a cargo do leitor (note que os sinais das variáveis duais são definidos de modo a impedir que as restrições primais sejam inviáveis) Portanto, J D está interessado em resolver o seguinte problema inf y IR {bt y : A t y > m = c} (56) 2 Devido aos estudos de minimização irrestrita de Joseph-Louis Lagrange, usualmente considerado matemático Francês, mas nascido na Itália em 1736

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 4 ou seja, o problema do jogador J D, quando este inicia o jogo, é min b t y A t y > = c (57) Podemos caracterizar o problema (53) como a busca pelo melhor plano de produção, como exposto no capítulo??: x i quantidade de peças do produto i a serem produzidas e a i x = b i a quantidade de insumo i disponível (a ij a quantidade de insumo i no produto j) Deste modo, podemos colocar o problema (54) como a determinação dos preços dos insumos, de modo a garantir à J D que receba em cada unidade de produto ao menos o valor unitário de venda de cada produto (a i y > = ) - vide capítulo?? 51 Como construir o dual de um problema linear A partir da seção anterior, podemos notar que o processo de obtenção do dual consiste de dois passos: obtenção do sinal da multa (variável dual) e obtenção so sinal do poliedro dual Nesta subseção, a partir de um problema primal de maximização, apresentaremos um esquema ilustrativo do referido processo Por simplicidade, admitamos que o problema primal seja de maximização na variável x S x, sendo S x o sinal da variável x (no poliedro canônico por exemplo, teríamos S x := {x IR n : x > = }) Para a obtenção do dual, existem dois passo principais (determinação dos sinais das variáveis duais e do poliedro dual), além de um passo simples que é inversão de papéis entre os jogadores (considerando o lagrangeano) Este processo é ilustrado abaixo max x S x c t x x X (A) (a) sup inf L(x, y) y S y x S x (B) (b) inf y S y sup x S x L(x, y) (C) (c) min b t y y S y y Y (D) (58) Se pensarmos em termos de dedução da esquerda para a direita dos problemas: em (a) devemos determinar o sinal da multa do problema (B), a partir do poliedro X, de modo que este fique equivalente ao (A); (b) devemos determinar o problema dual (basta aplicar a definição: inverter a ordem dos jogadores); (c) devemos determinar o sinal do poliedro dual Y, em (D), de modo que o problema (D) fique equivalente ao (C) Por exemplo, para o problema canônico do início do capítulo (51), teríamos a seguinte sequência: max c t x, x X X := {x IR n : Ax = b} (A) (a) sup inf L(x, y) y S y logo S y = IR m (B) (b) inf sup y IR m (C) L(x, y) (c) min y IR m bt y, y Y Y := {y IR m : A t y > = c} (D) 52 Par Primal/Dual Em função deste jogo duplo este par de problemas, (57) e (51), é designado par primal-dual Se o problema (51) é o Problema Primal, então (57) é seu Problema Dual Podemos fazer o mesmo jogo com todas as outras variantes de restrições, obtendo a seguinte tabela

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 5 Tipos de problemas/penalidades minimização maximização Restrições y t (b Ax) y t (b Ax) Ax = b y IR n y IR n Ax = < b y IR n y IR n + Ax = > b y IR n + y IR n Tipos de problemas/penalidades min x sup y max x inf y Restrições y t (b Ax) y t (b Ax) b Ax = y IR n y IR n b Ax = > y IR n y IR n + b Ax = < y IR n + y IR n Exercício 51 Usando os multiplicadores, deduza os problemas duais de 1 max{c t x : Ax = b}; 2 max{c t x : Ax = > b}; 3 max{c t x : Ax = > b x = > }; 4 min{c t x : Ax = b}; 5 min{c t x : Ax = > b}; 6 min{c t x : Ax = > b x = > }; Exercício 52 Considere o problema geral de maximização em Programação Linear, (P max ), abaixo descrito e obtenha seu dual Sugestão: procure resolver este problema por dois processos, verificando o mesmo resultado, via dual do problema canônico de programação linear e via dualização usando o processo esquematizado na seção 51 max c 1, x 1 + c 2, x 2 + c 3, x 3 A 11 x 1 + A 12 x 2 + A 13 x 3 = b 1 A 21 x 1 + A 22 x 2 + A 23 x 3 < = b 2 A 31 x 1 + A 32 x 2 + A 33 x 3 > = b 3 x 1 IR n 1 +, x 2 IR n 2, x 3 IR n 3 Exercício 53 Prove que o dual do dual de um problema geral de maximização em Programação Linear equivale ao seu primal Podemos relacionar a função de custo extendida com a viabilidade (e valor objetivo) dos problemas, Lema 53 Usando a função de custo estendida, valem as seguintes equivalências, x X := {x IR n : Ax = b} c t x = inf L(x, y) IR, y IR m ( ) y Y := {y IR m : A t y > = c} b t y = sup L(x, y) IR ( ) Demonstração As duas equivalências seguem, respectivamente, das seguintes 3, inf L(x, y) = y IR ct x + inf m y IR yt (b Ax) IR m inf y IR yt (b Ax) = m Ax = b 3 Note que X IR n + resulta no poliedro canônico X = {x IR n : Ax = b x > = }

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 6 sup L(x, y) = b t y + sup x t (c A t y) IR sup x t (c A t y) = c A t y = < A t y = > c Em particular, quando consideramos um par de pontos viáveis nos problemas (51) e (57), podemos obter a seguinte desigualdade, Lema 54 Se x X IR n + e y Y, então c t x < = b t y Demonstração Das hipóteses segue que b t y Ax=b = (Ax) t y = x t A t x = A > t y =c > y > = x t c = c t x Exercício 54 Redefinindo Y := {y IR m : A t y < = c}, mostre que: x X IR n + e y Y c t x = > b t y Note que Y acima definido forma o conjunto das restrições do dual do problema de minimização sobre X IR n + = X Ou seja, o dual de min{c t x : Ax = b x > = } é max{b t y : A t y < = c} Daqui pode-se concluir que para um primal de minimização sobre X IR n +, o valor objetivo de qualquer ponto viável primal é maior ou igual a de qualquer viável dual (c t x > = b t y) A este dois resultados, normalmente denominamos Teorema Fraco de Dualidade: Teorema 51 Considerando como restrições{ primais o poliedro canônico X e tomando x e y, respectivamente, se o problema primal é de maximização, então c t x = < b t y um ponto viável primal e um viável dual: se o problema primal é de minimização, então c t x = > b t y Corolário 51 Se (x, y) são viáveis no par canônico primal/dual, (PLC)/(DLC), com c t x = b t y, então x é solução do (PLC) e y é solução do (DLC) Demonstração Qualquer que seja o par (x, y) viável primal e dual, então x > = A t y > =c > b t y Ax=b = (Ax) t y = x t A t y = x t c = c t x, (x, y) tais que Ax = b, A t y = > c e x = > em particular, para os pares (x, y) e (x, y), teremos c t x = b t y b t y = c t x ( ) > = c t x, logo x é uma solução ótima do (PLC); e ( ) < = b t y, logo y é uma solução ótima do (DLC) ( ) Exemplo 51 Alguns exemplos de funcionais não lineares onde a desigualdade é estrita: lembre-se, o jogador primal escolhe seu melhor ponto sabendo que o jogador dual vai tentar prejudicá-lo Por exemplo, no problema inf y sup x L(x, y), o jogador primal escolhe o y e depois o jogador dual escolhe seu x L(x, y) x inf sup y B x A L(x, y) sup inf L(x, y) y x A y B B x A y + y > x = > x y y > x > 1 x y 1 y > x > 4 (x y) 2 y IR x IR Entretanto vale um resultado mais geral que o exposto no teorema acima Mesmo para problemas de otimização não-lineares, vale o seguinte teorema Fraco de Dualidade, 4 Se deixar x = >, então ocorreria empate entre o primal e o dual, pois sup inf 1 x = 1 (o jogador primal escolheria x = ) y x = > y>

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 7 Lema 55 Sejam A e B quaisquer conjuntos e L(, ) : A B IR {, + } qualquer função Então inf sup y B x A L(x, y) = > sup inf L(x, y) x A y B Demonstração Quaisquer que sejam x A e y B, teremos sup L(x, y) = > L(x, y) = > inf L(x, y), (x, y) A B x A y B Deste modo podemos minimizar o funcional à esquerda quanto à x e à direita quanto à y, seguindo daí a tese, inf sup y B x A L(x, y) = > sup inf L(x, y) x A y B Apesar do resultado acima não estar no formato do Teorema Fraco de dualidade, 51, a partir de sua demonstração e do lema 52, podemos enquadrar o teorema 51 como corolário do lema acima: x viável primal inf L(x, y) = c t x e y viável dual inf L(x, y) = b t y, assim, por exemplo, quando o primal é de y S y x S x maximização, para qualquer par viável (x, y), c t x = inf y S y L(x, y) < = L(x, y) < = sup x S x L(x, y) = b t y Exercício 55 Adotando L(x, y) := c t x + y t (b Ax) = b t y + x t (c A t y) e as equivalências sup x IR n y IR + inf inf L(x, y) sup n sup y IR n L(x, y) inf y IR n { } c t x + inf y IR yt (b Ax) max{c t x : Ax = b x > n = } { b t y + sup x t (c A t y) demonstre o teorema 51 como corolário do lema anterior } min{b t y : A t y > = c}, 53 Teorema Forte de Dualidade Nesta seção voltaremos a trabalhar com o par primal/dual a partir do problema canônico, isto é, Primal: max c t x max{c Ax = b x = > t x : x X} sendo X := {x IR n : Ax = b x = > (PLC) }; Dual: min b t y min{b A t y = > t y : y t Y } c sendo Y := {y IR m : A t y = > (DLC) c} Denotaremos por VOP e VOD, respectivamente, os valores ótimos do (PLC) e do (DLC) Lembrando que VOP= quando o (PLC) for inviável e VOD= + quando o (DLC) for inviável, podemos mostrar que Lema 56 Se o (PLC) é viável, então VOP= VOD VOP= + = (DLC) inviável Demonstração Supondo o (PLC) viável, analisaremos separadamente dois casos:

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 8 Se VOP= +, então existe x λ X, λ > =, para o qual lim λ ct x λ = + Neste caso não pode existir y Y, pois se existisse um tal y, do teorema Fraco de Dualidade (51), para maximização, teríamos b t y > = c t x, x X, o que implicaria (por continuidade) que b t y > = lim λ c t x λ = + (absurdo, pois b t y é um número real) Se VOP IR, então existe um x X que atinge o ótimo, VOP= c t x Neste caso, da condição suficiente de otimalidade, existe uma base viável B que gera x e para a qual γ N = c N A t N λ = <, sendo λ = (A 1 B )t c B ( ) Daí podemos provar que λ é um ponto viável no (DLC) e que VOD= b t λ: λ Y : para mostrar que A t λ = > c fica mais fácil analisar separadamente os índices de B e de N, [ cb A t B λ ] [ ] cb A c N A t N λ = t B (A 1 B )t c B c N A t N λ = < = = c A t λ = < c N A t N λ Como x é gerado por B, temos que x B = A 1 B b = > e x N =, deste modo b t λ = b t (A 1 B )t c B = (A 1 B b)t c B = x t B c B = c t B x B = c t B x B + c t N = ct x ( ) Além disso, do teorema Fraco de Dualidade para o problema primal de maximização (teorema 51), segue que c t x ( ) = b t λ = < b t y, y Y ( ) < = Logo, λ é solução ótima do (DLC) e c t x = b t λ, como desejávamos demonstrar Do mesmo modo, se o dual for ilimitado, então o primal é inviável, Lema 57 Se o (DLC) é viável, então VOD= VOP VOD= = (PLC) inviável Demonstração Colocaremos o (DLC) na forma canônica para podermos usar o lema acima e concluir a tese (DLC) min b t y A t y > = c max b t y A t y Iy r = c y r > = max b t y + + b t y t y [ r A t A t I ] (y +, y, y r ) t > = y + y y r = c Como (P) está no forma canônica e é viável por hipótese, podemos aplicar o lema anterior para concluir que: VOP= VOD: direto, apenas usando o fato que o dual do dual é o primal VOD= = (PLC) inviável: Como VOD= e, da construção de (P), o valor objetivo de (P) é o negativo do correspondente (DLC), segue que seu valor ótimo é o negativo de VOD, ou seja, VO de (P)= + Assim, estamos em condições de aplicar a segunda parte do lema 56 e daí concluimos que o dual de (P) é inviável Para finalizar a tese, basta mostrarmos que o dual de (P) é precisamente o (PLC): dual de (P) min ct w A A I w > = b b min ct w Aw > = b Aw > = b w > = Como o dual do (DLC), (D), equivale ao (PLC), segue daí a tese min c t w Aw = b w < = x:= w max c t x Ax = b x > = (P) (D)

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 9 Com estes dois lemas, podemos enunciar um resultado importante para problemas lineares, o Teorema Forte de Dualidade, Teorema 52 Se um dos problemas do par primal/dual é viável, então os valores ótimos coincidem Demonstração Como qualquer problema de linear pode ser colocado na forma canônica, a tese segue diretamente dos lemas 56 e 57 Exemplo 51 Considere os problemas (PLC) e (DLC), usando ] ] A :=, b := e c := [ 1 1 1 1 1 Note que, apesar do (PLC) ter dimensão 4, fica fácil ver que o mesmo é equivalente a um problema no IR 2 : max{ x 1 + x 2 : x 1 + x 2 > = 2 x 2 < = 2} Graficamente é fácil verificar que o (PLC) tem solução ótima (única) x = (, 2,, ) e o (DLC) tem como solução y [{y 1, y 2 }] (casco convexo), sendo y 1 = (, 1) e y 2 = ( 1, 2) (como exercício, prove estas duas afirmações) Devemos notar que no (PLC), podemos utilizar duas bases distintas para o único vértice ótimo, sendo [ 2 2 1 1 Base B 1 = (2, 4) γ N1 = (γ 1, γ 3 ) = ( 2, 1) [ ] A 1 1 B 1 =, λ 1 1 t = c t B 1 A 1 B 1 = (1, ) Base B 2 = (2, 3) γ N2 = (γ 2, γ 3 ) = ( 1, 1) A 1 B 2 = [ 1 1 1 ], λ t = c t B 2 A 1 B 2 = (, 1) Exercício 56 Considerando o par primal/dual canônico, prove que: x viável primal, y viável dual, tais que x (c A y) = y (b Ax) = (folgas complementares) x solução do (PLC) e y solução do (DLC) 54 Aplicações do Teorema Forte de Dualidade: Teorema de Alternativas Nesta seção examinaremos teoremas de alternativas a partir do Teorema Forte de Dualidade, particularmente o lema de Farkas Estes teoremas podem ser caracterizados pela existência de dois sistemas (S 1 e S 2 ) mutuamente exclusivos: ambos os sistemas não podem ter solucão e se um deles não tem solução o outro tem Na seção seguinte reapresentamos o lema de Farkas, desta vez demonstrado pelo teorema de Weierstrass e o da separabilidade de hiperplano Assim, um teorema de alternativa pode ser esquematizado da seguinte maneira: considerando os dois sistemas lineares S 1 e S 2, então S 1 S 2 = falso: ou seja, ambos os sistemas não podem ter solução S 1 S 2 : ou seja, se S 1 não tem solução, então S 2 tem (ou vice-versa 5 ) 5 Note que A B equivale a expressão B A

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 1 Um dos mais conhecidos (e antigos) teoremas de alternativas, que surgiu bem antes da teoria de Programação Linear, é o Lema de Farkas, de 192 Lema 58 ( lema de Farkas) Se tomarmos S 1 : (1) Ax = b (2) x = > constitue um teorema de alternativas e S 2 : (3) A t y = < (4) b t y >, então (S 1, S 2 ) Demonstração Vamos usar o esquema de prova acima indicado: S 1 S 2 = falso: Por contradição suporemos a existência de um par (x, y) IR n IR m, respectivamente, solução de S 1 e S 2 Neste caso teríamos (4) < b t y (1) = (Ax) t y = x t }{{} > = A t y }{{} < = (2) (3) < = o que é claramente uma contradição Logo, não pode existir o par (x, y) Nesta parte associaremos ao par (S 1, S 2 ) um par primal/dual, de modo que a negação de um dos sistemas equivalha à inviabilidade de um dos problemas lineares e ilimitação do outro (via Teorema Forte de Dualidade) 6 Considere o par primal/dual (P ) { min t x Ax = b x > = { e (D) max b t y A t y < = Mostraremos que S 1 S 2 Suponha que S 1 não tenha solução, então (P ) é inviável, logo VOP = + Por outro lado, (D) é viável (para y = ), assim podemos aplicar o Teorema Forte de Dualidade para concluirmos que VOD = VOP = + Deste modo, (D) é ilimitado e portanto deve existir uma direção de ilimitação y, ou seja, y IR m : A t y < = b t y >, seguindo daí que S 2 tem solução { Ax = b Corolário 52 ( lema de Farkas) Se tomarmos S 1 x = > um teorema de alternativas } e S 2 { A t y > = b t y < }, então (S 1, S 2 ) constitue Uma consequência interessante deste teorema é uma caracterização de otimalidade do par primal/dual Teorema 53 O par canônico de programação linear tem solução ótima (x, y) IR n IR m Ax = b (x, y) IR n IR m b é solução do sistema S := t y = c t x A t y = > c x = > se e somente se A condição necessária para otimalidade (que usa o lema de Farkas) é bastante trabalhosa, porém a condição suficiente pode ser feita diretamente como uma aplicação do corolário 51 ((x, y) par viável primal/dual, com c t x = b t y = (x, y) são as soluções do primal/dual) ou usando Farkas Apenas para ilustrar o potencial de uso de teoremas de alternativas como substitutos dos teoremas de dualidade de programação linear, apresentaremos esta última opção Demonstração 6 Este é o ponto chave de demonstração de teorema de alternativas usando esta técnica: encontrar o par primal/dual conveniente

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 11 ( ) Podemos reescrever o sistema S como o S 1 de Farkas, e com isso obtemos o seguinte par x A O O O O A S 1 := t A t y I + b b t r + c t s + t < c t b t b t t y = c A t O c e S 2 := O A b r s z O A b (x; y + ; y ; z) = > t O I Como o sistema S é viável, S 1 tem solução e por Farkas (lema 52) o sistema S 2 acima é inviável Entretanto as inequações não estritas de S 2 podem ser reescritas como: A t r + tc > = As tb = s < = = A t r > = ( t)c A( s) = ( t)b ( s) > = = A t r > = tc As = tb s > = Deste modo o sistema S 2 não pode ter solução para um particular t Logo, tomando t = 1 as restrições (59) de S 2 se resumem precisamente ao sistema S 1 que por hipótese é viável Ou seja, o caso particular de S 2 tomando t = 1 fica (1) b t r c t s < (2) A t r = > c (3) As = b (4) s = > { (1) b t y c t x < (2, 3, 4) S 1 Portanto, para todo par (x, y) que satisfaça S 1, como S 2 é inviável, b t y c t x = > E este resultado é precisamente o teorema fraco de dualidade em programação linear, no formato do lema 54 Assim, para concluir a demonstração basta repetir a prova do lema 54 > = (59) Como exercícios de teoremas de alternativas, sugerimos o teorema de Gale e mais uma variante do lema de Farkas bastante interessante, conforme abaixo Exercício 57 ( teorema de Gale) Demonstre o teorema de alternativas de Gale: S 1 : (1) Ax = b e S 2 : (2) A t y = (3) b t y = 1 Note que os poliedros associados aos sistemas S 1 e S 2 são definidos por igualdades, por isso as variáveis (x, y) serão livres de sinais no par primal/dual adequado Exercício 58 Considerando 1 = (1, 1,, 1) t IR n, mostre que os sistemas seguintes constituem um teorema de alternativas: S 1 : (1) Ax = e S 2 : (3) A t y = > 1 (2) x Muita atenção à desigualdade x, que implica em x Exemplo 52 Dado dois conjuntos de pontos A := {a i } i I e B := {b i } i I, I := {1, 2,, n}, determinar se existe um hiperplano que separe estritamente os dois conjuntos Defina as matrizes A e B, respectivamente, com linhas {a i, i {1, 2,, n} e {(b i ) t, i {1, 2,, n} O problema é determinar a existência ou não de um vetor (x, γ) IR n IR tal que Ax > γ1 e Bx < γ1, ou seja, [ ] [ ] A 1 x > ( ) B 1 γ Mas este sistema está numa forma adequada para teoremas de alternativas e usando o exercício 58 (Cd > = 1 Cd > ), notamos que ( ) tem solução se e somente se o sistema abaixo não tiver solução,

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 12 [ A t B t 1 1 ] [ u v ] [ ] = (u, v) Note que o sistema ( ) tem solução (u, v), então u e v (pois (u, v) e 1 t u 1 t v = ) Assim, para resolver este sistema podemos construir o seguinte PL (P) max 1 [ t u + 1 t v 2 ] [ ] A t B t u = 1 1 v (u, v) = < 1 (u, v) = > [ ] Se (P) tem solução, então ( ) tem solução e ( ) não Por outro lado, se (P) tem solução menor que, então ( ) não tem solução e assim, ( ) tem solução É importante notar que a viabilidade do sistema ( ) é equivalente a existência de um ponto x dentro do casco convexo de A e de B: n n n n u i a i = A t u = B t v = v i b i, com (u, v) e u i = v i = 1 i=1 Exercício 59 Prove a afirmação acima i=1 i=1 i=1 ( ) 55 Lema de Farkas pelos teoremas de Weierstrass e separabilidade por hiperplano Podemos notar que nos sistemas alternativos de Farkas, S 1 : (1) Ax = b e S 2 : (3) A t y = <, (2) x = > (4) b t y > as equações (1) e (2) implicam que x está no cone gerado pelas colunas de A, (a 1, a 2,, a n ), enquanto a equação (3) diz que y está na intersecção dos semi-espaços negativos {p : p t a i = <, i {1, 2,, n}} hiperplanos negativos {p : (p t A) t < = } y a 1 b região do cone {Ax : x = > } a n Figura 51: Farkas: cone gerado e semi-espaços negativos tem intersecção como Portanto, é fácil ver que uma solução x para (1), (2) e uma y para (3) não podem fazer produto escalar positivo Ou de outro modo, podemos intuir que ambas as regiões podem ser separados por um hiperplano Teorema 54 ( Teorema de Weierstrass) Se então existe x S tal que f(x ) = < f(x), x S f : IR n IR é contínua e = S IR n, fechado e limitado, Teorema 55 ( Teorema da Separabilidade por Hiperplano) Se x S, então existe p IR n para o qual p t x < p t x, x S = S IR n, fechado e convexo, e

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 13 Demonstração Sejam f(x) := x x 2 = (x x ) t (x x ) e S := S {x : f(x) < = f(x 1 )}, sendo x 1 S qualquer Deste modo S é fechado e limitado, e portanto pelo teorema de Weierstrass existe x S tal que f(x) < = f(x), para todo x S Além disso, da definição de S, segue que x S \ S f(x) > f(x 1 ) > = f(x), logo f(x) < = f(x), x S x x x S S x λ x x x 1 (S := S {x : f(x) = < f(x 1 )}) Figura 52: Hiperplano separador de x S com S Defina p := x x, então p t x < p t x, x S, pois: (x, λ) S ], 1[, como S é convexo, segue que x λ := x + λ(x x) S e daí x x 2 = f(x) < = f(x λ ) = x + λ(x x) x 2 = (x x + λ(x x)) t (x x + λ(x x)) = x x 2 + 2λ(x x ) t (x x) + λ 2 x x 2 = < = 2λ(x x ) t (x x) + λ 2 x x 2 = 2λp t (x x) + λ 2 x x 2 λ > = = 2p t (x x) + λ x x 2 > = λ = p t (x x) > = = p t x > = p t x = p t x + p t x p t x = p t x + p t (x x ) = p t x + p t c c > p t x Portanto, p t x > p t x, x S, completando a demonstração Com estes dois resultados podemos demonstrar a parte mais difícil do lema de Farkas: (se S 1 inviável, então S 2 é viável) Teorema 56 Sejam S 1 : Ax = b, x > = não tem solução, então S 2 : A t y < =, b t y > tem solução Demonstração Seja S o cone definido pelas de A, ou seja, S := {z : z = Ax > =, x > = } Logo S é fechado e convexo (pois é cone) Além disso, b S, deste modo podemos aplicar o teorema da separabilidade por hiperplano (55) Seja então p IR n tal separador, p t b > p t x, x S Como S, segue a tese, p t b > Exercício 51 Sendo P := {y IR m + : A t y =, 1 t y = 1} e I = {1, 2,, m}, prove que: y P = b t y < = max i I,x IR n a i x b i Dica: Escreva em problema primal com restrições em P e note que, se Q := {(x; α) IR n+1 : Ax b < = α1}, então (x; α) Q Ax b < = α1 max i I a i x b i < = α

Dualidade em Programação Linear 2 [Versão 25: 1 de dezembro de 25 ] 14 56 Referências 1 DBertsimas e JNTsitsiklis, Introduction to Linear Optimization, Athena Scientific, EUA, 1997 2 OLMangasarian, Non linear programming, McGraw-Hill, EUA, 1969