• Nenhum resultado encontrado

Restauração de sistemas de distribuição de energia elétrica utilizando evolução diferencial com árvore de ancestralidade

N/A
N/A
Protected

Academic year: 2017

Share "Restauração de sistemas de distribuição de energia elétrica utilizando evolução diferencial com árvore de ancestralidade"

Copied!
122
0
0

Texto

(1)

Restaura¸

ao de Sistemas de Distribui¸

ao

de Energia El´

etrica Utilizando Evolu¸

ao

Diferencial com ´

Arvore de

Ancestralidade

Ricardo S´ergio Prado

Texto submetido `a banca examinadora designada pelo Colegiado do Programa de P´os-Gradua¸c˜ao em Engenharia El´etrica da Universidade Federal de Minas Gerais

para a obten¸c˜ao do t´ıtulo de Doutor em Engenharia El´etrica

Orientador:

Frederico Gadelha Guimar˜aes

Escola de Engenharia

Departamento de Engenharia El´etrica

(2)
(3)
(4)

Problemas de Restaura¸c˜ao de Sistemas de Distribui¸c˜ao de Energia (SDE), como

restau-ra¸c˜ao de servi¸co, redu¸c˜ao de perdas resistivas e planejamento da expans˜ao do sistema, s˜ao normalmente formulados como problemas de otimiza¸c˜ao multiobjetivo com v´arias res-tri¸c˜oes inerentes ao sistema. V´arios Algoritmos Evolucion´arios (AE) tˆem sido propostos

na resolu¸c˜ao desses tipos de problemas, mas a grande maioria deles ainda demandam um tempo computacional muito grande quando aplicados em grandes SDE (milhares

de barramentos e chaves). Neste trabalho ´e apresentada uma nova abordagem para a restaura¸c˜ao de servi¸co em SDE de larga escala utilizando um algoritmo discreto para Evolu¸c˜ao Diferencial baseado em uma Lista de Movimentos com ´Arvore de

Ancestrali-dade (DE-Tree), no qual a ´Arvore de Ancestralidade ´e utilizada para construir a lista de movimentos. A Representa¸c˜ao N´o-Profundidade (RNP) ´e utilizada para representar

computacionalmente a topologia do sistema el´etrico e dois operadores, o Preserve An-cestor Operator (PAO) e oChange Ancestor Operator(CAO), s˜ao utilizados na evolu¸c˜ao

da popula¸c˜ao. A abordagem proposta mostra que a Evolu¸c˜ao Diferencial ´e adequada na resolu¸c˜ao de problemas de otimiza¸c˜ao de SDE preservando o mecanismo de autoadapta-¸c˜ao da muta¸c˜ao diferencial. Resultados apresentados na reconfigura¸c˜ao de SDE sugerem

(5)

Problems in Power Distribution System Restoration (PDSR), such as service resto-ration, power loss reduction, and expansion planning, are usually formulated as

multi-objective and multi-constrained optimization problems. Several Evolutionary Algo-rithms (EAs) have been developed to deal with PDSR problems, but the majority of

EAs still demand high running time when applied to large-scale Distribution Systems (thousands of buses and switches). This work presents a new approach for service resto-ration in large-scale distribution systems that employs a Discrete Differential Evolution

based on List of Movements with ancestor Tree (DE-Tree), in which the Ancestor Tree is used to obtain the list of movements. The Node-Depth Encoding (NDE) is used to

computationally represent the electrical topology of the system and its operators, the Preserve Ancestor Operator (PAO) and the Change Ancestor Operator (CAO), are used to evolve the population. The proposed approach makes Differential Evolution suitable

for treating combinatorial optimization problems related to PDSR preserving the self-adaptive differential mutation mechanism. Results presented on Distribution System

(6)

Ao Prof. Frederico Gadelha Guimar˜aes pela valorosa orienta¸c˜ao prestada no

desen-volvimento deste trabalho, pela amizade e pelos jantares gastronˆomicos.

Ao Prof. Oriane Magela Neto (in memoriam), colega de outrora, pela amizade e

orienta¸c˜ao inicial deste trabalho, sempre atencioso e que sempre nos contagiou, a todos, com seu sorriso (gargalhada) sempre alegre.

Aos professores e funcion´arios do PPGEE da UFMG que, direta ou indiretamente,

contribu´ıram para a realiza¸c˜ao deste trabalho.

Ao Instituto Federal de Minas Gerais - Campus Ouro Preto pelo apoio dispensado

ao longo destes anos de doutoramento.

Aos colegas e amigos S´ılvia, Rodrigo, Betˆania, Lucas e ´Erica, Tatiana, Denise, Alan,

Andr´e, pela amizade e os momentos agrad´aveis que desfrutamos juntos durante esses anos.

(7)

Resumo iii

Agradecimentos v

Lista de Figuras viii

Lista de Tabelas x

S´ımbolos xii

1 Introdu¸c˜ao 1

1.1 Apresenta¸c˜ao . . . 1

1.2 Contexto Hist´orico . . . 2

1.3 Conceitos B´asicos . . . 3

1.3.1 Muta¸c˜ao Diferencial . . . 5

1.3.2 Cruzamento . . . 8

1.3.3 Sele¸c˜ao . . . 9

1.4 Objetivos . . . 11

1.5 Motiva¸c˜ao . . . 12

1.6 Estrutura do Trabalho . . . 13

2 DE Para Otimiza¸c˜ao Combinat´oria 14 2.1 Indexa¸c˜ao por Posi¸c˜ao Relativa . . . 16

2.2 Transforma¸c˜ao Direta e Reversa. . . 17

2.3 Abordagem por Matriz de Permuta¸c˜ao - AMP . . . 18

2.4 Abordagem por Matriz de Adjacˆencias - AMA . . . 19

2.5 Lista de Movimentos: Abordagem Proposta . . . 19

2.6 Lista de Movimentos Swap . . . 22

2.7 Lista de Movimentos 2-opt. . . 25

2.8 Lista de Movimentos N´o-Profundidade . . . 27

2.8.1 Preserve Ancestor Operator . . . 28

2.8.2 Change Ancestor Operator . . . 30

2.8.3 Estrutura de dados para a lista de movimentos RNP . . . 32

2.9 Resumo . . . 40

3 Restaura¸c˜ao de Sistemas de Distribui¸c˜ao de Energia El´etrica 42 3.1 Sistema de Distribui¸c˜ao de Energia Prim´aria . . . 42

(8)

3.2 O Problema de Restaura¸c˜ao . . . 44

3.3 Formula¸c˜ao Matem´atica . . . 45

3.4 DE Aplicada ao Problema de Restaura¸c˜ao de SDE . . . 49

3.5 DE-Tree: DE com ´Arvore de Ancestralidade Exemplo Ilustrativo . . . 50

3.5.1 Inicializa¸c˜ao da Popula¸c˜ao. . . 50

3.5.2 Muta¸c˜ao Diferencial . . . 55

3.5.3 Cruzamento . . . 63

3.5.4 Busca Local . . . 65

3.5.5 Arvore de Ancestralidade´ . . . 67

3.6 Resumo . . . 70

4 Resultados Experimentais 71 4.1 Testes Realizados . . . 71

4.2 Fun¸c˜ao Objetivo . . . 73

4.3 Resultados. . . 74

4.3.1 Testes Para Falta ´Unica . . . 77

4.3.2 Testes para M´ultiplas Faltas. . . 82

4.3.3 Compara¸c˜ao do DE-Tree com outras Abordagens . . . 86

4.3.4 Simula¸c˜ao do M´etodo de Monte Carlo . . . 87

4.3.5 Rastreamento do N´umero de Opera¸c˜oes de Chaveamento . . . 89

5 Conclus˜oes 91 5.1 Contribui¸c˜oes da Tese . . . 92

5.2 Sugest˜oes para Trabalhos Futuros. . . 93

A Exemplo Ilustrativo 94 A.1 Indexa¸c˜ao por Posi¸c˜ao Relativa - IRP . . . 95

A.2 Transforma¸c˜ao Direta e Reversa - FBT. . . 97

A.3 Matriz de Permuta¸c˜ao - AMP . . . 98

A.4 Matriz de Adjacˆencias - AMA . . . 100

A.5 Lista de Movimentos - LM. . . 102

(9)

1.1 Muta¸c˜ao Diferencial . . . 6

1.2 Distribui¸c˜ao dos vetores diferen¸ca - gera¸c˜ao 1 . . . 7

1.3 Distribui¸c˜ao dos vetores diferen¸ca - gera¸c˜ao 10 . . . 7

1.4 Distribui¸c˜ao dos vetores diferen¸ca - gera¸c˜ao 20 . . . 8

2.1 Lista de Movimentos Swap: Passo 1 . . . 23

2.2 Lista de Movimentos Swap: Passo 2 . . . 23

2.3 Lista de Movimentos Swap: Passo 3 . . . 23

2.4 Lista de Movimentos Swap: Passo 4 . . . 24

2.5 Lista de Movimentos Swap: Passo 5 . . . 24

2.6 Lista de Movimentos Swap: Passo 6 . . . 24

2.7 Heur´ıstica de refinamento 2-opt . . . 25

2.8 Lista de Movimentos 2-opt: Passo 1 . . . 26

2.9 Lista de Movimentos 2-opt: Passo 2 . . . 26

2.10 Lista de Movimentos 2-opt: Passo 3 . . . 26

2.11 Lista de Movimentos 2-opt: Passo 4 . . . 26

2.12 Representa¸c˜ao de um indiv´ıduo por um grafo . . . 27

2.13 Poda de uma sub´arvore de T1 e respectivas RNP . . . 29

2.14 Enxerto da sub´arvore podada em T3 . . . 30

2.15 Sub´arvore gerada para r = 16 . . . 30

2.16 ´ArvoreT3 ap´os o enxerto no n´o 17 . . . 31

2.17 Indiv´ıduosG0,G1 eG2 aplicados a equa¸c˜ao da muta¸c˜ao diferencial . . . . 33

2.18 Primeiro movimento da lista de Movimentos. . . 34

2.19 Segundo movimento da lista de Movimentos . . . 35

2.20 Aplica¸c˜ao do PAO ao n´o 20. . . 36

2.21 Aplica¸c˜ao do CAO ao n´o 25. . . 37

2.22 Aplica¸c˜ao do PAO ao n´o 25. . . 38

2.23 Aplica¸c˜ao do quarto movimento da lista ao vetor base. . . 39

2.24 Aplica¸c˜ao do quinto movimento da lista ao vetor base. . . 40

2.25 Vetor mutante resultante da muta¸c˜ao diferencial. . . 40

3.1 Sistema el´etrico de potˆencia . . . 43

3.2 Restaura¸c˜ao de servi¸co . . . 44

3.3 Representa¸c˜ao em grafo do SDE da Fig. 3.2 . . . 45

3.4 Indiv´ıduo I0 . . . 51

3.5 Gera¸c˜ao da popula¸c˜ao inicial . . . 53

3.6 Arvore de Ancestralidade da Popula¸c˜ao Inicial´ . . . 55

3.7 Adi¸c˜ao do vetor mutante `a ´arvore de ancestralidade . . . 60

