Upload
internet
View
107
Download
0
Embed Size (px)
Citation preview
1
DAS-6651: Otimização e Suas Subáreas
DAS-6651 - MSPO
Eduardo Camponogara
2
0. Agenda
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
3
1. Conceitos
Otimização:
– Á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.
4
1. Elementos de um Problema de Otimização
Variáveis de Decisão: – 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.
5
1. Elementos de um Problema de Otimização
Variáveis de Decisão: – 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.
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.
1. Elementos de um Problema de Otimização
6
1. Elementos de um Problema de Otimização
Variáveis de Decisão: – 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.
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: – 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.
7
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
8
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
9
1. Duas Exceções
Problemas com múltiplos objetivos– 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)
10
2. Programação Linear
Problema:– 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
Dados:– 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
11
2. Programação Linear
Exercício: modele o problema em programação matemática.
12
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
13
2. Programação Linear
Função objetivo:f = c1x1 + c2x2 + … + cNxN
Formulação compacta:PL: Minimize cTx Sujeito a:
Ax bx 0x RN
14
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 cTxSujeito à:
Ax bCx = dx 0x Zn
15
3. Programação Linear Inteira
Dados do Problema– 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.
16
3. Programação Linear Inteira
Tarefa– 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.
17
3. Programação Linear Inteira
Variáveisxij = 1 se o cliente i é
atendido pelo depósito j
xij = 0 caso contrário
yj = 1 se o depósito j é instalado
yj = 0 caso contrário
Formulação n m m
Minimize cijxij + fjyj
i=1 j =1 j =1
Sujeito a: n
dixij ujyj para j =1, ..., m i=1
m
xij 1 para i =1, ..., nj=1
xij {0, 1} i, j
yj {0, 1} j
18
4. Programação Quadrática
Representação
Minimize xTQx + cTx
Sujeito a: Ax b Cx = d
onde Q é uma matriz simétrica.
Aplicações– 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.
19
4. Programação Quadrática
A dificuldade de se resolver tais problemas depende da natureza da matriz Q.
Quais características de Q tornam o problema difícil?
20
4. Programação Quadrática
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.
21
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.
Tais problemas têm aplicações no casamento de modelos com dados experimentais, tipicamente encontrados em estudos econômicos, aprendizagem automática e engenharia.
22
5. Mínimos Quadrados (Linear)
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.
23
5. Mínimos Quadrados (Linear)
Os seguintes dados amostrais são fornecidos.
Exemplo (i) Altura (hi) Peso (wi)-------------------------------------------------------------1 1.5 552 1.54 533 1.58 564 1.60 525 1.65 586 1.67 547 1.70 648 1.72 709 1.72 7110 1.75 7511 1.80 8212 (n) 1.81 81---------------------------------------------------------------
24
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 1/2 || w(hi) wi ||2
x1,x2,x3,x4 i = 1
25
5. Mínimos Quadrados (Linear)
Solução Ótimax1 = 100.0000
x2 = -33.1098
x3 = -62.9920
x4 = 41.7403
h (altura, m)
w (peso, kg)
predição
26
6. Equações Não-Lineares
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 ||||.
27
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]
28
7. Otimização Não-Linear Irrestrita
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 IrrestritaMinimize 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*, ) = {x : ||x x*|| } e > 0. Otimização global se preocupa em encontrar um vetor x* cujo valor f(x*) f(x) para todo x.
29
7. Otimização Não-Linear Irrestrita
Problema Exemplo:– 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.
30
7. Otimização Não-Linear Irrestrita
Tarefa– 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.)
31
7. Otimização Não-Linear Irrestrita
Solução m
E[(Z z)2] = (zk z)2.Probabilidade{Z = zk}
k = 1
m
= [(xk,yk) (x,y)]2 / m
k = 1
32
8. Otimização Não-Linear com Limites Sup/Inf
Formulação: problemas da seguinte classe:Minimize f(x)
l x u
x Rn f é uma função contínua, diferenciável
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.
33
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) 0h(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
Observação: modelos de otimização não-linear restritos são os mais gerais no domínio da otimização contínua.
34
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.
35
9. Otimização Não-Linear Restrita
Tarefa Formule este problema em linguagem de otimização.
36
9. Otimização Não-Linear Restrita
Formulação
Maximize dSujeito 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 }
37
10. Programação Semi-Definida
CaracterizaçãoProblemas com função objetivo linear.
Restrições envolvendo matrizes e suas propriedades (tais como, positiva definida e semi-definida).
DefiniçõesFi(x) = Fi,0 + Fi,1x1 + ... + Fi,nxn
onde Fi,j = Fi,jT
é uma matriz simétrica
38
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).
39
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:
– 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?
40
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.
41
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
42
11. Referências
Optimization Tree
– http://www-fp.mcs.anl.gov/otc/Guide/OptWeb/
OR Notes
– http://www.ms.ic.ac.uk/jeb/or/contents.html
43
12. FIM
Obrigado!!!