Professor João Soares 20 de Setembro de 2004

Documentos relacionados
Combinando inequações lineares

Teoremas de dualidade

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

Programação Linear - Parte 5

Lema de Farkas e desigualdades lineares

Combinando inequações lineares

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

Lista 1: sistemas de equações lineares; matrizes.

Álgebra Linear e Geometria Anaĺıtica. Matrizes e Sistemas de Equações Lineares

Aulas práticas de Álgebra Linear

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

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

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

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

Notas para o Curso de Algebra Linear Il Dayse Haime Pastore 20 de fevereiro de 2009

Álgebra Linear. Determinantes, Valores e Vectores Próprios. Jorge Orestes Cerdeira Instituto Superior de Agronomia

Renato Martins Assunção

Programação Linear. Dualidade

Valores e vectores próprios

Aulas práticas de Álgebra Linear

Representação de poliedros

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

ficha 1 matrizes e sistemas de equações lineares

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

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

Vetores e Geometria Analítica

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

1 NOTAS DE AULA FFCLRP-USP - VETORES E GEOMETRIA ANALÍTICA. Professor Doutor: Jair Silvério dos Santos

CAPÍTULO 4. Teoria da Dualidade

Álgebra Linear. Cursos: Química, Engenharia Química, Engenharia de Materiais,Engenharia Biológica, Engenharia do Ambiente 1 ō ano/1 ō Semestre 2006/07

Álgebra Linear Semana 04

Unicidade da Forma Escalonada Reduzida de uma Matriz

Matemática I. Capítulo 3 Matrizes e sistemas de equações lineares

Álgebra Linear. Curso: Engenharia Electrotécnica e de Computadores 1 ō ano/1 ō S 2006/07

Pesquisa Operacional

ÁLGEBRA LINEAR SISTEMAS DE EQUAÇÕES LINEARES

A Dualidade em Programação Linear

Os Quatro Subespaços Fundamentais

X - D U A L I D A D E

Matrizes e sistemas de equações algébricas lineares

1. Conhecendo-se somente os produtos AB e AC, calcule A = X 2 = 2X. 3. Mostre que se A e B são matrizes que comutam com a matriz M = 1 0

Lista de Exercícios 05 Álgebra Matricial

2 Sistemas de Equações Lineares

Álgebra Linear e Geometria Analítica

1 a Lista de Exercícios MAT 3211 Álgebra Linear Prof. Vyacheslav Futorny

Investigação Operacional

ALGA I. Representação matricial das aplicações lineares

Inversão de Matrizes

Álgebra Linear e Geometria Anaĺıtica. Espaços Vetoriais Reais

ÁLGEBRA LINEAR AULA 2

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:

a = bq + r e 0 r < b.

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

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 AOS MÉTODOS NUMÉRICOS. Solução de Sistemas Lineares

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

Avaliação e programa de Álgebra Linear

MAT Resumo Teórico e Lista de

Otimização Combinatória - Parte 4

SISTEMAS LINEARES PROF. EDÉZIO

Métodos Numéricos - Notas de Aula

Cálculo Diferencial e Integral I

(2008/2009) Espaços vectoriais. Matemática 1º Ano - 1º Semestre 2008/2009. Mafalda Johannsen

Investigação Operacional

Nota importante: U é a matriz condensada obtida no processo de condensação da matriz

Matrizes e Sistemas Lineares

Investigação Operacional

Convergência em espaços normados

exercícios de álgebra linear 2016

Aula 10. variáveis; a resultante fatoração única em Z[x]

Sistemas de equações lineares

Seja f um endomorfismo de um espaço vectorial E de dimensão finita.

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

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

Optimização Matemática

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

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

Cones e raios extremos

Consideremos um sistema linear de n equações lineares e n incógnitas, do tipo:

Matemática II /06 - Matrizes 1. Matrizes

PROGRAMA ÁLGEBRA LINEAR, MEEC (AL-10) Aula teórica 32

apontamentos Álgebra Linear aulas teóricas Mestrado Integrado em Engenharia Mecânica, 1 o semestre 2012/13

Aula 07: Análise de sensibilidade (2)

ALGA I. Bases, coordenadas e dimensão

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

x 1 + b a 2 a 2 : declive da recta ;

Métodos Matemáticos II

Existência e otimalidade de pontos extremos

Introduzir os conceitos de base e dimensão de um espaço vetorial. distinguir entre espaços vetoriais de dimensão fnita e infinita;

