PTC3420 - Programação Matemática
Aplicada a Controle
Oswaldo Luiz do Valle Costa
PTC - EPUSP
Conteúdo
1) Programação Linear
2) Programação Não Linear Sem Restrições
3) Programação Não Linear Com Restrições de Igualdade 4) Aplicações Para Controle Ótimo
5) Programação Não Linear Com Restrições de Igualdade e
Desigualdade
Agradecimento: Agradeço a Profa. Celma de Oliveira Ribeiro por ter fornecido os arquivos latex do curso PRO-3341-Modelagem e Otimização de Sistemas de Produção, que foram parcialmente usados na preparação das aulas desse curso.
Bibliografia
1) Linear and Nonlinear Programming, David G. Luenberger,
Yinyu Ye, Springer, 2015.
2) Linear Programming and Network Flow, Mokhtar S. Bazaraa,
John J. Jarvis, Hanif D. Sherali, Wiley, 2011.
3) Nonlinear Programming, Dimitri P. Bertsekas, Athena
Scientific, 2016.
4) Introduction to Mathematical Programming: Applications and
Algorithms, Wayne L. Winston, Munirpallam Venkataramanan, Thomson, 2002.
Objetivo do Curso Estudar problemas do tipo:
min f (x) sujeito a x ∈ X onde x ∈ Rn. Deseja-se determinar x∗
∈ Rn tal que x∗
∈ X e f (x∗) ≤ f (x) para todo x ∈ X.
Note que
Programação Linear (PL)
Os problemas de programação linear caracterizam-se por: Função objetivo linear
Forma Matricial
Os problemas de programação linear podem ser escritos na forma matricial: min c0x sujeito a A1x = b1 A2x ≤ b2 x ≥ 0 em que c ∈ Rn, x ∈ Rn, A 1∈ Rm1×n, A2 ∈ Rm2×n, b1 ∈ Rm1, b2∈ Rm2. • Rm×n→ matrizes m × n.
Programação Linear - Forma Padrão
Veremos que os problemas de PL podem ser colocados na forma padrão abaixo. min c0x sujeito a Ax = b, x ≥ 0. i) A ∈ Rm×n, onde m < n ii) c ∈ Rn iii) b ∈ Rm
Programação Não-Linear a) Sem restrições min f (x) sujeito a x ∈ Rn b) Com restrições min f (x) sujeito a hi(x) = 0, i = 1, . . . , n gj(x) ≤ 0, j = 1, . . . , r, x ∈ Rn
Conceitos básicos - Programação Linear
Região Factível ou Viável
A região viável é a interseção das regiões definidas tanto pelo conjunto de restrições, como pelas condições de não negatividade das variáveis.
Exemplos de PL
Exemplo 1 - Resolução Gráfica max z = 5x1 + 3x2
s.a 3x1 + 5x2 ≤ 15
5x1 + 2x2 ≤ 10
xj ≥ 0 j = 1, 2
Esboce graficamente a região de factibilidade
Esboce as curvas de nível da função objetivo e determine uma solução do problema
O que aconteceria se a função objetivo fosse f (x) = 5x1+ 2x2?
Exemplos de PPL
Exemplo 2 - Resolução Gráfica max z = 3x1 - x2
s.a −3x1 +3x2 ≤ 6
−8x1 + 4x2 ≤ 4
xj ≥ 0 ∀j
Esboce graficamente o conjunto de pontos viáveis
Esboce as curvas de nível da função objetivo e determine uma solução do problema
O que aconteceria se a função objetivo fosse f (x) = −3x1+ x2
Exemplos de PPL
Exemplo 3 - Re-escreva com restrições de desigualdade e 3 variáveis
max 5x1 + 2x2 + 3x3 - x4 + x5
s.a x1 + 2x2 + 2x3 ≤ 8
3x1 + 4x2 + x3 + x5 = 7
Exemplos de PPL
Exemplo 4 max x1+ x2 s.a x1+ x2 ≤ 1 x1+ x2 ≥ 2 xj ≥ 0 ∀ jTipos de problemas de programação linear
Quanto ao conjunto de pontos viáveis Viável Limitado Ilimitado Inviável
Quanto à existência de solução Viável
Tem solução ótima Ilimitado
Quanto ao conjunto de soluções ótimas
Possui solução única
Tipos de problemas de programação linear
Quanto ao conjunto de pontos viáveis Viável Limitado Ilimitado Inviável
Quanto à existência de solução Viável
Tem solução ótima Ilimitado
Quanto ao conjunto de soluções ótimas
Possui solução única
Tipos de problemas de programação linear
Quanto ao conjunto de pontos viáveis Viável Limitado Ilimitado Inviável
Quanto à existência de solução Viável
Tem solução ótima Ilimitado
Quanto ao conjunto de soluções ótimas
Possui solução única
Forma Matricial
Considere o problema de Programação Linear
max 5x1 + 2x2 + 3x3 - x4 + x5
s.a x1 + 2x2 + 2x3 + x4 = 8
3x1 + 4x2 + x3 + x5 = 7
xj ≥ 0 ∀j
Conceitos básicos - Programação Linear
Variáveis x = x1 x2 x3 x4 x5 0 (5 × 1) Coeficientes da função objetivoc = − 5 2 3 −1 1 0 (5 × 1) Matriz de coeficientes A = 1 2 2 1 0 3 4 1 0 1 Lado direito b = 8 7
Conceitos básicos - Programação Linear
Na forma matricial min c0x s.a Ax = b x ≥ 0 Forma PadrãoO problema acima está escrito na forma padrão Restrição de igualdade
Problema de minimização Variáveis x ≥ 0
Forma padrão
Transformação para a forma padrão
Os problemas de programação linear não necessariamente estão na forma padrão, porém é possível transformá-los.
Restrições de ≤
É introduzida uma variável de folga, Pn j=1aijxj ≤ bi ⇔ Pn j=1aijxj+ yi = bi yi ≥ 0 Restrições de ≥
É introduzida uma variável de excesso, Pn j=1aijxj ≥ bi ⇔ Pn j=1aijxj− yi = bi yi ≥ 0 Problema de maximização
Quanto ao sinal das variáveis xj ≤ 0
Considera-se a mudança de variáveis yj = −xj ≥ 0
xj ∈ R
Variável pode ser escrita como a diferença entre duas variáveis não negativas, de tal forma que:
xj = x+j − x−j
Forma padrão
Exemplo - Transformação para a forma padrão A empresa Couro Duro S/A fabrica cintos de dois tipos: Luxo e Regular.
O cinto de luxo requer 2 horas de mão de obra e 1 metro quadrado de couro. O cinto regular necessita de 1 hora de mão de obra especializada e a mesma quantidade de couro. Disponibilidade semanal: 40 metros quadrados de couro e 60 horas de mão de obra
Contribuição para lucro: $ 3 nos regulares e $ 4 nos de luxo
1 Formule um modelo matemático para maximizar os ganhos
semanais
2 Coloque o modelo na forma padrão e interprete as novas
exemplo
Converta o seguinte problema para a forma padrão:
max 3x1 + 2x2 + 7x3
s.a 2x1 + 3x2 ≤ 42
2x1 - x3 ≤ 18
3x1 - x2 + 4 x3 ≥ 24
Exemplo Considere o problema max 3x1 + 2x2 s.a x1 + x2 ≤ 2 x1 + 3x2 ≤ 3 x1 ≥ 0 x2≥ 0
Represente o problema graficamente Coloque-o na forma padrão
Identifique os vértices do problema original com pontos do problema na forma padrão