Programação Linear - PL EEL 6000 - Métodos Numéricos de Otimização Laboratório de Planejamento de Sistemas de Energia Elétrica Centro Tecnológico – Departamento.

Slides:



Advertisements
Apresentações semelhantes
Método Simplex Resolução Algébrica
Advertisements

Teorema Fundamental da Programação Linear
Prof. M.Sc. Fábio Francisco da Costa Fontes Outubro
Problemas de Forma Não-padrão
PARTIÇÃO DE BENDERS Secundino Soares Filho Unicamp.
SIMPLEX ANÁLISE COMPLETA ANDERSON BESTETTI 1, EDUARDO RIGHES 1, EVERTON FONTOURA 2, GUILHERME LAZZARI 3, RODRIGO SCHRAMM 3, ROGERIO MARTINS 4 1 {anderson.bestetti,
Solução Básica Factível e Método Simplex Introdução ao Método Simplex Fase I e Fase II.
Método Simplex Tópicos em Otimização
Otimização Numérica de Processos
Pesquisa Operacional MUROLO ENGENHARIA DE PRODUÇÃO
Capitulo 8: Dualidade O que é um modelo Dual?
Problemas de Forma Não-Padrão
Dualidade UFOP - ICEA Prof.: Guido Pantuza.
Análise e Síntese de Algoritmos
Prof. Geraldo Nunes Silva
Pesquisa Operacional:
PROFESSOR: CÉZAR AUGUSTO PEREIRA DOS SANTOS 1.
INTRODUÇÃO À PESQUISA OPERACIONAL ** Programação Linear – Parte 1 ** Profa. Vitória Pureza 2º Semestre.
BUSCA LOCAL Estéfane G. M. de Lacerda UFRN/DCA Setembro de 2006.
Universidade Federal de Campina Grande – UFCG Centro de Ciências e Tecnologias – CCT Unidade Acadêmica de Engenharia Química - UAEQ Universidade Federal.
Pesquisa Operacional Livro: Introdução à Pesquisa Operacional
Matemática Básica Gráficos de Funções Reais. Como construir um Gráfico y x y = f(x) x3x3 y 3 x 2 x4x4 x 1 x 5 y4y4 y2y2 y1y1 y5y5 xy = f(x) x1x1 y1y1.
Problemas envolvendo otimização de processos Prof. Félix Monteiro Pereira.
Universidade Federal de Campina Grande – UFCG Centro de Ciências e Tecnologias – CCT Unidade Acadêmica de Engenharia Química - UAEQ Universidade Federal.
Tópicos Especiais em Computação I
Conceitos Básicos Prof.: Nivaldo T. Schiefler Jr. / Edson H. Watanabe
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA PROJETO PIBEG Unidade IV Interpolação Polinomial.
2.1. Pesquisa Operacional Técnica de Solução Para Modelos De Programação Linear Com Duas Variáveis De Decisão – Método Gráfico.
Tópicos Especiais em Computação I
Programação Não Linear
Universidade Federal do Rio de Janeiro
Tópicos Especiais em Computação I
Matemática Função afim Professor Rivelino Andrade.
Sinais e Sistemas Aula 1 - Revisão
FUNÇÃO DE 1º GRAU FORMA GERAL: f(x) = ax + b y = ax + b ou
Programação Não Linear
Adm.Industrial P.O. Aula 05 Programação Linear Rafael Ferrara.
7ª aula PROBLEMA DE ATRIBUIÇÃO UNIDADE 6
Universidade Federal do Rio de Janeiro
Modelagem para Otimização:Aula 2
INTRODUÇÃO À PESQUISA OPERACIONAL ** Programação Linear – Parte 2 **
Sistemas de Controle III N8SC3
Matemática Básica Polinômios.
Sistemas de Controle III N8SC3
Resolução de PLs O método de enumeração de soluções básicas é muito ineficiente. O número de possíveis bases pode ser enorme Para encontrar a solução associada.
3ª aula RESOLUÇÃO PELO MÉTODO GRÁFICO UNIDADE 3
AVALIAÇÃO DA CAPACIDADE DO PROCESSO
FEUP/LEEC Algoritmos e Estruturas de Dados 2001/2002
ÁLGEBRA LINEAR INDEPENDÊNCIA E DEPENDÊNCIA LINEAR (LI e LD)
Análise de sensibilidade
Combinando inequações lineares
Algoritmos de Redes Rota mais curta Árvore de ramificação mínima
Introdução à análise combinatória
Algoritmos e Programação I
Método Simplex Montar um dicionário inicial
2ª Aula: Programação Linear
Zeros de funções.
1 Modelagem Matemática de Sistemas Dinâmicos 3.9. Gráfico de Fluxo de Sinais Linearização de Modelos Prof. André Marcato Livro Texto: Engenharia.
              Investigação Operacional Métodos de Programação Linear: Big M, 2 Fases, S Dual (Mestrado) Engenharia Industrial
Função afim: a função geral de 1º grau Módulo 11
Modelagem Matemática de Sistemas Dinâmicos. 3. 9
Turma E1 – Profa. Ana Maria Luz F. do Amaral
Dualidade Em Programação Linear.
Taxa de variação - Reta tangente - Derivada
Programação Dinâmica (PD)
Programação Linear método simplex
Álgebra Linear Sistemas de Equações Lineares
Universidade Federal do Rio de Janeiro
Determinantes e Sistemas Lineares
PESQUISA OPERACIONAL.
Transcrição da apresentação:

Programação Linear - PL EEL Métodos Numéricos de Otimização Laboratório de Planejamento de Sistemas de Energia Elétrica Centro Tecnológico – Departamento de Engenharia Elétrica Tel. +55 (48) /9933 – Fax +55 (48) Homepage: htto:// Prof.: Edson Luiz da Silva, D. Eng.

Técnicas para a Operação de SEE 2 2EEL6000 – Métodos Numéricos de Otimização Conteúdo Definição e Formulação de um PL Geometria do PL e definições Pivotamento Método Simplex Otimalidade e Dualidade Multiplicador Simplex ou Preço Sombra

Técnicas para a Operação de SEE 3 3EEL6000 – Métodos Numéricos de Otimização Programação Linear Definição de um PL

Técnicas para a Operação de SEE 4 4EEL6000 – Métodos Numéricos de Otimização Forma Padronizada Estrutura Função Objetivo Linear Restrições Lineares de Igualdade c e x, vetores em b, vetor em A, matriz m x n ( n>m ) Se n = m  Sistema Linear (não é PL) Conversão das Restrições de Desigualdade em de Igualdade

Técnicas para a Operação de SEE 5 5EEL6000 – Métodos Numéricos de Otimização Formulação de um PL Uma fábrica de copos deseja maximizar os seus lucros produzindo copos de suco, coquetel e champagne. O gerente de produção tem as seguintes informações*: CopoLucro UnitárioTempo requerido para produção Armazenamento Requerido Suco5610 Coquetel4,5520 Champagne6810 * Todas as informações referem-se a centena de unidades

Técnicas para a Operação de SEE 6 6EEL6000 – Métodos Numéricos de Otimização Formulação de um PL Adicionalmente, o gerente sabe que a capacidade de produção semanal é limitada em 60 horas, a capacidade de armazenamento é limitada em 150 unidades e a demanda semanal por copos de suco não ultrapassa 8 unidades. Auxilie o gerente, formulando o PL adequado.

Técnicas para a Operação de SEE 7 7EEL6000 – Métodos Numéricos de Otimização Geometria do PL

Técnicas para a Operação de SEE 8 8EEL6000 – Métodos Numéricos de Otimização Geometria do PL Exemplo Solução Geométrica de um PL z=0 → x 2 = -1/3 x 1 z=1 → x 2 = -1/3 x 1 +1/3 z=2 → x 2 = -1/3 x 1 +2/3 z=3 → x 2 = -1/3 x 1 +1 z=4 → x 2 = -1/3 x 1 +4/3 z=5 → x 2 = -1/3 x 1 +5/3 Variando z = 1 a 5: Solução ótima limitada Se z = 2x 1 + 2x 2 temos múltiplas soluções Z = 4

Técnicas para a Operação de SEE 9 9EEL6000 – Métodos Numéricos de Otimização Solução Ilimitada

Técnicas para a Operação de SEE 10 10EEL6000 – Métodos Numéricos de Otimização Solução Inviável Exemplo solução inviável (1,-1) x 1, x 2 > 0

Técnicas para a Operação de SEE 11 11EEL6000 – Métodos Numéricos de Otimização Busca Exaustiva pelos Vértices Exemplo 4 soluções básicas viáveis (vértices) * * * * (0, 0) → z = 0 (0, 1) → z = 3 (0.5, 1.5) → z = 5 (2, 0) → z = 2

Técnicas para a Operação de SEE 12 12EEL6000 – Métodos Numéricos de Otimização Conjunto Viável O conjunto viável é definido pelas restrições lineares formando um “politopo” As soluções viáveis (*) encontram-se nos vértices do “politopo”

Técnicas para a Operação de SEE 13 13EEL6000 – Métodos Numéricos de Otimização Definições Uma solução viável para o PL é um vetor x que satisfaz o conjunto de restrições Uma matriz base B [ m x m ] é uma matriz não singular formada por conjuntos de colunas de A Uma solução básica para um PL é um vetor único (x), determinado pela escolha de uma matriz base B, tal que todas as ( n - m ) variáveis correspondentes às colunas de A, não colocadas na base, assumam valores nulos, e o sistema de equações resultante seja resolvido para m variáveis

Técnicas para a Operação de SEE 14 14EEL6000 – Métodos Numéricos de Otimização Definições A matriz base B somente é viável, se e somente se, x b forem não negativos Uma solução básica viável é uma solução básica onde todas as variáveis são não-negativas Uma solução básica viável não-degenerada é uma solução básica viável com exatamente m valores positivos de x Uma solução ótima é uma solução viável que minimiza z

Técnicas para a Operação de SEE 15 15EEL6000 – Métodos Numéricos de Otimização Matriz Base B Exemplo 1234 Base Solução Básica não Viável X Base

Técnicas para a Operação de SEE 16 16EEL6000 – Métodos Numéricos de Otimização Complexidade Computacional Um método elementar de solução do PL é percorrer as soluções viáveis x (vértices) e identificar a solução que maximiza ou minimiza a função objetivo z Limite superior do número de soluções básicas Inviável computacionalmente para problemas reais

Técnicas para a Operação de SEE 17 17EEL6000 – Métodos Numéricos de Otimização Limite Superior das Soluções Exemplo Considere o seguinte problema típico de planejamento da operação de um sistema hidrotérmico 4080 variáveis de geração e 504 restrições Quantidade de Soluções Viáveis do PL: Inviável Analisar as Soluções Básicas de um PL

Técnicas para a Operação de SEE 18 18EEL6000 – Métodos Numéricos de Otimização Programação Linear Pivotamento

Técnicas para a Operação de SEE 19 19EEL6000 – Métodos Numéricos de Otimização Pivotamento Sistemas de Equações Lineares Equivalentes - SELE Definição: Dois sistemas de equações são ditos equivalentes se eles possuem as mesmas soluções Multiplicar qualquer equação, E i, por uma constante k ≠0 Substituir qualquer equação, E t, pela equação E t +kE i, onde E i é qualquer outra equação do sistema Pivotamento Sequência de operações elementares entre as equações do sistema, que substitui um SEL por um SELE O SELE possui coeficiente unitário para uma variável e zero para as demais

Técnicas para a Operação de SEE 20 20EEL6000 – Métodos Numéricos de Otimização Pivotamento Etapas Selecionar um termo a rs x s na linha r, coluna s, com a rs ≠0 Substituir a r -ésima equação pela r -ésima multiplicada por 1/ a rs Para cada i =1, m exceto i=r, substituir a i -ésima equação, E i, por E i -(a is /a rs )E r Exemplo x1E 1 +E 2 x0.5E 2 x(-1)E 2 +E 1

Técnicas para a Operação de SEE 21 21EEL6000 – Métodos Numéricos de Otimização Solução do PL: Método Simplex George Bernard Dantzig (08/11/1914 – 13/05/2005) Matemático americano, que introduziu o algoritmo Simplex em 1947 e é considerado "pai da programação linear”. Recebeu muitas honras, incluindo a Medalha Nacional de Ciência em 1975 e o prêmio a teoria John von Neumann em 1974

Técnicas para a Operação de SEE 22 22EEL6000 – Métodos Numéricos de Otimização Método Simplex “O ponto ótimo sempre se localiza em um ponto extremo da solução viável” Método de Solução é percorrer os vértices da região viável (“politopo”) até encontrar a solução que tenha o menor valor de função objetivo

Técnicas para a Operação de SEE 23 23EEL6000 – Métodos Numéricos de Otimização Método Simplex PL Original Variáveis Básicas ou Variáveis Dependentes Variáveis não-Básicas ou Variáveis Independentes Forma Canônica

Técnicas para a Operação de SEE 24 24EEL6000 – Métodos Numéricos de Otimização Método Simplex Solução Solução Degenerada Se pelo menos um

Técnicas para a Operação de SEE 25 25EEL6000 – Métodos Numéricos de Otimização Método Simplex Artifício para uso do Método Função Objetivo como Restrição Adicional Variáveis Básicas Nova Solução Esta Solução é Ótima?

Técnicas para a Operação de SEE 26 26EEL6000 – Métodos Numéricos de Otimização Método Simplex Teste de Otimalidade (Minimização) Teorema Uma solução Básica Viável é uma solução ótima com custo mínimo se todas as constantes c m+1,..., c n (fatores de custo relativo) são não negativas Prova Função Objetivo No momento x j =0, j=m+1,n A única forma de variação é se uma variável não-básica se tornar positiva No entanto, o valor da função objetivo (z) não decresce, pois Portanto, a presente solução é ótima

Técnicas para a Operação de SEE 27 27EEL6000 – Métodos Numéricos de Otimização Método Simplex Conclusão Uma solução Básica Viável é uma solução viável mínima e única se c j >0, j=m+1,n Caso c j <0, j=m+1,n : Neste caso o valor da função objetivo pode ser reduzido, com o incremento de x j Variável Não BásicaVariável Básica

Técnicas para a Operação de SEE 28 28EEL6000 – Métodos Numéricos de Otimização Método Simplex Exemplo Variáveis básicas iniciais: x 1, x 5, ( -z ) Solução Solução Ótima? Não! Forma Canônica:

Técnicas para a Operação de SEE 29 29EEL6000 – Métodos Numéricos de Otimização Método Simplex Função Objetivo Qual o máximo valor que x 3 poderá assumir? x 1 sai da base! Nova Solução x 3 entra na base! Solução Ótima? Não!

Técnicas para a Operação de SEE 30 30EEL6000 – Métodos Numéricos de Otimização Método Simplex Função Objetivo Qual o máximo valor que x 2 poderá assumir? x 5 sai da base! Nova Solução x 2 entra na base!

Técnicas para a Operação de SEE 31 31EEL6000 – Métodos Numéricos de Otimização Método Simplex Solução Ótima? SIM!

Técnicas para a Operação de SEE 32 32EEL6000 – Métodos Numéricos de Otimização Método Simplex Solução degenerada Considere a segunda restrição do sistema original (forma canônica), com a alteração do valor de b 2 Considere que x 3 entra na base x 1 <0!!!! x 3 =0 z =cte Solução Ilimitada Se ao longo do processo iterativo tivéssemos: x 2 ILIMITADO!!

Técnicas para a Operação de SEE 33 33EEL6000 – Métodos Numéricos de Otimização Método Simplex Melhoria de uma Solução Viável Não-Ótima (caso geral para problemas de minimização) Se pelo menos um c j 0 Se mais que um c j <0 a variável x j a ser incrementada (que irá para a base) será aquela de menor c j As demais variáveis não-básicas permanecem nulas. Então, o efeito sobre as atuais variáveis básicas é: Se ilimitado Se pelo menos um limitado Outra solução de menor custo

Técnicas para a Operação de SEE 34 34EEL6000 – Métodos Numéricos de Otimização Método Simplex Teorema Assumindo não-degenerância em cada iteração, o algoritmo simplex termina em um número finito de iterações

Técnicas para a Operação de SEE 35 35EEL6000 – Métodos Numéricos de Otimização Fases do Método Simplex Fase I: Determinação de uma solução básica inicial Variáveis artificiais z e w – variáveis básicas Fase II: Determinação da Solução Ótima

Técnicas para a Operação de SEE 36 36EEL6000 – Métodos Numéricos de Otimização Método Simplex Exemplo Fase I – min w (- z ) e (- w ) são sempre básicas

Técnicas para a Operação de SEE 37 37EEL6000 – Métodos Numéricos de Otimização Método Simplex Solução Última Iteração da Fase I

Técnicas para a Operação de SEE 38 38EEL6000 – Métodos Numéricos de Otimização Método Simplex Fase II – min z X X X X X X Última Iteração da Fase II Solução

Técnicas para a Operação de SEE 39 39EEL6000 – Métodos Numéricos de Otimização Programação Linear Otimalidade e Dualidade

Técnicas para a Operação de SEE 40 40EEL6000 – Métodos Numéricos de Otimização Relacionamento Primal - Dual Problema Primal Problema Dual  irrestrito em sinal

Técnicas para a Operação de SEE 41 41EEL6000 – Métodos Numéricos de Otimização Relacionamento Primal Dual Exemplo 1: PL com 20 restrições de desigualdade e 2 variáveis Necessita 20 variáveis de folga Base 20 x 20 Exemplo 2: PL com 2 restrições e 20 variáveis Necessita 2 variáveis de folga Base 2 x 2 Impacto no esforço computacional

Técnicas para a Operação de SEE 42 42EEL6000 – Métodos Numéricos de Otimização Condições de Otimalidade - Revisão Problema Primal Geral Min f(x) s.a. h i (x*) = 0 i   g i (x*)  0i  I Seja x* um mínimo local e que as restrições ativas em x* estão qualificadas. Assim, existe um vetor *, i    I, tal que as seguintes condições são satisfeitas em ( x*, * )  x L ( x*, * ) = 0   f(x*) + * i  h i (x*) + * i  g i (x*) = 0 h i ( x* ) = 0 i   g i ( x* )  0 i  I * i  0 i  I * i g i ( x* ) = 0 i    I

Técnicas para a Operação de SEE 43 43EEL6000 – Métodos Numéricos de Otimização Condições de Otimalidade Aplicadas ao PL Convexidade do problema garante o Mínimo Global Lagrangeano

Técnicas para a Operação de SEE 44 44EEL6000 – Métodos Numéricos de Otimização Condições de Otimalidade Aplicadas ao Primal Condições de Primeira Ordem   x L(x*,  *, s*) = 0 Ponto Ótimo ( x *, π *, s * ) que atende KKT Valor do Primal ( z ) é igual ao Dual ( θ ) em ( x *, π *, s * )

Técnicas para a Operação de SEE 45 45EEL6000 – Métodos Numéricos de Otimização Condições de Otimalidade Aplicadas ao Primal x * é uma solução global? A inequação (4) ilustra que não existe uma solução viável com menor valor de função objetivo que c t x * Considere uma solução viável do primal Ou então, o ponto é o próprio ponto ótimo x*, com

Técnicas para a Operação de SEE 46 46EEL6000 – Métodos Numéricos de Otimização Condições de Otimalidade Aplicadas ao Dual Problema Dual Lagrangeano de (6) Condições de Primeira Ordem de KKT

Técnicas para a Operação de SEE 47 47EEL6000 – Métodos Numéricos de Otimização Condições de Otimalidade Aplicadas ao Dual Substituindo s=c-A t π em (8)  x i s i = 0 e introduzindo variáveis de folga na restrição desigualdade  A t  + L = c  L = c - A t  s  A t  + s = c  s é a própria variável de folga do problema dual Conclusão As condições de KKT (3) e (8) são idênticas Os multiplicadores de Lagrange, π, no problema primal são, de fato, as variáveis ótimas no problema dual Da mesma forma, os multiplicadores de Lagrange, x, no problema dual são, de fato, as variáveis ótimas do problema primal

Técnicas para a Operação de SEE 48 48EEL6000 – Métodos Numéricos de Otimização Relacionamento Primal – Dual Exemplo do Relacionamento Primal-Dual Solução Ótima

Técnicas para a Operação de SEE 49 49EEL6000 – Métodos Numéricos de Otimização Relacionamento Primal – Dual Teoremas 1. Se ( x * e π * ) são soluções do primal e dual, então 2. Se (1) ou (5) tem uma solução com valor ótimo de função objetiva finito, então, a solução do outro problema é igual 3. Se (1) ou (5) tem uma função ilimitada então o outro problema não terá uma solução viável

Técnicas para a Operação de SEE 50 50EEL6000 – Métodos Numéricos de Otimização Relacionamento Primal – Dual Provas Teorema 1 Dado que x * é uma solução viável do primal (1), então x * é positivo e Ax * =b (I) Da mesma forma, para o dual (5), (II) Pré-multiplicando (I) por π * e (II) por x * : Aplicando a transposta na última inequação, tem-se:

Técnicas para a Operação de SEE 51 51EEL6000 – Métodos Numéricos de Otimização Relacionamento Primal – Dual Teorema 2 x * é uma solução viável do primal (1) B * é a base ótima associada x b * é o vetor das variáveis básicas * é o vetor de multiplicadores associados à solução Valor da função objetivo do dual ( θ * ) Portanto θ * = z * max θ = min z A t  = c  [B:N]  = [c b : c n ] Da Formulação do Dual

Técnicas para a Operação de SEE 52 52EEL6000 – Métodos Numéricos de Otimização Relacionamento Primal – Dual Teorema 3 Primal ilimitado Para que π seja uma solução viável do dual π é limitado! É impossível um valor que tende ao infinito negativo ser maior ou igual a um valor limitado b é limitado π deveria ser ilimitado e negativo Portanto, se o primal ou o dual tem uma solução ilimitada, então o outro problema é inviável A t   c

Técnicas para a Operação de SEE 53 53EEL6000 – Métodos Numéricos de Otimização Programação Linear Multiplicador Simplex ou Preço Sombra

Técnicas para a Operação de SEE 54 54EEL6000 – Métodos Numéricos de Otimização Multiplicador Simplex Problema da Fábrica de Copos x 1 : copos de suco, em centenas x 2 : copos de cocktail, em centenas x 1 : copos de champagne, em centenas Capacidade de produção -horas Capacidade de armazenamento Demanda de x 1

Técnicas para a Operação de SEE 55 55EEL6000 – Métodos Numéricos de Otimização Multiplicador Simplex Forma Canônica Solução Final

Técnicas para a Operação de SEE 56 56EEL6000 – Métodos Numéricos de Otimização Multiplicador Simplex O Multiplicador Simplex associado a uma particular restrição corresponde à mudança do valor ótimo da função objetivo por unidade de incremento do lado direito da restrição, permanecendo o restante do problema inalterado 1º restrição Incrementando o recurso de 60 para 61, qual é a contribuição para a função objetivo? O incremento é equivalente a permitir x 4 =-1

Técnicas para a Operação de SEE 57 57EEL6000 – Métodos Numéricos de Otimização Multiplicador Simplex Conclusão π = -(coeficientes das variáveis de folga na retrição correspondente à função objetivo final) π = vetor de preços para os recursos  Shadow Price

OBRIGADO! Prof. Edson Luiz da Silva  Slides Disponíveis