Álgebra Linear Semana 05

Inversão de Matrizes

Primeira Lista de Exercícios

1 Auto vetores e autovalores

4- Dualidade em Programação Linear

3. Matrizes e Sistemas de Equações Lineares 3.1. Conceito Elementar de Matriz. Definição 1 Sejam m e n dois números naturais.

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

Métodos Numéricos. MEI - Logística e distribuição Optimização não linear com restrições de igualdade 2004/2005

Otimização Aplicada à Engenharia de Processos

Transcrição:

Teoria de Optimização (Mestrado em Matemática) Texto de Apoio 2A Universidade de Coimbra 57 páginas Professor João Soares 20 de Setembro de 2004 Optimização Linear Considere o problema (1) abaixo, que é um exemplo de um problema de programação linear: maximizar 2x 1 +3x 2 2x 1 +x 2 10 x 1 +x 2 6 x 1 +x 2 4 x 1, x 2 0 Este problema consiste em optimizar (isto é, maximizar ou minimizar) uma função linear sujeita a restrições lineares. Requere-se ainda que o número de restrições seja finito, e que cada restrição seja uma equação ou uma inequação (não estrita). Fixemos alguma terminologia. A função a ser optimizada é denominada por função objectivo. As equações e inequações que devem ser satisfeitas formam as restrições. Uma solução admissível (ou ponto admissível) é um ponto que satisfaz todas as restrições. A região admissível é o conjunto de todas as soluções admissíveis. Uma solução óptima de um problema de maximização é uma solução admissível x tal que cx cx, para toda a solução admissível x (reverte-se a desigualdade para problemas de minimização). existir solução óptima, o correspondente valor da função objectivo é denominado por valor óptimo. Dado que o problema (1) possui apenas duas variáveis, podemos representá-lo geometricamente; veja-se a Figura 1. A região admissível é representada pelo pentágono e seu interior. Pretende-se encontrar a linha 2x 1 + 3x 2 = α onde α é o maior possível e de forma que essa linha intersecte a região admissível. Como se pode observar, o valor óptimo é 17 e a solução óptima é (x 1, x 2 ) = (1, 5). (1) Se Um problema diz-se inadmissível se não possui qualquer solução admissível. Não é 1

Figura 1: Representação geométrica do problema (1). difícil verificar que o problema maximizar x 1 + x 2 2x 1 3x 2 3 x 1 + x 2 1 x 1 + 3x 2 1 x 1, x 2 0 (2) é inadmissível. Obviamente, um problema inadmissível não possui solução óptima. O exemplo seguinte ilustra uma outra situação em que um problema também não possui solução óptima: maximizar x 1 + 2x 2 x 1 x 2 2 x 1 + x 2 2 x 1 2x 2 2 x 1, x 2 0 O problema (3) não é inadmissível, porque, por exemplo, (x 1, x 2 ) = (1, 1) é uma solução admissível. Contudo, o ponto (2 + 2α, α) é uma solução admissível para todo escalar α 0 e o correspondente valor na função objectivo é 2 + 4α que tende para + com α. Por isso, existem soluções admissíveis com valores na função objectivo arbitrariamente grandes. Um tal problema de programação linear diz-se ilimitado (para problemas de minimização podemos substituir grande por pequeno na definição). Note-se que se um problema de programação linear é ilimitado então a sua região admissível não é um conjunto limitado. O recíproco não é verdade. 2 (3)

Em geral, consideraremos problemas de programação linear descritos na seguinte forma: n maximizar c j x j j=1 n (4) a ij x j b i (i = 1, 2,..., m) j=1 x j 0 (j = 1, 2,..., n) ou, de forma equivalente, maximizar cx Ax b x 0, onde A = [a ij ] é uma matriz m n, b = [b i ] é um vector coluna com m componentes, c = [c j ] é um vector linha com n componentes, e x = (x 1, x 2,..., x n ). Diremos que tais problemas estão na forma padrão. Não é difícil transformar qualquer problema de programação linear num outro que esteja na forma padrão. Eis algumas questões fundamentais acerca do problema de programação linear (4): O problema é inadmissível? (5) O problema é ilimitado? (6) O problema possui solução óptima? (7) Deduziremos condições necessárias e suficientes para responder a cada uma destas questões. Em particular, mostraremos que cada problema de programação linear possui uma e uma só resposta afirmativa a todas essas questões. Note-se que a resposta a (5) não depende da função objectivo. De facto, é uma questão sobre a solvabilidade de um sistema de inequações lineares. Mostraremos que as outras questões também podem ser reduzidas a uma questão sobre a solvabilidade de um certo sistema de inequações lineares. Exercícios: 1. Mostre como pode reescrever qualquer problema de programação linear num que esteja na forma padrão. Pode necessitar aumentar o número de variáveis e restrições. 3

