You are on page 1of 70

Universidade Federal de Juiz de Fora

Doutorado/Mestrado - PPEE

Aplicao de Tcnicas de
Otimizao Em Sistemas de
Energia Eltrica
Leonardo Willer de Oliveira
06 de Outubro de 2017
Ementa

Branch and Bound

Busca Tabu

Recozimento Simulado

Enxame de Partculas
2
Referncias

 Resende, Pardalos, Handbook of Applied Optimization,


Oxford, University Press, 2002

 Glover, F., Laguna, M., Tabu Search, Kluwer Academic


Publishers, Boston, 1997.

 Richard Bronson, Pesquisa Operacional, McGraw Hill, So


Paulo, 1985

3
Ramifique e Limite

Programao inteira mista

Problema inicialmente relaxado

Limite Inferior (LINF - Minimizao) ou Superior


(LSUP - Maximizao)

Verificao da integralidade da soluo encontrada

Criao de uma rvore de subproblemas (ns)


4
Exemplo

Max Z = 2 x1 + x2
sa
x1 + x2 5
x1 + x2 0
6 x1 + 2 x2 21
x1 , x2 0
x1 , x2 int
5
Soluo PL relaxado Max Z = 2 x1 + x2
sa
x1 + x2 5
x1 = 2,75 LIMITE SUPERIOR
x1 + x2 0
x2 = 2,25 6 x1 + 2 x2 21
x1 , x2 0
Z = 7,75 x1 , x2 int
Qual varivel deve ter prioridade na discretizao? x1 ou x2?
x1 2 x1 3

x1 = 2 x1 = 3
x2 = 2 x2 = 1,5
Z =6 Z = 7,5
Integridade atendida Integridade violada
PARE!!!! CONTINUE!!! 6
Max Z = 2 x1 + x2
sa
x1 + x2 5
Integridade violada x1 = 3
x1 + x2 0
x2 = 1,5 6 x1 + 2 x2 21
x1 , x2 0
Z = 7,5 x1 , x2 int

x2 1 Qual varivel deve ter prioridade na discretizao? x1 ou x2?


x2 2

x1 = 3,17
Soluo
x2 = 1
Invivel
Z = 7,3
Integridade violada
PARE AQUI !!!! 7
CONTINUE!!!
Max Z = 2 x1 + x2
sa
Integridade violada x1 + x2 5
x1 = 3,17 x1 + x2 0

x2 = 1 6 x1 + 2 x2 21
x1 , x2 0
Z = 7,3 x1 , x2 int

Qual varivel deve ter prioridade na discretizao? x1 ou x2?


x1 3
x1 4

x1 = 3
Soluo
x2 = 1
Z =7 Invivel

Integridade atendida
PARE!!!! PARE AQUI !!!! 8
rvore de Soluo Max Z = 2 x1 + x2
sa
x1 + x2 5
Z=7,75
x1 + x2 0
x1 2
x1 3 6 x1 + 2 x2 21
x1 , x2 0
Z=6
x1 , x2 int
Z=7,5

x2 1 x2 2

Invivel
Z=7,3

x1 3 x1 4

Soluo tima Z=7 Invivel


9
Toolbox MATLAB

Parmetros Parmetros
de de
Sada Entrada

10
Entrada

Parmetros de Entrada da Funo:

f = coeficientes da funo objetivo;


A= coeficientes da matriz de inequaes;
b= coeficientes do vetor independente das inequaes;
Aeq= coeficientes da matriz de equaes;
beq= coeficientes do vetor independente das equaes;
lb= limites inferiores das variveis;
ub=limites superiores das variveis;
x0=condio inicial das variveis;
Val0= valor da funo objetivo inicial (Limite superior ou Inferior da FOB);
M= vetor com os ndices das variveis inteiras do problema;
e= tolerncia de integridade;
11
Sada
Parmetros de Sada da Funo:

x = valor das variveis;


val = valor da funo objetivo;
status= informao de convergncia

status = +1 convergncia obtida com sucesso;


status = 0 nmero mximo de iteraes atingido;
staus = -1 no foi encontrada soluo factvel.

b= resultado por profundidade (conferncia);


12
Exemplo MATLAB

Max Z = 2 x1 + x2
sa
x1 + x2 5
x1 + x2 0
6 x1 + 2 x2 21
x1 , x2 0
x1 , x2 int
13
Soluo MATLAB

