A Dualidade em Programação Linear

Documentos relacionados
O Problema de Transportes

Investigação Operacional

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

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

CAPÍTULO 4. Teoria da Dualidade

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

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

X - D U A L I D A D E

Combinando inequações lineares

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

PESQUISA OPERACIONAL I

Professor João Soares 20 de Setembro de 2004

Combinando inequações lineares

II. Programação Linear (PL)

Pesquisa Operacional

Índice. Prefácio Os modelos de programação linear e a investigação operacional 17

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

Programação Matemática Licenciatura em Matemática

INSTITUTO POLITÉCNICO DE SETÚBAL ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE MATEMÁTICA INVESTIGAÇÃO OPERACIONAL

Programação Linear. Dualidade

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

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

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

2º Semestre 2002/2003 Problemas Resolvidos

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

CAPÍTULO 3. Método Simplex

INSTITUTO POLITÉCNICO DE SETÚBAL ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE MATEMÁTICA INVESTIGAÇÃO OPERACIONAL

Investigação Operacional

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

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

IX - A N Á L I S E D E S E N S I B I L I D A D E

Teoremas de dualidade

Joaquim J. Júdice. Pedro C. Martins. Marta M. B. Pascoal. Jorge P. Santos

Dualidade - Definições

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios

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

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

Programação Linear - Parte 5

Vânio Correia Domingos Massala

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

Investigação Operacional

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

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

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

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

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

Método do Big M. Análise de Sensibilidade

Investigação Operacional

Investigação Operacional

Produto interno no espaço vectorial R n

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

sujeito a: 30x x (madeira) 5x x (horas de trabalho) x 1, x 2 0

Problemas de Transportes e de Afectação

4- Dualidade em Programação Linear

Investigação Operacional

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

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

Programação Linear - Parte 3

Optimização/Matemática II (Eco)

5 Análise de Sensibilidade

Métodos de Pesquisa Operacional

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

Investigação Operacional

Aula 07: Análise de sensibilidade (2)

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

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

Sistemas de equações lineares

Unidade: Modelo Simplex e Modelo Dual. Unidade I:

max z = 10x 1 + 4x 2 s.a x 1 + x x 1 + 4x x 1 + 6x 2 300

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana

DISCIPLINA: Investigação Operacional ANO LECTIVO 2009/2010

Uma Introdução à Programação Linear

Prof.: Eduardo Uchoa.

O Método Simplex para

Programação Linear. Rosa Canelas 2010

Capítulo 3. O Método Primal Simplex

Investigação Operacional 2004/05 2º Mini-teste. 26 de Novembro, 9:00h 10:30h. Sem consulta, sem máquina de calcular Justifique todas as respostas

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

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

Problemas de Fluxo em Redes

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

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

Análise e Síntese de Algoritmos. Programação Linear CLRS, Cap. 29

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

Problemas em Programação Linear Resolução e Análise de Sensibilidade

Programação Matemática Lista 3

ALGA - Eng. Civil e Eng. Topográ ca - ISE /11 - Geometria Analítica 88. Geometria Analítica

Sistemas de Equações Lineares e Equações Vectoriais Aula 2 Álgebra Linear Pedro A. Santos

1. INTRODUÇÃO. FAAP Faculdade de Administração

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

Pesquisa Operacional. Prof. José Luiz

Problemas de Fluxos em Redes

Programação Linear/Inteira

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

Transcrição:

