Escolar Documentos
Profissional Documentos
Cultura Documentos
Programa de
Ps-Graduao Otimizao Inteligente de
em Cincia da
Computao Sistemas Produtivos
Programao Matemtica
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
min f (x), x A.
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Otimizao linear
Otimizao Inteira.
Otimizao no linear.
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Linear
Programao Linear
(Resoluo Grfica)
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Variveis de deciso:
x1 = quantidade de geladeiras do modelo luxo a ser
produzida por ms.
Programao Inteira
So problemas de programao matemtica em que a funo-
-objetivo, bem como as restries, so lineares, porm uma ou mais
variveis de deciso podem apenas assumir valores inteiros.
Programao Inteira
A primeira ideia que pode vir mente resolver o problema como se
fosse um problema de programao linear e arredondar os valores
timos encontrados para cada uma das variveis de deciso inteiras.
Max 18 x1 + 6 x2 Max 18 x1 + 6 x2
s.t. x1 + x2 5 s.t. x1 + x2 5
42.8 x1 + 100 x2 800 42.8 x1 + 100 x2 800
20 x1 + 6 x2 142 20 x1 + 6 x2 142
30 x1 + 10 x2 135 30 x1 + 10 x2 135
x1 - 3 x2 0 x1 - 3 x2 0
x1 , x2 0 x1 , x2 0
X1, X2 inteiros
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Soluo Grfica
Max 18 x1 + 6 x2 (4)
Programao Inteira
Soluo Grfica
Soluo Aproximada do
x2 LP Relaxado timo
(5 ; 5)
Soluo tima
para Problema
Inteiro
x1 (6 ; 3)
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
LP Relaxado
Nenhum ponto inteiro vizinho Soluo
x2
ao ponto timo do problema tima para
relaxado necessariamente LP Relaxado
vivel.
Soluo
Mesmo que um dos vizinhos tima para
seja vivel. Prog.Inteira
No necessariamente o
ponto timo inteiro.
No obrigatoriamente uma
soluo aceitvel.
x1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Soluo por Enumerao
Uma ideia que pode resultar em uma soluo para
um problema de programao inteira a de se
enumerar todas as possveis solues.
De forma exaustiva, o valor da funo-objetivo
calculado para todas as solues viveis e
escolhido aquele que apresente o maior valor (no
caso de maximizao) ou o menor valor (no caso de
minimizao).
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Soluo por Enumerao
O problema com essa ttica de soluo est no fato de que
ela s consegue ser aplicada a problemas pequenos.
O nmero de combinaes possveis de solues cresce
de forma exponencial, isto , de forma muito rpida.
Ex.: Um ILP com 100 variveis de deciso do tipo binrias
(assumem 0 ou 1) ter at 2100 solues viveis, isto , 1,27 x
1030 solues possveis.
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Algoritmo de Branch-And-Bound
Algoritmo de Branch-And-Bound mais utilizado atualmente
para resoluo de problemas do tipo ILP ou MILP.
uma metodologia geral para soluo de ILP e MILP, e
existem diversas variantes para tratar diversos tipos de
problemas especficos.
A ideia geral a de se dividir o conjunto de solues viveis em
subconjuntos sem intersees entre si, calculando-se os limites
superior e inferior para cada subconjunto, e ento eliminando
certos subconjuntos de acordo com regras pr-estabelecidas.
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Algoritmo de Branch-And-Bound Soluo tima para
LP Relaxado
1 Passo x2 (3,75 ; 4,125)
Resolva o LP Relaxado e Z*=24.375
encontre uma soluo
inteira vivel 4
Max x1 + 5x2
s. t . 11x1 + 6 x2 66 2
5x1 + 50 x2 225
x1 , x2 0 e inteiros 2 4 6 x2
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Algoritmo de Branch-And-Bound
O valor timo (OV) do PL Representao Grfica
relaxado um limite superior (S) Melhor Limite Superior Atual (MLSA)
para o PLI, isto , o OV do PLI MLSA=24,375
menor que o OV do LP relaxado. Melhor Limite Inferior Atual (MLIA)
MLIA=23,00
Uma soluo vivel do problema
estabelece um limite inferior (V)
ao mesmo, isto , substituindo o
valor arredondado da soluo do S=24,375
LP relaxado, (se vivel) na funo V=23,00
objetivo, obtemos um limite x1=3.75
inferior. x2=4.125
(3) + 5x(4) =
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Algoritmo de Branch-And-Bound
Passo 2
Dividir o Problema original (P1) em dois problemas menores P2 e P3,
isto , Branch
Escolhemos arbitrariamente x1 (x1=3,75)
Max x1 + 5 x2 P2 Max x1 + 5x2 P3
s.t. 11x1 + 6 x2 66 s. t . 11x1 + 6 x2 66
5 x1 + 50 x2 225 5x1 + 50 x2 225
x1 3 x1 4
x1 , x2 0 e inteiros x1 , x2 0 e inteiros
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Algoritmo de Branch-And-Bound
Passo 2 - Graficamente Soluo tima para
x2 P2 Relaxado
(3 ; 4,20)
P2*=24,00
4
2 4 6 x2
Eliminado
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Algoritmo de Branch-And-Bound
Melhor Limite Superior Atual (MLSA)
Passo 3 - Anlise MLSA=24,00
S=24,375
Melhor Limite Inferior Atual (MLIA)
V=23,00 MLIA=23,00
x1=3.75
x1 3 x2=4.125 x1 4
Programao Inteira
Algoritmo de Branch-And-Bound
Passo 2
Dividir o Problema (P2) em dois problemas
menores P4 e P5, isto , Branch
Escolhemos x2 (x2=4,20)
Max x1 + 5x2 P4 Max x1 + 5 x2 P5
s. t . 11x1 + 6 x2 66 s.t. 11x1 + 6 x2 66
5x1 + 50 x2 225 5 x1 + 50 x2 225
x1 3 , x2 4 x1 3 , x2 5
x1 , x2 0 e inteiros x1 , x2 0 e inteiros
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Algoritmo de Branch-And-Bound
Passo 2 - Graficamente Soluo tima para
x2
P4 Relaxado
P5 (3 ; 4)
Invivel P4*=23,00
4
P4
2 4 6 x2
Eliminado
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Inteira
Algoritmo de Branch-And-Bound
Melhor Limite Superior
Atual (MLSA)=23,00
S=24,375
Melhor Limite Inferior
V=23,00
x1=3.75
Atual (MLIA)=23,00
x1 3 x2=4.125 x1 4
S=24,00 S=22,333
x1=3,0 x1=4,0
x2=4,20 x2=3.667
x2 4 x2 5 T
S=23,00
x1=3,0 Invivel
x2=4
T T
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
A programao dinmica (PD) determina a soluo tima de um
problema multivarivel decompondo-o em estgios, sendo que cada
estgio compreende um subproblema com uma nica varivel.
Programao Dinmica
Problema do caminho mais curto
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Programao Dinmica
f(x) a distncia mais curta at o n xi no estgio i
Ento
f2(5) = 12 e f2(6) = 17
f3(7) = 21
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
f1(2) = 7, f1(3) = 8 e f1(4) = 5
f2(5) = 12 e f2(6) = 17
f3(7) = 21
Programao Dinmica
Trs elementos bsicos dos modelos de PD:
Definio dos Estgios;
A definio dos estados varia conforme a situao que est sendo modelada.
Quais so as informaes necessrias para tomar decises viveis no estgio atual sem
reexaminar as decises tomadas em estgios anteriores?
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Problema da mochila/kit de voo/ carga
Maximizar z = r1 m1 + r2 m2 + r3 m3 + ... + rn mn
Sujeito a : w1 m1 + w2 m2 + w3 m3 + ... + wn mn W
m1 ,m2 , m3 0 e inteiros
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Os elementos do modelo so:
1 o estgio i representado pelo item i, i = 1,2,3...n.
3 O estado do estgio i representado por xi, o peso total designado para os estgios
(itens) i, i+1, ...e n. Essa definio reflete o fato de que a restrio de peso a
nica que liga todos os estgios.
Programao Dinmica
Ex.: Um navio de 4T pode ser carregado com um ou mais de trs itens.
A tabela abaixo d o peso unitrio wi em toneladas e a receita unitria,
ri, em milhares de dlares, para o item i. Como o navio deve ser
carregado para maximizar o retorno total?
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Estgio/Item 1 Estgio/Item 2 Estgio/Item 3
2T 3T 1T
F (0) =
1 F2(0) = F3(0) =
0 0 0
F1(1) = F2(1) = F3(1) =
1 1 1
F1(2) = F2(2) = F3(2) =
2 2 2
F1(3) = F2(3) = F3(3) =
3 3 3
F1(4) = F2(4) = F3(4) =
4 4 4
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Estgio/Item 1 Estgio/Item 2 Estgio/Item 3
2T 3T 1T
F (0) =
1 F2(0) = F3(0) =
0 0
0 0 0
F1(1) = F2(1) = 14 F3(1) =
47
1 1 2*14=28 1
F1(2) = F2(2) = F3(2) =
31 0 3*14=42
2 2 14 2
4*14=56
F1(3) = F2(3) = F3(3) =
2*14=28
0
3 3 3
14
F1(4) = F2(4) =0 F3(4) =
2*31=62 0
4 4 4
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Estgio/Item 1 Estgio/Item 2 Estgio/Item 3
2T 3T 1T
F (0) =max[0+56=56, 47+14=61] F (0) =max [0,14,28,45,56]
1 2 F (0) =0 3
0 0
0 0 0
F1(1) = F2(1) = 14 F3(1) =0
47
1 1 28 1
F1(2) =31+28=59 F2(2) =max[0,14,28] F3(2) =0
31 0 42
2 2 14 2
F1(3) = F2(3) = max[0,14]56 F3(3) =0
28
0
3 3 3
14
F1(4) =62+0=62 F2(4) =0 F3(4) =0
62 0
4 4 4
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Estgio/Item 1 Estgio/Item 2 Estgio/Item 3
2T 3T 1T
F (0) =max[0+56=56, 47+14=61] F (0) =max [0,14,28,45,56]
1 2 F (0) =0 3
0 0
0 0 0
14 F3(1) =0
47
28 1
F1(2) =31+28=59 F2(2) =max[0,14,28] F3(2) =0
31 0 42
2 2 14 2
F2(3) = max[0,14]56 F3(3) =0
28
0
3 3
14
F1(4) =62+0=62 F2(4) =0 F3(4) =0
62 0
4 4 4
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Define-se a expresso recursiva em 2 etapas:
Programao Dinmica
Para o estgio 3 temos:
w3=1T, para W=4 temos a possibilidade de carregar: 0,1,2,3 ou 4T ou seja 5 estados
possveis (xi). E os valores de m podem assumir 4/1 valores incluindo 0.
Programao Dinmica
Para o estgio 2 temos:
w2=3T, para W=4 temos que os valores de m podem assumir so 4/3 valores,
devendo ser inteiro, seria 1 e incluindo 0 temos dois valores. Os estados xi no
se alteram.
f2(x2) = max{47m2+ f3(x2-3m2)} para m2 = 0 e 1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
Para o estgio 1 temos:
w1=2T, para W=4 temos que os valores de m podem assumir so 4/2 valores,
isto 2 e incluindo 0 temos trs valores. Os estados xi no se alteram.
f1(x1) = max{31m1+ f2(x1-2m1)} para m1 = 0, 1 e 2
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao Dinmica
A soluo tima determinada no estgio 1 em m1 = 2 com x1=4
Programao No Linear
De forma geral, um problema de programao
no linear tem a seguinte forma:
Programao No Linear
Aplicaes
Programao No Linear
Soluo Grfica
Considere o Problema de Programao Linear e
sua soluo grfica
Max Z 3x1 + 5x2 x2
s. r. x1 4 (0;6)
(2;6)
2x2 12
3x1+ 2x2 18 Soluo (4;3)
Vivel
x1 0, x2 0
(0;0)
(4;0) x1
1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
Soluo Grfica
Considere o Problema e sua soluo grfica
(restries no lineares)
x2
Max Z 3x1 + 5 x2 (2;6)
6
s.t. x1 4
4
9 x + 5 x 216
2
1
2
2 Soluo
Vivel
x1 0, x2 0 2
0
0 1 2 3 4 x1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
Soluo Grfica
A soluo tima:
a mesma do problema
linear. x2
continua na fronteira do (2;6)
conjunto de solues 6
viveis.
no mais um extremo do
conjunto de solues 4
viveis, mas poderia ainda Soluo
ocorrer em um ponto Vivel
extremo. 2
No existe a simplificao
(enumerao) existente 0
em Programao Linear 0 1 2 3 4 x1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
Soluo Grfica
- 2
+ - 2
Max Z=126x1 9 x1 182x2 13x2
s. r. x1 4
2x2 12 x2
(2;6)
3x1+ 2 x2 18 (0;6)
x1 0, x2 0 Soluo (4;3)
Vivel
(0;0)
(4;0) x1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
Soluo Grfica
A funo-objetivo uma equao quadrtica.
Z=126 x1 - 9 x12 + 182 x2 - 13x22
126
2
182
2
2 126 126
2
2 182 182
2
Z - 9 - 13 -9 x1 - x1 + - 13 x2 - x2 +
18 26 9 18 13 26
Z - 441 - 637 -9 x1 - 7 - 13 x2 - 7
2
2
Programao No Linear
Soluo Grfica
Max Z = 857=126x1 - 9 x12 + 182 x2 - 13x22
x2
6
4
Z = 907
Z = 857
Soluo Z = 807
2 Vivel
2 4 x1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
Soluo Grfica
- 2
+ - 2
Max Z=54 x1 9 x1 78 x2 13x2
s. r. x1 4 x2
2x2 12 (2;6)
(0;6)
3x1+ 2 x2 18
Soluo (4;3)
x1 0, x2 0 Vivel
(0;0)
(4;0) x1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
Soluo Grfica
A funo-objetivo uma equao quadrtica
Z=54 x1 - 9 x12 + 78 x2 - 13x22
54
2
78
2
2 54 54
2
2 78 78
2
Z - 9 - 13 -9 x1 - x1 + - 13 x2 - x2 +
18 26 9 18 13 26
Z - 81 - 117 -9 x1 - 3 - 13 x2 - 3
2 2
Programao No Linear
Soluo Grfica
4
Soluo no interior do
3 Z = 198 conjunto de solues
2 viveis e no mais na
Soluo fronteira do conjunto
Vivel
2 3 4 x1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
A soluo tima de um problema de
programao no linear (NLP), diferentemente
de um problema de LP, pode ser qualquer ponto
do conjunto de solues viveis.
Programao No Linear
O Excel utiliza o algoritmo GRG (generalized reduced gradient)
para chegar soluo para um dado problema.
O algoritmo no garante que a soluo encontrada uma soluo
global.
O trabalho desse algoritmo consiste em, a partir de uma condio
inicial, seguir passo a passo, calculando valores para as variveis
do modelo e checando o comportamento da funo-objetivo.
No momento em que o valor da funo-objetivo inverte de
tendncia, ou seja, deixa de crescer para diminuir (caso de
maximizao) ou deixa de diminuir para comear a crescer (caso
de minimizaes), o Solver assume que encontrou um ponto de
mximo ou de mnimo da funo, que pode ser tanto um extremo
local quanto global.
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
Excel
No entanto, com este procedimento, o algoritmo no garante que
a soluo encontrada seja a soluo global, pois a princpio no
h certeza se aquela funo analisada no ir inverter o seu
comportamento novamente.
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
Uma maneira prtica para tentar minorar o problema de
mximos e mnimos locais comear a otimizao de
diversos pontos iniciais, gerados aleatoriamente.
Se todas as otimizaes gerarem o mesmo resultado, voc
pode ter maior confiana, no a certeza, de ter atingido
um ponto global.
Caso contrrio, deveremos supor a existncia de diversos
extremos locais (relativos) e assumir o melhor valor
encontrado.
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Programao No Linear
PROGRAMAO QUADRTICA
Os problemas que forem classificados como de Programao
Quadrtica, independentemente de o modelo se tratar de uma
maximizao ou de uma minimizao, tero a sua soluo tima
encontrada pelos algoritmos de resoluo de problemas no
lineares sem dificuldades.
Localidade X Y
Nova Iguau -5 10
Queimados 2 1
Duque de Caxias 10 5
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Nova Iguau
(-5,10) Duque de
Caxias
(10,5)
Queimados
X
(2,1)
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
i 1
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Restries de Distncia
( x1 X ) ( y1 Y ) 10
- 2
+ - 2
( x2 X ) ( y2 Y ) 10
- 2
+ - 2
( x3 X ) ( y3 Y ) 10
- 2
+ - 2
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
Bibliografia
Engineering Optimization - An Introduction with Metaheuristic
Applications, Xin-SheYang, A John Wiley & Sons, p 378, 2010.
Computation Intelligence Paradigms using Matlab, Sumathi S. e
Surekha P., Taylor and Francis Group, p 835, 2010.
Otimizao Combinatria e Metaheursticas: Algoritmos e
Apliacaes, Marco Cezar Goldbarg, Elizabeth Gouva Goldbarg e
Henrique Pacca Loureiro Luna - 1 Edio, Editora Elsevier, 416p,
2015.
Inteligncia Artificial. Stuart J. Russel e Peter Norvig. Ed. Campus,
2004.
Taha, H. A.; Pesquisa Operacional. Pearson Addison Wesley, 8
Edio, 2008.
Sistemas Inteligentes Fundamentos e Aplicaes. Solange Oliveira
Rezende et al, Ed. Manole, 2002
(CCO-727) Otimizao Inteligente de Sistemas Produtivos
FIM