2. Suponha que existe d R n tal que Ad 0, d 0, cd > 0. Mostre que se (4) possuir pelo menos uma solução admissível então o problema é ilimitado. 3. Suponha que o conjunto F = {x R n : Ax = b, x 0} é não vazio. Prove que, se F é ilimitado então existe d R n tal que Ad = 0, d 0 e d 0. 4. Mostre que para o problema não linear min{e x : x 0} nenhuma das respostas a (5), (6) ou (7) é afirmativa. 5. Suponha que um novo problema é construído a partir de (4) por adição de uma restrição px α. Mostre que, se x for solução óptima do problema original e x ainda for solução admissível para o novo problema então x é solução óptima para o novo problema. 6. Converta o seguinte problema linear à forma max{cx: Ax = b, x 0}: maximizar 2x 1 + x 2 + x 3 x 1 + x 2 + x 3 2, x 1 x 2 = 1, x 1 x 3 2, x 1, x 3 0. 7. Converta o seguinte problema linear à forma max{cx: Ax b}: maximizar 3x 1 x 2 + 3x 3 x 1 + 2x 3 = 4, x 1 + x 2 1, x 2 0, 1 x 3 2. 8. Seja t um parâmtro real e considere-se o seguinte problema de programação linear: maximizar 2x 1 + x 2 x 1 x 2 1, x 1 + tx 2 0, x 1, x 2 0. (a). Seja T o conjunto de valores para t que conduzem a um problema com pelo menos uma solução admissível. Use geometria para descobrir T. (b). Forneça uma prova algébrica de que o problema é admissível se t T. (c). Forneça uma prova algébrica de que o problema é inadmissível se t T. (d). Seja S o conjunto de valores para t que conduzem a um problema ilimitado. Use geometria para descobrir S. (e). Forneça uma prova algébrica de que o problema é ilimitado se t S. 4

9. Seja A uma matriz m n, B uma matriz m m invertível, c um vector 1 n, d um vector 1 m e b um vector m 1. Considere o problema linear max s.a (a). Pode este problema ser inadmissível? cx + du Ax + Bu = b x 0. (8) (b). Que condições impostas em A, B, b, c, d garantem que (8) possui solução óptima? e ilimitado? 1 Introdução à Dualidade Suponha que dispõe de uma solução admissível x para o problema de programação linear (4) e que o seu chefe lhe pergunta se x é solução óptima. Suponha que sabe a resposta a essa questão, porque é um adivinho ou porque tem trabalhado há semanas na resolução desse problema. Mas, pretende convencer o seu chefe de que a sua resposta está correcta (e o seu chefe não é adivinho, e tem andado demasiado ocupado para trabalhar nesse problema). Se a sua resposta for negativa, existe uma maneira fácil de verificar a resposta - mostre ao seu chefe uma solução melhor. Se a resposta for afirmativa, seria bom que existisse uma maneira fácil de verificar que toda a solução admissível para (4) possui valor da função objectivo não superior a cx. Isto sugere a ideia de descobrir limites superiores para o valor máximo da função objectivo. Existe uma maneira simples de fazer isso, que vamos ilustrar com o problema (1). Adicione.5 vezes a primeira restrição, 2 vezes a segunda restrição, e.5 vezes a terceira restrição. O resultado é a desigualdade 2.5x 1 + 3x 2 19 que deve ser satisfeita por toda a solução admissível. Agora, como x 1 0 então 2x 1 + 3x 2 19 deve ser satisfeita por toda a solução admissível, donde se conclui que 19 é um limite superior ao valor da função objectivo em qualquer solução admissível. Para o problema geral (4), a técnica é multiplicar cada inequação n j=1 a ijx j b i por um escalar não negativo y i e somar tudo, de forma que a inequação resultante n j=1 d jx j d 0 satisfaça d j c j, para todo j = 1, 2,..., n. 5