Investigação Operacional- 2009/10 - Programas Lineares 14 A Dualidade em Programação Linear Para melhor ilustrar este conceito vamos estudar dois problemas intimamente relacionadas: o problema da dona de casa que quer alimentar a sua família da forma mais económica possível, tendo o cuidado de incluir na alimentação quantidades adequadas de vitaminas A e C e, por outro lado, o problema do fabricante de comprimidos de vitaminas que quer convencer a dona de casa a comprar os seus comprimidos em vez de se preocupar com a qualidade da alimentação. Primeiro problema: Uma dona de casa está a tentar gastar o mínimo possível para, com 6 alimentos básicos, obter os mínimos de vitamina A e C necessários por dia. A composição dos alimentos em termos destas vitaminas, assim como os seus custos por quilo estão resumidos no quadro seguinte: N o de unidades de vitamina por KG requisitos Alimento 1 2 3 4 5 6 míninos Vitamina A 1 0 2 2 1 2 9 Vitamina C 0 1 3 1 3 2 19 custo/kg 35 30 60 50 27 22 A dona de casa vai comprar quantidades de alimentos necessários para suprir os mínimos diários de vitamina A e C ao menor preço possível. As variáveis de decisão deste problema vão ser as quantidades de alimentos a adquirir. Seja x i a quantidade do alimento i. Obtém-se o seguinte PL: Min z = 35x 1 + 30x 2 + 60x 3 + 50x 4 + 27x 5 + 22x 6 s. a. x 1 + 2x 3 + 2x 4 + x 5 + 2x 6 9 x 2 + 3x 3 + x 4 + 3x 5 + 2x 6 19 x 1 0; x 2 0; x 3 0; x 4 0; x 5 0; x 6 0 Segundo problema Por sua vez, o fabricante de vitaminas vai convencer a dona de casa a comprar as suas pastilhas em vez dos alimentos. Como a dona de casa é muito económica ele tem que a convencer que as pastilhas são mais baratas que os alimentos. Seja y 1 o preço duma unidade de vitamina A em forma de pílula e y 2 o preço de uma unidade de vitamina C em forma de pílula. Como, por exemplo, o alimento 5 fornece 1 unidade de vitamina A e 3 de vitamina C e custa 27 u.m. então deve ser y 1 + 3y 2 27. E o mesmo se deve passar com os outros alimentos. Como a dona de casa só vai comprar as pastilhas necessárias aos requisitos mínimos diários de vitaminas, as vendas serão: v(y) = 9y 1 + 19y 2. Está será a função objectivo do ponto de vista do vendedor que quer maximizar as suas vendas.

Investigação Operacional- 2009/10 - Programas Lineares 15 Obtém-se o seguinte PL para formalizar o problema do vendedor de pastilhas: Max v(y) = 9y 1 + 19y 2 s. a. y 1 35 y 2 30 2y 1 + 3y 2 60 2y 1 + y 2 50 y 1 + 3y 2 27 2y 1 + 2y 2 22 y 1 0; y 2 0 Temos assim dois problemas que se articulam do seguinte modo: Min z = c T x Max v = b T y s. a. Ax b s. a. A T y c x 0 y 0 A um dos problemas chama-se primal e ao outro dual. Diz-se que os dois problemas são duais ou que os problemas são duais um do outro. Vamos agora resolver ambos os problemas para vermos se encontramos alguma relação entre as soluções. Primeiro Problema Inserindo variáveis de afastamento, pode-se escrever o quadro inicial: x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 1 9 1 0 2 2 1 2 1 0 x 2 19 0 1 3 1 3 2 0 1 z 35 30 60 50 27 22 0 0 Antes de começar é necessário escrever a função objectivo só à custa das variáveis não básicas, ou seja, anular os valores correspondentes a x 1 e x 2 na última linha: x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 1 9 1 0 2 2 1 2 1 0 x 2 19 0 1 3 1 3 2 0 1 z 885 0 0 100 50 98 108 35 30 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 6 9=2 1=2 0 1 1 1=2 1 1=2 0 x 2 10 1 1 1 1 2 0 1 1 z 399 54 0 8 58 44 0 19 30

Investigação Operacional- 2009/10 - Programas Lineares 16 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 6 2 3=4 1=4 3=4 5=4 0 1 3=4 1=4 x 5 5 1=2 1=2 1=2 1=2 1 0 1=2 1=2 z 179 32 22 30 36 0 0 3 8 Temos então a solução do problema: x 1 = x 2 = x 3 = x 4 = 0; x 5 = 5; x 6 = 2 a que corresponde um valor para z de 179. Ou seja, a dieta mais económica deve incluir 5 Kg do alimento 5 e 2 Kg do alimento 6 a um custo de 179 unidades monetárias. Segundo Problema Como temos um problema só com duas variáveis podemos resolvê-lo gra camente: Solução: y 1 = 3; y 2 = 8 a que corresponde um valor para v = 179: Ou seja o preço de cada unidade de vitamina A deve ser 3 unidades monetárias e o preço de cada unidade monetária de vitamina C deve ser de 8 unidades monetárias, a que corresponderá um volume de vendas de 179 unidades monetárias. Neste exemplo conbstata-se que o valor da função objectivo é igual para as soluções óptimas de ambos os problemas. Como veremos mais à frente, esta é uma característica que se veri ca sempre que resolvem pares de problemas duais com solução.