14
Sobre o Mtodo

Vantagens

Obteno do ponto timo global;

Medida da otimalidade do melhor ponto encontrado;

Desvantagem

Elevado tempo computacional e memria para aplicaes de


grande porte.

15
Atividade

Utilize o mtodo de B&B para maximizar o problema abaixo

Max Z = 3 x1 + 2 x2 + 4 x3
sa
x1 x2 + 2 x3 15
x1 + x2 + x3 12
4 x1 + 3 x2 + 3 x3 25
2 x1 + 4 x2 + 5 x3 30 Resposta

x1 , x2 , x3 0 e int x1 = 2, x2 = 0, x3 = 5
16
Busca Tabu (Tabu Search)

Glover, F. (1986) Future paths for integer programming and links to artificial
intelligence, Computers & Operations Research, Vol. 13, pp. 533-549.

Memria social

Tabu: proibio ou restrio

Evitar riscos

Evidncias de melhores solues podem quebrar o tabu

17
Busca Tabu
Aplicaes

Anlise financeira, biomdica

Planejamento

Telecomunicaes

Logstica

Engenharia Molecular

http://www.upt.pt/tabusearch
18
Busca Tabu

Caractersticas
Meta-heurstica para otimizao combinatria

Lista Tabu Evita a ocorrncia de ciclos

 Lista Dinmica

 Memria Adaptativa

Critrio de Aspirao

Diversificao

Intensificao
19
Busca Tabu
Ilustrao do algoritmo de BT

1 Princpio (Heurstica de subida ou descida):


Mover para o melhor vizinho

20
Busca Tabu
Ilustrao do algoritmo de BT

1 Princpio (Heurstica de subida ou descida):


Mover para o melhor vizinho

B
C

21
Busca Tabu
Ilustrao do algoritmo de BT

1 Princpio (Heurstica de subida ou descida):


Mover para o melhor vizinho

B
C
D

22
Busca Tabu
Ilustrao do algoritmo de BT

1 Princpio (Heurstica de subida ou descida):


Mover para o melhor vizinho

B E
C
D

Fica-se preso no primeiro timo local


23
Busca Tabu
Ilustrao do algoritmo de BT

Soluo: Admitir ponto de piora

B E F
C
TABU D

24
Busca Tabu
Ilustrao do algoritmo de BT

Soluo: Evoluo do processo iterativo

B E F
C
D

25
Busca Tabu
D
8
B

4 7 E

6
3
F

C
2
G

26
Busca Tabu
D
8 Perda Total = Perda Total + 4
B

4 7 E

6
3
F

C
2
G

27
Busca Tabu
D
8 Perda Total = Perda Total + 4
B

4 7 E

A Perda Total = Perda Total + 4 + 8 =


6 Perda Total + 12
3
F

C
2
G

28
Busca Tabu
D
8 Perda Total = Perda Total + 4
B

4 7 E

A Perda Total = Perda Total + 4 + 7 =


6 Perda Total + 11
3
F

C
2
G

29
Busca Tabu
D
8
B

4 7 E

6
3
F
Perda Total = Perda Total + 6
C
2
G

30
Busca Tabu
D
8
B

4 7 E

6
3
F
Perda Total = Perda Total + 6
C
2
G
Perda Total = Perda Total + 6 + 2 =
Perda Total + 8

31
Busca Tabu
Algoritmo Simplificado

Perturbaes aleatrias
ou movimentos
Lista Tabu
e
Critrio de Aspirao

Tempo Tabu

No. Max. de Iteraes 32


Aplicaes

Aspectos a serem previamente considerados

Representao das solues

Funo Objetivo

Operador

Classificao tabu

Critrio de convergncia

33
Aplicao-1
Problema do Caixeiro Viajante
Solues Possveis:
Todos os percursos fechados passando por cada
cidade uma nica vez.

Objetivo:

Minimizar a distncia total do percurso. 3 2


5 4
4
5 6
4 3

5
34
Aplicao-1
Representao das Solues:
Seqncia de cidades do percurso.
3 2 s=[B,D,E,C,A]
5 4
Funo Objetivo:
4
Distncia total do percurso.
5 6 custo(s) = 6 + 4 + 5 + 4 + 2 = 21
4 3 Operador:
Permutar 2 cidades consecutivas
Gerar 5 vizinhos por iterao
5
s1 = [D,B,E,C,A]
s2 = [B,E,D,C,A]
s3 = [B,D,C,E,A]
s4 = [B,D,E,A,C]
s5 = [A,D,E,C,B]