(10)

3.8 Adi¸c˜ao do vetor mutante `a ´arvore de ancestralidade - Estrat´egia 2 . . . . 64

3.9 Adi¸c˜ao do vetor experimental `a ´arvore de ancestralidade . . . 66

3.10 Adi¸c˜ao do vetor experimental `a ´arvore de ancestralidade . . . 67

3.11 ´Arvore de ancestralidade da popula¸c˜ao final . . . 69

4.1 Alimentador 23 do SDE-SC . . . 72

4.2 Alimentador 6 do SDE-SC . . . 73

4.3 Alimentador 22 do SDE-SC . . . 73

4.4 Melhor solu¸c˜ao encontrada para a Fun¸c˜ao Agregada para uma ´unica falta no Sistema 1. . . 80

4.5 Melhor solu¸c˜ao encontrada para a Fun¸c˜ao Agregada para uma ´unica falta no Sistema 2. . . 81

4.6 Melhor solu¸c˜ao encontrada para a Fun¸c˜ao Agregada para trˆes faltas si-multˆaneas no Sistema 1. . . 84

4.7 Melhor solu¸c˜ao encontrada para a Fun¸c˜ao Agregada para trˆes faltas si-multˆaneas no Sistema 2. . . 85

4.8 Diagrama de caixa da Fun¸c˜ao Objetivo Agregada e Perdas Resistivas. . . 88

4.9 Diagrama de caixa das restri¸c˜oes de Carregamento da Rede e Carrega-mento das Subesta¸c˜oes. . . 88

4.10 Diagrama de caixa para o N´umero de opera¸c˜oes de chaveamentos e res-tri¸c˜oes de queda de tens˜ao. . . 88

4.11 Opera¸c˜oes de chaveamento a partir da configura¸c˜ao inicial at´e a melhor solu¸c˜ao na ´Arvore de Ancestralidade. . . 90

A.1 Rotas TSP aleat´orias para um problema com 10 cidades . . . 94

A.2 Constru¸c˜ao da lista de movimentosMr1r2: Passo 1 . . . 102

A.3 Constru¸c˜ao da lista de movimentosMr1r2: Passo 2 . . . 103

A.4 Aplica¸c˜ao do 1o movimento da lista ao vetor base . . . 104

A.5 Aplica¸c˜ao do 2o movimento da lista ao vetor base . . . 104

A.6 Aplica¸c˜ao do 3o movimento da lista ao vetor base . . . 104

(11)

2.1 Lista de N´os Adjacentes . . . 28

3.1 Lista de N´os Adjacentes . . . 46

3.2 Lista de N´os Adjacentes do SDE . . . 51

4.1 Configur˜ao corrente dos sistemas antes da ocorrˆencia das faltas. . . 76

4.2 Exemplo de Configura¸c˜oes para os sistemas ap´os da ocorrˆencia das faltas. 77 4.3 Resultados para uma ´unica falta no setor 504 . . . 77

4.4 Melhor resultado encontrado para uma ´unica falta no Sistema 1. . . 78

4.5 Melhor resultado encontrado para uma ´unica falta no Sistema 2. . . 78

4.6 Resultdos obtidos para 3 faltas simultˆaneas ocorridas nos setores 504, 182 e 486. . . 82

4.7 Melhor reusltado encontrado para cada objetivo/restri¸c˜ao para 3 Faltas simultˆaneas ocorridas no Sistema 1.. . . 82

4.8 Melhor reusltado encontrado para cada objetivo/restri¸c˜ao para 3 Faltas simultˆaneas ocorridas no Sistema 2.. . . 82

4.9 Valores M´edios obtidos com os algoritmos DE-Tree, AEMT e MEAN-DE 86 4.10 Valores M´edios obtidos com os algoritmos DE-Tree e MEAN-DE . . . 87

(12)

AE Algoritmos Evolucion´arios

AG Algoritmo Gen´etico

AMA Abordagem por Matriz de Adjacˆencias

AMP Abordagem por Matriz de Permuta¸c˜ao

CE Computa¸c˜ao Evolutiva

DE-Tree Evolu¸c˜ao Diferencial com ´Arvore de Ancestralidade

DE Evolu¸c˜ao Diferencial

EE Estrat´egias Evolucion´arias

FBT Transforma¸c˜ao Direta e Reversa(do inglˆes: Forward/Backward Transformation)

IRP Indexa¸c˜ao por Posi¸c˜ao Relativa (do inglˆes: Indexing by Relative Position)

MPF Ordena¸c˜ao de n´os pelo Modelo Pai-Filho

NA Chaves seccionadoras normalmente abertas

NF Chaves seccionadoras normalmente fechadas

PE Programa¸c˜ao Evolutiva

PG Programa¸c˜ao Gen´etica

PSO Otimiza¸c˜ao por Enxame de Part´ıculas (do inglˆes: Particle Swarm Optimization)

RNP Representa¸c˜ao N´o-Profundidade

RS Restaura¸c˜ao de Servi¸co

SDE Sistema de Distribui¸c˜ao de Energia

TSP Problema do Caixeiro Viajante (do inglˆes: Traveling Salesman Problem)

(13)

x Vari´avel real que representa cada parˆametro do sistema.

X Vetor de vari´aveis reais representando uma solu¸c˜ao.

X Regi˜ao de dom´ınio, espa¸co dos parˆametros ou espa¸co de busca de otimiza¸c˜ao.

f(.) Fun¸c˜ao objetivo.

bL,j Limite inferior de cada parˆametro do sistema.

bU,j Limite superior de cada parˆametro do sistema.

Np N´umero de indiv´ıduos da popula¸c˜ao.

Vg,i Vetor mutanteida gera¸c˜ao g

Xg,r0 Vetor base da equa¸c˜ao da muta¸c˜ao diferencial da gera¸c˜ao g

Xg,r1 Vetor 1 da equa¸c˜ao da muta¸c˜ao diferencial da gera¸c˜aog

Xg,r2 Vetor 2 da equa¸c˜ao da muta¸c˜ao diferencial da gera¸c˜aog

F Fator de multiplica¸c˜ao escalar da equa¸c˜ao da muta¸c˜ao diferencial

Ug,i Vetor experimental da gera¸c˜aog

Cr Probabilidade de cruzamento

N Estrutura de vizinhan¸ca

P Matriz de Permuta¸c˜ao

PF Matriz de Permuta¸c˜ao ponderada pelo escalarF

G Grafo representando uma estrutura em ´arvores.

(14)

Introdu¸

ao

1.1

Apresenta¸

ao

Para lidar com certos problemas nas ´areas da engenharia e da computa¸c˜ao, que pelos m´e-todos tradicionais s˜ao considerados intrat´aveis ou que demandam um tempo de execu¸c˜ao

computacional elevado, engenheiros e pesquisadores tˆem buscado na natureza modelos que sirvam de inspira¸c˜ao. Esta inspira¸c˜ao em processos naturais tem possibilitado criar

modelos computacionais com larga aplica¸c˜ao na resolu¸c˜ao de problemas pr´aticos na in-d´ustria e com´ercio. Na ´area de otimiza¸c˜ao de sistemas, muitos processos observados na

natureza tˆem sido utilizados como modelos na tentativa de solucionar tais problemas. Um olhar mais agu¸cado entre otimiza¸c˜ao de sistemas e evolu¸c˜ao biol´ogica levou ao de-senvolvimento de um paradigma importante nas t´ecnicas de inteligˆencia computacional:

a Computa¸c˜ao Evolutiva (CE), que se utiliza dos princ´ıpios da evolu¸c˜ao dos seres vi-vos, como sele¸c˜ao natural e heran¸ca gen´etica, na resolu¸c˜ao de problemas complexos de

otimiza¸c˜ao. O paradigma da CE data da d´ecada de 1950, quando o uso dos princ´ıpios da teoria da evolu¸c˜ao das esp´ecies de Charles Darwin foram utilizados pela primeira vez na resolu¸c˜ao de problemas de engenharia. Na d´ecada seguinte, vertentes distintas

dessas t´ecnicas foram desenvolvidas: a Programa¸c˜ao Evolutiva (PE) [Fogel and Fogel 1996] desenvolvida por Lawrence J. Fogel nos Estados Unidos e, quase simultaneamente

na Alemanha, as Estrat´egias Evolucion´arias (EE) apresentadas por I. Rechenberg e H. P. Schwefel [Beyer and Schwefel 2002]. Uma d´ecada mais tarde, John Henry Holland

e Ann Arbor apresentam o m´etodo Algoritmo Gen´etico (AG) utilizado na solu¸c˜ao de problemas pr´aticos de otimiza¸c˜ao [Das and Suganthan 2011]. Estas trˆes ´areas seguem separadamente at´e que, na d´ecada de 1990, s˜ao unificadas como dialetos diferentes de

uma mesma tecnologia denominada, ent˜ao, por Computa¸c˜ao Evolutiva. Tamb´em nesta mesma d´ecada, seguindo em linhas gerais o mesmo paradigma, surge a Programa¸c˜ao

(15)

Gen´etica (PG), uma nova vertente proposta por J.R. Koza [Koza 1990] e o algoritmo Evolu¸c˜ao Diferencial (DE)1 [Storn and Price 1995], tema em que este trabalho discorre.

Muitos algoritmos h´ıbridos posteriormente desenvolvidos incorporam muitas das caracter´ısticas e t´ecnicas acima citadas e, consequentemente, s˜ao dif´ıceis de serem

classi-ficados. Assim, todos esses m´etodos s˜ao referidos como Algoritmos Evolucion´arios (AEs) e esta divis˜ao ´e meramente hist´orica. Hoje em dia, as meta-heur´ısticas inspiradas na natureza s˜ao constitu´ıdas pelos AEs (compreendendo os AGs, PE, EEs, PG, DE, etc.)

bem como os algoritmos de Otimiza¸c˜ao por Enxame de Part´ıculas (PSO)2[Kennedy and Eberhart 1995], os Sistemas Imunol´ogicos Artificiais [de Castro and Timmis 2002], os

algoritmos de Estima¸c˜ao de Distribui¸c˜ao [Larranaga and Lozano 2002] e muitos outros.

O DE surgiu na d´ecada de 1990 como um AE utilizado na otimiza¸c˜ao de sistemas a

vari´aveis cont´ınuas e ´e um algoritmo de otimiza¸c˜ao importante e poderoso em sistemas mono-objetivo [Price et al. 2005,Mezura-Montes and Coello 2006] e em sistemas

multi-objetivo [Xue et al. 2003,Batista et al. 2009]. Atualmente, ele tem sido utilizado com algum sucesso em um grande n´umero de problemas de natureza combinat´oria [Lichtblau 2002,Onwubolu and Davendra 2009,Price et al. 2005], em que o conjunto de solu¸c˜oes

fact´ıveis ´e um subconjunto dos n´umeros inteiros n˜ao-negativos e, portanto, pertencentes a uma classe de problemas do mundo real de natureza estritamente discreta.

1.2

Contexto Hist´

orico

O algoritmo DE surgiu do algoritmo Recozimento Simulado Gen´etico3 desenvolvido por Kenneth Price. Este algoritmo era um algoritmo combinat´orio baseado em popula¸c˜ao que realizava um “recozimento” dirigido pelo desempenho m´edio dessa popula¸c˜ao. Logo

ap´os o desenvolvimento desse algoritmo, Price foi contactado por Rainer Storn que es-tava interessado em solucionar o problema de ajuste dos parˆametros do Polinˆomio de

Tchebychev aplicando o algoritmo de recozimento simulado gen´etico. Ap´os alguns expe-rimentos, Price modificou o algoritmo utilizando vari´aveis reais ao inv´es de codifica¸c˜ao

em bit-string e operadores aritm´eticos ao inv´es de operadores l´ogicos. Essas modifica-¸c˜oes transformaram o recozimento gen´etico combinat´orio em um otimizador a vari´aveis cont´ınuas. A descoberta do algoritmo DE aconteceu quando Price surgiu com a ideia

de usar as diferen¸cas entre vetores como uma maneira de perturbar e evoluir a popu-la¸c˜ao (m´etodo, esse, denominado ent˜ao por muta¸c˜ao diferencial), um cruzamento por

recombina¸c˜ao discreta e uma sele¸c˜ao em pares. Price e Storn detectaram que a muta¸c˜ao

1

do inglˆesDifferential Evolution 2

do inglˆesParticle Swarm Optimization 3

(16)

diferencial, com recombina¸c˜ao discreta e sele¸c˜ao em pares, n˜ao necessitava de um fator de recozimento. Assim, o mecanismo de recozimento foi removido surgindo o algoritmo

DE [Feoktistov 2006].

O primeiro artigo sobre o DE apareceu como um relat´orio t´ecnico escrito por R.

Storn e K. V. Price em 1995 [Storn and Price 1995]. Um ano depois ele participou do First International Contest on Evolutionary Optimization (1st ICEO), realizado em con-junto com o IEEE International Conference On Evolutionary Computation (CEC) em

Nagoya, Jap˜ao. O DE terminou o confronto em terceiro lugar e foi considerado o melhor algoritmo evolucion´ario na resolu¸c˜ao de fun¸c˜oes de testes cont´ınuas (os dois primeiros

lugares foram dados a algoritmos n˜ao evolutivos pois, apesar de n˜ao serem aplic´aveis a v´arios tipos de problemas, resolviam as fun¸c˜oes testes mais r´apido que o DE). Em

1997, Price apresenta o DE no Second International Contest on Evolutionary Optmiza-tion [Price 1997] e acabou sendo um dos melhores entre os algoritmos concorrentes. Dois artigos consecutivos [Price and Storn 1997a] e [Price and Storn 1997b] descrevendo o

al-goritmo em detalhes s˜ao, ent˜ao, publicados. Na competi¸c˜ao de otimiza¸c˜ao de problemas cont´ınuos cl´assicos de 10 dimens˜oes no CEC de 2005, o DE assegurou a segunda

colo-ca¸c˜ao e uma variante auto-adaptativa do DE, denominada SaDE4 [Qin and Suganthan 2005], assegurou o terceiro lugar, embora tenha tido um desempenho insuficiente em

problemas acima de 30 dimens˜oes. Outras variantes do DE continuaram a assegurar as melhores coloca¸c˜oes nas subsequentes competi¸c˜oes do CEC como as do CEC-2006 em otimiza¸c˜ao de parˆametros reais com restri¸c˜oes (1o lugar), CEC-2007 competi¸c˜ao em

oti-miza¸c˜ao multiobjetivo (2o lugar), CEC-2008 competi¸c˜ao em otimiza¸c˜ao global em larga

escala (3o lugar), CEC-2009 competi¸c˜ao em otimiza¸c˜ao multiobjetivo (1o lugar, dado a

um algoritmo DE baseando no MOEA/D5 para problemas sem restri¸c˜oes) e CEC-2009 competi¸c˜ao em computa¸c˜ao evolucion´aria em ambientes dinˆamicos e incertos (1o lugar)

[Das and Suganthan 2011].

1.3

Conceitos B´

asicos

Muitas vezes, em engenharia, nos deparamos com o problema de otimiza¸c˜ao que consiste em encontrar a melhor solu¸c˜ao dentro de certas restri¸c˜oes e flexibilidades existentes em

um determinado sistema. O objetivo da otimiza¸c˜ao ´e, ent˜ao, encontrar um conjunto de valores dos parˆametros do sistema para o qual o seu desempenho ´e o melhor sobre estas

restri¸c˜oes. Em um sistema n˜ao-linear a vari´aveis cont´ınuas, a solu¸c˜ao de um problema

4

Self-adaptive Differential Evolution

5

(17)

de otimiza¸c˜ao irrestrito para um sistema mono-objetivo ´e definida como:

x∗= arg min

x f(x) (1.1)

onde:

x∗ ´e a solu¸c˜ao ´otima. ´E o argumento que minimiza a fun¸c˜ao f(x).

f(.) :X ⊂Rn→R´e a fun¸c˜ao de custo ou fun¸c˜ao objetivo a ser minimizada ou maximizada6.

X ´e a regi˜ao de dom´ınio, espa¸co dos parˆametros ou espa¸co de busca de otimiza¸c˜ao. Ela ´e definida como:

X ={xRn:bL,j ≤xj ≤bU,j;j= 1, . . . , n}

em quebL,je bU,j s˜ao, respectivamente, os limites inferior e superior de cada

parˆametroj do sistema.

´

E importante destacar que solu¸c˜ao ´otima pode ser local, se ela for a melhor solu¸c˜ao dentro de uma determinada vizinhan¸ca, ou pode ser global, caso em que ´e a melhor solu¸c˜ao encontrada para o sistema.

O algoritmo DE, assim como outros AEs, ´e baseado em popula¸c˜oes e, portanto,

utiliza um conjunto de vetoresX de solu¸c˜oes candidatas aleatoriamente geradas dentro da regi˜ao de dom´ınioX como popula¸c˜ao inicial. Para um sistema multivari´avel, a solu¸c˜ao

x, ou indiv´ıduo da popula¸c˜ao, ´e representada por um vetor dado por:

Xi =

xg,i,1, xg,i,2, xg,i,3, . . . , xg,i,n

T

(1.2)

onde o subscritogindica a gera¸c˜ao em que cada indiv´ıduo pertence,i indica o indiv´ıduo

dentro da popula¸c˜ao e o terceiro subscrito indica um dos j parˆametros da solu¸c˜ao.

O objetivo da otimiza¸c˜ao passa, ent˜ao, a ser o de encontrar o vetor de parˆametros

X∗ o qual minimiza a fun¸c˜ao objetivo f(.), isto ´e:

f(X∗)< f(X) X ∈ X (1.3)

Uma vez criada a popula¸c˜ao inicial, o algoritmo DE realiza o processo de muta¸c˜ao

para evoluir a popula¸c˜ao e gerar novas solu¸c˜oes ´otimas. Basicamente, a evolu¸c˜ao diferen-cial proposta por Price e Storn consiste em, atrav´es da equa¸c˜ao da muta¸c˜ao diferendiferen-cial,

6

(18)

criar indiv´ıduos mutantes. Os indiv´ıduos mutantes resultantes, por sua vez, passam por um processo de recombina¸c˜ao com os indiv´ıduos da popula¸c˜ao corrente gerando uma

po-pula¸c˜ao de indiv´ıduos experimentais. Estes competem com os indiv´ıduos da popula¸c˜ao corrente por um lugar na pr´oxima gera¸c˜ao [Price et al. 2005]. Cada uma destas etapas

´e apresentada nas Se¸c˜oes de1.3.1a 1.3.3.

1.3.1 Muta¸c˜ao Diferencial

Ap´os gerada a popula¸c˜ao inicial, o algoritmo DE realiza a muta¸c˜ao diferencial como o principal processo de evolu¸c˜ao da popula¸c˜ao. A muta¸c˜ao diferencial consiste em, para

cada indiv´ıduo correnteXg,i da popula¸c˜ao (tamb´em denominadovetor alvo), gerar um

indiv´ıduo mutanteVg,i. Para tanto, trˆes indiv´ıduos distintos entre si e entre o vetor alvo

s˜ao escolhidos aleatoriamente dentro da popula¸c˜ao para fazerem parte da equa¸c˜ao da

muta¸c˜ao diferencial (Eq.1.4): o primeiro denominadovetor base (Xg,ro) e os outros dois

vetores diferen¸ca (Xg,r1 e Xg,r2, respectivamente). O vetor mutante ´e obtido da soma

vetorial entre a diferen¸ca entre os vetores diferen¸ca, ponderada pelo escalarF, e o vetor base.

Vg,i = Xg,r0 + F.(Xg,r1 − Xg,r2) (1.4)

onde: Xg,r0 6= Xg,r1 6= Xg,r2 6= Xg,i.

O fator escalarF´e um n´umero real positivo que controla a amplitude da diferen¸ca

vetorial e, consequentemente, o tamanho do passo da muta¸c˜ao no espa¸co de busca e a taxa em que a popula¸c˜ao evolui. O intervalo indicado para o fator escalar ´eF (0,1+). Embora n˜ao haja um limite superior para F, raramente valores maiores que 1 s˜ao

uti-lizados [Price et al. 2005]. Por outro lado, quando F = 1, combina¸c˜oes distintas dos vetores diferen¸ca geram vetores mutantes idˆenticos, o que reduz o n´umero de vetores

mutantes pela metade [Price et al. 2005]. Normalmente, a escolha do melhor valor ´e feita por tentativa e erro numa bateria de testes que demandam um tempo consider´avel. Valores t´ıpicos encontrados na literatura est˜ao entre F= 0,6 e F= 0,9. A Figura 1.1

ilustra como ´e obtido um vetor mutante Vg,i em um sistema bidimensional.

A equa¸c˜ao da muta¸c˜ao diferencial gera vetores mutantes que ser˜ao maiores ou

meno-res dependendo da distribui¸c˜ao da popula¸c˜ao corrente no espa¸co de busca do problema. Essa diversidade de vetores afeta tanto o tamanho do passo de convergˆencia como a

sua orienta¸c˜ao para as curvas de n´ıvel da fun¸c˜ao objetivo [Storn and Price 1995]. Esta propriedade do DE ´e mostrada nas Figuras1.2 `a1.47 para as curvas de n´ıvel da fun¸c˜ao