Então d 0 é um limite superior ao valor de n j=1 c jx j. Em suma, as condições que devem ser satisfeitas pelos números y 1, y 2,..., y m são m a ij y i c j (j = 1, 2,..., n) i=1 y i 0 (i = 1, 2,..., m) para que o valor do limite superior seja m i=1 b iy i. O melhor limite superior é na verdade o menor deles todos. Por isso, o problema de encontrar o melhor limite superior pode ser formulado como sendo minimizar m b i y i i=1 m a ij y i c j (j = 1, 2,..., n) i=1 que também pode ser escrito na forma matricial y i 0 (i = 1, 2,..., m) (9) minimizar yb ya c y 0. Note-se que o problema de descobrir o melhor limite superior para o valor óptimo de (4) é novamente um problema de programação linear, a que vamos chamar o dual de (4). Como (4) também merece um nome vamos identificá-lo por primal. Note-se que os dois problemas são construídos a partir do mesmo conjunto de dados mas de maneiras diferentes. Em particular, cada restrição de um problema (distinta das restrições de não negatividade) corresponde a uma variável no outro. E a função objectivo de um corresponde ao termo independente do outro. O dual de (1) é minimizar 10y 1 + 6y 2 + 4y 3 2y 1 + y 2 y 3 2 y 1 + y 2 + y 3 3 y 1, y 2, y 3 0, e y 1 =.5, y 2 = 2, y 3 =.5 é uma solução admissível de (10). 6 (10)

Uma consequência da maneira como se construiu o dual é que o valor da função objectivo do dual em toda a sua solução admissível define um limite superior para o valor óptimo de (4). Isto é designado por dualidade fraca e abaixo se prova novamente. Teorema 1 (Teorema da Dualidade Fraca da Optimização Linear) Se x for uma solução admissível de (4) e y for uma solução admissível de (9) então cx y b. Prova: cx (y A)x = y (Ax ) y b. Note-se que a prova usa todas as restrições de ambos os problemas. Este resultado, de demonstração simples, possui várias consequências muito úteis. Corolário 1 Se x é solução admissível do problema primal (4), y é solução admissível do problema dual (9) e cx = y b então x é solução óptima do primal e y é solução óptima do dual. Prova: Como cx não pode ser maior que y b em qualquer solução admissível x, e como x alcança aquele limite superior então x é solução óptima. O mesmo argumento pode ser usado para y. Note-se que x = (1, 5) é uma solução admissível para (1) e que y = (0, 2.5,.5) é uma solução admissível para (10). Mais, cx = 17 = y b. Por isso, x é solução óptima para (1) e y é solução óptima para (10). Também podemos usar o Teorema da Dualidade Fraca quando um dos problemas é ilimitado. Corolário 2 Se o problema primal (4) for ilimitado então o problema dual (9) é inadmissível. Prova: Suponhamos que o problema dual possui uma solução admissível y. Então, toda a solução x admissível para o primal satisfaz cx y b, o que contradiz o facto do problema primal ser ilimitado. 7

Corolário 3 Se o problema dual (9) for ilimitado então o problema primal (4) é inadmissível. Prova: Semelhante à prova anterior. O Corolário 1 estabelece uma condição que se verificada numa solução x admissível para o primal permite afirmar que essa solução x é óptima. Isto é, o Corolário 1 fornece uma condição suficiente para que uma solução x admissível para o primal seja óptima. Será essa condição também necessária? A resposta a esta questão é afirmativa, embora menos óbvia. Esse resultado é conhecido como Dualidade Forte da Optimização Linear. Teorema 2 (Teorema da Dualidade Forte da Optimização Linear) Se o problema primal (4) possui uma solução óptima x então o problema dual (9) possui uma solução óptima y. Além disso, cx = y b. Este resultado é importante, e possui várias aplicações em optimização. É também uma espécie de protótipo - existem muitos resultados semelhantes que estabelecem que o máximo de uma coisa é igual ao mínimo de outra. O primeiro passo na demonstração do Teorema da Dualidade Forte da Optimização Linear é observar que se trata na verdade de um resultado acerca da solvabilidade de um certo sistema inequações lineares, nomeadamente, Ax b, x 0 ya c, y 0 cx yb (11) Claramente, se x e y satisfizerem (11) então, pelo Teorema da Dualidade Fraca da Optimização Linear, cx yb. Por isso, a última inequação em (11) é, na verdade, uma igualdade. Existem situações nas quais (11) é insolúvel, por exemplo, quando (4) é inadmissível. Precisamos caracterizar as situações em que (11) é solúvel. Para isso, precisamos estudar a solvabilidade de sistemas de inequações lineares. Exercícios: 10. Escreva o dual do problema (3) e verifique directamente que é inadmissível. 11. Escreva o dual do problema (2) e prove directamente que não possui solução óptima. 8