Mximo de 3 iteraes.
35
Aplicao-1
Iterao: 0

Soluo Lista Melhor


Vizinhos
2 Atual Tabu Soluo
4
EBDCA (22)
4
BDECA (21)
BEDCA (19) BEDCA BEDCA (19) BECDA (21)
4 BEDAC (20)
AEDCB (17)
5 EADCB (20)
ADECB (19)
BEDCA
AEDCB (17) AEDCB (17) AECDB (21)
AEDCB
AEDBC (20)
BEDCA (19) TABU
36
Aplicao-1
Iterao: 1

Soluo Lista Melhor


Vizinhos
3 2 Atual Tabu Soluo
EBDCA (22)
BDECA (21)
BEDCA (19) BEDCA BEDCA (19) BECDA (21)
4 3 BEDAC (20)
AEDCB (17)
5 EADCB (20)
ADECB (19)
BEDCA
AEDCB (17) AEDCB (17) AECDB (21)
AEDCB
AEDBC (20)
BEDCA (19) TABU
37
Aplicao-1
Iterao: 2

Soluo Lista Melhor


Vizinhos
2 Atual Tabu Soluo
5
DAECB (22)
BEDCA AEDCB (17) TABU
ADECB (19) AEDCB AEDCB (17) ADCEB (21)
5
4 3 ADECB ADEBC (20)
BDECA (21)

38
Aplicao-1
Iterao: 2

Soluo Lista Melhor


Vizinhos
3 2 Atual Tabu Soluo
DAECB (22)
BEDCA AEDCB (17) TABU
ADECB (19) AEDCB AEDCB (17) ADCEB (21)
4 3 ADECB ADEBC (20)
BDECA (21)
5
Soluo tima

39
Aplicao-2
O Problema de rvore Mnima

P = 40
26
1
34
26 6 23
2 3 5 12
20 16 9 16
1 17 18

15 16
1 4 6 9 11
25 24
6 16 7 9
8

7 8 10
20 9

40
Aplicao-2

26 6 23
2 3 5 12
20 16 9 16
1 17 18
15 16
1 4 6 9 11
25 24
6 16 7 9
8
7 8 10
Tabu Ativos
20 9

41
Aplicao-2

26 6 23
2 3 5 12
20 16 9 16
1 17 18
15 16
1 4 6 9 11
25 24
6 16 7 9
8
7 8 10
20 9

42
Recozimento Simulado
(Simulated Annealing)

Analogia ao recozimento de metais

Movimento dos tomos a altas temperaturas

Cristalizao com a mnima energia interna

Reduo lenta e controlada da temperatura

Conceito de vizinhana

Otimizao passo a passo

Probabilidade de aceitao de solues ruins

43
Recozimento Simulado

Idia Bsica

Se a nova soluo melhor que a atual, a nova


soluo aceita

Caso contrrio, a nova soluo aceita com


uma dada probabilidade

A probabilidade controlada por um parmetro


dinmico denominado temperatura.

44
Recozimento Simulado

Distribuio de Boltzmann

P ( E ) = e E / kT

P ( E ) Probabilidade de se alcanar o nvel de energia E


temperatura T

k Constante de Boltzmann (fator de escala no RS)

T pode controlar a convergncia do algoritmo de RS

45
Recozimento Simulado

Aplicao em problemas de otimizao

Min Ei = fi = f ( Xi )
Passo Xi Xi +1

E = Ei +1 Ei = f = fi +1 fi f ( Xi +1 ) f ( Xi )

Distribuio de probabilidades de Boltzmann

{
P ( Ei +1 ) = min 1, eE / kT }
46
Recozimento Simulado

Aplicao em problemas de otimizao

Distribuio de probabilidades de Boltzmann

{
P ( Ei +1 ) = min 1, eE / kT }
Se E 0 f ( Xi +1 ) f ( Xi ) P ( Ei +1 ) = 1

Se E > 0 f ( Xi +1 ) > f ( Xi ) {


P ( Ei +1 ) = eE / kT }

47
Recozimento Simulado

Aplicao em problemas de otimizao

Equilbrio trmico em T

n solues Xi+1 em T: T = c T ( 0 < c < 1)

Critrio de Convergncia:

T ou f suficientemente pequenos

48
Recozimento Simulado