Investigação Operacional- 2009/10 - Programas Lineares 17 Regras para escrever o dual Pôr o problema na forma de um dos anteriores. - Se a função objectivo for minimizada as restrições devem ser de maior ou igual; - Se a função objectivo for maximizada as restrições devem ser de menor ou igual; De notar que a cada coluna da matriz A corresponde uma variável no primal. Como no dual trabalhamos com A T, as colunas passam a linhas e a cada linha corresponde uma restrição. Pode-se então dizer que: A cada restrição do primal corresponde uma variável do dual e a cada variável do primal corresponde uma restrição do dual. Como a cada restrição de desigualdade por sua vez corresponde uma variável de afastamento, então ode-se dizer que a cada variável do primal corresponde uma variável de afstamento do dual e a cada variável do dual corresponde uma variável de afastamento do primal. Se tivermos uma restrição de igualdade ela pode ser desdobrada em duas desigualdades (a = b () (a b ^ a b) () (a b ^ a b)) : Passando ao dual depois de fazer esta transformação veri ca-se que a variável correspondente a uma restrição de igualdade é sem restrição de sinal. Do mesmo modo, se uma variável for sem restrição de sinal a restrição correspondente será de igualdade. Propriedades dos problemas duais PRIMAL DUAL Min z = c T x Max v = bt y s. a Ax b s. a A T y c x 0 y 0 1. O dual do dual é o primal. 2. Seja x uma solução admissível do primal e y uma solução admissível do dual. Então: z(x) v(y) Demonstração: (Ax b ^ y 0) =) y T Ax y T b ^ y T A c T =) y T Ax y T x =) y T b c T x =) z(x) v(y) 3. O valor da f. o. do primal é um limite superior para o óptimo da f. o. do dual.

Investigação Operacional- 2009/10 - Programas Lineares 18 4. O valor da f. o. do dual é um limite inferior para o óptimo da f.o. do primal. 5. Se o primal é ilimitado inferiormente não existe nenhum limite inferior para a f. o. e por isso o dual não tem solução admissível. 6. Se o dual é ilimitado superiormente não existe limite superior para o valor da f. o. e por isso o primal não tem solução admissível 7. Se um dos problemas não tem solução admissível, o outro só é ilimitado se tiver alguma solução admissível, quer isto dizer que podem ambos os problemas não ter solução admissível. 8. Se z(x) é solução admissível do primal e v(y) é solução admissível do dual e z(x) = v(y) então x é solução óptima do primal e y é solução óptima do dual. Demonstração: z(x) v(y) para todo o x que seja solução admissível do primal. Por hipótese z(x) = v(y) logo z(x) z(x) para todo o x que seja solução admissível do primal. Então x é solução óptima do primal. Do mesmo modo se mostra que y é solução óptima do dual. 9. Num par de problemas primal-dual se um deles tem uma solução óptima o outro também tem e, além disso, os valores das f.o. são iguais. Demonstração: Seja A uma matrix m n. Suponhamos que o primal tem uma solução óptima admissível. Seja B a base associada ao vector x I. O vector dos custos actualizados é dado por c T = c T c T I B 1 A 0 ( porque o problema é de minimizar). Ou seja c T I B 1 A c. Além disso a função objectico vale c T I B 1 b. De nindo y T = c T I B 1 temos que y T A c e v(y) = y T b = c T I B 1 b = f. o. primal. Pelo número anterior então y é solução óptima do dual. Considere-se o problema primal: Minimizar z(x) = sujeito a c T I x I + c T J x J Bx I + Dx J = b x I 0; x J 0 O seu dual pode ser escrito: Maximizar v(y) = sujeito a y T b y T B c T I y T D c T J y sem restrição