12. Suponha que x é uma solução óptima do problema primal (4) e y é uma solução óptima de (9). Suponha que a primeira restrição do problema primal é multiplicada por 3. Encontre soluções óptimas para o novo problema e o seu dual, e justifique a sua resposta. 13. Repita o exercício anterior para o problema que se obtém do problema primal (4) acrescentandolhe uma nova restrição, 3 vezes a primeira restrição somada à segunda restrição. 2 Sistemas de inequações lineares Nesta secção estabelecem-se condições necessárias e suficientes para que um sistema de inequações lineares Ax b possua solução. Primeiro, recordamos de forma breve condições análogas para um sistema de equações lineares Ax = b. O conhecido método de eliminação de Gauss termina com a obtenção de uma solução do sistema ou ou com a obtenção após operações elementares por linhas de uma equação 0x = α, com α 0. No segundo caso, Ax = b não possui solução porque qualquer solução do sistema também deve verificar aquela equação, o que é impossível. Como qualquer equação obtida após operações elementares por linhas de Ax = b pode ser escrita com uma combinação linear das linhas de Ax = b, tem-se a seguinte caracterização. Teorema 3 (Teorema da Solvabilidade de Sistemas de Equações Lineares) Um sistema de m equações lineares Ax = b possui solução se e só se não existe u R m tal que ua = 0, ub 0. Proporemos uma abordagem análoga para o sistema de inequações lineares Ax b. Teremos de usar diferentes regras para obter uma inequação à custa de outras, de forma que a nova inequação seja verificada em toda a solução das outras. A adição (e não a subtracção) de duas inequações, a multiplicação de uma inequação por um escalar positivo, são operações que preservam essa propriedade. Qualquer desigualdade obtida de Ax b por uma sequência de tais operações pode ser escrita como uma combinação linear das linhas de Ax b usando coeficientes (ou multiplicadores) não negativos. Como uma inequação 0x α, como α < 0, não possui solução, este procedimento sugere o seguinte resultado análogo ao Teorema 3. 9

Teorema 4 (Teorema da Solvabilidade de Sistemas de Inequações Lineares) Um sistema de m inequações lineares Ax b possui solução se e só se não existe u R m tal que ua = 0, u 0, ub < 0. Prova: Primeiro, observamos que a condição é necessária. Isto é uma consequência do facto de que os dois tipos de operações que descrevemos antes são legais, mas vamos proválo directamente. Suponhamos que u existe e que também existe uma solução x do sistema de inequações Ax b. Então, 0 = (ua) x = u(a x) ub < 0 o que é impossível e, por isso, a condição é necessária. A parte mais difícil é mostrar que se Ax b não possui solução então um tal vector u deve existir. Por outras palavras, precisamos obter uma inequação 0x α, com α < 0, de Ax b através de operações elementares do tipo que descrevemos antes. Mostraremos como isto se faz eliminando uma variável de cada vez começando com a componente x n. Primeiro, particiona-se o conjunto de índices {1, 2,..., m} em três conjuntos: I 1 {i: a in > 0}, I 2 {i: a in < 0}, I 3 {i: a in = 0}. Seja A x b o sistema de inequações nas variáveis x R n 1 que consiste nas inequações n 1 j=1 a ijx j b i, para todo i I 3, e nas inequações definidas do seguinte modo, para todo o par (k, l) I 1 I 2. a ln ( n j=1 a kj x j b k ) + a kn ( n j=1 a lj x j b l ) n 1 ( a ln a kj + a kn a lj ) x j ( a ln b k + a kn b l ) j=1 Duas observações decorrem desta construção: primeiro, em todas estas inequações o coeficiente de x n é zero pelo que podemos escrever o sistema em notação matricial A x b com x R n 1 envolvendo um total de I 1 I 2 + I 3 inequações; segundo, cada uma das linhas da matriz aumentada [A 0 b ] (onde 0 denota uma coluna de zeros) é uma combinação não negativa (ou cónica) das linhas da matriz aumentada [A b]. Como exemplo do 10