Aplicao em problemas de otimizao

Inicializao
T1 , c, n
Valores muito grandes: processo iterativo lento
Valores muito pequenos: limitam o espao de busca
Deciso Complexa
T1 Mdia dos valores de f em pontos aleatrios
n ( 50 < n < 100 ) Recursos x eficcia desejada
c ( 0, 4 < c < 0, 6 ) Estratgia razovel de reduo
49
Recozimento Simulado

50
Aplicao-1
Representao das Solues:
Seqncia de cidades do percurso.
3 2 s=[B,D,E,C,A]
5 4
Funo Objetivo:
4
Distncia total do percurso.
5 6 custo(s) = 6 + 4 + 5 + 4 + 2 = 21
4 3 Operador:
Permutar 2 cidades consecutivas
Gerar 5 vizinhos por iterao
5
s1 = [D,B,E,C,A]
Esquema de resfriamento:
Temperatura inicial : T0 = 1
Regra de resfriamento: c = 0,9; n = 1
Constante de Boltzmann: k =1 Mximo de 5 iteraes.
51
Aplicao-1
Iterao: 0

T Soluo Custo Aleatrio Probabilidade Aceita?


2
4
1 BDECA 21

5 6 0,9 BDEAC 20 S

4
0,81 BDAEC 22 0,02
e-(22
22-20
22 20)/0
20 0,81
S
= 0,085

0,73 BADEC 19 S

0,66 BADCE 21 0,13


e-(21
21-19
21 19)/0
19 0,66
N
= 0,047

0,59 BAEDC 17 S
52
Aplicao-1
Iterao: 1

T Soluo Custo Aleatrio Probabilidade Aceita?


3
4
1 BDECA 21

6 0,9 BDEAC 20 S

4 3
0,81 BDAEC 22 0,02
e-(22
22-20
22 20)/0
20 0,81
S
= 0,085

0,73 BADEC 19 S

0,66 BADCE 21 0,13


e-(21
21-19
21 19)/0
19 0,66
N
= 0,047

0,59 BAEDC 17 S
53
Aplicao-1
Iterao: 2

T Soluo Custo Aleatrio Probabilidade Aceita?


3
5
1 BDECA 21

5 6 0,9 BDEAC 20 S

3
0,81 BDAEC 22 0,02
e-(22
22-20
22 20)/0
20 0,81
S
= 0,085

0,73 BADEC 19 S

0,66 BADCE 21 0,13


e-(21
21-19
21 19)/0
19 0,66
N
= 0,047

0,59 BAEDC 17 S
54
Aplicao-1
Iterao: 3

T Soluo Custo Aleatrio Probabilidade Aceita?


2
5
1 BDECA 21

5 0,9 BDEAC 20 S
4 3
0,81 BDAEC 22 0,02
e-(22
22-20
22 20)/0
20 0,81
S
= 0,085

0,73 BADEC 19 S

0,66 BADCE 21 0,13


e-(21
21-19
21 19)/0
19 0,66
N
= 0,047

0,59 BAEDC 17 S
55
Aplicao-1
Iterao: 4

T Soluo Custo Aleatrio Probabilidade Aceita?


2
5
1 BDECA 21

5 0,9 BDEAC 20 S

4 3
0,81 BDAEC 22 0,02
e-(22
22-20
22 20)/0
20 0,81
S
= 0,085

0,73 BADEC 19 S

0,66 BADCE 21 0,13


e-(21
21-19
21 19)/0
19 0,66
N
= 0,047

0,59 BAEDC 17 S
56
Aplicao-1
Iterao: 5

T Soluo Custo Aleatrio Probabilidade Aceita?


3 2
1 BDECA 21

0,9 BDEAC 20 S

4 3
0,81 BDAEC 22 0,02
e-(22
22-20
22 20)/0,81
20 0,81
S
= 0,085

5 0,73 BADEC 19 S

0,66 BADCE 21 0,13


e-(21
21-19
21 19)/0
19 0,66
N
= 0,047

0,59 BAEDC 17 S
57
Aplicao-2

Min f ( X ) = 500 20 x1 26 x2 4 x1 x2 + 4 x12 + 3 x22

Algoritmo

 Passo-1: Inicializao

 Inicializao dos Parmetros T1 , c, n


 Escolha de uma soluo inicial

 Nmero de passos: p = 1, i = 1

 Nmero de rejeies: r = 0