peaks (Equa¸c˜ao 1.5) utilizada como exemplo.

7

(19)

Xg,r0

Xg,r2

Xg,r1

F(Xg,r1 −Xg,r2)

Vg,i =Xg,r0F(Xg,r1−Xg,r2)

X2

X1

Figura 1.1: Muta¸c˜ao Diferencial: a diferen¸ca ponderada, F(Xg,r1Xg,r2), ´e adici-onada ao vetor base, Xg,r0, para produzir o vetor mutante,Vg,i. (Figura reproduzida

de: [Price et al. 2005] p´ag. 39).

f(x1, x2) = 3(1−x1)2.exp

x21+ (x2+ 1)2

−10

x1

5 −x31−x52

. exp

x21+x22

−13.exp

(x1+ 1)2+x22

(1.5)

A Figura 1.2(a) mostra a distribui¸c˜ao da popula¸c˜ao nas curvas de n´ıvel da fun¸c˜ao peakspara a gera¸c˜ao 1 e, na Figura1.2(b), s˜ao tra¸cados, em um diagrama polar, todas as

combina¸c˜oes poss´ıveis que podem ser obtidas para os vetores diferen¸ca dessa popula¸c˜ao. Observa-se que, inicialmente, os tamanhos dos vetores diferen¸ca s˜ao grandes devido a

