DAS-6651: Otimização e Suas Subáreas DAS-6651 - MSPO Eduardo Camponogara 1 0. Agenda 2 Conceitos Programação Linear Programação Linear Inteira Programação Quadrática Mínimos Quadrados Não-Linear Equações Não-Lineares Otimização Não-Linear Irrestrita Otimização Não-Linear com Limites Sup/Inf Otimização Não-Linear Restrita Programação Semi-Definida 1. Conceitos Otimização: – 3 Área da matemática aplicada que se preocupa em calcular e computar valores ótimos para variáveis de decisão que induzam o desempenho ótimo, ao mesmo tempo que satisfazem restrições, de um modelo matemático. 1. Elementos de um Problema de Otimização Variáveis de Decisão: – – 4 parâmetros cujos valores definem uma solução para o problema. Em um sistema de produção, esses parâmetros podem definir as quantidades produzidas e os recursos utilizados. 1. Elementos de um Problema de Otimização Variáveis de Decisão: – – Função Objetivo: – – 5 parâmetros cujos valores definem uma solução para o problema. Em um sistema de produção, esses parâmetros podem definir as quantidades produzidas e os recursos utilizados. uma função das variáveis de decisão a ser minimizada ou maximizada. No sistema de manufatura, podemos estar interessados em minimizar custos. 1. Elementos de um Problema de Otimização Variáveis de Decisão: – Função Objetivo: – uma função das variáveis de decisão a ser minimizada ou maximizada. No sistema de manufatura, podemos estar interessados em minimizar custos. Restrições: – 6 parâmetros cujos valores definem uma solução para o problema. Em um sistema de produção, esses parâmetros podem definir as quantidades produzidas e os recursos utilizados. conjunto de funções que definem o espaço factível de soluções. No sistema de manufatura, as restrições estabelecem os limites nos recursos utilizados. 1. Elementos de um Problema de Otimização Minimize f(x) Sujeito a: g(x) 0 h(x) = 0 x Rn Onde f: Rn R, g: Rn Rp h: Rn Rq 7 1. Duas Exceções Problemas sem objetivos – O usuário deseja apenas encontrar um conjunto de decisões que sejam viáveis. Encontre x Rn, tal que: g(x) 0 h(x) = 0 8 1. Duas Exceções Problemas com múltiplos objetivos – – 9 Em problemas reais, não é incomum procurar otimizar mais do que um objetivo. No problema de manufatura, o usuário pode estar interessado em maximizar lucro, maximizar qualidade e minimizar tempo de produção. Usualmente, estes problemas são reduzidos a problemas envolvendo apenas um objetivo (combinando -se múltiplos objetivos em apenas um ou, alternativamente, escolhendo-se um objetivo e introduzindo restrições). Exemplo: Minimize f1(x) Maximize f2(x) 2. Programação Linear Problema: – – Dados: – – – – – 10 Um atleta deseja definir uma dieta, ou seja, tipos e quantidades de alimentos que atendam as suas necessidades mínimas. Os alimentos devem ser escolhidos de forma a minimizar o preço total N alimentos, tais como arroz, feijão, alface, etc. M tipos de substâncias alimentares, como proteínas, lipídios, etc. cn o preço unitário do alimento n amn a quantidade de substância m em cada unidade de alimento n bm a quantidade mínima de substância m a ser ingerida pelo atleta 2. Programação Linear 11 Exercício: modele o problema em programação matemática. 2. Programação Linear Variáveis: xn quantidade de alimento n a ser comprada e ingerida, n=1,…,N Restrições: a11x1 + a12x2 + … + a1NxN b1 a21x1 + a22x2 + … + a2NxN b2 … aM1x1 + aM2x2 + … + aMNxN bM x1, x2, …, xN 0 12 2. Programação Linear Função objetivo: f = c1x1 + c2x2 + … + cNxN Formulação compacta: PL: Minimize cTx Sujeito a: Ax b x0 x RN 13 3. Programação Linear Inteira Em algumas aplicações, as variáveis de decisão são inteiras. (Número de pessoas contratadas, número de peças produzidas, etc.) O mundo da programação linear inteira engloba os seguintes problemas Minimize cTx Sujeito à: Ax b Cx = d x0 x Zn 14 3. Programação Linear Inteira Dados do Problema – – – – – – 15 Há um número m de possíveis locais para instalação de depósitos. Há um número n de clientes. A demanda de aço do cliente i é di e esta deve ser suprida por precisamente um depósito. A capacidade de um possível depósito no local j é de uj. O custo de transporte do depósito j para o cliente i é e cij. O custo de instalação do depósito j é de fj. 3. Programação Linear Inteira Tarefa – 16 Formule o problema de definir quais depósitos devem ser instalados de maneira a suprir a demanda e, ao mesmo tempo, minimizar o custo total de instalação e transporte. 3. Programação Linear Inteira Variáveis xij = 1 se o cliente i é atendido pelo depósito j xij = 0 caso contrário Formulação n m m Minimize S S cijxij + S fjyj i=1 j =1 j =1 Sujeito a: n yj = 1 se o depósito j é instalado yj = 0 caso contrário S dixij ujyj i=1 m S xij = 1 j=1 xij {0, 1} " i, j yj {0, 1} " j 17 para j =1, ..., m para i =1, ..., n 4. Programação Quadrática Representação Minimize xTQx + cTx Sujeito a: Ax b Cx = d onde Q é uma matriz simétrica. Aplicações – 18 Várias aplicações em identificação de parâmetros para modelos de processos, modelos estruturais e sistemas de controle, e em algoritmos como SQP. 4. Programação Quadrática 19 A dificuldade de se resolver tais problemas depende da natureza da matriz Q. Quais características de Q tornam o problema difícil? 4. Programação Quadrática 20 A dificuldade de se resolver tais problemas depende da natureza da matriz Q. – Se Q 0 (positiva semi-definida) ou Q > 0 (positiva definida) o problema é relativamente fácil de se resolver (ou seja, encontrar a solução ótima global). – Se Q é indefinida (ou negativa semi-definida, definida) então o problema é muito difícil. 5. Mínimos Quadrados Não-Linear O problema dos mínimos quadrados não-linear consiste de um problema da seguinte forma: P: Minimize 1/2||f(x)||2 x Rn Onde a) |||| corresponde à norma Euclidiana e b) f(x) : Rn Rm é uma função qualquer, contínua e diferenciável. 21 Tais problemas têm aplicações no casamento de modelos com dados experimentais, tipicamente encontrados em estudos econômicos, aprendizagem automática e engenharia. 5. Mínimos Quadrados (Linear) 22 Seja w(h) um modelo que descreve a relação entre a altura e o peso médio das pessoas do sexo feminino. Suponha que o modelo escolhido é da forma w(h) = x3h3 + x2h2 + x1h + x0, um polinômio de ordem 3 representando o peso como uma função da altura. 5. Mínimos Quadrados (Linear) 23 Os seguintes dados amostrais são fornecidos. Exemplo (i) Altura (hi) Peso (wi) ------------------------------------------------------------1 1.5 55 2 1.54 53 3 1.58 56 4 1.60 52 5 1.65 58 6 1.67 54 7 1.70 64 8 1.72 70 9 1.72 71 10 1.75 75 11 1.80 82 12 (n) 1.81 81 --------------------------------------------------------------- 5. Mínimos Quadrados (Linear) Problema – Encontre os parâmetros x3, x2, x1 e x0 que minimizam a função, consistindo da soma dos quadrados dos erros de predição. n Minimize x1,x2,x3,x4 24 1/2 S || w(hi) - wi ||2 i=1 5. Mínimos Quadrados (Linear) Solução Ótima x1 = 100.0000 x2 = -33.1098 x3 = -62.9920 x4 = 41.7403 w (peso, kg) predição 25 h (altura, m) 6. Equações Não-Lineares 26 Aplicações: sistemas de equações não-lineares aparecem em problemas de otimização, mas também em equações diferenciais e suas formas discretizadas, jogos dinâmicos e processos iterativos. Equações Não-Lineares – Seja f(x) : Rn Rm uma função contínua e diferenciável – Problema: encontre x* tal que f(x*) = 0 Observação: alguns algoritmos, transformam este problema em um problema de otimização irrestrita: Minimize ||f(x)|| x Rn para alguma norma ||||. 6. Equações Não-Lineares Aplicação em sistemas de controle: dado um sistema de equações diferenciais, encontre um ponto de equilíbrio. Exemplo dx1/dt = - x1 - 1 dx2/dt = 2x1x2 - 2sqrt(2)x1 + 2x2 - 2sqrt(2) + sin(x2 - sqrt(2)) dx3/dt = 2x2 - 2sqrt(2) x = [x1, x2, x3] dx/dt = f(x) = 0 x* = [-1, sqrt(2), x3] 27 7. Otimização Não-Linear Irrestrita 28 Otimização irrestrita constitui um bloco fundamental no desenvolvimento de software. Algoritmos para solução de problemas de otimização restrita fazem uso de otimização irrestrita. Problema de Otimização Irrestrita Minimize f(x) x Rn Tipicamente procura-se um ótimo local x*, ou seja, x* tal que f(x*) f(x) para todo x B(x*, d) = {x : ||x - x*|| d} e d > 0. Otimização global se preocupa em encontrar um vetor x* cujo valor f(x*) f(x) para todo x. 7. Otimização Não-Linear Irrestrita Problema Exemplo: – – – 29 Seja z = (x, y) a coordenada onde será instalada uma central telefônica. Suponha que as chamadas são recebidas de um conjunto S = {z1=(x1,y1), ..., zm= (xm,ym)} de localidades com probabilidade uniforme. Seja Z a variável randômica associada com o local das chamadas. 7. Otimização Não-Linear Irrestrita Tarefa – 30 Qual deve ser a localização z da central telefônica para que E[(Z - z)2] seja minimizado? (E[f(Z)] é o valor esperado da função f(Z) da variável randômica Z.) 7. Otimização Não-Linear Irrestrita Solução m E[(Z - z)2] = S (zk - z)2.Probabilidade{Z = zk} k=1 m = S [(xk,yk) - (x,y)]2 / m k=1 31 8. Otimização Não-Linear com Limites Sup/Inf Formulação: problemas da seguinte classe: Minimize f(x) lxu x Rn f é uma função contínua, diferenciável 32 Aplicações: estes modelos têm aplicações em engenharia e na identificação de modelos físicos, onde as grandezas (parâmetros) são sujeitos a limites. Algoritmos: alguns algoritmos de otimização restrita resolvem sequências de problemas com limites superiores e inferiores. 9. Otimização Não-Linear Restrita Modelo: os problemas de otimização não-linear restrita consistem em minimizar uma função não-linear (contínua e diferenciável) sujeita a restrições não-lineares (contínuas e diferenciáveis). Minimize f(x) Sujeito à: g(x) 0 h(x) = 0 Onde f(x) : Rn Rm, g(x) : Rn Rp e h(x) : Rn Rq são funções contínuas e diferenciáveis 33 Observação: modelos de otimização não-linear restritos são os mais gerais no domínio da otimização contínua. 9. Otimização Não-Linear Restrita Problema Exemplo – – Desejamos instalar uma estação de bombeiros de forma que a mesma esteja dentro de um raio r (km) de um conjunto S = {(x1,y1), ..., (xp,yp)} de prédios nas proximidades. Além disso, desejamos localizá-la o mais afastado possível de outras estações de bombeiros T = {(x1,y1), ..., (xq,yq)}. Tarefa Formule este problema em linguagem de otimização. 34 9. Otimização Não-Linear Restrita Tarefa Formule este problema em linguagem de otimização. 35 9. Otimização Não-Linear Restrita Formulação Maximize d Sujeito a: ||(x,y) - (xj,yj)|| r para j = 1, ..., p ||(x,y) - (xj,yj)|| d para j = 1, ..., q Observações d Min{ ||(x,y) - (xj,yj)|| : j = 1, ..., q } r Max{ ||(x,y) - (xj,yj)|| : j = 1, ..., p } 36 10. Programação Semi-Definida Caracterização Problemas com função objetivo linear. Restrições envolvendo matrizes e suas propriedades (tais como, positiva definida e semi-definida). Definições Fi(x) = Fi,0 + Fi,1x1 + ... + Fi,nxn onde Fi,j = Fi,jT é uma matriz simétrica 37 10. Programação Semi-Definida Classe de Problemas Minimize cTx Sujeito a: Fi(x) 0 para i = 1, ..., m (a matriz Fi(x) deve ser positiva semi-definida, linear matrix inequality). 38 10. Programação Semi-Definida Exemplo: – Considere o seguinte sistema dinâmico dx/dt = Ax – Uma condição suficiente para que o sistema convirja para x* = 0, para qualquer estado inicial x(0), quanto t é a existência de um função V(x) com as seguintes propriedades: – – 39 V(x) é positiva definida, ou seja, para todo x 0 tem-se V(x) > 0 e V(0) = 0 dV(x)/dt < 0 para x 0. Problema: como encontrar tal função? 10. Programação Semi-Definida Seja V(x) = xTPx para P > 0. Neste caso V(x) satisfaz a condição de ser positiva definida. Como fazer para satisfazer a segunda condição? dV/dt = d(xTPx)/dt = = (dx/dt)TPx + xTP(dx/dt) = = (xTAT)Px + xTP(Ax) = = xT( ATP + PA)x Então a condição dV/dt < 0 é equivalente a ATP + PA < 0. 40 10. Programação Semi-Definida Formulação do problema Minimize cTx Sujeito a: P(x) > 0 ATP(x) + P(x)A < 0, onde P(x) gera o espaço de matrizes simétricas 41 11. Referências Optimization Tree – OR Notes – 42 http://www-fp.mcs.anl.gov/otc/Guide/OptWeb/ http://www.ms.ic.ac.uk/jeb/or/contents.html 12. FIM 43 Obrigado!!!