A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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 de Engenharia Elétrica Tel. +55 (48) 331.9731/9933 – Fax +55 (48) 331.7538 Homepage: htto://www.labplan.ufsc.br Prof.: Edson Luiz da Silva, D. Eng. edson@labplan.ufsc.br

2 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

3 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

4 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

5 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

6 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.

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

8 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

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

10 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

11 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

12 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”

13 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

14 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

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

16 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

17 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

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

19 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

20 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

21 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

22 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

23 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

24 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

25 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?

26 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

27 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

28 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:

29 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!

30 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!

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

32 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!!

33 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

34 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

35 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

36 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

37 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

38 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

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

40 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

41 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

42 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

43 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

44 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 * )

45 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

46 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

47 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

48 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

49 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

50 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:

51 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

52 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

53 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

54 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

55 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

56 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

57 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

58 OBRIGADO! Prof. Edson Luiz da Silva  edsonls@labplan.ufsc.br Slides Disponíveis http://www.labplan.ufsc.br/~erlon/EEL6000


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google