distribui¸c˜ao, ainda aleat´oria, da popula¸c˜ao e est˜ao uniformemente distribu´ıdos em todas as dire¸c˜oes.

`

A medida que a popula¸c˜ao evolui e converge para as bacias de atra¸c˜ao, observa-se

que todas as combina¸c˜oes poss´ıveis dos vetores diferen¸ca tendem a ter tamanhos equi-valentes `as distˆancias existentes entre essas bacias de atra¸c˜ao e, tamb´em, direcionam-se

para elas. Essa caracter´ıstica inerente ao DE ´e mostrada na Figura1.3para a gera¸c˜ao 10.

A Figura1.4(a)mostra que, para esse exemplo, ap´os 20 gera¸c˜oes a popula¸c˜ao

(20)

Figura 1.2: Gera¸c˜ao 1: Popula¸c˜ao ainda aleat´oria (a) e vetores diferen¸ca grandes e uniformemente distribu´ıdos (b).

Figura 1.3: Gera¸c˜ao 10: Distribui¸c˜ao da Popula¸c˜ao em torno das bacias de atra¸c˜ao (a) e vetores diferen¸ca direcionados para as bacias de atra¸c˜ao (b).

com toda a popula¸c˜ao dentro da bacia de ´otimo global e o tamanho dos vetores diferen¸ca

estarem limitados a esta regi˜ao, o DE inicia uma busca local pelo valor ´otimo.