58
Aplicao-2

Min f ( X ) = 500 20 x1 26 x2 4 x1 x2 + 4 x12 + 3 x22

Temperatura Inicial - mdia dos valores de f para:

(1) 2 ( 2) 5 ( 3) 8 ( 4 ) 10
X = ; X = ; X = ; X =
0 10 5 10

f ( ) = 476; f ( ) = 340
1 2
T1 = 384, 25
f ( 3)
= 381 e f ( 4)
= 340

Fator de reduo de temperatura: c = 0, 5

Nmero mximo de iteraes para um valor de T: n=2 59


Aplicao-2

Min f ( X ) = 500 20 x1 26 x2 4 x1 x2 + 4 x12 + 3 x22

4
Soluo Inicial: X1 =
5

 Passo-2: Calculo da funo objetivo

 Armazena melhor soluo: f* = f0

Valor de f para a soluo inicial: f1 = f ( X1 ) = 349, 0


f * = f1

60
Recozimento Simulado

 Passo-3 1 execuo: Perturbao da soluo corrente (X1)


i =1
u1 = 0,31
Gerao de dois nmeros aleatrios [0,1):
u2 = 0,57

Determinao de uma faixa de variao em torno dos valores

iniciais: 6
4 2 x1 10
X1 =
5 1 x2 11

x1 = 2 + u1 {10 ( 2 )} = 2 + 0,31 (12 ) = 1, 72


x2 = 1 + u2 {11 ( 1)} = 1 + 0,57 (12 ) = 5,84
61
Recozimento Simulado

Soluo do problema

f ( X ) = 500 20 x1 26 x2 4 x1 x2 + 4 x12 + 3 x22

1, 72
para o ponto perturbado X 2 =
5,84

f 2 = f ( X2 ) = 387, 7312

62
Recozimento Simulado

 Passo-4 1 execuo: Aplicao do critrio de aceitao


 Se no houver violaes

Calcula-se f = fi +1 fi

Se f 0 f * = fi +1 Soluo atual = nova soluo


( p = p + 1)
Se f > 0 ef / T aleatorio[0,1) ( k = 1)
No Sim

Soluo atual = nova soluo Soluo atual = soluo anterior


f * = fi +1 , ( p = p + 1) f * = fi , ( r = r + 1)
63
Recozimento Simulado

f = f 2 f1 = 387, 7312 349, 0 = 38, 7312

P [ X2 ] = ef / kT = e38,7312/384,25 = 0,9041

aleatorio [0,1) 0,83

Soluo aceita Soluo atual = X2

64
Recozimento Simulado

Verificao da condio de equilbrio trmico

i = i +1

 in Volta para o Passo-3 n=2


 i>n Passo-5

i = i +1 = 2 > 2

 Passo-3
65
Recozimento Simulado

 Passo-3 2 execuo: Perturbao da soluo corrente (X2)

i = i +1 = 2
u1 = 0,92
Nmeros aleatrios: u = 0, 73
2

1, 72 4, 28 x1 7, 72
Faixa 6 em torno de X2 =
5,84 0,16 x2 11,84

x1 = 4, 28 + u1 {7, 72 ( 4, 28 )} = 4, 28 + 0,92 (12 ) = 6, 76


x2 = 0,16 + u2 {11,84 ( 0,16 )} = 0,16 + 0, 73 (12 ) = 8, 60

66
Recozimento Simulado

 Passo-4 2 execuo: Aplicao do critrio de aceitao

x1 6, 76
X3 = =
2
x 8, 60
f ( X ) = 500 20 x1 26 x2 4 x1 x2 + 4 x12 + 3 x22

f3 = f ( X3 ) = 313,3264

f = f3 f 2 = 313,3264 387, 7312 = 74, 4048

Soluo aceita
67
Recozimento Simulado

Verificao da condio de equilbrio trmico

i = i +1

 in Volta para o Passo-3 n=2


 i>n Passo-5

i = i +1 = 3 > 2

 Passo-5
68
Recozimento Simulado

 Passo-5: Reduo da temperatura (T)

T = c T

Sim Fim
 Convergncia?
No i = 1, r = 1 Passo-3

i
 c proporcional a
i+r
69
Resumo

Busca Tabu Recozimento Simulado

Menor nmero de iteraes Menor esforo computacional


para uma iterao

Existem diversas variaes dos dois mtodos

http://www.upt.pt

70