Investigação Operacional- 2009/10 - Programas Lineares 19 A solução básica do primal correspondente à base B é dada por: x J = 0 e x I = B 1 b e esta base corresponde a uma solução admissível se e só se x I = B 1 b 0. A solução do dual correspondente à base B é dada por y T = c T I B 1 y T B = c T I e é solução admissível se satis zer as outras restrições, isto é se y T D c T J. Ou seja, se ct J c T I B 1 D 0, o que representa a condição de optimalidade do primal. Isto é, a qualquer solução admissível do primal, que não seja óptima, corresponde uma solução não admissível para o dual. Se a uma solução admissível do primal corresponder uma solução também admissível para o dual, então são ambas óptimas. Para este problema primal os custos actualizados em cada iteração são dados por: c T = c T c T I B 1 A = c T y T A. Ou seja cada componenete do vector c pode ser calculada do seguinte modo: c j = c j c T I B 1 A :j em que A :j reperesenta a coluna j da matriz A. Então os custos actualizados do problema primal são os valores das variáveis de afastamento do problema dual. Estes valores são designados por preços sombra das actividades do primal. TEOREMA DO EQUILÍBRIO (OU DA COMPLEMENTARIDADE) Um par de soluções admissíveis para os problemas primal-dual são óptimas se e só se as variáveis de afastamento do primal positivas correspondem a variáveis do dual nulas. Demonstração: Considere-se novamente o par de problemas primal-dual na forma: PRIMAL DUAL Min z = c T x Max v = bt y s. a Ax b s. a A T y c x 0 y 0 A variável do dual y i está associada à restrição do primal A i: x b i, à qual se associa a variável de afastamento u i = A i: x b i. Por outro lado, a variável x j do primal está associada à restrição do dual y T A :j c j à qual se associa a variável de afastamento w j = c j y T A :j. Sejam x e y um par de soluções admissíveis para os problemas primal e dual. Então, u = Ax b e w T = c T y T A são os vectores das variáveis de afastamento correspondentes. O teorema diz que: (u i = A i: x b i > 0 =) y i = 0) ^ w j = c j y T A :j > 0 =) x j = 0 ou, escrevendo de outro modo: u i y i = (A i: x b i )y i = 0 ^ w j x j = (c j y T A :j )x j = 0 para i = 1; :::; m e j = 1; :::; n:

X yi A i: x = X y i b i X xj (ya i: ) = X x j c j X yi b i = X x j c j Investigação Operacional- 2009/10 - Programas Lineares 20 Como se trata de soluções admissíveis sabe-se que A i: x b i e y i 0. Pode então multiplicarse ambos os membros da 1 a desigualdade por y i vindo y i A i: x y i b i, mas por hipótese veri ca-se o sinal de igualdade. Somando para todos os i virá : De modo análogo se conclui ser: Mas. X yi A i: x = X x j (ya i: ) Então, e, por isso, x e y são soluções óptimas dos respectivos problemas. Reciprocamente, como c T x = b T y = y T Ax, vem que c T x y T Ax = 0 donde P c j y T A :j xj = 0, mas, como se trata de uma soma de parcelas não negativas, todas elas terão de ser nulas, isto é, para cada j, c j y T A :j = 0 =) x j = 0. E do mesmo modo para as variáveis do dual. MÉTODO SIMPLEX DUAL Considere-se o PL: Minimizar z(x) = sujeito a c T x Ax = b x 0 Seja B uma base. B é uma base admissível para o primal se B 1 b 0 e é admissível para o dual se c c T I B 1 A 0 e é uma base óptima se ambos se realizarem. O método simplex começa com uma base admissível para o primal e percorre sempre soluções admissíveis correspondentes a vértices da região admissível até atingir o critério do óptimo (dual admissível). O método simplex-dual começa com uma solução admissível para o dual e percorre sempre soluções admissíveis adjacentes para o dual mas não admissíveis para o primal terminando quando atinge uma solução admissível para o primal que é a óptima. Cada iteração deste algoritmo reduz o número de inadmissibilidades do primal, mantendo a admissibilidade do dual.

Investigação Operacional- 2009/10 - Programas Lineares 21 ALGORITMO 1. Escolher uma linha tal que b r < 0 ( variável a sair da base); Se todos os b r 0, termina. c s cj 2. Escolher o pivot a rs tal que = min : a rj < 0 a rs a rj Esta escolha tem o objectivo de manter todos os custos do primal não negativos ou seja manter o problema dual admissível. Se todos os a rj 0, o problema não tem solução. 3. Efectuar a pivotagem. 4. Voltar a 1.