Essa caracter´ıstica do DE em obter a diferen¸ca entre dois indiv´ıduos da popula¸c˜ao e us´a-la para definir as dire¸c˜oes de busca e ajustar o passo da muta¸c˜ao (inicialmente

(21)

Figura 1.4: Gera¸c˜ao 20: Popula¸c˜ao atra´ıda para o m´ınimo global (a) e tamanho dos vetores diferen¸ca e sua distribui¸c˜ao prop´ıcios a uma busca local (b)

1.3.2 Cruzamento

Ap´os a etapa de muta¸c˜ao diferencial, o DE realiza a etapa de cruzamento para gerar os vetores experimentais. Nesta etapa, cada indiv´ıduo alvoXg,ida popula¸c˜ao corrente e seu

vetor mutante correspondenteVg,i se recombinam para produzir um vetor experimental

Ug,i [Price et al. 2005]:

Ug,i=Ug,i,j =

(

Cruzamento(Vg,i,j, Xg,i,j), serand(0,1) ≤ Crou j = jrand

Xg,i,j, c. c.

(1.6) onde:

j: j´esimo parˆametro do vetor correspondente,

Cr: probabilidade de cruzamento,

jrand: parˆametro do vetor mutante escolhido aleatoriamente.

Na sua vers˜ao cl´assica, o algoritmo DE utiliza uma probabilidade de cruzamento

Cr ∈ [0,1]. A probabilidade de cruzamentoCr controla a fra¸c˜ao dos parˆametros do vetor

mutante que ser˜ao copiados para a solu¸c˜ao corrente. Um parˆametro do vetor mutante escolhido aleatoriamente, jrand, ´e copiado para o vetor experimental para garantir que

(22)

Nos AEs, o cruzamento ´e realizado atrav´es da recombina¸c˜ao discreta entre dois vetores pais da mesma popula¸c˜ao para gerar dois vetores filhos. Diferentemente, o DE

realiza a recombina¸c˜ao entre um vetor da popula¸c˜ao corrente (o vetor alvo) e o vetor mutante correspondente para gerar um ´unico filho: o vetor experimental.

1.3.3 Sele¸c˜ao

O m´etodo de sele¸c˜ao utilizado no DE ´e semelhante ao m´etodo (µ+λ) utilizado nas EE,

em que, os melhores µ vetores da combina¸c˜ao dos µ pais com os λ filhos comp˜oem a pr´oxima gera¸c˜ao. A diferen¸ca est´a no fato de que, ao inv´es de ranquear a popula¸c˜ao

formada por pais e filhos, DE realiza uma competi¸c˜ao entre cada vetor pai com o seu vetor filho correspondente selecionando um deles para a pr´oxima gera¸c˜ao (m´etodo de sele¸c˜ao (1 + 1)). Essa t´ecnica de comparar cada vetor experimental (vetor filho) com o

vetor corrente de mesmo ´ındice (vetor pai) garante manter a melhor solu¸c˜ao obtida para o indiv´ıduo daquele ´ındice. Este m´etodo de sele¸c˜ao garante a diversidade dos indiv´ıduos

e evita a convergˆencia prematura da popula¸c˜ao, o que ´e importante no DE, j´a que a distribui¸c˜ao espacial da popula¸c˜ao influencia diretamente o desempenho do algoritmo

[Storn and Price 1995].

Baseada na fun¸c˜ao objetivo do vetor alvoXg,i e do vetor experimentalUg,i, a sele¸c˜ao

´e realizada da seguinte maneira: se a fun¸c˜ao objetivo do vetor experimental for menor

ou igual `a do vetor alvo, o vetor experimental o substitui na pr´oxima gera¸c˜ao; caso contr´ario, o vetor alvo ´e preservado e vai para a pr´oxima gera¸c˜ao:

Xg+1,i=

(

Ug,i, sef(Ug,i)≤f(Xg,i)

Xg,i, c. c.

(1.7)

Uma vez que a nova gera¸c˜ao esteja completa, o processo de muta¸c˜ao, recombina-¸c˜ao e sele¸c˜ao ´e repetido at´e que um determinado crit´erio de parada estabelecido seja

alcan¸cado. O Algoritmo 1 apresenta o pseudoc´odigo do algoritmo DE na sua forma cl´assica. Esta vers˜ao cl´assica do algoritmo DE ´e tamb´em referida na literatura como

DE/ rand/1/bin8. Modifica¸c˜oes na etapa de muta¸c˜ao e na escolha do tipo de

cruza-mento podem gerar varia¸c˜oes interessantes no algoritmo DE. Al´em da escolha aleat´oria para o vetor base, apresentada na sua vers˜ao cl´assica, outras duas vers˜oes s˜ao

apresen-tadas em [Price et al. 2005]. Estas vers˜oes s˜ao a best e a target-to-best. Na primeira,

8

(23)

o vetor base ´e o indiv´ıduo com a melhor fun¸c˜ao objetivo da popula¸c˜ao corrente. Na segunda o vetor base ´e uma recombina¸c˜ao direta entre o vetor alvo e o melhor indiv´ıduo

da popula¸c˜ao corrente conforme mostrado na Equa¸c˜ao 1.8:

Xg,r0 = Xg,i + λ.(Xg,best − Xg,i). (1.8)

Algorithm 1Pseudoc´odigo DE Cl´assico. Listagem reproduzida de [Price et al. 2005] p´ag. 42

Input: Np // N´umero de indiv´ıduos da popula¸c˜ao

Input: D // dimens˜ao do problema

Input: F // fator escalar da equa¸c˜ao da muta¸c˜ao diferencial // Gera¸c˜ao da popula¸c˜ao de vetores experimentais

repeat

for(i= 0;i < N p;i+ +) do repeat

Xr0 =f loor(rand(0,1)×N p);

until (r0 == i);

repeat

Xr1 =f loor(rand(0,1)×N p);

until ((r1 == r0)OR(r1 == i));

repeat

Xr1 =f loor(rand(0,1)×N p);

until ((r2 == r1)OR(r2 == r0)OR(r2 == i));

jrand=f loor(D×rand(0,1));

// Cria vetores experimentais

for(j= 0;j <D;j+ +) do

if (rand(0,1)≤ Cr)OR(j == jrand) then

Uj,i = Xj,r0 + F×(Xj,r1 − Xj,r2)

else

Uj,i = Xj,i;

// Sele¸c˜ao da pr´oxima gera¸c˜ao

for(i= 0;i < N p;i+ +) do if f(Ui)≤f(Xi)then

Xi=Ui;

until(crit´erio-de-parada n˜ao encontrado);

De maneira a n˜ao aumentar o n´umero de parˆametros iniciais, o fator de multiplica-¸c˜ao escalar λna Equa¸c˜ao 1.8´e escolhido ser o mesmo fator de multiplica¸c˜ao escalarF

(24)

DE/best/1/bin Vg,i = Xg,best + F.(Xg,r1 − Xg,r2)

DE/targettobest/1/bin Vg,i = Xg.i + F.(Xg,best − Xg,i) + F.(Xg,r1 − Xg,r2).

Outra modifica¸c˜ao na equa¸c˜ao da muta¸c˜ao diferencial sugerida por Price e Storn

est´a no n´umero de vetores diferen¸ca que participam da muta¸c˜ao. Os autores sugerem, al´em de 1 vetor diferen¸ca conforme apresentado na vers˜ao cl´assica, 2 ou at´e 3 vetores

diferen¸ca na equa¸c˜ao da muta¸c˜ao diferencial como mostrado abaixo:

DE/rand/2/bin Vg,i = Xg,r0 + F.(Xg,r1 − Xg,r2) + F.(Xg,r3 − Xg,r4)

DE/rand/3/bin Vg,i = Xg,r0 + F.(Xg,r1 − Xg,r2) + F.(Xg,r3 − Xg,r4) +

F.(Xg,r5 − Xg,r6)

Outras vers˜oes para o DE podem ser obtidas combinando estas varia¸c˜oes na equa¸c˜ao da muta¸c˜ao diferencial com outros tipos de cruzamentos. Utilizando-se, por exemplo, uma recombina¸c˜ao exponencial apresentada em [Storn and Price 1995] com a vers˜ao

cl´assica do DE, obt´em-se a vers˜aoDE/rand/1/exp.

1.4

Objetivos

Em linhas gerais, o principal objetivo desta tese ´e desenvolver uma meta-heur´ıstica para

o algoritmo DE no dom´ınio das vari´aveis discretas. Esta meta-heur´ıstica deve preservar, de uma maneira an´aloga, o interessante mecanismo de busca observado na evolu¸c˜ao diferencial no dom´ınio das vari´aveis cont´ınuas. Para tanto, os operadores aritm´eticos da

equa¸c˜ao da muta¸c˜ao diferencial no dom´ınio das vari´aveis cont´ınuas s˜ao redefinidos para o dom´ınio das vari´aveis discretas, tornando a muta¸c˜ao diferencial mais significativa e

gen´erica no contexto dos problemas de natureza combinat´oria. Os objetivos espec´ıficos podem ser divididos em trˆes partes principais:

• Elabora¸c˜ao de uma revis˜ao das principais abordagens apresentadas na literatura para o algoritmo DE aplicados em problemas combinat´orios, enumerando suas vantagens e desvantagens.

(25)

1.5

Motiva¸

ao

No ˆambito dos problemas de otimiza¸c˜ao combinat´oria, devido `a sua importˆancia tanto no mundo cient´ıfico bem como no mundo industrial, novas adapta¸c˜oes tˆem sido propostas na literatura para o algoritmo DE com o intuito de observar aquelas caracter´ısticas

obti-das no dom´ınio obti-das vari´aveis cont´ınuas. Recentemente, v´arias adapta¸c˜oes do algoritmo DE aplicado a problemas de natureza combinat´oria tˆem sido apresentadas na literatura.

Diversas dessas abordagens consistem simplesmente em aplicar a equa¸c˜ao da muta¸c˜ao diferencial definida no dom´ınio das vari´aveis cont´ınuas diretamente em problemas de natureza combinat´oria. Todavia, em problemas de natureza combinat´oria, a diferen¸ca

vetorial no espa¸co das vari´aveis cont´ınuas n˜ao tem uma correspondˆencia clara no espa¸co das vari´aveis discretas. Isto deve-se ao fato de que, diferen¸cas de n´umeros inteiros que

s˜ao meramente r´otulos e n˜ao representam nenhuma quantidade num´erica, n˜ao geram solu¸c˜oes vi´aveis e nem representam dire¸c˜oes significativas no espa¸co das vari´aveis

discre-tas. Exemplos dessas abordagens s˜ao a Indexa¸c˜ao Por Posi¸c˜ao Relativa (IRP)9 [Price et al. 2005] e a Transforma¸c˜ao Direta e Reversa (FBT)10[Onwubolu and Davendra 2009] aplicadas em alguns problemas combinat´orios com permuta¸c˜ao. Outras abordagens

em-pregam esquemas mais sofisticados redefinindo ou conceituando o que seria a diferen¸ca vetorial no dom´ınio das vari´aveis discretas. Exemplos dessas abordagens s˜ao a

Aborda-gem Por Matriz de Permuta¸c˜ao e a Abordagem Por Matriz de Adjacˆencias apresentadas em [Price et al. 2005]. Tais abordagens s˜ao em geral aplic´aveis especificamente a uma

classe de problemas combinat´orios.

Isto posto, uma abordagem para a evolu¸c˜ao diferencial onde os operadores aritm´e-ticos da muta¸c˜ao diferencial s˜ao definidos especificamente para problemas combinat´orios

mostra-se interessante. Estes operadores especiais no contexto das vari´aveis discretas, mas an´alogos `aqueles aplicados `as vari´aveis cont´ınuas, devem ser definidos de modo a

preservar as caracter´ısticas que tornaram o DE um otimizador importante no dom´ınio das vari´aveis cont´ınuas. Isso permitiria sua aplica¸c˜ao direta em problemas combinat´orios

sem a necessidade de rotinas especiais de repara¸c˜ao das solu¸c˜oes n˜ao triviais ou fora do espa¸co de busca do problema.

9

do inglˆesIndexing by Relative Position 10

(26)

1.6

Estrutura do Trabalho

Os t´opicos apresentados neste trabalho est˜ao organizados conforme mostrado a seguir:

Cap´ıtulo 2 - DE Para Otimiza¸c˜ao Combinat´oria: Discorre-se acerca dos prin-cipais trabalhos relacionados `a evolu¸c˜ao diferencial no dom´ınio das vari´aveis discretas.

Nele, apresenta-se um estudo cr´ıtico detalhado considerando as abordagens mais citadas na literatura, a saber, Indexa¸c˜ao por Posi¸c˜ao Relativa, Transforma¸c˜ao Direta e Reversa,

Matriz de Permuta¸c˜ao e Matriz de Adjacˆencias. Ao final do cap´ıtulo a abordagem por Lista de Movimentos ´e proposta e as poss´ıveis defini¸c˜oes para esta lista s˜ao apresentadas

para algumas estruturas de dados comumente utilizadas na representa¸c˜ao de solu¸c˜oes de problemas discretos.

Cap´ıtulo 3 - Restaura¸c˜ao de Sistemas de Distribui¸c˜ao de Energia El´ e-trica: Apresenta-se o problema de Restaura¸c˜ao de sistemas de distribui¸c˜ao de energia el´etrica com contingˆencias devido a faltas no setor prim´ario da rede. Com o objetivo

de reconfigurar o sistema el´etrico, prop˜oe-se uma vers˜ao do algoritmo DE com lista de movimentos, o algoritmo DE-Tree. Para esta vers˜ao do algoritmo, desenvolveu-se uma

estrutura de dados, denominada de ´Arvore de Ancestralidade, que possibilita armaze-nar a sequˆencia das manobras de chaves necess´aria para reconfigurar o sistema, al´em de guardar as informa¸c˜oes acerca dos movimentos que ser˜ao utilizados na equa¸c˜ao da

muta¸c˜ao diferencial.

Cap´ıtulo 4 - Resultados Experimentais: Descrevem-se os resultados das

simu-la¸c˜oes realizadas em um sistema de distribui¸c˜ao de energia el´etrica real de grande porte, com o intuito de averiguar o desempenho do algoritmo proposto. Testes s˜ao realizados

para o caso de contingˆencias devido a uma ´unica falta e trˆes faltas simultˆaneas no sistema el´etrico.

(27)

DE Para Otimiza¸

ao

Combinat´

oria

Do ponto de vista pr´atico, um problema de otimiza¸c˜ao consiste em encontrar a melhor configura¸c˜ao de um dado sistema de modo que ele opere de forma r´apida e eficiente em

um tempo reduzido. Teoricamente, consiste em determinar os valores extremos de uma fun¸c˜ao, isto ´e, o m´aximo ou m´ınimo valor que uma fun¸c˜ao pode assumir em um dado

intervalo. Neste cen´ario, a otimiza¸c˜ao pode ser dividida em duas categorias: aquela onde as solu¸c˜oes s˜ao codificadas como vari´aveis reais e aquela onde as solu¸c˜oes s˜ao codificadas

como vari´aveis discretas. Nesta ´ultima, encontra-se a classe de problemas designados como Problemas de Otimiza¸c˜ao Combinat´oria. Problemas de otimiza¸c˜ao combinat´oria ocorrem em ´areas t˜ao diversas como as de projetos de sistemas de distribui¸c˜ao de

ener-gia, roteamento de ve´ıculos, aloca¸c˜ao de pessoas ou m´aquinas a tarefas, empacotamento de caixas em contˆeineres, sequenciamento de genes e DNA, dentre outras. Tais

proble-mas e suas variantes podem ser enquadrados e tratados em uma das seguintes classes de problemas te´oricos de natureza combinat´oria: Problema do Caixeiro Viajante, Problema

de Roteamento de Ve´ıculos, Problema de Empacotamento, Problema de Programa¸c˜ao de Tarefas, Problema da Mochila, etc. Para tanto, para cada tipo de problema conside-rado, o espa¸co de busca deve ser bem definido. Na classe de problemas combinat´orios,

os espa¸cos de busca s˜ao representados por um conjunto finito de solu¸c˜oes cujos parˆ a-metros podem ser do tipo arranjo, grupamento, ordena¸c˜oes, permuta¸c˜oes ou mesmo por

uma estrutura em grafo e, portanto, necessitam ser tratados de uma maneira especial, diferente daquelas utilizadas em problemas estritamente de natureza cont´ınua.

Muitos algoritmos tˆem sido propostos na ´area da otimiza¸c˜ao para solucionar pro-blemas de natureza estritamente combinat´oria. Estes algoritmos s˜ao classificados como Exatos ou Aproximados. Os algoritmos exatos garantem encontrar, para um n´umero

(28)

finito de instˆancias, uma solu¸c˜ao ´otima. Entretanto, o tempo computacional necess´ario gasto para encontrar tal solu¸c˜ao ´otima pode ser exponencial no pior caso, o que ´e

impra-tic´avel em problemas reais. Assim, os algoritmos aproximados, apesar de n˜ao garantirem encontrar a solu¸c˜ao ´otima mas sim uma boa solu¸c˜ao em um tempo computacional menor,

tˆem sido objeto de pesquisa nos ´ultimos anos.

Dos m´etodos aproximados podem-se destacar os Algoritmos Construtivos e os Al-goritmos de Busca Local. Os algoritmos construtivos consistem em inserir componentes

em uma solu¸c˜ao, inicialmente vazia, de forma incremental at´e que uma solu¸c˜ao com-pleta seja obtida. Eles s˜ao tipicamente os m´etodos aproximados mais r´apidos apesar de

muitas vezes retornarem solu¸c˜oes de qualidade inferior quando comparados aos algorit-mos de busca local. J´a os algoritmos de busca local partem de uma solu¸c˜ao inicial e

iterativamente substituem a solu¸c˜ao atual por uma solu¸c˜ao melhor em uma dada Estru-tura de Vizinhan¸ca apropriadamente predefinida. Esta estrutura de vizinhan¸ca pode ser formalmente definida como [Blum and Roli 2003]:

Defini¸c˜ao 2.1. SejaX o espa¸co de busca de um problema ex uma solu¸c˜ao deste problema. Uma estrutura de vizinhan¸ca ´e uma fun¸c˜aoN(x)⊆ X que

associa `a cada solu¸c˜aox∈ X uma solu¸c˜aox’∈ N(x). N(x) denota o conjunto de solu¸c˜oes x’que pode ser obtido dex.

A transi¸c˜ao de uma solu¸c˜ao x para uma solu¸c˜ao vizinha x’ ´e designada como um movimento. Os movimentos poss´ıveis em uma estrutura de vizinhan¸ca est˜ao relacionados

com a estrutura de dados utilizada na representa¸c˜ao do problema. Para uma solu¸c˜ao representada por um vetor os movimentos poss´ıveis seriam, por exemplo, uma troca de seus elementos. Esta troca de elementos do vetor podeira gerar um vetor vizinho com

caracter´ısticas melhores que a do original e, assim, o substituiria no conjunto de solu¸c˜oes. Em uma estrutura em grafos, um movimento para gerar uma estrutura de vizinhan¸ca

seria a adi¸c˜ao ou remo¸c˜ao de arestas e, assim, para cada tipo de problema uma estrutura de vizinhan¸ca tem que ser definida.

A partir da defini¸c˜ao de estrutura de vizinhan¸ca ´e poss´ıvel definir o conceito de solu¸c˜oes que localmente s˜ao m´ınimas para uma dada estrutura de vizinhan¸ca:

Defini¸c˜ao 2.2. Uma solu¸c˜ao bx ´e localmente m´ınima (ou m´ınimo local) em

(29)

Dentro da classe dos algoritmos aproximados est˜ao as meta-heur´ısticas, uma classe de algoritmos que combina as heur´ısticas b´asicas com procedimentos avan¸cados visando

melhorar a eficiˆencia e efic´acia na explora¸c˜ao do espa¸co de busca do problema. Dentro das meta-heur´ısticas est˜ao inclu´ıdos, dentre outros, os algoritmos Colˆonia de Formigas,

Busca Local Iterativa,Recozimento Simulado,Busca Tabu e os Algoritmos Evolutivos.

A meta-heur´ıstica DE, uma classe dos AE, devido ao seu grande sucesso na otimi-za¸c˜ao de problemas no espa¸co das vari´aveis cont´ınuas tem recebido adapta¸c˜oes no seu

mecanismo de muta¸c˜ao diferencial para atender a otimiza¸c˜ao de problemas estritamente de natureza combinat´oria. Este cap´ıtulo apresenta e discute algumas destas abordagens

propostas na literatura especializada e, ao final, apresenta uma nova abordagem deno-minada porLista de Movimentos, que visa preservar o interessante mecanismo de busca

do DE no dom´ınio das vari´aveis discretas.

2.1

Indexa¸

ao por Posi¸

ao Relativa

Em [Lichtblau 2002] ´e apresentada uma vers˜ao discreta para a evolu¸c˜ao diferencial apli-cada em alguns problemas de otimiza¸c˜ao combinat´oria baseados em permuta¸c˜ao usando

a abordagem denominada Indexa¸c˜ao Por Posi¸c˜ao Relativa (IRP1). Nesta abordagem, os indiv´ıduos da popula¸c˜ao s˜ao representados por vetores cujos parˆametros s˜ao arrays

de n´umeros inteiros. O princ´ıpio b´asico ´e transformar cada parˆametro dos vetores no dom´ınio dos inteiros para o dom´ınio dos reais no intervalo [0,1]. Para tanto, os vetores s˜ao normalizados dividindo-se cada parˆametro pelo maior dentre eles. Ap´os esta

nor-maliza¸c˜ao (convers˜ao dos parˆametros inteiros em n´umeros reais), a equa¸c˜ao da muta¸c˜ao diferencial (Eq. 1.4) ´e aplicada diretamente como no caso do dom´ınio cont´ınuo. A

con-vers˜ao de volta para o dom´ınio dos inteiros ´e obtida usando-se uma indexa¸c˜ao baseada na posi¸c˜ao relativa de cada elemento dentro do vetor. Os elementos no vetor s˜ao

orde-nados de acordo com seus valores. Assim, o menor n´umero real obtido ´e relacionado ao menor valor inteiro, o pr´oximo menor valor real ao pr´oximo menor valor inteiro e assim sucessivamente, at´e todos os elementos no vetor serem convertidos para o dom´ınio dos

n´umeros inteiros novamente. Um exemplo ilustrativo desta abordagem para o Problema do Caixeiro Viajante (TSP2), formulado no ApˆendiceA, ´e apresentado no ApˆendiceA.1.

Essa abordagem sempre resultar´a em solu¸c˜oes v´alidas, desde que os valores conver-tidos para o dom´ınio dos n´umeros reais n˜ao sejam idˆenticos. Se isso ocorrer, o vetor

mutante resultante ter´a valores inteiros idˆenticos e, portanto, ele deve ser reparado ou

1

do inglˆesIndexing by Relative Position 2

(30)

descartado. No exemplo apresentado no Apˆendice A.1 ´e f´acil observar que esta abor-dagem t˜ao somente embaralha os parˆametros do vetor e uma muta¸c˜ao idˆentica `aquela

obtida na muta¸c˜ao diferencial n˜ao ´e obtida. Al´em disso, esta abordagem s´o ´e aplic´avel t˜ao somente em problemas combinat´orios com permuta¸c˜ao e, mesmo assim, ela n˜ao ´e

capaz de identificar a gera¸c˜ao de permuta¸c˜oes idˆenticas [Price et al. 2005].

2.2

Transforma¸

ao Direta e Reversa

A Transforma¸c˜ao Direta e Reversa (FBT3) apresentada em [Onwubolu and Davendra 2009], tamb´em referida como Abordagem de Onwubolu, utiliza o mesmo princ´ıpio de

Lichtblau no que diz respeito a transformar os parˆametros de n´umeros inteiros dos vetores em n´umeros reais, aplicar a equa¸c˜ao de muta¸c˜ao diferencial e retorn´a-los para

o dom´ınio dos inteiros. A diferen¸ca est´a na forma como isso ´e feito. Nesta abordagem, uma “transforma¸c˜ao direta” ´e utilizada para transformar os elementos inteiros do vetor para o dom´ınio das vari´aveis cont´ınuas. Isso ´e feito utilizando a express˜ao:

xpfi = 1 + xi(1 +α) (2.1)

onde:

xi ´e o iesimo´ parˆametro do vetor 9sobrescritopf denota a representa¸c˜ao dos

elementos do vetor em ponto-flutuante).

α´e um n´umero POSITIVO muito pequeno.

Uma vez que os elementos dos vetores est˜ao no dom´ınio dos n´umeros reais, a equa¸c˜ao da muta¸c˜ao diferencial ´e aplicada. Em seguida, a opera¸c˜ao inversa (“transforma¸c˜ao

reversa”) que converte os valores reais de volta para o dom´ınio dos inteiros (Eq. 2.2) ´e aplicada em cada elemento do vetor mutante para obter sua representa¸c˜ao discreta.

xi = round

(1 + xpfi )(2−α)

, (2.2)

onde a fun¸c˜ao round arredonda seu argumento para o inteiro mais pr´oximo.

Essa abordagem geralmente gera solu¸c˜oes inv´alidas, ora devido `a gera¸c˜ao de solu¸c˜oes

fora do espa¸co de busca, ora devido `a gera¸c˜ao de solu¸c˜oes com valores repetidos e, portanto, necessitam de um mecanismo de reparo adequado. [Price et al. 2005] relatam que, apesar dos bons resultados de trabalhos apresentados por Onwubolu usando esta

abordagem, h´a motivos para acreditar que os sucessos obtidos s˜ao consequˆencia direta

3

(31)

dos mecanismos de reparos adotados e da prudˆencia na escolha das heur´ısticas utilizadas. O ApˆendiceA.2apresenta um exemplo ilustrativo da aplica¸c˜ao dessa abordagem no TSP.

2.3

Abordagem por Matriz de Permuta¸

ao - AMP

Essa abordagem, apresentada por Price e Storn em [Price et al. 2005], faz uma analogia entre a diferen¸ca vetorial no dom´ınio dos n´umeros reais e a matriz de permuta¸c˜ao na an´alise combinat´oria. Assim no dom´ınio dos n´umeros reais a diferen¸ca entre dois vetores

resulta em um vetor, no campo da an´alise combinat´oria, duas permuta¸c˜oes poderiam definir um mapeamento que tamb´em ´e uma permuta¸c˜ao. Este mapeamento ´e

repre-sentado por uma matriz de Permuta¸c˜ao. Seguindo essa analogia, a muta¸c˜ao diferencial equivaleria, nos problemas combinat´orios com permuta¸c˜ao, `a matriz de permuta¸c˜ao (ou

Permuta¸c˜ao Diferencial).

SejamPuma matriz de permuta¸c˜ao que mapeia a permuta¸c˜ao dos elementos de um

dado vetor em outro e, xg,r1 e xg,r2, os dois vetores da equa¸c˜ao da muta¸c˜ao diferencial

aleatoriamente escolhidos da popula¸c˜ao. A matriz de permuta¸c˜ao P que mapeia xg,r2

emxg,r1 satisfaz a rela¸c˜ao:

xg,r1 = Pxg,r2 (2.3)

Pode-se dizer, portanto, que a matriz de permuta¸c˜aoP“leva”xg,r2 `axg,r1. No contexto

da evolu¸c˜ao diferencial, esta matriz ´e considerada a “diferen¸ca” obtida de duas solu¸c˜oes

candidatas. A equa¸c˜ao an´aloga `a equa¸c˜ao da muta¸c˜ao diferencial (Eq 1.4) ´e, ent˜ao, escrita como:

vg,i=PF.xg,r0 (2.4)

onde PF ´e a matriz de permuta¸c˜ao modificada pelo parˆametro escalar F, significando aqui, uma probabilidade de se utilizar uma parcela da permuta¸c˜ao representada pela matriz de permuta¸c˜ao originalP. Portanto, esta abordagem aplica algumas permuta¸c˜oes

ao vetor base aleatoriamente selecionadas do conjunto de permuta¸c˜oes da matrizP.

Segundo [Price et al. 2005], esta abordagem tende a estagnar a explora¸c˜ao do espa¸co

de busca,uma vez que os movimentos derivados de permuta¸c˜oes s˜ao raramente produti-vos. Al´em disso, esse m´etodo n˜ao ´e capaz de identificar se duas solu¸c˜oes s˜ao equivalentes.

(32)

2.4

Abordagem por Matriz de Adjacˆ

encias - AMA

Storn [Price et al. 2005,Onwubolu and Davendra 2009], propˆos a Abordagem por Matriz de Adjacˆencias (AMA), em que os vetores solu¸c˜oes da equa¸c˜ao da muta¸c˜ao diferencial s˜ao codificados em matrizes de adjacˆencias. Como na AMP, esta abordagem tamb´em

estabelece uma analogia do que seria a diferen¸ca vetorial na an´alise combinat´oria. Aqui, entretanto, a diferen¸ca vetorial ´e a “diferen¸ca” entre a representa¸c˜ao dos dois vetores

xg,r1e xg,r2 pelas suas respectivas matrizes de adjacˆencias.

Sejam xg,r0, xg,r1e xg,r2 as matrizes de adjacˆencias dos vetores da equa¸c˜ao da

mu-ta¸c˜ao diferencial. Assim, usando aritm´etica M´odulo 24 e uma vez que as opera¸c˜oes de adi¸c˜ao e subtra¸c˜ao nesta aritm´etica s˜ao idˆenticas, a equa¸c˜ao da muta¸c˜ao diferencial ´e dada por:

vg,i = xg,r0 ⊕ F.(xg,r1 ⊕ xg,r2) (2.5)

onde: o operador ⊕indica a opera¸c˜ao l´ogica XOR.

Essa abordagem ´e restrita a problemas combinat´orios com permuta¸c˜ao. Por´em,

rotinas especiais de reparo devem ser aplicadas `as solu¸c˜oes obtidas pois h´a casos em que a diferen¸ca entre duas solu¸c˜oes (duas matrizes de adjacˆencias) nem sempre gera uma

solu¸c˜ao que ´e uma matriz de adjacˆencias. Al´em disso, solu¸c˜oes idˆenticas mas com seus parˆametros simplesmente “rotacionados” dentro do vetor geram matrizes de adjacˆencias

idˆenticas. Consequentemente, a matriz diferen¸ca entre estas solu¸c˜oes ser´a sempre zero [Price et al. 2005]. Na ocorrˆencia desses casos, a solu¸c˜ao obtida dever´a ser reparada ou descartada. No ApˆendiceA.4 um exemplo, tamb´em para o TSP, ´e apresentado.

2.5

Lista de Movimentos: Abordagem Proposta

Ao longo das se¸c˜oes deste cap´ıtulo apresentaram-se as principais abordagens encontradas na literatura para a utiliza¸c˜ao do DE no dom´ınio das vari´aveis discretas. Essas

abor-dagens podem ser classificadas em dois principais grupos: um grupo onde a equa¸c˜ao da muta¸c˜ao diferencial no dom´ınio das vari´aveis cont´ınuas ´e aplicada diretamente em problemas combinat´orios, caso das abordagens IRP e FBT, e o outro em que a

equa-¸c˜ao da muta¸c˜ao diferencial ´e redefinida para a classe de problemas combinat´orios, como ocorre para a AMP e AMA. No primeiro grupo h´a necessidade de reparos nas

solu-¸c˜oes geradas, ora devido a solu¸c˜oes repetidas, ora devido a solu¸c˜oes fora do espa¸co de busca do problema. Isto se deve ao fato de que os operadores aritm´eticos da equa¸c˜ao da

4

(33)

muta¸c˜ao diferencial, operadores estes definidos para o dom´ınio das vari´aveis cont´ınuas, n˜ao s˜ao definidos no espa¸co das vari´aveis discretas. J´a no segundo grupo as

aborda-gens n˜ao s˜ao abrangentes e est˜ao restritas a problemas combinat´orios com permuta¸c˜ao e, mesmo assim, em alguns casos necessitam de algum mecanismo de reparo para as

solu¸c˜oes geradas.

Embora as t´ecnicas apresentadas sejam importantes no contexto da otimiza¸c˜ao dis-creta, as limita¸c˜oes apresentadas comprometem o seu uso em um grande n´umero de

problemas de natureza combinat´oria.

Com o objetivo de contornar tais problemas, esta se¸c˜ao apresenta uma nova

abor-dagem para a evolu¸c˜ao diferencial, denominada Lista de Movimentos, que busca ser gen´erica no ˆambito dos problemas de natureza combinat´oria. A flexibilidade existente

nesta abordagem deve-se ao fato de que os movimentos definidos na lista de movimentos s˜ao espec´ıficos para cada tipo de problema combinat´orio. Assim, os movimentos da lista

ora s˜ao representados por vetores dearrays, ora por matrizes ou por uma outra estrutura de dados mais apropriada a cada tipo de problema tratado. Al´em disso, nenhum meca-nismo de reparo ou rotina auxiliar se faz necess´aria para reparar solu¸c˜oes encontradas e

a autoadapta¸c˜ao da DE, observada no dom´ınio das vari´aveis cont´ınuas, ´e preservada no espa¸co de vari´aveis discretas.

De modo a conceber uma meta-heur´ıstica para o m´etodo de otimiza¸c˜ao do algoritmo DE aplicado a problemas de natureza combinat´oria, a diferen¸ca entre dois vetores no

espa¸co das vari´aveis cont´ınuas deve ser redefinida para o espa¸co das vari´aveis discretas, uma vez que o operador diferen¸ca n˜ao ´e definido neste dom´ınio. Assim, a diferen¸ca veto-rial entre as duas solu¸c˜oes candidatas da equa¸c˜ao da muta¸c˜ao diferencial ´e representada

por uma Lista de Movimentos e definida como:

Defini¸c˜ao2.3. Operador Subtra¸c˜ao: A opera¸c˜ao de subtra¸c˜ao entre duas solu¸c˜oes candidatas origina uma lista de movimentos. A lista de movimentos

resultante, Mij, ´e a lista contendo uma sequˆencia de movimentos v´alidos

mk, tal que, a aplica¸c˜ao destes movimentos `a solu¸c˜aoxj ∈ X leva `a solu¸c˜ao

xi ∈ X.

Sejamxg,r1 exg,r2 duas solu¸c˜oes candidatas de um problema combinat´orio qualquer,

escolhidas aleatoriamente da popula¸c˜ao corrente, para realizar a “diferen¸ca vetorial” da equa¸c˜ao da muta¸c˜ao diferencial. Com base na Defini¸c˜ao 2.3, a lista de movimentos

obtida ´e dada por:

(34)

onde⊖´e um operador de subtra¸c˜ao bin´ario especial que retorna a lista de movimentos

Mr1r2 que representa o “caminho” ou a “distˆancia” entre a solu¸c˜aoxg,r2 e a solu¸c˜aoxg,r1.

Esta lista, de algum modo, captura a diferen¸ca entre estas duas solu¸c˜oes.

A multiplica¸c˜ao da lista de movimentos por um escalar deve ser tamb´em definida:

Defini¸c˜ao 2.4. Operador Multiplica¸c˜ao por Escalar: A multiplica¸c˜ao

da lista de movimentos, Mij, por um escalar λ ∈ [0,1], retorna a lista M

ij

com os primeiros λ × |Mij|⌉ movimentos deMij , onde|Mij|´e o tamanho

da lista.

Como o escalarλ∈[0,1], esta multiplica¸c˜ao prioriza, ou considera, t˜ao somente os 100λ%primeiros movimentos da lista.

Aplicando a Defini¸c˜ao2.4 `a Equa¸c˜ao 2.6, com o escalar λsubstitu´ıdo pelo fator de

multiplica¸c˜ao escalar Fda evolu¸c˜ao diferencial, a multiplica¸c˜ao por escalar no dom´ınio discreto pode ser escrita como:

M′

r1r2 =F ⊗Mr1r2 (2.7)

onde ⊗ ´e um operador de multiplica¸c˜ao bin´ario especial no dom´ınio das vari´aveis dis-cretas.

Finalmente, a aplica¸c˜ao de uma lista de movimentos a uma dada solu¸c˜ao ´e definida pela opera¸c˜ao de adi¸c˜ao:

Defini¸c˜ao 2.5. Operador Adi¸c˜ao: A opera¸c˜ao de adi¸c˜ao ´e a aplica¸c˜ao da

sequˆencia de movimentos da lista M′

ij `a solu¸c˜ao xk e a soma resultante ´e a

nova solu¸c˜aox′

k.

Seja o vetor solu¸c˜aoxg,r0, escolhido aleatoriamente na popula¸c˜ao corrente, o vetor

base da equa¸c˜ao da muta¸c˜ao diferencial. O vetor mutante, resultante da adi¸c˜ao do vetor base `a lista de movimentos dada pela Equa¸c˜ao 2.7, ´e dado por:

vg,i = xg,r0⊕Mr′1r2 (2.8)

(35)

Com as defini¸c˜oes acima, pode-se escrever a equa¸c˜ao da muta¸c˜ao diferencial que determina o vetor mutante como:

vg,i = xg,r0⊕F⊗(xg,r1⊖xg,r2)

vg,i = xg,r0⊕F⊗Mr1r2

vg,i = xg,r0⊕Mr′1r2

(2.9)

que ´e a abordagem discreta proposta para a equa¸c˜ao da muta¸c˜ao diferencial (Eq.1.4).

A defini¸c˜ao para a lista de movimentos ´e gen´erica e a estrutura de dados utilizada para represent´a-la depende da estrutura de dados utilizada para representar as solu¸c˜oes

do problema. Desta forma, as defini¸c˜oes acima podem ser aplicadas a qualquer tipo de problema combinat´orio. Para tanto, a estrutura de dados da Lista de Movimentos deve

ser bem definida e espec´ıfica para o tipo de problema combinat´orio em quest˜ao.

A abordagem por Lista de Movimentos proposta para evolu¸c˜ao diferencial discreta

tem como pilar a Defini¸c˜ao 2.3que define como uma lista de movimentos ´e constru´ıda. Segundo esta defini¸c˜ao, a lista de movimentos deve conter uma sequˆencia de movimentos v´alidos, tal que, a aplica¸c˜ao destes movimentos a uma solu¸c˜ao xj leva a uma outra

solu¸c˜ao xi pertencente ao espa¸co de solu¸c˜oesX. Portanto, para cada tipo de problema

combinat´orio, baseado na defini¸c˜ao da estrutura de dados utilizada na representa¸c˜ao

das solu¸c˜oes do problema, ´e definida a estrutura de dados que melhor represente a lista de movimentos. As se¸c˜oes 2.6a 2.8 apresentam algumas estruturas de dados utilizadas na representa¸c˜ao das solu¸c˜oes de alguns problemas de otimiza¸c˜ao combinat´oria e as

representa¸c˜oes poss´ıveis para as listas de movimentos.

2.6

Lista de Movimentos

Swap

Problemas combinat´orios com permuta¸c˜ao podem ter suas solu¸c˜oes representadas por

uma estrutura de dados do tipoarray. Quando representados desta forma, uma poss´ıvel representa¸c˜ao da estrutura de dados da lista de movimentos seria uma lista de pares

de ´ındices (i,j) dos elementos do array indicando quais elementos da solu¸c˜ao sofreram um movimento de troca de posi¸c˜ao (movimento de swap). Sejam, por exemplo, duas solu¸c˜oes candidatas de um problema combinat´orio com permuta¸c˜ao representadas pelos

(36)

Xg,r1 =

h

A B C D E F G H i

(2.10)

Xg,r2 =

h

E D A F H B C G

i

A lista de movimentos Mij =MXr2,Xr1 contendo os movimentos necess´arios para levar

a solu¸c˜ao Xg,r2 `a solu¸c˜ao Xg,r1 ´e escrita anotando-se os pares de ´ındices dos elementos

da solu¸c˜aoXg,r2 que devem ser trocados de modo a se obter a solu¸c˜aoXg,r1. As Figuras 2.1`a 2.6ilustram tal procedimento.

xg,r1 =

A B C D E F G H

xg,r2 =

E D A F H B C G

xg,r2 =

A D E F H B C G

E A

E A

Figura 2.1: Passo1: Troca dos elementos de ´ındice 0 e 2 para obter o primeiro movimento da lista: MXr2,Xr1 = [(0,2)].

xg,r1 =

A B C D E F G H

xg,r2 =

A D E F H B C G

xg,r2 =

A B E F H D C G

D B

D B

Figura 2.2: Passo2: Troca dos elementos de ´ındice 1 e 5 para obter o segundo movimento da lista: MXr2,Xr1 = [(0,2) (1,5)].

xg,r1 =

A B C D E F G H

xg,r2 =

A B E F H D C G

xg,r2 =

A B C F H D E G

E C

E C

(37)

xg,r1 =

A B C D E F G H

xg,r2 =

A B C F H D E G

xg,r2 =

A B C D H F E G

F D

F D

Figura 2.4: Passo4: Troca dos elementos de ´ındice 3 e 5 para obter o quarto movi-mento da lista: MXr2,Xr1 = [(0,2) (1,5) (2,6) (3,5)].

xg,r1 =

A B C D E F G H

xg,r2 =

A B C D H F E G

xg,r2 =

A B C D E F H G

H E

H E

Figura 2.5: Passo5: Troca dos elementos de ´ındice 4 e 6 para obter o quinto movi-mento da lista: MXr2,Xr1 = [(0,2) (1,5) (2,6) (3,5) (4,6)].

xg,r1 =

A B C D E F G H

xg,r2 =

A B C D E F H G

xg,r2 =

A B C D E F G H

H G

H G

Figura 2.6: Passo6: Troca dos elementos de ´ındice 6 e 7 para obter o ´ultimo movi-mento da lista: MXr2,Xr1 = [(0,2) (1,5) (2,6) (3,5) (4,6) (6,7)].

A Lista de Movimentos final obtida com estes movimentos ´e dada por:

MXr2,Xr1 = [(0,2) (1,5) (2,6) (3,5) (4,6) (6,7)]. (2.11)

Os movimentos deMXr2,Xr1 aplicados `a solu¸c˜aoXg,r2 geram a solu¸c˜aoXg,r1, assim,

(38)

2.7

Lista de Movimentos 2-opt

Em alguns problemas combinat´orios com permuta¸c˜ao, como por exemplo o caso do TSP, trocar elementos (os v´ertices representando as cidades) de posi¸c˜ao dentro doarray (movimentos de swap) n˜ao geram solu¸c˜oes muito ´uteis. Solu¸c˜oes melhores s˜ao geradas

quando trocas de arestas (percursos) s˜ao realizadas. Este tipo de troca ´e utilizado em m´etodos de busca local e ´e conhecido como heur´ıstica de refinamento k-opt. Nesta

opera¸c˜ao, k arcos (ou percursos) em uma configura¸c˜ao s˜ao removidos e substitu´ıdos por outros novos k arcos resultando em uma nova configura¸c˜ao. A Figura 2.7 ilustra o caso de um refinamento 2-opt em que 2 arcos de uma configura¸c˜ao s˜ao removidos e

substitu´ıdos por 2 outros gerando uma nova configura¸c˜ao.

A nova configura¸c˜ao obtida com o refinamento 2-opt mostrada na Figura 2.7 ´e

equivalente a inverter o percurso entre as duas inser¸c˜oes realizadas. Na forma de um array, as duas configura¸c˜oes s˜ao escritas conforme a Eq.2.12.

1 2

4 3

1 2

4 3

Figura 2.7: Heur´ıstica de refinamento 2-opt: Os arcos tracejados s˜ao substitu´ıdos por retas gerando uma nova configura¸c˜ao.

XAntes =

h

1 2 3 4 i

(2.12)

XDepois =

h

1 3 2 4 i

Uma representa¸c˜ao em lista de movimentos baseada neste princ´ıpio pode ser obtida atrav´es de uma lista de duplas de ´ındices indicando as posi¸c˜oes dos elementos do array

onde as inser¸c˜oes foram realizadas e as invers˜oes de percursos que devem ser feitas. As Figuras2.8`a2.11ilustram os procedimentos necess´arios para se obter uma representa¸c˜ao

para lista de movimentos com inser¸c˜oes 2-opt realizadas na solu¸c˜aoXg,r2 de modo a obter

(39)

xg,r1 =

A B C D E F G H

xg,r2 =

F H B C G

xg,r2 =

F H B C G

E D A

A D E

Figura 2.8: Passo1: inverter os elementos entre as inser¸c˜oes feitas nos ´ındices 0 e 2 para obter o primeiro movimento da lista: MXr2,Xr1 = [(0,2)].

xg,r1 =

A B C D E F G H

xg,r2 =

A C G

xg,r2 =

A C G

D E F H B

B H F E D

Figura 2.9: Passo2: inverter os elementos entre as inser¸c˜oes feitas nos ´ındices 1 e 5 para obter o segundo movimento da lista: MXr2,Xr1 = [(0,2) (1,5)].

xg,r1 =

A B C D E F G H

xg,r2 =

A B G

xg,r2 =

A B G

H F E D C

C D E F H

Figura 2.10: Passo3: inverter os elementos entre as inser¸c˜oes feitas nos ´ındices 2 e 6 para obter o terceiro movimento da lista: MXr2,Xr1 = [(0,2) (1,5) (2,6)].

xg,r1 =

A B C D E F G H

xg,r2 =

A B C D E F

xg,r2 =

A B C D E F

H G

G H

Figura 2.11: Passo4: inverter os elementos entre as inser¸c˜oes feitas nos ´ındices 6 e 7 para obter o ´ultimo movimento da lista: MXr2,Xr1 = [(0,2) (1,5) (2,6) (6,7)].

A lista de movimentos final obtida com estes movimentos ´e dada pela Equa¸c˜ao2.13

abaixo:

(40)

2.8

Lista de Movimentos N´

o-Profundidade

Uma estrutura de dados eficiente para representar problemas combinat´orios cujas solu-¸c˜oes s˜ao grafos do tipo ´arvore ´e a Representa¸c˜ao N´o-Profundidade (RNP) apresentada

em [Delbem et al. 2004,dos Santos 2009,Santos et al. 2010,Mansour et al. 2010]. Nesta representa¸c˜ao, a codifica¸c˜ao ´e realizada como uma lista contendo os n´os da ´arvore e suas

respectivas profundidades em rela¸c˜ao `a raiz. A lista ´e formada por tuplas (n, p), onden

´e o n´o e psua profundidade.

Seja, por exemplo, um problema combinat´orio qualquer cujos indiv´ıduos s˜ao repre-sentados por um grafoG1 como o da Figura 2.12. No grafo ´e identificado uma floresta

com trˆes ´arvores T1, T2 e T3 cujas ra´ızes s˜ao respectivamente os n´os 1, 2 e 3.

1 4 5 6 7 8 9 2

10 11 12 13 14 15

16 17 18 19 20 21

22 23 24 25 26 27 3

G

1

Figura 2.12: Representa¸c˜ao de um indiv´ıduo por um grafo (figura reproduzida de [dos Santos 2009] p´ag. 56).

As trˆes ´arvores s˜ao, ent˜ao, representadas, usando a RNP, por meio de uma matriz

indicando os n´os e suas profundidades a partir da raiz conforme mostrado na Equa-¸c˜ao 2.14. A ordem dos n´os ´e obtida atrav´es de uma busca em profundidade realizada

em cada ´arvore [dos Santos 2009].

T1 = "

prof. no´

# =

"

0 1 2 3 2 3 4 3 4 4

1 4 5 6 10 11 12 16 22 23 #

T2 = "

prof.

no´ #

= "

0 1 2 3 3 2 3

2 9 8 7 13 15 14 #

T3 = "

prof. no´

# =

"

0 1 2 3 2 3 4 5 3 4

3 27 21 20 26 19 18 17 25 24 #

(2.14)

(41)

poda de uma sub´arvore a partir de um n´o p de uma ´arvore e enxerta a sub´arvore em um n´oede outra ´arvore da floresta;ii)e oChange Ancestor Operator (CAO) que, al´em

dos n´os de poda e enxerto, determina um novo n´o raizr para a sub´arvore, o qual passa a ser o n´o de enxerto. O n´o de enxerto deve ser um n´o v´alido pertencente `a lista de

adjacˆencia de n´os do grafoG. A Tabela2.1apresenta a lista de adjacˆencia de n´os para o grafo da Figura2.12. Uma vez obtida as RNPs das ´arvores de uma floresta de um grafo, novas florestas podem ser obtidas diretamente da RNP com a aplica¸c˜ao dos operadores

PAO e CAO. A seguir, ´e apresentada a utiliza¸c˜ao destes dois operadores para gera¸c˜ao de novos indiv´ıduos.

N´o N´os Adjacentes

1 4

2 9

3 27

4 1 5 10

5 4 6 11

6 5 7 12

7 6 8 13

8 7 9 13 14

9 2 8 15

10 4 11 16

11 5 10 12 17

12 6 11 13 18

13 7 8 12 14 19

14 8 13 15 20

15 9 14 21

16 10 17 22 23

17 11 16 18 23

18 12 17 19 24

19 13 18 20 25 26

20 14 19 21 26

21 15 20 27

22 16 23

23 16 17 22 24

24 18 23 25

25 19 24 26

26 19 20 25 27

27 3 21 26

Tabela 2.1: Lista de n´os adjacentes do grafo G1

2.8.1 Preserve Ancestor Operator

Imagem

Figura 1.1: Muta¸c˜ ao Diferencial: a diferen¸ca ponderada, F (X g,r 1 − X g,r 2 ), ´e adici- adici-onada ao vetor base, X g,r 0 , para produzir o vetor mutante, V g,i
Figura 1.3: Gera¸c˜ao 10: Distribui¸c˜ ao da Popula¸c˜ ao em torno das bacias de atra¸c˜ ao (a) e vetores diferen¸ca direcionados para as bacias de atra¸c˜ao (b).
Figura 1.4: Gera¸c˜ao 20: Popula¸c˜ ao atra´ıda para o m´ınimo global (a) e tamanho dos vetores diferen¸ca e sua distribui¸c˜ ao prop´ıcios a uma busca local (b)
Figura 2.12: Representa¸c˜ ao de um indiv´ıduo por um grafo (figura reproduzida de [dos Santos 2009] p´ag
+7

Referências

Documentos relacionados

algumas semanas da prova, será enviado um relatório com a classificação obtida nas diversas competências avaliadas, assim como um diploma com a nota final no caso do aluno

No estudo de viabilidade de implantação de um sistema de Cogeração em uma Indústria já existente é necessário que se faça uma análise comparativa das possíveis soluções

In figure 4, the application domain Crawling is fundamental to establish the physical resources used by the crawling sub-system, since the operons Robot are automatically spread

Tanto em sua paisagem física como em sua paisagem humana, o Mediterrâneo encruzilhada, o Mediterrâneo heteróclito apresenta-se em nossas lembranças como uma imagem coerente, como

A) Realizar esterilização química por imersão, utilizando agentes esterelizantes líquidos para o instrumental cirúrgico. B) É proibido o processamento de

O estudo múltiplo de casos foi aplicado para identificar as semelhanças e dissemelhanças na forma como as empresas relacionam seus modelos de negócios e suas

As empresas abrangidas pela presente Norma Coletiva, descontarão, mensalmente, a partir do mês de agosto de 2010, 2% (dois por cento) do salário base somente dos empregados

A presente pesquisa tem como objetivo principal identificar as fontes de recursos captadas para a manutenção do Instituto dos Cegos, entidade sem fins lucrativos situada na cidade