Anda di halaman 1dari 320

Universidade de Trs-os-Montes e Alto Douro Departamento de Engenharias rea de Engenharia Electrotcnica e de Computadores

Escalonamento Inteligente de Tarefas de Manuteno nos Sistemas Elctricos de Energia

Nuno Filipe da Fonseca Bastos Gomes

Tese submetida Universidade de Trs-os-Montes e Alto Douro Para obteno do grau de Doutor em Engenharia Electrotcnica e de Computadores, elaborada sob a orientao da Doutora Zita Maria Almeida do Vale e do Doutor Manuel da Ressurreio Cordeiro

Vila Real, Novembro de 2004

Para o Kiko, e Susana

Unio Europeia

Fundo Social Europeu

Os trabalhos de Investigao apresentados nesta Tese de Doutoramento foram parcialmente financiados por uma bolsa do Programa PRODEP III, Eixo 3, Medida 5, Aco 5.3.

Agradecimentos
A execuo dos trabalhos conducentes realizao duma tese de Doutoramento constitui uma tarefa rdua, que exige dedicao e algum sacrifcio pessoal. A dificuldade desta tarefa depende das adversidades, mas tambm dos apoios que vo surgindo ao longo do trabalho. No meu caso, os apoios foram significativos e determinantes para superar as adversidades. Neste sentido, gostaria de deixar aqui um agradecimento a algumas das pessoas e instituies que de alguma forma contriburam para a realizao desta tese. Um agradecimento especial minha orientadora, Doutora Zita Almeida do Vale, pela sua disponibilidade, apoio, colaborao, e valiosos contributos cientficos. Ao meu co-orientador, Doutor Manuel Cordeiro, um agradecimento por todo o apoio e disponibilidade com que acompanhou este trabalho. Aos meus colegas Raul Pinheiro e Armando Ferreira, pelas imensas horas que passadas na troca de ideias, partilha de angstias, dvidas e incertezas. Agradeo tambm a todos os meus colegas do Grupo de Investigao em Engenharia do Conhecimento e Apoio Deciso (GECAD) pelas discusses cientficas e pelo ambiente agradvel que sempre proporcionaram. Ao Instituto Superior de Engenharia do Porto, agradeo a dispensa do servio docente. Universidade de Trs-os-Montes e Alto Douro, agradeo a oportunidade de realizar este trabalho. Ao PRODEP agradeo o suporte dado a este Doutoramento. Agradeo, ainda, Fundao para a Cincia e a Tecnologia (FCT) pelo suporte concedido ao GECAD e a alguns projectos de I&D, nomeadamente ao projecto ISEPMain Intelligent Scheduling of Power Distribution Networks Maintenance Activities. Agradeo a todos os meus amigos pelo apoio que directa ou indirectamente me deram no decorrer deste trabalho. Obrigada por tambm me ajudarem a descontrair e enfrentar as dificuldades com mais leveza! minha famlia um agradecimento muito especial. Aos meus Pais, a quem devo tudo o que sou hoje e aos meus irmos. Por fim, Susana e meu filho Kiko, por tudo! Especialmente por estarem sempre presentes, por me compreenderem e por me ajudarem a fazer de cada dia um dia melhor!

vii

Resumo
As empresas ligadas ao sector elctrico enfrentam actualmente novos desafios que advm, entre outros factores, da reestruturao dos Mercados de Energia Elctrica, e consequente liberalizao do sector, e da intensificao da produo distribuda. Particularmente, ao nvel da organizao, as exigncias so cada vez maiores, tornando-se necessrio que estas empresas adoptem modelos de funcionamento que as tornem mais eficientes e, consequentemente, mais competitivas. Neste contexto, algumas questes assumem uma importncia adicional. Exemplos dessas questes so o Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo (PETMUP) e o problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte (PETMRT). O objectivo principal do trabalho apresentado neste documento consiste em desenvolver as metodologias necessrias e uma ferramenta capaz de resolver os problemas referidos, dando principal relevncia flexibilidade para o desenvolvimento e manuteno dos modelos desses problemas, assim como eficincia na resoluo dos mesmos. Dados os requisitos relativos flexibilidade, a ferramenta foi desenvolvida com base na Programao Lgica por Restries (PLR), que constitui uma extenso da Programao Lgica vocacionada para a resoluo de problemas combinatoriais caracterizados por possurem um nmero elevado de restries. Sendo largamente reconhecidas as capacidades da PLR para o desenvolvimento de modelos para problemas complexos, esta apresenta, contudo, alguns problemas de eficincia, particularmente quando os problemas a resolver possuem um espao de pesquisa de grandes dimenses e uma relao elevada entre o nmero de solues vlidas e o nmero total de solues. Neste sentido, foi desenvolvido um modelo adequado PLR para cada um dos problemas, os quais englobam todas as restries existentes no mundo real. Particularmente, destaca-se a originalidade do modelo para o PETMRT, pela forma como modeliza e resolve a propagao das restries elctricas, as quais so normalmente simplificadas noutros trabalhos, dada a complexidade inerente ao seu tratamento. Os modelos foram implementados e avaliadas diferentes heursticas para a seleco das variveis e valores, pois estas dependem do problema e so determinantes para a eficincia do mtodo de resoluo. De forma a melhorar a eficincia da PLR foram desenvolvidos trs mtodos hbridos, que combinam a PLR com mtodos oriundos doutras reas, nomeadamente com Programao Linear, com Simulated Annealing e com um mtodo de Pesquisa Local. Os mtodos e modelos foram testados com vrias instncias do PETMUP e do PETMRT, sendo os resultados obtidos bastante promissores.

ix

Abstract
Electrical companies have now to deal with new challenges, mainly related with Electrical Energy market restructuring, and resulting market liberalization, and also with the distributed generation increasing. To maintain its competitiveness, the companies need efficient operational models in order to keep cost at low level, without losing service quality. In this context, some questions assume higher importance. Two good examples are the Maintenance Scheduling of Electrical Power Generating Units Problem (MSEUP), and the Maintenance Scheduling of Electrical Power Transmission Networks Problem (MSETNP). The main objective of the work presented in this document consists in developing the needed methodologies, and the right tool, capable of solving both problems. The development is made stressing the need of great flexibility to change and maintain the problem models, and also the need of solving efficiency. Due to this flexibility requirements, the methodologies were developed over the Constraint Logic Programming Framework (CLP). Basically, CLP consists of an extension of Logic Programming that allows the solving of combinatorial problems characterized by a great number of complex constraints. Although recognizing the good modelling capabilities of CLP, some efficiency problems have been identified, particularly when solving large problems with a great number of solutions. A CLP model that considers all the main real world constraints was developed for each problem. Particularly the MSETNP model is original and efficient in the way it models and solves the Electrical Constraints, frequently simplified in others works, due to their inherent complexity. The models were implemented and evaluated with different variable and value selection heuristics, due to their importance for the search methods performance. In order to increase the CLP efficiency three hybrid methods were developed. The hybrid methods combine CLP with different methods, namely Linear Programming, Simulated Annealing, and a new local search method. All the models and solving methods were tested with several MSEUP and MSETNP instances, with very promising results.

xi

Lista de Figuras
Figura 2.1 Estrutura do GI .......................................................................................................................... 42 Figura 2.2 Distribuio por ano das Publicaes Relacionadas com o PETMUP ..................................... 46 Figura 2.3 Distribuio por ano das Publicaes Relacionadas com o PETMRT...................................... 63

Figura 3.1 Exemplo de um programa em Lgica ........................................................................................ 75 Figura 3.2 - rvore de Pesquisa correspondente ao Programa da Figura 3.1 .............................................. 76 Figura 3.3 - Exemplo de um programa em Lgica por Restries ................................................................. 77 Figura 3.4 - rvore de Pesquisa correspondente ao Programa da Figura 3.4 .............................................. 80 Figura 3.5 Grafo de Restries.................................................................................................................... 86 Figura 3.6 Plataforma de Resoluo do PSR .............................................................................................. 89 Figura 3.7 Exemplo de uma rede de restries consistente em termos de pares de variveis, mas globalmente inconsistente ............................................................................................................................... 91 Figura 3.8 Exemplo de Consistncia de Limites.......................................................................................... 93 Figura 3.9 Representao da desigualdade entre variveis ........................................................................ 95 Figura 3.10 rvore de Pesquisa para duas estratgias de seleco distintas ............................................. 96 Figura 3.11 Exemplo de explorao de uma rvore binria usando LDS................................................. 104 Figura 3.12 Metodologia para o Desenvolvimento de um Programa em PLR.......................................... 110 Figura 3.13 Exemplo para o mtodo BBB ................................................................................................. 118 Figura 3.14 Resultados das vrias estratgias de pesquisa para as instncias do tipo msh_10_24_x_1 123 Figura 3.15 Resultados das vrias estratgias de pesquisa para as instncias do tipo msh_15_24_x_1 123 Figura 3.16 -Tempo de computao e custo da melhor soluo obtida por um mtodo baseado no algoritmo de LDS em funo do valor de discrepncia para a instncia iem_10_24_a_1 ........................................... 125

xiii

Figura 3.17 -Tempo de computao e custo da melhor soluo obtida por um mtodo baseado no algoritmo de LDS em funo do valor de discrepncia para a instncia iem_10_24_b_1 ............................................126

Figura 4.1 Plataforma de Integrao da PLR com a PL............................................................................139 Figura 4.2 Passos do esquema de Limites Simples ....................................................................................141 Figura 4.3 Passos do esquema de Escolha Informada...............................................................................142 Figura 4.4 Passos do esquema de Verificao de Consistncia.................................................................144 Figura 4.5 Resultados dos esquemas de integrao LS, EI e VC para as instncias do tipo msh_10_24_x .......................................................................................................................................................................146 Figura 4.6 Resultados dos esquemas de integrao LS, EI e VC para as instncias do tipo msh_15_24_x .......................................................................................................................................................................147 Figura 4.7 Comparao de resultados obtidos pelo mtodo de BBB apresentado no Captulo 3 e pelo esquema de LS................................................................................................................................................148

Figura 5.1 Ilustrao de um exemplo de pesquisa em profundidade ..........................................................153 Figura 5.2 Alterao da soluo obtida aps um movimento segundo um mtodo de pesquisa local.......155 Figura 5.3 Ilustrao de um exemplo do algoritmo de Simulated Annealing ............................................161 Figura 5.4 Algoritmo base para o Simulated Annealing ............................................................................162 Figura 5.5 Ilustrao de um exemplo de Pesquisa Tabu............................................................................166 Figura 5.6 Algoritmo base da Pesquisa Tabu ............................................................................................168 Figura 5.7 - Algoritmo de Pesquisa Quase Local .........................................................................................172 Figura 5.8 - Algoritmo de Pesquisa Quase Local com Memria ..................................................................176 Figura 5.9 Mdia dos custos das solues obtidas com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_a_1.............................................................182 Figura 5.10 - Mdia do tempo de computao necessrio para obter as solues com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_a_1 ..........................182

xiv

Figura 5.11 Soma dos resultados referentes ao Tempo mais Custo, indicados na Figura 5.9 e Figura 5.10. ....................................................................................................................................................................... 183 Figura 5.12 Mdia dos custos das solues obtidas com o mtodo de PQL, em funo do nmero de variveis no instanciadas para 5 instncias do PTMUP ............................................................................ 185 Figura 5.13 Mdia dos tempos necessrios para resolver o problema usando o mtodo de PQL, em funo do nmero de variveis no instanciadas para 5 instncias do PTMUP...................................................... 185 Figura 5.14 Soma dos resultados referentes ao Tempo mais Custo, indicados nas Figuras 4.11 e 4.12 .. 186 Figura 5.15 Tempo de computao necessrio para obter a soluo ptima ........................................... 187 Figura 5.16 Tempos de computao necessrios pelo mtodo de PQL em funo dos tempos de computao necessrios pelo mtodo de LS, para diferentes instncias do tipo iem_10_24_xx (azul) e do tipo iem_15_24_xx (amarelo)............................................................................................................................... 188

Figura 6.1 Espao de Pesquisa para um problema com duas variveis ................................................... 195 Figura 6.2 Representao dos Sub-Espaos de Pesquisa de acordo com a diviso por 2 dos domnios das variveis do problema ................................................................................................................................... 197 Figura 6.3 Plataforma de Integrao de Reduzir e Atribuir...................................................................... 199 Figura 6.4 Exemplo de Espao de Pesquisa para um problema com 2 variveis e 4 valores de domnio 200 Figura 6.5 Algoritmo base do Mtodo de Pesquisa Guiada por Utilidades .............................................. 206 Figura 6.6 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_10_24_a1 .......................................................................................................... 209 Figura 6.7 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_15_24_a1 .......................................................................................................... 209 Figura 6.8 - Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_10_24_d1 .......................................................................................................... 211 Figura 6.9 Comparao dos resultados obtidos com os mtodos de LS, PQL e PGU para as instncias do tipo iem_10_24_xx ........................................................................................................................................ 213 Figura 6.10 Comparao dos resultados obtidos com os mtodos de LS, PQL e PGU para as instncias do tipo iem_15_24_xx ........................................................................................................................................ 213

xv

Figura 7.1 Exemplo de um grafo representativo de uma rede elctrica.....................................................223 Figura 7.2 Esquema de Comunicao entre o ECLiPSe e o MATLAB na implementao do algoritmo de filtragem ARE.................................................................................................................................................232 Figura 7.3 Rede de 14 barramentos usada nos testes ................................................................................233 Figura 7.4 Tempo necessrio para obter a soluo ptima de 3 instncias do PETMRT com as heursticas MinVar+MinVal+Ctm e FF+MinC+P..........................................................................................................234

xvi

Lista de Tabelas
Tabela 1.1 Termos Usados na Tese.............................................................................................................. 14

Tabela 2.1 Percentagem estimada de cada tipo de Manuteno na MBC................................................... 23 Tabela 2.2 Infraestruturas a cargo da EDP Distribuio no ano de 2002 ............................................... 29 Tabela 2.3 - Parmetros usados pelo GI para a gerao das janelas temporais das tarefas......................... 43 Tabela 2.4 Correspondncia do nome das instncias geradas automaticamente........................................ 45

Tabela 3.1 Instncias usadas nos testes ..................................................................................................... 122

Tabela 5.1 - Classificao de regras para determinar o tamanho da Lista Tabu......................................... 170 Tabela 5.2 Valores usados nos testes para Razo de arrefecimento.......................................................... 181 Tabela 5.3 Valores usados para o nmero de iteraes nos testes com as instncias de 10 tarefas e 24 perodos......................................................................................................................................................... 181 Tabela 5.4 Valores usados para o nmero de iteraes nos testes com as instncias de 15 tarefas e 24 perodos......................................................................................................................................................... 181 Tabela 5.5 Correspondncia da Legenda das Figuras 5.12, 5.13 e 5.14................................................... 186

xvii

ndice
AGRADECIMENTOS ........................................................................................................................... VII RESUMO................................................................................................................................................... IX ABSTRACT............................................................................................................................................... XI LISTA DE FIGURAS ............................................................................................................................XIII LISTA DE TABELAS ..........................................................................................................................XVII NDICE................................................................................................................................................... XIX

CAPTULO 11
INTRODUO........................................................................................................................................... 1 1.1 1.2 INTRODUO .................................................................................................................................. 3 ESPECIFICIDADES DO PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO NOS

SISTEMAS ELCTRICOS DE ENERGIA ......................................................................................................... 6 1.3 1.4 1.5 1.6 1.7 MOTIVAO PARA O USO DA PROGRAMAO LGICA POR RESTRIES ........................................ 8 OBJECTIVOS DO TRABALHO .......................................................................................................... 11 CONTRIBUIES ORIGINAIS .......................................................................................................... 12 TERMINOLOGIA ............................................................................................................................. 14 ORGANIZAO DA TESE................................................................................................................ 16

CAPTULO 2
O PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO NOS SISTEMAS ELCTRICOS DE ENERGIA ................................................................................................................ 19 2.1 2.2 A MANUTENO EM TERMOS GERAIS .......................................................................................... 21 PARTICULARIDADES DA MANUTENO EM SISTEMAS ELCTRICOS DE ENERGIA ......................... 24

xix

2.2.1

O Contexto Nacional do Problema de Escalonamento de Tarefas de Manuteno nos

Sistemas Elctricos de Energia..........................................................................................................24 2.2.2 2.2.3 2.2.4 2.3 O Contexto da Manuteno na rea das Centrais de Produo.........................................26 O Contexto da Manuteno na Rede de Transporte............................................................26 O Contexto da Manuteno na Rede de Distribuio .........................................................28

O PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO EM UNIDADES DE PRODUO .. ......................................................................................................................................................30 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 Caractersticas Gerais do Problema...................................................................................30 Tarefas.................................................................................................................................32 Restries ............................................................................................................................33 Funo de Optimizao.......................................................................................................34 Formalizao do Problema.................................................................................................38 Gerador de Instncias .........................................................................................................40

2.4

ABORDAGENS AO PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO EM UNIDADES

DE PRODUO .........................................................................................................................................46

2.4.1 2.4.2 2.5

Abordagens Clssicas .........................................................................................................47 Abordagens Modernas.........................................................................................................50

O PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO NA REDE DE TRANSPORTE DE

ENERGIA ELCTRICA ...............................................................................................................................55 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6 Caractersticas Gerais do PETMRT....................................................................................55 Tarefas.................................................................................................................................56 Restries ............................................................................................................................57 Funo de Optimizao.......................................................................................................58 Formalizao do Problema.................................................................................................59

ABORDAGENS AO PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO NA REDE DE

TRANSPORTE DE ENERGIA ELCTRICA ....................................................................................................62

xx

2.6.1 2.6.2

Abordagens ao PETMRT segundo uma perspectiva da produo...................................... 64 Abordagens ao PETMRT segundo uma perspectiva da rede.............................................. 66

CAPTULO 3
A PROGRAMAO LGICA POR RESTRIES E SUA APLICAO AO PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO EM UNIDADES DE PRODUO..... 69 3.1 3.2 INTRODUO ................................................................................................................................ 71 A PROGRAMAO EM LGICA POR RESTRIES ........................................................................... 72 3.2.1 3.2.2 3.2.3 3.3 O Esquema da PLR............................................................................................................. 73 Um Programa em PLR ....................................................................................................... 75 Classificao de um Meta-Interpretador de Restries...................................................... 81

O PROBLEMA DA SATISFAO DE RESTRIES EM PLR ............................................................... 82 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 Definies Associadas ao PSR............................................................................................ 82 Resoluo do PSR............................................................................................................... 85 Plataforma para a Resoluo de um PSR........................................................................... 87 Verificao de Consistncia ............................................................................................... 89 Restries Globais .............................................................................................................. 93 Seleco de Variveis e de Valores .................................................................................... 96

3.4

MTODOS DE PESQUISA EM PLR................................................................................................... 99 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 Variantes da Pesquisa com Retrocesso .............................................................................. 99 Verificao-Antecipada .................................................................................................... 100 Previso ............................................................................................................................ 101 Mtodos que Limitam a Explorao da rvore de Pesquisa ............................................ 102 Optimizao em PLR ........................................................................................................ 104

3.5

APLICAES DA PLR .................................................................................................................. 105

xxi

3.6

RESOLUO DO PETMUP USANDO A PLR..................................................................................111 3.6.1 3.6.2 3.6.3 3.6.4 A Definio do Modelo......................................................................................................111 O Mtodo de Pesquisa e Optimizao...............................................................................116 Resultados Experimentais .................................................................................................121 Testes com Limited Discrepancy Search ...........................................................................124

3.7

QUESTES PARA TRABALHO FUTURO .........................................................................................126

CAPTULO 4
INTEGRAO DA PROGRAMAO LGICA POR RESTRIES COM PROGRAMAO LINEAR PARA A RESOLUO DO PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO EM UNIDADES DE PRODUO ..........................................................................129 4.1 4.2 4.3 INTRODUO ...............................................................................................................................131 PONTOS COMUNS E PRINCIPAIS DIFERENAS ENTRE A PLR E A PL .............................................132 ESQUEMAS DE INTEGRAO ........................................................................................................134 4.3.1 4.3.2 4.4 4.5 Esquemas baseados em Modelizao Dupla .....................................................................134 Esquemas Baseados em Decomposio ............................................................................135

NOVO ESQUEMA DE INTEGRAO ...............................................................................................138 INSTNCIAS DA PLATAFORMA DE INTEGRAO ..........................................................................140 4.5.1 4.5.2 4.5.3 Esquema de Limites Simples .............................................................................................141 Esquema de Escolha Informada ........................................................................................142 Esquema de Verificao de Consistncia..........................................................................143

4.6

A RESOLUO DO PETMUP USANDO OS ESQUEMAS DE INTEGRAO DE LS, EI E VC..............144 4.6.1 4.6.2 4.6.3 Questes de Implementao ..............................................................................................145 Resultados Experimentais .................................................................................................146 Comparao de Resultados ...............................................................................................147

xxii

4.7

QUESTES PARA TRABALHO FUTURO ......................................................................................... 149

CAPTULO 5
O MTODO DE PESQUISA QUASE LOCAL NA RESOLUO DO PROBLEMA DE ESCALONAMENTO DE TAREFAS DE MANUTENO EM UNIDADES DE PRODUO... 151 5.1 5.2 INTRODUO .............................................................................................................................. 153 MTODOS NO SISTEMTICOS ................................................................................................... 156 5.2.1 5.2.2 5.2.3 5.3 Mtodos Heursticos ......................................................................................................... 157 Pesquisa Local.................................................................................................................. 158 Conceito de Meta-heurstica............................................................................................. 159

SIMULATED ANNEALING ............................................................................................................... 160 5.3.1 5.3.2 Convergncia do Algoritmo: Da teoria prtica............................................................. 162 Escolha dos parmetros.................................................................................................... 163

5.4

PESQUISA TABU......................................................................................................................... 166 5.4.1 5.4.2 Formalizao do mtodo .................................................................................................. 167 Escolha dos Parmetros ................................................................................................... 169

5.5

O MTODO DE PESQUISA QUASE LOCAL ..................................................................................... 171 5.5.1 5.5.2 O Algoritmo ...................................................................................................................... 171 Questes de Implementao ............................................................................................. 173

5.6

RESOLUO DO PETMUP USANDO O MTODO DE PQL ............................................................. 176 5.6.1 5.6.2 5.6.3 Mdulos da PQL............................................................................................................... 177 Resultados Experimentais................................................................................................. 181 Comparao dos Resultados............................................................................................. 188

5.7

QUESTES PARA TRABALHO FUTURO ......................................................................................... 189

xxiii

CAPTULO 6
O MTODO DE PESQUISA GUIADA POR UTILIDADES NA RESOLUO DO PROBLEMA DE ESCALONAMENTO DO TAREFAS DE MANUTENO EM UNIDADES DE PRODUO 191 6.1 6.2 INTRODUO ...............................................................................................................................193 A PLATAFORMA DE INTEGRAO DE REDUZIR E ATRIBUIR .........................................................194 6.2.1 6.3 Dimenso do Sub-espao de Pesquisa ..............................................................................200

O MTODO DE PESQUISA GUIADA POR UTILIDADES ....................................................................202 6.3.1 6.3.2 6.3.3 6.3.4 Componente DIV_comp.....................................................................................................202 Componente PR_comp ......................................................................................................203 Questes de Implementao ..............................................................................................204 O Algoritmo.......................................................................................................................206

6.4

RESOLUO DO PETMUP USANDO O MTODO DE PGU..............................................................207 6.4.1 6.4.2 Resultados Experimentais .................................................................................................208 Comparao de Resultados ...............................................................................................212

6.5

QUESTES PARA TRABALHO FUTURO ..........................................................................................214

CAPTULO 7
RESOLUO DO PROBLEMA DO ESCALONAMENTO DE TAREFAS DE MANUTENO NA REDE DE TRANSPORTE DE ENERGIA ELCTRICA NO MBITO DA PROGRAMAO LGICA POR RESTRIES...............................................................................................................217 7.1 7.2 INTRODUO ...............................................................................................................................219 A DEFINIO DO MODELO...........................................................................................................219 7.2.1 7.2.2 7.2.3 Variveis e Respectivos Domnios.....................................................................................220 Restries Gerais ..............................................................................................................220 Restries Elctricas .........................................................................................................221

xxiv

7.3

O MTODO DE PESQUISA E OPTIMIZAO ................................................................................... 229 7.3.1 Estratgias de Seleco de Variveis e Valores ............................................................... 230

7.4 7.5 7.6

QUESTES DE IMPLEMENTAO ................................................................................................. 231 RESULTADOS EXPERIMENTAIS .................................................................................................... 233 QUESTES PARA TRABALHO FUTURO ......................................................................................... 236

CAPTULO 8
CONCLUSES....................................................................................................................................... 239 8.1 8.2 CONCLUSES E PERSPECTIVAS FUTURAS .................................................................................... 241 CONSIDERAES FINAIS ............................................................................................................. 251

REFERNCIAS...................................................................................................................................... 253

ANEXO A ANEXO B

xxv

Captulo 1

Introduo
Equation Chapter 1 Section 1

Introduo

1.1

Introduo

De uma perspectiva histrica, a Energia, Transportes e Redes de Comunicao constituem os fundamentos de todas as sociedades prsperas e modernas. Especificamente, o papel da energia elctrica tem crescido sustentadamente, tanto em diversidade como importncia durante o ltimo sculo. Globalmente, a energia elctrica reconhecida como a chave para o progresso social, prosperidade econmica e melhoramento da qualidade de vida. Entre outras, a Academia Nacional para a Engenharia dos Estados Unidos da Amrica considerou a disseminao da energia elctrica como a inovao do sculo XX mais benfica para a civilizao. Provavelmente, considerando a crescente importncia dos aspectos ambientais, assim como o fim das reservas petrolferas, ou pelo menos a instabilidade nos principais pases produtores e consequentes crises do petrleo, ser mais uma vez uma inovao relacionada com a energia elctrica a mais benfica do sculo XXI. Dada a importncia do sector elctrico, este foi e ainda , em muitos casos, controlado pelos estados segundo um esquema monopolista. O controlo compreendia as trs componentes do negcio da electricidade, nomeadamente a Produo, o Transporte e a Distribuio e era geralmente supervisionado por uma ou mais entidades reguladoras independentes que seguiam leis e regras proteccionistas criadas pelo prprio estado. Basicamente, o sector elctrico baseava-se num monoplio vertical integrado, em que as companhias elctricas disponham de despachos (nacionais e/ou regionais) que coordenavam a operao, o despacho da produo e a interligao entre as diferentes regies, no sentido de melhorar a eficincia, a qualidade do servio e reduzir os custos. A gesto integrada da capacidade de produo e transmisso, da manuteno e da operao permitia, em princpio, a reduo de custos. A qualidade de servio era assegurada mantendo a oferta igual procura numa base instante a instante. Neste contexto monopolista, sem presso concorrencial, no existiam, na prtica, grandes preocupaes de desempenho econmico, modernizao e optimizao dos processos e servios. Tal como referido em (Shahidehpour M. 2000), as polticas tendiam a manter-se, assim como os processos e mtodos. Os processos dependiam em demasia dos trabalhadores individualmente sem grande controlo por parte da estrutura.

Captulo 1

Com a reestruturao do mercado, findaram as condies para a manuteno do monoplio, passando a existir livre concorrncia no fornecimento de energia elctrica. Neste novo contexto, coexistem produtores independentes e privados, que competem em regime de mercado aberto pelo fornecimento da energia elctrica. Os consumidores podem tambm escolher livremente os seus fornecedores. Tendencialmente, com a reestruturao necessria a decomposio do sector, separando os trs componentes da indstria elctrica. Por exemplo, os produtores tem de contratar a transmisso e distribuio ou eventualmente, vender a energia a estes, que ficam responsveis pelo seu fornecimento. Os servios de facturao e cobrana, at agora controlados verticalmente por uma nica entidade, tm de ser tambm reestruturados, passando a constituir um novo componente do sector. A decomposio fortalece o carcter atpico e aumenta a complexidade do negcio da electricidade, pois vrias entidades independentes, e eventualmente concorrentes, colaboram para o fornecimento de um nico produto, com procura varivel e que no se pode armazenar em quantidades apreciveis. O bom funcionamento da cadeia exige uma relao estreita entre as diferentes entidades, com a coordenao e gesto de diversos recursos humanos e materiais, distribudos geograficamente. O aumento de exigncia dos consumidores acompanha esta mudana, pois na nova era da informao, globalizao e automatizao industrial, a electricidade constitui o sangue de toda a actividade industrial e comercial, e um elemento essencial para grande parte das actividades productivas. Actualmente, uma interrupo de alguns segundos no fornecimento da energia pode significar grandes perdas em termos de capacidade produo, de produtos, de informao, etc. Como exemplo, estima-se que o grande apago de Agosto de 1996 na zona Oeste dos Estados Unidos tenha provocado perdas na ordem dos 1.5 bilies de dlares (Grudinin N. 1997). No contexto da reestruturao, a manuteno da qualidade de servio a principal preocupao das entidades reguladores, mas tambm uma necessidade competitiva de todos os fornecedores. Em suma, actualmente e com mais nfase no futuro prximo, o negcio de energia passa pela cooperao, em forte concorrncia, de diversas entidades independentes (produtores, transportadores, distribuidores, comercializadores, etc.) para o fornecimento de energia com qualidade, ao mais baixo preo. Globalmente aceite que no negcio da energia elctrica uma das formas mais eficazes, seno a mais eficaz, de reduzir custos e simultaneamente aumentar a segurana e a qualidade do servio consiste em adoptar polticas correctas de operao e manuteno dos recursos.
4

Introduo

Especificamente, o problema da manuteno particularmente relevante, pois as falhas em equipamentos, constituem uma causa importante das interrupes no servio. O objectivo da manuteno estender a vida til dos equipamentos ou sistemas ou, pelo menos, o tempo mdio at a prxima falha cuja reparao tenha um custo elevado. Normalmente espera-se que as polticas de manuteno correctas possam reduzir a frequncia das interrupes de servio e, principalmente, as consequncias indesejveis dessas interrupes. A qualidade de servio em sistemas de energia depende claramente da manuteno. Se esta for insuficiente, pode resultar num elevado nmero de falhas com custos altos e, consequentemente, numa degradao da fiabilidade e qualidade do servio. Se esta for em demasia, resulta num aumento de fiabilidade mas os custos associados podem tornar-se incomportveis. Na prtica, o equilbrio deve ser atingido. O problema da manuteno normalmente decomposto em dois sub-problemas. Um problema consiste em determinar quais as tarefas de manuteno a efectuar e respectivas restries (janela temporal, custos associados, necessidades materiais e humanas para a sua execuo, etc.). O outro problema consiste em escalonar todas as tarefas no tempo respeitando todas as restries. Note-se que as tarefas e restries usadas no segundo problema resultam da resoluo do primeiro. A resoluo de um s sub-problema intil pois necessrio solucionar ambos para que, em termos prticos, os objectivos sejam atingidos. Por estar mais perto das questes operacionais, a maior parte do esforo de investigao no passado foi dedicado ao primeiro problema. As companhias elctricas preocupavam-se em definir os seus programas de manuteno, nos quais estipulavam as tarefas a executar num determinado perodo de tempo (normalmente 1 ano) e o respectivo oramento. A forma como posteriormente o plano era executado (ou no) dependia, basicamente, da experincia dos decisores responsveis pela manuteno. Estes tentavam, sem grandes preocupaes de optimizao, escalonar as tarefas de manuteno programadas conjuntamente com as tarefas no previstas devido a avarias. Como as equipas de manuteno estavam normalmente dimensionadas para as situaes de pico, em termos de carga de trabalho, a maior parte do tempo existia excesso de capacidade. Os mtodos usados para definir os programas de manuteno eram tambm muito simples. Tradicionalmente, consistiam em tarefas pr-definidas, executadas em intervalos regulares. Estas polticas de manuteno revelaram-se ineficientes, pelo que as companhias foram
5

Captulo 1

mudando para programas mais flexveis baseados em necessidades e prioridades, ou em estudos de informao obtida periodicamente ou continuamente da monitorizao de sistemas e equipamentos (Manuteno Preditiva). Algumas destas rotinas denominam-se ReliabilityCentered Maintenance (RCM) (Smith A. 1993). No contexto da RCM, so avaliadas vrias polticas de manuteno e seleccionadas aquelas que permitirem uma maximizao da relao custo/benefcio. Apesar do conceito de RCM ser relativamente recente e da complexidade da sua implementao, este tem sido adoptado por vrias companhias elctricas nos ltimos anos. O sucesso de programas de RCM depende fundamentalmente da qualidade e quantidade da informao disponvel e dos mtodos de anlise usados. Os artigos (Endrenyi J. 1999), e (Endrenyi J. 1998) apresentam de forma sucinta, um estudo sobre o impacto de algumas das estratgias de manuteno apresentadas anteriormente sobre a qualidade de servio. Com o aumento da presso competitiva resultante da reestruturao do mercado de energia, e consequente necessidade do aumento da qualidade de servio e reduo dos custos referidos anteriormente, para alm de uma melhor resoluo do primeiro problema, que resultou em programas de manuteno mais eficientes, agora necessrio dedicar mais ateno ao segundo problema. As companhias elctricas, ou as empresas responsveis pela manuteno das mesmas, necessitam de ferramentas para incluir nos seus programas de RCM capazes de efectuar, ou pelo menos auxiliar, um escalonamento eficiente e inteligente das suas tarefas de Manuteno. O principal objectivo deste trabalho consiste em desenvolver tecnologias para essas ferramentas.

1.2

Especificidades do Problema de Escalonamento de Tarefas de Manuteno nos Sistemas Elctricos de Energia

Tal como referido anteriormente, o problema de Escalonamento de tarefas de manuteno tem vindo a assumir cada vez mais importncia no contexto do problema da manuteno em particular e da reestruturao das companhias e mercado da energia elctrica em geral. Com a reestruturao do mercado da energia elctrica, so vrios os intervenientes no mercado e estes podem ter interesses antagnicos. De uma gesto centralizada, em que uma nica entidade fazia a coordenao da manuteno, desde a produo, passando pelo transporte e acabando na distribuio, agora podemos ter vrias entidades independentes, possivelmente com interesses distintos e geograficamente afastadas. Se bem que teoricamente o Problema de Escalonamento das Tarefas de Manuteno em Unidades de Produo (PETMUP) possa ser
6

Introduo

tratado independentemente do problema anlogo para a transmisso, na prtica isto pode no ser verdade. Retirar de servio uma linha para manuteno pode implicar a reduo da capacidade de produo de uma entidade produtora. O contrrio tambm pode ser verdadeiro. Este conflito de interesses, at agora inexistente, pode constituir um novo ponto passvel de regulao e contribui, com certeza, para aumentar a complexidade do problema. Para alm deste conflito, como veremos no Captulo 2, o problema de escalonamento associado ao transporte possui restries elctricas de difcil representao e resoluo, no existentes no problema associado Produo. Por esta razo, o problema associado ao transporte pode ser visto como uma generalizao do problema associado Produo. Os novos programas de manuteno, que visam prolongar cada vez mais a vida dos equipamentos sem comprometer a qualidade de servio, necessitam de um conjunto vasto de informao que se obtm atravs da monitorizao, que por si s constitu uma tarefa por vezes complexa. Assim, o nmero total e complexidade das tarefas cada vez maior. O novo conjunto de tarefas implica um conjunto de restries mais difcil de respeitar. Por exemplo, as janelas temporais de execuo so mais curtas, os tipos de equipamentos necessrios so mais especficos e existem em menor nmero, etc. Por outro lado, com a necessidade crescente de reduzir custos, as companhias elctricas tm vindo a reduzir as suas equipas de manuteno, dispensando normalmente os trabalhadores mais antigos possuidores de experincias importantes. Outra medida adoptada a subcontratao da manuteno a entidades exteriores. Escalonar todas as tarefas de manuteno constitui, assim, um problema cada vez mais importante no seio das empresas elctricas, mas tambm mais difcil de resolver. O grande nmero de tarefas e a especificidade das restries tornam o desenvolvimento do modelo do problema uma tarefa rdua. A identificao de todas as tarefas e respectivas restries nem sempre possvel. Mesmo quando o , a natureza e o nmero de variveis envolvidas impe uma dinmica elevada ao problema (falha num equipamento necessrio para manuteno, indisponibilidade de um veculo, falha de um ou mais membros numa equipa, condies climatricas adversas, etc.). Considerando esta dinmica, reconhece-se uma grande necessidade de flexibilidade nas ferramentas de auxlio ao escalonamento, para que o responsvel possa interagir e usar a sua sensibilidade e experincia para colmatar alguma falta de informao ou alterao das condies do problema. Esta necessidade de flexibilidade reforada pela possibilidade de subdiviso do problema. Tal como referido anteriormente, com a reestruturao do mercado, a manuteno pode ser efectuada por entidades distintas que

Captulo 1

gerem recursos prprios, mas que esto sujeitas a restries comuns. Como exemplo, imaginem-se duas reas da rede de transporte, localizadas em reas geogrficas distintas e pertencentes a entidades distintas, mas conectadas entre si. Apesar do problema de manuteno poder ser tratado independentemente, existem restries, nomeadamente elctricas (Restries de Sobrecarga, Restries de Isolamento (ver seco 2.5.3)) que influenciam ambas as reas da rede. Retirar de servio uma linha para manuteno, em determinada situao, pode provocar uma sobrecarga na outra rea. Naturalmente, para alm da flexibilidade, necessrio eficincia na resoluo do problema.

1.3

Motivao para o uso da Programao Lgica por Restries

Para que as ferramentas sejam flexveis necessrio que o modelo do problema subjacente seja de leitura simples, de complexidade baixa e de preferncia de pequena dimenso, de forma a ser facilmente alterado. Isto implica que os componentes e mecanismos disponveis para o desenvolvimento do modelo sejam vastos e de simples compreenso e utilizao. Idealmente, o desenvolvimento do modelo deveria poder ser feito pelo especialista do prprio problema, no recorrendo a um especialista na ferramenta de desenvolvimento. Uma forma de tornar isto possvel utilizar uma linguagem de desenvolvimento prxima da linguagem natural. As ferramentas tradicionais, usadas na resoluo deste tipo de problemas, tal como a Programao Inteira (Dopazo J. 1975), a Programao Dinmica (Yamayee Z. 1983), o Branch&Bound (Egan G. 1976), ou mesmo tcnicas mais recentes como o Simulated Annealing (Satohand Y. 1991), Pesquisa Tabu (Glover F. 1989) e os Algoritmos Genticos (Kim H. 1997), revelam-se pouco flexveis e muito limitadas nos componentes e mecanismos que disponibilizam, para o desenvolvimento de modelos para problemas como o de escalonamento de tarefas de manuteno. Algumas ferramentas, como por exemplo a Programao Inteira, baseiam-se numa linguagem matemtica (pouco natural) generalista. As estruturas disponibilizadas so simples pelo que a representao de restries mais complexas feita por decomposio, recorrendo a variveis e restries auxiliares. Os modelos obtidos para problemas reais so enormes, de difcil leitura e manuteno. Outras ferramentas como o Simulated Annealing, so ainda mais limitados em termos de representao de restries. Normalmente apenas so consideradas as restries mais simples, sendo as mais complexas includas na funo de optimizao.
8

Introduo

Em suma, com o uso de ferramentas tradicionais o programador necessita de traduzir a especificao formal do problema usando uma linguagem de programao que reflicta a arquitectura fsica subjacente do computador. Neste processo, necessrio definir os objectos e os procedimentos que correspondem a entidades e operaes no domnio de aplicao. Posteriormente, necessrio manter as relaes entre as entidades definidas pelo programador e encontrar os objectos que as satisfazem (Marriot K. 1998). Esta tarefa pode ser bastante complexa e, devido aos diversos passos que a compem, necessrio que o programador tenha competncias em diversas reas, para que o programa seja globalmente eficiente. Alternativamente, o programador pode especializar-se somente na definio dos objectos e nas relaes entre eles e deixar que um programa, previamente desenvolvido por outros especialistas, se responsabilize pela manuteno dessas relaes. Neste caso o especialista denomina-se Programador por Restries. Efectivamente, no mbito da Programao por Restries (PR), os programas so declarativos, e as relaes entre objectos so estabelecidas recorrendo a restries. Cada objecto, normalmente representado por uma ou mais variveis, tem associado um conjunto de valores que pode tomar. As restries funcionam como uma caixa preta que mantm os valores dos objectos consistentes entre si. Dependendo do sistema de PR, o nvel de abstraco pode ser elevado. Por exemplo, o sistema pode disponibilizar uma restrio do tipo sobreposio que uma vez imposta sobre duas tarefas de um problema de manuteno, garante que estas nunca se sobrepem no tempo. A forma como isto feito no da responsabilidade do programador, mas sim do sistema de PR. Com a PR s necessrio definir as relaes que se pretende manter e no como mant-las. Um programador que use a PR tem ao seu dispor o resultado do esforo de um conjunto de especialistas em diversas reas, sejam elas Programao Matemtica, Programao Linear, Investigao Operacional, etc, podendo assim dedicar-se resoluo do problema propriamente dito. O conceito da PR pode ser includo em linguagens e ambientes de programao distintos, como por exemplo C++, Pascal, ou outras, mas a unio de maior sucesso foi conseguida com paradigmas de programao declarativos como a Programao Lgica (PL) (Lloyd J. 1993), que tambm baseada em relaes. De facto, esta unio foi a primeira de sucesso e aconteceu quando Jaffar e Lassez (Jaffar J. 1987) verificaram que a unificao de termos era uma forma especial da Satisfao de Restries e generalizaram a PL substituindo termos por restries e a unificao por um Meta-Interpretador de resoluo de restries sobre um domnio. O Paradigma

Captulo 1

de Programao resultante denomina-se de Programao Lgica por Restries (PLR) (Jaffar J. 1987) e serve de base a vrios sistemas comerciais de PR, usados na resoluo de problemas reais. Este ser tambm o paradigma usado neste trabalho, descrito com maior pormenor no Captulo 3. Actualmente, o paradigma da PLR goza de enorme sucesso, a julgar pelo elevado nmero de aplicaes desenvolvidas para a resoluo de problemas reais nas mais diversas reas, pelo nmero de sistemas comerciais existentes, assim como pela extensa lista de artigos publicados (ver seco 3.5). Este sucesso foi reconhecido pelo ACM que considerou, em 1996, a PLR como sendo uma das poucas reas estratgicas das Cincias da Computao (Freuder E. 1997). Como qualquer outro paradigma, a PLR tem vantagens e desvantagens. Em 1999 foi realizado um inqurito no decorrer da conferncia PACL (Pratical Applications of Constraint Technology) e tambm na lista Compulog Net, cujos resultados so apresentados em (Rossi F. 2000). Entre outras, foram colocadas questes acerca das vantagens e desvantagens da PLR, tendo-se obtido os seguintes resultados: Vantagens:

Facilidade para desenvolvimento de modelos e declaratividade; Flexibilidade; Rapidez no desenvolvimento de prottipos e programas; Fcil de Aprender e Utilizar.

Desvantagens:

Ineficincia em problemas de grande dimenso; Aprendizagem inicial

A anlise dos resultados confirma o que foi dito nos pargrafos anteriores, nomeadamente relativamente adequao da PLR para a resoluo de problemas como o de escalonamento de tarefas manuteno na rede elctrica. De facto, reconhecida PLR grande facilidade para o desenvolvimento de modelos de problemas, assim como flexibilidade para a alterao e

10

Introduo

adequao desses modelos. Acresce ainda a facilidade e rapidez com que os prottipos e consequentemente programas podem ser desenvolvidos uma vez entendida a plataforma. Ou seja, a PLR responde perfeitamente aos requerimentos identificados com sendo importantes para a resoluo dos problemas abordados nesta tese. Curiosamente, uma dos pontos identificados como vantagem tambm o foi como desvantagem, nomeadamente a facilidade, ou no, de aprendizagem e utilizao. Em (Rossi F. 2000) apontada como razo principal para esta dicotomia o facto de ser muito fcil aprender o mais bsico da PLR, mas haver dificuldades na explorao de todo o seu potencial. Outro facto importante a dificuldade inicial em aprender a linguagem lgica subjacente aos sistemas de PLR, particularmente por ser conceptualmente diferente das linguagens ditas procedimentais. Este facto tem-se confirmado pelo crescente sucesso de sistemas de PR baseados em linguagens procedimentais, que tem obrigado certas companhias a disponibilizar os seus sistemas em ambas as verses (procedimental e lgica). Um exemplo deste tipo de sistemas o CHIP (Dincbas M. 1988). parte este facto, uma desvantagem, e talvez a nica de relevo da PLR, alguma falta de eficincia na resoluo de alguns problemas, nomeadamente de optimizao, com grandes dimenses e um nvel de estreitamento elevado (ver seco 3.3.1). Nestes casos, o poder das restries no evidenciado e o mecanismo bsico de pesquisa em profundidade utilizado normalmente, sendo um mecanismo completo, revela-se ineficiente. Outra razo apontada para a ineficincia da PLR a falta de perspectiva global do problema de optimizao. A optimizao feita impondo restries sucessivas sobre uma varivel que normalmente representa o custo da soluo, mas sem que seja feita uma anlise efectiva estrutura de custos das restantes solues. A reduo ou eliminao destas desvantagens constitui uma das principais linhas de investigao no mbito da PLR, tal como identificado em (Freuder E. 1997) e (Dechter R. 2000). De entre as vrias possibilidades, a mais promissora parece ser a integrao da PLR com outras tcnicas, ou mtodos. A ideia consiste em tentar, atravs da integrao, aproveitar o melhor de cada um dos mtodos usados eliminando as respectivas desvantagens. Esta tese d um contributo importante nesta linha de investigao.

1.4

Objectivos do Trabalho

Na seco anterior foram apresentadas as razes principais que motivaram a realizao deste trabalho. Nesse mbito, identificou-se o problema de escalonamento de tarefas de
11

Captulo 1

manuteno em unidades de produo e no transporte de energia elctrica como sendo um problema complexo, mas de extrema importncia para a competitividade das empresas que operam no sector elctrico. Tambm foram apontados alguns desafios relativos ao problema, que se devem actual reestruturao do sector elctrico Nacional e Internacional. Destacamse, dos desafios apresentados, a necessidade de reduo dos custos com um aumento simultneo da qualidade de servio. Em sequncia, concluiu-se que as novas empresas necessitam de ferramentas inteligentes de apoio deciso, que disponibilizem elementos para o desenvolvimento de modelos de problemas reais, de simples compreenso e manuteno e que disponibilizem tambm as ferramentas para a sua resoluo. Nestas ferramentas, para alm da eficincia, necessrio flexibilidade. Com estes requerimentos, sugeriu-se o paradigma da Programao Lgica por Restries como sendo a plataforma de programao mais indicada para o desenvolvimento das ditas ferramentas. Aceites as caractersticas de declaratividade e flexibilidade, assim como facilidade de aprendizagem e utilizao da PLR, identificaram-se alguns problemas de eficincia que podem ser resolvidos, partida, com a integrao de mtodos e tcnicas de outras reas. Neste sentido os principais objectivos do presente trabalho so:

Estudo e desenvolvimento de um modelo para o Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo;

Estudo e desenvolvimento de um modelo para o Problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte;

Implementao dos modelos e resoluo de ambos os problemas usando Programao Lgica por Restries;

Melhoria da eficincia da Programao Lgica por Restries na resoluo dos referidos problemas com a integrao de mtodos e tcnicas de outras reas.

1.5

Contribuies Originais

Esta tese constitui um documento sobre o problema de Escalonamento de Tarefas de Manuteno no Sistemas Elctricos de Energia. Apesar da reconhecida importncia do problema no contexto actual tm sido escassos os estudos sobre o mesmo. Neste sentido, este trabalho segue uma sequncia natural de estudo de um problema com poucos termos de
12

Introduo

comparao, que passa pelas fases de: Identificao e Anlise do problema, Desenvolvimento de modelo para o mesmo, Desenvolvimento de mtodos e tcnicas de resoluo, Validao e Verificao dos Resultados. No mbito destas fases de estudo destacam-se as seguintes contribuies:

Desenvolvimento de um modelo para o PETMUP. Apesar do modelo ser adequado PLR, pode ser utilizado no mbito de outras ferramentas de resoluo de problemas combinatoriais;

Introduo e avaliao de vrias Estratgias de Seleco de Variveis e Valores adequados ao PETMUP (Gomes N. 2003a). Como ser demonstrado nesta tese as estratgias de seleco de variveis e valores so determinantes para a eficincia da pesquisa em PLR. No entanto, no se encontrou na literatura nenhum trabalho de anlise conjunta destas estratgias;

Avaliao de dois mtodos de pesquisa baseados em retrocesso em articulao com as vrias estratgias de Seleco de Variveis e Valores;

Desenvolvimento e anlise comparativa de trs mtodos de integrao da PLR com Programao Linear (Gomes N. 2004; Gomes N. 2005b). Estes mtodos inserem-se numa das reas de investigao mais promissoras no que se refere melhoria de eficincia da pesquisa em PLR, o que se verificou nos resultados obtidos;

Desenvolvimento de um mtodo Hbrido que combina um mtodo No Sistemtico baseado no Simulated Annealing acrescido de um mecanismo de memria (lista Tabu). Este mtodo original permite aumentar a eficincia dos mtodos de pesquisa bsicos subjacentes PLR e insere-se numa linha de investigao que explora as potencialidades de resoluo de problemas de grandes dimenses dos mtodos no sistemticos, assim como a flexibilidade, declaratividade e potencialidades de resoluo de problemas com um baixo nvel de estreitamento da PLR;

Desenvolvimento de um mtodo hbrido que integra a PLR com um tipo de Pesquisa Local (Gomes N. 2003b). Este mtodo baseia-se numa plataforma de integrao da PLR com mtodos No Sistemticos denominada Reduzir e Atribuir (Gomes N. 2003c). Esta plataforma revelou-se bastante interessante pela sua flexibilidade (Gomes N. 2005a), pela

13

Captulo 1

independncia que permite dos mtodos subjacentes e, naturalmente, pelos resultados obtidos.

Desenvolvimento de um modelo e mtodo de resoluo para o Problema de Escalonamento de Tarefas de Manuteno da Rede de Transporte. Este modelo e respectivo mtodo de resoluo so particularmente interessantes pela forma como representam e resolvem as restries elctricas da rede. Nomeadamente, permitem resolver estas restries eficientemente sem recorrer a simplificaes que podem por em causa a validade das solues obtidas.

1.6

Terminologia

Encontrar termos portugueses que traduzam claramente, e de forma adequada, algumas das construes mais frequentemente encontrados na lngua inglesa para as reas tecnolgicas continua a ser uma tarefa difcil. Esta seco destina-se a apresentar a correspondncia usada, ao longo deste trabalho, para alguns dos termos encontrados frequentemente na literatura em lngua inglesa relacionados com a PLR e com o Problema de Escalonamento de Tarefas de Manuteno. Podero, no entanto, surgir outros termos no referidos nesta seco cuja correspondncia possa suscitar dvidas, ou em que no possvel encontrar uma correspondncia adequada para os termos em lngua inglesa capazes de expressar correctamente o seu conceito, optando-se, em tais situaes, por manter o termo original. A Tabela 1.1 contm os termos Portugueses usados na tese e os termos correspondentes em Ingls.
Tabela 1.1 Termos Usados na Tese

Termo em Portugus utilizado no Trabalho Restries Programao por Restries Programao Lgica por Restries Problema de Satisfao de Restries Impasse

Termo correspondente em Ingls Constraints Constraint Programming Constraint Logic Programming Constraint Satisfaction Problem Dead End

14

Introduo

Termo em Portugus utilizado no Trabalho Retrocesso Retrocesso Cronolgico Retrocesso Inteligente Derivao Grafo de Restries Rede de Restries Verificao de Consistncia Verificao Antecipada Meta-interpretador de Resctries Domnios finitos Varivel de domnio Consistncia de Arco Consistncia de Caminho Manuteno Baseada em Confiabilidade Fiabilidade

Termo correspondente em Ingls Backtracking Chronological Backtracking Intelligent Backtracking Choice Point Constraints Graph Constraints Network Consistency Checking Forward Checking Constraint Solver Finite Domains Domain Variable Arc Consistency Path Consistency Reliability Centered Maintenance Reliability

Balanceamento do nvel de Reserva na Levelized Reserve Rede Minimizao da Probabilidade de Perda Minimum Loss of Load Probability de Carga Decomposio de Benders Cortes de Benders Princpio da Optimalidade Pesquisa Tabu Arrefecimento Simulado Algoritmos Genticos Benders Decomposition Benders Cuts Principle of Optimality Tabu Search Simulated Annealing Genetic Algorithms

15

Captulo 1

Termo em Portugus utilizado no Trabalho Pesquisa Local Redes Neuronais Algoritmos Memticos Lgica Difusa Pesquisa Primeiro em Profundidade Meta-Interpretador de Restries Problema da Satisfao de Restries Armazm de Restries

Termo correspondente em Ingls Local Search Neural Networks Memetic Algorithms Fuzzy Logic Depth First Search Constraint Solver Constraint Satisfaction Problem Constraint Store

1.7

Organizao da Tese

A organizao da tese ser feita seguindo uma ideia de compartimentao. Cada assunto ser introduzido separadamente num captulo, conjuntamente com a apresentao das experincias efectuadas e dos resultados obtidos. Esta compartimentao permite a leitura independente de cada um dos captulos, de acordo com a rea de interesse do leitor. Salvaguarda-se a situao em que o leitor desconhece o problema, aconselhando-se neste caso a leitura do Captulo 2, e aquela em que deseja conhecer as concluses globais da tese que se encontram no ltimo captulo. Em resumo, para alm deste captulo que constitui a Introduo, a tese est organizada em mais seis captulos com os seguintes contedos: No Captulo 2 so definidos os dois problemas tratados na tese, nomeadamente o Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo e o Problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte. No Captulo 3 apresentado um mtodo de resoluo do PETMUP baseado exclusivamente em PLR. No mbito deste mtodo so avaliadas vrias estratgias de seleco de variveis e valores, de forma a determinar quais as mais eficientes e ainda trs mtodos de pesquisa baseados na pesquisa com retrocesso.

16

Introduo

No Captulo 4 apresentado um mtodo hbrido, em que o mdulo baseado em PLR, apresentado no Captulo 3 combinado, segundo trs estratgias diferentes, com Programao Inteira (PI). Cada uma das estratgias difere no tipo e quantidade de informao, assim como na forma pela qual a informao passada do mdulo de PLR para o mdulo de PI. Todas as estratgias so testadas com vrias instncias do PETMUP. No Captulo 5 apresentado um outro mtodo hbrido, em que o mesmo mdulo baseado em PLR combinado com uma variante do mtodo de Simulated Annealing, e dotado de um mecanismo de memria baseado numa lista Tabu. O mtodo apresentado testado com um conjunto de instncias do PETMUP de forma a avaliar o seu desempenho global, assim como a influncia dos seus parmetros na resoluo de diferentes tipos de problemas. No Captulo 6 apresentado um terceiro mtodo, igualmente hbrido, em que o mdulo de CLP inserido numa estratgia de pesquisa local. Nesta estratgia, a seleco das reas do espao de pesquisa a serem exploradas feita com base em penalidades que vo sendo atribudas durante o prprio processo de pesquisa. semelhana dos casos anteriores o mtodo testado com um conjunto de instncias do PETMUP de forma a avaliar o seu desempenho global, assim como a influncia dos seus parmetros na resoluo de diferentes tipos de problemas. No Captulo 7 apresentado um modelo e o respectivo mtodo de resoluo para o problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte. Neste mesmo captulo tambm so apresentados os resultados referentes resoluo de uma instncia concreta do problema. Finalmente, no Captulo 8, so apresentadas as concluses globais do trabalho e algumas linhas orientadores de trabalhos futuros.

17

Captulo 2

O Problema de Escalonamento de Tarefas de Manuteno nos Sistemas Elctricos de Energia

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

2.1

A Manuteno em Termos Gerais

As prticas de manuteno so demasiado antigas para que se conhea a sua origem. Muito provavelmente j na pr-histria o ser humano recorria a estas prticas para, por exemplo, manter as suas armas em boas condies. De acordo com o significado encontrado em vrios dicionrios, a manuteno corresponde ao conjunto de aces realizadas para manter algo em boas condies de funcionamento. Esta definio implica que uma aco de manuteno pode ser aquela que se realiza para impedir a destruio, ou degradao de um componente, mas tambm aquela que se realiza para reparar um componente avariado. Manuteno Reactiva No passado, eram poucos os recursos gastos no primeiro tipo de aco. Ao invs, esperava-se uma falha do equipamento para se desencadear o processo de manuteno que, na realidade, constitua uma reparao. Como difcil prever uma falha, pois os dados existentes so indicativos e constituem um processo estocstico, as equipas de manuteno actuavam, e nalguns casos ainda actuam, numa base aco/reaco, sem que existisse verdadeiramente um planeamento das tarefas a executar. Este tipo de manuteno, denominada Manuteno Reactiva, revelou-se bastante ineficiente em termos materiais e financeiros. Na prtica, a falha est muitas vezes associada a um desgaste prematuro do equipamento o que reduz a sua vida til. Por exemplo, um rolamento pode ter uma vida til de 10000 horas caso seja lubrificado com uma periodicidade de 2000 horas. A no lubrificao do rolamento pode levar sua destruio ao fim de 3000 horas. Mesmo que o preo do rolamento seja igual, ou inferior, ao custo de manuteno necessrio contabilizar, entre outros, o custo de paragem do equipamento para substituio do rolamento no caso de avaria. Este custo normalmente elevado e pode ser evitado com uma operao de lubrificao, que poder ser feita fora do horrio de funcionamento do equipamento. Para alm dos custos directos podem existir custos indirectos. Por exemplo, a falha de um componente pode provocar o desgaste prematuro e falha consecutiva de outro(s) elemento(s).

21

Captulo 2

Manuteno Preventiva As falhas por avaria so difceis de prever pelo que, de forma a minimizar os tempos de paragem, normalmente necessrio constituir stocks de todos os elementos mais importantes. Uma estratgia de manuteno mais pr-activa pode levar minimizao de todos estes custos. Neste sentido, surgiu a denominada Manuteno Preventiva em que as operaes de manuteno so executadas periodicamente com base no tempo de operao, no nmero de operaes, etc.. Este tipo de manuteno elimina alguns dos problemas da manuteno reactiva pois pode evitar uma parte significativa das falhas inesperadas, aumentando o ciclo de vida dos equipamentos. Apesar desta vantagem, esta pode ser uma estratgia dispendiosa, principalmente quando no se conhece com preciso o perodo ideal para manuteno, quando este tem uma grande variao, ou ainda quando os elementos sobre os quais se realiza a manuteno so dispensveis ao funcionamento dos equipamentos. Manuteno Preditiva Em vez da manuteno preventiva pode usar-se uma outra estratgia de manuteno denominada Manuteno Preditiva. Numa manuteno do tipo preditiva os perodos de manuteno no so fixos nem pr-estabelecidos, sendo dependentes de procedimentos de medio e/ou inspeco que permitem controlar o estado dos componentes. Os parmetros controlados tm limites que, uma vez ultrapassados, desencadeiam um processo de manuteno. Com esta estratgia as necessidades de manuteno dependem da condio real dos componentes, ao invs de um qualquer prazo pr-establecido. Naturalmente esta estratgia de manuteno implica a criao de novos tipos de tarefas, nomeadamente de medio, visualizao e inspeco. Estas tarefas necessitam de recursos que acarretam um custo que, por vezes, pode ser elevado. Como exemplo temos o caso da manuteno dos transformadores em subestaes das redes de transporte de energia elctrica. Apesar da manuteno preditiva parecer o tipo de manuteno mais eficiente, na medida em que s se executa a manuteno se for necessrio, isto pode no ser verdade. Por exemplo, se o custo da monitorizao de determinado componente for superior ao custo do prprio componente ento vantajoso utilizar uma manuteno do tipo preventivo, ou mesmo reactivo. Tudo depende do custo, da importncia, informao disponvel, caractersticas, etc. do componente em causa. Determinar qual o tipo de manuteno a utilizar para cada tipo de componente, equipamento, ou sistema constitui por si s um problema. A resoluo deste
22

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

problema o principal objectivo da Manuteno Baseada em Confiabilidade1 (MBC) (Smith A. 1993). Manuteno Baseada em Confiabilidade A manuteno baseada em confiabilidade actualmente a mais usada, principalmente nas empresas mais actualizadas em termos tecnolgicos e organizacionais. Com a MBC procura-se um equilbrio entre a estrutura de apoio manuteno e a confiana nos componentes e equipamentos. A MBC maioritariamente baseada numa manuteno do tipo preditiva, mas difere desta porque tambm recorre manuteno preventiva e mesmo reactiva. Segundo (Sullivan G. 2002), o peso de cada tipo de manuteno na MBC aproximadamente o indicado na Tabela 2.1.
Tabela 2.1 Percentagem estimada de cada tipo de Manuteno na MBC

MBC Reactiva Preventiva Preditiva <10% 25% a 35% 45% a 55%

Uma estratgia de MBC passa, semelhana das outras estratgias de manuteno, por dois pontos fundamentais, constituindo cada um deles um problema. O primeiro consiste em determinar quais as tarefas a executar e respectivas caractersticas (janela temporal de execuo, durao prevista da tarefa, recursos necessrios, condies de execuo, etc.). O segundo consiste em escalonar essas tarefas num determinado perodo de tempo respeitando as restries existentes. Quando o peso da manuteno preventiva e preditiva significativo, a maioria das tarefas conhecida com antecedncia. Neste caso, o escalonamento pode ser feito de forma a optimizar uma determinada funo de custo. Esta funo depende do problema de manuteno em causa, mas prende-se normalmente com a reduo dos custos directos e indirectos da manuteno, atravs da optimizao dos recursos humanos e materiais, reduo de custos de paragem e substituio, ou adequao do perodo de manuteno face a factores

Do termo Ingls Reliability Centered Maintenance

23

Captulo 2

externos s organizaes (por exemplo as condies climatricas, perodos de baixa procura, etc.).

2.2

Particularidades da Manuteno em Sistemas Elctricos de Energia

Dadas as caractersticas dos elementos que constituem os Sistemas Elctricos de Energia (SEE), o problema de Escalonamento de tarefas de manuteno associado s companhias do sector elctrico assume primordial importncia. De facto, o preo elevado dos equipamentos, a distribuio geogrfica das instalaes, o tempo e os recursos humanos e materiais necessrios para executar as tarefas, assim como a necessidade e, ao mesmo tempo, dificuldade que existe em retirar os equipamentos de servio para executar determinados tipos de tarefas exigem das equipas de planeamento e manuteno um cuidado especial na resoluo do problema. Este cuidado deve ser cada vez maior devido s exigncias em termos de aumento da qualidade de servio e reduo de custos abordados na seco 1.2.

2.2.1

O Contexto Nacional do Problema de Escalonamento de Tarefas de Manuteno nos Sistemas Elctricos de Energia

Em termos gerais o problema de Escalonamento de Tarefas de Manuteno consiste em escalonar um conjunto de tarefas, previamente estabelecidas, num determinado perodo de tempo. Este escalonamento deve ser feito de forma a respeitar os diferentes tipos de restries existentes, optimizando simultaneamente uma determinada funo de custo. No caso dos SEE a manuteno feita normalmente por equipamento e instalao. No entanto, a especificidade de cada equipamento e instalao e a elevada disperso geogrfica das mesmas dificultam o escalonamento. Questes como:

Qual a melhor diviso geogrfica em termos de responsabilidades de manuteno? Poucas equipas de manuteno mas com mais elementos para reas de dimenso elevada ou equipas mais pequenas para reas mais restritas?

Ter poucos equipamentos especficos para manuteno e partilh-los pelas diversas equipas, o que implica menores investimentos, mas correr mais riscos em situaes de avaria, ou fazer um maior investimento na duplicao dos equipamentos?

24

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

Ter poucas equipas especializadas em determinadas tarefas para uma rea geogrfica alargada ou mais equipas, se bem que menos especializadas, para uma menor rea geogrfica?

Estas e outras questes tm uma resposta cada vez mais difcil, sobretudo porque as grandes companhias tendem a subdividir-se em empresas de menor dimenso. Com a reduo da dimenso das companhias, e consequentemente da estrutura financeira das mesmas, tornase mais difcil suportar e apetrechar as equipas de manuteno. Uma soluo cada vez mais usual passa por manter internamente uma equipa reduzida para as tarefas no previstas e sub-contratar empresas externas para executar as restantes tarefas de manuteno. Dada esta tendncia, existe uma diviso a nvel mundial no que diz respeito manuteno, e no s, entre as trs reas do sector elctrico, nomeadamente a Produo, Transmisso e Distribuio de energia elctrica. Especificamente em Portugal, e tal como previsto na legislao que transpe a Directiva Comunitria (Directiva 96/92/CE), a partir do ano 2000, procedeu-se separao jurdica da empresa responsvel pela gesto da rede de transporte bem como das empresas que desenvolviam actividades de produo e distribuio de electricidade. Assim, actualmente existe um conjunto de empresas, a operar nas diversas reas do sector elctrico. Na rea da Produo, destacam-se a EDP - Produo, que uma sub-holding detida a 100% pela EDP S.A., a funcionar desde 2001. Esta sub-holding composta por vrias empresas ligadas produo de energia elctrica e coordenadas centralizadamente por outra sub-holding do grupo EDP S.A. denominada EDP - Gesto da Produo de Energia. A EDP Produo, atravs da sua participada Companhia Portuguesa de Produo de Electricidade (CPPE) assume uma posio relevante na produo de energia elctrica em Portugal, tendo sido em 2001, responsvel pela produo de cerca de 83% (ERSE 2001) da energia necessria para fazer face ao consumo. Para alm da CPPE, destacam-se ainda as empresas TurboGs e Tejo Energia, tambm produtores vinculados e responsveis no mesmo ano pela produo de respectivamente 17% e 13% (ERSE 2001) dessa mesma energia. A criao do Mercado Ibrico de Electricidade (MIBEL) levou extino dos Contratos de Aquisio de Energia (CAE). Assim, toda a produo passa a estar disponvel para o mercado competitivo, quer atravs de contractos bilaterais quer atravs da venda da energia no mercado Spot. Outra das alteraes inerentes criao do MIBEL e cumprimento das directivas da
25

Captulo 2

Unio Europeia passa pela liberalizao total do mercado de electricidade. Neste cenrio todos os consumidores tm acesso ao mercado independentemente da sua dimenso. A energia elctrica refora assim a sua existncia como produto, com todos os desafios que este cenrio traz s empresas que actuam no sector elctrico. A EDP Produo possui ainda a HDN Energia do Norte, HIDROCENEL Energia do Centro, e TER Termoelctrica do Ribatejo, nas quais se integram principalmente os Pequenos Produtores, segundo a classificao establecida pela Entidade Reguladora dos Servios Energticos (ERSE). A EDP Produo constitui, assim, um bom exemplo de uma companhia a operar no sector da produo da energia elctrico em ambiente de reestruturao, que deixar de ser a maior empresa a operar num mercado com a dimenso de Portugal para passar a ser a sexta no mercado com dimenso ibrica.

2.2.2

O Contexto da Manuteno na rea das Centrais de Produo

Tal como apontado anteriormente, a EDP Produo, semelhana de outras empresas congneres, criou em parceria com outras empresas do grupo, uma empresa denominada HidrOeM que assegura as actividades ligadas gesto, operao e manuteno dos seus centros produtores. A HIDROEM - Gesto, Operao e Manuteno de Centrais Elctricas, tal como outras empresas congneres existentes noutros mercados, incorpora um conjunto vasto e especializado de recursos humanos e materiais adequados execuo de tarefas de manuteno, pelo que tem capacidade para responder s solicitaes das diversas empresas a operar na produo de energia elctrica. Quando isso no possvel, a empresa recorre a terceiros, ou as prprias empresas produtoras o fazem. De forma a optimizar os recursos de que dispem, e a serem concorrenciais nos servios que prestam, quer em qualidade quer em preo, as empresas de manuteno, ou os departamentos responsveis pela manuteno, necessitam de resolver um problema de escalonamento com caractersticas prprias denominado Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo (PTMEUP). Este problema, descrito na seco 2.3, ser objecto de estudo neste trabalho.

2.2.3

O Contexto da Manuteno na Rede de Transporte

Tal como referido anteriormente, em ambiente liberalizado as companhias responsveis pela Produo esto separadas das responsveis pelo Transporte e das responsveis pela
26

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

Distribuio de energia elctrica. No caso Portugus, a Rede Nacional de Transporte de Energia Elctrica (RNT) explorada em regime de concesso de servio pblico pela empresa Rede Elctrica Nacional, S.A. (REN) e a Rede de Distribuio explorada da mesma forma pela empresa EDP Distribuio de Energia, S.A. Entre outras funes, a REN responsvel pela manuteno de toda a rede de transporte de Energia Elctrica, que engloba basicamente subestaes e linhas de transporte. semelhana doutras empresas congneres, a REN dispe de um departamento interno que executa algumas das tarefas de Manuteno na rede de transporte. O departamento dispe de vrias seces distribudas geograficamente, sendo cada uma responsvel por uma determinada rea. A coordenao geral de todas as seces, nomeadamente no que diz respeito a tarefas de grande durao, custo ou complexidade feita de forma centralizada. A gesto das equipas e recursos de cada seco, assim como das restantes tarefas, depois feita localmente. O problema de escalonamento de tarefas de manuteno associado rede de transporte apresenta algumas diferenas relativamente ao associado Produo. Tipicamente, o nmero de restries consideradas superior e de resoluo mais difcil. Especificamente, as restries elctricas, menos relevantes no problema associado produo, so de difcil representao e resoluo. Assim, o problema associado ao transporte, denominado Problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte de Energia Elctrica, pode ser considerado uma generalizao do problema associado Produo e ser tambm objecto de estudo deste trabalho (ver Captulo 7). Note-se que existem restries comuns a ambos os problemas, podendo ser a resoluo de um problema dependente da resoluo do outro. Por exemplo, a retirada de servio de um grupo gerador pode no ser possvel em simultneo com a retirada de servio de uma determinada linha que assegure o transporte da energia que ir compensar a sada do grupo. Tanto no caso da Produo como no Transporte, com a reestruturao do mercado, algumas das tarefas de manuteno, nomeadamente aquelas que implicam o no fornecimento de energia a consumidores, esto sujeitas a aprovao por parte das entidades reguladores, como a ERSE no caso Portugus. Este facto constitui uma nova dificuldade na resoluo do problema de escalonamento, pois implica a elaborao de planos de manuteno condicionados, que so sujeitos a aprovao e possivelmente necessitam de alteraes que colidem com os interesses econmicos das empresas.

27

Captulo 2

2.2.4

O Contexto da Manuteno na Rede de Distribuio

O problema da Manuteno na rede de distribuio significativamente mais complexo do que os problemas anteriores. Devido ao elevado nmero de equipamentos, linhas elctricas, postos de transformao, etc, associado grande disperso geogrfica, dificulta uma abordagem global ao problema. Tendencialmente as empresas responsveis pela distribuio de energia fazem a gesto da rede de distribuio de forma descentralizada, dispondo normalmente de um grupo de gesto por rea geogrfica. No passado era usual cada um dos grupos dispor de competncias para a quase totalidade das necessidades de operao e manuteno (O&M) da rea de rede sua responsabilidade. Com esta abordagem, a estrutura de cada um dos grupos, e consequentemente das empresas no seu todo, era extremamente pesada. A um nmero elevado de recursos humanos e materiais, e consequentemente custos, acrescia uma taxa de utilizao baixa para muitos desses recursos. No entanto, a elevada disperso geogrfica dos sistemas, associada inexistncia, ou baixa qualidade, das vias de comunicao, assim o exigia. Com a melhoria das vias de comunicao e dos prprios meios de transporte, a tendncia das empresas foi de reduzir o nmero de grupos de O&M, aumentando a rea geogrfica coberta por cada um dos grupos. Em simultneo, as competncias e dimenso de alguns dos grupos, nomeadamente os associados a reas geogrficas com menor densidade de rede, foram sendo reduzidas. Apesar deste tipo de medidas, a estrutura de O&M associada rede de distribuio pesada, dado o elevado nmero de equipamentos e sistemas existentes e consequentemente de recursos humanos e materiais necessrios. No contexto da reestruturao e consequente aumento de competitividade, as empresas responsveis pela distribuio de energia elctrica tm vindo a reduzir cada vez mais as estruturas associadas O&M da rede. A tendncia actual ento a de manter internamente as competncias de gesto, mas sub-contratar externamente outras empresas para realizao das tarefas. Dado o volume de negcio que uma empresa de distribuio gera, a sua capacidade negocial imensa, o que lhe d poder junto dos fornecedores no sentido da reduo de preos. Com este tipo de medidas, as empresas conseguem emagrecer as suas estruturas e consequentemente a sua sensibilidade a variaes de volume de trabalho (por exemplo, nmero e tipo de tarefas), aumentando assim a sua produtividade e competitividade.

28

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

No caso nacional, a distribuio de energia da responsabilidade da EDP Distribuio de Energia S.A., participada a 100% pela EDP S.A. Esta empresa responsvel actualmente pela distribuio de energia elctrica a mais de 5,5 milhes de clientes de Baixa Tenso, aos quais se somam mais de 100 mil clientes distribudos pela Baixa Tenso Especial, Mdia Tenso, Alta Tenso e Muito Alta Tenso (EDP S.A. 2002). Para efectuar a distribuio de energia elctrica, a empresa tem a seu cargo uma rede com um elevado nmero de equipamentos e infraestruturas. Como se pode ver pela Tabela 2.2, por exemplo, para a baixa tenso, esto registados em 2002 quase 6.000.000 Km de rede e mais de 50.000 postos de transformao.
Tabela 2.2 Infraestruturas a cargo da EDP Distribuio no ano de 2002 (EDP S.A. 2002)

Subestaes N de subestaes N de transformadores AT (60/130 KV) MT (<6/10/15/30/40 KV) AT (60/130 KV) MT (<6/10/15/30/40 KV) Postos de transformao Unidades Redes BT (km) Areas Subterrneas Contadores (unidades) AT+MT BT+BTE 96.265 23.973 5.902.787 24.046 5.878.741 50.649 375 663 7.097 51.460 357 10.995

Linhas (incluindo ramais, em km)

Cabos subterrneos (em km)

Na linha de outras empresas do sector, at diviso da EDP, a manuteno era assegurada, quase na ntegra, por equipas de manuteno pertencentes empresa. Estas equipas estavam associadas a determinadas reas geogrficas e localizadas num determinado Centro de Operaes. Com a reestruturao da empresa, o nmero de equipas foi sendo reduzido. Actualmente, quase toda a manuteno assegurada por empresas subcontratadas para o efeito. Dentro da EDP Distribuio Energia SA existem as denominadas reas de Rede, que esto disseminadas pelo territrio nacional e so a estrutura responsvel pela gesto operacional da rede de distribuio. Compete-lhes, entre outras funes, fazer a gesto dos
29

Captulo 2

Projectos de Construo, da Manuteno e Manobras na rede de distribuio e das Leituras de Contadores. No caso da manuteno, as reas de Rede subcontratam, quase na totalidade, os servios a empresas externas EDP Distribuio Energia SA.

2.3

O Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo

semelhana de outros problemas de escalonamento, o principal objectivo do problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo (PETMUP) consiste em determinar um plano de execuo de um conjunto de tarefas de manuteno, que respeite todas as restries existentes e eventualmente optimize uma determinada funo. O que distingue o PETMUP doutros problemas do mesmo tipo so as tarefas e as respectivas restries, assim como a funo de optimizao. Apesar do sigilo que envolve o funcionamento interno das empresas, uma anlise de vrios trabalhos na rea (ver seco 2.4), assim como de alguns dados obtidos da EDP Produo, permite-nos fazer uma caracterizao geral do PETMUP, que nos permitir depois definir um modelo do problema.

2.3.1

Caractersticas Gerais do Problema

O objectivo principal do PETMUP gerar um plano de manuteno optimizado, em que se define, para cada uma das tarefas consideradas, a data de incio e consequentemente de fim. As tarefas so realizadas sobre equipamentos ou sistema ligados produo de energia elctrica e, normalmente, restringem-se, em termos geogrficos, s reas limtrofes das centrais de produo de energia. Algumas das tarefas requerem a sada de servio de um ou mais grupos de produo. No entanto, existe uma procura de energia que deve ser satisfeita em cada perodo e cada um dos grupos do sistema tem uma capacidade limitada. Consequentemente, o escalonamento deve ser feito para que a procura seja sempre satisfeita sem que a capacidade dos grupos geradores em funcionamento seja ultrapassada. Cada uma das tarefas tambm necessita de um determinado tipo de recursos humanos e materiais, para ser executada. Estes recursos so limitados, pelo que o escalonamento deve ser feito sem que a quantidade de recursos a utilizar, num determinado perodo, seja superior existente. Normalmente, o plano de manuteno elaborado para o perodo de um ano, numa base semanal. Por vezes, feito um reescalonamento para perodos mais curtos como um semestre, em que a base de tempo pode ser uma semana, ou at um dia. Dado o largo perodo de tempo
30

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

em considerao, o plano gerado tem um mbito global, servindo de ferramenta para outras reas de planeamento, como a de recursos humanos, financeira, operacional, etc. Por esta razo, o plano no necessariamente esttico, podendo sofrer alteraes ao longo da janela de escalonamento, por condicionantes externas. Naturalmente, o plano constitui a ferramenta base do departamento de manuteno, que parte dele para fazer o escalonamento dirio dos seus recursos humanos e materiais. Note-se que a validade do plano de manuteno depende das aproximaes efectuadas. Na realidade, alguns dos dados do PETMUP constituem previses, ou seja, incorporam vrias incertezas. Como exemplos de algumas destas incertezas, podemos considerar as seguintes:

Dados de Procura A procura varia ao longo do perodo de manuteno. Normalmente fazem-se consideraes relativas pior situao que corresponde s situaes de picos da procura;

Custos de Produo Estes custos tambm so variveis, dependendo da variao dos custos dos combustveis, mo-de-obra, etc;

Utilizao de Combustveis Alternativos e Importao de Energia Os custos da produo a partir de combustveis alternativos e da importao de energia eventualmente necessria para suprir os grupos retirados de servio podem variar. Esta variao repercute-se nos custos de manuteno;

Avarias - As avarias constituem acontecimentos no previstos cuje a reparao pode ter que ser realizada com urgncia;

Disponibilidade dos Recursos Humanos e Materiais Tal como as avarias, tambm podem surgir indisponibilidades, no previstas, nos recursos humanos e materiais. Estas indisponibilidades podem inviabilizar a realizao das tarefas previstas.

Embora este problema das incertezas seja importante, no ser objecto de estudo neste trabalho, porque em termos reais normalmente tambm no considerado aquando da execuo dos planos para perodos temporais de um ano. No entanto, a flexibilidade da plataforma de resoluo proposta permite o seu tratamento, pelo que constitui um ponto de estudo futuro.

31

Captulo 2

2.3.2

Tarefas

Nem todas as tarefas consideradas no problema so de manuteno no verdadeiro sentido da palavra, ou seja, algumas correspondem a tarefas de ampliao, ou remodelao, associadas a investimentos feitos pela empresa para melhoramento dos seus sistemas. Este tipo de tarefas envolve, no entanto, o mesmo tipo de recursos humanos e materiais, ou operaes (por exemplo, requerem a retirada de servio de grupos geradores) que as de manuteno, partilhando por isso o mesmo tipo de restries. Normalmente este tipo de tarefas tem origem externa ao departamento de manuteno, pois envolve decises estratgicas e investimentos que podem ser avultados. Excluindo as anteriormente referidas, a maioria das tarefas consideradas tem origem interna, ou seja, resultam de polticas como as de manuteno Preventiva e Preditiva. Destas, s so consideradas individualmente tarefas com durao superior unidade de tempo do plano (por exemplo, semana ou dia). As restantes so agrupadas, segundo critrios pr-definidos, em tarefas fictcias. As tarefas fictcias tm outra utilidade, servindo nomeadamente para representar no modelo o impacto de tarefas no previstas como a reparao de avarias e so geradas estatisticamente com base em dados histricos. Naturalmente, estas tarefas fictcias no tm interesse do ponto de vista de cada uma das sub-tarefas que a constitui, ou seja, no relevante a janela temporal de execuo da tarefa em si, mas sim do ponto de vista da validade do plano no seu global. Algumas das tarefas, especialmente aquelas que correspondem a intervenes em grupos geradores, necessitam que esses grupos sejam retirados de servio, o que diminui a capacidade de produo do sistema. Essa diminuio de capacidade pode inviabilizar a satisfao da procura e portanto constitui uma restrio ao plano de manuteno. Deve ainda ser realizada uma anlise de custos cuidada, uma vez que, em ambiente de mercado competitivo, a retirada de servio de um grupo de geradores diminui a capacidade de oferta no mercado da empresa proprietria do mesmo. Cada uma das tarefas do problema assim identificada por um cdigo e tem associada um conjunto de requisitos que se iro traduzir em restries. Os requisitos considerados neste trabalho so os seguintes: Durao Define a durao da tarefa em nmero de perodos de tempo base;

32

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

Janela Temporal de Execuo Define o perodo de execuo vlido para cada tarefa. Este perodo pode ser descontnuo, ou seja, pode ser constitudo por vrios intervalos de tempo (por exemplo [1,3] [8,12]); Recursos Necessrios Define a quantidade necessria de cada tipo de recurso para a realizao da tarefa. Por exemplo a lista [3,5,0] significa que a tarefa necessita de 3 unidades do primeiro recurso, 5 do segundo e nenhuma do terceiro; Grupos a retirar Como referido anteriormente, algumas tarefas s podem ser executadas com um ou mais grupos fora de servio. Este requisito define, para a tarefa em causa, quais so os grupos que necessitam sair de servio. A lista [2,3] significa que os grupos 2 e 3 tm que sair de servio durante o perodo de execuo da tarefa. Naturalmente, esta lista pode no conter nenhum grupo.

2.3.3

Restries

O nmero de restries total de um PETMUP real muito elevado. Contudo, normalmente possvel agrupar as restries num nmero mais reduzido de classes com caractersticas comuns que, consequentemente, podem ser formuladas da mesma forma. As restries resultam dos requisitos das tarefas vistos na seco anterior, mas tambm de outras condicionantes do sistema como os recursos humanos e materiais disponveis, a procura de energia, etc. Seguidamente, encontram-se descritas as principais classes de restries consideradas neste trabalho: Restries Temporais Estas restries resultam dos requisitos das tarefas e estabelecem os perodos de manuteno vlidos de cada uma delas. Em termos reais, estas restries permitem limitar a execuo de determinadas tarefas a certos perodos do ano. Por exemplo, no Inverno, quando a probabilidade de chuva e nvel de humidade maior, no aconselhvel realizar determinado tipo de tarefas, nomeadamente no exterior. Nesse caso, pode limitar-se o escalonamento ao Vero; Restries de Recursos Estas restries tambm resultam dos requisitos das tarefas e garantem que os recursos humanos e materiais necessrios para execuo esto disponveis, durante todo o perodo de manuteno. Alguns dos recursos so: equipas de manuteno, meios de transporte, ferramentas e aparelhagem, etc, Restries de Capacidade A capacidade do sistema de produo limitada e depende do nmero e capacidade dos grupos em funcionamento. Este tipo de restries pode representar no s as limitaes de todo o sistema como um todo mas tambm de cada central ou mesmo de cada grupo de produo;

33

Captulo 2

Restries de Procura Estas restries esto relacionadas com as restries de capacidade. De forma a garantir sempre o fornecimento da energia pedida, a capacidade de produo deve ser igual ou superior procura. Estas restries garantem que essa condio seja satisfeita; Restries de Precedncia e no Simultaneidade Algumas tarefas s podem, ou devem, ser realizadas aps a realizao de outras tarefas. Tambm existem conjuntos de tarefas que no podem ser realizadas simultaneamente. Estas restries permitem garantir que essas condies so respeitadas. A lista anterior funcional e no faz distino relativamente ao sistema produtivo em causa. Na literatura possvel encontrar outros tipos de classificao. Por exemplo em (El-Sharkh M. 1998), o autor distingue quatro classes principais, fazendo uma distino entre restries para Sistemas Isolados e No Isolados. As classes so:

Restries de Manuteno; Restries para Sistemas Isolados; Restries para Sistemas No Isolados; Restries de Qualidade de Servio.

Outra classificao pode ser encontrada em (Shahidehpour M. 2000). Independentemente da classificao, a estrutura das restries semelhante. Por vezes, dadas as caractersticas do problema em causa, como os critrios de optimizao, grau de incerteza e importncia de algumas restries, etc., necessrio fazer uma distino ao nvel estrutural, mas que no tem correspondncia a nvel funcional. Por exemplo, em (El-Sharkh M. 1998) feita uma distino entre Restries de No Fornecimento e Restries de Procura. As primeiras limitam a quantidade de energia no fornecida, que pode ser nula, e as segundas impem que a procura iguale a oferta.

2.3.4

Funo de Optimizao

O PETMUP caracterizado por ser multi-objectivo. A sua resoluo passa ento pela definio de uma funo de optimizao que permita avaliar a qualidade dos planos gerados. J em (Yamayee Z. 1982), foram identificadas vrias funes de optimizao que podem ser divididas em duas grandes classes:

Funes de optimizao baseadas em custos;

34

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

Funes de optimizao baseadas na Fiabilidade2. Funes Baseadas em Custos

As funes baseadas em custos so as mais utilizadas. Um inqurito realizado em 1991 e publicada em (Mukerji R. 1991), referente aos Estados Unidos da Amrica, indicou que 16 das 25 empresas inquiridas usavam uma funo baseada em custos. Este tipo de funes pode ter algumas variantes, dependendo das componentes consideradas. Algumas dessas componentes so os Custos de Produo, os Custos de Manuteno e os Custos de Reserva. A escolha das componentes a utilizar depende essencialmente dos dados disponveis e dos objectivos da empresa. A deciso torna-se importante devido, principalmente, s incertezas associadas com cada uma das componentes. Por exemplo, os custos de produo dependem de vrios factores variveis como sejam o custo e a disponibilidade dos combustveis, nveis de carga, fiabilidade das unidades de produo, etc (Yamayee Z. 1985; Mazumdar M. 1996). Por esta razo, as funes baseadas em custos de produo podem ser complexas e no lineares. Uma forma de as simplificar passa por fazer aproximaes. Outro exemplo corresponde aos Custos de Manuteno. Esta componente das funes baseadas em custos corresponde aos custos directos de execuo da tarefa e inclui os custos de mo-de-obra, uso de equipamentos, elementos substitudos, etc, que so fixos partida. Normalmente, os custos de manuteno tambm englobam os custos de manuteno indirectos. Um exemplo o denominado Custo de Reserva, que inclui o custo de armazenamento de combustveis e/ou o custo de compra de capacidade para fazer face as possveis perdas de capacidade de produo por avarias, ou sada para manuteno (Christiaanse W. 1973). Esta componente tambm conhecida por Custo de Substituio de Combustvel (Day K. 1987), uma vez que afecta os custos de produo quando a companhia necessita de compensar a perda de capacidade utilizando unidades com custos de produo mais elevados, ou comprando energia a entidades exteriores ou mesmo no mercado spot. Estes custos dependem do perodo considerado.

Na literatura em Ingls encontra-se a expresso Reliability Based Functions, que nesta tese ser traduzida pela expresso Funes Baseadas na Fiabilidade

35

Captulo 2

Funes Baseadas em Fiabilidade Em alternativa s funes baseadas em custos, tambm possvel encontrar trabalhos com referncia a funes baseadas na Fiabilidade. Estas funes eram bastante usadas no passado, altura em que a situao monopolista das empresas evitava presso sobre a reduo de custos, os quais eram de difcil determinao por falta, ou mesmo, inexistncia de dados. Outra razo era que, efectivamente, por vrios motivos, a fiabilidade era mais baixa nessa altura, pelo que melhorar essa fiabilidade constitua um dos principais objectivos das empresas. Dos vrios critrios usados nas funes de optimizao baseados na fiabilidade destacam-se o Nivelamento do nvel de Reserva na Rede3 (Stoll H. 1989) e o Nivelamento da Probabilidade da Perda de Carga4 (Garver L. 1972). O primeiro mtodo, de implementao simples, tenta equilibrar o nvel de reserva da rede ao longo do tempo. Apesar de bastante usado, falha porque no considera as falhas de produo aleatrias, cada vez mais importantes, devidas, por exemplo, ao aumento da penetrao da produo elica. O segundo mtodo procura equilibrar a probabilidade de perda de carga na rede ao longo do tempo. Uma variante do segundo mtodo denominada Minimizao da Probabilidade de Perda de Carga foi introduzida em (Chen L. 1990) e tem por objectivo equilibrar o risco incremental num determinado perodo de tempo (por exemplo um ano). Em (Zurn H. 1977) possvel encontrar uma lista de outros critrios usados nas funes de optimizao baseadas na fiabilidade. Alguns desses critrios so os seguintes:

Energia No Fornecida Esperada Corresponde energia que o sistema no capaz de produzir e que eventualmente ter de ser adquirida exteriormente a um determinado custo. Segundo (Zurn H. 1977), esta energia pode ser calculada atravs da funo de distribuio de procura no satisfeita. Esta, por sua vez, pode ser definida como a convoluo subtractiva da funo de distribuio de procura de um dia tpico com a funo densidade de produo disponvel;

Durao Esperada da Procura No Satisfeita Este critrio tambm conhecido como a Falha Esperada Para Satisfazer a Procura e corresponde probabilidade esperada

3 4

Este termo resulta da traduo do termo Ingls Levelized Reserve Este termo resulta da traduo do termo Ingls Levelized Loss of Load Probability (LOLP)

36

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

de perda de carga relativamente carga dada em termos de uma funo de distribuio de probabilidade bidimensional, considerada diariamente e numa base dia a dia. Este critrio torna-se mais interessante com a introduo recente dos contratos de fornecimento de energia elctrica que consideram a interruptibilidade do servio;

Procura Incondicional Esperada no Satisfeita Tambm conhecida como Falta de Reserva Disponvel Esperada e corresponde ao valor esperado de procura no satisfeita, dada a funo distribuio da procura no satisfeita total,

Procura Condicional Esperada no Satisfeita Corresponde ao valor da distribuio de procura no satisfeita, restringida gama de potncia positiva onde a produo aleatria maior do que a procura aleatria num dado instante,

Perda Esperada de Reserva de Pico da Rede Corresponde diferena entre a procura mxima esperada na rede e a capacidade disponvel na rede,

Perda Esperada de Reserva de Pico da Rede Corresponde diferena entre a procura mxima esperada na rede e a capacidade disponvel na rede,

Perda Esperada de Reserva Modificada Este critrio semelhante ao anterior, excepto no facto da potncia nominal de todas as unidades ser modificada de acordo com a sua disponibilidade.

Como referido no Captulo 1, uma das principais vantagens da programao por restries est na facilidade com que se incluem restries no problema. Neste sentido, alguns dos critrios de optimizao usados anteriormente podem ser substitudos por restries. Por exemplo, em vez de se optimizar o nvel de reserva na rede, pode-se incluir uma restrio que imponha um nvel mnimo de reserva para cada perodo do plano. Neste trabalho ser utilizada uma funo de optimizao baseada em custos. A funo inclui uma componente que corresponde aos custos de produo e outra que corresponde aos custos de manuteno (directos e indirectos). Ambas as componentes so variveis, dependendo do perodo de manuteno.

37

Captulo 2

2.3.5

Formalizao do Problema

Considerando as caractersticas apresentadas anteriormente, podemos definir formalmente o PETMUP. Esta formalizao ser feita numa linguagem prxima da linguagem matemtica, e servir para o desenvolvimento do modelo baseado em restries utilizado nos captulos seguintes. Parmetros do Problema

Np Nu Qrp

Nmero de perodos que constituem o horizonte temporal de planeamento; Nmero de unidades de produo; Conjunto de tarefas a escalonar que necessitam da sada de servio de uma unidade de produo; Conjunto de tarefas a escalonar que no necessitam da sada de servio da unidade de produo; Quantidade disponvel do recurso de manuteno do tipo r no perodo p. Cada tipo de recurso possui pelo menos uma caracterstica que o distingue dos restantes. Note-se que um recurso pode corresponder a uma equipa manuteno, equipamento, etc; Necessidade do recurso de manuteno do tipo r, para execuo da tarefa t; Janela temporal de execuo da tarefa de manuteno t, correspondendo dc data de incio mais cedo e dt data de incio mais tarde; Durao de execuo da tarefa t; Custo de realizao da tarefa de manuteno t no perodo p; Custo de produo unitrio da unidade u no perodo p; Capacidade mxima de produo da unidade u; Procura de energia no perodo p;

Rtr [dct,dtt]

dt Cmtp Cpup Mpu Prp

Conjunto com as precedncias entre tarefas. Neste caso, as tarefas, i ={(i, j),,(k, l)} e j, devem preceder, respectivamente, as tarefas k e l; Conjunto com tarefas que no podem ser realizadas em simultneo. ={(i, j),,(k, l)} Neste caso, as tarefas, i e k, no podem ser executadas em simultneo, respectivamente, com as tarefas k e l.

38

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

Variveis
Pt xtp Nup Eup Ctmt
Perodo de incio de execuo da tarefa t; Estado da tarefa t no perodo p (1 se a tarefa estiver em execuo e 0 se no estiver); Estado da unidade u no perodo p (1 se a unidade estiver fora de servio e 0 caso contrrio); Energia produzida pela unidade u no perodo p; Custo total de execuo da tarefa t.

Note-se que existe uma ligao entre xtp e Nup. De facto, em termos de implementao no necessrio a criao das variveis Nup. Apenas necessrio identificar as variveis xtp que implicam a retirada de servio de uma determinada unidade. Essas variveis so depois utilizadas nas restries que envolvem as unidades de produo, como por exemplo as restries de procura, ou capacidade. Restries Considerando as variveis e os parmetros do problema definidos anteriormente, um plano de manuteno vlido deve respeitar as seguintes restries:
Restries Temporais

1 dct Pt dtt Np
Restries de Recursos

(2.1)

xtp Rti Qip


t

i, p Np, t

(2.2)

Restries de Capacidade

Eup Mpu N up
Restries de Procura

u Nu, p Np, t

(2.3)

Eup = Prp
u

u Nu , p Np

(2.4)

Restries de Precedncia

Pi + di Pj

[i, j ]

(2.5)

39

Captulo 2

Restries de No Simultaneidade

Pi + di Pj Pj + d j Pi

[i, j ]

(2.6)

Para alm das restries anteriores, existe um conjunto de restries que se destinam a fazer uma ligao entre as variveis e/ou a limitar os seus valores. Algumas dessas restries, assim como a sua implementao, dependem do mtodo de resoluo usado. Um exemplo a ligao entre Pt e xtp. A restrio que estabelece a ligao entre cada uma das variveis dada pela expresso seguinte:
xtp = 1 xtp = 0 p : Pt p < Pt + d t p : p < Pt p Pt + d t

(2.7)

Outro exemplo o da varivel que representa o custo total de manuteno de cada uma das unidades Ctmu. Embora desempenhe uma funo redundante a varivel Ctmu particularmente importante porque usada em algumas das estratgias de seleco de variveis e valores usadas na seco 3.6.2. Esta varivel est intimamente ligada com a varivel xtp. A restrio que estabelece a ligao entre cada uma das variveis dada pela expresso (2.8):

Ctmt = xtp Cmtp


p =1

Np

(2.8)

Funo de Optimizao Como referido na seco anterior, neste trabalho utiliza-se uma funo de optimizao baseada em custos. A funo constituda por dois termos, um respeitante aos custos de manuteno propriamente ditos, e outro respeitante aos custos de produo. Tanto os custos de manuteno como os custos de produo dependem do perodo em que as tarefas so realizadas. O custo total deve ento ser minimizado de acordo com a expresso (2.9):
Np Nu N p min xtp Cmtp + Cpup Eup u =1 p =1 t p =1

(2.9)

2.3.6

Gerador de Instncias

Para uma correcta avaliao dos mtodos apresentados neste trabalho, necessrio a execuo de um conjunto de testes suficientemente largo e diversificado. Especificamente, a

40

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

avaliao da influncia dos parmetros no desempenho dos mtodos, bem como o comportamento dos mesmos face a diferentes caractersticas do problema, exigem a resoluo de um conjunto de instncias com diferentes caractersticas. Preferencialmente, as caractersticas de cada instncia deveriam permitir a avaliao de uma nica questo isoladamente, como por exemplo avaliar o desempenho do mtodo face :

Dimenso do problema; Complexidade das restries; Nvel de estreitamento5; Tipos de tarefas.

Este tipo de requerimentos no vivel com dados reais, principalmente quando esses dados so frequentemente omissos por diversas questes internas s empresas, como por exemplo o sigilo. Neste sentido, foi desenvolvido um Gerador de Instncias (GI) do PETMUP que permite, atravs do ajuste de um conjunto de parmetros, criar instncias com diferentes caractersticas. A Figura 2.1 representa a estrutura do Gerador de Instncias (GI). O programa necessita de dois tipos de dados de entrada, que podem ser introduzidos em dois ficheiros distintos. Um dos ficheiros contm conjuntos de dados reais. Cada um desses conjuntos contm dados relativos a tarefas, perfis de procura, recursos, capacidades, etc. que permitem construir instncias do problema com caractersticas distintas. Estes dados foram obtidos a partir de informao disponibilizada pela EDP Produo e dos seguintes artigos (Dechter R. 1998a; Shahidehpour M. 2000).

O Nvel de Estreitamento traduz a relao entre o nmero de solues vlidas e o nmero de solues possveis (ver seco3.3.1).

41

Captulo 2

Parametros
- n periodos - n tarefas - ...

Dados Reais

- Padro de procura - Custos - ...

GI

Instancia:

tarefa(1, 3, 4, 7, 2342,...); tarefa(2, 5, 14, 15, 3300,...); Procura(1,34000); Procura(2,29000); ...

Figura 2.1 Estrutura do GI

O outro ficheiro contm um conjunto de parmetros que definem as caractersticas das instncias geradas. Os parmetros considerados so os seguintes: Nmero de perodos (Np) Define o nmero de perodos a considerar na criao do plano; Nmero de Tarefas (Nt) Define o nmero de tarefas a escalonar; Tipo de restries Define, dos tipos de restries referidas na seco 2.3.3, quais se devem incluir na instncia; Nvel de Estreitamento Este parmetro permite variar a relao entre o nmero de solues vlidas e a cardinalidade do produto cartesiano dos domnios das variveis (ver seco 3.3.1), isto , permite gerar instncias muito restringidas em que o nmero de solues baixo, ou instncias pouco restringidas em que o nmero de solues elevado. Neste trabalho o parmetro pode tomar cinco valores (a, b, c, d, e), sendo a o que tem maior nvel de estreitamento. Aps ler os dois ficheiros, para cada instncia, o GI comea por gerar Nt nmeros aleatrios. Os nmeros gerados pertencem ao conjunto dos cdigos das diferentes tarefas definidas no ficheiro de dados. Deste modo, cada nmero corresponde a uma tarefa a incluir
42

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

na instncia. O ficheiro de dados define ainda as caractersticas da tarefa, nomeadamente a janela temporal de execuo, a durao, os recursos necessrios, a necessidade de retirar de servio uma unidade, e as precedncias ou no simultaneidades. No entanto, o GI substitui algumas destas caractersticas conforme o parmetro Nvel de Estreitamento. Este parmetro permite gerar instncias do problema com maior ou menor nmero de solues face ao nmero total de combinaes de valores para as variveis, aumentando ou diminuindo as limitaes impostas pelas diferentes restries. O parmetro Nvel de Estreitamento pode tomar valores do intervalo [a,b,c,d,e] e define, para cada valor, um intervalo de valores a partir do qual se obtm um nmero denominado Factor de Estreitamento. A correspondncia pode ser vista na Tabela 2.3. O Factor de Estreitamento (FE) gerado aleatoriamente, usando a funo "random" da linguagem de programao C, de entre o intervalo definido pelo nvel de estreitamento da instncia. Determinado o FE, as caractersticas das tarefas so redefinidas pelo GI de acordo com a Tabela 2.3.
Tabela 2.3 - Parmetros usados pelo GI para a gerao das janelas temporais das tarefas

Factor de Estreitamento a b c d e

Conjunto [0.7,1.0] [0.5,0.7] [0.3,0.5] [0.2,0.4] [0.1,0.2]

Janela Temporal O ponto mdio da nova janela temporal corresponde ao ponto mdio da janela temporal original. No entanto, o nmero de perodos que constitui a janela temporal obtido multiplicando o nmero total de perodos da instncia Np pelo FE. Como exemplo, dada uma tarefa com a janela temporal [10;20] e seleccionado o nvel de estreitamento da instncia como sendo do tipo b, o GI comea por gerar o FE de entre o intervalo [0.5;0.7], por exemplo 0.6. De seguida, determina o ponto mdio da janela temporal inicial como sendo quinze. Finalmente o nmero de perodos da janela inicial multiplicado pelo FE (0,6 de acordo com a escolha feita) e arredondado. A nova tarefa ter assim a janela temporal [12;18], que corresponde a sete perodos de escalonamento.

43

Captulo 2

Recursos Tal como no caso anterior, o nmero de recursos disponveis gerado a partir dos dados iniciais, afectado pelo FE. Assim, o nmero de recursos disponveis de cada tipo obtido multiplicando o nmero indicado no ficheiro de dados pelo FE. Na sequncia do exemplo anterior, considerando um vector inicial com as disponibilidades de cada tipo de recurso [4,6,8,4] e o FE de 0.5, obtm-se um novo vector [2,3,4,2]. O arredondamento sempre feito para o inteiro mais prximo. Procura O ficheiro de dados disponibiliza um perfil de procura ao longo da janela temporal do plano de manuteno. Esse perfil est associado a uma determinada capacidade de produo. Como, para cada instncia, o nmero de unidades de produo e, consequentemente, a capacidade de produo podem variar, o perfil de procura deve ser ajustado. Para alm deste ajuste o novo perfil depende ainda do FE. Para cada perodo, o novo valor de procura determinado pela expresso (2.10):
' Prp = (1 ln ( FC ) ) Prp ' u ' Mpu ' u Mpu

(2.10)

em que Prp e Prp correspondem respectivamente, procura para o perodo p para a nova instncia e procura obtida do ficheiro de dados. Analogamente, Mpu' e Mpu
u

correspondem, respectivamente, capacidade de produo mxima do sistema para a instncia e capacidade obtida do ficheiro de dados. O termo [1-ln(FE)] permite normalizar o FE para um valor entre 0% e 40% acima do valor de procura corrigido. Custos O ficheiro de dados possui a estrutura de custos de manuteno e produo para um determinado nmero de perodos. Essa estrutura segue uma linha de tendncia funo do perodo, e que traduz a variao das vrias componentes dos custos para cada perodo do ano, ms, etc. Quando o nmero de perodos definido para a instncia diferente do existente no ficheiro de dados, o GI chamado. Se o nmero de perodos existente no ficheiro for menor o novo

44

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

nmero obtido por uma regresso linear, caso contrrio obtido recorrendo a uma mdia ponderada. Por exemplo, considere-se o vector [100,102,100,102] com os custos para 4 perodos. Para uma instncia com 7 perodos, o GI realiza uma regresso linear entre cada 2 valores, a partir da qual determina os valores em falta. O novo vector de custos ser dado por (2.11).

[100,101,102,101,100,101,102]
O novo vector de custos ser dado por (2.12).

(2.11)

Para uma instncia com 2 perodos o GI efectua uma mdia ponderada entre cada 2 valores.

[101,101]
Identificao das Instncias

(2.12)

A cada uma das instncias geradas atribudo um nome que identifica as principais caractersticas da instncia. O nome geral :
iem_Nt_Np_ne_id.dat

A correspondncia pode ser vista na Tabela 2.4.


Tabela 2.4 Correspondncia do nome das instncias geradas automaticamente

Cdigo iem Nt Np ne id

Correspondncia Nome Geral Nmero de Tarefas Nmero de Perodos Nvel de Estreitamento Nmero de identificao da instncia

Um exemplo de uma instncia poder ser:


iem_10_24_a_1.dat

que corresponde a uma instncia com 10 tarefas e 24 perodos, do tipo a e identificada com o nmero 1.

45

Captulo 2

2.4

Abordagens ao Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo

O Problema de Escalonamento de Tarefas de Manuteno associado aos Sistemas de Energia um problema combinatorial de difcil resoluo. Apesar da sua importncia para a operacionalidade das companhias do sector elctrico, a sua resoluo automatizada s foi possvel com o desenvolvimento de ferramentas computacionais e a sua massificao. Na Figura 2.2 podemos ver uma distribuio do nmero de referncias relacionadas com o PETMUP ao longo das ltimas 3 dcadas. A contabilizao foi feita recorrendo a uma pesquisa nas principais revistas na rea dos sistemas de energia, como por exemplo IEEE Transactions on Power Systems, IEEE Transactions on Power Delivery, IEEE Transactions on Power Apparatus and Systems, Electric Power Systems Research, e nas reas da Investigao Operacional e Inteligncia Artificial, como por exemplo Annals of Mathematics & Artificial Intelligence, European Journal of Operational Research. No total foi possvel encontrar mais de 80 referncias.
8 7 6

N de P ublica e s

5 4 3 2 1 0 1972 1974 1976 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004

Ano

Figura 2.2 Distribuio por ano das Publicaes Relacionadas com o PETMUP

Como se pode verificar, as primeiras referncias resoluo do problema aparecem no incio da dcada de 70 (Garver L. 1972; El-Sheikhi F. 1972; Mukerji R. 1991), mas apenas a partir da dcada de 90 do sculo passado se nota um aumento sustentado do nmero de

46

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

publicaes. Particularmente, a partir de 1998, possvel encontrar um nmero elevado de publicaes. Admitindo que os resultados da investigao referidos nas publicaes tiveram uma aplicao prtica, e que a aplicao desses resultados ocorre com algum atraso, ento os dados do grfico parecem confirmar o que foi referido na seco 1.2 acerca da Manuteno estar relacionada com a necessidade de reduo de custos provocada pela liberalizao do sector. Uma outra concluso que se pode tirar da pesquisa que at ao incio da dcada de 90 do sculo passado a maioria das publicaes refere a utilizao de mtodos de pesquisa ditos tradicionais, como a Programao Linear, Programao Dinmica, etc. A partir deste perodo, comeam a referir-se outros mtodos mais modernos, como por exemplo as Meta-Heursticas, a Lgica Difusa, etc. Considerando este facto, podemos ento classificar as abordagens ao problema como Clssicas e Modernas.

2.4.1

Abordagens Clssicas

As abordagens clssicas so assim designadas por se basearem em mtodos mais antigos oriundos da rea da Investigao Operacional e Programao Matemtica. Alguns exemplos dessas abordagens so as baseadas na Programao Inteira, Programao Inteira Mista, Programao Dinmica (PD), mtodos Heursticos, etc. Apesar da sua maior idade algumas das abordagens clssicas ainda continuam a ser usadas, e com bons resultados, em detrimento de abordagens mais modernas. Branch&Bound Algumas das primeiras abordagens ao problema so baseadas na tcnica de Branch&Bound (El-Sheikhi F. 1972; Egan G. 1976). Esta tcnica pode ser vista como uma componente da Programao Inteira (PI), ou da Programao Inteira-Mista (PIM), podendo ser tambm utilizada noutros mtodos, como por exemplo a Programao Lgica por Restries (ver Captulo 3) sob diferentes variantes. uma tcnica de pesquisa completa, na medida em que teoricamente permite encontrar a soluo ptima desde que ela exista. Em termos prticos tem vrias limitaes pelo que actualmente no utilizada individualmente.

47

Captulo 2

Programao Inteira e Programao Inteira Mista Mais adequado do que o Branch&Bound por si s so os mtodos baseados em Programao Inteira (PI) ou em Programao Inteira Mista (PIM). Estes mtodos so talvez os mais usados na resoluo de problemas combinatoriais e o PETMUP no excepo. Em termos gerais, possvel encontrar vrios trabalhos baseados nestes mtodos, como por exemplo (Dopazo J. 1975; Escudero L. 1982; Mukerji R. 1991; Al-Khamis T. 1992a; AlKhamis T. 1992b; Chattopadhyay D. 1995; G. Bretthauer 1998; Marwali M. 1998; Shahidehpour M. 1999; Silva E. 2000). Apesar dos mtodos de resoluo base serem semelhantes, cada um dos trabalhos difere no uso de tcnicas que complementam os mtodos base, ou no modelo sugerido para o problema. Por exemplo, em (Al-Khamis T. 1992b) usada a Teoria da Dualidade para resolver o PETMUP. O mtodo apresentado divide o problema num problema principal e em vrios sub-problemas. O problema principal depois resolvido considerando, para a janela temporal do plano, todas as tarefas e restries de limites de combustvel. Posteriormente, dada a soluo do problema principal, so resolvidos vrios sub-problemas, um para cada perodo, considerando as restantes restries do sistema, no sentido de encontrar o menor custo de operao. Se um ou mais sub-problemas forem irresolveis so criadas novas restries que so adicionadas ao problema principal. O processo de resoluo continua iteractivamente at que um critrio de paragem seja alcanado. Mais recentemente, em (Shahidehpour M. 2000) o mesmo problema resolvido mas considerando restries associadas rede de transporte. Tal como em (Al-Khamis T. 1992b), o problema decomposto num problema principal e em vrios sub-problemas, usando Decomposio de Benders6. O problema principal resolvido no considerando as restries associadas rede de transporte. Posteriormente, estas restries so consideradas aquando da resoluo dos vrios sub-problemas. A partir das solues dos subproblemas so adicionados Cortes de Benders7 ao problema principal no sentido de melhorar a soluo inicial. O processo iterativo continua at se encontrar a soluo ptima ou quase ptima.

6 7

Do termo Ingls Benders Decomposition apresentado em (Benders J. 1962). Do termo Ingls Benders Cuts apresentado em (Benders J. 1962).

48

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

As abordagens baseadas em PI e PIM apresentam algumas vantagens. Uma das principais advm do facto dos mtodos subjacentes serem completos. Deste modo, teoricamente possvel obter a soluo ptima ou provar que no existe soluo. Na prtica, a dimenso dos problemas torna o tempo de pesquisa demasiado elevado para que determinar a soluo ptima seja vivel. Outra vantagem consiste na relativa facilidade com que se desenvolvem os modelos dos problemas. Normalmente possvel representar todo o tipo de restries, embora nalguns casos a representao implique o uso de variveis e restries auxiliares que aumentam significativamente a dimenso e complexidade do modelo. Do lado das desvantagens, surgem os problemas de memria que resultam da grande dimenso dos modelos utilizados e o tempo de computao que, tal como foi referido anteriormente, tende a ser demasiado elevado para problemas reais. Este tipo de abordagens tambm no adequado quando se pretende incluir incertezas nos modelos. Programao Dinmica A Programao Dinmica (PD) (Richard B. 1957) conhecida pela sua potencialidade para resolver problemas em que necessrio tomar decises sequnciais. uma tcnica baseada na recursividade, mas que se distingue por no guardar em cada estado de computao os estados anteriores. O uso da PD necessita que o problema possua algumas caractersticas:

Decomponvel em etapas de deciso distintas; Em cada etapa possvel definir o estado da soluo; Em cada etapa respeitado o Princpio da Optimalidade8, que diz que, para um dado estado do sistema, a poltica ptima para os estados remanescentes independente da poltica de deciso adoptada em estados anteriores.

As instncias reais do PTMUP normalmente no possuem a ltima caracterstica, o que implica que se efectuem algumas alteraes ao modelo do problema para a sua adequao PD. Por outro lado, a PD, como qualquer outro mtodo de enumerao, requer muita

Do termo Ingls Principle of Optimality a base da Programao Dinmica como definido por Richard Bellman (Richard B. 1957)

49

Captulo 2

memria para lidar com o elevado nmero de variveis de estado intermdias e pode ser proibitiva em termos de tempo de computao para problemas de grande dimenso. Apesar destas desvantagens, possvel encontrar alguns trabalhos com abordagens baseadas em PD, como por exemplo (Zurn H. 1975; Yamayee Z. 1983; Hooker J. 2001). Mtodos Heursticos Tipicamente, no se utilizam abordagens baseadas unicamente em heursticas9 na medida em que estes mtodos no permitem encontrar a soluo ptima dos problemas. No entanto, muito dos mtodos usam heursticas para orientar a pesquisa ou avaliar as solues. O desempenho desses mtodos depende, em boa parte, das heursticas usadas. Na bibliografia possvel encontrar alguns trabalhos que exploram a qualidade de algumas das heursticas mais usadas. Alguns exemplos so (Mazumdar M. 1996; Kurban 1999; Basaran 2003).

2.4.2

Abordagens Modernas

As abordagens modernas resultam do aparecimento de novos mtodos de resoluo de problemas combinatoriais, como por exemplo a Programao Lgica por Restries ou as Meta-heursticas. Outras destas abordagens, talvez as de maior sucesso, resultam da integrao de tcnicas e mtodos de diferentes reas, no sentido de ultrapassar as limitaes de cada um dos mtodos isoladamente. Algumas dessas abordagens sero apresentadas nos pontos seguintes. Meta-Heursticas As denominadas Meta-Heursticas englobam vrios mtodos como o Simulated Annealing, Pesquisa Tabu ou Algoritmos Genticos. Estes mtodos sero apresentados com mais detalhe no Captulo 5. Pela sua popularidade e facilidade de implementao, so muito utilizados na resoluo de problemas combinatoriais tal como o PETMUP.

No Captulo 5 este conceito ser apresentado em maior detalhe

50

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

Algoritmos Genticos Um dos mtodos mais utilizados o dos Algoritmos Genticos (AG). Os AG so inspirados na teoria de Evoluo de Charles Darwin. Desta forma, a soluo para um problema obtida segundo um processo evolutivo. O algoritmo comea com um conjunto de solues (representadas por cromossomas) que constituem uma populao. Em sequncia, alguns indivduos dessa populao so escolhidos, segundo uma determinada funo denominada fitness, e combinados de forma a produzir uma nova populao. Se a funo de seleco e mtodos de combinao forem adequados, existe uma forte possibilidade da nova populao ser melhor do que a anterior. Este processo continua at que uma condio prdefinida seja satisfeita. O desempenho dos AG depende fortemente dos mecanismos usados para gerar os novos indivduos, normalmente designados Operadores Genticos. Existem vrios tipos de operadores genticos, sendo o seu desempenho dependente do tipo de problema em causa. Um exemplo o de (Wang Y. 2000), em que os autores apresentam novos operadores genticos adequados ao PETMUP que, segundo os testes efectuados, produziram melhores resultados do que os operadores binrios normalmente usados. Outros exemplos podem ser encontrados em (Abdulwhab A. 2004; Baskar S. 2003; Rong-Ceng L. 2003; El-Sharkh M. 2003b). Apesar dos AG serem bastante usados e dos resultados serem aclamados como bastante satisfatrios, tambm existem algumas limitaes associadas a este mtodo. Uma das principais limitaes resulta da dificuldade que este tipo de algoritmos tem em considerar algumas restries de maior complexidade. Normalmente apenas as restries mais simples so consideradas aquando da gerao dos indivduos, sendo as restantes includas na funo de fitness. Este tipo de procedimento pode prejudicar a qualidade final das solues obtidas ou o tempo de computao, principalmente quando os problemas possuem um baixo nvel de estreitamento (ver seco 3.3.1). Algoritmos Memticos Os Algoritmos Memticos (Guerri D. 1991) (AM) pertencem classe dos mtodos no Sistemticos. Basicamente, estes combinam Pesquisa Local com Operadores Genticos do tipo Cruzamento (David G. 1989). Por esta razo, alguns autores denominam este tipo de

51

Captulo 2

algoritmos de Algoritmos Genticos Hbridos. Dada a sua estrutura, os AM so particularmente adequados para a implementao segundo estratgias concorrentes em computadores com multi-processadores ou redes de computadores. Por esta razo, tambm so conhecidos por Algoritmos Genticos Paralelos. Alguns exemplos de aplicao deste tipo de mtodos ao PETMUP pode ser encontrado em (Burke E. 1997; Burke E. 1999; Smith A. 1999; Burke E. 2000; Hayashi D. 2001; Digalakis J. 2001a; Digalakis J. 2001b; Digalakis J. 2001c). Alegadamente os AM podem ser significativamente mais rpidos do que os AG, mas pelas semelhanas com estes ultimos, sofrem do mesmo tipo de limitaes. Pesquisa Tabu e Simulated Annealing A Pesquisa Tabu e o Simulated Annealing pertencem classe dos mtodos No Sistemticos. Ambas se baseiam num Algoritmo de Pesquisa Local mas diferem na forma como diversificam a pesquisa e evitam os Mnimos Locais. No Captulo 5 estes mtodos sero ambos apresentados em maior detalhe. Tal como os AG este tipo de mtodos goza de bastante popularidade, quer pelo seu suposto desempenho, quer pela facilidade de implementao. Em relao ao PETMUP, possvel encontrar na literatura um conjunto alargado de trabalhos. Exemplos da aplicao do Simulated Annealing podem ser encontrados em (Satohand Y. 1991; Yokoyama R. 1996) e da Pesquisa Tabu em (Sawa T. 1999; El-Amin I. 2000). Em (Kim H. 1997) possvel encontrar uma comparao entre os dois mtodos na resoluo do PETMUP(Kim H. 1994). Tal como os AG, estes mtodos sofrem de algumas limitaes na representao de alguns tipos de restries. Uma anlise dos trabalhos referidos anteriormente permite concluir que os modelos utilizados so sempre simplificados atravs da no considerao de alguns tipos de restries. Uma outra limitao deste tipo de mtodos a sua dificuldade em lidar com incertezas. Programao Lgica por Restries Uma das abordagens emergentes no que respeita resoluo de problemas combinatoriais a Programao Lgica por Restries (PLR). Esta plataforma de resoluo particularmente adequada para problemas complexos, com um elevado nmero de diferentes tipos de restries. O desenvolvimento de modelos usando a PLR uma tarefa simples pois as restries so, do ponto de vista do programador, apenas componentes da linguagem que se
52

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

resolvem por si s. No Captulo 3 a PLR apresentada mais pormenorizadamente. Alguns exemplos do uso da PLR na resoluo do PETMUP podem ser encontrados em (Dechter R. 1998b; Dechter R. 1999; Huang T. 2002; Gomes N. 2003a). Em (Dechter R. 1998b) os autores apresentam um modelo baseado em restries semelhante ao apresentado na seco 2.3. Os modelos diferem porque em (Dechter R. 1998b) no so considerados os custos de produo, nem as restries de precedncia. Para resolver o modelo so usados cinco variantes do mtodo de Pesquisa em Profundidade com Retrocesso. Numa das variantes usada uma estratgia dinmica de seleco de variveis, noutra, essa estratgia complementada com um algoritmo de Consistncia de Arco (ver seco 3.4). Finalmente, nas restantes variantes so combinados, para alm de alguns dos mecanismos anteriores, um mecanismo de aprendizagem baseado em no-goods e um algoritmo de pesquisa denominado backjumping (ver seco 3.4). Um modelo anlogo usado em (Huang T. 2002). No entanto, o mecanismo de pesquisa consiste num algoritmo de pesquisa em profundidade, complementado com um mecanismo de Verificao Antecipada e de Previso (ver seco 3.4), ficando a optimizao a cargo de uma variante do algoritmo de Branch and Bound. Apesar das vantagens em termos de desenvolvimento de modelos e mesmo da sua resoluo, a PLR apresenta algumas limitaes em termos de tempo de computao, sendo quase impraticvel a sua utilizao em problemas de grandes dimenses. Por este motivo, tm surgido alguns mtodos hbridos, nos quais a PLR combinada com outros mtodos no sentido de diminuir o tempo de computao. Lgica Difusa O PETMUP, assim como outros problemas de escalonamento, caracterizado por depender de dados imprecisos. Por exemplo, o nmero de tarefas pode variar, porque surgem tarefas no previstas (avarias), ou porque algumas das tarefas previstas no se podem realizar. A procura tambm varia, assim como podem variar os custos de manuteno, produo, etc. Considerando este facto, no se pode garantir que um plano considerado ptimo segundo uma determinada funo de custo, o seja, pois na realidade pode at no ser um plano vlido. No sentido de lidar com estas incertezas surgiram alguns trabalhos na rea da Lgica Difusa (Lotfi Z. 1965).

53

Captulo 2

A Lgica Difusa (Fuzzy logic) surgiu numa tentativa de lidar com conhecimento impreciso. A teoria dos conjuntos difusos foi desenvolvida nos anos 60 por Lotfi Zadeh (Lotfi Z. 1965) e generaliza a lgica de n-valores. Numa lgica de n-valores, o conjunto de valores verdade estendido do 0 ou 1 (verdadeiro ou falso) para valores no conjunto de verdade:

1 2 n2 0, n 1 , n 1 ,K, n 1 ,1

(2.13)

Por exemplo, numa lgica de 3-valores os valores de verdade permitidos so 0, 1/2 e 1, correspondendo ao falso, desconhecido e verdadeiro. A lgica difusa uma lgica com um nmero infinito de valores, onde os valores de verdade esto se encontram definidos no intervalo contnuo [0, 1]. Os peritos incorporam muitas vezes, nos seus processos de raciocnio, conceitos qualitativos tais como alto, baixo, etc. e quantificadores como muito, pouco, normalmente, algumas vezes, etc. A impreciso inerente a estes termos naturalmente implementada com a lgica difusa. O raciocnio depois feito usando Inferncia Difusa. Alguns exemplos de aplicao da Lgica Difusa ao PETMUP podem ser encontrados em (Lin C. 1992; Huang S. 1997; El-Sharkh M. 2003c; Sergaki A. 2003). Note-se que alguns destes trabalhos integram tcnicas associadas Lgica Difusa com outros mtodos, como por exemplo os AG. Mtodos Hbridos Todos os mtodos referidos anteriormente apresentam vantagens e desvantagens, no havendo para nenhum tipo de problema um claro vencedor. Por este motivo, a comunidade cientfica tem dedicado cada vez mais esforos integrao de diversos mtodos j conhecidos, ao invs de criar novos mtodos. A ideia consiste em integrar mtodos complementares com o propsito de eliminar os seus pontos fracos e aproveitar os seus pontos fortes. Nesta linha de investigao possvel encontrar nos ltimos anos um largo conjunto de trabalhos, alguns deles j referidos nas seces anteriores. Alguns exemplos so (Burke E. 2000; Digalakis J. 2001a; Digalakis J. 2001b; Digalakis J. 2001c; El-Sharkh 2003b; Gomes N. 2003a; Gomes N. 2003b; Gomes N., 2004). Nos captulos seguintes sero apresentados 3 novos mtodos de hbridos.

54

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

2.5

O Problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte de Energia Elctrica

Tal como referido na seco 2.2, a tendncia generalizada a diviso da produo, transporte e distribuio de energia elctrica a todos os nveis, inclusivamente a nvel operacional. Deste modo, os problemas de escalonamento de manuteno associados a cada uma das reas tambm so normalmente tratados independentemente. De facto o tratamento do problema de forma centralizada impraticvel dado o elevado nmero de entidades, recursos humanos e materiais, tarefas, etc, apesar de existirem algumas vantagens nesse tipo de abordagem. Tal como no PETMUP, o objectivo principal do Problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte de Energia Elctrica (PETMRT) consiste em determinar para cada uma das tarefas de manuteno uma data de incio, de modo a que as diferentes restries do problema sejam respeitadas e uma determinada funo de custo optimizada.

2.5.1

Caractersticas Gerais do PETMRT

Em termos gerais, o PETMRT pode ser caracterizado pelo mesmo tipo de restries do PETMUP mais restries especficas relacionados com as limitaes elctricas na rede. Estas ltimas so, no entanto, de difcil representao, razo pela qual as referncias ao PETMRT so mais recentes e nem sempre os modelos utilizados completos. Apesar dos modelos inclurem alguns tipos de restries semelhantes, na prtica o PETMRT tem associado um maior nmero de restries, e uma maior dimenso. Uma das principais razes est relacionada com o nmero de tarefas envolvidas, pois enquanto um PETMUP pode envolver algumas dezenas de tarefas, um PETMRT pode envolver vrias dezenas, ou mesmo centenas de tarefas. As tarefas do PETMRT tm normalmente uma durao mais curta. No entanto, devido disperso geogrfica dos equipamentos a manter, cada uma das tarefas pode implicar um tempo e custo de transporte significativo. Por exemplo, uma tarefa de inspeco visual a uma linha de transporte pode demorar alguns minutos a executar, mas implicar um dia de deslocao para a equipa que a executa. Deste modo, tipicamente as tarefas so agrupadas de forma a reduzir tempos e custos, sejam eles de transportes ou outros.
55

Captulo 2

Outra diferena de ambos os problemas que as principais tarefas de manuteno associadas ao PETMUP exijem quase sempre a retirada de servio dos equipamentos, nomeadamente os grupos de produo, enquanto um nmero significativo de tarefas de manuteno na rede de transporte no necessita da sada de servio dos equipamentos. Devido ao elevado nmero de tarefas, assim como disperso geogrfica dos equipamentos a manter, o nmero de recursos humanos e materiais envolvidos no PETMRT mais elevado do que no PETMUP, pelo que a sua gesto tambm mais difcil. Contudo, apersar das diferenas referidas em cima, entre o PETMUP e o PETMRT, o modelo do primeiro pode ser usado para o segundo com poucas alteraes. Efectivamente, a grande diferena, e que implica, no uma alterao, mas sim uma extenso ao modelo do PETMUP so as restries elctricas associadas ao PETMRT. Estas restries sero abordadas na seco 2.5.5.

2.5.2

Tarefas

A manuteno da rede elctrica implica um elevado nmero de diferentes tipos de tarefas. As tarefas podem ser simples inspeces visuais aos equipamentos, como por exemplo s linhas de transporte, ao nvel de leo dos transformadores, etc, mas tambm tarefas mais complexas como a substituio de linhas ou transformadores. Pelas razes apontadas anteriormente as tarefas so agrupadas de forma a reduzir custos. Por exemplo, as tarefas associadas a uma determinada subestao podem ser executadas simultaneamente, pelo que, em termos de modelo, podem corresponder a uma nica tarefa de manuteno. Algumas das tarefas consideradas requerem a sada de servio de equipamentos pelo que os limites elctricos da rede devem ser verificados. No PETMRT tambm existem incertezas (ver seco 2.3.1). Embora essas incertezas no sejam objecto de estudo neste trabalho, o modelo desenvolvido considerando algumas tarefas fictcias que se destinam a fazer face a algumas dessas incertezas. Tal como no PETMUP, cada uma das tarefas do problema identificada por um cdigo e tem associada um conjunto de requisitos que se iro traduzir em restries. Os requisitos considerados so: Durao, Janela Temporal de Execuo, Recursos Necessrios, Elementos a retirar de Servio. Relativamente aos Elementos a retirar de Servio, s so considerados

56

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

aqueles que provocam uma alterao no fluxo de energia e portanto requerem a verificao de consistncia das restries elctricas.

2.5.3

Restries

O PETMRT um problema de escalonamento semelhante ao PETMUP. Neste sentido, o PETMRT engloba os mesmos tipos de restries que o PETMUP, nomeadamente aquelas que caracterizam um problema de escalonamento geral. Alguns tipos dessas restries so:

Restries Temporais; Restries de Recursos; Restries de Precedncia Restries de No Simultaneidade.


Para alm destes tipos de restries, no PETMUP, tal como apresentado no Captulo 2, ainda so consideradas dois tipos de restries, nomeadamente as restries de Capacidade e de Procura. Estes dois tipos de restries tambm existem no PETMRT, se bem que com um significado ligeiramente diferente. Especificamente no caso do PETMUP, as Restries de Capacidade representam a capacidade mxima de produo de energia elctrica de cada central do sistema, e as restries de procura representam a procura de energia no sistema. Por sua vez, no caso do PETMRT, as Restries de Capacidade representam o limite mximo de corrente que pode ser injectada em determinados barramentos da rede de transporte (pontos de Injeco), e as restries de procura representam a carga em cada barramento da rede. Por uma questo de clareza do modelo, no caso do PETMRT, as restries de Capacidade e Procura, que tambm podem ser denominadas Restries sobre Corrente Injectada e Consumida, sero classificadas como Restries Elctricas. Para alm das restries de capacidade e de procura as restries elctricas englobam ainda os seguintes tipos de restries:

Restries de Continuidade Em cada momento deve haver um caminho elctrico de qualquer um dos ns para outro n da rede, ou seja, no devem existir ilhas;

Restries de Sobrecarga As correntes no devem ultrapassar os limites fsicos das linhas;

57

Captulo 2

Restries de Quedas de Tenso As tenses nos ns devem manter-se dentro de uma determinada tolerncia;

A verificao de consistncia das restries elctricas no trivial. As grandezas envolvidas so contnuas, e a relao entre elas poder no ser linear. Talvez por esta razo so poucas as referncias encontradas acerca deste assunto. No Captulo 7 ser apresentado um algoritmo eficiente e original para a verificao de consistncia deste tipo de restries.

2.5.4

Funo de Optimizao

Tal como no caso do PETMUP, a avaliao das solues possveis para o PETMRT feita com base numa funo de optimizao. Em termos prticos, salvo algumas excepes, as consideraes feitas para o PETMUP na seco 2.3.4 so vlidas para o PETMRT. Sendo assim, podemos ter funes baseadas em Custos ou na Fiabilidade. Em termos de custos, apenas so considerados os custos de manuteno, uma vez que no interessante condicionar a produo por restries do transporte, nem sequer vivel num contexto de mercado em que existe independncia entre as empresas responsveis pela produo e responsveis pelo transporte. Os custos de manuteno podem variar com o perodo de execuo, mas tambm podem variar com a sequncia de execuo. Por exemplo, pode haver uma reduo nos custos de transporte associados a uma tarefa, se essa for executada aps uma outra tarefa sobre um equipamento localizado a uma curta distncia. Nesta tese, o sequnciamento das tarefas no ser objecto de estudo. No entanto, tal como referido anteriormente, as tarefas so agrupadas de forma a reduzir os custos de manuteno. Este agrupamento supe que a deslocao dos recursos humanos e materiais feita de forma optimizada reduzindo a dependncia dos custos de manuteno com a sequncia de execuo das tarefas. Em termos prticos uma tarefa em termos de modelo pode corresponder a vrias tarefas a realizar ao longo de um perodo de tempo que se pode estender ao longo de vrios dias. Essas tarefas podem ser realizadas pela mesma equipa de manuteno ou por diferentes equipas, que podem pertencer aos quadros da empresa responsvel pela rede ou a empresas sub-contratadas. Relativamente ao PETMUP, no PETMRT as funes de optimizao baseadas em fiabilidade podem ser mais interessantes. Na realidade, o crescimento da procura face ao crescimento da capacidade da rede faz com que as redes funcionem cada vez mais em

58

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

situaes perto do limite. Deste modo, importante nivelar a reserva da rede de forma a evitar situaes crticas. Neste sentido, dois critrios interessantes so o Nivelamento do nvel de Reserva na Rede e o Nivelamento da Probabilidade da Perda de Carga apresentados na seco 2.3.4. No Captulo 7 sero apresentados um modelo e o respectivo mtodo de resoluo para o PETMRT. A funo de optimizao usada nesse modelo inclui um termo relacionado com os custos de manuteno e outro termo relacionado com o nivelamento da reserva na rede de acordo com a expresso (2.23) indicada na seco que se segue.

2.5.5

Formalizao do Problema

O modelo apresentado na seco 2.3.5 para o PETMUP vlido para o PETMRT devendo ser acrescentadas as restries elctricas: Parmetros do Problema
Np Nt
Nmero de perodos que constituem o horizonte temporal de planeamento; Nmero de tarefas a executar; Conjunto de tarefas a escalonar que necessitam da sada de servio do equipamento em manuteno; Conjunto de tarefas a escalonar que no necessitam da sada de servio do equipamento em manuteno; Quantidade disponvel do recurso de manuteno do tipo r no perodo p. Cada tipo de recurso possui pelo menos uma caracterstica que o distingue dos restantes. Note-se que um recurso pode corresponder a uma equipa de manuteno, equipamento, etc; Necessidade do recurso de manuteno do tipo r, para execuo da tarefa t; Janela temporal de execuo da tarefa de manuteno t. Correspondendo dc data de incio mais cedo e dt data de incio mais tarde; Durao da tarefa t; Custo de realizao da tarefa de manuteno t no perodo p; Limite de carga na linha de transporte que liga o barramento i ao barramento j; Limite das quedas de tenso admissveis nos barramentos;

Qrp

Rtr [dct,dtt] dt Cmtp Ilmaxij Umax

59

Captulo 2

Iimaxbp Icbp

Limite de corrente injectada no barramento b da rede no perodo p; Corrente consumida no barramento b da rede no perodo p; Conjunto das linhas de transporte em que lij corresponde linha que une o barramento i ao barramento j; Conjunto dos barramentos da Rede de Transporte de Energia;

= {lij ,K, lkl }


= {b1 ,K , bk }

= {( i, j ) , K, ( k , l )} Conjunto com as precedncias entre tarefas. Neste caso as tarefas, i e j, devem preceder respectivamente as tarefas k e l; = {( i, j ) , K, ( k , l )}
Conjuntos com tarefas que no podem ser realizadas em simultneo. Neste caso as tarefas, i e k, no podem ser executadas em simultneo respectivamente com as tarefas k e l.

Variveis
Pt xtp Ctmt Nlp Iijp Ubp Iibp
Perodo de incio de execuo da tarefa t; Estado da tarefa t no perodo p. (1 se a tarefa estiver em execuo 0 se no estiver); Custo total de execuo da tarefa t; Estado da linha l no perodo p (1 se a linha fora de servio 0 caso contrrio); Corrente que passa na linha que liga o barramento i ao barramento j no perodo p; Queda de tenso no barramento b no perodo p; Corrente injectada no barramento b da rede no perodo p.

Tal como no PETMUP, no necessria a criao das variveis Nltp. Da mesma forma, como veremos no Captulo 7, a nossa implementao deste modelo no pressupe a criao das variveis Iijp, Ubp e Iibp. Restries Considerando as variveis e os parmetros do problema definidos anteriormente, um plano de manuteno vlido deve respeitar as seguintes restries:
Restries Temporais

1 dct Pt dtt Np

(2.14)

60

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

Restries de Recursos

xtp Rti Qip


t

i, p Np, t

(2.15)

Restries de Precedncia

Pi + di Pj
Restries de no simultaneidade

[i, j ]

(2.16)

Pi + di Pj Pj + d j Pi

[ i, j ]

(2.17)

Para alm das restries anteriores que so anlogas s do PETMUP, necessrio estabelecer as restries elctricas especficas do PETMRT.
Restries de Continuidade

cam ( bi , b j )
Restries de Sobrecarga

bi , b j , p Np

(2.18)

I ijp Ilmax ij
Restries de Queda de Tenso

i, j , lij , p Np

(2.19)

U bp U max
Restries das correntes nos barramentos
ij:lij

b , p Np

(2.20)

I ijp = Ii jp Ic jp

i, j , p Np

(2.21)

Restries sobre Corrente Injectada e Consumida

Iib p < I m ax bp

b , p Np

(2.22)

A expresso (2.18) representa as restries de continuidade, em que cam(bi,bj) indica um caminho elctrico ente o barramento bi, e bj, ou seja, a restrio consistente se para qualquer que seja o perodo existe pelo menos um caminho elctrico entre quaisquer dois barramentos. As expresses (2.19) e (2.20) representam, respectivamente, as restries sobre a carga nas linhas e quedas de tenso nos barramentos. A expresso (2.21) representa a leis dos ns e impe que o somatrio das correntes que entram num n seja igual ao somatrio das correntes que sai desse mesmo n. Note-se que os produtores e os consumidores so
61

Captulo 2

representados neste modelo, respectivamente, pela injeco de corrente num n, e pelo consumo de corrente num n. Nestes casos a corrente injectada dada pela varivel Iibp e est limitada a uma determinada capacidade de injeco que representada pela restrio (2.22). A corrente consumida fixa e dada pelo parmetro Icbp. No Captulo 7 ser apresentado um algoritmo que mantm a consistncia de todas as restries elctricas que no usa uma representao explcita de cada um das variveis apresentadas em cima. Com o referido algoritmo, possvel reduzir a memria necessria e o tempo de computao. Funo de Optimizao A funo de optimizao usada neste trabalho dada pela expresso (2.23). O primeiro termo da expresso representa os custos de manuteno tal como no caos do PETMUP.

min tNt1 Np1 ( xtp Cmtp ) + K Np1 Nrc p = p= p=

p Np, t Nt

(2.23)

O segundo termo traduz a fiabilidade do sistema e baseia-se na varivel Nrcp. Esta varivel traduz, em cada perodo, o nmero de ramos (linhas) crticos da rede. Um ramo crtico um ramo que no pode ser retirado para manuteno, pois a sua sada de servio implica a violao de uma ou mais restries elctricas. A ideia subjacente que quanto maior for o nmero de ramos crticos mais perto a rede estar da ruptura e isto deve ser evitado. O peso do segundo termo relativamente ao primeiro pode ser aferido pelo parmetro K. Naturalmente este parmetro tambm permite adaptar o segundo termo s unidade usadas para os custos.

2.6

Abordagens ao Problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte de Energia Elctrica

Na Figura 2.3 apresentada a distribuio ao longo dos anos das publicaes relacionadas com o PETMRT, resultantes da pesquisa referida na seco 2.4, mas neste caso incluem-se referncias de algumas conferncias de qualidade reconhecida. Como se pode verificar, o nmero de publicaes relativamente baixo, nomeadamente quando comparado com o PETMUP. Outro facto que as primeiras publicaes surgem apenas em 1991, ou 1998 se considerarmos unicamente revistas, enquanto no caso do PETMUP as primeiras publicaes
62

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

surgiram na dcada de 70 do sculo anterior. A distribuio no entanto semelhante ao PETMUP, sendo notrio um maior nmero de publicaes entre 1995 e 2000.

Oco rr ncias

0 1991 1993 1995 1997 1999 2001 2003

Ano

Figura 2.3 Distribuio por ano das Publicaes Relacionadas com o PETMRT

Considerando a evoluo do negcio do sector elctrico, referido genericamente na seco 2.2, podemos identificar algumas razes para estes factos. Uma das principais razes prendese, muito provavelmente, com a menor necessidade no passado, por parte da indstria da energia, de ferramentas automticas para a resoluo do problema. O escalonamento era feito a nvel operacional e numa base de tempo curta (por exemplo - dia a dia). O nmero de equipas e equipamentos era excedente e no existiam preocupaes de optimizao dos recursos. Outra razo poder ser a maior complexidade do PETMRT, pelo que a sua resoluo s possvel com mtodos e ferramentas computacionais que no existiam h 20 anos atrs. Para alm do nmero de publicaes ser baixo, ainda de referir que algumas das abordagens ao problema so feitas do ponto de vista do sistema de produo. Quer isto dizer que o objectivo principal a resoluo de um PETMUP no qual so consideradas restries relativas rede de transporte, nomeadamente algumas restries elctricas. Nas seces seguintes apresentaremos algumas das abordagens fazendo uma distino conforme o problema central seja o PETMUP ou o PETMRT.

63

Captulo 2

2.6.1

Abordagens ao PETMRT segundo uma perspectiva da produo

Dada a complexidade do PETMRT, as primeiras abordagens ao problema foram feitas como uma extenso ao PETMUP. Essas abordagens so caracterizadas por se basearem numa diviso do problema em vrios sub-problemas, normalmente um principal e vrios secundrios. Com a diviso reduz-se a complexidade e o tamanho de cada um dos subproblemas tornando-se possvel a sua resoluo. No entanto, na maioria dos casos, a diviso implica uma diminuio da qualidade da soluo final, assim como a perda de garantia de obteno da soluo ptima. O primeiro trabalho nesta rea data do incio da dcada de 90 (Chen L. 1991). Neste trabalho os autores definem um PETMUP considerando restries sobre a rede de transporte, cujo objectivo principal consiste no nivelamento da reserva da rede (ver seco 2.3.4). O modelo do problema de escalonamento de alguma forma simplificado na medida em que s so consideradas algumas das restries apresentadas na seco 2.3.3, embora o mtodo admita um modelo mais completo. A base do mtodo de resoluo reside no conceito de Carga Virtual. Sendo assim, o problema dividido em vrios sub-problemas, cada um correspondendo a uma determinada rea geogrfica, virtualmente isolada, e para os quais no so consideradas as restries associadas rede de transporte. Cada um dos sub-problemas resolvido utilizando Branch-and-Bound. Da resoluo resulta a definio dos perodos de execuo das tarefas mas tambm os dados necessrios ao clculo do nvel de reserva da rede, executando por exemplo um trnsito de potncias. Os nveis de reserva em cada uma das reas (sub-problemas) so denominados cargas virtuais e usados na resoluo de um problema principal cujo objectivo nivelar essas cargas. O problema principal resolvido considerando as restries da rede elctrica e da sua resoluo resultam restries sobre as cargas virtuais, que so adicionadas a cada um dos sub-problemas. O processo de resoluo evolui iteractivamente entre a resoluo do problema principal e os sub-problemas at serem atingidos os nveis de reserva dentro dos limites desejados. Esta abordagem bastante simples mas tambm limitada no sentido em que o nico factor de optimizao o nvel de reserva na rede, sendo negligenciados todos os outros factores tais como, os custos de manuteno, produo, limitaes sobre os recursos, etc. Na mesma linha da abordagem anterior, podemos encontrar o trabalho de Shahidehpour and Marwali (Marwali M. 1998; Shahidehpour M. 1999). A descrio de todo o trabalho pode

64

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

ser encontrado sob a forma de livro (Shahidehpour M. 2000). Nos trabalhos referidos os autores apresentam um mtodo de resoluo para o PETMUP, mas em que se consideram restries associadas rede de transporte, nomeadamente as restries elctricas. O modelo usado bastante completo, na medida em que considera a maioria das restries relacionadas com o escalonamento, tais como restries temporais, recursos, precedncia, etc e tambm algumas restries elctricas como sobrecarga, capacidade e procura. Para alm destas restries, em (Shahidehpour M. 1999) os autores consideram ainda o problema das emisses poluentes em centrais trmicas e do abastecimento de combustvel. A base do mtodo de resoluo a Decomposio de Benders. O problema dividido num problema principal e um conjunto de sub-problemas. No problema principal apenas so consideradas variveis inteiras e as restries relacionadas com o escalonamento. A resoluo deste problema feita recorrendo ao Branch and Bound e resulta numa soluo que pode no ser globalmente vlida, mas cujo custo corresponde a um limite inferior (lower bound) do custo ptimo do problema global. Considerando a soluo e os respectivos perodos de manuteno, possvel posteriormente resolver cada um dos sub-problemas (um por perodo) independentemente, pois no existem restries entre perodos. Se todos os sub-problemas tiverem soluo ento a soluo inicial vlida, pelo que so geradas novas restries (conhecidas como Cortes de Bender) sobre os custos. Caso contrrio, so geradas novas restries sobre os perodos de manuteno. As restries so adicionadas ao problema inicial que resolvido novamente at que seja encontrada uma soluo vlida, com um custo suficientemente perto do limite inferior da soluo ptima. Apesar de em (Shahidehpour M. 1999) serem apresentados resultados para um caso de estudo, no so feitas comparaes, nem indicados tempos de computao ou nveis de utilizao da memria. No entanto, dado a abordagem resultar num modelo bastante complexo, com um nmero elevadssimo de variveis e restries possvel que estes sejam proibitivos em problemas reais. Por outro lado, a alterao do modelo (por exemplo para a incluso de novas restries) no trivial pois a maioria das restries tem uma formulao matemtica por si s complexa. Uma abordagem similar anterior a de Silva e Schilling (Silva E. 2000). Nesta, os autores usam um mtodo de resoluo baseado na Decomposio de Benders sobre uma diviso do problema igual de (Marwali M. 1998). A nica diferena est na forma como as restries elctricas so tratadas. Enquanto em (Marwali M. 1998) as restries so resolvidas considerando uma representao simplificada dos Trnsitos de Potncia na Rede em (Silva E. 2000) efectuado um Transito de Potncias utilizando o Modelo DC. O mtodo possui as mesmas
65

Captulo 2

limitaes referidas para a abordagem de (Marwali M. 1998) mas, segundo os autores permite obter solues mais realistas. Uma abordagem diferente a utilizada em (Sawa T. 1999). Neste trabalho os autores propem um mtodo baseado na Pesquisa Tabu (Captulo 5) para resolver o PETMRT. O mtodo considera a maioria das restries relacionadas com o escalonamento e as restries de sobrecarga. Para alm da resoluo do PETMRT, os autores ainda apresentam um algoritmo simples para fazer a reconfigurao da rede no mbito do problema de escalonamento. O mtodo compreende trs fases. Numa primeira fase o problema resolvido atribuindo datas de execuo s tarefas sem considerar as restries de sobrecarga. A soluo obtida na primeira fase refinada na segunda fase, considerando as restries de sobrecarga e utilizando pesquisa Tabu. O refinamento consiste em deslocar no tempo as tarefas que provocam violaes nas restries de sobrecarga, sendo o deslocamento correspondente colocado na lista Tabu. O processo continua at que todas as restries sejam consistentes. O artigo no refere os mtodos usados para a verificao da consistncia das restries, nomeadamene as de sobrecarga. Se no existir uma soluo vlida possvel uma terceira fase em que se utiliza uma heurstica para fazer a reconfigurao da rede. Finalmente, aps se obter uma soluo vlida, a pesquisa Tabu continua a efectuar deslocamentos das datas de execuo das tarefas de forma a minimizar o custo. Os autores reclamam um bom desempenho, referindo que o mtodo demorou 2 segundos para encontrar, em 15 iteraes, uma primeira soluo para um problema com 61 tarefas e 30 perodos de manuteno e depois 21 minutos a convergir numa boa soluo.

2.6.2

Abordagens ao PETMRT segundo uma perspectiva da rede

Nas abordagens ao PETMRT segunda a perspectiva da rede o problema principal em considerao est directamente relacionado com a rede, podendo considerar ou no a questo da manuteno das unidades de produo. Tal como no caso anterior, os trabalhos nesta rea no so numerosos. Um dos trabalhos baseia-se em Algoritmos Genticos e foi apresentado pela primeira vez em (Langdon W. 1995), sendo depois descrito na totalidade em (Langdon W. 1997). A abordagem usa um modelo bastante simples, no qual no so consideradas as restries relacionadas com o problema de escalonamento, tais como as restries temporais, sobre recursos, etc. Basicamente, as restries consideradas so as elctricas e, mesmo estas, so
66

O Problema do Escalonamento de Tarefas de Manuteno nos SEE

includas implicitamente na funo de optimizao (fitness). O objectivo do problema consiste assim em escalonar as tarefas de manuteno procurando minimizar o excedente de procura assim como a sobrecarga na rede. Apesar do nmero limitado de restries consideradas, o que reduz a utilidade das solues, os autores apresentam um bom estudo sobre diferentes cromossomas e operadores genticos a utilizar em problemas de manuteno relacionados com a rede elctrica.

67

Captulo 3

A Programao Lgica por Restries e sua Aplicao ao Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo
Equation Chapter 3 Section 3

A PLR e sua Aplicao ao PETMUP

3.1

Introduo

No Captulo 1 foi apresentada a motivao para o uso da Programao Lgica por Restries (PLR) na resoluo do PETMUP. Relembrando, no mbito da PLR os programas so declarativos. As relaes entre objectos so estabelecidas recorrendo a restries. Cada objecto, normalmente representado por uma ou mais variveis, tem associado um conjunto de valores que pode tomar. As restries esto associadas a algoritmos de filtragem que mantm os valores dos objectos consistentes entre si. Resumindo, um programador que use a PLR tem ao seu dispor o resultado do esforo de um conjunto de especialistas em diversas reas, sejam elas Programao Matemtica, Programao Linear, Investigao Operacional, entre outras, podendo assim dedicar-se resoluo do problema. Nas seces seguintes sero introduzidos os principais conceitos relacionados com a PLR. Para alm da apresentao da estrutura base, acompanhada de um exemplo, de um programa em PLR, sero ainda apresentadas as tcnicas mais relevantes usadas na resoluo e propagao das restries. Nas ltimas seces deste captulo ser apresentado um modelo original, em PLR, para o PETMUP. Para resolver o modelo ser apresentado um mtodo de pesquisa denominado Branch&Bound Bsico, que corresponde a uma variante do algoritmo de Branch&Bound. Este mtodo necessita de uma estratgia para seleco das variveis, e outra para a seleo de valores. Sendo estas estratgias determinantes para o desempenho do mtodo, sero apresentadas e avaliadas quatro combinaes de estratgias, de forma a avaliar as que melhor se adequam ao PETMUP. Na parte final do captulo, o mtodo de Branch&Bound Bsico ser ainda comparado com um mtodo de pesquisa usado frequentemente na resoluo de problemas de escalonamento denominado Limited Discrepancy Search. Note-se que o mtodo Branch&Bound Bsico servir de base aos restantes mtodos apresentados nos captulos que se seguem.

71

Captulo 3

3.2

A Programao em Lgica por Restries

Durante a dcada de 70 do sculo XX emergiu da comunidade cientfica computacional um novo paradigma de programao denominado Programao Lgica. Este novo paradigma difere substancialmente da programao convencional, quer estilstica quer computacionalmente, na medida em que usa uma lgica declarativa na formulao dos problemas e deduo para a sua resoluo. Segundo (R. Kowalski 1986), um programa pode ser subdividido em dois componentes, que podemos designar por competncia e desempenho, ou lgica e controlo. O primeiro componente est relacionado com a descrio da informao factual intimamente ligada ao problema em si, isto , relaes e declaraes que devem ser manipuladas e combinadas no sentido da obteno de solues. O segundo componente, como o prprio nome indica, lida com a estratgia e o controlo da manipulao dessas relaes. Podemos dizer que a lgica responsvel pela consistncia do programa, enquanto que o controlo responsvel pela sua eficincia. Uma metodologia ideal deveria, primeiramente, resolver a competncia do programa, ou seja, o Qu e s depois o desempenho Como. A programao lgica disponibiliza intrinsecamente os meios para esta distino atravs de uma lgica de predicados de primeira ordem e de um mecanismo computacional denominado Resoluo-SLD. Desta forma, a programao lgica tem a propriedade de fazer coincidir, de modo natural, a sua semntica operacional e a sua semntica declarativa. Estas semnticas tm, no entanto, as suas limitaes. Em primeiro lugar, os objectos manipulados por um programa lgico so estruturas no interpretadas10. Em segundo lugar, a igualdade s possvel entre termos sintacticamente iguais. Todos os objectos semnticos tm de ser explicitamente codificados num termo. As Restries, pelo contrrio, so usadas para, implicitamente, descrever a relao entre os ditos objectos. Estes objectos podem cair em domnios to variados como sejam o domnio dos Inteiros, Reais, ou Boleanos.

10

Segundo alguns autores, representam o conjunto de todos os termos que podem ser formados a partir de funes e constantes num dado programa.

72

A PLR e sua Aplicao ao PETMUP

Outro dos problemas, no da programao lgica em geral, mas da maioria dos seus sistemas, como por exemplo o PROLOG, prende-se com a simples, mas ineficiente, regra de computao de pesquisa usando a tcnica Primeiro em Profundidade. Esta regra resulta num procedimento do tipo gerar e testar, que se toma bastante ineficiente em aplicaes com alguma dimenso. A Programao Lgica por Restries (PLR), do Ingls Constraint Logic Programming, surgiu numa tentativa de ultrapassar as limitaes da programao lgica e particularmente do PROLOG, para uma vasta rea de aplicaes. Neste sentido, podemos ver a PLR como uma extenso de um sistema de programao lgica (por exemplo o PROLOG), no qual se introduzem estruturas de dados mais ricas e complexas, as quais permitem que objectos semnticos como expresses aritmticas sejam codificados e manipulados directamente. A ideia bsica consiste em complementar o ncleo computacional do sistema lgico, a unificao, com um Manipulador de Restries num determinado domnio. Este esquema foi proposto pela primeira vez por Jaffar & Lassez (Jaffar J. 1987) e foi denominado PLR(X) ( do original anglo-saxnico CLP (X)). A varivel X pode tomar vrios valores, que representam outros tantos domnios de computao. Exemplos destes domnios so: R - reais; Q - racionais; FD - domnios finitos; B boleanos, etc. Por se basear em restries, a PLR sofreu influncia da investigao proveniente de um paradigma bastante mais antigo denominado Problema da Satisfao de Restries. Esta influncia resultou num melhoramento significativo do processo de pesquisa do sistema lgico bsico presente no PROLOG. Em vez do seu uso passivo, Gallaire (Gallaire H. 1985) props o uso activo das restries no encurtamento da rvore de pesquisa durante o processo de gerar e testar. Este novo paradigma exibe uma computao guiada plos dados (data-driven) que foi denominada restringir e gerar.

3.2.1

O Esquema da PLR

Muitas linguagens baseadas em clusulas tm uma semntica idntica. A diferena fundamental dentro do esquema da PLR, como definido por Jaffar & Lassez baseia-se em que, a semntica operacional, a semntica declarativa e a relao entre estas duas semnticas podem ser parametrizadas atravs da escolha de um domnio de computao. O esquema resultante define a classe de linguagens PLR (X) obtidas pela instanciao do parmetro X. Este esquema pretende fornecer a flexibilidade necessria ao utilizador, nomeadamente no que diz

73

Captulo 3

respeito aos objectos que a linguagem pode manipular. Os conceitos utilizados pelo programador no desenvolvimento da aplicao esto, partida, intimamente ligados com o domnio computacional em que a aplicao se insere. Por exemplo, prefervel usar expresses boleanas, inteiros, reais ou conjuntos do que codificar tudo como estruturas no interpretadas como acontece em PROLOG. Associado a cada domnio de computao, esto as operaes algbricas respectivas, como por exemplo a interseco de conjuntos, conjuno de expresses boleanas ou multiplicao de expresses aritmticas. A computao sobre um determinado domnio exige que sejam introduzidos smbolos e funes especiais na linguagem de programao lgica. As relaes sobre o domnio so designadas Restries. A introduo de restries exige a introduo de um mecanismo capaz de manipular e resolver essas restries. Na Programao Lgica tradicional a nica restrio a igualdade entre termos (t1=t2) e a unificao o algoritmo usado para a sua resoluo. A unificao, ao manipular a restrio, diz-nos se existe ou no soluo, mas num sentido geral. O sentido da igualdade ligeiramente alterado pelo algoritmo, cumprindo a sua funo, apenas mediante determinadas condies. Este mecanismo claramente insuficiente para a manipulao de restries mais complexas e bastante limitativo, mesmo na manipulao de restries mais simples. Por exemplo, a restrio ( V1 # = V2 ) (o simbolo # transforma a equao numa restrio) implica que a varivel V1 seja igual varivel V2. A resoluo desta restrio s possvel quando uma das variveis estiver instanciada, pelo que, enquanto essa condio no se verificar, a restrio deve ser suspensa. O algoritmo da unificao no suspende a igualdade, pelo contrrio, se nenhuma das variveis estiver instanciada este falha. Deste modo, para que a Programao Lgica possa acomodar restries, o seu algoritmo de unificao necessita de ser substitudo, ou complementado, por um procedimento de deciso capaz de determinar quando que uma restrio, ou um conjunto de restries, consistente e pode ser resolvido. O sub-sistema que executa este procedimento designa-se Meta-Interpretador de Restries ou, segundo a terminologia anglo-saxnica, Constraint Solver. Este meta-interpretador , na realidade, a alma de um sistema de PLR. O nvel de resoluo11 das restries que um metainterpretador consegue atingir define se o sistema mais ou menos eficiente na resoluo do

11

O nvel de resoluo de um meta-interpretador indica a capacidade que este tem de determinar a consistncia, ou no consistncia, de um conjunto de restries

74

A PLR e sua Aplicao ao PETMUP

problema. Para podermos perceber melhor a resoluo de um problema utilizando a PLR vejamos o exemplo da seco seguinte.

3.2.2

Um Programa em PLR

Suponhamos que determinado empresrio deseja, a partir de alguns componentes bsicos da sua produo, montar vrios tipos de bonecos de madeira. Exemplo - Um boneco constitudo por trs componentes, nomeadamente cabea, tronco e membros, pesando cada um deles determinado valor conforme o seu tipo. O tronco pode incluir um pequeno mecanismo de animao ou no. Por restries de transporte, o peso do boneco no pode exceder as 10 unidades. Este problema pode ser resolvido recorrendo a um programa em lgica, bastando definir os factos e regras correspondentes s restries e dados do problema. Uma possibilidade pode ser a que apresentada na Figura 3.1.

boneco(C,T,M):cabeca(C,X), tronco(T,Y), membros(M,Z), X>0,Y>0,Z>0, X+Y+Z=<10. % Regras para o Tronco tronco(T,Y):-com_automatismo(T,Y). tronco(T,Y):-sem_automatismo(T,Y).

% Regra l

% Factos respeitantes aos pesos dos componentes cabeca(princepe,6). cabeca(pinoquio,2). com_automatismo(traje_c,5). com_automatismo(gala_c,7). sem_automatismo(traje_s,2). sem_automatismo(gala_s,4). membros(pele,2). membros(vestido,6). Figura 3.1 Exemplo de um programa em Lgica

75

Captulo 3

O programa da Figura 3.1 constitudo por um conjunto de clusulas, que podem ser regras ou factos. A resoluo do problema passa por tentativas de satisfao dos objectivos do presente estado de computao recorrendo s regras e aos factos do prprio programa. No nosso caso, a nica regra aplicvel a regra l e o primeiro objectivo consiste em instanciar X a partir dos factos existentes. O novo estado de computao resulta da reduo do primeiro estado, em que o objectivo foi substitudo pelo conjunto dos tomos da premissa da regra. Se em algum estado de computao falhar uma substituio, ento diz-se que se chegou a um Impasse, do Ingls Dead End. Nesta situao, o sistema deve retroceder na rvore de Pesquisa e tentar outras alternativas para as regras ou factos segundo um mtodo denominado Retrocesso Cronolgico. Cada alternativa corresponde a um estado de pesquisa, cuja sequncia resulta numa derivao. Quando todos os objectivos forem satisfeitos obtm-se uma soluo. Caso no for possvel satisfazer todos os objectivos prova-se que no existe soluo. Este tipo de pesquisa, do tipo gerar e testar resulta numa rvore de pesquisa do tipo primeiro em profundidade com desenvolvimento da esquerda para a direita. Na Figura 3.2 encontra-se representada a rvore correspondente ao programa da Figura 3.1.
Cabeca
princepe 6 pinoquio 2

Tronco

Tronco

traje_c 5

gala_c 7

traje_s 2

gala_s 4

traje_c 5

gala_c 7

traje_s 2

gala_s 4

Menbros

Menbros

Menbros

Menbros

Menbros

Menbros

Menbros

Menbros

pele vestido 2 6

pele vestido 2 6

pele vestido 2 6

pele vestido 2 6

pele vestido 2 6

pele vestido 2 6

pele vestido 2 6

pele vestido 2 6

13

17

15

19

10

14

12

16

13

11

15

10

12

Figura 3.2 - rvore de Pesquisa correspondente ao Programa da Figura 3.1

Como se pode ver, a dimenso da rvore depende do nmero de variveis e dos valores possveis para essas variveis. No nosso caso, o nmero de solues candidatas de 2*4*2=16. Generalizando para um problema com n variveis e k valores possveis, temos kn solues candidatas. Este tipo de complexidade exponencial no permite a utilizao do mtodo em problemas reais. Por exemplo, admitindo que um determinado sistema capaz de

76

A PLR e sua Aplicao ao PETMUP

explorar 1000 solues num milisegundo ento esse mesmo sistema demoraria aproximadamente 116 anos para explorar a rvore de um simples problema com 20 variveis e 6 valores. Naturalmente, o grande problema deste tipo de pesquisa est na explorao exaustiva da rvore de pesquisa. Note-se que s aps 4 retrocessos e 4 solues invlidas que o programa encontra a primeira soluo vlida para o problema do nosso exemplo e que apenas 5 das 16 solues candidatas so vlidas. A ideia da PLR consiste em tentar utilizar activamente as restries para diminuir o nmero de solues exploradas. Idealmente, a propagao de restries deve evitar a explorao de ramos da rvore que no conduzam a pesquisa a solues vlidas. Para isso os algoritmos de filtragem executam uma anlise de algumas, ou todas, as combinaes de valores possveis para as variveis no sentido de eliminar aquelas que correspondem a ramos da rvore inteis. Um programa em PLR necessita, assim, da definio das restries, das variveis e dos valores que essas variveis podem tomar. O conjunto dos valores que cada varivel pode tomar constitui o domnio da varivel. Na Figura 3.3 encontra-se o programa que resolve o nosso problema em PLR.

boneco(C,T,M):C::[1,2], T::[1,2,3,4], M::[1,2], [X,Y,Z]::0..10, X#>0,Y#>0,Z#>0, X+Y+Z#=<10, element(C,[2,6],X), element(T,[5,7,2,4],Y), element(M,[2,6],Z), labeling([C,T,M]). % Restries de quantidade % Restrio de peso total % Restries de ligao

Figura 3.3 - Exemplo de um programa em Lgica por Restries

Como se pode verificar, um programa em PLR sintcticamente semelhante a um programa lgico, apesar de normalmente ser mais pequeno. Tal como o programa lgico, este constitudo por um conjunto de clusulas, que podem ser regras ou factos. A diferena que as regras podem conter restries nas suas premissas. No programa da Figura 3.3 o smbolo # indica que a condio uma restrio. Outra diferena est nas variveis que no caso da PLR possuem um domnio constitudo pelos valores com que a varivel pode ser instanciada. Estas
77

Captulo 3

variveis so denominadas Variveis de Domnio (Domain-Variables) (1989). Por exemplo, no programa da Figura 3.3 a condio C::[1,2] define o domnio da varivel C como sendo o conjunto de valores [1,2]. A evoluo de um programa em PLR anloga a um programa em lgica, com a diferena de que, para alm dos objectivos normais, existe um conjunto especial de objectivos (goals) que correspondem s restries consideradas at ao momento e ainda no resolvidas12. Alguns autores designam este conjunto de restries como Armazm de Restries (Constraint Store) e esta ser, tambm, a designao usada nesta tese. Teoricamente, em cada estado de computao todas as restries contidas no armazm devem ser consistentes, ou seja, qualquer que seja o valor do domnio de cada uma das variveis, a restrio correspondente sempre uma proposio verdadeira. A manuteno da consistncia do armazm de restries da responsabilidade do meta-interpretador. Em termos prticos, sempre que o domnio de uma varivel alterado, ou uma restrio adicionada, o meta-interpretador deve verificar a consistncia de todas as restries removendo, se necessrio, valores inconsistentes do domnio das variveis e reduzindo consequentemente a rvore de pesquisa. No exemplo da Figura 3.3 inicialmente o domnio das variveis [X,Y,Z] definido como sendo o conjunto dos nmeros inteiros entre 0 e 10. Posteriormente so adicionadas as restries X#>0, Y#>0, Z#>0 pelo que o meta-interpretador dever remover o valor 0 do domnio das variveis X, Y, Z. Na realidade, a definio destas restries poderia ser eliminada se os domnios das variveis fossem inicializados sem o valor 0, ou seja, com valores entre 1 e 10. Independentemente da forma como se definem os domnios e as restries, uma restrio pode ser eliminada do armazm no momento em que houver garantias que todas as combinaes de valores relativos a essa restrio sejam consistentes. Este o caso das restries X#>0, Y#>0, Z#>0 aps a remoo do valor 0 do domnio das variveis X, Y, e Z. Em muitas situaes os valores no podem ser removidos porque existem combinaes de valores consistentes que os incluem, embora possam existir outras combinaes inconsistentes. No nosso exemplo, aps a imposio da restrio X+Y+Z=<10 possvel remover os valores 9 e 10 do domnio de todas as variveis, pois estes no podem pertencer a

12

Uma restrio diz-se resolvida se todos os valores dos domnios das variveis que a constituem forem globalmente consistentes segundo essa restrio, quer no presente estado de computao, quer em qualquer estado futuro. Por exemplo a restrio X3 estar resolvida, logo que o domnio de X no contenha nenhum valor inferior a 3.

78

A PLR e sua Aplicao ao PETMUP

nenhuma combinao consistente. Para alm destes valores, todos os outros pertencem pelo menos a uma combinao consistente segundo a restrio. Por exemplo X=8, Y=1, Z=1 a nica combinao consistente que inclui X=8, todas as restantes so inconsistentes. Por este facto, a resoluo de todas as restries no implica necessariamente a instanciao de todas as variveis. Deste modo, para obter uma soluo necessrio um processo de enumerao que atribua valores s variveis. Este processo deve, em cada iterao, seleccionar uma varivel e posteriormente um valor para instanciar essa varivel segundo as denominadas: Estratgia de seleco de Variveis e Estratgias de Seleco de Valores. Estas estratgias definem a estrutura da rvore de pesquisa e, consequentemente, a ordem pela qual as solues so encontradas, logo so determinantes para a eficincia da pesquisa (ver seco 3.3.6). No exemplo da Figura 3.3 essa enumerao executada pelo predicado labeling(L) que selecciona as variveis da lista L por ordem dessa mesma lista, e depois os valores por ordem crescente. Para alm das restries associadas directamente ao problema, frequente o uso de restries para aumentar a eficincia da pesquisa ou para efectuar a ligao entre variveis, como por exemplo entre uma varivel de deciso e uma varivel de custo. Este o caso da restrio element usada no exemplo da Figura 3.3. A restrio element uma restrio global (ver seco 3.3.5), disponibilizada pela maioria dos sistemas de PLR, que tem a forma geral indicada em (3.1).

element (?Indice, +Lista, ?Valor)

(3.1)

Em que Indice e Valor so variveis de domnio e Lista uma lista de Valores. Em termos operacionais, a restrio garante que em qualquer momento, o domnio da varivel Valor contm os valores da lista Lista indicados pelos valores da varivel Indice. O contrrio tambm verdadeiro, ou seja, uma alterao do domnio de Valor tambm se propaga ao domnio de Indice. Como exemplo, dada a restrio element(I, [4,7,9], V), ento D(I) = [1,2,3] e D(V)= [4, 7, 9]. Se o domnio de I for reduzido para D(I) = [1,2], a restrio deduz que D(V)= [4, 7]. Da mesma forma, se posteriormente se imposer que D(V)=7 a restrio deduz que D(I)=2. Em PLR sempre que o domnio fica reduzido a um nico valor a varivel instanciada com esse valor. A propagao de uma ou mais restries tambm pode resultar num domnio vazio (sem valores), neste caso a pesquisa deve retroceder e procurar combinaes alternativas.

79

Captulo 3

X[1,6], Y[2,4,5,7], Z[2,6] C[1,2], T[1,2,3,4], M[1,2]

C=1
X[2], Y[2,4,5], Z[2,6] C[1], T[1,3,4], M[1,2]

C=2
X[6], Y[2], Z[2] C[2], T[3], M[1]

T=1

T=3

T=4

X[2], Y[5], Z[2] C[1], T[1], M[1]

X[2], Y[2], Z[2,6] C[1], T[3], M[1,2]

X[2], Y[4], Z[2] C[1], T[4], M[1]

M=1

M=2

10

10

X[2], Y[2], Z[2] C[1], T[3], M[1]

X[2], Y[2], Z[6] C[1], T[3], M[2]

Figura 3.4 - rvore de Pesquisa correspondente ao Programa da Figura 3.4

Considerando o programa da Figura 3.3, a nova rvore de pesquisa corresponde da Figura 3.4. Na figura encontra-se indicado, junto a cada uma das derivaes, o estado do armazm de restries aps a propagao das mesmas. Note-se que o domnio das variveis vai sendo restringido medida que se instanciam variveis. Nalguns casos, como por exemplo aps a instanciao C=2, a propagao das restries resulta numa soluo. Como se pode ver relativamente a uma pesquisa do tipo Gerar e Testar o uso activo das restries permite uma reduo significativa do espao de pesquisa. No nosso exemplo apenas so exploradas solues vlidas no ocorrendo nenhum retrocesso. Cada uma das restries pressupe a existncia de um algoritmo, usado para efectuar a propagao da mesma. Naturalmente, podero existir vrios algoritmos disponveis para a mesma restrio, com diferentes complexidades. Cada algoritmo requer um determinado tempo de execuo, o qual poder ou no ser compensado pela reduo da rvore de pesquisa que o algoritmo proporciona. Estes algoritmos designados Algoritmos de Filtragem, de Propagao, ou ainda de Resoluo, sero abordados na seco 3.3, e so a base dos Meta-interpretadores de Restries.

80

A PLR e sua Aplicao ao PETMUP

3.2.3

Classificao de um Meta-Interpretador de Restries

Os vrios meta-interpretadores existentes actualmente podem ser classificados por um determinado conjunto de caractersticas. A caracterstica mais relevante o domnio de computao no qual o meta-interpretador actua. O interesse de aplicao da PLR a diferentes reas originou o aparecimento de vrios domnios de computao. Cada um dos domnios tem associado um meta-interpretador que engloba um conjunto de algoritmos de propagao associados a cada uma das suas restries. Alguns exemplos de domnios so o Domnio Aritmtico, o Domnio dos Boleanos e o Domnio dos Finitos. Este ltimo de longe o mais usado, nomeadamente por ser o indicado para a resoluo de problemas de escalonamento e planeamento como os tratados nesta tese. Outro dos critrios de classificao est relacionado com o nvel de resoluo que o metainterpretador consegue atingir. Neste aspecto o meta-interpretador pode ser classificado como Completo ou Incompleto. Um meta-interpretador diz-se completo se puder determinar se qualquer conjunto de restries sobre o domnio de computao em causa solvel ou no. At ao momento no existe nenhum meta-interpretador completo para domnios finitos, ou seja, a resoluo de todas as restries no garante uma soluo. De forma a obter uma soluo o mtodo de pesquisa deve englobar um tipo mecanismo de enumerao, que instancie as todas as variveis ainda no instanciadas. Domnio dos Finitos As Restries sob Domnios Finitos so, no contexto deste trabalho, as mais importantes, na medida em que assumem um papel primordial na resoluo de problemas de escalonamento como o PETMUP. Um domnio de uma varivel em programao lgica pode ser definido como um conjunto no vazio de constantes. O domnio usual de uma varivel lgica o Universo de Herbrand da teoria representada pelo programa lgico considerado. Adicionalmente, algumas variveis possuem o seu prprio domnio finito que no mais que um subconjunto do universo de Herbrand.. Durante a resoluo SLD13, uma varivel lgica pode ser instanciada com qualquer

13

Resoluo SLD, do termo anglo-saxnico SLD Resolution um termo usado em programao lgica para referir a

estratgia de controlo usada em cada linguagem lgica para resolver questes de no determinismo.

81

Captulo 3

termo incluindo constantes e variveis. Uma varivel X, pertencente a um domnio finito Dx, s pode ser unificada com um valor vDx do seu domnio, ou com outra varivel cujo domnio DxDx. No caso dos domnios, finitos o domnio das variveis constitudo por um conjunto finito de valores inteiros. Neste contexto, o meta-interpretador sobre Domnios Finitos deve garantir em todo o momento que os valores existentes nos domnios das variveis satisfazem as respectivas restries. Este objectivo igual ao do Problema da Satisfao de Restries (PSR) (Constraint Satisfaction Problem) apresentado em (Montanari U. 1974), pelo que as mesmas tcnicas de Satisfao de Restries podem ser usadas pelo meta-interpretador. Na prtica, no mbito dos domnios finitos, os Problemas combinatoriais em estudo so formulados como um PSR, e o meta-interpretador usado recorre a tcnicas de satisfao de restries para os resolver. Na seco seguinte ser apresentado o PSR.

3.3

O Problema da Satisfao de Restries em PLR

Informalmente o Problema de Satisfao de Restries consiste em determinar para cada uma das variveis do problema, um valor do seu domnio, que satisfaa o conjunto finito das restries do problema. Basicamente, uma restrio define os valores permitidos para um determinado subconjunto das variveis. Uma restrio pode ser dada explicitamente, por enumerao dos tuplos vlidos, ou implicitamente, por exemplo, por uma expresso algbrica. Um PSR solvel se tem pelo menos uma soluo, caso contrrio insolvel ou sobrerestringido.

3.3.1

Definies Associadas ao PSR

A formalizao do PSR passa pela definio de alguns conceitos j usados na introduo da seco anterior. Nesta tese seguiremos a terminologia usada em (Tsang E. 1993). O conceito mais bsico de um PSR o que define uma varivel, que neste caso uma Varivel de Domnio. Definio 3.1 (Varivel de Domnio) Uma varivel de domnio X uma varivel que s pode ser instanciada com um valor de entre o conjunto finito de valores que constitui o seu domnio D(X), ou Dx.

82

A PLR e sua Aplicao ao PETMUP

Como exemplo, no programa da Figura 3.3 a varivel M uma varivel de domnio, em que D(M)=[1,2]. Neste caso a varivel s pode tomar o valor 1 ou 2, de acordo com o seu domnio. A atribuio de valores s variveis consiste numa instanciao, deste modo: Definio 3.2 (Instanciao) Quando o domnio de uma varivel ficar reduzido a um nico valor diz-se que a varivel foi instanciada. Desta forma podemos dizer que, instanciar uma varivel corresponde a atribuir varivel um valor do seu domnio. O resultado ser um par varivel-valor. Se X for uma varivel e v um valor do seu domnio (v Dx), ento o processo de instanciao ser representado pela seguinte notao vX, ou X=v. Ao processo de atribuio de vrios valores a igual nmero de variveis chama-se Instanciao Mltipla. No exemplo da Figura 3.3 so utilizados vrios tipos de restries. Conceptualmente, o resultado do conjunto de todas as restries pode ser visto como o conjunto de todas as instanciaes mltiplas, possveis e vlidas, que mostram o conjunto de valores simultaneamente compatveis para o conjunto de todas as variveis. Alternativamente, uma restrio pode ser vista como uma funo que mapeia todas as instanciaes mltiplas no conjunto booleano {Verdadeiro, Falso}. Formalmente podemos definir Restrio como: Definio 3.3 (Restrio) - Seja V=[Xi,..., Xn] um conjunto finito de variveis de domnio com domnio respectivamente [DX1,...,DXn]. Uma restrio R sobre o conjunto de variveis V denota um subconjunto do Produto Cartesiano dos seus domnios (R DXl x ... x DXn), representado como o conjunto de instanciaes mltiplas para as variveis [X1,...,Xn]. Considerando a Definio 3.3 e dada uma restrio Rijk envolvendo as variveis Xi, Xj e Xk ento Rijk DXi x Dxj x DXk. Como se pode ver nos vrios exemplos de restries, estas podem envolver uma ou mais variveis. O nmero de variveis envolvidas denomina-se de Aridade da restrio e representase por vars(R). Analogamente uma varivel pode estar envolvida em vrias restries. Esse nmero representa-se por res(X). Note-se que uma restrio uma relao entre variveis e no uma funo de variveis. Na prtica uma restrio pode ser especificada por uma: Extenso que consiste na enumerao explcita de todas as instanciaes mltiplas vlidas. Reduo que consiste num procedimento que determinada as instanciaes vlidas
83

Captulo 3

Apesar da aridade das restries poder variar existe um valor que assume alguma relevncia. Esse o nmero dois e caracteriza as denominadas Restries Binrias. A importncia das restries binrias prende-se com o facto de que qualquer restrio pode ser reduzida a um conjunto de restries binrias e que existe um amplo conjunto de conceitos e algoritmos apropriados para este tipo de restries. O processo de instanciao mltipla executa a atribuio de valores s variveis. Esses valores so limitados pelas restries impostas sobre essas variveis, pelo que se torna necessrio definir quando que uma instanciao satisfaz ou no uma restrio. A razo de satisfao poder ser definida por uma relao binria entre a instanciao e a restrio. Definio 3.4 (Satisfao de Instanciaes Mltiplas) Uma instanciao mltipla I satisfaz uma restrio R se e s se I um elemento de R. Segundo (Freuder E. 1978), o conceito de satisfao de instanciaes mltiplas pode ser estendido ao caso em que R uma restrio sobre um sub-conjunto das variveis de I. Neste caso a instanciao I satisfaz a restrio R, se e s se, a projeco de I sobre as variveis de R um elemento de R. Por outras palavras, quando R uma restrio sobre o conjunto de variveis (X1, X2,..., Xn), ou um seu sub-conjunto, ento I satisfaz R se as instanciaes para as variveis em I forem vlidas em relao a R. Aps a apresentao dos conceitos anteriores, estamos em condies de definir formalmente o Problema da Satisfao de Restries. Definio 3.5 (Problema da Satisfao de Restries) - O Problema da Satisfao de Restries um termo ordenado (V, , R) onde:
V

um conjunto finito de variveis de domnio (X1, X2,..., Xn), uma funo que mapeia cada varivel de V num conjunto de objectos

(valores). O conjunto (Xi), corresponde ao domnio de Xi, portanto pode ser substitudo pelo conjunto dos domnios das variveis V.
R

o conjunto de restries do problema.

Segundo esta definio, o problema apresentado na seco 3.2.2 um problema de satisfao de restries.

84

A PLR e sua Aplicao ao PETMUP

3.3.2

Resoluo do PSR

Como foi referido anteriormente, a resoluo de um PSR passa pela atribuio de valores s variveis, de tal forma que nenhuma restrio seja violada. A Definio 3.6 especfica quais as condies para que uma instanciao mltipla seja uma soluo de um PSR: Definio 3.6 (Soluo de um PSR) - Seja P = (V, , R) um PSR. Uma soluo de P dada por uma instanciao mltipla de todas as variveis de V que satisfaz todas as restries de R. Um PSR s pode ser resolvido se existir pelo menos uma soluo que respeite a definio anterior. O objectivo de um PSR pode ser mais vasto do que simplesmente encontrar uma soluo. Assim, se em alguns PSR s necessrio encontrar uma soluo, noutros pode ser necessrio encontrar todas as solues. Nesta ltima classe pode ser ainda considerado um caso particular, em que se pretende saber qual a soluo ptima de entre o conjunto das solues encontradas. Esta escolha feita com base numa funo de custo que hierarquiza todas as solues segundo um determinado critrio. Finalmente, um caso mais terico ser o de saber se um determinado PSR tem ou no soluo. Este objectivo pode classificar o PSR como um problema de deciso. Outra questo relacionada com o PSR a maior ou menor dificuldade da sua resoluo. A resposta a esta questo permite identificar algumas caractersticas dos problemas mais adequados PLR. No sentido de responder questo vejamos mais algumas definies. Por convenincia, as restries de um problema e as relaes que estabelecem, desde que binrias, podem ser representadas por um grafo, neste caso especial denominado Grafo de Restries ou Rede de Restries. Definio 3.7 (Grafo de Restries) Um grafo de restries binrias contem um n para cada uma das variveis do problema. Para cada restrio, o grafo contm tambm um arco a ligar os ns correspondentes s variveis envolvidas. No caso de restries com uma aridade superior a dois, estas podem ser convertidas em restries binrias. No entanto, quando no conveniente fazer essa converso pode ser usado um Hiper-Grafo. Definio 3.8 (Hiper-Grafo) semelhana de um Grafo, um Hiper-grafo composto por um n para cada varivel e um conjunto de hiper-arcos que ligam os ns correspondentes s variveis envolvidas em cada uma das restries.

85

Captulo 3

Considerando um PSR com as variveis (X, Y, Z) e as restries entre as variveis (Rxy, Rxz, Ryz) o grafo correspondente pode ser o da Figura 3.5.

Figura 3.5 Grafo de Restries

No grafo da Figura 3.5 existe um arco entre cada um dos ns. Neste caso, o grafo diz-se completo. Normalmente os grafos relativos a problemas reais no so completos mas, pelo contrrio, costumam ser dispersos. Nestes casos pode ser interessante medir a densidade do grafo: Definio 3.9 (Densidade de um Grafo) A densidade do grafo corresponde razo entre o nmero dos seus arcos e o nmero de arcos de um grafo completo com o mesmo nmero de ns. Em princpio, a dificuldade de um problema com restries est relacionado com a densidade do grafo subjacente. Quanto mais denso for o grafo, mais difcil ser o problema, no sentido em que o nmero de instanciaes vlidas ser menor. No entanto, importante fazer uma distino entre a dificuldade de um problema e a dificuldade de resolver o problema, pois um problema difcil pode ser facilmente resolvel. Por exemplo, em alguns casos fcil provar que um problema difcil no tem soluo. Na realidade a dificuldade de um problema Definio 3.10 reside na dificuldade em satisfazer as suas restries. Esta dificuldade de resolver as restries pode ser medida atravs pelo seu Nvel de Estreitamento. Definio 3.11 (Estreitamento de uma Restrio) Dada uma restrio R, sobre as variveis [X1,,Xn] e os domnios das variveis envolvidas na restrio [DX1,, DXn], o estreitamento de R definido como a razo entre o nmero de instanciaes mltiplas vlidas para a restrio e a cardinalidade do produto cartesiano DX1x,,x DXn. O conceito pode ser entendido facilmente com um exemplo. Considerando duas variveis com os domnios D(X)=D(Y)=[1,2,3] e a restrio X+Y<4, facilmente se pode deduzir que as

86

A PLR e sua Aplicao ao PETMUP

instanciaes vlidas so [<1,2>,<2,1>], e que a cardinalidade do produto cartesiano dos domnios 3*3=9. Neste caso o nvel de Estreitamento da restrio 2/9. A noo de estreitamento pode ser estendida a todo o PSR: Definio 3.12 (Estreitamento de um Problema) O nvel de estreitamento de um PSR com as variveis [X1,,Xn] definido como a razo entre o nmero de solues vlidas e a cardinalidade do produto cartesiano DX1x,,x DXn. A dificuldade de resolver um PSR est relacionada com a densidade do seu grafo assim como com o seu estreitamento. No entanto, como podemos ver no exemplo da seco 3.2.2, a rvore de pesquisa de um programa em PLR tanto menor quanto menor for o estreitamento do problema em causa e a capacidade de reduo dos algoritmos de propagao das restries usados. Este facto sugere que a PLR ser, em princpio, tanto mais eficiente, quando comparada com outros mtodos de pesquisa, quanto menor for o nvel de estreitamento do problema em causa. Uma anlise emprica dos resultados comparativos de mtodos baseados em PLR a diferentes tipos de problemas parece confirmar este facto. J definimos soluo de um PSR, sem no entanto discutir nenhuma metodologia para a sua resoluo. No prxima seco ser definida uma metodologia bsica para a resoluo de PSR que foi sugerido em (Nuitjen W. 1994).

3.3.3

Plataforma para a Resoluo de um PSR

Como vimos anteriormente, a evoluo da resoluo de um PSR passa pela incluso de novas restries, quer devido enumerao de variveis, quer propagao. Estas restries traduzem a reduo dos domnios das variveis. A incluso de um novo conjunto de restries (reduo dos domnios) resulta num novo Estado de Pesquisa, que pode ser visto como um novo problema cujo produto cartesiano dos domnios das variveis um subconjunto do produto cartesiano dos domnios iniciais das mesmas variveis. Relembrando o exemplo da Figura 3.4, a pesquisa de uma soluo para um PSR pode ser representada por uma rvore, em que os ns resultantes de uma escolha (pontos de escolha) resultam em novos estados de pesquisa. Passar de um n para outro implica a tomada de uma deciso e consequente mudana de domnios. Em cada n da rvore de pesquisa s pode ser tomado um nmero limitado de decises que definem os ramos da rvore. Cada estado contm ainda informao sobre as restries adicionais, assim como acerca das decises que levaram a pesquisa ao ponto actual (estado de pesquisa). De cada vez que uma restrio adicionada, possvel que existam valores nos domnios variveis que se tornem inconsistentes:
87

Captulo 3

Definio 3.13 (Valor Inconsistente) - Seja X uma varivel, um valor vD(X) diz-se inconsistente se no existir nenhuma soluo para o problema que inclua a instanciao X=v. Por outras palavras, podemos dizer que um valor v do domnio de uma varivel X se torna inconsistente no estado de pesquisa E se a atribuio de v a X em E viola uma restrio de R, sendo R o conjunto de todas as restries. Se determinado valor se torna inconsistente no domnio de uma varivel, este pode ser retirado desse domnio sem que se perca nenhuma soluo do problema. Ao processo de remoo de valores inconsistentes chama-se normalmente Verificao de Consistncia. Sempre que se chega a um estado de pesquisa em que o domnio DXi se torna unitrio para todo o XiV, ento foi encontrada uma soluo do problema. Se, por outro lado, se chega a um estado de pesquisa em que o domnio de pelo menos uma varivel XV se torna vazio, ento diz-se que ocorreu um impasse: Definio 3.14 (Impasse) - Seja E um estado de pesquisa. Diz-se que se chegou a um impasse em E, se existir um varivel XiV para a qual o domnio ficou vazio D(Xi)={}. Se ocorrer um impasse, prova-se que no existe nenhuma soluo que satisfaa todas as restries iniciais conjuntamente com a ltima restrio adicional. Neste caso, o algoritmo de pesquisa dever retroceder ao estado de pesquisa anterior, recuando nas decises e tentar alternativas das mesmas (retrocesso). A pesquisa dever parar sempre que for encontrada uma soluo, ou quando todas as alternativas possveis, em cada estado de pesquisa, j tiverem sido tentadas. Em geral todos os algoritmos de pesquisa que se baseiam no mecanismo apresentado anteriormente podem ser descritos atravs da plataforma da Figura 3.6. Na plataforma da Figura 3.6, a forma como a varivel a ser instanciada e o valor a atribuir so escolhidos no aleatria. So seguidas determinadas regras, que constituem as estratgias de seleco da varivel e do valor. Estas estratgias, conjuntamente com os algoritmos de verificao de Consistncia, so determinantes para a eficincia do mtodo.

88

A PLR e sua Aplicao ao PETMUP

Declarao das Variveis e seus domnios Imposio das Restries Enquanto no resolvido e exequvel faa Verificao de Consistncia Se for detectado um impasse ento Retroceda a um estado de pesquisa anterior e tente uma instanciao alternativa Se no existir alternativa, ento o problema no tem soluo Seno Seleccione uma varivel Seleccione um valor Instancie a varivel com o valor Fim de condio Figura 3.6 Plataforma de Resoluo do PSR

3.3.4

Verificao de Consistncia

Sempre que uma varivel instanciada, os valores que consequentemente se tornarem inconsistentes so removidos dos domnios das variveis no instanciadas. Os algoritmos mais usados apresentam-se de seguida. Consistncia de N A tcnica mais simples de verificao de consistncia denomina-se Consistncia de n. Esta distingue-se porque se destina verificao de consistncia de um nico domnio. Um domnio D(X) consistente segundo uma restrio RX se todas as instanciaes (X=v1,,X=vn), qualquer que seja vD(X), forem vlidas segundo essa restrio. Esta tcnica tem uma implementao bastante simples. Basta remover todos os valores que no respeitam as restries unitrias sobre a varivel em causa. Como exemplo, dada uma varivel X com domnio D(X) = [1,..., 10] e a restrio unitria X<5, a aplicao da consistncia de n resulta em D(X)=[1,..., 5]. Um algoritmo simples que elimina os valores inconsistentes verificando sequncialmente cada uma dos domnios tem uma complexidade temporal O(dn), em que d o nmero mximo de valores dos domnios.

89

Captulo 3

Consistncia de Arco Quando temos uma restrio sobre duas variveis RXY passamos a denominar a tcnica por Consistncia de Arco (CA). A ideia subjacente a esta tcnica simples e pode ser definida da seguinte forma: se o valor vDX inconsistente com todos os valores do domnio da varivel Y, ento no existe nenhuma soluo que inclua a instanciao X=v, pelo que o valor v pode ser removido do domnio de X. Se, no entanto, para qualquer valor v do domnio de X existir pelo menos um valor vD(Y) consistente com ele, diz-se que D(X) arco consistente com D(Y) para a restrio RXY. Em termos histricos, os algoritmos de consistncia de arco foram merecedores de alguma ateno. Surgiram em 1972 (Waltz D. 1975), sendo o primeiro denominado AC-1 (ArcConsistency 1). O algoritmo AC-1, apesar de bastante rpido, no assegura a CA em todas as situaes, pelo que o mesmo foi sendo melhorado at o mais actual AC-7. Os primeiro melhoramentos foram apresentados em (Mackworth A. 1977) e (Freuder C. 1985), resultando nos denominados AC-2 e AC-3. O AC-3, mais usado que o AC-2, tem uma complexidade temporal de O(ed) e uma complexidade espacial de O(e+nd), onde e o nmero de restries binrias, n o nmero de variveis e d o tamanho do maior domnio. Finalmente, uma verso bastante utilizada foi o algoritmo AC-4 descrito em (Mohr R. 1986). O algoritmo AC-4 tem complexidade temporal e espacial de O(ed). Em (Hentenryck P. 1992) foi apresentado o algoritmo AC-5 que resulta da generalizao do AC-3 e do AC-4. O AC-5 tem complexidade temporal O(ed), conseguindo consistncia de arco para restries funcionais, anti-funcionais e montonas. Um algoritmo mais recente o AC-7 (Bressiere C. 1995). Este usa a simetria das restries binrias para melhorar o nvel de consistncia. Para alm destes algoritmos, existem algumas variantes dos mesmos com importncia significativa em termos de utilizao. Um exemplo o AC-2000 (Bessiere C. 2001) que constitui uma verso adaptativa do AC-3. A escolha do algoritmo de CA a utilizar no trivial. Apesar de se conhecerem as complexidades tericas de cada um dos algoritmos, a prtica mostra que, dependendo do tipo de problema, o desempenho pode variar. Por exemplo, embora a complexidade do algoritmo AC-4 seja menor do que a do AC-3 alguns testes demonstram que este ltimo pode ter melhores resultados (Wallace R. 1993). Outra questo prende-se com as caractersticas dos problemas, pois alguns dos algoritmos, particularmente algumas variantes dos mesmos,
90

A PLR e sua Aplicao ao PETMUP

aproveitam caractersticas especficas para melhorar o desempenho. Naturalmente se os problemas no possurem essas caractersticas no se obter nenhuma melhoria, podendo-se at incorrer no inverso. Em (Zsfia R. 2001) e (Surynek P. 2004), estes problemas so abordados segundo uma perspectiva histrica. A maioria dos sistemas de PLR existentes no mercado implementa o algoritmo AC-3 ou uma das suas variantes. Manter a consistncia de arco entre duas variveis binrias no garante a consistncia entre 3 variveis binrias. Por exemplo, na Figura 3.7 est garantida a consistncia de arco, mas o problema globalmente inconsistente. Para identificar esta inconsistncia necessrio um novo tipo de algoritmo que implemente a denominada Consistncia de Caminho.

Figura 3.7 Exemplo de uma rede de restries consistente em termos de pares de variveis, mas globalmente inconsistente

Consistncia de Caminho A Consistncia de Caminho (CC) no mais do que uma extenso da Consistncia de Arco, em que so considerados conjuntos de trs variveis sujeitas a restries no triviais entre elas. Uma restrio no trivial uma restrio que permite vrios pares de valores para as variveis envolvidas (Por exemplo: a restrio X + Y# = 3 permite os pares {1,2}, {2,1}). Em (Freuder C. 1988) esta forma de consistncia definida da seguinte forma: Suponhamos que existem restries no triviais entre os pares de variveis (X<->Y) e (Y<>Z). O caminho (X,Y,Z) consistente, se e s se, para todos os pares de valores viD(X) e vkD(Z) consistentes para a restrio RXZ, existe pelo menos um valor vjD(Y) de forma que os pares (vi,vj) e (vj,vk) sejam consistentes respectivamente para a restrio RXY e RYZ. Por outras palavras, se no existir nenhum valor para a varivel Y que seja simultaneamente consistente com os valores vi e vk, respectivamente para as variveis X e Z , ento esses valores no podem ser atribudos simultaneamente a essas variveis. Uma caracterstica da CC que implica a CA. Logo a utilizao de um algoritmo de CC dispensa a utilizao de um algoritmo de CA.

91

Captulo 3

Tal como para a CA, existe um conjunto variado de algoritmos para manter a CC. O primeiro denominado PC-1 (do termo anglo-saxnico Path Consistency) (U. Montanari 1974) e tem uma complexidade temporal O(n5d5), portanto bastante mais elevada que o seu equivalente AC-1 que tem uma complexidade O(n3d3). Em sequncia, surgiram o PC-2 (Mackworth A. 1977) e o PC-3 (Mohr R. 1986). Este ltimo, baseado nos mesmos princpios do AC-4, tem uma complexidade temporal de O(n3d5). O PC-4 (Han C. 1988) corresponde a uma evoluo do PC-3 e tem uma complexidade temporal O(n3d3). Finalmente, os mais recentes PC-5 (Singh M. 1997) e PC-8 (Chmeiss A. 1996) tm, respectivamente, uma complexidade temporal O(n3d3) e O(n2d), mas uma complexidade espacial O(n3d2) e O(n3d4). Tal como no caso dos algoritmos da CA, existe uma dificuldade em determinar qual o algoritmo a utilizar, podendo-se at decidir usar um algoritmo de CC em vez de um de CA. Esta questo discutido em (Debruyne R. 1997). Consistncia_k Tanto a CA como a CC so casos particulares de uma forma mais geral de consistncia denominada Consistncia._k. Em (Freuder C. 1988) esta forma de consistncia definida da seguinte forma: considere-se um conjunto de k-1 variveis assim como os valores que satisfazem todas as restries sobre estas. Ser que existe um valor para a varivel k, tal que k valores tomados em simultneo satisfazem todas as restries sobre as k variveis? Em (Cooper M. 1989) apresentado um algoritmo para esta forma de consistncia. Note-se que consistncia_2 entre DX e DY para uma restrio RXY equivalente consistncia de arco de DX com DY e DY com DX para RXY. O mesmo se poderia dizer para a consistncia_3 relativamente consistncia de caminho. Embora, partida, parea sempre interessante a aplicao de uma tcnica de consistncia k, na prtica isto no verdade. A verificao de consistncia um processo dispendioso em termos de tempo de processamento e memria, tanto mais dispendioso quanto maior o valor de k. Portanto, medida que o valor de k vai subindo, a relao custo/benefcio vai descendo. A maioria dos sistemas de programao por restries limita-se verificao da Consistncia de Arco e de Caminho.

92

A PLR e sua Aplicao ao PETMUP

Consistncia de Limites No caso de um problema sobre Domnios Finitos as variveis tm domnios compostos por nmeros inteiros e as restries mais usadas so do tipo aritmtico. Neste caso, possvel usar um tipo especfico de verificao de consistncia denominada Consistncia de Limites (CL). A ideia base da CL consiste em reduzir a verificao de consistncia apenas aos limites dos domnios das variveis (limite inferior e superior), ao invs de executar a verificao para cada um dos valores dos domnios. Consideremos, por exemplo, a restrio X#=Y, em que o domnio de D(X)={1,2,4,6,9} e de D(Y)={4,5,7,9,13,15}. A aplicao de um algoritmo de CA resulta numa reduo dos domnios de tal forma que D(X)=D(Y)={4,9}. Por sua vez a aplicao de um algoritmo de CL resulta em D(X)={4,6,9}e D(Y)={4,5,7,9}. Apesar do nvel de consistncia alcanado pela CA ser maior, uma vez que resulta numa maior reduo dos domnios, a CL muito mais fcil e menos custosa de manter. Para alm do uso individual de cada um dos algoritmos pode ainda optar-se por uma soluo hbrida em que se usa CL enquanto os domnios se mantiverem convexos (sem falhas), usando-se depois CA. A CL especialmente interessante quando se lida com domnios muito grandes e restries com uma aridade elevada. Consideremos, por exemplo, a restrio X+Y=Z, em que as variveis tm um domnio inicial {1,,1000}. Um algoritmo de CA necessitaria de verificar 10003 trios de valores (vx, vy, vz). Por outro lado, a verificao da consistncia de limites seria muito mais fcil de alcanar, bastando reduzir os domnios segundo as expresses da Figura 3.8.

max D(Z) =< max D(X) + max D(Y) min D(z) >= min D(X) + min D(Y) max D(X) =< max D(Z) -max D(Y) min D(X) >= min D(Z) -min D(Y) max D(Y) =< max D(Z) -max D(X) min D(Y) >= min D(Z) -min D(X)

Figura 3.8 Exemplo de Consistncia de Limites

3.3.5

Restries Globais

Os algoritmos de consistncia apresentados anteriormente tm um carcter generalista. Neste sentido no aproveitam nenhuma da informao associada restrio para a qual se
93

Captulo 3

destinam. Por esta razo, as restries cuja consistncia assegurada unicamente pelos algoritmos anteriores dizem-se baseadas em mtodos Sintcticos, e denominam-se normalmente Restries Elementares, ou Restries Primitivas. As limitaes das restries elementares so vrias. Algumas das mais importantes so:

Normalmente existe um distanciamento entre as restries do problema original e as restries elementares disponveis para o desenvolvimento do modelo;

Algumas restries reais exprimem um tipo de condio global que dificilmente pode ser representada pelas restries elementares;

Os algoritmos associados a restries elementares no tomam em considerao a interaco entre restries. Isto quer dizer que, em termos de deduo e tempo de execuo, os algoritmos so muito ineficientes quando comparados com algoritmos especficos que usam estruturas de dados apropriadas.

No sentido de ultrapassar estas limitaes, surgiram no mbito da PLR as denominadas Restries Globais (Beldiceanu N. 1994; Rgin J. 1994; Regin J. 1996; Regin J. 2002). A incluso deste tipo de restries constitui um dos principais factores de sucesso da PLR. Basicamente as restries globais especificam padres que ocorrem em tipos de problemas e exploram eficientemente estes padres atravs de algoritmos de consistncia especficos para a restrio em causa. Noutra perspectiva, as restries globais exploram aspectos semnticos das restries ao invs de se limitarem aos seus aspectos sintcticos. Um exemplo bastante til para a compreenso das restries globais pode ser o representado na Figura 3.7. Como vimos para o referido exemplo, nem o algoritmo de consistncia de n nem de CA so capazes de deduzir a inconsistncia do problema. Dado o nmero de variveis e nmero de valores de domnio envolvidos apenas a o algoritmo CC foi capaz de determinar essa inconsistncia. No entanto, se o nmero de variveis fosse incrementado ento a CC seria igualmente ineficiente. Na realidade, pode-se provar facilmente que para um problema com k variveis e k valores no domnio de cada varivel, necessrio um algoritmo de Consistncia_k para determinar a inconsistncia do problema. Como se sabe, manter a consistncia_k de um problema bastante penoso em termos de tempo de execuo. No entanto, um algoritmo de consistncia com uma perspectiva global da restrio poderia

94

A PLR e sua Aplicao ao PETMUP

facilmente deduzir a inconsistncia do problema. Tal algoritmo foi apresentado pela primeira vez em (Rgin J. 1994). Este algoritmo baseia-se na teoria de grafos e deu origem denominada restrio all_different. Tal como apresentado em (Rgin J. 1994), cada restrio all_different associada a um grafo bi-partido em que os ns correspondem a variveis e os arcos a valores dos domnios das variveis. Com base no grafo e no conceito de emparelhamento de grafos, possvel determinar em tempo dado por uma expresso polinomial os valores inconsistentes dos domnios das variveis. Note-se que o uso de restries globais aumenta a declaratividade dos programas em PLR, pois estas restries esto ainda mais prximas da linguagem natural. Consideremos, por exemplo, um problema de escalonamento em que a execuo de um conjunto de tarefas no se pode sobrepor no tempo, e que o perodo de execuo de cada tarefa representado pela varivel Pt . Esta restrio do problema poderia se representada por um conjunto de restries de desigualdade entre pares de variveis.

P1P2, P1P3, , P1Pn P2P3, , P2Pn

Pn-1Pn

Figura 3.9 Representao da desigualdade entre variveis

Alternativamente, todas as restries da Figura 3.9 poderiam ser substitudas pela restrio all_different(P1,,Pn). O programa resultante, para alm de mais eficiente, teria com certeza uma leitura muito mais simples. O nmero de restries globais tem vindo a crescer desde o aparecimento da PLR. Algumas destas restries so bastante comuns, particularmente em problemas de escalonamento como o tratado nesta tese. Restries como a element, apresentada na seco 3.2.2, ou as restries disjunctif, cumulative, cycle, etc. (ver (Harvey W. 2002)) so exemplos de sucesso. Actualmente, para alm do desenvolvimento de novas restries, o melhoramento dos algoritmos de consistncia associados constituem um campo de pesquisa activo no seio da PLR.

95

Captulo 3

3.3.6

Seleco de Variveis e de Valores

Como referimos anteriormente, a seleco da varivel a instanciar em cada estado de pesquisa, assim como a seleco do valor com o qual essa varivel instanciada, so dois processos que partida parecem bastante simples, mas que so decisivos para a eficincia da aplicao. Cada um destes processos executado segundo uma dada estratgia, mais ou menos complexa, que tem por objectivo fazer convergir a pesquisa para a soluo.
X 4 Y 2 6 1 5 5 2 3 Y X+Y 1 4 4 3 4 5 5 X 3 1 Y 2 Y 4 6

Figura 3.10 rvore de Pesquisa para duas estratgias de seleco distintas

Na Figura 3.10 encontram-se representadas duas rvores de pesquisa para um problema com duas variveis (X, Y) com um domnio D(X)={3,4} e D(Y)={1,2}. A rvore da esquerda obtida com uma estratgia de seleco de variveis que selecciona primeiro a varivel com o maior valor de domino, que depois instanciada com esse mesmo valor. Contrariamente, na rvore da direita usada uma estratgia de seleco de variveis que selecciona a varivel com o menor valor de domnio e depois instncia a varivel com esse valor. Como se pode ver, no caso de uma pesquisa em profundidade, a ordem pela qual as solues so obtidas inverte-se de um caso para o outro. Se num problema de dimenses reduzidas este facto pode ser insignificante, em problemas de maior dimenso j no o . Particularmente em problemas de optimizao o objectivo determinar a melhor soluo. Neste caso uma m estratgia de seleco pode comprometer a utilidade da aplicao. No exemplo da Figura 3.10, se considerarmos uma funo de custo do tipo Z=X+Y, ento, as estratgias relativas rvore da esquerda seriam as indicadas para um problema de maximizao e as estratgias relativas rvore da direita para um problema de minimizao. Uma estratgia pode ser Esttica, no caso em que a ordem de seleco especificada antes do incio do processo de instanciao, ou Dinmica, no caso em que a seleco depende, em cada instante, do estado do sistema. Nem todos os algoritmos de pesquisa permitem uma estratgia de seleco dinmica. Por exemplo, no algoritmo de pesquisa em profundidade com
96

A PLR e sua Aplicao ao PETMUP

retrocesso no existe informao adicional durante o processo de instanciao que permita uma seleco dinmica. No entanto, a maioria dos sistemas de programao por restries dispe de mecanismos de pesquisa mais elaborados. Na seco 3.4 sero descritos alguns desses mecanismos. Embora as estratgias de seleco de variveis e de valores estejam relacionadas, estas assumem papis diferentes no processo de instanciao. Nas duas seces seguintes ser feita uma abordagem geral a cada uma destas estratgias. Variveis Uma estratgia de seleco de variveis bastante comum baseada no chamado princpio de Falhar Primeiro. Em (Elliot G. 1980), este princpio foi definido com base na ideia de que "para ter sucesso, primeiro tenta onde mais provvel falhar". O pressuposto que, se o estado de pesquisa actual no levar a uma soluo (pois pode ocorrer um impasse), ento quanto mais depressa o descobrirmos melhor. Portanto, encorajar uma falha o quanto antes, principalmente se esta for inevitvel, poder ser benfico no cmputo geral do processo de resoluo. No sistema ECLIPSE (Wallace M. 1997), usado nesta tese, este princpio pode ser implementado atravs da escolha da varivel com o menor nmero de valores no seu domnio. Estamos a pressupor que, quanto mais pequeno for um domnio, maior a dificuldade em encontrar um valor que conduza ao sucesso. Se a implementao for feita da forma apresentada em cima, as vantagens desta estratgia vem-se reforadas. Isto porque, medida que o processo de instanciao vai decorrendo, o domnio das variveis no instanciadas vai sendo reduzido. Pelo que, se era difcil instanciar variveis com domnios pequenos, mais difcil se torna medida que o processo vai evoluindo. Podemos, assim, enunciar o princpio "Falhar Primeiro" como "Primeiro Resolver os Casos Mais Difceis. A escolha da estratgia de seleco e a forma como esta se implementa depende das caractersticas do problema e consequentemente da estrutura da rvore de pesquisa. Por exemplo, em determinados problemas o tamanho inicial dos domnios semelhante, para alm de poder ser bastante elevado. Para este tipo de problemas no podemos utilizar a forma anterior para implementar o princpio Falhar Primeiro. Uma alternativa para o conseguir consiste em seleccionar a varivel que entra no maior nmero de restries. Esta ser partida a mais difcil de instanciar, pois a varivel mais restringida.
97

Captulo 3

Seleccionar a varivel menos restringida tambm pode produzir bons resultados. Esta estratgia baseia-se na ideia de que se seleccionar a varivel menos restringida, mais valores ficam livres para as restantes variveis no instanciadas. partida, o valor menos restringido aquele que se espera fazer parte do maior nmero de solues. Outro exemplo de estratgia pode ser encontrado em (Wallace M. 1993), em que sugerida a medida da disputa de cada varivel. Esta medida traduz a intensidade com que um determinado nmero de restries disputa uma varivel. Duas variveis sujeitas a um conjunto de restries comuns devem ser instanciadas de forma a minorar a disputa, ou conflito, entre essas restries. Actualmente, existe um elevado nmero de estratgias de seleco, umas gerais, outras mais especficas. Em estratgias mais especficas a seleco feita com base em heursticas, caractersticas do domnio em que se insere a aplicao. Apesar dos esforos de investigao feitos at hoje, no foi possvel estabelecer uma relao consistente entre classe de problemas e estratgias a utilizar. Parece que as melhores estratgias s o so para um determinado problema, obrigando assim descoberta de heursticas especficas para cada aplicao. Neste captulo apresentaremos os resultados de alguns teste sobre o PETMUP no sentido de avaliar quais as estratgias mais indicadas. Valores Seleccionada uma varivel, necessrio seleccionar um valor do seu domnio. A estrutura dos ramos, que emanam de cada n da rvore de pesquisa, depende da estratgia escolhida. Encontrar uma soluo para um problema tanto mais rpido, quanto mais cedo se optar pelos ramos (valores) que conduzem a essa soluo. Por outro lado, a escolha de certos valores no estado de pesquisa n pode ser determinante na ocorrncia de um impasse no estado n+1, ou ainda pior, se ocorrer num estado j muito avanando. De uma forma geral, quando determinada escolha de valores conduziu a uma soluo, na procura da soluo seguinte desejvel escolher valores com igual probabilidade de sucesso (se isto for possvel). Alguns trabalhos baseam-se neste princpio (Yun D. 1989; Geelen P. 1992). Em ambos os casos, a escolha do valor para a varivel corrente feita com base no estado resultante das restantes variveis. Em (Yun D. 1989) sugere-se usar, como medida do custo de determinada escolha, o clculo da percentagem dos valores nos domnios futuros que se tornaro inconsistentes. Naturalmente, a melhor escolha ser o valor com menor custo. Por
98

A PLR e sua Aplicao ao PETMUP

outro lado, em (Geelen P. 1992) sugere-se como lucro dessa escolha o clculo do produto dos tamanhos dos domnios das restantes varveis aps a escolha. A escolha com maior lucro ser ento a correcta. Todas as heursticas acarretam algum custo extra. Por vezes, o custo do uso de tais heursticas superior ao lucro desse mesmo uso. S o estudo de cada problema pode conduzir ao desenvolvimento da estratgia adequada.

3.4

Mtodos de Pesquisa em PLR

Como foi referido anteriormente, a propagao de restries no suficiente para a resoluo de um PSR, pelo que necessrio complementar essa propagao com estratgias de enumerao e deciso segundo uma plataforma que define um mtodo de pesquisa inserido no contexto da plataforma de resoluo apresentada na seco 3.3.3. Na seco 3.3 foram apresentados os dois mtodos de pesquisa mais simples nomeadamente, Gerar e Testar e Retrocesso Cronolgico (Chronological Backtracking ) (Nadel B. 1989). Na mesma seco tambm foi referido que nenhum destes mtodos permite uma explorao eficiente de um problema real, pelo que ao longo dos ltimos anos foram desenvolvidos vrios mtodos de pesquisa com diferentes nveis de complexidade e eficincia.

3.4.1

Variantes da Pesquisa com Retrocesso

A Pesquisa com Retrocesso convencional apresenta trs grandes desvantagens. A primeira que um mtodo de pesquisa no inteligente, ou seja, no usa qualquer informao para optimizar o processo de retrocesso. Por exemplo, retrocede cronologicamente (na ordem inversa de enumerao) sem tentar identificar a instanciao que levou ao conflito. Deste modo, a pesquisa pode falhar repetidamente em diferentes reas de pesquisa exactamente pela mesma razo. Uma forma de minimizar este problema consiste em utilizar formas de retrocesso inteligente (Intelligent Backtracking) (Dechter R. 1998), nas quais de alguma forma se tenta retroceder directamente para a deciso (instanciao) que levou falha na pesquisa. Como exemplos de procedimentos de retrocesso inteligente, podemos referir o Backjumping (Nadel B. 1989), o BackCheking e o BackMarking (Elliot G. 1980). Outra desvantagem do Retrocesso Cronolgico consiste na necessidade de realizar uma quantidade elevada de trabalho redundante. Na realidade, mesmo nos casos em que as
99

Captulo 3

variveis que levam ao conflito so identificadas, as causas do conflito no so guardadas, pelo que este pode ocorrer novamente numa fase posterior da pesquisa. Um mtodo que implementa um tipo de memria para guardar as causas de conflito denomina-se Retrocesso Dirigido pelas Dependncias (Dependency Directed Backtracking) (Sussman G. 1977). Finalmente, a terceira desvantagem, e talvez a mais importante, que o algoritmo no capaz de detectar um conflito at este ocorrer, ou seja, at todas as variveis includas na restrio inconsistente estarem instanciadas. Esta desvantagem pode ser eliminada com a introduo de tcnicas de consistncia num algoritmo de retrocesso que poder ser cronolgico ou no. Dependendo dos algoritmos de consistncia usados, e consequentemente, do nvel de consistncia alcanado podemos ter diferentes tipos de algoritmos. Os dois algoritmos mais usados so o de Verificao-Antecipada (ForwardCchecking), e o de Previso (Looking-ahead).

3.4.2

Verificao-Antecipada

A ideia de Verificao-Antecipada (Elliot G. 1980) representada pela Regra de Inferncia de Verificao-Antecipada (RIVA). Informalmente, podemos dizer que uma restrio R pode ser usada com verificao-antecipada, desde que todas as variveis, excepto uma (X), estejam instanciadas. Neste caso, R diz-se antecipadamente-verificvel. A restrio R pode ser representada por um predicado unrio P(X) e o conjunto dos valores com que X pode ser instanciado fica reduzido a todos os que o satisfazem. Por exemplo, consideremos a restrio R(X,Y,Z) tal que X#Y+Z, em que D(X)=4, D(Z)=1 e D(Y)={1,2,3}. Ento Y3, o que permite reduzir o domnio de Y para {1,2}. Sempre que o domnio de uma varivel se torna unitrio, essa varivel automaticamente instanciada, o que poder tornar outras variveis antecipadamenteverificveis. Como vimos anteriormente, o mtodo de retrocesso cronolgico s verifica as restries entre a varivel corrente e as variveis passadas (aquelas que j foram instanciadas). Ao invs, a Verificao Antecipada verifica as restries entre a varivel actual, as passadas e as futuras (as que esto por instanciar). Ou seja, sempre que uma varivel instanciada, todas as restries sobre essa varivel so verificadas, removendo-se (temporariamente) todos os valores inconsistentes das restantes variveis. Se o domnio de uma dessas variveis ficar vazio sabe-se imediatamente que a soluo parcial encontrada inconsistente. O processo deve ento recuar para a ltima deciso restabelecendo todos os domnios temporariamente alterados e

100

A PLR e sua Aplicao ao PETMUP

eliminando o valor actual da varivel considerada. De seguida, outro valor deve ser tentado. Com o mtodo de procura em profundidade com retrocesso esta inconsistncia s seria detectada quando a varivel futura, cujo domnio ficou vazio, fosse instanciada, o que poderia acontecer num estado de pesquisa muito mais avanado. O mtodo de pesquisa de verificao antecipada usado pela maioria dos sistemas de PLR, principalmente porque um mtodo com uma implementao simples e boa relao entre a reduo do espao de pesquisa e os custos de computao associados. Este mtodo, como qualquer outro, tambm tem algumas desvantagens, que resultam da pr-condio de aplicabilidade, ou seja, uma restrio s pode ser resolvida pela RIVA se todas as variveis da restrio, excepto uma, estiverem instanciadas com um valor. Esta pr-condio traz os seguintes problemas:

Restries com um grande nmero de variveis dificilmente podero ser resolvidas, pelo menos at um determinado estado de pesquisa;

Quando se inicia a computao nenhuma varivel pode ser antecipadamente verificada, ou seja, estamos na presena de procura em profundidade com retrocesso;

Algum tipo de restries, tais como (#=, #>, #<) no podem ser resolvidas eficientemente por este mtodo. Este tipo de restries tem associado uma grande quantidade de informao, que um mtodo como este no tem em conta. Por exemplo, se X#>Y, ento todos os valores de X menores ou iguais ao menor valor de Y podem ser retirados (logo partida) do domnio de X. No necessrio esperar pela instanciao de uma das variveis.

As desvantagens apresentadas anteriormente podem ser reduzidas, ou mesmo eliminadas, com o uso de outras tcnicas em simultneo. Esta ideia usada no mtodo de Previso.

3.4.3

Previso

O mtodo de Previso (Hentenryck P. 1989) uma variante da tcnica de consistncia de arco apresentada na seco 3.3.4. Permite uma reduo significativa do espao de pesquisa, mesmo quando as restries no so antecipadamente verificveis. A ideia consiste em verificar antecipadamente as restries, enquanto se mantm a consistncia de arco entre as suas variveis. Uma restrio R diz-se de verificao previsvel se, pelo menos, uma das suas variveis uma varivel de domnio, podendo as restantes variveis estar instanciadas. Note-se
101

Captulo 3

que esta pr-condio de aplicao menos exigente do que a pr-condio do mtodo de Verificao-Antecipada. Informalmente, este mtodo pode ser definido da seguinte forma: para cada varivel Xi, de uma restrio R, deve ser verificado se existe pelo menos um valor do seu domnio que satisfaa R. Consideremos, por exemplo, a restrio R(X,Y,Z) tal que X#>Y+Z, em que X, Y, Z tm como domnio o conjunto {1,2,3,4}. Usando o mtodo de previso, podemos reduzir o domnio de X para {3,4} e de Y, Z para {1,2}. Se tivssemos usado o mtodo de verificaoantecipada no teria sido feita nenhuma reduo, pois a pr-condio de aplicao no respeitada. A aplicao deste mtodo permite uma reduo significativa do espao de pesquisa, mas implica um esforo computacional por vezes bastante elevado. Alguns trabalhos (Henk V. 1994; Bressiere C. 1995) demonstraram que, para alguns problemas, o esforo mesmo proibitivo. Esta consequncia levanta uma questo: "Qual a quantidade de propagao correcta?" Reduzir a quantidade de propagao implica um aumento de retrocessos no processo de pesquisa, o que reduz a eficincia da mesma. Aumentar a quantidade de propagao reduz o nmero de retrocessos, mas pode piorar a eficincia da pesquisa pois o custo dessa propagao pode ser elevado. Em termos prticos, a aplicao do mtodo de Previso a algumas classes de problemas mostrou ser bastante proveitosa, no entanto a aplicao a outras classes mostrou o inverso (Meyer M. 1994). Deste modo, foram desenvolvidos alguns mtodos alternativos que implicam nveis mais baixos de propagao. Um exemplo desses mtodos o de Previso-Fraca (Schreye D. 1990).

3.4.4

Mtodos que Limitam a Explorao da rvore de Pesquisa

Os mtodos apresentados nas seces anteriores tentam, de uma forma inteligente, evitar a explorao de ramos da rvore de pesquisa invlidos aquando do processo de retrocesso. Estes mtodos exigem a identificao das decises que levam ao conflito, e que portanto originaram a falha da pesquisa. Em muitas situaes no possvel preencher este requerimento pelo que o uso de tais mtodos no possvel. Por outro lado, tal como referido anteriormente, mesmo que se elimine uma boa parte dos ramos invlidos da rvore de pesquisa atravs do uso de tcnicas de consistncia, a explorao completa dessa rvore para problemas de dimenso real no prtica. De forma a colmatar estas falhas, foram desenvolvidos mtodos que tentam limitar a explorao da rvore de pesquisa apenas s partes
102

A PLR e sua Aplicao ao PETMUP

mais promissoras. Estes mtodos baseiam-se na ideia de que, em princpio, a melhor soluo no est longe do caminho indicado por uma boa heurstica, pelo que a pesquisa pode ser limitada a uma rea prxima da indicada pela heurstica. Alguns exemplos deste tipo de mtodos so o Credit Search (Beldiceanu N. 1997), o Bounded Backtrack Search (William D. 1995a), e o Limited Discrepancy Search (William D. 1995b), sendo este ltimo, o de maior sucesso. Limited Discrepancy Search Para alguns problemas de pesquisa combinatorial com interesse prtico, existe uma ou mais heursticas, de seleco de variveis e valores que permitem guiar a pesquisa para reas que contm as melhores solues. Se estas heursticas falharem no seu objectivo possvel que seja apenas por terem cometido alguns (desejavelmente poucos) erros. Se estes erros sucederem nas primeiras decises (ns da rvore de pesquisa) ento o algoritmo de retrocesso cronolgico, ou mesmo uma das suas variantes, necessita de muito tempo at que o erro seja desfeito. Se o nmero de erros cometidos durante a pesquisa for pequeno, ento estes podem ser descobertos explorando sistematicamente todos os caminhos que diferem do caminho dado pela heurstica, apenas de um nmero pequeno de decises, ou discrepncias (discrepancy). Basicamente, o LDS um mtodo baseado num algoritmo de retrocesso que explora os ns da rvore de pesquisa por ordem crescente das discrepncias. A Figura 3.11 representa a sequncia de explorao de uma rvore de pesquisa correspondente a um problema com 3 variveis e 2 valores em cada domnio. Na primeira iterao do algoritmo o nmero de discrepncias permitidas 0. Neste caso a soluo identificado com 1 corresponde obtida usando as heursticas de seleco de valores e variveis. Na segunda iterao o nmero de discrepncias permitidas 1. Sendo assim, so tentados os valores que distam no mximo de uma discrepncia do valor correspondente soluo inicial. Como se pode ver na Figura 3.11, na segunda iterao obtm-se sequncialmente as solues identificadas com 2, 3, e 4. A pesquisa pode continuar at que toda a rvore seja explorada, ou que o limite de discrepncias seja alcanado. Teoricamente o LDS um mtodo completo, pois se o nmero de discrepncias permitidas por suficientemente elevado ento toda a rvore de pesquisa ser percorrida. Naturalmente, o interesse do mtodo limitar a rea de explorao da rvore de pesquisa e consequentemente
103

Captulo 3

reduzir o tempo de computao. A utilidade do mtodo depende da qualidade das heursticas usadas. Este mtodo ser testado na seco 3.6.

Figura 3.11 Exemplo de explorao de uma rvore binria usando LDS

3.4.5

Optimizao em PLR

Nas seces anteriores, os problemas no mbito da PLR foram apresentados como Problemas de Satisfao de Restries, para os quais o objectivo principal consiste em encontrar uma soluo que satisfaa todas as restries. Apesar da indiscutvel utilidade deste objectivo, a maioria dos problemas reais tem mais do que uma soluo, sendo normalmente desejvel determinar a melhor soluo de acordo com um determinado critrio de optimizao. Neste caso, estamos perante um Problema de Optimizao de Satisfao de Restries, ou doutra forma mais usual perante um Problema de Optimizao Combinatorial (POC). Este problema pode ser definido como se segue. Definio 3.15 (Problema de Optimizao Combinatorial) Uma instncia de um Problema de Optimizao Combinatorial consiste num par (S , f ) , onde S corresponde a um conjunto finito de Solues, e f corresponde funo de optimizao que atribui a cada soluo um custo. O objectivo do problema consiste em encontrar a soluo s S para a qual f (s ) mnimo no caso de um problema de minimizao, ou mximo no caso de um problema de maximizao.
f ( s ) f ( s ')
s ' S
(3.2)

104

A PLR e sua Aplicao ao PETMUP

Note-se que uma vez definida a funo de optimizao f um PSR pode facilmente ser transformado num POC com a introduo de uma varivel que representa o custo da soluo (dado pela funo de optimizao). Posteriormente, sempre que uma soluo (a melhor at ao momento) encontrada, adicionada uma nova restrio ao problema que estabelece um limite sobre a varivel de custo. Deste modo garante-se que a prxima soluo ter sempre um custo melhor e que uma vez percorrida toda a rvore de pesquisa, a melhor soluo ser a ptima. Esta forma simples de pesquisar a soluo ptima no , no entanto, eficiente. Dado a resoluo de um PSR ser feita normalmente de forma incremental (a soluo vai sendo construda com a instanciao sequncial das vrias variveis), esta adequada ao uso de algoritmos de Ramificao & Limitao (Branch and Bound) (BB) (Lawler E. 1966). Actualmente, a maioria dos sistemas de PLR disponibiliza uma variante do algoritmo de BB para a optimizao de problemas. Uma variante deste algoritmo ser apresentada com pormenor na seco 3.6. Apesar do sucesso do BB na resoluo de problemas de optimizao de pequena ou mdia dimenso, o mesmo revelou-se ineficiente na resoluo de problemas de maior dimenso, particularmente aqueles que tm um baixo nvel de estreitamento. De modo a ultrapassar esta limitao da PLR, nos ltimos anos tem-se desenvolvido alguns mtodos hbridos, em que a PLR combinada com tcnicas de outras reas no sentido de colmatar as suas limitaes. Nesta tese sero apresentados alguns exemplos de integrao baseados nomeadamente na integrao de tcnicas associadas Programao Linear (Captulo 4), Meta-Heursticas (Captulo 5) e Pesquisa Local (Captulo 6).

3.5

Aplicaes da PLR

A maior prova de sucesso da PLR o elevado nmero de aplicaes assim como a diversidade de reas de aplicao para as quais adequada. Especificamente a grande diversidade de reas de aplicao, provavelmente sem par no mbito da resoluo de problemas combinatoriais, demonstra a grande flexibilidade da PLR no desenvolvimento de modelos de problemas e representao de restries laterais. Tal sucesso teve como consequncia o aparecimento de muitos sistemas de PLR comerciais de sucesso tais como os seguintes: CHIP (Dincbas M. 1988), ECLIPSE (Wallace M. 1997), CIAO (Hermenegildo M.
105

Captulo 3

1994), PROLOG III (Colmerauer A. 1990), clp(fd) (Codognet P. 1996), ou ainda de bibliotecas de manipulao de restries para linguagens procedimentais como o ILOG (Leconte M. 1996) e o CHIP C da COSYTEC (Simonis H. 1995). A descrio da maioria das aplicaes de sucesso pode ser encontrada num grande nmero de referncias que resultam das principais conferncias na rea como a Principles and Practice of Constraint Programming ou a Practical Applications of Constraint Technology, ou ainda a revista CONSTRAINTS publicada pela Kluwer Academic Publishers. Naturalmente tambm podem ser encontradas referncias noutras conferncias e revistas relacionadas com a Investigao Operacional, Inteligncia Artificial, etc. Nos pontos seguintes sero apresentadas as principais reas de aplicao da PLR, cuja classificao foi retirada de dois artigos muito interessantes que reportam um levantamento das diversas aplicaes da PLR (Wallace M. 1996; Rossi F. 2000). Problemas de Afectao Este foi um dos primeiros problemas a ser resolvido pela PLR. Normalmente, estes problemas lidam com a afectao de um tipo de recurso a outro de forma a respeitar um conjunto de restries. Um exemplo a afectao de lugares de estacionamento em aeroportos a avies. Um dos primeiros trabalhos ns rea da afectao foi o desenvolvimento de uma aplicao para a afectao de carga a contentores no porto de Hong-Kong (Perret M. 1991). Tambm para Hong-Kong, mas para o Aeroporto, em (Chun A. 1999) apresentada uma aplicao para a afectao de stands na rea comercial do aeroporto. Este ltimo problema tambm resolvido em (Dincbas M. 1991), mas para o Aeroporto de Roissy em Paris. Gesto de Redes de Comunicaes A Gesto de Redes de Comunicaes outra das reas de aplicao da PLR frutfera em diferentes tipos de problemas. Uma das aplicaes mais conhecidas foi um sistema denominado LOCARIM, desenvolvido pela Cosytec para a France Telecom. Este sistema permite definir a estrutura da cablagem de comunicaes de um edifcio, e optimizar os respectivos custos, a partir da sua planta (COSYTEC 2000). Outra aplicao, de sucesso foi desenvolvida no mbito do projecto Esprit CLOCWise (Brdys M. 1999). Esta aplicao desenvolvida sobre o sistema CHIP, permite fazer a gesto e controlo operacional de uma

106

A PLR e sua Aplicao ao PETMUP

rede de guas. Na rea do planeamento, foi desenvolvido um sistema denominado POPULAR (Fruhwirth T. 1997), que permite planear uma rede digital de comunicaes mveis. Problemas de Escalonamento A rea de Escalonamento uma das reas de aplicao da PLR de maior sucesso e a rea em que se insere esta tese. Na literatura possvel encontrar inmeras publicaes acerca do assunto. Uma das primeiras aplicaes de sucesso o sistema PLANE (Bellone J. 1992), que usado pela Dassault Aviation para planear a produo dos jactos Mirage e Falcon, nomeadamente reduzindo a mudana de produo que acarreta custos elevados. Outros exemplos so o sistema ATLAS (Simonis H. 1995) que permite escalonar a produo de herbicidas, e a aplicao MOSES, desenvolvida pela COSYTEC, que permite escalonar a produo de diferentes tipos de comida para animais de forma a reduzir o risco de contaminao, respeitar a procura e reduzir custos. Um exemplo mais recente apresentado em (Bourdais S. 2003), e corresponde a uma aplicao para escalonamento do pessoal de enfermagem numa unidade hospitalar. Alguns exemplos de aplicaes na rea de Escalonamento de tarefas de manuteno nos sistemas elctricos de energia foram apresentados no Captulo 2 desta tese. Sendo a rea do escalonamento to vasta existem ainda alguma sub-reas com relevncia suficiente para merecerem uma ateno diferenciada. Um exemplo dessas sub-reas a do Escalonamento Preemptivo, que se caracteriza pela possibilidade de interrupo das actividades. Nesta sub-rea possvel encontrar muitos trabalhos que incluem um sistema de PLR para resolver problemas deste tipo de escalonamento(Pape C. 1997; Pape C. 1998). Independentemente da sua classe, normalmente os problemas de escalonamento reais envolvem um elevado nmero de variveis e restries e requerem a pesquisa da soluo ptima. Por outro lado, a estrutura deste tipo de problemas , na maioria dos casos, adequada sub-diviso dos mesmos (por exemplo, atribuir conjuntos de tarefas a mquinas e depois sequnciar a execuo dessas tarefas em cada uma das mquinas). Neste sentido, os problemas de escalonamento foram os principais impulsionadores do desenvolvimento de mtodos hbridos, que combinam a PLR com tcnicas de outras reas. Um exemplo de projecto nesta rea o sistema COBRA (Simonis H. 1998), que se destina a gerar planos de trabalho para condutores de comboios das linhas do Oeste de Inglaterra. Em cada semana necessrio escalonar 25000 actividades sobre aproximadamente 3000 diagramas. Outro exemplo o

107

Captulo 3

sistema SAS-Pilot (projecto Esprit 8402) (Baues G. 1994) que permite o escalonamento de tripulaes em avies e tal como em (Caprara A. 1997) combina PLR com tcnicas da Investigao Operacional. Este tipo de integrao ser abordado no Captulo 4. Pode encontrar-se em (Bartk R. 2003) uma boa descrio das potencialidades da PLR para os problemas de escalonamento. Controlo de Sistemas Electromecnicos Recentemente a PLR tem sido explorada no desenvolvimento de aplicaes para controlo de Sistemas de Accionamento Electromecnico. Este controlo pode ser feito a vrios nveis, desde controlo da velocidade de cada uma das mquinas at ao controlo e coordenao dos vrios sistemas. Basicamente, a aplicao deve considerar um conjunto de entradas e estados intermdios e determinar novos estados, que podem ser vistos como sadas. Um exemplo o sistema SVE (System Verification Environment) (Filkhorn T. 1995) usado pela Siemens para o controlo de elevadores em edifcios. Folhas de Clculo baseadas em Restries Actualmente, o uso de folhas de clculo est largamente disseminado como ferramenta de apoio deciso. No entanto, os clculos executados em cada clula so unidireccionais, sendo necessrio explicitar cada uma das variveis, para as quais possvel e se deseja determinar um valor. Outra condio para a execuo do clculo que todas as variveis estejam instanciadas. Estas limitaes podem ser ultrapassadas com o uso de tcnicas da PLR. Uma das aplicaes de maior impacto no mbito da PLR uma aplicao para executar planeamento a curto prazo denominada STP (Short Term Planning) (T. Chew 1992). Esta aplicao baseada numa folha de clculo que inclui tcnicas da PLR no sentido de manipular domnios em vez de valores e propagar restries sobre esses domnios. A aplicao usada pela Renault desde 1995 para planear a produo nas diversas fbricas do grupo. Outra aplicao promissora da PLR no mbito das folhas de clculo na rea do planeamento financeiro, onde a existncia de restries no lineares impede o uso da programao matemtica. Nestes casos, o uso da PLR no domnio dos intervalos permite determinar os limites das funes e executar operaes sobre esses mesmos limites, a partir dos quais se determinam os valores para as variveis. Um exemplo nesta rea uma aplicao

108

A PLR e sua Aplicao ao PETMUP

usada pelos servios administrativos de Moscovo para a elaborao e acompanhamento dos planos oramentais (Shvetsov I. 1997). Aplicaes de Apoio Deciso Interactivas Como referido anteriormente, uma das principais vantagens da PLR a sua flexibilidade. Uma das razes desta vantagem est no poder da propagao de restries e na forma incremental como evolui a pesquisa (a soluo vai sendo construda pela sucessiva instanciao de variveis). Estas caractersticas so precisamente as adequadas para o desenvolvimento de ferramentas de apoio deciso em que importante a existncia de interactividade. Em termos prticos, com a PLR o utilizador pode participar activamente no processo de pesquisa de diversas formas. Pode, por exemplo, seleccionar as variveis e os respectivos valores deixando depois o programa propagar as consequncias (restries) das suas decises. Alternativamente, o sistema pode sugerir as decises e informar acerca da consequncia dessas decises deixando depois o utilizador decidir aceitar, ou no, as decises sugeridas. Exemplos de interactividade surgem em quase todo o tipo de aplicaes. Na rea da elaborao de horrios podemos encontrar vrias aplicaes, como por exemplo as utilizadas pelo Banco de Bruxelas (Dresse A. 1995) e pela Faculdade de Medicina de Humbolt (Goltz H. 1999). Ainda na mesma rea, podemos encontrar por exemplo uma aplicao para escalonar os recursos humanos nas caixas de pagamento do Corte Ingls em Espanha (Fernandez J. 1995) ou Pessoal de Enfermagem numa clnica em Munique (Abdennadher S. 1999). Finalmente, possvel encontrar a PLR em muitas ferramentas de apoio deciso de investimentos bolsistas. Neste tipo de problemas importante a avaliao de cenrios futuros no sentido de determinar aces a empreender. Em (Gervet C. 1999) apresentada uma ferramenta para resolver um problema de gesto de risco no mercado de energia. Interfaces Grficos Uma das reas de aplicao mais antigas da PLR o desenvolvimento de interfaces grficas. O papel da PLR nestas aplicaes consiste em manter as posies entre os objectos numa interface grfica, nomeadamente quando ocorrem movimentos de objectos. Por exemplo, numa aplicao para definio de posicionamento de equipamentos em salas necessrio garantir que a colocao de um objecto no vai ser feita de forma incorrecta, ocupando locais que no esto vazios (Hermosilla L. 1996). Outros exemplos podem ser encontradas em
109

Captulo 3

(Borning A. 1995) numa aplicao para construir os prprios interfaces grficos, ou em (Takahashi S. 1998) numa ferramenta de animao e visualizao. Problemas Sobre-Restringidos Muitos problemas reais so sobre-restringindos, ou seja, problemas em que no possvel satisfazer todas as restries. Nestes casos necessrio estabelecer alguma hierarquia entre as restries de forma a maximizar a satisfao das mesmas, ou a relaxar as menos importantes. Alguns exemplos de problemas sobre-restringidos e respectivas ferramentas de resoluo so apresentados em (Burke E. 1995; Meyer H. 1997; Hirayma K. 2000; Petit T. 2001; Hiroshi H. 2004). Outros Domnios de Aplicao Para alm dos domnios de aplicao apresentados anteriormente, existem outras reas no mbito das quais tem vindo a ser desenvolvidas ferramentas baseadas em PLR. reas como a da Biologia (Backofen R. 1998) ou mesmo da msica (Pachet F. 1999) so disso bom exemplo. No entanto, todos os anos tm surgido novas reas de aplicao e se tm consolidado outras j existentes. Este crescimento sustentado permite antever um bom futuro para as tecnologias baseadas em restries.
Definio do Modelo do Problema
Variveis
DEFINIES

Domnios das Variveis


- Restries Simples - Restries Compostas - Restries Globais

Resctries

Definio do Mtodo de Pesquisa


Estratgia de Seleco das Variveis
DEFINIES

Estratgia de Seleco dos Valores


- Primeiro em Profundidade - Primeiro em Largura - Branch&Bound

Mtodo de Pesquisa e/ou Optimizao

Figura 3.12 Metodologia para o Desenvolvimento de um Programa em PLR

110

A PLR e sua Aplicao ao PETMUP

3.6

Resoluo do PETMUP usando a PLR

Um modelo para o PETMUP utilizado neste trabalho pode encontrar-se em (Gomes N. 2003a). Tal como referido nas seces anteriores o desenvolvimento de um problema de optimizao usando a PLR segue uma metodologia base que pode ser representada pelo esquema da Figura 3.12. Segundo o esquema ser necessrio numa primeira fase definir as variveis e respectivos domnios, seguido das restries sobre essas variveis. Estes trs procedimentos constituem a fase de desenvolvimento do modelo do problema. De seguida, necessrio realizar mais 3 procedimentos, nomeadamente a definio das estratgias de seleco das variveis e valores e finalmente o mtodo de pesquisa que poder ou no efectuar a optimizao. Nesta seco ser apresentado um modelo adequado PLR, baseado no modelo apresentado na seco 2.3.5. Ser ainda apresentado, um mtodo de pesquisa denominado Branch&Bound Bsico a partir do qual sero testados quatro conjuntos de estratgias de seleco de variveis e valores. No final do captulo, o mtodo ser comparado com um outro mtodo, usado muito frequentemente em problemas de escalonamento, denominado de Limited Discrepancy Search.

3.6.1

A Definio do Modelo

O modelo do problema foi apresentado na seco 2.3.5 usando uma linguagem prxima da matemtica. O mesmo modelo pode ser facilmente reescrito numa linguagem lgica adequada ao sistema ECLiPSe usado nesta tese. Variveis e respectivos Domnios O modelo apresentado na seco 2.3.5 define 4 tipos de variveis:
Pt xtp Nup Eup Ctmu
Perodo de incio de execuo da tarefa t; Estado da tarefa t no perodo p (1 se a tarefa estiver em execuo 0 se no estiver); Estado da unidade u no perodo p (1 se a unidade fora de servio 0 caso contrrio); Energia produzida pela unidade u no perodo p; Custo total de Manuteno da Unidade u.

111

Captulo 3

As mesmas variveis devero existir no modelo em PLR sendo que a cada uma dever ser atribudo um domnio. Quando no existe uma atribuio de domnio este definido como sendo o intervalo [-inf, +inf] sendo depois restringido de acordo com as restries. Em termos de implementao no existe uma distino operacional entre as variveis do tipo xtp e Nup. Embora, por uma questo de clareza do modelo existam as duas denominaes, ambas correspondem mesma varivel. Naturalmente, a denominao Nup usada apenas nos casos em que as tarefas exigem a retirada de servio de uma, ou mais unidades de produo. O domnio inicial de cada uma das variveis Pt corresponde ao nmero de perodos disponveis para escalonamento, ou seja, janela temporal de execuo da tarefa, correspondendo o domnio das variveis do tipo Nup., e xtp ao conjunto {0,1}. No caso das variveis Ctmu o domnio no definido aquando da definio da varivel, sendo atribudo o domnio por defeito. Posteriormente, o domnio restringido pela propagao das restries associadas. Estas restries sero apresentadas na seco seguinte. Em ECLIPSE, utilizando a biblioteca para domnios finitos, para se definir uma varivel e atribuir um domnio pode utilizar-se o seguinte predicado:

:-X::0..1.

% Define uma varivel com o nome X e domnio {0,1}

Para a varivel que define o perodo de incio de execuo necessrio saber qual a janela temporal de execuo da tarefa. O domnio da varivel ser igual a esse perodo. Assim, por exemplo, se a tarefa t1 tiver uma janela de incio de execuo [2,5], ento:

:-T1::2..5.

% Define uma varivel com o nome T1 e domnio {2,3,4,5}

Alternativamente poderia ser definida uma varivel com um domnio igual janela temporal do plano de escalonamento e depois impostas duas restries relativas janela de incio de execuo. Assim, para uma janela do plano [1,20] e a mesma janela de incio de execuo ficaria:

112

A PLR e sua Aplicao ao PETMUP

:-T1::1..20, T1#>=2,T2#=<5.

% Inicialmente D(T1)=[1,20] e no final fica D(T1)=[2,5]

Note-se que em linguagem lgica o sinal , significa uma conjuno e em ECLiPSe o smbolo # significa uma restrio. Da mesma forma poderamos definir as restantes variveis e respectivos domnios. Restries Na seco 2.3.5 esto definidas as restries do PETMUP. A maioria das restries pode ser implementada usando restries aritmticas do tipo (#=,#>,#<,etc.) de forma trivial. As restries so:

Restries Temporais (Por exemplo: Pt # >= ti , Pt # =< t f , Pt ## ti ) Restries de Capacidade (Por exemplo: Eup # =< Mpu N up Note-se que a varivel nut pode ser substitudo pela varivel xit nos casos em que a execuo da tarefa exigir a sada de servio da unidade)

Restries de Procura (Por exemplo: E1 p + E2 p + K + Eup # = Prp )

Note-se que tambm necessrio estabelecer uma correspondncia entre as variveis xtp e Pt., e entre as variveis xtp e Ctmt. de forma a que a reduo do domnio de uma se repercuta no domnio da outra. Esta correspondncia pode ser estabelecida atravs de um conjunto de restries cuja, forma dada pelas expresses (2.7) e (2.8), foi apresentada na seco 2.3.5. No caso da ligao entre as variveis xtp e Pt., as restries que implementam (2.7), so impostas usando um mecanismo de suspenses disponibilizado pelo ECLIPSE, que permite suspender a imposio de uma restrio at que uma determinada condio seja satisfeita. Sendo assim, sempre que uma varivel Pt instanciada imposto um conjunto de restries do tipo xtp#=1 para os perodos em que a tarefa no est em execuo, de acordo com a expresso (3.3), e um conjunto de restries do tipo xtp#=0 para os perodos em que a tarefa est em execuo, de acordo com a expresso (3.4). Inversamente, quando uma varivel do tipo xtp instanciada com o valor 1 so impostas as restries indicadas em (3.5), e quando xtp instanciada com o valor 0, e xtp-1=1, ento imposta a restrio indicada em (3.6).

113

Captulo 3

xtp # = 1 xtp # = 0

p : p < Pt p Pt + dt Pt p Pt + dt 1 xtp = 1

(3.3) (3.4) (3.5) (3.6)

Pt # < p, Pt # >= p + dt Pt # = p

xtp 1 = 1 xtp = 0

De forma anloga poderia ser estabelecida um relao entre as variveis xtp e Ctmt.. No entanto, o desempenho de um mtodo baseado em PLR depende drasticamente da forma como as restries so impostas. Especificamente no nosso caso, como veremos na seco 3.6.3, o mtodo de pesquisa com maior sucesso na resoluo do PETMUP baseia-se numa estratgia de seleco de variveis cuja a escolha feita sobre a varivel Ctmu. Por esta razo, em cada iterao da pesquisa a primeira varivel do modelo a ser instanciada ser do tipo Ctmu , e ser esta instanciao, e a propagao das restries associadas, que despoletar a propagao de todas as outras restries, e eventualmente a instanciao de outras variveis. Deste modo, quanto menor for a propagao resultante da instanciao de uma varivel Ctmu, menor ser a propagao obtida em cada iterao de pesquisa, e pior ser o desempenho do mtodo. Da forma mais simples a ligao entre cada uma das variveis Ctmu e o restante problema pode ser feita atravs da expresso (2.8). Este tipo de ligao tem associada uma propagao que pode ser muito pobre na maioria das situaes. Para uma melhor compresso consideremos um problema com uma ligao dada por (2.8) e uma determinada estado de pesquisa em que:

Ctm1 = xu1 10 + xu 2 10 + xu 3 10 + xu 3 10

d1 = 2

(3.7)

Neste caso, o domnio da varivel Ctm1 ser {10,20,30,40}, dado que determinado a partir (3.7) e dos domnios de cada uma das variveis xtp (que corresponde ao conjunto {0,1}). Notese, que apesar da durao da tarefa ser dois, a restrio repsectiva (dada em (3.8)) no produz qualquer tipo de reduo dos domnios at que pelo menos 2 variveis sejam instanciadas.

d1 = 2 = xu1 + xu 2 + xu 3 + xu 3

(3.8)

Se a estratgia de seleco de valores escolher o menor valor do domnio de Ctm1, que como veremos uma estratgia adequado, ento o valor escolhido 10. Como facilmente se poder
114

A PLR e sua Aplicao ao PETMUP

deduzir, esta instanciao no vlida, pois, considerando (3.8) duas variveis xtp tero de tomar o valor 1, o que implica que Ctm1=20. Em termos de execuo do programa, na melhor das hipteses esta inconsistncia seria determinada posteriori pela propagao de outras restries que no as que esto aqui indicadas. Considerando apenas (3.7) e (3.8), a instanciao Ctm1=10 no produziria qualquer tipo de propagao, e a falha s seria detectado noutra iterao posterior, com consequncias graves para o desempenho do mtodo. De forma a evitar esta limitao, o nosso modelo implementa uma forma diferente de ligao entre Ctmu e as restantes variveis do modelo do problema. Numa primeira fase, aquando da criao da varivel, o domnio definido explicitamente como o conjunto dos custos totais que podem ocorrer conforme o perodo em que se inicia a realizao da tarefa. Considerando o exemplo em cima, o domnio da varivel seria D(Ctm1)={20,20,20}, em que cada valor corresponde respectivamente ao custo total de manuteno se a tarefa 1 tiver incio no perodo 1, 2 ou 3. Naturalmente, a tarefa no pode ter incio no perodo 4, pois, se assim fosse, no poderia ser concluda. Aps a criao de cada varivel, e respectivo domnio, estabelecida uma ligao entre Pt e Ctmu , ao invs de entre xtp e Ctmu . Esta ligao estabelecida usando uma variante da restrio global element, apresentada na seco 3.2.2. Esta restrio, estabelece uma relao directa entre os valores de ambos os domnios e consegue distinguir situaes, como a do exemplo em cima, em que os valores de Ctmt so iguais. Considerando o exemplo em cima a restrio seria:

selement ( P ,[20, 20, 20], Ctm1 ) 1

(3.9)

O algoritmo de propagao associado a esta restrio actualiza o domnio de uma varivel sempre que a outra for alterada, de acordo com os ndices e valores. Considerando (3.9), a restrio determinaria aquando da sua imposio, que o domnio de Ctm1 seria 20. No entanto, aquando do processo de instanciao a estratgia de seleco poder seleccionar 1, de entre os 3 valores possveis (perodos) para o incio da tarefa. As restantes restries do problema so implementadas usando Restries Globais. O caso mais tpico em problemas de escalonamento so as restries sobre recursos (ver seco 2.3.5). Estas restries so normalmente impostas recorrendo restrio global cumulative (Baptiste P. 1997), disponibilizada pela maioria dos sistemas de PLR incluindo o ECLiPSe. Tal como definido na seco 2.3.5, cada tarefa necessita de um conjunto de recursos, cuje disponibilidade limitada, para ser realizada. Ento, sendo [P1,,Pt] uma lista com as variveis
115

Captulo 3

correspondentes s datas de incio de execuo de cada tarefa t, [d1,,dt] uma lista com a durao de cada uma das tarefas, [R1r,,Rtr] uma lista com as necessidades do recurso r para execuo da tarefa t e Qrp a disponibilidade para o perodo t de cada tipo de recurso r, ento para cada tipo de recurso r deve ser imposta uma restrio seguinte:

cumulative ([ P ,K, Pt ] , [ d1 ,K , dt ] , [ R1r ,K, Rtr ] , Qrp ) 1

(3.10)

Outro bom exemplo de utilizao de restries globais na implementao das restries referentes no simultaneidade (ver seco 2.3.5). Estas restries asseguram que duas tarefas determinadas no se realizam simultaneamente. Uma das formas de implementar a restrio para cada par de tarefas incompatveis impor uma restrio aritmtica por perodo p, do tipo:

X ti p + X t j p > 0

(3.11)

Esta estratgia implica a introduo de p restries do tipo (3.11) por cada par de tarefas que no possam ser realizadas em simultneo. Alternativamente podemos utilizar a restrio global disjunctive (Baptiste P. 1996) que impe uma disjuno entre a janela de execuo das tarefas. A restrio corresponde expresso seguinte:

disjunctive ( Pi , di , Pj , d j )

(3.12)

Note-se que em vez de p restries temos apenas uma e, em vez de algumas tcnicas de consistncia simples utilizadas para resolver as restries aritmticas segundo (3.11), temos algoritmos complexos e eficientes (Baptiste P. 1996) para resolver restries disjuntivas. Finalmente, as restries de precedncia podem ser vistas como um caso particular das restries de no simultaneidade. Estas restries impem que uma determinada tarefa no seja realizada antes de outra tarefa. Deste modo, dado um par de tarefas (i,j), em que j deve ser realizada depois de i ento deve ser imposta a restrio seguinte:

Pi + di # =< Pj

(3.13)

3.6.2

O Mtodo de Pesquisa e Optimizao

Enquanto a qualidade do modelo do problema essencial para a validade das solues obtidas, o mtodo de pesquisa determinante para a eficincia da aplicao. Como vimos na seco 3.4, existe um conjunto vasto de mtodos de pesquisa, podendo cada um deles ser facilmente transformado num mtodo de optimizao.
116

A PLR e sua Aplicao ao PETMUP

Neste captulo, o PETMUP ser resolvido segundo uma perspectiva de optimizao considerando a funo de custo definida na seco 2.3.5. Para tal, ser utilizado um mtodo baseado no algoritmo de Branch&Bound (ver seco 3.4.5), denominado Branch&Bound Bsico (BBB). Branch&Bound Bsico O mtodo BBB baseia-se num mecanismo de Pesquisa em Profundidade com Retrocesso (PPR) e numa varivel que traduz o intervalo de custo da soluo. medida que a pesquisa vai evoluindo, o intervalo de custo vai sendo reduzido, at que uma soluo seja encontrada e a varivel de custo instanciada. Nesse momento imposta uma nova restrio ao problema que limita superiormente o valor da varivel custo. Em sequncia, a pesquisa retrocede at ao ltimo ponto de escolha e compara o limite superior da varivel custo com o limite inferior do intervalo de custo da soluo parcial. Se o problema for de minimizao e o limite superior da varivel custo for igual ou inferior ao limite inferior do intervalo de custo da soluo parcial, ento a pesquisa retrocede imediatamente ao ponto de escolha anterior sem explorar os restantes ramos inferiores da rvore de pesquisa. Este mecanismo pode ser exemplificado recorrendo ao seguinte exemplo: Consideremos duas variveis X1 e X2 com o domnio {1,2,3}. O problema de minimizao sendo o custo dado pela expresso C=X1+X2. Na Figura 3.13 encontra-se representada a rvore de pesquisa para uma determinada ordem de seleco das variveis e dos valores. A primeira varivel a ser seleccionada X1 e esta instanciada com o valor 3. Neste ponto o domnio de C [4,7]. Aps a varivel X2 ser instanciada com o valor 1, obtm-se uma soluo com um custo C=4. O valor 4 passa ento a ser o novo limite superior do domnio de C. Ao retroceder ao ponto de escolha anterior o algoritmo vai determinar que o novo limite superior de C igual ao limite inferior. Nesta situao os restantes ramos da rvore de pesquisa, que correspondem a X2=2 e X2=3, no necessitam de ser explorados.

117

Captulo 3

X1

Dc{4,,7}

X2

DC{4}

C=4 C=5

C=6

Figura 3.13 Exemplo para o mtodo BBB

Note-se que, como vimos anteriormente, a ordem de seleco das variveis e dos valores de extrema importncia para o desempenho da pesquisa. No pequeno exemplo anterior, com as estratgias de seleco indicadas, a soluo ptima (X1=1, X2=1) s seria obtida ao fim de 3 retrocessos. Com a estratgia correcta, seria possvel obter a soluo ptima com 0 retrocessos. Assim, uma das tarefas mais importantes durante o desenvolvimento de um bom mtodo de pesquisa consiste em escolher as estratgias correctas de seleco das variveis e valores. Estratgias de Seleco de Variveis e Valores De modo a determinar qual as melhores estratgias de seleco de variveis e valores para o PETMUP, foram desenvolvidas algumas variantes de estratgias de seleco, de entre as mais usadas em problemas de escalonamento, no sentido de incluir algumas heursticas associadas ao PETMUP. Para facilitar a compresso de cada uma das estratgias, vejamos o seguinte problema: X{2,4,9}, Y{3,8}, Z{4,5,7,10,11}, C#=X+Y, X#Y-1, Z#=X+2, minimizar C As estratgias para seleco das variveis testadas so as seguintes:

118

A PLR e sua Aplicao ao PETMUP

Falha Primeiro (FF) Esta estratgia uma das mais usadas no mbito da PLR. A ideia, como o prprio nome indica, consiste em seleccionar a varivel que tem maior probabilidade de falhar14. Assim, seleccionada a varivel que tem menor nmero de valores no seu domnio. Em caso de empate seleccionada a varivel que estiver associada ao maior nmero de restries. Considerando o exemplo acima, a primeira varivel a ser seleccionada segundo a estratgia FF seria Y. Maior Nmero de Restries (MaxR) Esta estratgia segue a mesma ideia da FF, no sentido em que tenta seleccionar a varivel que tem maior probabilidade de falhar. No entanto, nesta estratgia, em vez de se seleccionar primeiro a varivel com o menor nmero de valores no domnio, selecciona-se a varivel com o maior nmero de restries associadas. partida, uma varivel associada a muitas restries tem maior probabilidade de provocar uma falha. Considerando o exemplo acima, a primeira varivel a ser seleccionada seria X pois a que entra no maior nmero de restries. Menor Valor (MinVar) Esta estratgia selecciona a varivel com o menor valor no domnio. Se bem que possa pareer intil primeira vista, nalguns casos pode ser bastante eficiente. Por exemplo, em problemas de escalonamento pode ser usada para seleccionar a varivel associada tarefa que implica um menor custo. Considerando o exemplo anterior a primeira varivel a ser seleccionada seria X. Mxima Diferena (MaxD) Esta estratgia selecciona primeiro a varivel com a maior diferena entre o primeiro e segundo valor mais baixo. Esta estratgia particularmente til nos casos em que a varivel est associada a um custo. Assim, pode haver situaes em que a diferena entre o custo mais baixo e o segundo custo mais baixo seja muito grande. Nestas situaes no desejvel que o segundo valor venha a ser escolhido, logo a melhor opo ser instanciar a varivel o quanto antes. Considerando o nosso exemplo, a primeira varivel a ser seleccionada seria Y e, no caso da estratgia de seleco de valor seleccionar o menor valor, a primeira soluo teria um custo de C=5 (Y=3,X=2). Ao invs, utilizando a estratgia MinVar a primeira varivel seleccionada seria X, logo X=2 e Y=8 o que implicaria uma primeira soluo com um custo C=10. Da mesma forma, foram escolhidas algumas estratgias para a seleco de valores: Menor Valor (MinVal) Tal como no caso da seleco das variveis, esta estratgia selecciona o menor valor do domnio. Normalmente, esta estratgia aparece em conjunto com a estratgia MinVar para seleco de variveis, no

14

Uma varivel falha, ou seja, provoca um retrocesso na pesquisa quando o seu domnio fica reduzido ao conjunto vazio.

119

Captulo 3

sentido de se seleccionar a varivel com menor custo e instanciar essa varivel com esse mesmo custo. Menor Custo (MinC) Esta estratgia uma variante da MinVal usada quando se est a seleccionar o valor para uma varivel que no directamente um custo, mas que implica um custo. Por exemplo, quando se quer seleccionar o perodo de manuteno ao qual corresponde o menor custo. Neste trabalho e para todas as estratgias excepto a FF, sempre que ocorre um empate o par varivel/valor escolhido por ordem da posio em que se encontra na lista. O objectivo do PETMUP consiste em determinar uma data de incio para a realizao das tarefas de manuteno. De acordo com o modelo do problema apresentado na seco 2.3.5, existe mais do que um tipo de variveis sobre as quais pode ser construda a rvore de pesquisa. Embora todas as variveis estejam relacionadas atravs de restries, a rvore e consequentemente o tempo de pesquisa pode variar com o tipo de varivel seleccionado Nesta tese realizamos testes considerando a construo da rvore de pesquisa sobre dois tipos de variveis, nomeadamente as variveis que representam o custo total de manuteno (Ctmu) e as variveis que representam o perodo de incio de realizao das tarefas (Pt). Desta forma, considerando as diferentes estratgias de seleco de variveis e valores, assim como os tipos de variveis para deciso, foram considerados os seguintes pares de estratgias de seleco de variveis e valores: MinVar+MinVal+Ctm A ideia deste mtodo consiste em implementar uma heurstica que tenta escalonar as tarefas de manuteno nos perodos com menor custo. A menos dos custos de produo, se todas as tarefas pudessem ser realizadas nos perodos aos quais corresponde o menor custo a primeira soluo obtida seria ptima. Para implementar esta heurstica seleccionada a varivel Ctmu que possui o menor valor no seu domnio, com o qual instanciada; MaxD+MinVal+Ctm Este mtodo idntico ao anterior diferindo na estratgia de seleco das variveis, que em vez de seleccionar a varivel Ctmu com o menor valor no domnio (custo), selecciona a que tem a maior diferena entre o primeiro e segundo maior valor. A razo deste mtodo a de tentar reduzir as consequncias do problema levantado aquando da apresentao da estratgia MaxD; MaxR+MinC+P Num PETMUP possvel que existam certas unidades para as quais o escalonamento da manuteno mais difcil, porque tm um maior nmero de restries associado (Por exemplo: A janela temporal de execuo
120

A PLR e sua Aplicao ao PETMUP

reduzida, necessita de um maior nmero de recursos, etc.). Este mtodo implementa uma heurstica que tenta escalonar primeiro esse tipo de tarefas. Para isso, o mtodo selecciona a varivel Pt associada ao maior nmero de restries e instancia a varivel com o valor que corresponde ao perodo que implica um menor custo. FF+MinC+P Este mtodo baseado na mesma ideia do mtodo MaxR+MinC+P, mas actua de forma diferente durante o processo de pesquisa. De facto, pode acontecer que certas tarefas, associadas a um menor nmero de restries no incio da pesquisa, possam, medida que a pesquisa evolui, ficar com menor possibilidade de serem escalonadas. Este mtodo implementa uma heurstica que tenta prever essa situao e escalonar essas tarefas antecipadamente. Para isso, o mtodo selecciona a varivel Pt com o menor nmero de valores de domnio e instancia a varivel com o valor que corresponde ao perodo que implica um menor custo.

3.6.3

Resultados Experimentais

Para avaliar o modelo e os mtodos de pesquisa apresentados na seco anterior, foi realizado um conjunto de testes sobre vrias instncias do PETMUP geradas pelo Gerador de Instncias apresentado na seco 2.3.6. O modelo e mtodos de pesquisa foram implementados sobre o sistema de Programao Lgica por Restries ECLiPSe (Wallace M. 1997). O ECLiPSe uma plataforma de programao baseada no PROLOG e que disponibiliza meta-interpretadores para vrios domnios, nomeadamente Domnios Finitos, assim como interfaces para ligao a outras linguagens de programao ou plataformas de resoluo de problemas combinatoriais. Para alm de ser completamente gratuito para instituies de Ensino e de Investigao, foi desenvolvido como uma plataforma aberta. Por essa razo, disponibiliza os mecanismos para o utilizador expandir os diferentes metainterpretadores com a incluso de novas restries, mtodos de pesquisa, etc. Os testes foram realizados num PC a correr o Windows XP com um processador DURAN a 1200MHz e 512Mb de memria. Todos os mtodos so determinsticos pelo que apenas foi realizado um nico teste para cada mtodo e instncia do problema.

121

Captulo 3

Os testes foram realizados sobre 10 instncias do problema com diferentes dimenses e nveis de estreitamento15. As instncias e principais caractersticas encontram-se indicadas na Tabela 3.1.
Tabela 3.1 Instncias usadas nos testes
Id
iem_10_24_a_1.dat iem_10_24_b_1.dat iem_10_24_c_1.dat iem_10_24_d_1.dat iem_10_24_e_1.dat iem_15_24_a_1.dat iem_15_24_b_1.dat iem_15_24_c_1.dat iem_15_24_d_1.dat iem_15_24_e_1.dat

Nt
10 10 10 10 10 15 15 15 15 15

Np
24 24 24 24 24 24 24 24 24 24

FE
a b c d e a b c d e

Na Figura 3.14 e Figura 3.15 apresentam-se sobre forma grfica, os resultados dos mtodos de pesquisa propostos na resoluo das instncias indicadas na Tabela 3.1. Os resultados apresentados dizem respeito a tempos de computao para obter a soluo ptima (sem provar que essa soluo ptima). De modo a facilitar a comparao entre os mtodos, os tempos so dados em percentagem do pior tempo. Por exemplo, se o pior dos mtodos demorar 50 segundos para determinar a soluo e o melhor 10, ento no grfico o primeiro corresponde a 100% e o segundo 20%. Nos casos considerados todos os mtodos conseguiram determinar a soluo ptima. O tempo necessrio para a prova da soluo no apresentado e s foi determinado uma vez e com um nico mtodo.

15

Tal como explicado na seco 2.3.6, entende-se nvel de estreitamento como uma maior limitao imposta pelas restries.

122

A PLR e sua Aplicao ao PETMUP

100,0% 90,0% 80,0% 70,0% 60,0% 50,0% 40,0% 30,0% 20,0% 10,0% 0,0% iem_10_24a_1 iem_10_24b_1 iem_10_24c_1 iem_10_24d_1 iem_10_24e_1
M inVa r+M inVa l+C tm M a xD+M inVa l+C tm M a xR +M inC +P F F +M inC +P

Figura 3.14 Resultados das vrias estratgias de pesquisa para as instncias do tipo msh_10_24_x_1

100,0% 90,0% 80,0% 70,0% 60,0% 50,0% 40,0% 30,0% 20,0% 10,0% 0,0% iem_15_24a_1 iem_15_24b_1 iem_15_24c_1 iem_15_24d_1 iem_15_24e_1
M inVa r+M inVa l+C tm M a xD+M inVa l+C tm M a xR +M inC +P F F +M inC +P

Figura 3.15 Resultados das vrias estratgias de pesquisa para as instncias do tipo msh_15_24_x_1

A anlise dos resultados permite-nos tirar algumas concluses.

Para as instncias testadas, os mtodos de pesquisa cujas estratgias de seleco de variveis e valores traduzem heursticas especficas do problema obtiveram melhores resultados, com diferenas que podem ultrapassar, para alguns casos, os 80% em termos de tempo de computao. Estes mtodos so o MinVar+MinVal+Ctm e o MaxD+MinVal+Ctm. A diferena mais notria para as instncias de maior dimenso,

123

Captulo 3

o que se pode justificar pelo comportamento exponencial dos mecanismos de pesquisa subjacentes aos mtodos;

Uma comparao directa entre MinVar+MinVal+Ctm e MaxD+MinVal+Ctm, demonstra uma clara vantagem para a estratgia MinVar+MinVal+Ctm, que em alguns casos chega aos 50%. Esta diferena tambm de alguma forma esperada, uma vez que uma anlise dos dados relativos estrutura de custos permite verificar que a diferena entre custos ao longo dos vrios perodos no muito significativa;

Os resultados obtidos com os dois mtodos mais generalistas, nomeadamente MaxR+MinC+P e FF+MinC+P, so semelhantes com alguma vantagem para o primeiro. Este resultado pode ser justificado pelo facto do nmero de valores associado a cada tarefa ser aproximadamente o mesmo, pelo menos numa fase inicial da pesquisa;

A diferena entre as estratgias mais generalistas e as outras menos significativa para as instncias com um menor nvel de estreitamento. Nas instncias de maior dimenso (msh_15_24_x_1) mesmo notria uma certa tendncia nesse sentido. Este facto pode ser justificado pela maior importncia que as restries tm neste ltimo caso. Estratgias generalistas baseadas no nmero de restries, ou nmero de valores no domnio, podem ento alcanar melhores resultados.

3.6.4

Testes com Limited Discrepancy Search

Na seco 3.4 foram introduzidos alguns algoritmos de pesquisa baseados no mecanismo de retrocesso que permitem aumentar a eficincia da pesquisa em PLR para alguns tipos de problemas. Estes algoritmos, tentam limitar de alguma forma, a explorao da rvore de pesquisa s reas mais promissoras, eliminado as menos promissoras ou deixando a sua explorao para uma fase posterior da pesquisa. De entre os algoritmos apresentados, o Limited Discrepancy Search (LDS) o de maior sucesso. Tal como referido anteriormente, este algoritmo limita a explorao da rvore de pesquisa aos ramos que distam menos de um determinado valor (discrepncia) da soluo dada por uma determinada heurstica. Dependendo do valor de discrepncia escolhido o algoritmo pode ser completo ou incompleto, estando a vantagem do mtodo na segunda opo. Naturalmente, o sucesso do algoritmo depende fortemente das heursticas de seleco usadas e das boas solues estarem ou no prximas da soluo dada por essas heursticas.
124

A PLR e sua Aplicao ao PETMUP

Considerando que a ideia subjacente ao LDS anloga ideia subjacente aos restantes mtodos apresentados nesta tese optou-se por realizar alguns testes com o LDS de forma a obter informaes teis para o desenvolvimento dos restantes mtodos. Neste sentido, implementou-se um mtodo, em tudo idntico ao BBB da seco anterior, diferindo unicamente o algoritmo de pesquisa. Assim, o algoritmo de pesquisa em profundidade com retrocesso subjacente ao BBB foi substitudo pelo algoritmo LDS. O conjnto de heursticas usado foi o MinVar+MinVal+Ctm.
104,5% 104,0% 103,5% 103,0% 100,0% 90,0% 80,0% 70,0%

Custo

102,5% 102,0% 101,5% 101,0% 100,5% 100,0% 4 5 6 7 8 9 10 12 12 13

50,0% 40,0% 30,0% 20,0% 10,0% 0,0%

Tempo
Custo Tempo

60,0%

Figura 3.16 -. Tempo de computao e custo da melhor soluo obtida por um mtodo baseado no algoritmo de LDS em funo do valor de discrepncia para a instncia iem_10_24_a_1

Nos grficos da Figura 3.16 e da Figura 3.17 apresenta-se o tempo de computao e o custo da melhor soluo obtida pelo mtodo em funo do valor da discrepncia. De forma a facilitar a comparao, o tempo de computao dado em percentagem do tempo necessrio pelo mtodo de BBB, com as mesmas heursticas de seleco de variveis e valores, ou seja MinVar+MinVal+Ctm. Da mesma forma, o custo da soluo dado em funo do custo da melhor soluo obtida pelo mtodo BBB, que nos casos indicados ptima. Como exemplo, na figura Figura 3.16 e para um valor de discrepncia de 8, o custo da melhor soluo obtida pelo LDS superior em 2,8% ao custo da soluo ptima, sendo o tempo de computao necessrio para obter essa soluo apenas 13% do tempo necessrio ao BBB. Embora no se encontrem representados, os resultados foram semelhantes para as outras instncias.

125

Captulo 3

104,5% 104,0% 103,5% 103,0%

100% 90% 80% 70%

Custo

102,5% 102,0% 101,5% 101,0% 100,5% 100,0% 4 5 6 7 8 9 10 12 12 13

50% 40% 30% 20% 10% 0%

Tempo
Custo Tempo

60%

Figura 3.17 -. Tempo de computao e custo da melhor soluo obtida por um mtodo baseado no algoritmo de LDS em funo do valor de discrepncia para a instncia iem_10_24_b_1

A anlise dos resultados permite tirar algumas concluses.

A limitao da explorao da rvore de pesquisa permitiu reduzir significativamente o tempo de computao, principalmente para valores baixos de discrepncia, sem grande perda de qualidade das solues;

Dada a dependncia do desempenho do LDS relativamente s heursticas usadas, e qualidade das solues obtidas com o LDS, podemos dizer que as heursticas usadas so de boa qualidade.

Estas concluses sugerem que as ideias subjacentes ao LDS so vlidas, pelo que a sua utilizao em outros mtodos que permitam uma seleco mais flexvel e eficaz das reas de pesquisa a considerar pode ser vantajosa.

3.7

Questes Para Trabalho Futuro

Uma concluso retirada da anlise dos resultados das seces anteriores foi a confirmao da importncia das estratgias de seleco de variveis e valores no desempenho dos mtodos de pesquisa baseados em PLR. Esta concluso, sugere que o desenvolvimento de outras estratgias, que incluam mais informao acerca dos problemas, pode melhorar ainda mais o desempenho do mtodo de BBB na resoluo do PETMUP. Uma ideia interessante a utilizar
126

A PLR e sua Aplicao ao PETMUP

noutras estratgias pode ser a incluso de informao relacionada com os custos de produo, para alm dos custos de manuteno considerados nas estratgias MinVar+MinVal+Ctm. A explorao desta, e doutras ideias anlogas, particularmente importante porque o mtodo de BBB um dos componentes dos mtodos hbridos apresentados nos captulos 4, 5 e 6 desta tese. Os testes com o mtodo baseado no LDS, sugerem que uma possibilidade de melhorar o desempenho dos mtodos baseados em PLR, consiste na limitao da explorao do espao de pesquisa dos problemas. Desejavelmente, apenas se deveriam explorar as reas mais promissoras do espao de pesquisa. Esta ideia constitui a base dos mtodos apresentados nos captulos 4, 5 e 6.

127

Captulo 4

Integrao da Programao Lgica por Restries com Programao Linear para a Resoluo do Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo

Integrao da PLR com PL para a Resoluo do PETMUP

4.1

Introduo

Tal como referido anteriormente, uma das metodologias de maior sucesso na resoluo de problemas combinatoriais consiste na integrao de tcnicas e mtodos associados Programao Linear (PL) com a Programao Lgica por Restries (PLR). De um modo geral, a PL est associada rea da matemtica, enquanto a PLR, que surgiu posteriormente, est associada Cincia dos Computadores e mais especificamente Inteligncia Artificial. Apesar do sucesso de ambas as reas, e da sua aplicao resoluo do mesmo tipo de problemas, as razes distintas propiciaram o desenvolvimento independente de cada uma at h poucos anos, altura em que se identificaram pontos complementares. A PLR, por exemplo, oferece melhores ferramentas para o desenvolvimento dos modelos dos problemas que a PL. De facto, para alm da linguagem natural, mais adequada para a descrio de problemas, a PLR oferece restries complexas que permitem representar naturalmente as diferentes relaes entre os diferentes objectos do problema, ao invs da PL em que a nica restrio a desigualdade entre termos. A PLR, para alm de permitir modelos mais sucintos e claros, tambm permite a explorao da estrutura do problema no desenvolvimento do processo de pesquisa, e a utilizao de tcnicas de consistncia e propagao na acelerao desse mesmo processo. Por outro lado, a PL disponibiliza um nmero elevado de tcnicas especializadas para a resoluo de algumas classes de problemas, nomeadamente Relaxaes, bastantes teis quando se pretende provar que uma soluo ptima. Naturalmente estas relaxaes podem ser baseadas numa anlise polidrica, situao em que tomam a forma de Planos de Corte, ou na soluo de um problema Dual, tal como o Dual Lagrangeano. A utilizao de tais tcnicas d a PL a capacidade de avaliar todas as restries simultaneamente, ou seja d PL uma Perspectiva Global sobre as restries (Rodosek R. 1999) que a PLR no possui. Estas caractersticas distintas de cada uma das metodologias permite diferenciar duas classes de problemas, uma adequada a cada metodologia. Sendo assim, e tal como referido anteriormente, a PLR adequada para a resoluo de problemas com um baixo nvel de estreitamento (ver seco 3.3.1), que correspondem normalmente a problemas com muitas restries e uma aridade baixa, ou que envolvem poucas variveis. De uma forma sucinta, a PLR particularmente adequada para encontrar solues de problemas em que essa tarefa
131

Captulo 4

particularmente difcil. Ao invs, a PL adequada para a resoluo de problemas com um nvel de estreitamento elevado, que envolvem muitas restries com um nvel de aridade elevado. Para alm do mais, a PL particularmente adequada resoluo de problemas com muitas solues mas em que se pretende determinar a ptima de acordo com uma determinada funo de custo. Note-se que um problema real frequentemente rene ambos os requerimentos pelo que uma unio de ambas as metodologias pode ser de todo benfica (Hooker J. 2002).

4.2

Pontos Comuns e Principais Diferenas entre a PLR e a PL

De um modo geral existem pelo menos dois pontos comuns entre a PLR e a PL. Um que os algoritmos base de pesquisa subjacentes a ambas se baseiam na Ramificao. Subentende-se por ramificao o processo de seleco de variveis e valores para as variveis que resulta numa rvore de pesquisa como a apresentada na seco 3.2. O outro, menos obvio, que ambas as metodologias usam mtodos lgicos de inferncia para acelerar a pesquisa. Especificamente, a PLR usa inferncia lgica sob a forma de propagao de restries e reduo dos domnios (a remoo de um valor inconsistente do domnio de uma varivel pelo uso de um algoritmo de consistncia constitui uma inferncia). No caso da PL, a inferncia lgica toma uma forma diferente, de tal modo que alguns autores no a reconhecem como tal (Jackson W. 1996). Essa forma corresponde a algoritmos geradores de Planos de Corte e alguns teoremas de Dualidade. Por exemplo, um plano de corte pode ser visto como uma implicao lgica de um conjunto de desigualdades (os planos de corte so inferidos no sentido de reduzir as relaxaes contnuas). Outro exemplo so alguns algoritmos de pr-processamento usados no mbito da Programao Inteira Mista que podem ser vistos como formas limitadas de reduo de domnios. Apesar do uso de tcnicas de inferncia por ambas as metodologias, estas diferem na forma como estas tcnicas so usadas. De facto, enquanto a PLR usa inferncia lgica para reduzir directamente o espao de pesquisa atravs da propagao, a PL usa a inferncia lgica (possivelmente na forma de planos de corte) no sentido de criar melhores relaxaes e indirectamente acelerar a pesquisa. Este modo diferente de usar a inferncia resulta em diferentes vantagens.

132

Integrao da PLR com PL para a Resoluo do PETMUP

No caso da PLR, a reduo directa dos domnios das variveis, e consequentemente do espao de pesquisa, permite PLR encontrar solues mais rapidamente. No entanto, no caso de restries com uma aridade elevada, como o caso normalmente das restries que representam custos (funes de optimizao), a reduo dos domnios pouco efectiva, pelo menos at que um nmero significativo de variveis seja instanciado. Pelo contrrio, a PL usa relaxaes precisamente para lidar eficientemente com as restries associadas aos custos. A maioria dos problemas reais possui restries que requerem relaxaes assim como restries com bons algoritmos de propagao. S por esta razo, pode ser vantajosa a integrao de tcnicas de ambas as metodologias que combinem as vantagens complementares acima referidas. No entanto, para alm destas vantagens, a flexibilidade e declaratividade da PLR permite o desenvolvimento de modelos mais pequenos e claros, consequentemente mais fceis de manter e alterar. Reciprocamente, a perspectiva global da PL permite resolver subproblemas estruturados de forma mais eficiente do que a PLR. Em suma, seguindo as concluses indicadas em (Hooker J. 1999) podemos dizer que num mtodo hbrido: A PLR pode a acelerar a pesquisa de solues:

Reduzindo os Domnios das Variveis (particularmente deduzindo a inconsistncia); Potenciando a Relaxao Linear adicionando limites e cortes para alm dos determinados pelas tcnicas geradores de Planos de Corte tradicionais;

Reduzindo a pesquisa de solues simtricas, que so eliminadas mais eficientemente com o uso de restries globais.

A PL pode tornar a pesquisa mais eficiente:

Ajudando a encontrar solues com os melhores custos mais cedo por permitir uma perspectiva mais global do espao de pesquisa;

Fornecendo limites para os domnios das variveis obtidos atravs da funo de custo mais cedo, ajudando portanto obteno da soluo ptima;

133

Captulo 4

Fornecendo razes para a falha da pesquisa, ou para o baixo custo de determinadas solues (Por exemplo: atravs de Cortes de Benders (Hooker J. 1995)), que podem ser usadas para guiar a pesquisa.

4.3

Esquemas de Integrao

Apesar do recente desenvolvimento de mtodos de integrao, a Programao Linear, e mesmo a Programao no Linear, tm sido utilizadas ao longo dos anos no seio da PLR. Alguns exemplos podem ser encontrados nos primeiros sistemas comerciais de PLR, como o CHIP (Dincbas M. 1988); ILOG Solver (Puget 1994); ou ainda o PROLOG III (Colmerauer A. 1990). Outros exemplos podem ser encontrados em diversos artigos na rea. Por exemplo em (Beringer H. 1994) os autores usam a PL para calcular limites superiores e inferiores dos domnios de variveis contnuas. Similarmente, em (Solnon C. 1997) o autor props o uso de um sistema de PL para em cada n da rvore de pesquisa determinar os limites dos domnios de cada varivel. Esta ideia foi tambm usada no desenvolvimento do sistema 2LP que permite a chamada de um sistema de LP a partir de um Script que disponibiliza mecanismos para a implementao de modelos baseados em lgica. Para alm dos exemplos acima referidos, recentemente foram propostos alguns esquemas de integrao numa base mais equitativa relativamente ao uso das duas metodologias. parte da questo do desempenho, os esquemas diferem principalmente na classe de problemas para a qual so adequados. Na literatura possvel encontrar algumas classificaes para os esquemas de integrao. A anlise dessas classificaes permite evidenciar dois pontos de diferenciao, nomeadamente Modelizao e Decomposio. Isto quer dizer que os esquemas de integrao diferem na forma como decompem e modelizam o problema. Nas seces seguintes estes conceitos sero especificados.

4.3.1

Esquemas baseados em Modelizao Dupla

Uma das formas mais intuitivas, e talvez a mais comum, de integrar a PLR com a PL a Modelizao Dupla. Esta passa pela criao de dois modelos do problema, um adequado PLR e outro a PL. Normalmente o modelo em PL no completo, sendo comum a no considerao da restrio de integralidade nos caso em que as variveis so inteiras. Posteriormente, ambos os modelos so ligados de forma a comunicarem entre si. Tipicamente

134

Integrao da PLR com PL para a Resoluo do PETMUP

a informao trocada corresponde a novos limites sobre os domnios das variveis, ou provas de no consistncia. Os diferentes esquemas de Modelizao Dupla diferem normalmente na forma como passam a informao e/ou na informao que passam. Um exemplo deste tipo de esquema pode ser visto em (Rodosek R. 1999) e em (Wallace M. 1997). Em ambos os casos os autores adaptaram o Sistema de PLR ECLiPSe de forma a que as restries lineares fossem enviadas, e a sua consistncia assegurada, por um sistema comercial de PL como o XPRESS-MP. Similarmente, em (Beringer H. 1994), os autores usam variveis sombra para estabelecer uma comunicao bidireccional entre o modelo em PLR e o modelo em PL. Posteriormente, o meta-interpretador associado PLR usado para detectar inconsistncias e relaxaes que so passadas para o sistema de PL atravs das variveis. Este ltimo depois usado para determinar novos limites para o domnio das variveis. Uma extenso a este esquema proposta em (Refalo P. 1999) onde o modelo associado PL reconstrudo sempre que os limites das variveis so reduzidos. Alternativamente, em (Focacci F. 1999a) e (Focacci F. 1999b), os autores abordam a problemtica da propagao das restries relativas a custos sobre os domnios das variveis. No sentido de resolver essa limitao da PLR os autores adaptam PLR a ideia da PL de usar os Custos Reduzidos para fixar variveis.

4.3.2

Esquemas Baseados em Decomposio

Os esquemas baseados em Decomposio diferem dos anteriores porque de alguma forma decompem o problema em dois ou mais sub-problemas, sendo uns sub-problemas resolvidos pela PLR e os outros pela PL. Com base nesta ideia existem vrios esquemas que diferem na forma como a PLR e a PL cooperam para resolver o problema principal. Na maioria dos esquemas baseados em decomposio tambm existe algum tipo de modelizao dupla, pelo que esta classe de problemas seria mais correctamente definida como Esquemas baseados em Decomposio e Modelizao. No entanto comum, por uma questo de clareza denominar a classe unicamente por Esquemas baseados em Decomposio. Decomposio Simples Nesta classe de esquemas possvel encontrar mltiplas variantes. Por exemplo, em (Harjunkoski I. 2000) e (Jain V. 2001) os autores apresentam um esquema para uma classe de problemas, que claramente podem ser subdivididos em dois sub-problemas, um adequado a
135

Captulo 4

ser resolvido pela PLR e outro pela PL. Durante a pesquisa, o sistema de PL comea por tentar encontrar a soluo ptima para um sub-problema. Em seguida, com base na soluo ptima do primeiro sub-problema o sistema de PLR tenta encontrar uma soluo vlida para o segundo sub-problema. Se essa soluo no existir so adicionados planos de corte ao modelo do sub-problema mantido no sistema de PL, que tenta encontrar outra soluo ptima. O processo continua at que sejam encontradas solues para ambos os sub-problemas. Esta ideia demonstrada, nas mesmas referncias, usando um problema de escalonamento de tarefas de produo em mltiplas mquinas. Neste caso a atribuio das tarefas s mquinas feita usando um modelo e sistema de PL, sendo depois o problema do sequnciamento das tarefas pelas mquinas da responsabilidade da PLR. Esquema MLLP Com base no no tipo de problema mas sim na estrutura do problema, em (Hooker J. 1999; Hooker J. 2001) os autores propem um esquema de integrao da PLR com a PL, mais precisamente com Programao Inteira Mista (PIM). Neste esquema so as restries, na forma de condices, que fazem a ligao entre os elementos contnuos e discretos do problema. O modelo tem a forma dada pela expresso seguinte:

min cx sujeito a hi ( y ) Ai x bi , i I , y D, x R n
(4.1)

Na expresso (4.1) y corresponde a um vector de variveis discretas e x a um vector de variveis contnuas. Os antecedentes hi(y) dos condicionais so restries cuja consistncia pode ser verificada usando a PLR. Os consequentes so desigualdades lineares que podem ser inseridas numa relaxao para a PL. Por convenincia, pode ser criado um conjunto de restries lineares que pode ser imposto incondicionalmente, sabendo-se no entanto que este conjunto tambm pode ser convertido para uma forma condicional. Dado este modelo, o problema correspondente, denominado Mixed Logical/Linear Programming resolvido a partir do sistema de PLR (responsvel pelas variveis discretas). A ligao ento assegurada pelos condicionais que atribuem papis PLR e PL: A PLR usada com as variveis discretas, e restries correspondentes, no sentido de reduzir o espao de pesquisa global e ajudar a determinar quando uma instanciao (soluo) parcial satisfaz os antecedentes. Durante este processo, em cada n da rvore de pesquisa, usada PL para minimizar cx sujeito s desigualdades Aix bi para as quais hi(y) se verificou ser verdadeiro. Note-se que com o

136

Integrao da PLR com PL para a Resoluo do PETMUP

atrasar da imposio das desigualdades, o modelo em PL resolvido em cada n torna-se mais pequeno e portanto pode ser resolvido mais rapidamente. Com este processo de pesquisa, obtm-se uma soluo quando se encontrar um valor consistente para cada antecedente e simultaneamente a PL encontrar uma soluo ptima para um modelo que inclua todas as desigualdades associadas. Os resultados reportados nas referncia indicam que este esquema, para alm das vantagens de modelizao associadas PLR, mais rpido do que os mtodos tradicionais para resolver problemas de PIM. Esquema de Ramificao e Inferncia Em (Bockmayr A. 1998) os autores propem duas formas de integrar a PLR com a PL. A primeira consiste em incorporar a parte do problema adequado PL na PLR sob a forma de restries primitivas. Neste caso, a PL pode ser vista como um algoritmo de propagao, que actualiza os domnios das variveis a partir dos limites obtidos da resoluo de um problema de maximizao ou minimizao sobre uma nica varivel (normalmente a de custo). A segunda forma consiste em transformar as desigualdades lineares em restries primitivas. Neste caso, o armazm de restries (conjunto de restries cuja consistncia deve ser mantida pelo meta-interpretador) passa a conter desigualdades sobre variveis contnuas. Por exemplo, as restries sobre variveis inteiras x1 x2 e x1 x2 passam a poder ser representadas pelas desigualdades x1 + x2 1 e (1- x1 )+x2 1 e 0 xj 1. Neste caso, se em determinado ponto da pesquisa os algoritmos de propagao deduzirem que x2 verdadeiro, ento a desigualdade x2 1 pode ser adicionada ao armazm de restries. Com este esquema, denominado Ramificao e Inferncia, possvel simultaneamente enriquecer o conjunto de restries primitivas disponibilizadas pela PLR, melhorando a eficincia da sua propagao, e aumentar de certa forma o conjunto de restries no-primitivas disponibilizadas pela PL. Note-se que a nica restrio no-primitiva disponibilizada pela PL a de integralidade. Uma variante do esquema de Ramificao e Inferncia pode ser vista em (Rodosek R. 1999). Neste esquema a integrao da PLR com a PL feita sobre um nico modelo do problema. Para isso as disjunes que aparecem no modelo em PLR so convertidas em desigualdades recorrendo a variveis auxiliares binrias. Estas desigualdades permitem criar um modelo de Programao Linear Mista que se vai desenvolvendo medida que algumas

137

Captulo 4

variveis associadas ao modelo em PLR vo sendo instanciadas. Uma propriedade muito interessante deste algoritmo que evita qualquer tipo de enumerao implcita, ou seja, o modelo desenvolve-se sem que ocorra retrocesso. O conjunto das novas desigualdades pode depois ser resolvido usando unicamente a PLR, unicamente a PL, ou ambas em simultneo. Esquema baseados na Decomposio Lgica de Benders Outro esquema de sucesso consiste na integrao da PLR com a PL utilizando uma forma da Decomposio de Benders (Benders J. 1962) adequada PLR. Segundo esta nova forma de decomposio, as variveis (x,y) podem ser particionadas de forma a que o modelo do problema possa ser o seguinte:

minimizar f ( x) sujeito a: h( x),

gi ( x, y ) , i I

(4.2)

Inicialmente a varivel x instanciada com um valor v que minimiza f(x) sujeito a h(x). Isto levanta um problema (sub-problema) de consistncia relativamente s variveis de y sujeitas a gi(x=v,y). Sendo um problema de consistncia, este pode ser resolvido eficientemente recorrendo PLR. Obtendo-se uma soluo para o sub-problema (y=sy), ento (v,sy) uma soluo ptima de (4.2). Se por outro lado no existir uma soluo ptima, ento formulado um corte de Benders Bx(x), que corresponde a uma restrio que remove o valor v, e possivelmente outros valores. Em cada iterao do algoritmo o modelo em LP assim alterado de forma a incluir todos os cortes de Benders gerados at ento. Naturalmente o algoritmo termina quando existir uma soluo para o sub-problema, ou quando no existir nenhuma alternativa consistente para o problema principal. Este esquema de integrao, denominado Decomposio Lgica de Benders foi apresentado em (Hooker J. 1995). Este esquema foi ainda melhorado reduzindo o nmero de vezes que o problema principal resolvido, com base nas caractersticas dos cortes de Benders gerados. O esquema resultante denomina-se Ramificar e Testar (Thorsteinsson E. 2001).

4.4

Novo Esquema de Integrao

Considerando os resultados dos diversos esquemas apresentados anteriormente e particularmente atendendo ao sucesso obtido pelos mesmos, foi desenvolvida, no mbito
138

Integrao da PLR com PL para a Resoluo do PETMUP

desta tese, uma plataforma de integrao e trs esquemas com base nessa plataforma. A ideia base da plataforma semelhante dos esquemas de Modelizao Dupla, ou seja, recorre-se ao desenvolvimento de dois modelos do problema, um adequado PLR e outro PL. O modelo em PL consiste numa relaxao do modelo em PLR, para a qual no se consideram algumas restries, como por exemplo a de integralidade. A resoluo destes modelos, sejam eles de Programao Inteira (PI), ou Programao Inteira Mista (PIM) pode ser feita recorrendo a sistemas comerciais para a resoluo de Problemas Lineares como o XPRESS-MP (Dash Optimization).

D esenvolvim ento do model o do problema adequado PLR Desenvolvimento do modelo adequado PL. Desenvolvimento dos mtodos de pesquisa.

Modelo do problema adequado ao Sistema de PL

Sistema de PL Sistema de PLR


Mtodos de Pesquisa em PL

Armazm de Restries Novos Limites para a Varivel custo e informao relativa soluo da Relaxao

Meta-Interpretador sobre Domnios Finitos

Novos Limites para variveis sobre a forma de Restries

Figura 4.1 Plataforma de Integrao da PLR com a PL

Na Figura 4.1 encontra-se representada a plataforma de integrao usada nesta tese. A plataforma constituda por dois mdulos, um desenvolvido sobre o sistema de PLR e outro sobre o sistema de PL. Como se pode ver, aps o desenvolvimento dos modelos adequados a cada um dos sistemas, o processo de pesquisa iniciado, e conduzido a partir do mdulo de PLR. A pesquisa comea com a instanciao de uma varivel a partir do mdulo de PLR, de acordo com as estratgias de seleco de variveis e valores. Aps a instanciao e da respectiva propagao das restries, se ocorrerem alteraes nos domnios das variveis, so acrescentados novas desigualdades ao modelo de LP que traduzem os novos limites das
139

Captulo 4

variveis. O mdulo PL ento chamado a resolver a relaxao do problema (incluindo as novas desigualdades). A soluo ptima encontrada retornada ao mdulo de PLR e passa a constituir o novo limite mnimo (no caso de um problema de minimizao) do custo da soluo parcial encontrada at ento. Adicionalmente pode ser passado outro tipo de informao que possa ser til na conduo da pesquisa (Por exemplo: informao que ajude a seleccionar a prxima varivel e valor). Naturalmente, a eficincia de qualquer esquema baseado nesta plataforma de integrao depende, entre outras, da qualidade da soluo (custo) retornada pelo mdulo de PL e do tempo necessrio para encontrar essa soluo. Neste sentido importante avaliar, por exemplo, se vantajoso considerar a relaxao de mais restries para alm da de integralidade, assim como reduzir o nmero de vezes que se invoca o mdulo de PL. Chamadas desnecessrias ao sistema consumem tempo sem produzir melhorias no custo. Uma das grandes vantagens desta plataforma de integrao que permite a independncia dos modelos e mtodos de pesquisa associados a cada um dos mdulos. Neste sentido qualquer mtodo de pesquisa pode ser usado, nomeadamente do lado da PLR. Por exemplo, a integrao de uma instncia desta plataforma, no mtodo de Pesquisa Quase Local apresentado no Captulo 5 4 trivial.

4.5

Instncias da Plataforma de Integrao

Dependendo da informao passada entre os sistemas de PLR e PL podemos ter diferentes instncias da plataforma apresentada na seco 4.4. Na forma mais simples o mdulo de PL apenas retorna o custo da soluo ptima, que como referimos anteriormente, passa a constituir um limite da soluo parcial em considerao. No entanto, pode ser passada outra informao de forma, por exemplo, a conduzir-se a pesquisa mais rapidamente no sentido da soluo ptima para o problema global. Com base na plataforma apresentada anteriormente, foram desenvolvidas no mbito desta tese trs instncias, que correspondem a outros tantos esquemas de integrao. Os esquemas sugeridos baseiam-se em ideias apresentadas nos trabalhos de (Rodosek R. 1999) e (Jain V. 2001).

140

Integrao da PLR com PL para a Resoluo do PETMUP

4.5.1

Esquema de Limites Simples

O esquema de Limites Simples (LS) corresponde instncia mais simples da nossa plataforma de integrao. Neste esquema o sistema de PL retorna ao mdulo de PLR apenas o custo da soluo ptima encontrada. O modelo considerado pela PL engloba todas as restries e variveis do problema excepto a restrio de integralidade. O processo de pesquisa controlado pelo mdulo de PLR. Sendo assim, antes do pedido de resoluo ao mdulo de PL do problema relaxado, so-lhe passadas as desigualdades que traduzem as alteraes aos domnios das variveis que ocorreram aps a instanciao e propagao. Por exemplo, a propagao de uma determinada restrio reduziu o domnio da varivel X de D(X)=[2..8] para D(X)=[5..8]. Neste caso deve ser adicionado ao modelo de PL uma desigualdade do tipo X5.

1- Criar o modelo do problema adequado PLR (variveis e restries) e definir o mtodo de pesquisa. 2- Converter o modelo em PLR para um modelo em PL, negligenciando a restrio de integralidade e resolver o problema. 3- Seleccionar uma (em situao de retrocesso: alternativa para a) varivel de acordo com a estratgia de seleco de variveis. 4- Seleccionar um (em situao de retrocesso: alternativa para o) valor do domnio da varivel de acordo com a estratgia de seleco de valores e instanciar a varivel com o valor seleccionado. Se no existirem alternativas retroceder ao ponto 4 da iterao anterior. 5- Propagar as restries. Se ocorrer uma falha retroceder ao ponto 4. 6- Traduzir as alteraes nos domnios das variveis em desigualdades e acrescentar ao modelo em PL. Chamar o sistema de PL a resolver o problema relaxado guardando o custo da soluo retornada. Saltar para o passo 8. 7- Comparar o custo da melhor soluo at ento com o custo (ptimo) do problema relaxado guardado. Se este ltimo for maior (problema de minimizao), retroceder ao ponto 7 da iterao anterior seno retroceder ao ponto 4 da iterao corrente. 8- Saltar para o passo 3 at todas as variveis estarem instanciadas. 9- Se existirem alternativas para os valores, guardar o custo da soluo actual e retroceder ao ponto 7; seno, acabar o algoritmo e retornar a melhor soluo (ptima) encontrada at ento. Figura 4.2 Passos do esquema de Limites Simples

Considerando o que foi dito acima, podemos sintetizar o esquema de Limites Simples nos passos indicados na Figura 4.2. Note-se, que neste caso o mdulo de PL funciona como um algoritmo de propagao para a restrio que representa a funo de custo. Supostamente este

141

Captulo 4

algoritmo de propagao mais eficiente que os algoritmos de propagao que poderiam ser implementados no sitema PLR.

4.5.2

Esquema de Escolha Informada

1- Criar o modelo do problema adequado PLR (variveis e restries) e definir o mtodo de pesquisa. 2- Converter o modelo em PLR para um modelo em PL, negligenciando a restrio de integralidade e resolver o problema guardando a soluo sollp 3- Seleccionar uma (em situao de retrocesso: alternativa para a) varivel de acordo com a estratgia de seleco de variveis. 4- Instanciar a varivel seleccionada em 3 ou impor restries na seguinte sequncia (conforme o nvel de retrocesso): a. Var = vlp se vlp for um nmero inteiro. Se no for inteiro salta para b (vlp corresponde ao valor da varivel var constante na soluo obtida pela PL sollp)

b. Var vlp c. Var > vlp


d. De acordo com uma estratgia de seleco de valores convencional Se no existirem alternativas retroceder ao ponto 4 da iterao anterior. 5- Propagar as restries. Se ocorrer uma falha retroceder ao ponto 4. 6- Traduzir as alteraes nos domnios das variveis em desigualdades e acrescentar ao modelo em PL. Chamar o sistema de PL a resolver o problema relaxado guardando o custo da soluo retornada. Saltar para o passo 8. 7- Comparar o custo da melhor soluo at ento com o custo (ptimo) do problema relaxado guardado. Se este ltimo for maior (problema de minimizao) retroceder ao ponto 7 da iterao anterior seno retroceder ao ponto 4 da iterao corrente. 8- Saltar para o passo 3 at todas as variveis estarem instanciadas. 9- Se existirem alternativas para os valores guardar o custo da soluo actual e retroceder ao ponto 7, seno acabar o algoritmo e retornar a melhor soluo (ptima) encontrada at ento. Figura 4.3 Passos do esquema de Escolha Informada

Tal como referido anteriormente, a pesquisa pode ser direccionada de acordo com informao obtida a partir da resoluo do problema em PL. O Esquema de Escolha Informada (EI) baseia-se precisamente nessa ideia. Mais especificamente, no esquema de EI a seleco dos valores para instanciar as variveis feita de acordo com os valores obtidos pelo mdulo de PL na resoluo do problema relaxado. A forma como implementado este mecanismo apresentado na Figura 4.3.

142

Integrao da PLR com PL para a Resoluo do PETMUP

A diferena entre o esquema de LS e EI corresponde basicamente estratgia de seleco de valores que, no caso do esquema de EI, utiliza informao obtida a partir da soluo retornada pela PL. Como se pode ver no passo 5 da Figura 4.3, a estratgia de seleco tenta em primeiro lugar instanciar a varivel com o valor obtido pela PL. Naturalmente isto s possvel se o valor for inteiro. Caso o valor no seja inteiro, a estratgia comea por impor uma restrio do tipo Var < vlp. Em caso de falha e, consequentemente retrocesso, primeiro imposta a restrio complementar Var > vlp , e se esta tambm falhar os valores so seleccionados segundo uma estratgia de seleco de valores pr-determinada.

4.5.3

Esquema de Verificao de Consistncia

O esquema de Verificao de Consistncia (VC) baseia-se na ideia apresentada em (Jain V. 2001). Neste artigo, os autores propem a diviso do problema em dois sub-problemas, adequados respectivamente para o mdulo de PLR e de PL. Feita a diviso, o mdulo de PL chamado a encontrar a soluo ptima do seu sub-problema. De seguida, o mdulo de PLR chamada a resolver um problema de consistncia que estenda a soluo encontrada pela PL a uma soluo ptima para o problema global. Naturalmente, o mtodo proposto em (Jain V. 2001) est limitado a problemas para os quais possvel a sub-diviso o que no o caso do PETMUP. O mtodo de VC, corresponde a uma adaptao da ideia subjacente ao mtodo de (Jain V. 2001) capaz de lidar com qualquer tipo de problema. Os passos correspondentes ao algoritmo podem ser vistos na Figura 4.4. De acordo com a Figura 4.4 o modelo criado para o mdulo de PL corresponde a uma relaxao do problema global, na qual no se consideram algumas restries, mas na qual se considera a restrio de integralidade. Neste caso, estamos perante um problema em Programao Inteira (PI). Tal como nos outros esquemas, a pesquisa controlada pelo mdulo de PLR e o modelo respectivo inclui todas as restries. A pesquisa evolui em primeiro lugar com o mdulo de PL a procurar a soluo ptima para a relaxao do problema, em seguida o mdulo de PLR verifica se a soluo retornada globalmente consistente. Se no for, ento o mdulo de PLR comea a pesquisa instanciando variveis como se do esquema de LS se tratasse. Em cada iterao (varivel instanciada), o mdulo de PI chamado a resolver o problema relaxado e o mdulo de PLR a verificar a consistncia global da soluo retornada. Naturalmente, mesmo que a soluo no seja

143

Captulo 4

globalmente consistente o seu custo constitui um limite inferior (no caso de um problema de minimizao) do custo da soluo global, semelhana do esquema de LS.

1- Criar o modelo do problema adequado PLR (variveis e restries) e definir o mtodo de pesquisa. 2- Converter o modelo em PLR para um modelo em PL, negligenciando a restrio de integralidade e resolver o problema. 3- Seleccionar uma (em situao de retrocesso: alternativa para a) varivel de acordo com a estratgia de seleco de variveis. 4- Seleccionar um (em situao de retrocesso: alternativa para o) valor do domnio da varivel de acordo com a estratgia de seleco de valores e instanciar a varivel com o valor seleccionado. Se no existirem alternativas retroceder ao ponto 4 da iterao anterior. 5- Propagar as restries. Se ocorrer uma falha retroceder ao ponto 4. 6- Traduzir as alteraes nos domnios das variveis em desigualdades e acrescentar ao modelo em PL. Chamar o sistema de PL a resolver o problema relaxado guardando o custo da soluo retornada. 7- Verificar a consistncia global da soluo retornada pelo sistema de PL e se o problema for consistente saltar para o passo 10 seno saltar para o passo 9. 8- Comparar o custo da melhor soluo at ento com o custo (ptimo) do problema relaxado guardado. Se este ltimo for maior (problema de minimizao) retroceder ao ponto 8 da iterao anterior seno retroceder ao ponto 4 da iterao corrente. 9- Saltar para o passo 3 at todas as variveis estarem instanciadas. 10- Se existirem alternativas para os valores guardar o custo da soluo actual e retroceder ao ponto 8, seno acabar o algoritmo e retornar a melhor soluo (ptima) Figura 4.4 Passos do esquema de Verificao de Consistncia

A eficincia do esquema de VC depende da qualidade das solues retornadas pelo mdulo de PL face ao tempo que este necessita para determinar essa soluo. Note-se que o tempo de resoluo depende das relaxaes efectuadas, sendo tanto maior quanto menor o nmero de relaxaes. No entanto, um nmero elevado de relaxaes aumenta a probabilidade da soluo ser globalmente inconsistente.

4.6

A Resoluo do PETMUP Usando os Esquemas de Integrao de LS, EI e VC

A aplicao de qualquer um dos esquemas introduzidos nas seces anteriores ao PETMUP levanta algumas questes de implementao que merecem ser referidas.

144

Integrao da PLR com PL para a Resoluo do PETMUP

4.6.1

Questes de Implementao

Dada a independncia entre os mdulos de PL e de PLR, o mtodo apresentado no Captulo 3 pode ser usado como mdulo de PLR quase sem adaptaes. Mais especificamente, pode ser utilizado o mesmo modelo do problema, o mesmo algoritmo de pesquisa e, dependendo do esquema de integrao, as mesmas estratgias de seleco de variveis e valores. Por esta razo, para os testes efectuados na seco seguinte foi usado o mesmo modelo do problema, assim como o mesmo mtodo de pesquisa, nomeadamente o Branch&Bound Bsico (BBB). Da mesma forma, utilizaram-se, as mesmas estratgias de seleco de variveis e valores MinVar+MinVal+Ctm. Tal no se aplica ao esquema de EI, em que a estratgia de seleco de valores particular ao mtodo, de acordo com o que foi especificado na Figura 4.3. Ainda relativamente estratgia de seleco de valores usada no esquema de EI, o tipo de varivel usada para seleco foi o mesmo dos restantes esquemas. No esquema de VC necessrio definir quais as relaxaes a executar, ou seja, necessrio determinar que simplificaes fazer ao modelo de PL. Tal como referido anteriormente, deve ser alcanado um equilbrio entre a qualidade das solues e o tempo necessrio para determinar essas solues. No caso do PETMUP, algumas restries como as de precedncia (2.5) e no simultaneidade (2.6) tm pouco impacto nas solues pois so em nmero reduzido e, como tal, pouco restritivas. Por esta razo, nos testes realizados e cujos resultados so apresentados na seco seguinte o problema relaxado a ser resolvido pelo mdulo de PL no considera estas restries. Relativamente ao mdulo de PL, o sistema de PLR usado nesta tese (ECLiPSe) disponibiliza uma biblioteca que estabelece uma interface com o XPRESS-MP (Dash Optimization) e que permite criar as desigualdades que traduzem as alteraes dos domnios das variveis durante o processo de pesquisa de forma transparente. Para alm disso, os sistemas comerciais de PL, tais como o XPRESS-MP permitem a resoluo de Problemas de PL de forma bastante eficiente sem que o utilizador tenha que desenvolver nenhum mtodo de pesquisa. Estes sistemas incluem verses optimizadas de mtodos como o Simplex, ou dos Pontos Interiores, resolvendo ainda problemas de estabilidade numrica e relacionados com as estruturas para representao dos dados.

145

Captulo 4

4.6.2

Resultados Experimentais

De modo a avaliar cada um dos esquemas apresentados nas seces anteriores, foram realizados diversos testes sobre as instncias, hardware, e software utilizados na seco 3.6.3 do Captulo 3. Especificamente para a resoluo dos problemas de PL utilizou-se o sistema XPRESS-MP (Dash Optimization), por ser reconhecidamente eficiente, dispor de licena gratuita para universidades, e existir uma interface entre este e o ECLiPSe. Dado nenhum dos esquemas possuir componentes aleatrios apenas se realizou cada um dos testes uma nica vez. Na Figura 4.5 e Figura 4.6 encontram-se representados os resultados obtidos por cada um dos esquemas para as 10 instncias usadas nos captulos anteriores.

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% msh_10_24_a1 msh_10_24_b1 msh_10_24_c1 msh_10_24_d1 msh_10_24_e1 LS EI VC

Figura 4.5 Resultados dos esquemas de integrao LS, EI e VC para as instncias do tipo msh_10_24_x

Os resultados correspondem a tempos de computao necessrios para determinar solues com um determinado custo. Os custos obtidos so os ptimos para a maior parte das instncias. Nalguns casos (esquema vs. instncia) no foi possvel obter a soluo ptima dentro do tempo limite de clculo; nessas situaes considerou-se a soluo com o melhor custo obtido pelo pior esquema. Os tempos so dados em percentagem do pior tempo. Tal como anteriormente, o pior tempo para obter a soluo para cada instncia classificado com 100%. Os restantes tempos so dados em funo do pior. Por exemplo, na Figura 4.5 podemos ver que para a instncia msh_10_24_a1 o esquema LS demorou pouco mais de 1/5 do tempo (23%) do que o pior esquema, que foi o de EI, para encontrar a soluo ptima.
146

Integrao da PLR com PL para a Resoluo do PETMUP

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% msh_15_24_a1 msh_15_24_b1 msh_15_24_c1 msh_15_24_d1 msh_15_24_e1 LS EI VC

Figura 4.6 Resultados dos esquemas de integrao LS, EI e VC para as instncias do tipo msh_15_24_x

Uma anlise dos resultados permite-nos tirar as seguintes concluses:

O esquema de LS obteve os melhores resultados para todas as instncias consideradas. A diferena parece mais significativa para as instncias com menor nvel de Estreitamento. Este facto sugere que nem a informao retornada pelo mdulo de PL no caso do esquema de EI, nem a relao qualidade da soluo versus tempo de computao no caso do esquema de VC parecem compensar face abordagem mais simples do esquema de LS;

O esquema de VC obteve piores resultados que o de EI nas instncias com menor nvel de Estreitamento. Isto principalmente notrio nas instncias de maior dimenso. Este comportamento pode ser justificado pelo facto de nas instncias com menor nvel de estreitamento o nmero de restries no consideradas no problema relaxado tratado pela PL ser maior. Logo a qualidade da soluo retornada pelo mdulo de PL em princpio, pior e a probabilidade desta ser consistente menor.

4.6.3

Comparao de Resultados

Apesar da diferena de resultados obtidos por cada um dos esquemas, todos eles permitiram resolver as instncias consideradas num espao de tempo mais curto de que o melhor mtodo apresentado no Captulo 3 nomeadamente o BBB com as estratgias

147

Captulo 4

MinVar+MinVal+Ctm (BBB_Ctm). Por uma questo de clareza no apresentaremos aqui a comparao entre todos os esquemas e o BBB. A comparao ser feita unicamente entre o melhor esquema de LS e o BBB. O grfico da Figura 4.7 estabelece uma comparao entre os resultados obtidos pelo mtodo de BBB_Ctm, e os resultados obtidos pelo esquema de LS, para as mesmas 10 instncias do PETMUP usadas nos testes do Captulo 3. Os valores so dados em percentagem e representam o tempo de computao necessrio para o esquema de LS obter uma soluo com um determinado custo (na maioria dos casos ptima) em relao ao mtodo BBB_Ctm.

30% 25% 20% 15% 10% 5% 0% iem_xx_24_a1 iem_xx_24_b1 iem_xx_24_c1 iem_xx_24_d1 iem_xx_24_e1 xx=10 xx=15

Figura 4.7 Comparao de resultados obtidos pelo mtodo de BBB apresentado no Captulo 3 e pelo esquema de LS

Como se pode ver pelo grfico da Figura 4.7, o esquema de LS permite reduzir significativamente o tempo de computao para as instncias consideradas. No caso das instncias de menor dimenso (iem_10_24_xx) a reduo superior a 70% sendo ainda mais significativa para as instncias de maior dimenso (iem_15_24_xx) onde a reduo superior a 80%. Pela observao do grfico tambm parece haver uma certa tendncia para a eficincia do esquema de LS aumentar com o nvel de Estreitamento. Este facto pode confirmar a falta de perspectiva global do problema por parte da PLR, ou doutro ponto de vista a maior perspectiva da PL. De facto, nos problemas com maior nvel de Estreitamento o nmero de
148

Integrao da PLR com PL para a Resoluo do PETMUP

solues tendencialmente maior, pelo que a questo principal est em descobrir a soluo ptima e no uma s soluo. Como referido anteriormente, a perspectiva mais global da PL pode ajudar nestas situaes.

4.7

Questes Para Trabalho Futuro

Para alm dos bons resultados obtidos pelo esquema de integrao de LS, este pode ser utilizado como um algoritmo de filtragem e portanto independente do mtodo de pesquisa usado. Deste modo, qualquer um dos mtodos apresentados nos captulos que se seguem pode incluir o esquema de LS e de algum modo melhorar o desempenho do mdulo de PLR em particular, e do prprio mtodo no geral.

149

Captulo 5

O Mtodo de Pesquisa Quase Local na Resoluo do Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

5.1

Introduo

Tal como referido na seco 3.3 o mtodo de pesquisa bsico subjacente PLR baseia-se num algoritmo de pesquisa em profundidade com retrocesso (PPR). A eficincia do PPR, sendo um algoritmo completo, depende fortemente do caminho at primeira soluo, ou seja da heurstica usada para a seleco das variveis e valores. Mesmo com as heursticas adequadas, uma m deciso cometida numa fase inicial da pesquisa pode implicar um afastamento da soluo ptima e aumentar drasticamente o tempo de computao. Vejamos o exemplo da Figura 5.1.

Figura 5.1 Ilustrao de um exemplo de pesquisa em profundidade

Na Figura 5.1 encontra-se um mapa com os trajectos possveis de ligao entre 12 cidades. Determinado viajante parte da cidade C1 com o objectivo de encontrar o caminho mais curto para a cidade C6. O viajante no possui mapa nem conhece o caminho, mas recebeu indicaes para, no caso de ter que tomar uma deciso, seguir a seguinte ordem: Tomar a direco Sul
153

Captulo 5

Tomar a direco Leste Tomar a direco Norte Tomar a direco Oeste Note-se que este problema consiste em encontrar o caminho mais curto entre dois vrtices de um grafo e que existem algoritmos para encontrar uma soluo de forma eficiente, de que so exemplos: o algoritmo de Bellman-Ford e o algoritmo de Dijkstra's (Gondran M. 1984). Para alcanar a cidade C6, e seguindo as orientaes sugeridas, o viajante far o seguinte percurso:

C1 C3 C11 C12 (C11 ) C9 C10


(C9 ) C2 C7 C8 (C7 ) C5 C6

(5.1)

Se o factor de optimizao for a distncia percorrida, esta soluo tem um custo muito elevado e para obter a soluo ptima o mtodo utilizado requer um nmero elevado de iteraes. Naturalmente, com uma ordem de deciso diferente, como por exemplo, comeando por seguir a direco Leste, a primeira soluo teria um custo melhor. Outra forma de melhorar a pesquisa consiste em incluir restries, como por exemplo a seguinte: No visitar cidades com um nico caminho de acesso, excepto se a cidade for de destino Com esta restrio, a primeira soluo seria dada pelo caminho representado em (5.2).

C1 C3 C11 C9 C2 C7 C5 C6

(5.2)

Supostamente, se forem cometidos poucos erros, mtodos como o Limited Discrepancy Search, apresentado na seco 3.4.4, podem reduzir o tempo de computao, limitando a explorao da rvore de pesquisa a uma determinada rea na vizinhana do caminho dado pelas heursticas de seleco. No entanto, na maioria dos problemas reais no existem heursticas capazes de cometer poucos erros, pelo que limitar a rea de pesquisa pode impedir a obteno da soluo ptima, ou aumentar ainda mais o tempo de computao no caso da pesquisa ser completa (tal como demonstram os resultados do LDS obtidos na seco 3.6.3). Considerando estes factos, uma ideia de melhoria pode ser a promoo de saltos na rvore de pesquisa sempre que se identificar que a rea que est a ser explorada no promissora. Esta ideia simples precisamente a base dos mtodos denominados No Sistemticos, na sua maioria baseados numa Pesquisa Local.

154

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

Numa Pesquisa Local (PL), as solues so obtidas directamente a partir da alterao, ou combinao de outras solues. As alteraes so feitas com base em heursticas e resultam num conjunto de solues, denominado Vizinhana, que podero ser vlidas ou invlidas. Durante a pesquisa, o algoritmo escolhe um Vizinho vlido de entre a vizinhana (normalmente aquele que tem o melhor custo), a partir do qual gera uma nova vizinhana (ver seco 5.2.2). Retomando o exemplo anterior, podemos considerar uma vizinhana em que cada vizinho obtido retirando uma cidade aleatoriamente do percurso do viajante (soluo) e refazendo a ligao. Uma soluo possvel partindo da soluo (5.2) consiste em retirar C11 do trajecto obtendo-se a soluo seguinte.

C1 C3 C9 C2 C7 C5 C6

(5.3)

O movimento necessrio para se obter a soluo encontra-se representado na Figura 5.2. A soluo obtida tem um melhor custo que a anterior. Note-se que, com apenas uma iterao se obteve o resultado, que no caso de se usar PLR baseada numa pesquisa em profundidade, necessitaria de muitas iteraes.

Figura 5.2 Alterao da soluo obtida aps um movimento segundo um mtodo de pesquisa local

Apesar da pesquisa local poder ser favorvel em muitos casos esta tambm tem algumas limitaes:

A determinao da validade dos vizinhos de entre a vizinhana poder ser por si s um problema e tanto mais grave quanto maior a sua complexidade e/ou dimenso. No limite, determinar essa validade pode corresponder a resolver o problema. No nosso exemplo, podemos reduzir a dimenso da vizinhana reduzindo o nmero de cidades a retirar do
155

Captulo 5

trajecto. No entanto, determinar como restabelecer o trajecto constitui um problema por si s difcil de resolver, ou pelo menos custoso em termos de tempo de computao;

A escolha da soluo a seleccionar de entre as possveis pode tambm constituir um problema. No nosso exemplo, podemos querer, para alm de restabelecer o trajecto, faze-lo com o menor custo possvel;

Mesmo quando possvel seleccionar a melhor de entre todas as solues possveis, no h garantias de se estar a tomar o rumo certo no sentido de obter a soluo ptima, normalmente caminha-se no sentido de um mnimo local.

Considerando o tipo de problemas da PL, facilmente podemos constatar que se por um lado algumas ideias subjacentes PL podem ser teis para melhorar a eficincia da PLR, por outro as ideias subjacentes PLR tambm podem ser teis PL. Neste captulo, apresentaremos um mtodo hbrido, denominado Pesquisa Quase Local (PQL) que combina a PLR com um mtodo No Sistemtico baseado numa pesquisa local. A ideia base da PQL consiste em usar a PLR para desenvolver o modelo do problema e encontrar uma primeira soluo, que poder ser um mnimo local. Depois usar-se um mtodo no sistemtico, para efectuar saltos na rvore de pesquisa. De outra perspectiva, a ideia base da PQL consiste em usar um mtodo no sistemtico para percorrer o espao de pesquisa e a PLR para construir e explorar a vizinhana. Com esta integrao podemos manter as potencialidades da PLR para o desenvolvimento de modelos, assim como aproveitar a sua capacidade de resolver problemas de pequenas dimenses e com um baixo nvel de estreitamento, aproveitando simultaneamente as capacidades dos mtodos no sistemticos para a explorao dos grandes espaos de pesquisa.

5.2

Mtodos No Sistemticos

A generalidade das publicaes define um mtodo Sistemtico como um mtodo completo. Por oposio, os mtodos incompletos so classificados como no Sistemticos. No entanto, tal como Tsang refere em (Freuder E. 1995), se considerarmos o problema de atribuir 30 tarefas a 10 mquinas (satisfazendo algumas restries) temos de lidar com um espao de pesquisa de 1030 ns. Nem todo o espao de pesquisa necessita de ser explorado. Mas mesmo que disponhamos de um algoritmo muito eficiente que apenas tenha de percorrer um n por cada 1010 ainda necessrio explorar 1020 ns. Se dispusermos de uma mquina e de um algoritmo capaz de examinar 1010 ns

156

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

por segundo (o que muito difcil) e considerando que um ano dispe de 3*107 segundos, ainda seriam necessrios 300 anos para resolver o problema. Por esta razo, um mtodo sistemtico pode ser na prtica incompleto. Por outro lado, noutros casos, independentemente da dimenso do problema, a prova pode ser simples. Por exemplo, ser possvel atribuir 106 tarefas, com durao unitria, a 100 mquinas com uma capacidade produtiva global de 106-1? Claro que no. Nestes casos um mtodo Sistemtico pode dar a resposta de forma eficiente, enquanto um mtodo No Sistemtico no.

5.2.1

Mtodos Heursticos

O conjunto dos mtodos No Sistemticos no geral e dos mtodos Estocsticos em Particular tem vindo a crescer ao longo da histria. Uma subclasse dos mtodos No Sistemticos em franca expanso e que inclui tambm mtodos Estocsticos so as denominadas Meta-Heursticas. Em (Pirlot M. 1996), Pirlot inclui nas Meta-Heursticas a Pesquisa Tabu (PT) (Glover F. 1989), o Simulated Annealing (Kirkpatrick S. 1983), os Algoritmos Genticos (Goldberg D. 1989) e as Redes Neuronais (Beale R. 1990). No entanto, nos ltimos anos tm surgido novos mtodos e principalmente variantes dos mtodos existentes. Como se pode ver em (Ribeiro C. 2001), para alm de variantes dos Algoritmos Genticos, Pesquisa Tabu e Simulated Annealing so includos nas Meta-Heursticas os Algoritmos Memticos (Guerri D. 1991), a Optimizao como Colnia de Formigas (Dorigo M. 1996), a Pesquisa por Espalhamento (Glover F. 2000), entre outros. Todos estes mtodos tm como denominador comum o facto de, como o prprio nome indica, se basearem em heursticas para fundamentarem o processo de deciso. De uma forma geral, heursticas so mtodos, critrios, ou princpios, para decidir de entre vrios caminhos alternativos quais os mais promissores, no sentido de se atingir um determinado objectivo. De acordo com Pearl (Pearl J. 1984), as heursticas so baseadas normalmente na intuio humana e representam normalmente um compromisso entre duas necessidades: A necessidade de serem critrios simples e, simultaneamente, a necessidade de permitirem uma diferenciao clara entre boas e ms opes. Uma heurstica pode ser uma regra bsica usada para guiar aces. Contrariamente PLR em particular e aos mtodos Sistemticos em geral, nas Meta-Heursticas a pesquisa tem incio com uma soluo (no necessariamente completa, ou consistente com o

157

Captulo 5

conjunto das restries) que iteractivamente melhorada at que se alcance um determinado critrio de paragem. Este mecanismo constitui a base dos algoritmos ditos de Pesquisa Local (PL).

5.2.2

Pesquisa Local

O mecanismo bsico da pesquisa local consiste em alterar localmente uma dada soluo no sentido de obter uma outra soluo com um melhor custo. A alterao feita segundo um determinado critrio, ou heurstica e corresponde ento a uma iterao do algoritmo. Normalmente o conjunto das alteraes possveis no unitrio, dando assim origem ao conceito de Vizinho e Vizinhana. Consideremos as definies seguintes: Definio 5.1 Vizinhana Uma vizinhana N ( x, ) corresponde ao conjunto de solues que pode ser obtido por aplicao da funo de vizinhana soluo x. Por simplificao tambm poderemos representar a vizinhana de x somente por N(X). Definio 5.2 Vizinho Cada elemento y da vizinhana N ( x, ) corresponde a um vizinho de x. Cada vizinho (soluo) x ' N ( x ) pode ser obtido directamente a partir de x atravs de uma operao denominada movimento ou transio. Normalmente na PL as vizinhanas so consideradas simtricas, ou seja, x ' N ( x ) e x N ( x ' ) . Considerando estas definies podemos dizer que um algoritmo de pesquisa local parte de uma soluo inicial, que pode ser arbitrria ou obtida a partir de uma heurstica construtiva. Seguidamente, em cada iterao, escolhe-se uma soluo na vizinhana da soluo actual, normalmente a que tem melhor custo. Quando o custo da soluo melhor do que o custo de todos os seus vizinhos diz-se que o algoritmo encontrou um mnimo local ou ptimo local. Definio 5.3 Mnimo Local Se a soluo y melhor do qualquer outra soluo da sua vizinhana N ( y, ) , ento y um Mnimo Local ou ptimo Local. A escolha da funo de vizinhana determinante para a eficincia do algoritmo. Esta funo pode ser simples, como por exemplo a troca do valor de um objecto da soluo, ou a troca de valores entre dois objectos da soluo, ou pode ser complexa traduzindo um conjunto de aces que, por exemplo, um especialista humano tomaria aquando da resoluo do problema. Desde cedo que a definio da funo de vizinhana constitui um tpico de investigao no contexto da pesquisa local (Lin S. 1973). Um dos parmetros importantes a profundidade da vizinhana.

158

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

Consideremos uma vizinhana N1 ( x, ) com profundidade p=1. De uma forma simples, uma vizinhana N2 com profundidade p=2, corresponde ao conjunto de solues

N 2 = N1 { N ' ( y, ) : y = ( ( x))} . Em geral, uma profundidade elevada no razovel, uma vez


que o tamanho da vizinhana cresce exponencialmente com p. No entanto, a utilizao de profundidades superiores a 1 pode ser uma forma interessante de minimizar problemas, como aquele em que um largo nmero de vizinhos tem custos semelhantes. Recentemente a utilizao de Vizinhanas de Grande Dimenso tm constitudo um tpico de investigao, principalmente quando existem mtodos eficientes para a sua explorao (Ahuja R. 1999). No Captulo 3 foi apresentado um mtodo em que usada PLR para explorar a soluo do problema. Se considerarmos o espao de pesquisa total do problema como uma vizinhana de uma soluo (primeira), ento este mtodo permite simultaneamente construir, avaliar e determinar o mnimo local relativamente a uma vizinhana. Este facto explorado neste captulo. Um dos problemas dos mtodos de pesquisa local o facto de facilmente ficarem presos num mnimo local, ou seja, aps algumas iteraes o algoritmo no pode continuar porque no existe nenhuma soluo na vizinhana da soluo actual com melhor custo. possvel encontrar na literatura vrios mtodos para resolver este problema. Uma estratgia simples denominada Iterated Local Search (Loureno H. 2002) consiste em reiniciar a pesquisa local de cada vez que se alcana um mnimo local, o que implica um esquema de perturbao para gerar uma nova soluo inicial. Naturalmente existem outros mtodos mais complexos que podem ser mais eficientes. Sem perda de generalidade esses mtodos so classificados como Meta-Heursticas.

5.2.3

Conceito de Meta-heurstica

Segundo Glover (Glover F. 1986), uma Meta-heurstica uma estratgia de Alto-nvel que guia uma determinada heurstica na obteno de uma soluo ptima ou quase-ptima. Neste sentido, e segundo (Glover F. 1997) possvel distinguir entre Processo de Conduo e Processo de Aplicao. O processo de conduo decide qual a alterao (local) a fazer de entre as possveis. Por sua vez, o processo de aplicao executa a alterao decidida pelo processo de conduo. Pode ainda haver troca de informao entre os dois processos. A troca, manipulao e interpretao de informao confere s Meta-Heursticas um tipo de inteligncia. Este conceito permite, segundo (Osman I. 1996), estender a definio para:

159

Captulo 5

Uma Meta-Heurstica um processo de gerao interactivo, que guia uma heurstica subordinada na combinao inteligente de diferentes conceitos, para a explorao de espaos de pesquisa, usando estratgias de aprendizagem para estruturar a informao no sentido de obter solues quase-ptimas eficientemente. Com base nesta definio, em termos prticos, a criao de uma meta-heurstica pressupe a definio dos seguintes componentes: 1 - Gerao da Soluo Inicial 2 - Funo de Vizinhana 3 - Critrio de Seleco da prxima soluo de entre a vizinhana 4 - Tcnica para escapar de um mnimo local 5 - Critrio de paragem O mtodo de Pesquisa Quase Local, proposto na seco 5.5, combina o mtodo sistemtico, apresentado na seco 3.6, com as meta-heursticas Simulated Annealing e Pesquisa Tabu. No havendo estanquicidade entre componentes, o mtodo sistemtico responsvel pelo 1 componente e co-responsvel pelas componentes 2 e 3 da lista anterior. As meta-heursticas sero ento responsveis ou co-responsveis pelos restantes componentes. Nas seces seguintes ser feita uma descrio do Simulated Annealing e da Pesquisa Tabu, por serem usadas no mtodo de Pesquisa Quase Local.

5.3

Simulated Annealing

O Simulated Annealing (SA), surgiu no incio da dcada de 80. Devido sua fcil compreenso e implementao, assim como ao seu aparente sucesso em diferentes aplicaes, o SA uma das meta-heursticas mais usadas no mbito da pesquisa combinatorial. As ideias que constituem a base do mtodo foram publicadas pela primeira vez em 1953 por Metropolis (Metropolis N. 1953), num algoritmo que simula o arrefecimento de um material aps um aquecimento para alm do seu ponto de fuso. Durante a simulao, gerada uma perturbao no sistema e calculada a variao de energia. Se a variao negativa, o que implica uma diminuio de energia relativamente ao estado anterior, o sistema assume o novo estado. Se a variao positiva, o novo estado aceite segundo uma probabilidade dada pela expresso (5.4) em que k uma constante fsica conhecida por constante de Boltzmanns.
160

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

p ( E ) = exp

E kt

(5.4)

Trinta anos depois, Kirkpatrick (Kirkpatrick S. 1983) sugeriu que este tipo de algoritmo poderia ser usado para pesquisar solues quase-ptimas de um problema de optimizao numa extenso a um algoritmo de pesquisa local. Tal como foi referido anteriormente, um algoritmo de pesquisa local tende ao fim de algumas iteraes a ficar preso num mnimo local. Para sair deste mnimo, necessrio que sejam aceites solues com um custo pior do que o actual. No entanto, dado o objectivo final ser convergir para um mnimo global, necessrio saber em que situaes devem ser aceites estas piores solues. Kickpatrick sugeriu ento uma alterao ao algoritmo de arrefecimento na qual, em vez de estados energticos, se considera uma vizinhana e, em vez de energia, se considera o custo de cada vizinho. Assim, uma vez seleccionado um vizinho de entre a vizinhana, segundo um determinado critrio, o vizinho aceite se o seu custo for relativamente melhor, ou se o seu custo for pior, aceite segundo uma probabilidade dada pela funo (5.4).

C0=0 C1=1 Sim C1=1 C2=2 Aceitar? V<e(2-3)/t ...

C2=2 C3=2 Sim

Sim

C3=2 V<e(1-2)/t C1=1 no

C3=2 Sim C4=3

Figura 5.3 Ilustrao de um exemplo do algoritmo de Simulated Annealing

O nvel de aceitao depende assim da magnitude do aumento relativo do custo, assim como da temperatura, que pode corresponder a um parmetro de controlo que afectado pelo tempo de pesquisa ou nmero de iteraes. Como a funo de aceitao probabilstica, o SA um mtodo Estocstico. Um possvel algoritmo para um problema de minimizao com um espao de pesquisa

161

Captulo 5

P, uma funo de custo f , uma soluo s e uma estrutura de vizinhana N, pode ser o da Figura 5.4.

Determinar uma soluo inical Selecionar uma temperatura inicial t0>0 Selecionar uma funo de arrefecimento Repetir Repetir Selecionar aleatoriamente uma soluo s de N(s) Se f(s)-f(s0)<0

s0=s
Seno Gerar um valor v segundo uma distribuio uniforme no intervalo [0,1] Se v<exp((f(s)-f(s0)/t ento s0=s At um nmero de ciclos ser alcanado

t=(t)
At critrio de paragem ser alcanado Retornar a soluo s0 Figura 5.4 Algoritmo base para o Simulated Annealing

5.3.1

Convergncia do Algoritmo: Da teoria prtica

Para alm dos pontos referidos na seco anterior, outro factor que ajudou ao sucesso do SA foi o facto de se poder provar a sua convergncia. Segundo (Aarts E. 1989), pode-se desenvolver um modelo do SA recorrendo a Cadeias de Markov. Neste contexto, para uma temperatura constante a probabilidade de transio Pij de uma soluo i para uma soluo j depende unicamente de i e j. Pij inclui a probabilidade de seleccionar j a partir da vizinhana de i, assim como a probabilidade de aceitar j. Este tipo de transio corresponde a uma cadeia de Markov Homognea. Desde que seja possvel encontrar uma sequncia de transies capazes de transformar uma soluo noutra qualquer, com probabilidade superior a zero, o processo converge no sentido de uma Distribuio Estacionria. Esta distribuio indica a probabilidade com que o algoritmo poder encontrar uma determinada soluo, a partir de uma soluo arbitrria, aps um nmero suficiente de iteraes, uma dada probabilidade de aceitao e uma determinada estrutura de vizinhana. medida que a temperatura tende para zero, tambm a forma da distribuio estacionria tende para uma distribuio uniforme em que a probabilidade de encontrar solues ptimas 1. Isto garante uma convergncia assimttica do SA para o conjunto de solues ptimas.

162

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

Quando o parmetro de controlo (temperatura) no constante, o SA pode ser visto como uma cadeia de Markov No Homognea, que consiste num nmero infinito de cadeias de Markov Homogneas de comprimento finito. Nesta situao, para provar a convergncia necessrio mostrar que a Cadeia de Markov No Homognea associada fortemente Ergdica. Esta prova pode ser encontrada em (Aarts E. 97). Apesar do impacto positivo da convergncia do mtodo, dois problemas esto claramente identificados:

Obter uma soluo quase-ptima implica um tempo de computao e um nmero de iteraes que pode ser superior ao de um mtodo sistemtico (Colin R. 1995). Na prtica, este tempo e nmero de iteraes deve ser limitado, o que pode reduzir drasticamente a probabilidade de se obter uma boa soluo;

Para escapar dos mnimos locais necessrio aceitar solues de m qualidade. Por vezes estas solues desviam significativamente a pesquisa do bom caminho. Se o tempo de pesquisa for muito curto pode no haver tempo para compensar o desvio, o que mais uma vez reduz a probabilidade de se encontrarem boas solues.

A evoluo do mtodo tem-se baseado, ao longo dos anos, em tentativas de atenuar as consequncias destes dois problemas. Para isso, importante a escolha dos parmetros e da estrutura da vizinhana.

5.3.2

Escolha dos parmetros

A base do SA consiste numa pesquisa local, como tal necessrio definir a estrutura da vizinhana e respectiva funo de vizinhana. Esta estrutura deve, tanto quanto possvel, capturar caractersticas do problema que possam acelerar a pesquisa, no sentido da soluo ptima. Por exemplo, no Problema de Escalonamento de Tarefas de Produo em Sistemas Industrias, uma possvel vizinhana consiste em trocar a sequncia de produo das tarefas, ou trocar as mquinas que realizam determinada tarefa (Madureira A. 2003). Outro exemplo, para o problema dos Horrios Escolares, consiste em trocar aulas ou conjuntos de aulas de uns perodos para outros (Abramson D. 1999). Ainda outro exemplo, para a construo de calendrios desportivos, consiste em trocar a sequncia entre jogos, nomeadamente entre aqueles que estejam a violar restries (Hamiez J. 2001).

163

Captulo 5

Para alm da vizinhana, a definio do SA passa pela escolha de um conjunto de parmetros, que na terminologia anglo-saxnica se agrupam no denominado Annealing Schedule. Estes parmetros so os seguintes: Temperatura Inicial que define a probabilidade de aceitao inicial; Razo de Arrefecimento que define a relao entre a temperatura e o estado da pesquisa. A temperatura decresce com a evoluo da pesquisa, ou seja, a probabilidade de aceitao diminui com a evoluo da pesquisa; Temperatura final Define a temperatura final do mtodo. Corresponde, portanto, a um critrio de paragem; N de iteraes a cada temperatura Define o nmero de iteraes que o mtodo executa para uma mesma temperatura. A escolha de cada um destes parmetros determinante para o sucesso do algoritmo e depende da estrutura do problema em causa. Por esta razo, pode-se dizer que o SA um mtodo fcil de entender e implementar, mas difcil de aplicar. Temperatura inicial Para que a soluo final no dependa da soluo inicial, necessrio que a temperatura seja suficientemente elevada para que haja uma explorao suficiente do espao de pesquisa antes do arrefecimento. Isto quer dizer que, inicialmente, a probabilidade de aceitao de uma soluo deve ser elevada independentemente do seu custo. Para se poder garantir esta probabilidade de aceitao necessria informao acerca da magnitude da diferena mxima de custos entre duas solues. Quando esta informao no est disponvel pode-se realizar um processo de aquecimento (elevar a temperatura) at que o grau de aceitao seja o desejado. S depois se realiza o arrefecimento (Aarts E. 97). Razo de Arrefecimento e Nmero de iteraes a cada temperatura A razo de arrefecimento (RA) est intimamente ligada ao nmero de iteraes de cada temperatura. A teoria sugere que, em cada temperatura, a pesquisa se deve aproximar da distribuio estacionria e s depois deve ser decrementada de forma a convergir para zero. Para que se cumpra esta sugesto necessrio para cada temperatura, executar um nmero de iteraes elevado, e que cresce exponencialmente com o tamanho do espao de pesquisa.

164

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

Na literatura possvel encontrar um vasto nmero de esquemas de arrefecimento. Os mais simples e talvez os mais usados denominam-se Esquemas Geomtricos, porque a funo de arrefecimento uma funo geomtrica. Um exemplo ( t ) = k t , em que k<1. Os vrios trabalhos mostram que k deve tomar valores entre 0.8 e 0.99. Outro exemplo de sucesso, apresentado pela primeira vez em (Lundy M. 1986), executa apenas uma iterao por cada temperatura, mas a temperatura reduzida muito lentamente. A funo de arrefecimento

(t ) = t /(1 + t ) , em que uma constante muito pequena. Outros exemplos podem ser
encontrados em (Bonomi E. 1984; Osman I. 1996; Duong T. 2004). Outra classe de esquemas denomina-se Razes de Arrefecimento Mltiplas. Estes esquemas usam diferentes razes de arrefecimento dependendo da fase de pesquisa. Inicialmente usada uma razo maior, para que a pesquisa no passe muito tempo com temperaturas elevadas, hipoteticamente em piores zonas do espao de pesquisa, sendo depois decrementada com o decorrer da pesquisa. Alguns exemplos podem ser encontrados em (Kirkpatrick S. 1983; Osman I. 1995a). Por vezes o SA pode arrefecer cedo demais, ficando deste modo preso num mnimo local. De forma a minimizar este problema utiliza-se normalmente uma forma de Reaquecimento, em que a temperatura incrementada durante algumas iteraes de forma a que se possa escapar do mnimo local. O problema destes mtodos consiste em determinar quando que a pesquisa atinge um mnimo local, e qual a magnitude do aquecimento mnimo que permite escapar do mnimo local. Se os valores no forem bem escolhidos os mtodos podem tornar-se bastante lentos. Ao longo do tempo foram propostas vrias variantes do SA que usam diferentes tipos de funes de Reaquecimento. Alguns exemplos podem ser encontrados em (Connolly D. 1990; Connolly D. 1992; Osman I. 1994; Abramson D. 1999) Temperatura final A temperatura final determina o instante em que a pesquisa terminada. Naturalmente, a temperatura final dever ser muito baixa, com valores prximos de zero para que seja possvel uma convergncia para a soluo ptima. Podero ser utilizados outros critrios de paragem, normalmente baseados no tempo de pesquisa ou no nmero de iteraes.

165

Captulo 5

5.4

Pesquisa TABU

Outra meta-heurstica de sucesso denominada Pesquisa Tabu (PT). A base do mtodo, semelhana do SA, a pesquisa local. No entanto, na PT utilizado um novo conceito, que tal como apresentado por Glover (Glover F. 1986), consiste em evitar ciclos na pesquisa, penalizando movimentos (Tabu) para a prxima iterao que levam a pontos do espao de pesquisa previamente visitados. A pesquisa Tabu relativamente recente. Segundo Glover ter surgido em meados dos anos 70so sculo XX, mas tem permanecido objecto de investigao e consequentemente tem sido frequentemente melhorada. Este mtodo em parte motivado pela observao de que o comportamento humano por vezes baseado numa componente aleatria, o que leva a que, em situaes similares, haja reaces diferentes. O desvio do caminho aparentemente correcto pode ser um erro, mas tambm pode, em certas situaes, ser vantajoso.

C1=2

C0=0

C2=2 C4=1

C3=1

Escolher? C3=1 C4=1 C1=2 mas tabu

TABU LIST C0<->C 2 C1<->C 2

Figura 5.5 Ilustrao de um exemplo de Pesquisa Tabu

O mtodo de pesquisa Tabu funciona segundo este princpio com a excepo dos novos caminhos no serem escolhidos aleatoriamente. Em vez disso, o mtodo efectua as escolhas seguindo a suposio de que no compensa aceitar uma nova (pior) soluo a menos que seja necessrio para evitar um caminho j visitado. Este procedimento assegura a diversificao da pesquisa e a fuga dos mnimos locais.
166

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

A pesquisa Tabu comea com a procura de um mnimo local. Para evitar retrocessos no caminho, o mtodo guarda os movimentos mais recentes em uma, ou mais listas, denominadas Listas Tabu. Estas listas guardam o historial da pesquisa e por essa razo constituem a memria do mtodo. O papel da memria pode variar ao longo da pesquisa. Inicialmente o objectivo permitir uma explorao alargada do espao de pesquisa, processo denominado diversificao da pesquisa. medida que a pesquisa evolui e que so identificados espaos promissores, a pesquisa direccionada no sentido da explorao desses espaos e portanto no sentido de um mnimo local. Este procedimento constitui um processo de intensificao. Na maioria dos trabalhos, a diferena principal entre as diferentes implementaes do mtodo de PT reside na constituio, e adaptao da memria do mtodo ao problema em causa. A memria pode ter uma estrutura simples e ser usada de forma bsica, ou ento pode ter uma estrutura complexa e ser usada para deduzir regras e fundamentar decises. Na sua forma mais simples de utilizao, a memria pode ser constituda por um conjunto de solues obtidas recentemente, ou por um conjunto de movimentos que levaram situao actual. Nas iteraes posteriores no so aceites movimentos que levem a solues, ou movimentos contrrios, existentes na memria. Este tipo de memria denomina-se Short Term Memory. Numa utilizao mais complexa, a memria pode ser constituda por solues, por movimentos isolados e/ou por conjuntos de movimentos que, posteriormente, podem ser usados para identificar caractersticas das boas, ou ms solues, dos bons ou maus caminhos, etc.. Estes dados permitem deduzir regras, ou fundamentar decises, no sentido de tornar a pesquisa mais orientada e eficiente. Este tipo de memria denominado Longer Term Memory. Em (Glover F. 1997) a questo da definio e utilizao dos vrios tipos de memria discutida em pormenor e as regras deduzidas so identificadas como os constituintes das estratgias de Intensificao e Diversificao referidas anteriormente.

5.4.1

Formalizao do mtodo

Tal como referido anteriormente, a base da PT a pesquisa local. Tipicamente o mtodo parte de uma soluo x e respectiva vizinhana N(x). Em cada iterao seleccionado o melhor vizinho yN(x) (no caso de um problema de minimizao e considerando uma funo de custo F, temos

F ( y ) F ( y ') : y ' N ( x) ). Note-se que o vizinho seleccionado mesmo sendo pior que a
soluo a partir da qual foi obtido. Este mecanismo permite escapar dos mnimos locais, mas tambm pode conduzir a ciclos na pesquisa. Pelo mecanismo indicado, se y for pior soluo que x e
167

Captulo 5

x N ( y ) , ento na iterao seguinte o vizinho seleccionado ser novamente x e pesquisa entra em


ciclo. De forma a evitar os ciclos na pesquisa, o mtodo utiliza uma lista Tabu, na qual guarda sequncialmente os movimentos, ou solues, a serem evitadas. No caso da melhor soluo da vizinhana em considerao pertencer lista Tabu, em princpio esta no seleccionada. Por questes de eficincia, o tamanho da lista tem de ser limitado, sendo o tamanho dos ciclos evitados, menor ou igual ao tamanho da lista Tabu. Ou seja, se o tamanho da lista tabu for limitado s k ltimas solues visitadas, possvel evitar ciclos de tamanho no superior a k. A eficincia do mtodo depende, entre outras, do equilbrio entre tempo gasto no processamento da lista e a eficincia na eliminao de ciclos. Em determinadas situaes, nomeadamente quando a lista Tabu constituda por movimentos ao invs de solues, pode acontecer que um determinado movimento Tabu d origem a uma boa soluo, ou at melhor soluo at ento. Neste caso, desejvel executar o movimento. Para que isto acontea comum definir um Critrio de Aspirao, que define em que situaes um movimento Tabu deve ser executado. O algoritmo associado Pesquisa Tabu pode ser o da Figura 5.6.

Determinar uma soluo inical Inicializar a lista Tabu (Lista_Tabu) Repetir Seleccionar a melhor soluo s de N(s) Se movimento necessrio para obter s no pertence Lista Tabu

s0=s
Inserir o movimento na lista tabu e retirar o movimento mais antigo no caso do seu tamanho mximo ser ultrapassado Seno Se segundo o critrio de aspirao s deve ser aceite

s0=s
Inserir o movimento na lista tabu e retirar o movimento mais antigo no caso do seu tamanho mximo ser ultrapassado Seno Retira s de N(s) At ser atingido o critrio de paragem

Figura 5.6 Algoritmo base da Pesquisa Tabu

168

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

A escolha dos parmetros do mtodo essencial para a eficincia do sistema. O nmero de parmetros relativamente elevado e a sua definio depende do tipo de problema em resoluo. No entanto, existem algumas regras empricas que podem ajudar na sua determinao.

5.4.2

Escolha dos Parmetros

Tal como no SA, e porque ambos os mtodos se baseiam em pesquisa local, necessrio definir a estrutura e respectiva funo de vizinhana. Os exemplos apresentados na seco 5.3.2 so vlidos para a PT. Para alm da vizinhana, necessrio definir os seguintes parmetros:

Atributos a serem guardados na lista; Tamanho da Lista Tabu; Critrio de Aspirao; Critrio de Paragem. Atributos a Serem Guardados

Um dos mecanismos mais comuns para a constituio da memria na PT consiste em classificar um conjunto de movimentos como proibidos, ou seja Tabu. A classificao depende do historial da pesquisa e pode ser feita com base na frequncia com que certos movimentos, ou componentes da soluo, denominados atributos, ocorreram nas solues anteriores. Um exemplo, no caso da troca de valores numa soluo, que pode evitar que a pesquisa repita movimentos previamente efectuados, consiste em considerar Tabu todas as trocas entre pares de valores anteriormente considerados. Outros exemplos podem ser encontrados em (Osman I. 1994; Osman I. 1995b; Burke E. 1998; Hamiez J. 2001; Barichard V. 2003). Tal como referido anteriormente, a escolha dos atributos a serem guardados determinante para a eficincia do mtodo e depende do tipo de problema. Os atributos escolhidos devem permitir o cumprimento do objectivo principal, como por exemplo evitar ciclos na pesquisa, e/ou objectivos secundrios como seja guiar a pesquisa. No entanto, estes no devem penalizar o mtodo em termos de esforo computacional ou requerimentos de memria. O tratamento da lista Tabu no deve por si s constituir um problema.

169

Captulo 5

Tamanho da Lista Tabu Para alm da definio da estrutura da Lista Tabu, necessrio definir o nmero de elementos que a constituem. Este nmero normalmente determinado usando um conjunto de regras que podem ser classificadas como Estticas ou Dinmicas (Glover F. 1997). Se a regra esttica, o valor t determinado para o tamanho da lista permanece fixo durante a pesquisa. Ao invs, se a regra dinmica, o valor de t pode mudar medida que o mtodo evolui. Alguns exemplos de cada tipo de regras podem ser encontrados na Tabela 5.1.
Tabela 5.1 - Classificao das regras para determinar o tamanho da Lista Tabu
t=k em que k uma constante que pode tomar um valor determinado empiricamente, ou ser funo de

Regras Estticas

um parmetro do problema, como o nmero de valores que constituem a soluo (Por exemplo: t=f(n);

t=n)
Simples t pode ser seleccionado aleatoriamente, ou segundo um padro sistemtico de entre um conjunto limitado [tmin, tmax], em que os limites podem ser fixos, ou dependerem de um parmetro (Por exemplo: tmin=2, tmax=10, tmin,=0.2n, tmax=0.9n)

Regras Dinmicas
Dependentes de Atributos - t pode ser seleccionado seguindo uma regra dinmica simples mas tmin, e

tmax podem tomar valores diferentes dependendo da qualidade dos atributos.

A experincia no permitiu, at ao momento, determinar uma forma sistemtica de definir o valor de t. Considerando regras estticas, parece que valores entre 7 e 20 funcionam bem para algumas classes de problemas, enquanto valores entre 0.5 n e 2 n , em que n representa a dimenso da vizinhana, funcionam bem para outras classes (Colin R. 1995). A experincia tambm mostra que tipicamente regras dinmicas so mais robustas do que as estticas (Glover F. 1993) e conduzem tambm a melhores resultados para vrias classes de problemas. Por exemplo, em (Dell'Amico M. 1993) so usadas eficientemente regras dinmicas que dependem do tipo e qualidade dos atributos, como valores elevados de t para evitar atributos que participaram em boas solues. Critrio de Aspirao Tal como referido anteriormente, apesar de um determinado movimento poder ser considerado Tabu, a sua execuo pode levar a um novo caminho no sentido da soluo ptima. Nestes casos importante existir um Critrio de Aspirao que se sobreponha Lista e permita a execuo do movimento.

170

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

O critrio de Aspirao mais usado consiste em permitir movimentos que, apesar de classificados como Tabu, possam levar a uma soluo melhor do que a actual. Outros critrios menos usados baseiam-se, normalmente, em informao da estrutura do problema. Por exemplo, se o movimento conduzir a uma zona do espao de pesquisa identificada como boa, ou o movimento permitir um salto para uma zona do espao de pesquisa ainda no visitada, ou pelo menos pouco explorada, o estado Tabu pode ser ignorado. Em (Colin R. 1995) pode ser encontrada uma discusso mais alargada sobre critrios de Aspirao. Critrio de Paragem Os critrios de paragem usados na PT so anlogos aos usados noutros mtodos de pesquisa local, ou meta-heursticas. Os mais comuns so um nmero fixo de iteraes ou um valor fixo de tempo de pesquisa. Outros critrios podero depender da qualidade da soluo. Nestes casos a pesquisa terminar quando a soluo no for melhorada durante um nmero fixo de iteraes.

5.5

O mtodo de Pesquisa Quase Local

Nesta seco ser apresentado um mtodo para resoluo de problemas de pesquisa combinatorial sujeitos a restries, denominado Pesquisa Quase-Local (PQL). Este um mtodo hbrido que combina a PLR com SA, incorporando ainda uma Lista Tabu. A ideia base do mtodo, consiste em aproveitar as potencialidades do SA para explorar grandes espaos de pesquisa e as potencialidades da PLR para modelizar e pesquisar problemas combinatriais. A lista Tabu permite evitar ciclos na pesquisa.

5.5.1

O Algoritmo

No mbito da PQL, a explorao do espao de pesquisa poderia ser feita com base em qualquer uma das meta-heursticas apresentadas na seco 5.2. De entre as meta-heursticas de sucesso escolhemos o SA por ser a que melhor serve a ideia subjacente ao mtodo. O algoritmo relativo PQL pode ser visto na Figura 5.7.

171

Captulo 5

Criar o modelo do problema em termos de variveis de domnio e restries (usando a PLR) Determinar uma soluo inicial s0 usando a PLR Seleccionar uma temperatura inicial t0>0 Seleccionar uma funo de arrefecimento Repetir Repetir A partir da funo de vizinhana gerar as restries necessrias para que o domnio das variveis do problema corresponda vizinhana de s0 Usar a PLR para resolver o problema restringido (determinar o melhor vizinho s) Se f(s)-f(s0)<0

s0=s
Seno Gerar um valor v segundo uma distribuio uniforme no intervalo [0,1] Se v<exp((f(s)-f(s0)/t s0=s At um determinado nmero de ciclos ser alcanado

t=(t)
At critrio de paragem ser alcanado Retornar a soluo s0 Figura 5.7 - Algoritmo de Pesquisa Quase Local

Como se pode ver na Figura 5.7 o modelo do problema desenvolvido em termos de variveis e restries usando a PLR. De seguida, o algoritmo de pesquisa anlogo ao algoritmo apresentado na Figura 5.4 para o SA, com a diferena que quer a primeira soluo, quer a melhor soluo da vizinhana em considerao, so determinadas usando a PLR. Na Figura 5.7, os passos do algoritmo correspondentes PLR esto identificados pela cor preta. De acordo com a ideia apresentada na seco 3.2, a PLR usada para explorar sucessivamente reas diferentes do espao de pesquisa. A explorao dessas reas resulta na determinao de um ptimo local, a partir do qual se gera uma nova rea de pesquisa (vizinhana) usando uma funo de vizinhana includa no SA. Dependendo da funo de vizinhana, cada uma das novas reas pode estar mais ou menos afastada da soluo a partir da qual foi gerada, o que de alguma forma se repercute em termos da rvore de pesquisa. Na prtica, passar de uma rea (vizinhana) para outra pode ser visto como um salto na rvore de pesquisa, e a pesquisa de cada rea como uma explorao de uma determinada zona da rvore.

172

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

5.5.2

Questes de Implementao

A introduo da explorao da vizinhana usando a PLR acarreta algumas alteraes ao mtodo SA bsico, as quais merecem discusso. Tal como referido na seco 5.3, de modo a garantir uma boa soluo deve conseguir-se um bom compromisso entre a temperatura inicial, a funo de arrefecimento, o nmero de iteraes e a dimenso da vizinhana. Uma temperatura inicial ou dimenso da vizinhana elevada, um arrefecimento muito rpido, ou ainda um nmero de iteraes pequeno pode limitar a explorao do espao de pesquisa e impedir que se encontre o caminho da soluo ptima, ou mesmo de uma boa soluo. Por outro lado, o incremento de qualquer um destes parmetros penaliza o tempo de pesquisa, o que pode tornar o mtodo muito lento. Dimenso da Vizinhana No contexto da PQL, com o uso da PLR em cada iterao do SA determinado o mnimo local relativamente vizinhana em causa. Quanto maior for a dimenso da vizinhana maior ser a qualidade do mnimo encontrado. No limite, se a vizinhana corresponder a todo o espao de pesquisa, o mnimo encontrado corresponde ao mnimo global. Este facto sugere que a profundidade da vizinhana na PQL dever ser a maior possvel, semelhana do que sugerido para o SA em (Yao X. 1991). Nesse trabalho, Yao demonstra que desde que a soluo ptima esteja suficientemente longe da soluo inicial, quanto maior for a dimenso da vizinhana, mantendo os outros parmetros, maior a probabilidade da pesquisa escapar de mnimos locais e encontrar o mnimo global. Naturalmente, na PQL uma dimenso elevada da vizinhana penaliza o tempo de computao. Especificamente no caso da PQL, quanto maior for a dimenso da vizinhana menor ser a influncia do SA. Em termos limites, para uma vizinhana de dimenso igual a todo o espao de pesquisa a explorao unicamente baseada em PLR, ao invs, para uma vizinhana com uma nica soluo a pesquisa unicamente baseada em SA. A implementao da PQL necessita ento, semelhana do SA, da determinao da estrutura de vizinhana adequada, nomeadamente no que se refere sua dimenso. Temperatura Inicial, Funo de Arrefecimento e Nmero de Iteraes Do ponto de vista da evoluo da pesquisa, o comportamento do mtodo de PQL de alguma forma semelhante ao do SA em que a funo de arrefecimento permite o reaquecimento (ver seco 5.3.2). Isto porque o mdulo de PLR converge para o ptimo local como se de um rpido

173

Captulo 5

arrefecimento se tratasse, enquanto a temperatura do mdulo de SA se mantm com um arrefecimento mais lento. Considerando esta analogia, podemos sugerir o seguinte para a PQL: 1 - A temperatura inicial pode ser determinada usando os mesmos esquemas que so usados na generalidade dos mtodos baseados em SA; 2 - A razo de arrefecimento (RA) deve ser superior quela que usada na generalidade dos mtodos. No caso dos esquemas de reaquecimento, a temperatura incrementada normalmente com carcter aperidico, logo necessrio compensar esse aumento com uma RA mais elevada. O incremento na RA deve estar relacionado com o nvel de reaquecimento. No caso da PQL podemos usar uma regra semelhante, mas em que em vez de relacionar o arrefecimento com o aquecimento, se relaciona o arrefecimento com a dimenso da vizinhana; 3 - A RA est relacionada com o nmero de iteraes, quanto mais lento for o arrefecimento menor poder ser o nmero de iteraes a cada temperatura. Ciclos na Pesquisa Normalmente, em problemas de optimizao combinatorial as vizinhanas so simtricas. Neste caso, possvel a ocorrncia de ciclos na pesquisa, ou seja, se x ' N ( x ) e x N ( x ' ) , partindo ento de x gerado na interaco k-1, x pode ser gerado na iterao k, sendo gerado novamente x na interaco k+1. No SA tradicional o critrio de gerao tem carcter estocstico. Na situao mais simples a probabilidade de gerao tem uma distribuio uniforme, sendo o valor da probabilidade inversamente proporcional dimenso da vizinhana (nmero de vizinhos), representada por N(i). Considerando n o nmero de vizinhos, ento a probabilidade de gerao PG de cada vizinho i definida por:

1 PG ( i ) = , i N ( j ) n

(5.5)

Quanto maior for a vizinhana menor ser a probabilidade de gerao de determinado vizinho.
t t Considerando (5.5), podemos calcular a probabilidade de gerao PG e aceitao PA de j aps i:

t PG ( j > i ) =

1 t P ( i ) , i N ( j ), j N (i ) n2 A

(5.6)

174

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

PAt ( j > i ) =

1 t t PA ( i ) PA ( j ) , i N ( j ), j N (i ) 2 n

(5.7)

As equaes (5.6) e (5.7) correspondem respectivamente probabilidade de gerao e aceitao de j aps i, sendo t o parmetro de controlo que, no nosso caso, a temperatura. A probabilidade de aceitao no caso do SA tradicional, e tambm no caso da PQL, dada pela expresso:
PAt ( i ) = e
f (i ) f ( s ) t

, i S

(5.8)

em que f(i) e f(s) corresponde respectivamente ao custo do vizinho i, e do ultimo melhor vizinho s. Seguindo a mesma linha de raciocnio, podemos finalmente determinar a probabilidade de ocorrncia de um ciclo em 3 iteraes consecutivas (i aps j, aps i) atravs da seguinte expresso:

PAt ( i > j > i ) =

1 t ( PAt ( i )) 2 PA ( j ) , i N ( j ), j N (i ) 3 n

(5.9)

No mbito da PQL, o algoritmo de pesquisa subjacente ao mdulo de PLR determinstico e completo, logo o vizinho seleccionado sempre o mesmo, e corresponde ao que tem o melhor custo. A probabilidade de gerao ento dada pela expresso seguinte:
1 PG ( i ) = 0 j N ( k ) , f (i ) f ( j ), i N ( k ) , i j j N ( k ) | f ( j ) < f (i ), i N ( k ) , i j
(5.10)

Note-se que poder existir mais do que um vizinho para o qual o custo seja mnimo. A seleco, neste caso, depende do algoritmo de pesquisa subjacente PLR. Considerando (5.9) e (5.10), podemos determinar a probabilidade de ocorrncia de um ciclo em 3 iteraes consecutivas na PQL atravs da expresso seguinte.
Para a PQL
t t PA ( i > j > i ) = PjMin (i ) ( PAt ( i ))2 PA ( j ) , i N ( j ), j N (i )

(5.11)

em que PjMin (i ) corresponde probabilidade de i ser o melhor vizinho de j. Seguindo o mesmo raciocnio poderiam generalizar-se as expresses (5.9) e (5.11) para ciclos com uma qualquer profundidade.

175

Captulo 5

Comparando (5.9) com (5.11) e considerando que n um nmero elevado e que PjMin ( i ) >> 1 , n podemos concluir que a probabilidade de ocorrncia de ciclos na PQL muito superior do SA tradicional. De forma a minimizar este problema, a PQL inclui um tipo de memria de curto prazo Short Term Memory anlogo ao usado na Pesquisa Tabu. Este mecanismo de memria implementado atravs de uma lista Tabu que guardar as ltimas solues visitadas. Com esta alterao, o algoritmo para a PQL poder ser o da Figura 5.8.
Criar o modelo do problema em termos de variveis de domnio e restries (usando a PLR) Determinar uma soluo inicial s0 usando a PLR Seleccionar uma temperatura inicial t0>0 Seleccionar uma funo de arrefecimento Inicializar a lista Tabu Repetir Repetir A partir da funo de vizinhana gerar as restries necessrias para que o domnio das variveis do problema corresponda vizinhana de s0 A partir da Lista Tabu impor as restries que iro limitar a seleco de vizinhos previamente visitados Usar a PLR para resolver o problema restringido (determinar o melhor vizinho s) Se f(s)-f(s0)<0 s0=s Seno Gerar um valor v segundo uma distribuio uniforme no intervalo [0,1] Se v<exp((f(s)-f(s0)/t

s0=s
Actualizar a lista Tabu com s At um nmero de ciclos ser alcanado

t=(t)
At critrio de paragem ser alcanado Retornar a soluo s0 Figura 5.8 - Algoritmo de Pesquisa Quase Local com Memria

5.6

Resoluo do PETMUP usando o mtodo de PQL

Nesta seco sero apresentados os resultados obtidos com a aplicao do mtodo de Pesquisa Quase Local ao PETMU. A descrio do problema, assim como das instncias utilizadas, foi feita
176

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

no Captulo 2. Nas seces seguintes sero introduzidos os dois mdulos que constituem o mtodo, e posteriormente apresentadas as experincias realizadas e respectivos resultados.

5.6.1

Mdulos da PQL

A implementao do mtodo implica o desenvolvimento de dois mdulos distintos, um respeitante PLR e outro ao SA. Embora exista uma cooperao efectiva entre os mdulos, estes so independentes, o que permite introduzir melhorias num dos mdulos sem que seja necessrio efectuar qualquer tipo de alterao no outro mdulo. Mdulo baseado em PLR A base do mdulo de PLR foi apresentada na seco 3.6 e corresponde ao mtodo de Branch&Bound Bsico com as estratgias de seleco denominadas MinVar+MinVal+Ctm, por ter sido esse mtodo o que obteve melhores resultados nos testes efectuados. No entanto, foram efectuadas duas alteraes ao modelo base, que correspondem introduo de duas restries globais responsveis pela ligao entre ambos os mdulos. Uma das restries denomina-se r_vizinhana. Esta restrio responsvel limitar os domnios das variveis vizinhana pr-determinada. As variveis restringidas so as que representam o incio de cada uma das tarefas de manuteno (Pt,). As restries podero ser do tipo Pt=valor, Pt

valor, Pt valor e significam respectivamente que uma determinada tarefa se inicia num
determinado perodo, aps um determinado perodo, ou antes de um determinado perodo. Tambm possvel uma combinao das duas ltimas. Por exemplo, consideremos um problema com trs tarefas e uma soluo dada por:

P = 1, P2 = 2, P3 = 3 1

(5.12)

A funo de vizinhana usada gera cada um dos vizinhos somando ou subtraindo 1 perodo a cada um dos elementos da soluo. Neste caso, a restrio global r_vizinhana dever impor as seguintes restries:

P # 1 P2 # 2, P2 # 1 P2 # 3, P3 # 2 P3 # 4 1

(5.13)

O resultado da imposio destas restries uma nova instncia do problema com um espao de pesquisa que corresponde ao produto cartesiano dos novos domnios de cada uma das variveis:
177

Captulo 5

D ( P ) = {1, 2} , D ( P2 ) = {1, 2,3} , D ( P3 ) = {2,3, 4} 1

(5.14)

A segunda restrio global, denominada r_tabu, responsvel por impor as restries necessrias a evitar que se obtenham solues contidas na lista tabu. Esta restrio usa uma meta_restrio disponvel no ECLiPSe, que permite associar e restringir o valor lgico de uma qualquer restrio. Assim dada uma restrio R e uma varivel boleana B, esta ltima, toma o valor 1 se a restrio R for verdadeira e 0 se for falsa. A meta_restrio tambm funciona no sentido inverso, ou seja, impor um valor a B, impe o valor lgico respectivo restrio. Retomando o exemplo anterior, se a soluo representada em (5.12) constasse da lista tabu, r_tabu deveria impor as seguintes restries:

# = ( P ,1, B1), # = ( P2 , 2, B 2), # = ( P3 ,3, B3), B1 + B 2 + B3# < 3 1


Mdulo baseado em SA

(5.15)

De acordo com o algoritmo da Figura 5.8, necessrio definir a funo de vizinhana, a temperatura inicial, a funo de arrefecimento e nmero de iteraes, assim como o critrio de paragem. Para alm destes parmetros, deve, ainda, ser definida a estrutura e dimenso da lista tabu referida na seco 5.5.1. A seleco dos parmetros determinante no desempenho do algoritmo. Apesar dos inmeros estudos realizados at ao momento, ainda no existe uma forma pragmtica de determinao dos parmetros ideias para cada tipo de aplicao. Mesmo algumas indicaes que no tendo fundamento terico tm sido tomadas como regras, por fora do uso, podem no resultar no mbito da PQL, dada as alteraes face ao SA tradicional. Neste sentido podemos tecer algumas consideraes relativamente a cada um dos parmetros do mtodo. Funo de Vizinhana O PETMU na generalidade um problema de Escalonamento. Neste sentido possvel encontrar na literatura um grande nmero de trabalhos cujo mtodo de resoluo se baseia num tipo de pesquisa local (Olivier C. 1998; Hamiez J. 2001; Anagnostopoulos C. 2002; Yagiura M. 2004; Zhang W. 2004; Daz E. 2004; Biajoli F. 2004). A anlise destes trabalhos permite identificar algumas similaridades entre as funes de vizinhana. Tipicamente possvel encontrar 2 classes de

178

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

funes de vizinhana (num problema de escalonamento normalmente as variveis de deciso so as que representam o perodo de incio de cada tarefa). Vizinhana por deslocamento Nesta classe, cada vizinho obtido deslocando esquerda, ou direita k elementos da soluo. Relembrando a soluo (5.12), um deslocamento direita de um e dois elementos poderia corresponder, respectivamente, aos vizinhos seguintes:

I1 = 1, I 2 = 2, I 3 = 4 (deslocamento direita de I3) I1 = 1, I 2 = 3, I 3 = 4 (deslocamento direita de I2 e I3)


Vizinhana por permuta Nesta classe, cada vizinho obtido permutando os valores de k elementos da soluo. Relembrando a soluo (5.12), uma permuta de 2 elementos poderia corresponder ao vizinho seguinte:

I1 = 2, I 2 = 1, I 3 = 3 (permuta entre os valores de I2 e I3)


Sendo o mdulo de PLR responsvel pela explorao da vizinhana e o algoritmo subjacente completo, ento qualquer uma das classes de vizinhana referidas em cima pode ser implementada igualando os valores das n-k variveis aos valores da ltima soluo e no restringindo os restantes k valores. Formalmente: Sendo s uma soluo do problema em que s (V1 = v1 ,V2 = v2 ,..., Vn = vn ) e k o nmero de elementos a deslocar ou permutar na vizinhana, ento:

N plr ( s, plr ) = Nr R | Nr = {Vl +1 ,K ,Vl + k } , R = s / Nr , l {1,K , n k}


em que N plr corresponde vizinhana a explorar pelo mdulo de PLR e plr a funo que d origem a essa vizinhana. Considerando novamente o exemplo (5.12), qualquer um dos vizinhos dado como exemplo para a vizinhana de deslocamento, ou de permuta, ser avaliado se for usada a restrio seguinte:.
r _ vizinhana I1 = 1, I 2 = D Ii , I 3 = DIi3
2

(5.16)

em que DIi2 , DIi3 correspondem aos domnios iniciais das variveis I2 e I3.

179

Captulo 5

Em termos prticos, no mbito da PQL, em cada iterao o mdulo de PLR resolve um sub-problema do PETMUP, em que n-k variveis so instanciadas com o valor da ltima soluo aceite e as restantes k variveis (seleccionadas aleatoriamente) sem qualquer restrio. Note-se que sendo n o nmero de valores do domnio das k variveis, temos kn vizinhos (solues) possveis. Parmetros usados Para determinao da temperatura inicial foi usado um processo idntico ao sugerido por (Aarts E. 1989). Para cada instncia do problema, foi realizado um teste inicial no sentido de determinar a temperatura para a qual a percentagem de aceitao superior a 97%. Esse valor foi depois utilizado como temperatura inicial em todas as experincias que envolveram as instncias correspondentes. Para a funo de arrefecimento foi usado um esquema geomtrico do tipo ( t ) = k t . Este esquema de implementao simples e produz normalmente bons resultados. Outros esquemas mais complexos como usar Razes de Arrefecimento Mltiplas, ou Reaquecimento, no foram utilizados pois as ideias fundamentais subjacentes a esses esquemas encontram-se na PQL. O esquema geomtrico foi testado com vrios valores de k, inclusive com valores inferiores aos usados mais frequentemente (0.8 at 0.99). A justificao para o uso dos valores mais baixos foi dada na seco 5.5.2. Cada um dos valores de k foi ainda combinado com um conjunto de valores para o nmero de iteraes, fixo para toda a pesquisa. Relativamente ao critrio de paragem, foi usado um esquema simples baseado na temperatura. Deste modo, a pesquisa termina quando a temperatura atinge um valor inferior a 0,5. Tal como referido nas seces anteriores, alguns dos parmetros esto de alguma forma relacionados. Por exemplo, se o arrefecimento for demasiado rpido (RA baixa para uma funo geomtrica) no possvel garantir a diversificao da pesquisa, o que diminui a probabilidade de se obter a soluo ptima. No entanto, um arrefecimento rpido pode ser de alguma forma compensado por um nmero de iteraes por temperatura elevado, ou seja, a temperatura decresce rapidamente mas o algoritmo demora mais tempo em cada temperatura. Note-se que a relao no linear, pois para temperaturas baixas o nmero de solues aceites baixo independentemente do nmero de iteraes, o que no favorece a diversificao. Esta relao sugere que a seleco do valor para a RA deve ser feita conjuntamente com a seleco do nmero de iteraes. Uma RA baixa e/ou um nmero de iteraes elevado favorece a qualidade das solues mas penaliza o

180

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

tempo de computao. Idealmente dever ser escolhida a maior RA e/ou menor nmero de iteraes que garanta a obteno da soluo ptima.

5.6.2

Resultados Experimentais

Os testes foram realizados sobre as instncias, hardware e software utilizados na seco 3.6.3 do Captulo 3. Dada a componente estocstica do mtodo, para cada conjunto de valores e instncia, o algoritmo foi corrido 10 vezes, correspondendo os resultados apresentados mdia aritmtica dos valores obtidos. Razo de Arrefecimento e Nmero de Iteraes Relativamente Razo de Arrefecimento foram testados os valores dados na Tabela 5.2.
Tabela 5.2 Valores usados nos testes para Razo de arrefecimento
RA 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Para cada valor da RA foi avaliado um conjunto de valores para o nmero de iteraes, estando estes valores relacionados com a dimenso da instncia. Assim, para as instncias com 10 tarefas e 24 perodos e 15 tarefas e 24 perodos foram testados, respectivamente, os valores indicados na Tabela 5.3 e na Tabela 5.4.
Tabela 5.3 Valores usados para o nmero de iteraes nos testes com as instncias de 10 tarefas e 24 perodos
Ni 200 250 300 350 400 450 500

Tabela 5.4 Valores usados para o nmero de iteraes nos testes com as instncias de 15 tarefas e 24 perodos
Ni 600 700 800 900 1000

Sendo o objectivo principal destes testes determinar a influncia, e possvel correlao, entre nmero de iteraes e taxa de arrefecimento, os valores dos restantes parmetros mantiveram-se fixos e foram os seguintes: Temperatura Inicial = 80, Tamanho da Lista Tabu = 7, Valor de variveis a considerar para vizinhana = 1 Na Figura 5.9 e na Figura 5.10 encontram-se, respectivamente, indicados a mdia dos custos e dos tempos de computao das solues obtidas com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento, para a instncia iem_10_24_a_1.dat. Por uma questo de facilidade de leitura, os resultados so dados em percentagem do melhor resultado. Em termos
181

Captulo 5

prticos, o par de parmetros que obtiver os piores resultados tem 100% e o par de parmetros com melhores resultados tem 0%.

100% 90% 80% 70% Custo (%) 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura 5.9 Mdia dos custos das solues obtidas com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_a_1

100% 90% 80% 70% 60% Tempo (%) 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura 5.10 - Mdia do tempo de computao necessrio para obter as solues com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_a_1

182

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

Por exemplo, considerando a Figura 5.9, podemos dizer que o custo obtido para uma taxa de arrefecimento de 0,95 e um n de iteraes de 350 foi o melhor em termos absolutos. Na realidade para esta situao foi encontrada soluo ptima em todas as vezes que se correu o mtodo. Analogamente, considerando a Figura 5.10, podemos determinar que o pior tempo de computao foi obtido para uma taxa de arrefecimento de 0,97 e um nmero de iteraes de 250. Analisar independentemente os custos e o tempo de computao no uma medida conclusiva, pois podemos ter um tempo de computao curto com uma soluo de m qualidade, ou um tempo de computao longo com uma soluo de boa qualidade. Sendo assim, na Figura 5.11 encontra-se representado para cada conjunto de parmetros a soma das percentagens relativamente aos custos e tempos. Para alm dos grficos da Figura 5.9, Figura 5.10 e Figura 5.11 possvel encontrar na seco A.1 do anexo A os grficos correspondentes aos resultados obtidos com a PQL, para os mesmos parmetros mas com outras instncias do problema.

100% 90% 80% Custo+Tempo (%) 70% 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura 5.11 Soma dos resultados referentes ao Tempo mais Custo, indicados na Figura 5.9 e Figura 5.10.

A anlise dos resultados permite-nos tirar algumas concluses sumariadas nos pontos que se seguem:

Tal como esperado, os custos das solues obtidas com as RA mais elevadas (prximas de 1) so normalmente melhores. Na Figura 5.9, podemos verificar que para as RA superiores a
183

Captulo 5

0.95, se obteve sempre a melhor soluo, excepto para um nmero de iteraes igual a 200. Este facto verifica-se para as restantes instncias constantes no anexo A. Pretendendo-se unicamente a melhor soluo possvel, independentemente do tempo de computao, ento devem ser usadas Razes de Arrefecimento superiores a 0.95;

Tal como esperado, verifica-se que o tempo de computao aumenta com o aumento da RA. Os tempos de computao mais curtos so quase sempre obtidos com as RA mais baixas. No entanto, o custo das solues tem tendncia a aumentar significativamente para RA abaixo de 0.8;

Decrescendo RA, os custos das solues tendem a decrescer com o aumento do nmero de iteraes. Da mesma forma, decrescendo RA, o tempo de computao tem tendncia a subir com o nmero de iteraes;

Quando o objectivo obter a melhor soluo possvel no mais curto espao de tempo, possvel verificar que existe uma certa correlao entre a RA e o nmero de iteraes. Para quase todos os testes efectuados e considerando o grfico que adiciona as percentagens do custo ao tempo (Figura 5.11) possvel identificar um comportamento parablico com centro em valores intermdios em relao RA e o nmero de iteraes. Sendo assim, podemos verificar que, para as instncias com 10 tarefas e 24 perodos, os melhores resultados so obtidos com um nmero de iteraes a rondar 350 e para uma RA volta de 0.95, enquanto para as instncias com 15 tarefas e 24 perodos, os melhores resultados so obtidos com um nmero de iteraes prximo de 750 e uma RA volta de 0.95. Nmero de Variveis para a Vizinhana

Um dos parmetros do mtodo o nmero de variveis no instanciadas a considerar pelo mdulo de PLR. Este parmetro, discutido na seco 5.4.2, define a dimenso da vizinhana considerada e o peso de cada um dos mdulos na pesquisa. Note-se que no limite se o parmetro for igual ao nmero de variveis do problema, ento temos uma pesquisa unicamente baseada em PLR, pois a primeira soluo devolvida pelo respectivo mdulo a ptima. Para testar a influncia deste parmetro no desempenho do mtodo, executmos um conjunto de testes com vrias instncias do problema em que o nico parmetro varivel o nmero de variveis por instanciar. Para os testes, foram consideradas as instncias com 10 tarefas e 24 perodos usadas nas experincias anteriores. O nmero de variveis no instanciadas variou entre 1 e 5. Note-se que o
184

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

valor mximo seria de 10, que corresponde ao nmero de variveis que constituem a soluo. Os restantes parmetros foram: Temperatura Inicial = 80; Tamanho da Lista Tabu = 7; Razo de Arrefecimento = 0.95; Nmero de Iteraes = 350.
100% 90% 80% 70% 60% Custo 50% 40% 30% 20% 10% 0% 1 2 3 4 5 a_1 b_1 c_1 d_1 e_1

Nmero de V ariveis no Instanciadas

Figura 5.12 Mdia dos custos das solues obtidas com o mtodo de PQL, em funo do nmero de variveis no instanciadas para 5 instncias do PTMUP

100% 90% 80% 70% Tempo 60% 50% 40% 30% 20% 10% 0% 1 2 3 4 5 Nmero de V ariveis no Instanciadas a_1 b_1 c_1 d_1 e_1

Figura 5.13 Mdia dos tempos necessrios para resolver o problema usando o mtodo de PQL, em funo do nmero de variveis no instanciadas para 5 instncias do PTMUP

185

Captulo 5

Nas figuras Figura 5.12, Figura 5.13 e Figura 5.14 encontram-se indicados os valores obtidos para o custo e tempo associado resoluo de cada uma das instncias do problema, em funo do nmero de variveis no instanciadas. Os valores do custo e tempo so dados em percentagem imagem dos casos anteriores, correspondendo 100% ao pior caso. A legenda referente s instncias encontra-se abreviada sendo a correspondncia apresentada na Tabela 5.5.

200% 180% 160% 140% Custo + Tempo 120% 100% 80% 60% 40% 20% 0% 1 2 3 4 Nmero de V ariveis no Instanciadas 5 a_1 b_1 c_1 d_1 e_1

Figura 5.14 Soma dos resultados referentes ao Tempo mais Custo, indicados nas Figuras 5.12 e 5.13

Como se pode verificar nos grficos das figuras Figura 5.12, Figura 5.13 e Figura 5.14, de forma a manter a eficincia do algoritmo, o nmero de variveis no instanciadas deve ser baixo. No caso das instncias testadas, os resultados degradam-se significativamente para um nmero de variveis no instanciadas superior a dois.
Tabela 5.5 Correspondncia da Legenda das Figura 5.12, Figura 5.13 e Figura 5.14
Instancia
iem_10_24_a_1.dat iem_10_24_b_1.dat iem_10_24_c_1.dat iem_10_24_d_1.dat iem_10_24_e_1.dat

Ref.
a_1 b_1 c_1 d_1 e_1

186

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

Este facto pode indicar que num mtodo como a PQL a diversificao da pesquisa deve ser assegurada pelo mdulo de SA, mantendo-se nesse caso a dimenso da vizinhana reduzida. Por outro lado, o mesmo facto tambm pode indicar que a funo de vizinhana pode no ser a adequada face distribuio das solues no espao de pesquisa. Efectivamente com uma funo de vizinhana diferente possvel promover mais a diversificao dentro de cada sub-problema a resolver pelo mdulo de PLR. Neste caso pode ser vantajoso a explorao de vizinhanas com maior dimenso (maior nmero de variveis no instanciadas). Dimenso da Lista Tabu Tal como referido na seco 5.5.2, quanto maior for o tamanho da lista Tabu maior ser a dimenso dos ciclos evitados na pesquisa. Por outro lado, uma lista Tabu muito grande acarreta um dispndio de tempo para o seu tratamento e pode reduzir a diversificao necessria numa pesquisa local. De forma a testar a influncia da dimenso da lista Tabu nos resultados da PQL foi realizado um conjunto de testes sobre as mesmas instncias indicadas na Tabela 5.5 em que se variou unicamente a dimenso da lista tabu. Os restantes parmetros foram: Temperatura Inicial = 80; Nmero de Variveis no Instanciadas = 1; Razo de Arrefecimento = 0.95; Nmero de Iteraes = 350. Na Figura 5.15 podemos ver o tempo de computao necessrio para obter a soluo ptima de cada uma das instncias indicadas na Tabela 5.5, para listas Tabu com diferentes dimenses. Os tempos de computao so dados em percentagem do pior tempo.

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 2 3 4 5 6 7 8 9 10 a1 b1 c1 d1 e1

T am anho da Lista T abu

Figura 5.15 Tempo de computao necessrio para obter a soluo ptima

187

Captulo 5

Como se pode verificar, para valores superiores a 6, a dimenso da lista Tabu no influencia significativamente os resultados. Em todas as situaes verificam-se diferenas inferiores a 10% e se restringirmos os valores ao intervalo entre 6 e 9, ento essas diferenas so inferiores a 5%.

5.6.3

Comparao dos Resultados

No grfico da Figura 5.16 encontra-se indicada, em termos percentuais, o tempo de computao necessrio para obter uma soluo com uma determinado custo usando a PQL em relao ao esquema de Limites Simples (LS) apresentado no Captulo 4. A curva em azul representa o tempo necessrio pela PQL, em relao ao esquema de LS, para obter as solues para as instncias do tipo iem_10_24_xx, e a curva em amarelo o mesmo tempo, mas para as instncias do tipo iem_15_24_xx. Note-se, que o esquema de LS obteve os melhores resultados de entre todos os esquemas testados no Captulo 4, e tambm obteve melhores resultados que o mtodo de Branch&Bound Bsico apresentado no Captulo 3.

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% iem_xx_24_a1 iem_xx_24_b1 iem_xx_24_c1 iem_xx_24_d1 iem_xx_24_e1 xx=10 xx=15

Figura 5.16 Tempos de computao necessrios pelo mtodo de PQL em funo dos tempos de computao necessrios pelo mtodo de LS, para diferentes instncias do tipo iem_10_24_xx (azul) e do tipo iem_15_24_xx (amarelo)

O custo das solues foi na maioria dos casos o ptimo. Nos casos em que no foi possvel determinar a soluo ptima no tempo limite para o efeito comparado o tempo que cada um dos mtodos necessitou para determinar uma soluo (a melhor do pior mtodo) com um mesmo custo. Os parmetros usados no mtodo de PQL foram: Temperatura Inicial = 80; Nmero de

188

O Mtodo de Pesquisa Quase Local na Resoluo do PETMUP

Variveis no Instanciadas = 1; Razo de Arrefecimento = 0.95; Nmero de Iteraes = 350 (para as instncias 10_24 e 750 para as 15_24); Tamanho da Lista Tabu = 7. Os valores correspondentes PQL so a mdia obtida em 10 testes. Tendo em considerao o grfico da Figura 5.16, podemos dizer para as instncias consideradas, a PQL permite reduzir sempre o tempo de computao em relao ao esquema de LS. Apesar da PQL ser um mtodo incompleto, ao invs do esquema de LS que completo, os resultados demonstram que em termos prticos no existe diferena. Quer isto dizer que para as instncias mais pequenas ambos os mtodos conseguem encontrar sempre a soluo ptima. Para as instncias maiores, e para todos os casos, o mtodo de PQL conseguiu encontrar no mnimo uma soluo com o mesmo custo que o mtodo de LS (dentro de um tempo limite de clculo) e num perodo de tempo significativamente mais curto. Como se pode ver pelo grfico da Figura 5.16 verifica-se uma maior eficincia do mtodo de PQL na resoluo das instncias de maior dimenso face s de menor dimenso. Especificamente, no primeiro caso conseguem-se melhorias que variam entre 20% e 40%, e no segundo entre 2% e 20%. Este facto parece confirmar a ideia base subjacente ao mtodo de PQL, em que a diversificao da pesquisa (com saltos na rvora de pesquisa) pode ser vantajosa quando a dimenso da rvore elevada. Outra observao sugere tambm que a eficincia da PQL diminui com a diminuio do nvel de estreitamento dos problemas. Este facto pode ser justificado no pela menor eficincia da PQL mas sim pela maior eficincia dos mtodos baseados unicamente em PLR face aos problemas com baixo nvel de estreitamento.

5.7

Questes para Trabalho Futuro

Em termos gerais o mtodo de PQL parece ser bastante adequado para a resoluo do PETMUP em particular, e de problemas de Pesquisa Combinatorial no geral. De facto, para alm de manter a flexibilidade, declaratividade e facilidade de modelizao da PLR, permite melhorar significativamente a sua eficincia. No entanto, existem alguns pontos cujo estudo importante para uma aplicao generalizada do mtodo e que pode melhorar ainda mais a sua eficincia. Algumas desses pontos so os seguintes:

189

Captulo 5

Os testes realizados no so ainda suficientes para determinar uma forma sistemtica de seleco dos parmetros de dimenso da lista tabu e do nmero de variveis no instanciadas. Pretende-se realizar mais testes, nomeadamente com instncias com diferentes dimenses para que as concluses sejam mais fundamentadas;

Os testes realizados sugerem que os mecanismos usados na seleco dos parmetros para o algoritmo de S.A. so vlidos para a PQL. Neste sentido, uma forma de melhorar a eficincia do mtodo de PQL pode passar por utilizar mecanismos mais complexos, e comprovadamente mais eficientes, para determinao da Razo de Arrefecimento, ou nmero de Iteraes. Alguns desses mecanismos encontram-se descritos na seco 5.3.2;

Ainda na linha da sugesto anterior, e tal como no S.A, a funo de vizinhana determinante para a eficincia do mtodo. Neste sentido, uma hiptese de melhoria do mtodo pode passar por utilizar outras funes de vizinhana, nomeadamente algumas funes de comprovado sucesso com as apresentadas em (Satohand Y. 1991; Soraya R. 1996; Olivier C. 1998);

Outro ponto de interesse consiste em tentar melhorar o desempenho individual do mdulo de PLR, ou seja, acelerar a pesquisa do ptimo local. Neste sentido, uma hiptese pode ser a utilizao do mtodo de LS englobado no mdulo baseado em PLR apresentado no Captulo 4;

Dada o desempenho do mtodo de PQL, e tendo em ateno a sua independncia do problema em causa, a sua utilizao na resoluo de outros tipo de problemas pode ser interessante.

190

Captulo 6

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do Problema de Escalonamento do Tarefas de Manuteno em Unidades de Produo

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

6.1

Introduo

Tal como referido nos captulos anteriores, um dos principais problemas da PLR est no seu algoritmo de pesquisa base, nomeadamente a pesquisa em Profundidade com Retrocesso. Este algoritmo percorre a rvore de pesquisa segundo uma determinada ordem, dada pelas heursticas de Seleco de Variveis e Valores. O papel do meta-interpretador associado ao sistema de PLR consiste em reduzir o tamanho da rvore de pesquisa, removendo ramos inconsistentes com as restries do problema. Mesmo quando os algoritmos de propagao que constituem o meta-interpretador so eficientes e conseguem eliminar todos, ou quase todos, os ramos inconsistentes, a determinao da soluo ptima para problemas reais impraticvel em tempo til. Os diversos trabalhos encontrados na literatura, assim como as experincias realizadas no mbito desta tese, sugerem que esta impraticabilidade tanto maior quanto maior for a dimenso do espao de pesquisa e maior for o nvel de estreitamento do problema, situao em que o poder das restries menor. No Captulo 4 e Captulo 5 foram apresentadas duas abordagens que, segundo diferentes perspectivas, tentam colmatar os problemas da PLR e do seu algoritmo de pesquisa bsico. Se no Captulo 4 a ideia base consiste em tornar a reduo da rvore de pesquisa mais efectiva, mantendo a forma de explorao da rvore de pesquisa sequncial e exaustiva, no Captulo 5 a ideia base consiste em explorar apenas algumas reas da rvore de pesquisa, desejavelmente as mais promissoras. Ambas as abordagens permitiram uma melhoria significativa do desempenho da PLR na resoluo de vrias instncias do PETMUP. Apesar dos melhores resultados obtidos pelo mtodo de Pesquisa Quase Local (PQL), o esquema de integrao de Limites Simples tem a vantagem de poder ser includo em qualquer mtodo de pesquisa como se de um algoritmo de propagao se tratasse. Neste captulo apresenta-se um novo mtodo de pesquisa denominado Pesquisa Guiada por Utilidades (PGU), que corresponde a uma instncia da plataforma de integrao Reduzir e Atribuir (Gomes N. 2003c). Este mtodo, apesar de ter por base a mesma ideia do mtodo de PQL, ou seja, evitar a explorao exaustiva e sequncial da rvore de pesquisa, segue uma abordagem prpria para a definio das reas de pesquisa a explorar. Como veremos nas seces que se seguem, a abordagem seguida, sendo menos geral do que a do Simulated Annealing associada ao mtodo de PQL, inclui algumas heursticas especficas do problema em

193

Captulo 6

questo. Naturalmente, a utilizao de heursticas aumenta a eficincia do mtodo para o problema em causa introduzindo no entanto a necessidade de afinao (definio dos parmetros) do mtodo.

6.2

A Plataforma de Integrao de Reduzir e Atribuir

No Captulo 3 foram introduzidos alguns conceitos relativos ao Problema de Satisfao de Restries (PSR), nomeadamente a sua formalizao na Definio 3.5. Posteriormente, na seco 3.4.5 do mesmo captulo, o PSR foi estendido a um problema de optimizao. Neste ltimo, ao conjunto de restries adicionou-se uma nova restrio que relaciona cada soluo do problema com um custo representado por uma varivel. Assim, a extenso do PSR pode ser vista como um problema de Optimizao Combinatorial (POC) segundo a Definio 3.15. Considerando esta definio, podemos estabelecer o lema que constitui a base da plataforma de Reduzir e Atribuir (RA): Lema 6.1 Considere uma instncia I, de um Problema de Optimizao Combinatorial, qual est associado um PSR dado por um termo ordenado (V,D,R), em que R corresponde ao conjunto das restries e D corresponde ao conjunto dos domnios das variveis V. Qualquer soluo s de uma instncia I de um PSR dado pelo termo (V,D,R), tal que DD tambm uma soluo da instncia I. Isto quer dizer que se S e S representarem, respectivamente, o conjunto de solues de I e I ento SS. No que respeita a duas instncias de um POC (S,f) e (S,f), no podemos dizer que a soluo ptima de (S,f) seja tambm soluo ptima de (S,f). A prova deste lema trivial: Prova 6.1 - Se DD ento qualquer instanciao vX possvel em I e I, dado que vD e vD e R=R. O contrrio pode no ser verdade dado que v pode pertencer a D e no pertencer a D. Em termos prticos, este lema diz que a soluo de um sub-problema obtido por reduo dos domnios de um determinado problema tambm soluo desse problema. Portanto, considerando que o tempo de computao necessrio para determinar a soluo ptima de um POC proporcional dimenso do seu espao de pesquisa, se a escolha do sub-problema for a correcta o tempo de resoluo do problema global pode ser reduzido ao tempo de resoluo do sub-problema. Esta ideia pode ser demonstrada com um pequeno exemplo.

194

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

O espao de pesquisa de um POC no mbito da PLR corresponde ao produto cartesiano dos domnios das variveis. Este espao pode ser representado graficamente, correspondendo cada varivel a uma dimenso (eixo) do grfico. Cada ponto do espao corresponde a uma soluo, podendo a soluo ser vlida, ou invlida, de acordo com as restries do problema. Na Figura 6.1 encontra-se representado o espao de pesquisa de um problema com duas variveis de domnio {X,Y}. O domnio inicial de cada varivel contm nr valores. Os pequenos crculos representam solues do problema e a estrela a soluo ptima. Consideremos agora um mtodo de PLR baseado num algoritmo de Pesquisa em Profundidade com Retrocesso que permite determinar as solues do problema.
Y
nr
Op

d b

nr

Figura 6.1 Espao de Pesquisa para um problema com duas variveis

No considerando o efeito das restries e dos algoritmos de propagao respectivos, o tempo necessrio para encontrar a soluo ptima depende unicamente (no que se refere ao mtodo) das estratgias de seleco de variveis e valores. Um exemplo de estratgias pouco eficientes seria escolher as variveis aleatoriamente e depois instanciar essas variveis com os valores por ordem crescente. Em termos grficos, esta estratgia corresponderia a varrer o espao de pesquisa representado na figura, da esquerda para a direita se a primeira varivel seleccionada fosse X ou de baixo para cima se fosse Y. Tanto num caso como no outro, a soluo ptima seria a ltima a ser encontrada. Obviamente, a utilizao de estratgias mais adequadas pode alterar a ordem com que as solues so encontradas. Doutro ponto de vista,
195

Captulo 6

podemos dizer que o tempo necessrio para determinar a soluo ptima depende da distncia entre a soluo inicial e final, crescendo exponencialmente com esta distncia. Um bom mtodo de pesquisa deve de algum modo minimizar a sua sensibilidade s estratgias de pesquisa, como por exemplo, minimizar as consequncias de um possvel afastamento da primeira soluo em relao ptima. Mesmo para a mesma classe de problemas possvel que existam instncias com estruturas diferentes, no que diz respeito ao espao de pesquisa. Isto faz com que um conjunto de estratgias possa resultar bem para uma instncia, e menos bem para outra. No mtodo de PQL apresentado no Captulo 5 a diversificao proporcionada pelo algoritmo de Simulated Annealing pretende, exactamente, promover saltos na pesquisa que modificam rapidamente as reas de pesquisa exploradas e permitem corrigir possveis falhas das estratgias. Na plataforma de RA a ideia subjacente anloga da PQL, mas varia a forma como a ideia posta em prtica. Considerando novamente o exemplo da Figura 6.1, o espao de pesquisa do problema pode ser dividido em sub-espaos mais pequenos. Essa diviso pode ser feita limitando os valores que cada uma das variveis pode tomar. Um exemplo consiste em dividir os domnios das variveis em dois, de tal forma que D(X)= [1,nr/2], D(Y)= [1,nr/2] e D(X)=D(Y)=[1,nr/2]]nr/2,nr]. A representao desta diviso pode ser vista na Figura 6.2. Aps a diviso do espao de pesquisa, passamos a ter quatro sub-problemas anlogos ao problema global. A dimenso do espao de pesquisa de cada um dos sub-problemas no entanto da dimenso do espao de pesquisa global. Deste modo, considerando o tempo de pesquisa directamente proporcional dimenso do espao de pesquisa (o que pode no ser verdade, pois a relao normalmente exponencial), o tempo necessrio para encontrar a soluo ptima pode variar entre , na melhor das hipteses, e o tempo total na pior das hipteses. Naturalmente, a reduo do tempo de pesquisa depende da ordem pela qual os subproblemas so resolvidos. De todas as combinaes possveis para a sequncia de resoluo dos sub-problemas as melhores so as que comeam pelo espao E2, pois este que contm a soluo ptima, pelo contrrio, as piores so as que acabam em E2.

196

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP


Y
nr
Op

E1
nr/2

E2

d b

E3
nr/2

E4
nr

Figura 6.2 Representao dos Sub-Espaos de Pesquisa de acordo com a diviso por dois, dos domnios das variveis do problema

A plataforma de RA baseia-se na ideia anterior, ou seja, tenta dividir o problema global em vrios sub-problemas, definidos atravs da reduo dos domnios das variveis. Posteriormente, o mtodo tenta resolver em primeiro lugar os sub-problemas mais promissores. Se a seleco dos sub-problemas for feita correctamente, ento o tempo de pesquisa pode ser reduzido significativamente. Na prtica, a implementao da ideia anterior levanta alguns problemas. Um dos principais est na garantia de manuteno de uma pesquisa completa, que est relacionado com a escolha dos valores dos domnios para as variveis e, consequentemente, com a possibilidade de sobreposio dos sub-domnios correspondentes a cada um dos sub-problemas. Para que a pesquisa se mantenha completa necessrio que a diviso seja feita de forma a contemplar todas as combinaes possveis de valores para os domnios das variveis. Por outro lado, para manter a eficincia do mtodo no deveriam existir combinaes de valores idnticas em sub-problemas distintos. Estes objectivos so relativamente simples de atingir para problemas com poucas variveis e valores, como no caso do exemplo anterior, mas impraticvel num problema real, em que o nmero de variveis e valores normalmente elevado. Na plataforma de RA a definio dos sub-problemas feita medida que a pesquisa vai evoluindo. Deste modo, a informao obtida com a resoluo dos sub-problemas j considerados pode ser usada na definio dos sub-problemas a considerar. Como a plataforma no especfica nenhum mecanismo de memria que guarde as combinaes de valores j
197

Captulo 6

considerados, nem nenhum mecanismo que garanta a seleco de todas as combinaes de valores, por um lado os mtodos que derivam da plataforma so incompletos e, por outro, esses mtodos podem necessitar de um tempo de pesquisa superior ao que seria necessrio se no se fizesse nenhuma diviso da rea de pesquisa. A eficincia de cada mtodo est especialmente relacionada com a gesto deste ltimo problema. Em termos prticos o mtodo deve possuir um mecanismo que seleccione correctamente as reas de pesquisa, desejavelmente o mais rapidamente possvel aquela(s) que contm(m) a(s) soluo(es) ptima(s). Considerando as ideias apresentadas anteriormente, podemos definir a plataforma de integrao de Reduzir e Atribuir. Em termos gerais, a plataforma composta por dois componentes. O primeiro, denominado Componente de Diversificao (DIV_comp) responsvel pela pesquisa em termos globais atravs da seleco de espaos de pesquisa de menor dimenso que constituem um sub-problema. O segundo componente, denominado Componente de Pesquisa por Restries (PR_comp) responsvel pela explorao de cada um dos sub-espaos de pesquisa ou, por outras palavras, responsvel pela resoluo de cada um dos sub-problemas. Note-se que, considerando o Lema 6.1, a soluo de um sub-problema tambm soluo do problema global. Em termos gerais o mtodo de PQL apresentado no Captulo 5 poderia corresponder a uma instncia da plataforma de RA, a diferena que os conceitos de vizinho (soluo) e vizinhana (conjunto de solues) so substitudos pelos conceitos de sub-espaos e espao de pesquisa. Desta forma, em vez de se escolher o vizinho de entre uma vizinhana gerada a partir de outro vizinho, escolhida uma soluo de entre um sub-espao de pesquisa gerado a partir da limitao de um espao de pesquisa global. Por analogia com o mtodo de PQL, o componente DIV_comp responsvel pela gerao de cada novo sub-espao de pesquisa e, na medida em que o faz com base em informao obtida ao longo da pesquisa, podemos dizer que o DIV_comp responsvel por guiar de forma inteligente a pesquisa. O componente DIV_comp pode ser representado pela expresso seguinte:
LS _ comp ( D, l ) : S D SsD
(5.17)

Nesta expresso D corresponde ao conjunto inicial dos domnios das variveis e l ao parmetro que indica a dimenso do sub-espao de pesquisa Ss D . Qualquer sub-espao de pesquisa obtido atravs da reduo dos domnios das variveis, pelo que pode ser

198

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

representado por um novo conjunto de restries que elimine os valores necessrios para se obter a reduo. Em termos prticos, o DIV_comp responsvel pela gerao deste novo conjunto de restries que depois passado ao PR_comp e adicionado ao conjunto de restries iniciais do problema. Aps receber o novo conjunto de restries, o PR_comp responsvel por encontrar a melhor soluo do novo sub-problema. Correspondendo cada sub-problema a um problema modelizado em PLR, o componente PR_comp pode ser representado pela seguinte funo:

PR _ comp ( X , D, R, f , R ' ) : ( X , D ') s '

(5.18)

Na expresso (5.18) X corresponde ao conjunto das variveis do problema, D ao conjunto dos seus domnios, R s restries iniciais do problema, C ao novo conjunto de restries que traduz o novo sub-domnio e f funo de optimizao. O resultado devolvido por este componente corresponde ao ptimo local se existir uma soluo para o problema, ou uma informao de no existncia de soluo. Naturalmente, soluo ptima corresponde um custo dado pela funo de optimizao. Aps a resoluo de um sub-problema, o DIV_comp recebe a resposta do PR_comp. Baseado nesta resposta, o DIV_comp deve seleccionar um novo sub-domnio, ao qual corresponde um novo sub-problema que dar origem a uma nova iterao. A Figura 6.3 ilustra a plataforma de integrao de RA.

Definio Problema

Desenvolvimento do modelo do problema (X,D,R,f) DIV_comp

PR_comp Melhor Soluo

Figura 6.3 Plataforma de Integrao de Reduzir e Atribuir

199

Captulo 6

Uma caracterstica importante desta plataforma a independncia entre componentes. Deste modo, a escolha do algoritmo subjacente a cada um dos mdulos pode ser feita com base em critrios de eficincia, flexibilidade, etc, sem serem necessrias preocupaes com questes de compatibilidade entre algoritmos.

6.2.1

Dimenso do Sub-espao de Pesquisa

O componente DIV-comp necessita da definio de um parmetro l que define a dimenso de cada sub-espao de pesquisa Ss D . Este parmetro, como veremos nos testes efectuados, tem importncia na eficincia da pesquisa, pois responsvel pelo equilbrio do esforo de pesquisa entre ambos os componentes. No limite, se o parmetro for igual a 1 (corresponde a um valor por varivel) ento o PR_comp no tem qualquer esforo de pesquisa limitando-se a verificar a consistncia dos valores seleccionados para cada varivel. No limite oposto, se o parmetro for igual ao nmero mximo de valores dos domnios das variveis, ento no existe qualquer diviso do espao de pesquisa, e a primeira soluo devolvida pelo PR_comp ptima. Esta ideia pode visualizada atravs do exemplo usado anteriormente.
Y
4

B
3

A
1

Figura 6.4 Exemplo de Espao de Pesquisa para um problema com 2 variveis e 4 valores de domnio

Na Figura 6.4 encontra-se representado o espao de pesquisa para um problema com 2 variveis, cada uma com 4 valores no seu domnio. A dimenso do espao de pesquisa, no considerando o efeito das restries 16, que corresponde a todas as combinaes possveis de valores. Se l=1 a dimenso de cada um dos possveis 16 sub-espaos de pesquisa 1. Ao invs, se l=4 (que o valor mximo para o parmetro) a dimenso do nico sub-espao de
200

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

pesquisa igual dimenso do espao de pesquisa do problema, ou seja 16. Entre estas duas situaes, l pode tomar os valores 2 e 3. Geralmente a dimenso para cada sub-espao de pesquisa de um problema, no considerando as restries, pode ser calculado pela expresso (5.19), e o nmero de sub-espaos de pesquisa pela expresso (5.20). Em ambas expresses n corresponde ao nmero de variveis e k o nmero mximo de valores de domnio.

ln
k! l ! ( k l ) !
n

(5.19)

(5.20)

O valor ideal do parmetro l depende naturalmente da estratgia usada para seleccionar os espaos de pesquisa. Obviamente, quanto mais pequeno for o valor, menos tempo o PR_comp necessita para encontrar o ptimo local. No entanto, se a seleco dos sub-espaos de pesquisa no for bem feita e l for baixo, ento a eficincia da pesquisa pode ser bastante reduzida, pois esta pode demorar muito tempo a alcanar a soluo ptima. Ao invs, se o valor escolhido para l for elevado, e a seleco dos sub-espaos no for bem feita, ento o risco do mtodo passar muito tempo a explorar uma rea infrutfera elevado, diminuindo tambm a eficincia da pesquisa. Um exemplo desta dicotomia pode ser dado usando o exemplo anterior. Na Figura 6.4 encontram-se representados dois sub-espaos de pesquisa (A,B) possveis. Se o DIV_comp seleccionar primeiro o sub-espao B, no pior caso o PR_comp necessitar de 9 iteraes para encontrar a soluo ptima representada pela estrela. Se no houvesse diviso do espao de pesquisa, na pior das hipteses seriam necessrios 16 iteraes para encontrar a soluo ptima. Considerando agora outra sequncia de seleco, como por exemplo subespao A e depois B, no pior caso seriam necessrios 18 passos de pesquisa para encontrar a mesma soluo ptima. Esta ltima situao a pior de entre as apresentadas. Considerando o anterior, podemos dizer que a explorao de todos os espaos de pesquisa impraticvel mesmo para problemas de pequena dimenso. Neste sentido, o interesse de qualquer mtodo baseado na plataforma de RA depende da capacidade que o DIV_comp tem de direccionar a pesquisa correctamente, ou seja, de seleccionar eficazmente os sub-espaos de pesquisa. A dimenso de cada sub-espao no dever ser muito pequena, sob pena da pesquisa poder repetir frequentemente a explorao das mesmas reas, nem muito grande, sob pena da
201

Captulo 6

pesquisa ser muito penalizada se for feita uma m deciso na escolha dos sub-espaos de pesquisa.

6.3

O Mtodo de Pesquisa Guiada por Utilidades

O Mtodo de Pesquisa Guiado por Utilidades (PGU) corresponde a uma instncia possvel da plataforma de integrao de RA. A estrutura do mtodo por isso anloga apresentada na Figura 6.3, mas para a qual se define os componentes DIV_comp e PR_comp.

6.3.1

Componente DIV_comp

O objectivo principal do componente de DIV_comp consiste em definir, para cada iterao da pesquisa, o sub-espao de pesquisa a considerar. Relembrando, esta definio feita atravs da gerao de um conjunto de restries que traduz a reduo dos domnios das variveis. Por outras palavras, o DIV_comp deve determinar em cada iterao quais os valores dos domnios de cada varivel a serem considerados na pesquisa a efectuar pelo PR_comp. No mbito do mtodo de PGU, tal como o nome sugere, a seleco dos valores feita com base numa funo de inutilidade (utilidade). Esta funo define para cada instanciao (vX) possvel ou, por outras palavras, para cada par varivel/valor (Xi,vj), um valor de inutilidade que, de alguma forma, indica qual a probabilidade do par pertencer a uma boa soluo. Assim, pares com uma inutilidade elevada no devem ser seleccionados para integrarem o sub-espao de pesquisa, ao invs dos pares com uma inutilidade baixa que devem. Em termos prticos, em cada iterao, os valores para os domnios de cada varivel dos sub-problemas so seleccionados por ordem crescente de inutilidade. A funo de inutilidade definida pela expresso seguinte:

I ij = C0ij + Mcij *pij

(5.21)

A funo de inutilidade retorna para cada par (Xi,vj), um valor de inutilidade Iij,. Este valor calculado pela expresso (5.21) em que COij representa um custo inicial dado por uma heurstica, Mcij representa o custo da melhor soluo at ao momento que incluiu o par (Xi,vj) e pij corresponde a um parmetro de penalizao que vai sendo incrementado conforme o par (Xi,vj) vai sendo utilizado.

202

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

Inicialmente, p e Mc so inicializados, para todos os pares, respectivamente com o valor 1 e com um valor superior ao custo da pior soluo do problema. Sendo Mc igual para todos os pares ento CO pode ser usado para representar uma heurstica que indique quais os valores inciais a escolher. Aps a inicializao de todos os parmetros, o DIV_comp seleciona para cada varivel os l valores com menor inutilidade. Estes valores constituem o novo sub-espao de pesquisa de um novo sub-problema que o PR_comp dever resolver. O sub-problema resolvido pelo PR_comp que retorna ao DIV_comp a melhor soluo encontrada e o respectivo custo (eventalmente pode no ser encontrada nenhuma soluo). Com base na soluo retornada, o DIV_comp actualiza os valores de inutilidade para os pares usados no sub-problema conforme eles integrem ou no a melhor soluo. Especificamente, o parmetro de penalidade incrementado de uma unidade para todos os pares que no integrem a melhor soluo. Para os restantes pares, o parmetro de penalidade mantm-se o mesmo, mas o parmetro Mc actualizado com o custo da soluo obtida. Se no for encontrada nenhuma soluo ento o parmetro de penalidade incrementado para todos os pares. Com este tipo de actualizao dos parmetros da funo de custo, possvel atingir dois objectivos. Primeiro, a probabilidade de certos pares (supostamente os melhores) serem escolhidos aumenta medida que estes vo integrando boas solues, o que implica uma convergncia na pesquisa. Segundo, porque o parmetro de penalidade, e consequentemente a inutilidade, vai sendo incrementado para os pares que em cada iterao no integrem a melhor soluo garante-se a diversificao da pesquisa. Note-se que, medida que a pesquisa evolui, o peso do parmetro CO torna-se negligencivel. De facto, medida que o parmetro de penalidade aumenta o segundo termo da funo de inutilidade torna-se muito maior do que o primeiro podendo este ltimo ser ento desprezado. A chave para a eficincia do mtodo de PGU baseia-se em penalizar pares varivel/valor maus, no penalizando os bons.

6.3.2

Componente PR_comp

Uma vantagem da plataforma de RA que o componente PR_comp independente do componente DIV_comp. Esta independncia permite que seja implementado qualquer mtodo de pesquisa no mbito do PR_comp. Na seco 6.4 o mtodo de PGU ser usado na resoluo do PETMUP. Deste modo, qualquer um dos mtodos apresentados nos captulos anteriores pode ser utilizado como mtodo de pesquisa no seio do PR_comp.

203

Captulo 6

Especificamente o mtodo de PQL ser o menos vantagoso. Tal acontece porque, por um lado no um mtodo completo e, por outro, sendo baseado num algoritmo de Simulated Annealing, necessita de um nmero considervel de iteraes para convergir no sentido de uma boa soluo. Ora, tendo o sub-espao de pesquisa, associado a cada sub-problema que o PR_comp necessita de resolver, dimenses reduzidas, o nmero de iteraes necessrias para explorar todo o sub-espao pode no ser o suficiente para o algoritmo de Simulated Annealing convergir. Note-se que a PQL e o PGU se baseiam na mesma ideia, que consiste em evitar a explorao exaustiva do espao de pesquisa, pelo que a sua utilizao conjunta, no traz, partida, nenhuma vantagem. Relativamente ao esquema de Limites Simples, este poderia ser utilizado sem qualquer tipo de adaptao. No entanto, de modo a avaliar melhor as vantangens de utilizao da PGU, nomeadamente por comparao com a PQL, o componente PR_comp corresponder ao mtodo de BBB com a estratgia MinVar+MinVal+Ctm, apresentado na seco 3.6.2. Note-se que este foi o mtodo usado na PQL. Em suma, o mtodo de BBB ser responsvel por encontrar uma soluo, com o melhor custo at ento, partindo de um sub-espao de pesquisa definido por um conjunto de restries aplicadas ao espao de pesquisa global. Estas restries, assim como o limite sobre o custo, so impostas pelo DIV_comp.

6.3.3

Questes de Implementao

Um dos parmetros mais importantes o nmero de valores l a considerar em cada subproblema. Como vimos na seco 6.2.1, o parmetro l define a dimenso de cada subproblema e estabelece o equilbrio entre o tempo de pesquisa atribudo ao PR_comp e ao DIV_comp. Teoricamente l no deve ser muito elevado nem muito baixo, sob pena da influncia de cada um dos componente ser desprezvel face do outro componente. Independentemente do valor de l, suposto em cada iterao o PR_comp encontrar a soluo ptima local do problema em causa. Tempo de Pesquisa Em termos prticos, o tempo de explorao de um sub-espao de pesquisa de um problema real normalmento muito elevado, mesmo para sub-problemas de pequena dimenso. Considerando este facto, e havendo a possibilidade de serem considerados sub-espaos de
204

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

pesquisa sem interesse (porque no tm soluo, ou porque o custo da melhor soluo globalmente mau), ento o algoritmo deve possuir mecanismos que limitem, em cada iterao, o tempo de pesquisa do componente PR_comp. Caso no exista nenhum mecanismo, o algoritmo pode passar demasiado tempo a explorar um determinado sub-espao de pesquisa sem que esta produza qualquer resultado. Por exemplo, suponhamos que no problema representado na Figura 6.4 a nica soluo corresponde estrela, e que o primeiro sub-espao de pesquisa considerado o A. Este subespao no promissor dado no possuir nenhuma soluo, pelo que todo o tempo gasto na sua explorao desnecessrio. Se o tempo necessrio para a explorao de A fosse elevado o desempenho da pesquisa seria muito afectado. Limitar o tempo de explorao nesta situao seria vantajoso. Face ao exposto anteriormente, nos testes efectuados com o PETMUP foi implementado um mecanismo que limita o tempo de explorao do PR_comp em cada iterao. Este mecanismo consiste num temporizador que inicializado com um determinado valor. O temporizador posto em contagem decrescente aquando do incio da explorao por parte do PR_comp. Sempre que encontrada uma soluo com o melhor custo at ento o temporizador novamente inicializado. Se o temporizador chegar a 0 sem que mais nenhuma soluo tenha sido encontrada a explorao terminada, e a melhor soluo retornada. O valor com que o temporizador inicializado denomina-se tempo de pesquisa (tp). Nmero de Iteraes O processo de pesquisa intrnseco ao mtodo de PGU cclico. Cada ciclo compreende a definio de um novo sub-problema, da responsabilidade do DIV_comp, e a resoluo desse mesmo sub-problema, da responsabilidade do PR_comp. O limite sobre a varivel custo vai sendo restringido medida que a pesquisa evolui, havendo uma garantia de que em cada ciclo se encontra uma soluo com um melhor custo, ou no se encontra soluo nenhuma. Apesar da convergncia, no existe garantia de se encontrar a soluo ptima, pelo que o mtodo incompleto. Face ausncia de critrio de paragem e ao facto do mtodo ser incompleto, este poder correr indefinidamente. Nos testes cujos resultados so apresentados na seco 6.4 o critrio de paragem foi o nmero de iteraes. Este dever ser suficientemente elevado para permitir encontrar a soluo ptima global, ou pelo menos uma boa soluo.
205

Captulo 6

6.3.4

O Algoritmo

Com base nos componentes definidos nas seces anteriores, e tendo em ateno as questes de implementao, pode-se definir o algoritmo do mtodo de Pesquisa Guida por Utilidades, tal como se apresenta na Figura 6.5.

Desenvolver o modelo do problema em termos de variveis e restries. Inicializar para todos os pares varivel/valor os parmetros da funo Inutilidade (C0, Mc e p). Repetir at se atingir um critrio de paragem (nmero de iteraes pr-definido): Seleccionar para cada uma das variveis do problema os l valores com menor inutilidade (I) Passar as restries que traduzem as restries dos domnios para o componente PR_comp e o melhor custo at ento Inicializar o temporizador com o tempo de pesquisa Enquanto o temporizador no chegar a 0 Resolver o sub-problema utilizando o mtodo de pesquisa subjacente ao PR_comp (Por exemplo: BBB) Se for encontrada uma soluo com um melhor custo at ento reinicializar o temporizador Fim de Ciclo Com base na soluo retornada pelo PR_comp, actualizar todos os parmetros para os pares envolvidos, e o respectivo valor de inutilidade da seguinte forma: Se a soluo for um novo ptimo (no) Fazer Mc=no para todos os pares varivel/valor que pertencem a essa soluo. Para os pares restantes incrementar em uma unidade a penalidade p. Seno Incrementar em uma unidade as penalidades de todos os pares envolvidos no sub-problema. Fim de ciclo Figura 6.5 Algoritmo base do Mtodo de Pesquisa Guiada por Utilidades

Note-se que o mtodo requer a definio de 3 parmetros, nomeadamente:


O nmero de valores l a considerar em cada iterao; O tempo de pesquisa tp, O critrio de paragem que neste caso corresponde a um nmero de iteraes mximo ni.

206

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

6.4

Resoluo do PETMUP usando o mtodo de PGU

Dada a independncia do PR_comp, na aplicao do mtodo de PGU ao PETMUP pode-se usar o mesmo modelo do problema e mtodo de pesquisa apresentado em qualquer um dos captulos anteriores. Para facilitar a comparao entre mtodos, o PR_comp corresponder ao modelo e mtodo de pesquisa apresentado no Captulo 3, nomeadamente o BBB com as estratgias MinVar+MinVal+Ctm. Quanto ao DIV_comp, apenas necessrio definir o parmetro COij. Tal como referido anteriormente, este parmetro permite implementar uma heurstica que ajude a direccionar a pesquisa numa fase inicial. No caso do PETMUP, o objectivo do problema consiste em escalonar todas as tarefas de manuteno reduzindo os custos de Manuteno e de Produo. Neste sentido, uma boa heurstica pode ser tentar escalonar primeiro as tarefas nos perodos aos quais correspondem os menores custos de manuteno. Note-se, no entanto, que uma tarefa de manuteno pode durar vrios perodos, pelo que escalonar uma tarefa de forma a que esta se inicie num perodo com um baixo custo de manuteno pode no significar que o custo total associado tarefa seja o mais baixo. Tal como referido na seco 3.6.1, de forma a minimizar o custo total de manuteno associado a uma tarefa, devem-se adicionar os custos de manuteno de todos os perodos em que esta se desenrola. Especificamente, se a tarefa t tem uma durao dt e os custos de realizao da tarefa em cada perodo p so dados por Cmtp, ento os custos totais de manuteno Cmt associados tarefa t, se esta tiver incio no perodo p1, so dados por:

Cmt = Cmtp
p = p1

p1 + dt 1

(5.22)

Considerando a expresso (5.22), pode-se ento inicializar o parmetro COij para cada par varivel/valor, em que a varivel Pt traduz o perodo de incio de execuo da tarefa t. Neste caso, o parmetro pode ser determinado pela expressoseguinte:

COPt j = Cmtp
p= j

j + dt 1

(5.23)

Uma vez inicializados todos os parmetros da funo inutilidade, o processo continua escolhendo para o domnio de cada varivel os l valores com menor inutilidade. Na seco 6.2.1 foram feitas algumas consideraes acerca do parmetro l. Na seco seguinte sero

207

Captulo 6

apresentados alguns testes que permitem determinar a sensibilidade do mtodo ao parmetro l.

6.4.1

Resultados Experimentais

semelhana dos mtodos anteriores, os testes foram realizados sobre as mesmas instncias, hardware e software utilizados no Captulo 3, 4 e 5. Apesar do mtodo ser incompleto, no possui qualquer componente estocstica, pelo que cada teste foi efectuado uma nica vez. Pretende-se com os testes avaliar a adequao do mtodo de PGU ao PETMUP, assim como determinar a influncia dos parmetros no seu desempenho, nomeadamente o nmero de valores por domnio de varivel l, e o tempo de pesquisa tp limite por iterao para o componente PR_comp. Influncia dos parmetros l e tp Como vimos anteriormente, l poder tomar valores entre 1 e o nmero de valores do domnio da varivel. No caso especfico do PETMUP, l poder tomar valores entre 1 e Np, em que Np corresponde ao nmero de perodos disponveis para manuteno. O tempo necessrio para explorar cada um dos espaos de pesquisa cresce exponencialmente com a dimenso desse mesmo espao, definido pelo nmero de variveis e pelo valor de l. Logo o valor de l est intimamente ligado com o tempo de pesquisa tp. partida, com maiores valores de l o valor de tp deve tambm ser maior, de forma a que o PR_comp tenha tempo para encontrar a soluo ptima ou, pelo menos, boas solues. No entanto, no caso de valores elevados de tp, o tempo de pesquisa pode aumentar, pois, como vimos no exemplo da seco 6.3.3, quanto maior for o tempo gasto a explorar sub-espaos de pesquisa improdutivos, maior ser o tempo necessrio para encontrar uma boa soluo. De forma a avaliar a influncia dos parmetros no desempenho do mtodo realizou-se um conjunto de experincias preliminares de forma a determinar qual a gama de valores para os quais seria interessante fazer um estudo mais exaustivo. Estes valores dependem naturalmente da dimenso das instncias e particularmente do nmero de perodos. A partir dessas experincias e considerando as mesmas instncias dos captulos anteriores escolheram-se para l os valores {6,7,8,9,10} e para tp os valores {30,60,90,120,150,180,210}. A partir da conjugao destes valores foram realizados testes com as instncias usadas nos captulos

208

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

anteriores. Os resultados encontram-se sumariados nas figuras que se seguem e nas figuras apresentadas na seco A.2 do Anexo A.

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 30 60 90 tp 120 150 180 210 6 7 8 9 10

Figura 6.6 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_10_24_a1

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 60 90 120 tp 150 180 210 240 270 6 7 8 9 10

Figura 6.7 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_15_24_a1

Na Figura 6.6 e Figura 6.7 encontram-se, respectivamente, os resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia

209

Captulo 6

iem_10_24_a1 e da instncia iem_15_24_a1. Os resultados correspondem a tempos de computao necessrios para encontrar a melhor soluo que a pior combinao de valores encontrou dentro do tempo limite disponvel de clculo. Esta base de comparao foi necessria porque algumas combinaes no permitem encontrar a soluo ptima, embora o custo dessas solues esteja muito prximo do ptimo. De forma a facilitar a comparao, os tempos de computao so dados em percentagem do pior tempo. Como exemplo, a combinao tp=210 e l=10 (Figura 6.6) necessitou do maior tempo de computao de entre todas as combinaes. Esse tempo corresponde a 100%. Por sua vez, a combinao tp=120 e l=6 necessitou de aproximadamente metade do tempo de computao, correspondendo a esse tempo 50%. Da anlise dos resultados representados na Figura 6.6, 6.7, e nas restantes figuras constantes da seco A.2 do Anexo A pode-se concluir que:

O desempenho do mtodo de PGU sensvel a ambos os parmetros l e tp. Para as combinaes de parmetros testadas, possvel verificar diferenas de mais de 70% entre a pior e a melhor combinao, sendo a diferena mais acentuada para as instncias de maior dimenso (iem_15_24_xx), como se pode verificar na Figura 6.7. Note-se que embora parea uma grande desvantagem do mtodo, no o na prtica, pois estamos a referir-nos a situaes extremas de variao dos parmetros. Para pequenas variaes dos valores dos parmetros, e especialmente em torno de boas combinaes, em mdia as diferenas so inferiores as 10%. Esta concluso, sugere no entanto, que uma utilizao correcta do mtodo exige que os parmetros sejam afinados para o problema em questo, semelhana do que acontece com a quase totalidade dos mtodos de pesquisa combinatorial;

Relativamente sensibilidade do mtodo face a cada um dos parmetros separadamente podemos verificar que de entre a gama de valores testada a variao dos tempos de computao em mdia inferior a 40%. Isto para uma grande variao dos parmetros que, por exemplo no caso de tp, pode ser de 700% (30 s a 210 s). Em termos relativos, os testes sugerem uma maior sensibilidade do mtodo ao parmetro l do que ao parmetro tp. Especificamente, considerando, por exemplo, os resultados da Figura 6.6, a diferena de desempenho para tp=60 (melhor caso) e tp=210 (pior caso), que corresponde a uma variao do parmetro superior a 230%, em mdia inferior a 40% independentemente do parmetro l. No caso do parmetro l pode-se verificar que, considerando de igual

210

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

forma os resultados da Figura 6.6, a diferena de desempenho para l=8 (melhor caso) e l=10 (pior caso), que corresponde a uma variao do parmetro de 25%, em mdia inferior a 40% independentemente do parmetro tp. Estes resultados so semelhantes para as restantes instncias como se pode ver na seco A.2 do Anexo A;

Relativamente ao parmetro l, tal como esperado verifica-se que os melhores resultados so obtidos com um valor de l no muito baixo nem muito alto, independentemente da instncia. Especificamente, os melhores resultados foram obtidos para l{7,8}, ou seja, entre 1/3 e 1/4 do valor mximo 24. Note-se que, para todas as instncias consideradas, a variao dos resultados com um e outro valor pequena, sendo em mdia inferior a 10%. Este facto sugere que, tal como esperado, poder existir uma correlao entre o melhor valor do parmetro e o nmero de perodos disponveis para manuteno. A determinao desta correlao ser objecto de trabalho futuro embora alguns testes preliminares sugiram que efectivamente 1/4.Np<l<1/3.Np (Gomes N. 2003b);

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 30 60 90 tp 120 150 180 210 6 7 8 9 10

Figura 6.8 - Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_10_24_d1

Ainda relativamente ao parmetro l, verifica-se que os casos em que o valor mais adequado 7 correspondem s instncias com menor nvel de estreitamento como o caso da instncia iem_10_24_d1 cujos resultados se apresentam na Figura 6.8 ou do caso da instncia iem_10_24_e1 cujos resultados se apresentam na Figura A.20 do Anexo A. Note-se que, partida, a PLR normalmente mais eficiente para instncias com um menor nvel de estreitamento. Consequentemente h maior probabilidade de em cada
211

Captulo 6

iterao o modulo PR_comp encontrar o ptimo local em menor tempo, ou seja, menor valor de tp, e, ao mesmo tempo, com um menor valor de l. Este facto parece ser confirmado tambm pelos resultados obtidos com valores baixos de tp (tp=30 e tp=60) como se pode verificar tambm na Figura 6.8;

Relativamente ao parmetro tp, apesar da menor sensibilidade do mtodo relativamente a este parmetro, tambm importante a sua definio. Tal como referido anteriormente, parece existir uma correlao entre a dimenso do espao de pesquisa e o valor adequado de tp. Especificamente, verifica-se que para as instncias de menor dimenso (iem_10_24_xx) os melhores resultados so obtidos para valores de tp=90 para as instncias com maior nvel de estreitamente e tp=120 para as restantes. Para as instncias de maior dimenso, o melhor valor de tp de 150, havendo um caso (iem_15_24_d_1) em que 120. O estabelecimento da correlao entre a dimenso do espao de pesquisa e o valor de tp ser objecto de trabalho futuro.

6.4.2

Comparao de Resultados

Nas Figura 6.9 e Figura 6.10, encontram-se representados os resultados obtidos com os mtodos de LS, PQL e PGU respectivamente para as instncias do tipo iem_10_24_xx e iem_15_24_xx. Os resultados referem-se a tempos de computao necessrios para obter a soluo ptima nos casos em que isso foi possvel dentro do tempo disponvel, ou a melhor soluo obtida pelo pior dos mtodos nos casos restantes. Tal como nos grficos anteriores, os tempos so dados em percentagem do pior tempo, que em todos os casos foi alcanado pelo mtodo de LS. Os valores dos parmetros utilizados na obteno dos resultados foram de l=8 e tp=90 para as instncias do tipo iem_10_24_xx, e de l=8 e tp=150 para as instncias do tipo iem_15_24_xx. Como se pode verificar, para a maioria das instncias o mtodo de PGU foi o que necessitou de menor tempo de computao, embora com pequenas diferenas relativamente ao mtodo de PQL. Essas diferenas so particularmente reduzidas, e at com vantagem para o mtodo de PQL, em dois dos casos, correspondentes a instncias de maior dimenso. Este facto sugere que a diversificao da explorao do espao de pesquisa promovida pelo mtodo de PGU poder no ser suficiente. Com uma diversificao insuficiente, as reas exploradas so sequencialmente muito prximas, o que implica um maior nmero de iteraes, e de
212

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

tempo, para que se alcancem as reas mais afastadas da rea inicial. Por outras palavras, como a diversificao reduzida no se promovem grandes saltos em termos de distncia entre reas a serem exploradas. Assim necessrio mais tempo para alcanar reas distantes da inicial.

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% iem_10_24_a1 iem_10_24_b1 iem_10_24_c1 iem_10_24_d1 iem_10_24_e1 PQL PGU

Figura 6.9 Comparao dos resultados obtidos com os mtodos de LS, PQL e PGU para as instncias do tipo iem_10_24_xx

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% iem_15_24_a1 iem_15_24_b1 iem_15_24_c1 iem_15_24_d1 iem_15_24_e1 PGU PQL

Figura 6.10 Comparao dos resultados obtidos com os mtodos de LS, PQL e PGU para as instncias do tipo iem_15_24_xx

213

Captulo 6

6.5

Questes para Trabalho Futuro

Em termos gerais, o mtodo de PGU parece ser bastante adequado para a resoluo do PETMUP em particular e de problemas de Escalonamento em geral. De facto, para alm de manter a flexibilidade, declaratividade e facilidade de modelizao da PLR, permite melhorar significativamente a sua eficincia. No entanto, existem alguns pontos cujo estudo importante para uma aplicao generalizada do mtodo e que podem melhorar ainda mais a sua eficincia. Algumas desses pontos so os seguintes:

Os testes realizados so ainda insuficientes para identificar uma forma sistemtica de determinar os valores dos parmetros l e tp para a instncia a resolver. Os testes sugerem uma correlao entre a dimenso do espao de pesquisa e o parmetro tp, e tambm uma correlao entre o nmero de valores dos domnios das variveis de deciso e o parmetro l. Relativamente a esta ltima, uma relao possvel 1/4.Np<l<1/3.Np. Para uma aplicao generalizada do mtodo necessrio efectuar mais testes de forma a determinar as correlaes existentes e as respectivas expresses;

Os testes realizados sugerem que a diversificao de explorao do espao de pesquisa introduzida pela funo de inutilidade insuficiente. Na prtica, o mtodo pode estar a convergir muito rapidamente para um determinado conjunto de pares varivel/valor, ou seja, para uma rea de pesquisa, antes que haja uma explorao suficiente de outras reas de pesquisa, mesmo que potencialmente pouco promissoras. Desta forma, pode ser vantajoso encontrar um mecanismo que diminua a velocidade de convergncia da pesquisa. Uma ideia para resolver este problema consiste em introduzir um mecanismo que adapte a penalizao dos maus pares, para que, pelo menos numa fase inicial da pesquisa, estes no sejam to penalizados. Com uma menor penalizao dos supostos maus pares estes podem ser includos mais vezes. Outra ideia pode ser em certas fases da pesquisa, por exemplo quando esta estiver sem encontrar nenhuma soluo durante vrias iteraes, diminuir a penalidade dos piores pares para que estes possam ser includos novamente na pesquisa;

Outro ponto de interesse consiste em tentar melhorar o desempenho individual do componente PR_comp, ou seja, acelerar a pesquisa do ptimo local. Neste sentido, uma hiptese pode ser a utilizao do mtodo de LS apresentado no Captulo 4. Alguns testes preliminares com base neste mtodo produziram resultados bastantes promissores;

214

O Mtodo de Pesquisa Guiada por Utilidades na Resoluo do PETMUP

Dado o desempenho do mtodo, e tendo em ateno a sua independncia do problema em causa, a sua utilizao na resoluo de outros tipo de problemas pode ser vantajosa. Alguns testes realizados sobre um problema de Sequenciamento de Tarefas e Determinao da Dimenso de Lotes (Gomes N. 2005a) sugerem que efectivamente o PGU pode ser aplicado a outros tipos de problemas com sucesso.

215

Captulo 7

Resoluo do Problema do Escalonamento de Tarefas de Manuteno na Rede de Transporte de Energia Elctrica no mbito da Programao Lgica por Restries

Resoluo do PETMRT no mbito da PLR

7.1

Introduo

Neste captulo apresenta-se uma abordagem ao Problema de Escalonamento de Tarefas de Manuteno na Rede Elctrica de Transporte (PETMRT). O PETMRT corresponde a um problema de escalonamento semelhante ao PETMUP, para o qual o objectivo principal consiste em criar uma plano de execuo para diversas tarefas de manuteno sobre a rede de transporte, que respeite um conjunto de restries pr-definidas, e optimize uma determinada funo de custo. Entre outras, as semelhanas passam pelos tipos de restries que caracterizam os dois problemas. Mais especificamente, o PETMRT, semelhana do PETMUP, caracterizado por Restries Temporais; Sobre Recursos; de Capacidade; de Procura; de Precedncia e de no Simultaneidade. O PETMRT, distingue-se no entanto, por ter associado um conjunto especfico de restries, denominadas Restries Elctricas, que traduzem as caractersticas da rede de transporte. No modelo usado nesta tese as restries elctricas so classificadas segundo 4 tipos, nomeadamente Restries de Continuidade, Restries de Sobrecarga, Restries de Quedas de Tenso e Restries sobre Correntes Injectadas e Consumidas. Uma explicao mais detalhada acerca do PETMRT, pode ser encontrada na seco 2.5 do Captulo 2. Para alm de constiturem um factor de diferenciao, as restries elctricas so as principais responsveis pelas dificuldades no desenvolvimento do modelo e resoluo do PETMRT. Estas dificuldades podero ser a causa principal do menor nmero de referncias encontradas acerca do problema (ver seco 2.6.2), apesar da sua importncia na gesto e operao da rede de transporte. Na seco 7.2.3 sero apresentados algoritmos de filtragem originais, capazes de lidar eficientemente com as restries elctricas associadas ao PETMRT no mbito da PLR. As restries elctricas e os respectivos algoritmos de filtragem constituem a principal diferena entre os modelos usados para a resoluo do PETMUP e do PETMRT.

7.2

A Definio do Modelo

Na seco 2.5.5 do Captulo 2 foi apresentado um modelo geral para o PETMRT usando uma linguagem prxima da matemtica. semelhana da adaptao feita na seco 3.6.1 para o PETMUP, podemos converter de forma relativamente simples o modelo da seco 2.5.5 num modelo adaptado PLR. Do ponto de vista de implementao prtica, parte da
219

Captulo 7

definio das restries elctricas, e respectivos algoritmos de filtragen, o programa usado para o PETMUP pode ser utilizado para o PETMRT, nomeadamente no que se refere definio das variveis e restries do problema.

7.2.1

Variveis e Respectivos Domnios

O modelo do PETMRT apresentado na seco 2.5.5 define 7 tipos de variveis:


Pt xtp Ctmt Nlp Iijp Ubp Iibp
Perodo de incio de execuo da tarefa t; Estado da tarefa t no perodo p (0 se a tarefa estiver em execuo, 1 se no estiver); Custo total de execuo da tarefa t; Estado da linha l no perodo p (1 se a linha estiver fora de servio, 0 caso contrrio); Corrente que passa na linha que liga o barramento i ao barramento j no perodo p; Queda de tenso no barramento b no perodo p; Corrente injectada no barramento b da rede no perodo p;

Note-se que as primeiras 4 variveis so tambm usadas no modelo do PETMUP. Em termos de implementao no existe uma distino entre as variveis do tipo xtp e Nlp. Por uma questo de clareza do modelo, so usadas as duas denominaes, embora em termos de implementao no seja feita nenhuma distino. O domnio das variveis do tipo Nlp e xtp corresponde ao conjunto {0,1}. Tal como no caso do PETMUP, o domnio inicial de cada uma das variveis Pt corresponde ao nmero de perodos disponveis para escalonamento. Na seco 2.5.5 ainda so indicadas mais 3 tipos de variveis relacionadas com as restries elctricas, mas que em termos de implementao no so usadas. Na seco 7.2.3 sero introduzidos os algoritmos de propagao relacionados com as restries elctricas que justificam a no utilizao dessas variveis.

7.2.2

Restries Gerais

Pela semelhana entre o PETMUP e o PETMRT, excepo das restries de Capacidade e de Procura, todas as restries usadas no primeiro problema so usadas de igual forma no

220

Resoluo do PETMRT no mbito da PLR

segundo. Estas restries, cuja forma foi apresentada e discutida na seco 3.6.1, podem ser implementadas recorrendo a restries aritmticas simples, tais como as seguintes:

Restries Temporais (Por exemplo: Pt # >= ti , Pt # =< t f , Pt ## ti ) Restries de Precedncia (Por exemplo: Pi + di # =< Pj )

ou recorrendo a restries Globais, tais como as seguintes:

Restries sobre Recursos (Por exemplo:

cumulative ([ P ,K, Pt ] , [ d1 ,K , dt ] , [ R1r ,K, Rtr ] , Qrp ) ) 1

Restries de No Simultaneidade (Por exemplo: Disjunctive ( Pi , di , Pj , d j ) )

Estas restries dizem respeito ao problema de escalonamento em geral e restringem basicamente a sequncia de execuo das tarefas. Por terem sido objecto de anlise na seco 3.6.1 do Captulo 3 no sero abordadas nesta seco. Para alm destas restries de mbito mais geral, o PETMRT possui restries especficas relacionadas com os limites elctricos da rede. Estas restries sero objecto de anlise na prxima seco.

7.2.3

Restries Elctricas

As restries elctricas esto directamente relacionadas com as limitaes fsicas da rede para o transporte da energia elctrica. A execuo de tarefas de manuteno na rede, sejam elas sobre as linhas de transporte ou nas subestaes, pode implicar a retirada de servio de diversos componentes e, consequentemente, uma alterao nos trnsitos de potncia. Esta alterao s pode ser feita se no for violado nenhum limite fsico da rede, como seja o limite de corrente nas linhas, as quedas de tenso nos barramentos, etc. Desejavelmente, tambm se deve manter sem interrupo o fornecimento de energia aos consumidores. No modelo do PETMRT apresentado no Captulo 2 as restries elctricas foram classificadas segundos os seguintes tipos:

Restries de Continuidade; Restries de Sobrecarga;


221

Captulo 7

Restries de Quedas de Tenso; Restries sobre Correntes Injectadas e Consumidas.


Em termos prticos, as restries elctricas so divididas em dois grupos, sendo cada grupo tratado por um algoritmo de filtragem distinto. O primeiro grupo constitudo pelas restries de continuidade e o segundo pelas restantes restries. Restries de Continuidade As restries de continuidade devem assegurar que em cada perodo exista sempre um caminho elctrico entre dois ns distintos da rede. Um algoritmo de filtragem deve ento determinar em cada iterao, e para cada perodo, quais os elementos que podem, ou no, ser retirados de servio de forma a evitar o aparecimento de ilhas. Designaremos os elementos que no podem ser retirados de servio Elementos Crticos (Por exemplo: Linhas Crticas). A base do algoritmo de filtragem para as restries de continuidade usado nesta tese uma estrutura que representa a topologia da rede em cada perodo. A estrutura constitui um grafo composto por todos os ramos da rede, em que cada ramo do grafo (estrutura) tem a forma ramo(bm,bn,Nlp). Neste objecto, bm representa o barramento de origem, bn o barramento de destino e Nlp a varivel de estado associada com a linha l no perodo p. Tal como referido anteriormente, em termos de implementao a varivel Nlp substituda pela varivel xtp, em que a tarefa t implica a sada de servio da linha l. Neste caso, cada objecto do grafo tem a forma ramo(bm,bn, xtp). Considerando um grafo representativo da rede para cada perodo, em que um barramento da rede corresponde a um n e uma linha a um ramo, podem ser usados algoritmos da Teoria de Grafos para executar a propagao das restries de continuidade. Especificamente, identificar um n ou ramo crtico consiste, em termos da teoria de grafos, respectivamente a identificar Pontos de Articulao e Pontes. Um Ponto de Articulao, tambm denominado Vrtice de Corte, de um grafo conexo um vrtice que se for removido torna o grafo no conexo, ou seja, divide o grafo em dois. Da mesma forma, uma Ponte, tambm designada por Corte, de um grafo conexo um ramo que, se removido, divide o grafo em dois. Considerando ento o grafo que representa a nossa rede, determinar as linhas ou barramentos que, se retirados de servio, implicam a diviso da rede, ou seja o aparecimento

222

Resoluo do PETMRT no mbito da PLR

de ilhas, corresponde a determinar os pontos de articulao do grafo. Uma vez identificados os pontos de articulao e os cortes associados (linhas que no podem ser retiradas de servio), o algoritmo deve igualar as variveis de estado xtp associadas a 0, de modo a que as tarefas respectivas no sejam realizadas no perodo em causa. Este procedimento pode ser ilustrado com o exemplo da Figura 7.1.
b
1

b2 l 13 l 23 b l 34 b l 45
4 3

n1

n3

n4 l 46 b6 n n6

a)

b)

Figura 7.1 Exemplo de um grafo representativo de uma rede elctrica

Na Figura 7.1 a) encontra-se representado um exemplo de uma rede elctrica e na Figura 7.1 b) encontra-se o grafo respectivo. Uma anlise da rede permite deduzir que os barramentos b3, b4 e a linha l34 so crticos, uma vez que a remoo de servio de qualquer um deles divide a rede em duas. O mesmo pode ser dito relativamente ao grafo, em que a remoo dos pontos de articulao n3, n4 ou da ponte que liga n3 a n4 divide o grafo em dois. A pesquisa dos pontos de Articulao e Pontes num grafo pode ser feita usando um algoritmo de Pesquisa do Primeiro em Profundidade (Mchugh J. 1990), que tem uma implementao simples numa linguagem baseada em PROLOG como o ECLiPSe. O algoritmo de filtragem das restries de continuidade baseia-se ento num grafo representativo da rede para cada perodo e num algoritmo de Pesquisa do Primeiro em Profundidade. Sempre que uma tarefa que envolve a remoo de componente escalonada, o algoritmo de filtragem chamado para analisar o grafo representativo da rede para o perodo envolvido. O algoritmo comea ento por actualizar o grafo removendo o ramo necessrio. Em seguida, determina os pontos de articulao e pontes existentes e iguala a 0 as variveis de estado xtp respectivas.

223

Captulo 7

Restries de Sobrecarga, Quedas de Tenso e Corrente Injectada e Consumida Para alm das restries de continuidade, sempre que retirado de servio um elemento da rede num determinado perodo necessrio verificar se as restantes restries elctricas no so violadas. Estas restries so as restries de Sobrecarga, Quedas de Tenso, e Correntes Injectadas e Consumidas. No programa desenvolvido no mbito desta tese a propagao destas restries da responsabilidade de um nico algoritmo, denominado ARE (Algoritmo para as Restries Elctricas). Mais de que verificar a consistncia das restries posteriori, o ARE deve antecipar os elementos que no podem ser retirados posteriormente sem que haja uma violao das restries. Em termos prticos, sempre que removido de servio um elemento da rede, o ARE chamado, recebendo um vector do tipo [xrp, , xsp,] com a indicao do estado das tarefas. Cada tarefa constante no vector implica a sada de servio de um determinado componente da rede, portanto se a tarefa estiver em execuo o elemento respectivo est fora de servio. A partir do vector recebido, que traduz uma determinada topologia da rede, o ARE deve verificar se nenhuma restrio elctrica (excepto de continuidade) foi violada e tambm quais as tarefas que se executadas levam violao das restries. Como resultado da verificao, o ARE retorna uma informao de falha se tiver sido violada uma restrio, ou um vector do mesmo tipo do que recebeu, mas em que as variveis associadas aos elementos (tarefas) que no podem ser removidos (executadas) so igualadas a 0. A maioria das abordagens encontradas na literatura e apresentadas na seco 2.6 apenas verificam a consistncia das restries relativamente aos elementos efectivamente retirados de servio, no efectuando nenhuma anlise acerca dos elementos que no podem ser retirados. Esta abordagem no eficiente, pois as falhas s so detectadas posteriori, aps a instanciao das variveis e um gasto significativo de tempo na propagao de todas as restries. Normalmente a verificao de consistncia das restries elctricas feita recorrendo a clculo de trnsitos de potncias para a situao da rede que resulta da remoo de um determinado elemento. Com o clculo do trnsito de potncias possvel determinar as correntes em todas as linhas e as tenses nos barramentos e verificar se os valores obtidos esto dentro dos limites ou no.

224

Resoluo do PETMRT no mbito da PLR

Da mesma forma, primeira vista, parece necessrio calcular os trnsitos de potncias para cada elemento passvel de ser removido, de forma a verificar se os limites elctricos so ou no violados em cada situao. No entanto, sendo os clculos de transitos de potncias relativamente pesados em termos computacionais, executar esses clculos por cada elemento a avaliar pode ser proibitivo. De forma a evitar este problema, adoptou-se para o ARE um procedimento baseado em tcnicas de Anlise de Contingncias. Este procedimento realiza apenas um clculo completo de trnsitos de potncias para a situao inicial da rede, sendo as remoes de elementos tratadas como contingncias desta situao inicial. De notar que embora as tcnicas de anlise de contingncias contenham aproximaes na sua deduo e, por isso levem, obteno de resultados aproximados, o seu tempo de clculo significativamente mais reduzido do que o tempo necessrio para o clculo de trnsitos de potncias, pois evitam-se os processos iterativos de elevada dimenso caractersticos destes ltimos. Por outro lado, no nosso caso, o objectivo da anlise determinar se a corrente em determinada linha ultrapassa ou no o seu limite, ou se a tenso em determinado barramento est ou no dentro do intervalo permitido, e no obter o valor exacto da corrente ou tenso. As aproximaes efectuadas so, por essa razo, aceitveis. Anlise de Contingncias Quando uma linha ligada ou desligada de uma rede pela aco dos disjuntores, as correntes nas restantes linhas redistribuem-se e as tenses nos barramentos alteram-se. O novo estado da rede pode ser calculado usando tcnicas de anlise de contingncias. Os factores de distribuio e as correntes de compensao so conceitos importantes da anlise de contingncias que importa aqui tratar. Factores de distribuio A anlise de contingncias usa dois tipos de factores de distribuio chamados factor de distribuio de corrente injectada K e factor de distribuio relativo sada de servio de uma linha l. O factor de distribuio de corrente injectada Kij,m relaciona a variao de corrente na linha i-j (Iij) com a variao de corrente no n m (Im), de acordo com a expresso seguinte:

K ij ,m =

I ij I m

Z im Z jm Zc
(5.24)

225

Captulo 7

em que Zc a impedncia da linha i-j e os restantes elementos Z se referem a elementos da matriz Z obtida considerando as impedncias dos geradores. Esta matriz ligeiramente diferente da matriz Z usada nos clculos dos trnsitos de potncia, pois nestes os barramentos com produo associada so normalmente considerados do tipo PV, ou seja, barramentos onde possvel efectuar o controlo da tenso por forma a esta se fixar num valor especificado. Deste modo, no necessrio considerar para a matriz Z do clculo de trnsitos de potncia as impedncias dos ramos associados produo, pois estes encontram-se a jusante de um ponto onde conhecido o valor da tenso. Numa rede de distribuio, podem-se considerar os pontos injectores como tendo potncia de curto-circuito infinita e estas impedncias tomam o valor zero, pelo que a matriz Z se mantm inalterada. O factor de distribuio Lpq,mn relaciona a variao de corrente na linha p-q (pqj) devido sada de servio da linha m-n (Imn), de acordo com a expresso seguinte:
L pq ,mn = I pq Im = Z a ( Z pm Z pn ) ( Z qm Z qn ) Zb Z th ,mn Z a

(5.25)

em que Za a impedncia da linha p-q e Zb a impedncia da linha que sai de servio m-n. Zth,mn a impedncia de Thevenin vista dos ns m e n e dada pela equao expresso (5.26). Os restantes Zs so elementos da matriz Z.

Z th ,mn = Z mm + Z nn Z mn Z nm

(5.26)

Ambos os factores K e L so fceis de calcular directamente a partir da matriz Z e das impedncias das linhas. Com base no factor de distribuio relativo sada de servio de uma linha l, pode-se determinar quais as linhas que podem ser retiradas de servio sem que as restantes entrem em sobrecarga. Correntes de compensao Quando se consideram ligaes ou remoes de linhas numa rede, nem sempre necessrio calcular uma nova matriz Z, especialmente se o nico interesse determinar o seu impacto nas correntes das restantes linhas e as mudanas nas tenses nos barramentos. Um procedimento alternativo consiste na injeco de correntes de compensao na rede de forma a compensar os efeitos da ligao ou remoo de uma linha. Uma discusso detalhada do modo de

226

Resoluo do PETMRT no mbito da PLR

proceder para a insero ou remoo de mais do que uma linha pode ser encontrada em (Weedy M. 1992). No caso presente apenas interessa considerar a remoo de uma linha. Em termos matemticos, a remoo de uma linha pode ser considerada como a adio de uma linha entre os mesmos ns, com um valor de impedncia simtrico da linha a remover. Isto resulta no paralelo de uma impedncia com o seu simtrico, cujo resultado infinito, ou seja, corresponde ausncia de linha. Por outras palavras, remover uma linha de impedncia Zb entre os ns p e q equivalente a inserir uma linha de impedncia Zb entre os mesmos ns. A insero de uma linha de impedncia Za na rede entre os ns m e n repercute-se com alteraes possveis das tenses de um valor V de acordo com (5.27). Nesta expresso V representa o vector das tenses nos ns antes da insero e V o mesmo vector aps a insero.

V = V ' V

(5.27)

Considerando a expresso (5.27), pode-se determinar a corrente Ia no ramo inserido atravs da expresso (5.28):

Ia

(V =

' m

Vn' )

Za

(5.28)

a qual pode ser reescrita da seguinte forma:

Z a I a = Ac V '

(5.29)

em que Ac a matriz de incidncias (no caso, um vector horizontal), cujos valores so todos zero excepto o mesimo que vale 1, e o nesimo que vale -1. As correntes de compensao podem, ento, ser expressas da seguinte forma:
I comp = AcT I a
(5.30)

onde Icomp corresponde a um vector em que todos os elementos so 0 excepto o mesimo que vale -Ia e o nesimo que vale Ia. Considerando as expresses anteriores podemos deduzir que:

V = V ' V = ZAcT I a
V ' = V + ZI comp = V ZAcT I a

(5.31) (5.32)

227

Captulo 7
T Z a I a = AcV Ac ZAc I a

(5.33) (5.34)

Z a I a = AcV Z th ,mn I a
Em sequncia podemos determinar o valor de Ia
Ia = Ac V V V = m n Z a + Z th ,mn Z a + Z th ,mn

(5.35)

Determinado Ia, os novos valores das tenses nos ns podem ser calculado atravs da expresso (5.32). Restries de Sobrecarga Para verificar a violao ou no das restries de correntes mximas admissveis nas linhas, torna-se necessrio calcular a matriz Z da rede e efectuar um trnsito de potncias inicial usando um mtodo adequado. Caso a rede seja radial, podem ser usados mtodos prprios para estes casos, que so computacionalmente mais eficientes do que os mtodos normalmente utilizados para as redes emalhadas. No entanto, h que ter em conta que, embora as redes de distribuio sejam operadas radialmente, no necessrio que a rede que esteja a ser processada o seja. De facto, alguns algoritmos de escalonamento de tarefas de manuteno assumem inicialmente uma rede totalmente conectada e vo desligando ramos at que esta se torne radial. Alm disso, uma das razes pela qual os mtodos de clculo de trnsito de potncias prprios para redes radiais so mais rpidos o facto de no necessitarem do clculo da matriz Z. Na situao presente, esta matriz vai ser necessria mais adiante no clculo, pelo que esta vantagem desaparece. Uma vez calculado o trnsito de potncias, conhecido o estado da rede, ou seja, todas as correntes, e tenses, e todos os trnsitos de potncias activas e reactivas. Calculando os factores de distribuio relativos sada de servio de uma linha Lij,mn para todos os pares possveis de linhas, consegue-se calcular qual a variao de corrente em cada linha provocada pela sada de servio de outra e, consequentemente, estimar qual a sua nova corrente de acordo com a expresso (5.37).

I ij = Lij ,mn I mn I ij ' = I ij + I ij

(5.36) (5.37)

228

Resoluo do PETMRT no mbito da PLR

Para cada linha m-n que se supe sair de servio, calculam-se ento todas as novas correntes em todas as restantes linhas Iij e compara-se o valor obtido com o limite mximo de corrente em cada linha i-j. Caso este mximo seja excedido em pelo menos uma das linhas i-j, a linha mn no pode ser removida para efeitos de manuteno, pois isso resultaria na violao de um limite de corrente numa das linhas da rede. Caso este mximo no seja excedido em nenhuma das linhas i-j, a linha m-n pode ser removida para efeitos de manuteno (no que diz respeito s restries de corrente), pois isso no resulta na violao de nenhum limite de corrente nas outras linhas da rede. Restries de Quedas de Tenso Para lidar com as restries sobre as quedas de tenso admissveis nos barramentos necessrio estimar os novos valores de tenso nesses mesmos barramentos, os quais resultam da sada de servio de uma linha. As tenses podem ser calculadas utilizando o mtodo das correntes de compensao, considerando para o valor de Za o simtrico da impedncia da linha a retirar. Se alguma destas tenses estiver fora dos limites estipulados, a linha em questo no pode ser retirada para efeitos de manuteno, pois isso faria com que pelo menos uma tenso estivesse fora dos limites especificados. Restries sobre Correntes Injectadas e Consumidas Como vimos anteriormente, o primeiro passo do Algoritmo de propagao das Restries Elctricas corresponde execuo de um trnsito de potncias que determina a distribuio das correntes pelas linhas de acordo com uma determinada situao de carga e de produo. A anlise de contingncias realizada posteriormente permite determinar o impacto da remoo de uma linha de servio para a mesma situao da rede. Deste modo, implicitamente, as restries sobre as correntes injectadas e consumidas so sempre verificadas, no havendo necessidade de qualquer clculo adicional.

7.3

O mtodo de Pesquisa e Optimizao

Considerando o modelo em Programao Lgica por Restries (PLR) e respectivos algoritmos de filtragem apresentados anteriormente, necessrio definir um mtodo de pesquisa e optimizao que permita obter uma soluo (ptima) do problema. Dadas as semelhanas entre o PETMUP e o PETMRT, qualquer um dos mtodos de pesquisa
229

Captulo 7

apresentados nos captulos anteriores pode ser usado neste captulo, sem qualquer tipo de alterao. Apesar da aplicabilidade dos mtodos, convm referir que alguns deles, nomeadamente o de Pesquisa Quase Local (PQL), (apresentado no Captulo 5) e o de Pesquisa Guiada por Utilidades (PGU), (apresentado no Captulo 6), so particularmente vantajosos com espaos de pesquisa de grande dimenso e nveis de estreitamento no muito baixos. No caso do PETMRT, as restries elctricas so normalmente muito restritivas, o que implica baixos nveis de estreitamento dos problemas. Este facto advm das redes serem operadas muito prximo dos seus limites elctricos, reduzindo, em termos prticos, a margem de manobra na execuo dos planos de manuteno. Por exemplo, ser difcil a execuo de vrias tarefas em paralelo (remoo de vrias linhas em simultneo). Dado o elevado nvel de estreitamente dos problema, provvel que as vantagens de mtodos como o de PQL e o de PGU sejam menos evidentes face a mtodos baseados unicamente em PLR (como o apresentado no Captulo 3), ou a mtodos baseados no esquema Limites Simples (LS) (apresentado no Captulo 4). Esta hiptese requer um estudo mais aprofundado que ser objecto de trabalho futuro. Para alm do mtodo de pesquisa em termos gerais, o reduzido nvel de estreitamento do PETMRT tambm pode ter algum impacto na escolha das estratgias de Seleco de Variveis e Valores, nomeadamente face ao estudo feito no Captulo 3, em que se concluiu que uma estratgia baseada numa heurstica especfica do problema produzia melhores resultados do que as estratgias com carcter mais geral. Com base nas hipteses levantadas nos pontos anteriores, foi implementado um mtodo de pesquisa baseado unicamente em PLR, anlogo ao usado no Captulo 3, nomeadamente o de Branch&Bound Bsico (BBB), com base no qual se testaram dois conjuntos de estratgias de seleco de variveis e valores.

7.3.1

Estratgias de Seleco de Variveis e Valores

De forma a testar o impacto do baixo nvel de estreitamento que caracteriza o PETMRT na escolha das estratgias de Seleco de Variveis e Valores, foram implementados dois conjuntos de estratgias, sendo um de carcter mais geral e outro mais especfico. O conjunto mais especfico corresponde ao MinVar+MinVal+Ctm (ver seco 3.6.2). Note-se que este foi o conjunto que produziu melhores resultados, de entre os conjuntos analisados no Captulo 3,

230

Resoluo do PETMRT no mbito da PLR

e tambm foi o conjunto usado nos captulos restantes. O conjunto mais geral utilizado foi o FF+MinC+P (ver seco 3.6.2). Tal como referido na seco 3.6.2, o primeiro conjunto implementa uma heurstica que tenta escalonar as tarefas nos perodos aos quais corresponde um menor custo de manuteno. De acordo com esta heurstica, primeiro seleccionada a varivel Ctmt que possui o menor valor no seu domnio, sendo depois instanciada com esse valor. Esta heurstica no considera a questo do nvel de reserva da rede ou, por outras palavras, no tem em ateno o nmero de linhas crticas. Dado que normalmente este nmero elevado, para alm do impacto que tem na funo de custo, isto pode dificultar a construo das solues medida que a pesquisa evolui. O segundo conjunto, por sua vez, implementa uma estratgia que selecciona primeiro a varivel Pt com o menor nmero de valores de domnio, instanciando depois essa varivel com o valor que corresponde ao perodo que implica um menor custo de manuteno. Contrariamente ao conjunto MinVar+MinVal+Ctm, a ideia principal subjacente a este conjunto consiste em escalonar primeiro os casos mais crticos, ou seja, aquelas tarefas que dispem de uma janela de execuo mais curta, eventualmente devido sua execuo provocar o aparecimento de um maior nmero de linhas crticas. Naturalmente, a estratgia de seleco de valores, que se baseia nos custos de manuteno, tambm permite ter em ateno esses mesmos custos, embora com menor relevncia.

7.4

Questes de Implementao

O modelo e mtodo de pesquisa descritos anteriormente foram implementados usando a linguagem ECLiPSe. Na sua maioria o programa resultante anlogo ao usado nos captulos anteriores, com excepo dos algoritmos de filtragem associados s restries elctricas. Especificamente, o algoritmo de filtragem associado s restries de continuidade e descrito na seco 7.2.3, foi implementado usando o ECLiPSe. Note-se que, por exemplo, a determinao dos pontos de articulao e pontes pode ser feita recorrendo a um algoritmo de pesquisa em profundidade, o qual pode ser implementado em poucas linhas de cdigo usando como base uma linguagem baseada em PROLOG como o ECLiPSe. Pelo contrrio, o algoritmo de filtragem associado s restantes restries elctricas (ARE) implica a realizao de um conjunto de clculos matemticos sobre matrizes, tarefa para a qual o PROLOG no
231

Captulo 7

adequado. Neste sentido, de forma a melhorar a eficincia do mtodo, o ARE foi implementado em MATLAB, que assim responsvel por todos os clculos matemticos necessrios para efectuar os trnsitos de potncias e as anlises de contingncias. O esquema simples e pode ser visualizado na Figura 7.2. Como se pode ver no esquema da Figura 7.2, o ARE corre numa sesso de MATLAB que comunica com o armazm de restries atravs de um interface escrito em C++. A funo da interface est limitada passagem de dados de e para o MATLAB. Essa passagem implica a realizao de algumas converses relativamente aos tipos e estruturas dos dados. Na prtica, o controlo da execuo do ARE da responsabilidade do ECLiPSe. As restries elctricas so includas no armazm de restries, semelhana das outras restries, e uma parte do algoritmo de filtragem consta desse mesmo armazm.
ECLIPSE
Modelo do Problema

MATLAB
Armazm de Resctries

MetaInterpretador de Restries

C++ Interface

ARE

Figura 7.2 Esquema de Comunicao entre o ECLiPSe e o MATLAB na implementao do algoritmo de filtragem ARE

Sempre que uma varivel relativa ao estado das tarefas (que implicam a remoo de linhas) instanciada, a restrio respectiva acordada e o seu algoritmo de filtragem chamado. Do lado do ECLiPSe, o algoritmo cria um vector que traduz o estado de cada uma das linhas, nomeadamente se estas esto em servio e podem ser retiradas, se esto em servio mas no podem ser retiradas, ou se esto fora de servio. O vector ento passado para o MATLAB que efectua os clculos devidos e retorna o mesmo vector actualizado. O algoritmo prossegue efectuando a actualizao dos domnios das variveis de acordo com a informao retornada.

232

Resoluo do PETMRT no mbito da PLR

Eventualmente, a informao retornada pode ser de inconsistncia do estado actual da rede, nomeadamente quando esse estado implica a violao de um dos seus limites elctricos.

7.5

Resultados Experimentais

De forma a avaliar o modelo e mtodo apresentados nas seces anteriores usou-se o programa resultante para resolver trs instncias do PETMRT. Todas as instncias se referem mesma rede, variando o nmero de tarefas a escalonar. A rede usada corresponde rede de teste do IEEE com 14 barramentos, que pode ser obtida em (IEEE). Este caso representa uma poro do sistema de distribuio Americano, (Zona Oeste) referente a Fevereiro de 1962. Na sua forma original, a rede possui algumas caractersticas que limitam o estudo que se pretender desenvolver. Entre outros, existe uma parte da rede cujas linhas so todas crticas, e a situao de carga indicada no permite a remoo de quase nenhuma linha para manuteno. Neste sentido, foram efectuadas algumas adaptaes, que correspondem alterao de algumas linhas e ao ajuste da situao de carga para que seja possvel a execuo de tarefas de manuteno. A rede utilizada encontra-se representada na Figura 7.3.
B13

B2 B3 B9

4 7 19

14

B14

B1

B4
17 10

G
18

3 1 20

B5 B10
2 6 15

G B11
21 11

B6

B7
16 12

B8

B12
13

Figura 7.3 Rede de 14 barramentos usada nos testes

Relativamente situao de carga, dado que o escalonamento se faz ao longo de vrios perodos, necessrio criar uma situao de carga para cada perodo de escalonamento. No
233

Captulo 7

nosso caso, a janela de escalonamento composta por 24 perodos, o que implica a criao de 24 situaes de carga distintas. De forma a gerar as diversas situaes, foi utilizada uma funo sinusoidal que traduz uma certa sazonalidade na procura ao longo da janela de escalonamento. Uma descrio mais detalhada dos dados da rede pode ser encontrada na seco B.1 do Anexo B. As trs instncias usadas nos testes referem-se mesma rede e situao de carga, diferindo o nmero de tarefas a escalonar e suas caractersticas. Especificamente, foram consideradas trs instncias, respectivamente com 8, 10 e 14 tarefas a escalonar. semelhana do PETMUP, cada uma das tarefas caracterizada por uma determinada janela de execuo, durao, custo, necessidade de recursos (tipo e quantidade) e necessidade, ou no, da remoo de servio de uma determinada linha. Note-se que o custo de manuteno pode variar com o perodo em que a tarefa executada. Os dados referentes s tarefas para a instncia maior (14 tarefas) so apresentados na seco B.2 do Anexo B. Os testes foram realizados num PC a correr o Windows XP com um processador DURAN a 1200MHz e 512Mb de memria. Tal como referido anteriormente, o mtodo principal foi desenvolvido em ECLiPSe e o algoritmo ARE em MATLAB. O mtodo determinstico pelo que apenas foi realizado um nico teste para cada instncia do problema.

105% 100% 95% 90% 85% 80% 75% 8 10 14

MinVar+MinVal+Ctm FF+MinC+P

Figura 7.4 Tempo necessrio para obter a soluo ptima de 3 instncias do PETMRT com as heursticas MinVar+MinVal+Ctm e FF+MinC+P

234

Resoluo do PETMRT no mbito da PLR

Na Figura 7.4 encontra-se representado o tempo necessrio para encontrar a soluo ptima para as trs instncias do PETMRT referidas anteriormente. semelhana dos captulos anteriores os tempos so dados em percentagem do pior tempo. Da anlise da Figura 7.4 pode dizer-se que as estratgias de carcter mais especfico MinVar+MinVal+Ctm obtiveram piores resultados para todas as instncias consideradas. As diferenas variam entre 3% e 15%, aumentando com a dimenso da instncia. Estes resultados parecem confirmar a ideia, apresentada anteriormente, de que a resoluo dos casos mais crticos primeiro pode ser vantajosa em situaes em que as instncias sejam caracterizadas por baixos nveis de estreitamento. Note-se que o nmero de perodos, a rede e respectivas restries elctricas, so iguais para todas as instncias. Portanto, o nvel de estreitamento diminui com o aumento do nmero de tarefas consideradas. Embora os valores absolutos dos tempos de computao no se encontrem apresentados na figura verificou-se que o tempo necessrio para encontrar a soluo ptima da instncia de maior dimenso (14 tarefas) menor do que o tempo necessrio para encontrar a instncia mais pequena (8 tarefas). Concretamente, com as estratgias FF+MinC+P o tempo necessrio para encontrar a soluo ptima para a maior instncia foi inferior a 2 minutos, e o tempo necessrio para encontrar a soluo ptima para a menor instncia ultrapassou os 3 minutos. Este facto, apesar de estranho, pode ser justificado pelo nvel de estreitamento associado ao problema de maior dimenso. De facto, dado as restries elctricas serem bastante limitativas a propagao de restries restringe significativamente o espao de pesquisa, sendo por isso necessrio menos tempo de computao para encontrar a soluo ptima. Outro facto que para todas as instncias foi possvel provar a optimilidade das solues em poucas horas. Note-se que para algumas das instncias do PETMUP consideradas nos captulos anteriores, o tempo necessrio para encontrar a soluo ptima ultrapassou uma hora, e a prova de optimilidade no foi possvel dentro do limite de tempo estipulado. Todos estes factos confirmam que os mtodos baseados unicamente em PLR so tanto mais eficientes quanto menor for o nvel de estreitamento dos problemas em considerao. Para alm dos dados referentes instncia de 14 tarefas, na seco B.3 do Anexo B tambm se encontra representada num grfico de Gant a sua soluo ptima.

235

Captulo 7

7.6

Questes Para Trabalho Futuro

Apesar dos resultados obtidos serem muito promissores, ser necessrio executar um conjunto de testes mais alargado, com outros tipos de redes e tarefas, para que as concluses sejam maisfundamentadas. De qualquer modo , desde j, possvel identificar alguns pontos merecedores de um estudo mais aprofundado. Alguns desses pontos so os seguintes:

Dado o baixo nvel de estreitamento que caracteriza este tipo de problemas possvel que outro tipo de estratgias de seleco de variveis e valores, para alm dos testados, sejam vantajosos. Lembre-se que foi um conjunto de estratgias de carcter geral que produziu os melhores resultados na resoluo das instncias consideradas. Tal deve-se partida, no s estratgias de carcter geral serem as mais indicadas, mas ao facto das estratgias mais especficas testadas no estarem perfeitamente adequadas estrutura do problema. Pretende-se, assim, no futuro desenvolver estratgias mais especficas que considerem, por exemplo, o nmero de ramos crticos associados a cada deciso.

Outro ponto merecedor de explorao consiste na utilizao de um dos mtodos hbridos apresentados nos captulos anteriores. Neste mbito, o baixo nvel de estreitamento que caracteriza o PETMRT sugere a utilizao do mtodo de Limites Simples apresentado no Captulo 4. Este mtodo particularmente til quando utilizado como algoritmo de filtragem das restries de custo, ao invs do mtodo de PQL e PGU que so particularmente indicados quando o nvel de estreitamento dos problemas no muito baixo. Alguns testes preliminares neste sentido produziram resultados muito promissores.

No modelo apresentado anteriormente no considerada a possibilidade da reconfigurao da rede. Esta possibilidade , no entanto, possvel em termos reais, se bem que normalmente no considerada num contexto de planeamento preliminar e de mdio/longo prazo. Por outro lado, a execuo da reconfigurao da rede , por si s, um problema complexo e de difcil resoluo que, quando integrado no contexto do escalonamento, pode tornar o problema muito difcil de resolver. Apesar desta dificuldade, a flexibilidade e escalabilidade da PLR pode permitir a resoluo de tal problema em tempo til.

236

Resoluo do PETMRT no mbito da PLR

Finalmente, um ponto interessante de explorao consiste na integrao do PETMUP com o PETMRT. Neste sentido, seria interessante desenvolver um modelo global que permitisse a criao de um plano integrado de escalonamento. Este plano, embora no tendo, partida, um grande interesse em termos operacionais, dado o nmero de elementos, tarefas, recursos e entidades envolvidas, pode ter bastante interesse na definio de um plano estratgico de escalonamento a longo prazo.

237

Captulo 8

Concluses

Concluses

8.1

Concluses e Perspectivas Futuras

Neste trabalho abordado o Problema de Escalonamento de Tarefas de Manuteno nos Sistemas Elctricos de Energia. Num mbito mais especfico, so considerados dois dos seus sub-problemas, nomeadamente, o Problema de Escalonamento de Tarefas de Manuteno em Unidades de Produo (PETMUP) e o Problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte (PETMRT). O reconhecimento da importncia de ambos os problemas, no contexto do planeamento e gesto operacional dos recursos associados s empresas de produo e transporte de energia, foi feito pela primeira vez h j algumas dcadas. No entanto, com base na pesquisa bibliogrfica efectuada no mbito deste trabalho, podemos dizer que nos ltimos dez anos a preocupao com estes problemas tem crescido significativamente. Por um lado, a abertura dos mercados de energia implica uma maior concorrncia, um esmagamento das margens de lucro, e consequentemente, uma necessidade de optimizao de todos os processos, sejam eles operacionais, organizacionais, ou outros. Por outro lado, uma maior exigncia por parte do consumidor obriga a melhorar a qualidade do servio. Apesar de existir um nmero significativo de publicaes que abordam os problemas tratados nesta tese, a maioria delas refere-se ao PETMUP, ou a sub-problemas associados ao mesmo, sendo poucas as publicaes dedicadas ao mais complexo PETMRT. Para alm do mais, os mtodos usadas na maioria das abordagens so pouco flexveis, tornando as aplicaes muito especializadas e com falta de flexibilidade para a resoluo de problemas reais. Nesta tese a abordagem aos problemas feita com base na Programao Lgica por Restries (PLR) que, reconhecidamente, constitui uma plataforma declarativa com elevado potencial para o desenvolvimento de modelos de problemas caracterizados por uma grande diversidade e nmero de restries. Tal como mostrado nos captulos 3 a 7, o desenvolvimento dos modelos de ambos os problemas, assim como o desenvolvimento dos mtodos de resoluo usando PLR, relativamente simples. O utilizador pode utilizar restries pr-definidas, particularmente as restries globais, para traduzir a maioria das relaes existentes no mundo real. Nestes casos, no existe preocupao com os algoritmos de filtragem, pois estes so disponibilizados pelo sistema de PLR. Para alm da facilidade de modelizao dos problemas, o processo de

241

Captulo 8

construo das solues incremental, ou seja, a soluo construda instanciando as variveis (tomando decises) sequencialmente, havendo a possibilidade de, em qualquer momento, se desfazer uma instanciao errada, ou menos promissora. Com base neste processo, a resoluo pode ser feita de forma interactiva com o utilizador. Resumidamente, o utilizador pode em qualquer momento decidir a instanciao das variveis (por exemplo, escolher o perodo de incio das tarefas de manuteno), ficando a cargo do sistema a propagao das restries. Em cada iterao o utilizador pode, se assim o desejar, visualizar a consequncia da sua deciso e, com base nessa informao decidir, a prxima, ou desfazer a ltima instanciao. Alternativamente, o utilizador pode deixar o sistema decidir por si, com base em heursticas traduzidas pelas estratgias de seleco de variveis e valores. Esta interactividade uma propriedade exclusiva da Programao por Restries e constitui uma grande vantagem das plataformas nela baseadas, como as propostas nesta tese. Para alm de disponibilizar uma resoluo baseada na interactividade com o utilizador, a aplicao deve permitir a resoluo do problema de forma automtica e, no nosso caso, deve permitir encontrar a soluo ptima. O tempo necessrio para encontrar essa soluo depende, entre outros factores, do mtodo de pesquisa utilizado e das estratgias de seleco de variveis e valores. Estas estratgias podem ter um carcter mais geral, ou seja, traduzirem heursticas vlidas para qualquer tipo de problema, ou serem mais especficas, situao em que traduzem heursticas que dependem do problema. Concluses e Perspectivas Relativas ao PETMUP No Captulo 3 foi proposto um modelo para o PETMUP que engloba todas as restries que caracterizam o problema. Basicamente, o modelo usa restries aritmticas e restries globais, para representar as relaes entre as variveis, e uma funo de optimizao que compreende os custos de produo e de manuteno. Para alm do modelo, que se demonstrou ser bastante adequado, foi introduzido um mtodo de pesquisa (Branch & Bound Bsico (BBB)) a partir do qual se propuseram e testaram quatro conjuntos de estratgias de seleco de variveis e valores. Para as instncias testadas, os mtodos de pesquisa cujas estratgias de seleco de variveis e valores traduzem heursticas especficas do problema obtiveram melhores resultados, com diferenas que podem ultrapassar, para alguns casos, os 80% em termos de tempo de computao. Estes mtodos so o MinVar+MinVal+Ctm, MaxD+MinVal+Ctm (ver seco

242

Concluses

3.6.3). Uma comparao directa entre MinVar+MinVal+Ctm e MaxD+MinVal+Ctm demonstra uma vantagem para a estratgia MinVar+MinVal+Ctm que, em alguns casos, chega aos 50%. Os resultados obtidos com os dois mtodos mais generalistas, nomeadamente MaxR+MinC+P e FF+MinC+P, so semelhantes, com alguma vantagem para o primeiro. Verificou-se, ainda, que o desempenho dos mtodos generalistas aumenta com a diminuio do nvel de estreitamento das instncias. Este facto foi confirmado com os resultados obtidos no Captulo 7, em que as instncias do problema tratado so caracterizadas por um nvel de estreitamento baixo. Nesta situao, a estratgia de carcter geral teve um melhor desempenho do que a estratgia de carcter mais especfico. Esta concluso vem confirmar que o uso de mtodos baseados em PLR pode ser particularmente til na resoluo de problemas caracterizados por um baixo nvel de estreitamento. Os resultados obtidos e apresentados no Captulo 3 demonstram a importncia da definio das estratgias de seleco de variveis e valores e sugerem para trabalho futuro o estudo de outros tipos de estratgias mais complexas, que incluam mais informao relativa estrutura dos dados dos problemas. No Captulo 3 foi ainda proposto um mtodo de pesquisa semelhante ao BBB, mas em que o algoritmo de Pesquisa Primeiro em Profundidade, foi substitudo por um outro algoritmo, denominado Limited Discrepancy Search (LDS). O mtodo resultante incompleto, por oposio ao BBB que completo, e baseia-se na ideia de uma explorao limitada do espao de pesquisa, desejavelmente considerando apenas as reas mais promissoras. Apesar do mtodo no obter as solues ptimas para as instncias consideradas, conseguiu reduzir significativamente o tempo de pesquisa relativamente ao BBB. Este facto serviu de fundamento explorao da ideia base do LDS no desenvolvimento dos mtodos de Pesquisa Quase Local (PQL) e Pesquisa Guiada por Utilidades (PGU) apresentados, respectivamente, no Captulo 5 e no Captulo 6. Apesar da adequao do modelo apresentado no Captulo 3, e dos relativamente bons resultados obtidos com o mtodo BBB, em termos absolutos, os tempos de computao necessrios para obter as solues ptimas das instncias de maior dimenso foi da ordem das dezenas de minutos. De forma a reduzir estes tempos, no Captulo 5 foi proposto um mtodo hbrido, que integra a PLR com meta-heursticas. A ideia base deste mtodo consiste em utilizar o algoritmo de Simulated Annealing (SA) para guiar a pesquisa em termos globais e o mtodo de BBB para obter mnimos locais respeitantes a subreas do espao de pesquisa.
243

Captulo 8

Doutra perspectiva, o mtodo BBB utilizado para determinar o melhor vizinho de entre a vizinhana definida em cada iterao da pesquisa local associada ao algoritmo de SA. Com este mtodo possvel aproveitar as potencialidades da PLR para o desenvolvimento do modelo do problema e para a resoluo de sub-problemas de menor dimenso, aproveitando ao mesmo tempo as potencialidades do SA para explorar espaos de pesquisa de grande dimenso. O mtodo foi ainda complementado com um tipo de lista tabu de modo a evitar ciclos na pesquisa. Note-se que a probabilidade de ocorrncia de ciclos na pesquisa com a PQL aumenta significativamente relativamente ao mtodo de SA, tal como ficou demonstrado na seco 5.5.2. Sendo o algoritmo geral da PQL anlogo ao de SA, o mtodo necessita da definio do mesmo conjunto de parmetros, nomeadamente, a temperatura inicial, a taxa de arrefecimento, o nmero de iteraes e a estrutura e dimenso da vizinhana (dada pelo nmero de variveis por instanciar). Acresce a estes parmetros o tamanho da lista tabu. Relativamente aos primeiros, os testes efectuados confirmam que as indicaes sugeridas em diversos trabalhos relacionados com o SA, e referidos na bibliografia, so igualmente vlidas para a PQL. De facto, os melhores resultados foram obtidos com uma taxa de arrefecimento de 0.95 e para um esquema de arrefecimento geomtrico, que est dentro do intervalo sugerido na bibliografia de [0.8, 0.99]. O mesmo ocorreu para o nmero de iteraes a cada temperatura, que naturalmente est correlacionado com o esquema e taxa de arrefecimento e com a dimenso do problema. Especificamente, para as instncias de menor dimenso, os melhores resultados foram obtidos com um nmero de iteraes igual a 350 e para as maiores igual a 750. Sendo o PETMUP um problema de escalonamento, foram utilizadas estruturas de vizinhana com sucesso previamente confirmado por outros estudos. O uso da PLR no mtodo de PQL tem a vantagem de permitir a implementao de mais do que uma estrutura de vizinhana em simultneo e, consequentemente, permitir uma maior diversificao da pesquisa e uma menor sensibilidade ao tipo de estrutura utilizada. Os testes realizados relativamente dimenso da vizinhana, dada pelo nmero de variveis no instanciadas, permitiram concluir que esse nmero no deve ser maior do que 3. Note-se que para as instncias consideradas esse nmero poderia variar entre 1 e 10. A homogeneidade dos resultados relativamente s diferentes instncias sugere que efectivamente o nmero de variveis por instanciar dever ser pequeno. Este nmero poder aumentar com a diminuio do nvel de estreitamento do problema, situao em que o mdulo baseado em PLR tem
244

Concluses

melhor desempenho, podendo ser vantajoso aumentar o seu peso na pesquisa. A confirmao desta ltima concluso constitui objecto de trabalho futuro. Dado que os resultados obtidos confirmaram a validade para a PQL dos princpios e mecanismos usados no SA, constitui objecto de trabalho futuro o teste de outros mecanismos de sucesso confirmado para o SA. Alguns exemplos so esquemas de arrefecimento e estruturas de vizinhana mais complexas. Para alm dos testes efectuados relativos aos parmetros comuns ao SA, tambm foram efectuados testes relativos dimenso da lista tabu. Estes testes permitiram concluir que o mtodo no muito sensvel dimenso da lista tabu, particularmente para valores superiores a 6. Considerando a teoria relativa ao mtodo de Pesquisa Tabu, apresentada na seco 5.4, provvel que exista uma correlao entre a dimenso da lista Tabu mais adequada e a dimenso do problema. Uma confirmao desse facto, assim como a definio dessa correlao, constitui tambm objecto de trabalho futuro. Com uma definio adequada dos parmetros possvel que a PQL obtenha um desempenho muito superior ao de um mtodo baseado unicamente em PLR, como seja o BBB, ou mesmo, ao de um mtodo hbrido que integra a PLR com Programao Linear, como seja o mtodo de Limites Simples apresentado no Captulo 4. No caso das instncias testadas nesta tese, foi possvel um aumento de desempenho que, em alguns casos, ultrapassou os 30%. Considerandos os testes efectuados, pode-se ainda dizer que a diferena de desempenho aumenta com a dimenso das instncias e diminui com o aumento do seu nvel de estreitamento. Considerando esta concluso, e a flexibilidade que caracteriza a PLR, pode-se dizer que a utilizao do mtodo de PQL pode ser estendida, com sucesso, a outros tipos de problemas de pesquisa combinatorial. No mtodo de PQL o algoritmo responsvel por guiar a pesquisa o SA. A deciso, em cada iterao, do caminho a seguir feita com base no custo da ltima soluo e com uma determinada probabilidade. Deste modo no possvel incluir no processo de deciso qualquer informao relativa estrutura do problema, ou obtida durante a pesquisa. Com base nesta ideia, no Captulo 6 foi proposto um mtodo hbrido denominado Pesquisa Guiada por Restries (PGU), que se baseia na plataforma de integrao denominada Reduzir e Atribuir. Este mtodo, semelhana da PQL, subdivide o espao de pesquisa em vrios sub-espaos, seleccionando depois os mais promissores para a pesquisa de um ptimo local. No caso

245

Captulo 8

considerado, a pesquisa do ptimo local feita com o mtodo BBB. Se a seleco dos espaos de pesquisa for bem feita, possvel que um dos primeiros ptimos locais seja tambm um ptimo global. O mtodo de PGU difere da PQL na forma como os sub-espaos de pesquisa so gerados e seleccionados. Ao contrrio da PQL, em que os sub-espaos de pesquisa so definidos a partir da ltima soluo aceite, tal como nos mtodos de pesquisa local, na PGU, os sub-espaos de pesquisa so definidos com base numa funo de inutilidade. Esta funo atribui um valor de inutilidade a cada par varivel/valor do problema. Em cada iterao o sub-espao de pesquisa definido seleccionando um determinado nmero de valores para o domnio de cada varivel, aos quais corresponde o menor valor de inutilidade. A grande diferena do PGU que a funo de inutilidade permite incluir no s informao da estrutura do problema, mas tambm informao obtida durante o processo de pesquisa. Se a informao for realmente til, a pesquisa ser direccionada mais rapidamente no sentido da soluo ptima, aumentando o desempenho do mtodo. Tal como o mtodo de PQL, o mtodo de PGU tambm implica a definio de alguns parmetros, nomeadamente a dimenso do espao de pesquisa (dada pelo nmero de valores a considerar para o domnio de cada varivel ou seja, pelo parmetro l) e o tempo de computao disponibilizado para a explorao de cada um dos sub-espaos de pesquisa (parmetro tp). Estes parmetros so determinantes para o desempenho do mtodo. Considerando os testes realizados, verifica-se que a sensibilidade do mtodo a cada um dos parmetros relativamente baixa. Em termos prticos, uma variao de cada um dos parmetros at 40% implica, normalmente, uma variao dos resultados inferior a 10%. Em termos relativos, os testes sugerem uma maior sensibilidade do mtodo ao parmetro l do que ao parmetro tp, o que implica um maior cuidado na definio do primeiro. Relativamente ao parmetro l, os testes sugerem que existe uma correlao entre o melhor valor para o parmetro e o nmero de total de valores, que no caso do PETMUP corresponde ao nmero de perodos. Com base nos testes efectuados, no s com o PETMUP mas tambm com outros problemas, pode-se afirmar que 1/4.N<l<1/3.N, sendo N o nmero mximo de valores que a varivel em causa pode tomar. Outra concluso, ainda relativamente ao parmetro l, que para as instncias com menor nvel de estreitamento o valor mais adequado menor do que para as instncias com maior nvel de estreitamento. Em termos prticos, poderamos dizer que para instncias com menor nvel de estreitamento l dever
246

Concluses

tomar valores mais prximos de 1/4.N e para instncias com maior nvel de estreitamento l dever tomar valores mais prximos de 1/3.N. Note-se que, tal como referido anteriormente, e tambm confirmado por todos os testes realizados, os mtodos baseados em PLR so mais eficientes para instncias com um menor nvel de estreitamento. Consequentemente, nestes casos existe maior probabilidade de em cada iterao o mdulo de PLR encontrar o ptimo local em menor tempo, ou seja menor valor de tp e, ao mesmo tempo, com um menor valor de l. Relativamente ao parmetro tp, apesar da menor sensibilidade do mtodo relativamente a este parmetro, tambm importante a sua definio. Relativamente ao parmetro tp, tal como referido anteriormente, parece existir uma correlao entre a dimenso do espao de pesquisa e o valor adequado de tp. Com base nos testes efectuados, pode-se concluir que o valor adequado para tp ser tanto maior quanto maior a dimenso da instncia e maior o nvel de estreitamento do problema. Em termos prticos todos os testes sugerem que um valor adequado para tp se encontra no intervalo [90,150] segundos. Com a escolha adequada dos parmetros, o mtodo de PGU demonstrou ser bastante adequado para a resoluo do PETMUP. Comparativamente com o mtodo de PQL, o mtodo de PGU obteve melhores resultados para a quase totalidade das instncias testadas, embora com menor diferena para as instncias de maior dimenso. Este facto sugere que a diversificao da explorao do espao de pesquisa promovida pelo mtodo de PGU poder no ser suficiente no caso de instncias de grande dimenso. Para estes casos, poder ser interessante estudar uma funo de inutilidade que promova uma maior diversificao da pesquisa, por exemplo numa fase inicial da mesma. Independentemente desta melhoria, o mtodo de PGU tem a vantagem de necessitar da definio de um menor nmero de parmetros do que o mtodo de PQL, respectivamente dois contra quatro (no caso do PQL, no se considerar, nem a temperatura inicial nem a funo de arrefecimento). Tanto no caso da PQL como da PGU a ideia base de melhoria passa por uma melhor explorao do espao de pesquisa, ou seja, ambos os mtodos tentam explorar apenas as reas mais promissoras do espao de pesquisa global. Uma abordagem alternativa para a melhoria do desempenho dos mtodos baseados em PLR consiste na integrao de tcnicas da Programao Linear (PL). Efectivamente, a PL disponibiliza um nmero elevado de tcnicas especializadas para a resoluo de algumas classes de problemas, nomeadamente Relaxaes, bastantes teis quando se pretende provar que uma soluo ptima. A utilizao de tais
247

Captulo 8

tcnicas d PL a capacidade de avaliar todas as restries de um problema simultaneamente, ou seja, d PL uma Perspectiva Global sobre as restries que a PLR no possui. As caractersticas distintas de cada uma das metodologias permitem diferenciar duas classes de problemas, cada uma adequada a uma metodologia. A PLR adequada para a resoluo de problemas com um baixo nvel de estreitamento. Pelo contrrio, a PL adequada para a resoluo de problemas com um elevado nvel de estreitamento, que envolvem muitas restries com um nvel de aridade elevado. Uma unio de ambas as metodologias pode ser benfica. No Captulo 4 foi apresentada uma plataforma de integrao da PLR com a PL. Esta plataforma baseia-se no conceito de modelizao dupla, ou seja, so desenvolvidos dois modelos do problema. Um dos modelos, completo, adequado PLR, e outro, normalmente incompleto, adequado PL. A pesquisa feita com base numa cooperao entre os dois sistemas, em que informao passada de um para o outro com o objectivo de minimizar o tempo global de computao. Dependendo do tipo de cooperao, ou seja, do tipo de informao e da forma como esta utilizada, obtm-se uma instncia distinta da plataforma de integrao. No mesmo captulo foram introduzidos trs esquemas distintos, nomeadamente o Esquema de Limites Simples (LS), o Esquema de Escolha Informada (EI), e o Esquema de Verificao de Consistncia (VC). O esquema de LS o mais simples dos trs. Em termos prticos, este esquema pode ser visto como um algoritmo de filtragem para as restries sobre os custos. Em cada iterao, o mdulo de LP resolve uma verso relaxada do problema parcial que est a ser resolvido pelo mdulo de PLR e determina um limite inferior do domnio da varivel de custo. Este limite utilizado posteriormente pelo mdulo de PLR para identificar e eliminar ramos da rvore de pesquisa que no conduzem a boas solues. O esquema de LS no usa, por isso, nenhuma informao da PL para conduzir a pesquisa. Ao invs, o esquema de EI usa essa informao, ou seja, a escolha das variveis e valores em cada iterao feita com base nos valores no inteiros obtidos pela PL. De modo anlogo, o esquema de VC tambm tenta construir uma soluo do problema a partir da soluo retornada pela PL. Considerando os testes realizados, o esquema de LS obteve os melhores resultados para todas as instncias consideradas. A diferena foi mais significativa para as instncias com menor nvel de Estreitamento. Em termos globais, as diferenas variam entre 30% e 40%, o que significativo. Este facto sugere que nem a informao retornada pelo mdulo de PL, no
248

Concluses

caso do esquema de EI, nem a relao qualidade da soluo versus tempo de computao, no caso do esquema de VC, parecem compensar face abordagem mais simples do esquema de LS. O esquema de VC obteve piores resultados que o de EI nas instncias com menor nvel de Estreitamento. Isto principalmente notrio nas instncias de maiores dimenses. Este comportamento pode ser justificado pelo facto de nas instncias com menor nvel de estreitamento o nmero de restries no consideradas no problema relaxado tratado pela PL ser maior. Logo, a qualidade da soluo retornada pelo mdulo de PL , em princpio pior, e a probabilidade desta ser consistente, menor. Comparando o esquema de LS com os restantes mtodos, podemos dizer que este permite reduzir significativamente o tempo de computao face ao mtodo de BBB. A reduo pode atingir nalguns casos os 80%. De facto, mesmo para as instncias com maior nvel de estreitamento, o nmero de solues do problema elevado, sendo por isso mais difcil determinar qual das solues a soluo ptima. Os cortes na rvore de pesquisa efectuados pela variante do Branch&Bound usada no mtodo BBB so muito reduzidos. Por outras palavras, o limite inferior da varivel de custo encontrado pelo BBB em cada iterao muito elevado. Deste modo, a informao retornada pelo mdulo de LS fundamental para uma reduo mais efectiva da rvore de pesquisa. Considerando os testes realizados, o mtodo de LS no to eficiente como os mtodos de PQL e PGU. No entanto, uma das grandes vantagens do mtodo de LS que este pode ser usado como um algoritmo de filtragem para as restries de custo. tambm evidente que o tempo de computao associado execuo do algoritmo largamente compensado pelos cortes que este produz na rvore de pesquisa, independentemente da dimenso das instncias. Deste modo, a substituio do mtodo BBB pelo mtodo de LS, na PQL e na PGU, possvel e desejvel. Ambas as substituies sero objecto de trabalho futuro. Concluses e Perspectivas Relativas ao PETMRT Tal como referido no incio do presente captulo nesta tese tambm foi tratado o Problema de Escalonamento de Tarefas de Manuteno na Rede de Transporte (PETMRT). Apesar da importncia do PETMRT no contexto empresarial, o nmero de publicaes dedicadas resoluo do mesmo no muito elevado. De facto, a modelizao do problema no fcil, particularmente devido s restries elctricas. Estas ltimas tm uma representao difcil, o que impossibilita, ou pelo menos dificulta, a utilizao de alguns dos mtodos mais usuais para

249

Captulo 8

a resoluo de problemas de pesquisa combinatorial. Tal facto origina tambm, que a maioria das abordagens ao problema inclua uma simplificao das restries elctricas. No Captulo 7 foi apresentado um modelo baseado em PLR para o PETMRT. Este modelo distingue-se por ser completo no que se refere s restries que permite incluir. Para alm das restries tpicas dos problemas de escalonamento, comuns ao PETMUP, tambm inclui todas as restries elctricas como as de Sobrecarga, Tenso nos Barramentos, Continuidade, etc. Dado o nmero e tipo de restries consideradas, o modelo torna-se bastante complexo, pelo que a sua resoluo pode ser bastante pesada, especialmente se a resoluo das restries elctricas no for feita de forma eficiente. Neste sentido foram propostos no Captulo 7, dois algoritmos de filtragem, um responsvel por propagar as restries de continuidade e o outro, denominado ARE, responsvel por propagar as restries elctricas restantes. Especificamente, o ARE baseia-se num trnsito de potncias para determinar se os limites elctricos da rede so violados. No entanto, ao invs de repetir o clculo do trnsito de potncias para todas as situaes possveis a estudar, tal como feito noutras abordagens encontradas na bibliografia, o ARE efectua uma anlise de contingncias reduzindo, assim, significativamente o tempo de clculo. Tal como no caso do PETMUP, para alm da definio do modelo do problema, necessrio definir o mtodo de pesquisa. Qualquer um dos mtodos usados para resolver o PETMUP pode de igual forma ser usado para resolver o PETMRT. Todos os mtodos apresentados nesta tese englobam um mdulo baseado em PLR, que inclui um mtodo de pesquisa com as respectivas estratgias de seleco de variveis e valores. Sendo o PETMRT anlogo ao PETMUP, pode esperar-se que o mtodo BBB produza resultados semelhantes. No entanto, normalmente em situaes reais, o nvel de carga da rede elevado o que implica um nvel de estreitamento para o PETMRT muito inferior ao nvel de estreitamento do PETMUP. Considerando as concluses referidas anteriormente, relativamente correlao entre o tipo de estratgias de seleco de variveis e valores e o nvel de estreitamento do problema, foram realizados testes com trs instncias de um PETMRT usando o mtodo BBB com dois conjuntos de estratgias de seleco de variveis e valores. Um dos conjuntos, denominada MinVar+MinVal+Ctm, com carcter mais especfico, e outro, denominado FF+MinC+P, com carcter mais geral.

250

Concluses

Tal como esperado, as estratgias de carcter mais especfico obtiveram piores resultados, com diferenas que variam entre 3% e 15%, aumentando com a dimenso da instncia. Estes resultados confirmam a relao entre o nvel de estreitamento e o tipo de estratgias de seleco a usar. Os resultados tambm sugerem que, dado o nvel de estreitamento associado s instncias testadas, tanto o mtodo de PQL, como o de PGU seriam pouco adequados. Ao invs, o mtodo de LS poder trazer alguma vantagem. No entanto, dado a funo de optimizao no incluir unicamente termos baseadas em custos, as vantagens sero menos evidentes do que no caso do PETMUP. Por esta razo, a utilizao do mtodo de LS na resoluo do PETMRT constitui objecto de trabalho futuro. Apesar da adequao do modelo apresentado no Captulo 7, o mesmo no admite a possibilidade da reconfigurao da rede, considerando inconsistente qualquer situao de manuteno que a isso obrigue. A reconfigurao na rede , no entanto, possvel em termos reais, se bem que normalmente no seja considerada num contexto de planeamento preliminar e de mdio/longo prazo. Por outro lado, a execuo da reconfigurao da rede por si s, um problema complexo e de difcil resoluo, que, quando integrado no contexto do escalonamento, pode tornar o problema muito difcil de resolver. Apesar desta dificuldade, a flexibilidade e escalabilidade da PLR pode permitir a resoluo de tal problema em tempo til. O desenvolvimento de um modelo, e do respectivo mtodo de pesquisa, capaz de contemplar a possibilidade da reconfigurao da rede constitui, tambm, uma rea interessante de trabalho futuro.

8.2

Consideraes Finais

Fazendo uma anlise global do trabalho, podemos dizer que os modelos e mtodos desenvolvidos no mbito desta tese, permitem resolver de forma eficiente os problemas associados ao escalonamento de tarefas de manuteno nos sistemas elctricos de energia. Por um lado, todos os mtodos so baseados em Programao Lgica por Restries, o que permite o modelizao fcil dos problemas, uma alterao e manuteno simples dos modelos, e principalmente, uma participao do utilizador no processo de pesquisa. Por outro, a integrao de tcnicas e mtodos de outras reas da optimizao, proposta no mbito dos mtodos de Pesquisa Quase Local, Pesquisa Guiada por Utilidades, e Esquema de Limites Simples, permitiu resolver os principais problemas da PLR e incrementar significativamente a sua eficincia.
251

Captulo 8

Para alm do desenvolvimento dos mtodos referidos em cima, o estudo realizado sobre estes, permitiu identificar algumas caractersticas importantes dos mesmos. Por um lado, a sensibilidade dos mtodos aos seus parmetros no muito elevada, e por outro, os mecanismos sugeridos para a definio dos parmetros parecem ser eficazes, o que facilita a sua utilizao em termos reais. Outra concluso importante foi o estabelecimento duma correlao provvel entre o nvel de estreitamento dos problemas e os mtodos desenvolvidos. Especificamente, a vantagem dos mtodos de PGU e PQL parece ser tanto mais significativa, quanto maior for o nvel de estreitamento dos problemas a resolver. Com nveis de estreitamento baixos parece que o Esquema de Limites Simples ter algumas vantagens. Note-se que o Esquema de Limites Simples pode ser includo como um algoritmo de filtragem no sistema de PLR, sendo neste caso possvel que, a sua incluso no mtodo de PGU e PQL seja tambm vantajosa. Mais especificamente, relativamente ao Problema de Escalonamento de tarefas de Manuteno na Rede de Transporte, o modelo desenvolvido e apresentado no mbito desta tese, e particularmente o algoritmo desenvolvido para a propagao das restries elctricas abrem novas perspectivas para o desenvolvimento de ferramentas capazes de lidar eficientemente com este tipo de problemas. Um prximo passo, com base nos modelos e mtodos desenvolvidos no mbito desta tese, ser o desenvolvimento de aplicaes informticas que incluam as to necessrias interfaces com o utilizador, bases de dados, sistemas de planeamento e operao, etc., e que permitam resolver problemas reais em ambientes reais. Relativamente resoluo de problemas reais, existem algumas questes que merecem um estudo mais aprofundado. Uma das questes mais pertinentes prende-se com o tratamento de tarefas no previstas, como as avarias. Apesar deste tipo de ferramentas de escalonamento, ser usado tradicionalmente para um horizonte temporal de mdio e longo prazo, a flexibilidade da PLR pode permitir o desenvolvimento de ferramentas capazes de lidar com o carcter estocstico das tarefas no previstas. Neste caso, a utilizao da aplicao poderia ser estendida ao escalonamento de curto prazo, aumentando o seu interesse. Os mtodos desenvolvidos no mbito desta tese no disponibilizam uma forma sistemtica de tratar as tarefas no previstas. No entanto, a sua flexibilidade aliada possibilidade de permitirem construir as solues interactivamente, so caractersticas importantes para facilmente se criarem os mecanismos necessrios para o tratamento desse tipo de tarefas. Este tipo de questo constitui um ponto interessante de trabalho futuro.
252

Referncias

Referncias Aarts E., Laarhoven P. (1989) Simulated Annealing and Boltzman Machines. John Wiley & Sons. Aarts E., Laarhoven P., Korst J. (1997) Simulated Annealing, Local Search in Combinatorial Optimization. John Wiley & Sons. Abdennadher S., Schlenker H. (1999) Interdip - an interactive constraint based nurse scheduler. Practical Application of Constraint Technology ( PACLP99). Abdulwhab A., Eldamaty A., Faried S. (2004) Maintenance Scheduling Optimization Using a Genetic Algorithm (GA) with a Probabilistic Fitness Function. Electric Power Components and Systems, 32:1239-1254. Abramson D., Dang H. (1999) Simulated Annealing Cooling Schedules for the School Timetabling Problem. Asia-Pacific Journal of Operational Research, 16. Ahuja R., Ergun O., Orlin J., Punnen A. (1999) A survey of very large-scale neighborhood search tecniques. Relatrio Tcnico, Sloan School of Management, MIT. Al-Khamis M., Vemuri S., Lemonidis L., Yellen J. (1992a) A decomposition approach to unit maintenance scheduling. IEEE Transactions on Power Systems, 7:726-731. Al-Khamis T. M., Vemuri S., Lemonidis L., Yellen J. (1992b) Unit maintenance scheduling with fuel constraints. IEEE Transactions on Power Systems, 7:933-939. Anagnostopoulos C., Rabadi G. (2002) A Simulated Annealing Algorithm For The Unrelated Parallel Machine Scheduling Problem. Eighth International Symposium on Manufacturing and Applications. Baptiste P. (1996) Disjunctive constraints for manufacturing scheduling: principles and extensions. International Journal of Computer Integrated Manufacturing, 9:306-310. Baptiste P., Le Pape C., Nuijten W. (2001) Constraint-based Scheduling: Applying Constraints to Scheduling Problems. Kluwer Academic Publishers. Baptiste P., Pape C. (1997) Constraint Propagation and Decomposition Techniques for Highly Disjunctive and Highly Cumulative Project Scheduling Problems. Principles and Pratice of Constraint Programming, (CP-97). Barichard V., Hao J. (2003) Genetic tabu search for the multi-objective knapsack problem. Journal of Tsinghua Science and Technology, 8:8-13. Bartk R. (2003) Constraint-based Scheduling: An Introduction for Newcomers. Proceedings of 7th 255

IFAC Workshop on Intelligent Manufacturing Systems (IMS 2003). Basaran, U., Kurban M. (2003) The strategy for the maintenance scheduling of the generating units. Large Engineering Systems Conference on Power Engineering, 172-176. Baskar S., Subbaraj P., Rao M., Tamilselvi S. (2003) Genetic algorithms solution to generator maintenance scheduling with modified genetic operators. IEE Proceedings Generation, Transmission and Distribution, 150:56-60. Baues B., Kay P., Charlier P. (1994) Constraint based resource allocation for airline crew management. ATTIS'94. Beale R., Jackson T. (1990) Neural Computing: An Introduction. Adam Hilger. Beldiceanu N. (1994) Introducing global constraints in CHIP. Mathematical and Computer Modelling, 20:97-123. Beldiceanu N., Bourreau E., Chan P., Rivreau D. (1997) Partial Search Strategy in CHIP. 2nd International Conference on Metaheuristics (MIC 97). Bellone J., Chamard A., Pradelles C. (1992) Plane - an evolutive planning system for aircraft production. Practical Applications of Prolog (PAP92). Benders J. (1962) Partitioning Procedures for Solving Mixed Variables Programming Problems. Numerische Mathematik, 4:238-252. Beringer H., Backer B. (1994) Combinatorial problem solving in constraint logic programming with cooperating solvers. Logic Programming: Formal Methods and Pratical Applications. 245-272. Bessiere C., Rgin J. (2001) Refining the Basic Constraint Propagation Algorithm. IJCAI, 309-315. Biajoli F., Souza M., Chaves A., Mine O., Lucena A., Cabral L., Pontes R. (2004) Scheduling the Brazilian Soccer Championship: A Simulated Annealing Approach. Practice and Theory of Automated Timetabling (PATAT 2004). Bockmayr A., Kasper T. (1998) Branch-and-Infer: A unifying framework for integer and finite domain constraint programming. INFORMS Journal of Computing, 10:287-300. Bonomi E., Lutton .L. (1984) The Asymptotic Behaviour of Quadratic Sum Assignment Problems: A statistical Mechanics Approach. European Journal of Operational Research. Borning A., Freeman-Benson B. (1995) The OTI constraint solver: a constraint library for 256

Referncias constructing graphical user interfaces. Proceedings 1st Int. Conference on Principles and Practice of Constraint Programming (CP95). Bourdais S., Galinier P., Pesant G. (2003) Hibiscus: a constraint programming application to staff scheduling in health care. Ninth International Conference on Principles and Practice of Constraint Programming. Brdys M., Creemers T., Goossens H., Riera J., Heinsbroek A., Lisiak Z. (1999) CLOCWiSe: Constraint Logic for Operational Control of Water Systems. ASCEWater Resources Planning & Management Conference. Bressiere C., Freuder E., Regin C. (1995) Using Inference to Reduce Arc-Consistency Computation. IJCAI, 592-598. Bretthauer G., Gamaleja T., Handschin E., Neumann U., Koffmann W. (1998) Integrated maintenance scheduling system for electrical energy systems. IEEE Transactions on Power Delivery, 13:655-660. Burke E., Clark J., Smith A. (1997) Four Methods for Maintenance Scheduling. Proceedings of the International Conference on Artificial Neural Networks and Genetic Algorithms, 264-269. Burke E. (1998) A Hybrid Tabu Search Algorithm for the Nurse Rostering Problem. 2nd Asia Pacific Conference on Simulated Evolution and Learning, 187-194. Burke E., Smith A. (1999) A Multi-Stage Approach for the Thermal Generator Maintenance Scheduling Problem. Proceedings of Congress on Evolutionary Computation (CEC'99), 2:1085-1092. Burke E. (2000) Hybrid Evolutionary Techniques for the Maintenance Scheduling Problem. IEEE Transactions on Power Systems, 15:122-128. Burke E., Ellilman G., Weare F. (1995) A Hybrid Genetic Algorithm for Highly Constrained Timetabling Problems. Proceedings of the Sixth International Conference on Genetic Algorithms. Catoni O. (1998) Solving Scheduling Problems by Simulated Annealing. SIAM Journal on Control and Optimization, 36:1539-1575. Caprara A., Focacci F., Lamma E., Mello P., Milano M., Toth P., Vigo D. (1997) Integrating constraint logic programming and operations research techniques for the crew rostering problem. Software Practice and Experience 28(1):49-76. Chattopadhyay D., Bhattacharya K., Parikh J. (1995) A System Approach to Least-Cost Maintenance Scheduling. IEEE Transations on Power Systems, 10:2002-2007. 257

Chen L., Toyoda J. (1990) Maintenance Scheduling Based on Two Level Hierarchical Structure to Equalize Risk. IEEE Transactions on Power Systems, 5:1510-1516. Chen L., Toyoda J. (1991) Optimal generating unit maintenance scheduling for multi-area system with network constraints. IEEE Transactions on Power Systems, 6:1168-1174. Chew T., David J. (1992) A constraint-based spreadsheet for cooperative production planning. AAAI - SIGMAN Workshop on knowledge-based production planning, scheduling and Control. Chun A., Chan S., Tsang F., Yeung D. (1999) Stand allocation with constraint technologies at Chek Lap Kok international airport. Practical Application of Constraint Technology, PACLP99. Chmeiss A., Jgou P. (1996) Two New Constraint Propagation Algorithms Requiring Small Space Complexity. Proceedings of the 8th IEEE ICTAI. Christiaanse W. (1973) A Program for Calculating Optimal Maintenance Schedules Recognizing Constraints. Proceedings of PICA Conference. 230-239. Codognet P., Diaz D. (1996) Compiling Constraints in clp(fd). Journal of Logic Programming, 27:185226. Colin R. (1995) Modern Heuristics Techniques for Combinatorial Problems. John Wiley & Sons. Colmerauer A. (1990) An Introduction to Prolog III. Communications of the ACM, 33:69-90. Connolly D. (1990) An Improved Annealing Scheme for the Quadratic Assignment Problem. European Journal of Operational Research, 46:93-100. Connolly D. (1992) General Purpouse Simulated Annealing. European Journal of Operational Research, 43:494-505. Cooper M. (1989) An Optimal K-Consistency Algorithm. Artificial Intelligence, 41:89-95. COSYTEC (2000) Application Development with the CHIP System. White Paper. Day J., Mitchel J., Ball W. (1987) A Cost-Minimizing Approach for Coordinating Short-Term Unit Outages. IEEE Transactions on Power Systems, 2:52-57. Dash Optimization XPRESS-MP Optimization Suite. David G. (1989) Genetic Algorithms. Addison Wesley.

258

Referncias Debruyne R., Bessire C. (1997) Some Practicable Filtering Techniques for the Constraint Satisfaction Problem. Proceedings of the IJCAI. Dechter R. (1998) Backtracking algorithms for constraint satisfaction problems; a survey. CONSTRAINTS, International Journal, Kluwer. Dechter R., Rossi F. (2000) Constraint Satisfaction. Survey of ECS. Dechter R., Frost D. (1998a) Constraint Processing For Optimal Maintenance Scheduling. EPRI final report. Dechter R., Frost D. (1998b) Optimizing With Constraints: A Case Study in Scheduling Maintenance of Electric Power Units. Fifth International Symposium on Artificial Intelligence and Mathematics. Dechter R., Frost D. (1999) Maintenance Scheduling Problems as Benchmarks for Constraint Algorithms. Annals of Mathematics & Artificial Intelligence, 26: 149-170. Dell'Amico M., Trubian M. (1993) Applying Tabu Search to the Job-Shop Scheduling Problem. Annals of Operations Research, 41:15-24. Daz E., Malave C. (2004) Simulated Annealing for Parallel Machine Scheduling with Splitting Jobs and Sequence-dependent Set-up. International Journal of Industrial Engineering, 11:43-53. Digalakis J., Konstantinos M. (2001a) A Parallel Hybrid Evolutionary Algorithm for electrical generator scheduling problem. 5th World Multiconference on Systemics, Cybernetics and Informatics (SCI 2001) and the 7th International Conference on Information Systems Analysis and Synthesis (ISAS 2001), 397-402. Digalakis J., Konstantinos M. (2001b) A Parallel Memetic Algorithm for the maintenance scheduling problem. 5th World Multiconference on Systemics, Cybernetics and Informatics (SCI 2001) and the 7th International Conference on Information Systems Analysis and Synthesis (ISAS 2001), 343-347. Digalakis J., Margaritis K. (2001c) A multipopulation memetic model for the maintenance scheduling problem. Panhellenic Symposium on Automation, Robotics and Industrial Production, 85-90. Dincbas M., Simonis H., Hentenryck P., Aggoun A., Graf T., Berthier F. (1988) The Constraint Logic Programming Language CHIP. Proc. International Conference on Fifth Generation Computer Systems. Dopazo J., Merrill H. (1975) Optimal generator maintenance scheduling using integer programming. IEEE Transactions on Power Apparatus and Systems, 94:1537-1545. Dorigo M., Maniezzo V., Colorni A. (1996) Ant System: Optimization by a colony of cooperating

259

agents. IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26:29-41. Dresse A. (1995) A constraint programming library dedicated to timetabling. ILOG User-group meeting. Duong T., Lam K. (2004) Combining Constraint Programming and Simulated Annealing on University Exam Timetabling. International. Conference RIVF'04, 205-210. Daz E., Malave C. (2004) Simulated Annealing for Parallel Machine Scheduling with Splitting Jobs and Sequence-dependent Set-up. International Journal of Industrial Engineering, 11:43-53. Dincbas M., Simonis H. (1991) Apache - a constraint based, automated stand allocation system. Advanced Software technology in Air Transport (ASTAIR'91). EDP S.A. (2002) Relatrio de Contas. Egan G., Dillon T., Morsztyn K. (1976) An experimental method of determination of optimal maintenance schedules in power systems using the branch-and-bound technique. IEEE Transactions on Systems, Man and Cybernetics, 6:538-547. El-Amin I., Duffuaa S., Abbas M. (2000) A Tabu search algorithm for maintenance scheduling of generating units. Electric Power Systems Research, 54:91-99. El-Sharkh M., El-Keib A. (2003b) An evolutionary programming-based solution methodology for power generation and transmission maintenance scheduling. Electric Power Systems Research, 65:35-40. El-Sharkh M., Yasser R., El-Keib A. (1998) Optimal Maintenance Scheduling for Power Generation Systems - A Literature Review. Proceedings of the Maintenance and Realiability Conference MARCON98, 1:20.01-20.10. El-Sharkh M., El-Keib A. (2003c) Maintenance scheduling of generation and transmission systems using fuzzy evolutionary programming. IEEE Transactions on Power Systems 18:2. El-Sharkh M., El-Keib A., Chenc H. (2003a) A fuzzy evolutionary programming-based solution methodology for security-constrained generation maintenance scheduling. Electric Power Systems Research, 67:67-72. El-Sheikhi F., Billinton R. (1972) Generating Unit Maintenance Scheduling for Single and Two Interconnected Systems. IEEE Transactions on Power Apparatus and Systems, 91:2057-2063. Elliot G., Haralick R. (1980) Increasing Tree Search Efficiency for CSP. Artificial Intelligence, 14:263313.

260

Referncias Endrenyi J., Anders G., Leite A. (1998) Probabilistic Evaluation of the Effect of Maintenance on Reliability - An Application. IEEE Transactions on Power Systems, 13:576-583. Endrenyi J. & all (1999) Impact Of Maintenance Strategy On Reliability. Final report by the IEEE/PES Task Force on Impact of Maintenance Strategy on Reliability of the Reliability, Risk and Probability Applications Subcommittee. ERSE (2001) Entidade Reguladora do Sector Elctrico. Caracterizao do Sector Elctrico. Escudero L. (1982) On Maintenance Scheduling of Production Units. European Journal of Operational Research, 9:264-274. F. Glover, M. Laguna, R. Mart. (2000) Fundamentals of Scatter Search and Path Relinking. Control and Cybernetics, 39:653-684. F. Pachet (1999) Constraints and multimedia. Practical Application of Constraint Technology (PACLP'99). Fernandez J., Sanchez E. (1995) A cashier assignment system. ILOG User-group meeting. Filkhorn T., Schneider H., Scholz A., Strasser A., Warkentin P. (1995) SVE system verification environment. Relatrio Tcnico, Siemens AG. Focacci F., Lodic A., Milano M. (1999a) Cost-based domain filltering. Principles and Practice of Constraint Programming (CP99), 189-203. Focacci F., Lodic A., Milano M. (1999b) Solving TSP with time windows with constraints. 16th International Conference on Logic Programming. Freuder C. (1988) Backtrack-Free and Backtrack-Bounded search. Search in Artificial Intelligence. Springer-Verlag. Freuder C., Mackworth A. (1985) The Complexity of Some Polynomial Network Consistency Algorithms for Constraint Satisfaction Problems. Artificial Intelligence, 25:65-73. Freuder E. (1978) Synthesizing Constraint Expressions. Communications of the ACM, 21:958-966. Freuder E., Dechter R., Matthew G., Bart S., Tsang E. (1995) Systematic Versus Stochastic Constraint Satisfaction. IJCAI, 2027-2032. Freuder E. (1997) Special issue on Strategic Directions on Constraint Programming. CONSTRAINTS: An International Journal: 2.

261

Fruhwirth T., Brisset P. (1997) Optimal planning of digital cordless telecommunication systems. Pratical Applications of Constraints Technology (PACT'97). Gallaire H. (1985) Logic Programming: Further Develpments. IEEE Symposium on Logic Programming. 88-89. Garver L. (1972) Adjusting Maintenance Schedule to Levelize Risk. IEEE Transactions on Power Apparatus and Systems, 103:2057-2063. Geelen P. (1992) Dual Viewpoint heuristics for binary Constraints Satisfaction Problems. ECAI'92. 31-35. Gervet C., Caseau Y., Montaut D. (1999) On refining III defined constraint problems: A case study in iterative prototyping. Practical Application of Constraint Technology (PACLP'99). Glover F. (1986) Future paths for integer programming and links to artificial inteligence. Computers & Operations Research, 13:533-549. Glover F., Laguna M. (1997) Tabu Search. Boston: Kluwer Academic Publishers. Glover F, Taillard E., Werra D. (1993) A User's Guide to Tabu Search. Annals of Operations Research, 41:20-26 Glover F. (1989) Tabu Search, part I. ORSA Journal on Computing, 1:190-206. Goltz H., Matke D. (1999) Combined interactive and automatic timetabling. PA-CLP '99. Gomes N., Vale Z. (2003a) Constraint Based Maintenance Scheduling of Electric Power Units. 7th IASTED International Multi-Conference on Power and Energy Systems (PES 2003), 55-61. Gomes N., Vale Z., Ramos C. (2003b) Hybrid Constraint Algorithm for the Maintenance Scheduling of Electric Power Units. Proceedings of Intelligent Systems Application to Power Systems (ISAP2003). Gomes N., Vale Z., Ramos C. (2003c) Reduce and Assign: A Constraint Logic Programming and Local Search Integration Framework to Solve Combinatorial Search Programs. Principles and Practice of Constraint Programming (CP 2003). Gomes N., Vale Z., Ramos C. (2005a) Guided Constraint Search for the Barch Sizing and Job Sequencing Problem. International Conference on Industrial Engineering and Systems Management (IESM 2005).

262

Referncias Gomes N., Vale Z., Ramos C. (2005b) A Hybrid Constraint Approach for a Real Batch Sizing and Job Sequencing Problem. ISAPT 2005. Gomes N., Vale Z., Ramos C., Cordeiro M. (2004) Hybrid Methods for the Maintenace Scheduling of Generating Units Problems. International Conference on Knowledge and Decision Support (ICKEDS04). Gondran M., Minoux M. (1984) Graphs and Algorithms. Wiley & Sons. Grudinin N., Roytelman I. (1997) Heading off emergencies in large electric grids. IEEE Spectrum 34. Guerri D., Tinetti F., Moscato P. (1991) Memetic Algorithms for Combinatorial Optimization Problems: Efficiency Studies and Implementation on a Concurrent System. 4th Workshop in Information Processing and Control. Hamiez J., Hao J. (2001) Solving the sports league scheduling problem with Tabu search. Lecture Notes in Artificial Intelligence, 2148:24-36. Han C., Lee C. (1988) Comments on Mohr and Henderson's path consistency algorithm. Artificial Intelligence, 36:125-130. Harjunkoski I., Jain V., Grossmann I. (2000) Hybrid mixed-integer/constraint logic programming strategies for solving scheduling and combinatorial optimization problems. Computers and Chemical Engineering, 337-343. Harvey H. (1995a) Nonsystematic backtracking search. Tese de Doutoramento, Stanford University. Harvey H., Ginsberg M. (1995b) Limited Discrepancy Search. Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence (IJCAI-95), 607-615. Hayashi D., Kermanshahi B., Chu C. (2001) Value-based Reliability Centered Maintenance for Deregulated Power Systems. ICEE2001. Hentenryck P. (1989) Constraint Satisfaction in Logic Programming. MIT Press. Hentenryck P., Deville Y. (1992) A Generic Arc-Consistency Algorithm and its Specializations. Artificial Intelligence, 55:291-321. Hermenegildo H. & CLIP Group (1994) Some methodological issues in the design of CIAO - a generic, parallel concurrent constraint system. Principles and Pratice of Constraint Programming (CP94). Hermosilla L., Kuper G. (1996) Towards the definition of a spatial object-oriented data model with constraints. In Proc. 1st Int. CONTESSA workshop on constraint databases and their aplications. 263

Hirayma K. (2000) An Approach to Over-constrained Distributed Constraint Satisfaction Problems: Distributed Hierarchical Constraint Satisfaction. Proceedings of the Fourth International Conference on MultiAgent Systems, 135-142. Hiroshi H. (2004) Hierarchical nonlinear constraint satisfaction. Proceedings of the 2004 ACM symposium on Applied computing. Hooker J. (2001) Logic, Optimization and Constraint Programming. Relatrio Tcnico, Carnegie Mellon University. Hooker J., Osorio M. (1999) Mixed Logical/Linear Programming. Discrete Applied Mathematics, 9697:395-442. Hooker J. (1995) Logic-Based Benders Decomposition. Mathematical Programming, 96:33-60. Hooker J., Ottosson G., Kim H. (2001) A declarative modeling framework that integrates solution methods. Annals of Operations Research, 141-161. Hooker J. (2002) Logic, Optimization, and Constraint Programming. INFORMS Journal of Computing . 14:295-321. Hooker J., Ottosson G., Thorsteinsson E., Kim Hak-Jin (2000) A Scheme for Unifying Optimization and Constraint Satisfaction Methods. Knowledge Engineering Review, special issue on {AI/OR}, 15:11-30. Hooker J., Ottosson G., Thorsteinsson E., Kim Hak-Jin (1999) On Integrating Constraint Propagation and Linear Programming for Combinatorial Optimization. Proceedings of the Sixteenth National Conference on Artificial Intelligence (AAAI-99), 136-141. Huang T., Yang H-T. (2002) Effective algorithm for handling constraints in generator maintenance scheduling. IEE Proceedings Generation, Transmission and Distribution, 149:274-282. Huang S. (1997) Generator maintenance scheduling: a fuzzy system approach with genetic enhancement. Electric Power Systems Research, 41:233-239. IEEE 14 Bus Power Flow Test Case. http://www.ee.washington.edu/research/pstca/pf14/pg_tca14bus.htm Jackson W., Irgens M., Havens W. (1996) A re-examination of limited discrepancy search. Constraint Reasoning Workshop at FLAIRS-96. Jaffar J., Lassez J. (1987) Constraint Logic Programming. Proceedings 14th ACM Symposium on Principles

264

Referncias of Programming Languages, 111-119. Jain V., Grossmann I. (2001) Algorithms for Hybrid MILP/CP Models for a Class of Optimization Problems. INFORMS Journal of Computing, 13:258-276. Kim H., Nara K. (1997) An algorithm for thermal unit maintenance scheduling through combined use of GA, SAand TS. IEEE Transactions on Power Systems, 12:329-335. Kim H., Nara K., Gen M. (1994) An Method for Maintenance Scheduling using GA combined with SA, 477-480. Kirkpatrick S., Gelatt C. (1983) Optimization by Simulated Annealing. Science, 220:671-680. Kurban M., Tarkan N. (1999) The levelized reserve capacity method for the maintenance scheduling of the generating units. International Conference on Electric Power Engineering. Laarhoven P., Aarts E. (1987) Simulated Anealling: Theory and Applications. Boston: Reidel Langdon W. (1995) Scheduling planned maintenance of the National Grid. Evolutionary Computing, 993:132--153. Langdon W., Treleaven P. (1997) Scheduling Maintenance of Electric Power Transmission Networks Using Genetic Programming. Artificial Intelligence Techniques in Power Systems. Lawler E., Wood E. (1966) Branch and Bound Methods: A Survey. Operations Research, 14:699-714. Leconte M. (1996) Constraint Solving in ILOG and its Application. Escola Avanada de Inteligncia Artificial, Lisboa, Portugal. Lin C., Huang C., Lee S. (1992) An Optimal Generator Maintenance Scheduling Approach Using Fuzzy Dynamic Prgramming. IEEE PES Summer Meeting. Lin S., Kernighan B. (1973) An Effective Heuristic Algorithm for the Traveling Salesman Problem. Operations Research, 21:498-516. Lloyd J. (1993) Foundations of Logic Programming. Springer Verlag. Lotfi Z. (1965) Fuzzy sets. Inf. Control, 8:338-353. Loureno H., Martin O., Stutzle T. (2002) Iterated Local Search. Handbook of Metaheuristics, 321-353. Lundy M., Mees A. (1986) Convergence of annealing algorithm. Mathematical Programming, 34:111-

265

124. Mackworth A. (1977) Consistency in Networks of Relations. Artificial Intelligence, 8:99-118. Madureira A. (2003) Aplicao de Meta-Heursticas ao Problema de Escalonamento em ambiente Dinmico de Produo Discreta. Tese de Doutoramento, Universidade do Minho. Meyer M. (1994) Finite Domain Constraints: Declarativity meets Efficiency-Theory meets Application. Tese de Doutoramento, Kaiserslautern University. Marriot K., Stuckey P. (1998) Programming with Constraints: An introduction. MIT Press. 1998. Marwali M., Shahidehpour M. (1998) Integrated generation and transmission maintenance scheduling with network constraints. IEEE Transactions on Power Systems, 13:1063-1068. Mazumdar M. (1996) Computation of Power Generation System Production Costs. IEEE Transactions on Power Systems, 11:696-701. Mchugh J. (1990) Algorithmic Graph Theory. Prentice-Hall. 1990. Metropolis N., Rosenbluth M. (1953) Equation of state calculation by fast computing machines. Journal of Chemical and Physics, 21:1087-1091. Meyer H. (1997) ConPlan/SIEDAplan: Personnel assignment as a problem of hierarchical constraint satisfaction. Pratical Application of Constraint Technology (PACT'97). Mohr R., Henderson T. (1986) Arc and Path Consistency Revisited, Artificial Intelligence, 28:225-233. Mukerji R., Merrill H., Erickson B., Parker J., Friedman R. (1991) Power Plant Maintenance Scheduling: Optimizing Economics and Reliability. IEEE Transactions on Power Systems, 2:319-327. Nadel B. (1989) Constraint Satisfaction Algoritmhs. Computational Inteligence, 5:188-225. Nuitjen W. (1994) Time and Resource Constrained Scheduling - A Constraint Satisfaction Approach. Tese de Doutoramento, University Eindhoven. Osman I. (1995a) Heuristics for the generalized assignment problem: Simulated Annealing and Tabu Search Approaches. OR Spectrum, 17:211-225. Osman I. (1995b) Metastrategy Simulated annealing and Tabu search Algorithms for the Vehicle Routing Problem. Annals of Operations Research, 41:421-451.

266

Referncias Osman I., Christofides N. (1994) Capacited Clustering Problems by Hybrid Simulated Annealing and Tabu Search. Artificial Intelligence, 1:317-326. Osman I., Kelly J. (1996) Meta-Heuristics: Theory and Applications. Boston: Kluwer. Osman I., Laporte G. (1996) Metaheuristics: A bibliography. Annals of Operations Research, 63:513-623. Pape C., Baptiste P. (1998) Resource constraints for preemptive job-shop scheduling. CONSTRAINTS: An International Journal. 3. Pape C., Baptiste P. (1997) A Constraint Programming Library for Preemptive and Non-Preemptive Scheduling. Pratical Applications of Constraint Technology (PACT'97), 237-256. Pearl J. (1984) Heuristics: Intelligent Search Strategies for Computer Problem Solving. AddisonWesley. Perret M. (1991) Using constraint logic programming techniques in container port planning. ICL Technical Journal, 537-545. Petit T., Regin J., Bessiere C. (2001) Specific Filtering Algorithms for Over-Constrained Problems. 7th International Conference on Principles and Practice of Constraint Programming (CP2001). Pirlot M. (1996) General Local Search Methods. European Journal of Operational Research, 92:493-511. Puget J. (1994) A C++ implementation of CLP. Proceedings of SPICIS'94. R. Backofen (1998) Constraint techniques for solving the protein structure prediction problem. 4th Int. Conf. on Principles and Practice of Constraint Programming (CP98). R. Kowalski. (1986) Logic for Problem Solving. North-Holland Publishing. Refalo P. (1999) Tight cooperation and its application in piecewise linear optimization. Principles and Practice of Constraint Programming, 1713:375-389. Rgin J. (1994) A filtering algorithm for constraints of difference in CSPs. AAAI'94. Regin J. (1996) Generalized arc consistency for global cardinality constraint. Proceedings AAAI96, 209215. Regin J. (2002) Cost-based arc consistency for global cardinality constraints. CONSTRAINTS International Journal, 7:387405.

267

Ribeiro C., Jansen P. (2001) Essays and Surveys in Metaheuristics. Kluwer Academic Publishers. Richard B. (1957) Dynamic Programming. Princeton University Press. Robert R., Wallace M., Hajian M. (1999) A new approach to integrating mixed integer programming and constraint logic programming. Annals of Operations Research, 86:63-87. Rong-Ceng L. (2003) A new method for unit maintenance scheduling based on genetic algorithm. IEEE Power Engineering Society General Meeting, 246-251. Rossi F. & al. (2000) Constraint Logic Programming. ERCIM/Compulog Net workshop on constraints. Ruttkay Z. (2001) Constraint Satisfaction - A Survey. CWI Quaterly, 11(2-3):163214. Satohand Y., Nara K. (1991) Maintenance scheduling by using the simulated annealing method. IEEE Transactions on Power Systems, 6:850-857. Sawa T., Furukawa T., Nomoto M., Nagasawa T., Sasaki T., Deno K., Maekawa T. (1999) Automatic scheduling method using tabu search for maintenance outage tasks of transmission and substation system with network constraints. IEEE Power Engineering Society 1999 Winter Meeting. 895900. Schreye D., Pollet D., Ronsyn J., Bruynooghe M. (1990) Implementing Finite-domain Constraint Logic Programming on Top of a Prolog-System with Delay-mechanism. ESOP'90, 3rd European Symposium on Programming. Sergaki A., Kalaitzakis K. (2003) A fuzzy knowledge based method for maintenance planning in a power system. Reliability Engineering & System Safety, 77:19-30. Shahidehpour M., Marwali M. (1999) Long-term transmission and generation maintenance scheduling with network, fuel and emission constraints. IEEE Transactions on Power Systems, 14. Shahidehpour M., Marwali M. (2000) Maintenance Scheduling In Restructured Power Systems. Kluwer Academic Publishers. Shvetsov I., Kornienko V., Preis S. (1997) Interval spreadsheet for problems of financial planning. Pratical Aplications of Constraint Technology (PACT'97). Silva E., Schilling M., Rafael M. (2000) Generation maintenance scheduling considering transmission constraints. IEEE Transactions on Power Systems, 15:838-843. Simonis H. (1995) Modelling machine set-up time exclusion constraints. COSYTEC. 268

Referncias Simonis H., Cornelissens T. (1995) Modelling producer/consumer constraints. Proceedings 1st Int. Conference on Principles and Practice of Constraint Programming (CP95). Simonis H., Charlier P. (1998) Cobra - a system for train crew scheduling. DIMACS workshop on constraint programming and large scale combinatorial optimization. Singh M. (1997) Path Consistency Revisited. Proceedings of the 5th IEEE ICTAI. Smith A. (1993) Reliability-Centered Maintenance. New York: McGraw-Hill, Inc. Smith A. (1999) A Memetic Algorithm to Schedule Planned Grid Maintenance. ACM Journal of Experimental Algorithmics, 4:23-29. Solnon C. (1997) Coopration de solveurs linaires sur les rels pour la rsolution de problmes linaires en nombres entiers. Journes Francophones de la programmation logique par contraintes. Soraya R., Howe A., Whitley L., Mathias K. (1996) Comparing Heuristic, Evolutionary and Local Search Approaches to Scheduling. Proceedings of the 3rd International Conference on Artificial Intelligence Planning Systems ({AIPS}-96), 174-181. Spiro M., Jampel M. (1996) Constraint Logic Programming: A Bibliography.

ftp://ftp.cs.unh.edu/pub/csp/archive/bibliographies/clp2.bib.gz

Stoll H., Garver L., Price W., Sigley R., Szczepanski R. (1989) Least Cost Electric Utility Planning. John Wiley & Sons. Sullivan G., Pugh A., Melendez W. (2002) Operations & Maintenance Best Practices: A Guide to Achieving Operational Efficiency. Prepared by Pacific Northwest National Laboratory for the Federal Energy Management Program U.S. Department of Energy. Surynek P., Bartk R. (2004) A New Algorithm for Maintaining Arc Consistency after Constraint Retraction. Conference on Principles and Practice of Constraint Programming (CP 2004), 767-771. Sussman G., Stallman R. (1977) Forward Reasoning and Dependency-Directed Backtracking in a System for Computer-Aided Circuit Analysis. Artificial Intelligence, 9:135-196. Takahashi S., Matsuoka S., Miyashita K., Hosobe H. (1998) A constraint-based approach for visualization and animation. CONSTRAINTS An International Journal, 3. Thorsteinsson E. (2001) Branch-and-Check: A Hybrid Framework Integrating Mixed Integer Programming and Constraint Logic Programming. 7th International Conference on Principles and Practice of Constraint Programming (CP2001). 269

Tsang E. (1993) Foundations of Constraint Satisfaction. San Diego, California: Academic Press. U. Montanari. (1974) Networks of constraints: Fundamental properties and application to picture processing. Information Science. Vandecasteele H., Schreye D. (1994) Implementing a Finite-domain CLP-language on Top of Prolog: a Transformational Approach. Logic Programming and Automated Reasoning, 5th International Conference, 84-98. W. Harvey & all (2002) The ECLiPSe Library Manual Release 5.4. IC-PARK. Wallace M. & al (1997) ECLiPSe : A Platform for Constraint Logic Programming. ICL Systems Journal, 12. Wallace M. (1993) Applying Constraints for Scheduling. 1993 NATO ASI. Wallace M. (1996) Practical Applications of Constraint Programming. CONSTRAINTS An International Journal, 1:139-168. Wallace R. (1993) Why AC-3 is almost always better than AC-4 for establishing arc consistency. Proc. of IJCAI, 239-245. Waltz D. (1975) Generating Semantic Description from Drawings of Scenes with Shadows. Captulo 3 em The Psychology of Computer Vision, McGraw-Hill. Wang Y., Handschin E. (2000) A new genetic algorithm for preventive unit maintenance scheduling of power systems. International Journal of Electrical Power & Energy Systems, 22:343-348. Weedy M. (1992) Electric Power Systems. Chichester: John Wiley Sons. Yao X. (1991) Simulated Annealing with extended neighbourhood. International Jornal of Computer Mathematics, 40:169-189. Yagiura M., Iwasaki S., Ibaraki T., Glover F. (2004) A Very Large-Scale Neighborhood Search Algorithm for the Multi-Resource Generalized Assignment Problem. Discrete Optimization, 1:87-98. Yamayee Z. (1982) Maintenance Scheduling: Description, Literature Survey, and Interface with Overall Operating Scheduling. IEEE Transactions on Power Systems, 101:2770-2779. Yamayee Z., Hakimmashhadi H. (1985) Production Simulation for Power Systems Studies. IEEE Transactions on Power Apparatus and Systems, 104:3376-3381.

270

Referncias Yamayee Z., Sidenblad K. (1983) A computationally efficient optimal maintenance scheduling method. IEEE Transactions on Power Apparatus and Systems, 102:330338. Yokoyama R., Niimura T. (1996) Thermal generating unit maintenance scheduling by multi-stage application of simulated annealing. IEEE International Conference on Systems, Man, and Cybernetics, 15311535. Yun D., Keng N. (1989) A Planning/Scheduling methodology for constrained resource problem. IJCAI'89, 998-1003. Zhang W., Zhang X. (2004) An Improved Integer Local Search for Complex Scheduling Problems . 14Th International Conference on Automated Planning & Scheduling. Zurn H., Quintana V. (1975) Generator Maintenance Scheduling Via Successive Approximation Dynamic Programming. IEEE Transactions on Power Apparatus and Systems, 94:665-671. Zurn H., Quintana V. (1977) Several Objective Criteria for Optimal Generator Preventive Maintenance Scheduling. IEEE Transactions on Power Apparatus and Systems, 96:984-992.

271

Anexo A

Anexo A

A.1 Resultados Relativos ao Captulo 5


100% 90% 80% 70% Custo (%) 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.1 - Mdia dos custos das solues obtidas com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_b_1.dat

100% 90% 80% 70% Tempo (%) 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.2 - Mdia do tempo de computao necessrio para obter as solues com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_b_1.dat

A-3

100% 90% 80% Custo+Tempo (%) 70% 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.3 - Soma dos resultados referentes ao Tempo mais Custo, indicados na Figura A.1 e Figura A.2

100% 90% 80% 70% Custo (%) 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.4 - Mdia dos custos das solues obtidas com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_c_1.dat

A-4

Anexo A

100% 90% 80% 70% Tempo (%) 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.5 - Mdia do tempo de computao necessrio para obter as solues com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_c_1.dat

100% 90% 80% Custo+Tempo (%) 70% 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.6 - Soma dos resultados referentes ao Tempo mais Custo, indicados na Figura A.4 e Figura A.5

A-5

100% 90% 80% 70% Custo (%) 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.7 - Mdia dos custos das solues obtidas com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_d_1.dat

100% 90% 80% 70% Tempo (%) 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.8 - Mdia do tempo de computao necessrio para obter as solues com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_d_1.dat

A-6

Anexo A

100% 90% 80% Custo+Tempo (%) 70% 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.9 - Soma dos resultados referentes ao Tempo mais Custo, indicados na Figura A.7 e Figura A.8

100% 90% 80% 70% Custo (%) 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.10 - Mdia dos custos das solues obtidas com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_e_1.dat

A-7

100% 90% 80% 70% 60% Tempo (%) 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.11 - Mdia do tempo de computao necessrio para obter as solues com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_10_24_e_1.dat

100% 90% 80% Custo+Tempo (%) 70% 60% 50% 40% 30% 20% 10% 0% 200 250 300 350 N Iteraes 400 450 500 0.6 0.7 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.12 - Soma dos resultados referentes ao Tempo mais Custo, indicados na Figura A.10 e Figura A.11

A-8

Anexo A

100% 90% 80% 70% Custo+Tempo (%) 60% 50% 40% 30% 20% 10% 0% 600 700 800 N Iteraes 900 1000 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.13 Soma dos resultados referentes ao Tempo mais Custo obtidos com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_15_24_a_1.dat
100% 90% 80% 70% Custo+Tempo (%) 60% 50% 40% 30% 20% 10% 0% 600 700 800 N Iteraes 900 1000 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.14 - Soma dos resultados referentes ao Tempo mais Custo obtidos com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_15_24_b_1.dat

A-9

100% 90% 80% 70% Custo+Tempo (%) 60% 50% 40% 30% 20% 10% 0% 600 700 800 N Iteraes 900 1000 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.15 - Soma dos resultados referentes ao Tempo mais Custo obtidos com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_15_24_c_1.dat
100% 90% 80% 70% Custo+Tempo (%) 60% 50% 40% 30% 20% 10% 0% 600 700 800 N Iteraes 900 1000 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.16 - Soma dos resultados referentes ao Tempo mais Custo obtidos com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_15_24_d_1.dat

A-10

Anexo A

100% 90% 80% 70% Custo+Tempo (%) 60% 50% 40% 30% 20% 10% 0% 600 700 800 N Iteraes 900 1000 0.8 0.9 0.93 0.95 0.97 0.99

Figura A.17 - Soma dos resultados referentes ao Tempo mais Custo obtidos com o mtodo de PQL, em funo do nmero de iteraes e taxa de arrefecimento para a instncia iem_15_24_e_1.dat

A.2 Resultados relativos ao Captulo 6


100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 30 60 90 tp 120 150 180 210 6 7 8 9 10

Figura A.18 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_10_24_b1

A-11

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 30 60 90 tp 120 150 180 210 6 7 8 9 10

Figura A.19 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_10_24_c1

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 30 60 90 tp 120 150 180 210 6 7 8 9 10

Figura A.20 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_10_24_e1

A-12

Anexo A

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 60 90 120 tp 150 180 210 240 270 6 7 8 9 10

Figura A.21 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_15_24_b1

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 60 90 120 tp 150 180 210 240 270 6 7 8 9 10

Figura A.22 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_15_24_c1

A-13

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 60 90 120 tp 150 180 210 240 270 6 7 8 9 10

Figura A.23 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_15_24_d1

100% 90% 80% Tempo de Pesquisa (%) 70% 60% 50% 40% 30% 20% 10% 0% 60 90 120 tp 150 180 210 240 270 6 7 8 9 10

Figura A.24 Resultados obtidos com o mtodo de PGU e diferentes valores para os parmetros l e tp na resoluo da instncia iem_15_24_e1

A-14

Anexo B

Anexo B

B.1 Dados Relativos Rede Usada no Captulo 7


Uma descrio completa da topologia da rede utilizada no captulo 6 pode ser vista na tabela Tabela B.1, onde todos os valores de resistncias (r), reactncias (x) e admitncias shunt (y) se encontram expressos no sistema por unidade:
Tabela B.1 Dados Relativos Rede Usada no Captulo 7 Linha 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Barramento 1 1 10 1 2 2 1 1 3 3 4 6 7 8 4 5 7 8 10 1 1 2 Barramento 2 10 11 10 14 10 11 2 13 4 5 12 12 12 9 6 8 9 14 3 4 12 r 0,0387 0,047 0,0581 0,054 0,057 0,067 0,0134 0 0 0,0318 0,095 0,1229 0,0662 0,1271 0,082 0,2209 0,1709 0,0388 0 0 0 x 0,1183 0,198 0,1763 0,223 0,1739 0,171 0,0421 0,1762 0,11 0,0845 0,1989 0,2558 0,1303 0,2704 0,1921 0,1999 0,348 0,1183 0,2091 0,5562 0,252 y 0,0132 0,0219 0,0187 0,0246 0,017 0,0173 0,0064 0 0 0 0 0 0 0 0 0 0 0,0132 0 0 0

Para os diferentes perodos, foram consideradas situaes de explorao distintas. No entanto, todas elas podem ser obtidas a partir do caso base descrito na Tabela B.2, onde os valores das potncias activas e reactivas geradas e consumidas se encontram expressos no sistema por unidade (Sb=100MVA). O smbolo ?, corresponde a valores que no sendo conhecidos partida, podem ser obtidos atravs do clculo de um trnsito de potncias.

B-3

Tabela B.2 Dados Relativos rede usada no Captulo 7 Barra 1 2 3 4 5 6 7 8 9 10 11 12 13 14 V ? ? ? ? ? ? ? ? ? 1,045 1,01 1,07 1,09 1,06 Pg 0 0 0 0 0 0 0 0 0 0,4 0 0 0 ? Qg 0 0 0 0 0 0 0 0 0 ? ? ? ? ? Pc 0,478 0,076 0 0,295 0,09 0,035 0,061 0,135 0,149 0,217 0,942 0,112 0 0 Qc -0,039 0,016 0 0,166 0,056 0,018 0,016 0,058 0,05 0,127 0,19 0,075 0 0 Tipo PQ PQ PQ PQ PQ PQ PQ PQ PQ PV PV PV PV C+R

A situao de explorao da rede representada na Tabela B.2 corresponde situao de base, a partir da qual foram criadas todas as situaes de rede para os 24 perodos considerados para Manuteno. Nesta situao a rede encontra-se muito perto dos seus limites elctricos pelo que ser difcil retirar linhas de servio, para efeitos de aces de manuteno, sem violar restries elctricas. Neste sentido, a gerao das diversas situaes de rede foi feita de modo a que a situao de carga fosse, para todos os perodos, inferior situao de carga base. A situao de carga base, representada na Tabela B.2, no traduz sazonalidade. Sendo a janela de manuteno de um ano procurou-se simular uma variao sazonal da situao de carga da rede, pelo que se adoptou um modelo sinusoidal da variao da carga ao longo de um ano dividido em 24 perodos. Assim para, cada perodo p calculou-se um coeficiente Cp dado pela expresso seguinte:
p cos 2 + 1.1 Np cp = 2.2

(1.1)

B-4

Anexo B

em que Np corresponde ao nmero total de perodos. Com base no coeficiente Cp e na situao de carga base, determinou-se uma nova situao de carga para cada perodo, de acordo com as seguintes expresses:

Pc p = c p * Pc Qc p = c p * Qc Pg p = c p * Pg

(1.2)

(1.3)

(1.4)

B.2 Dados Relativos s Tarefas e Recursos Disponveis Usadas no Captulo 7


Para alm dos dados relativos rede, necessrio definir os dados relativos s tarefas e recursos. Na Tabela B.3 encontram-se os dados relativos a cada uma das 14 tarefas do problema.
Tabela B.3 Dados relativos s 14 tarefas usadas no problema Tarefa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 d 2 3 2 3 3 3 2 3 4 2 3 2 3 2 dc 1 3 7 1 3 3 2 1 2 13 1 1 1 11 dt 17 16 20 24 24 24 19 24 23 24 17 24 12 21 l 5 7 10 12 18 18 13 18 1 21 (R [i,q]) [1,1] [2,2] [3,1] [2,2] [4,1] [4,1] [1,2] [4,1] [1,1], [2,1] [3,1] [3,2] [2,1] [1,2] [2,1]

B-5

em que: d a durao; [dc,dt] so respectivamente a data de inicio mais cedo e mais tarde de realizao da tarefa; l a linha que necessita de ser removida de servio para a realizao da tarefa; [i,q] corresponde quantidade q necessria do recurso i para realizar a tarefa (uma tarefa pode necessitar mais do que um tipo de recurso). Os recursos necessrios para manuteno so limitados. A quantidade q disponvel de cada recurso i est definida na tabela seguinte Tabela B.4.
Tabela B.4 Quantidade disponvel de cada tipo de recurso Recurso 1 2 3 4 Quantidade 3 2 3 3

O modelo usado para o PETMUP contempla restries de No Simultaneidade e de Precedncia. A instncia com 14 tarefas usada nos testes referidos no captulo 7 engloba as restries de No Simultaneidade indicadas na Tabela B.5 e as restries de Precedncia indicadas na Tabela B.6.
Tabela B.5 Restries de No Simultaneidade Tarefas 4 10 1 5 2 13

Tabela B.6 Restries de Precedncia Tarefas a precede b 8 2 10 9

Para alm das restries na tabela encontram-se os custos de manuteno para cada perodo e tarefa.

B-6

Anexo B
Tabela B.7 Custos de Manuteno por perodo e por tarefa Tarefas 1 1 2 3 4 5 6 7 8 9 10 Perodos 11 12 13 14 15 16 17 18 19 20 21 22 23 24
100 100 120 120 160 160 160 160 150 150 140 140 140 140 130 130 130 130 110 110 100 100 90 90

2
100 100 100 100 130 130 130 130 160 160 140 140 140 150 140 130 130 130 120 130 130 150 150 140

3
230 230 290 290 280 280 270 270 270 220 220 220 200 200 210 210 230 200 220 230 230 250 250 240

4
250 250 250 240 240 260 260 260 250 250 250 210 210 210 210 240 220 220 210 260 260 260 240 220

5
300 300 330 330 320 320 310 340 340 350 350 350 360 360 320 320 320 320 340 340 340 330 330 310

6
300 340 340 330 320 320 310 340 340 350 350 350 360 360 320 320 320 320 340 340 340 330 330 310

7
320 320 310 300 300 320 310 330 330 320 310 310 310 310 340 340 330 330 330 330 330 340 340 320

8
120 130 130 140 140 130 130 130 150 150 130 140 160 170 170 160 160 160 150 150 150 140 140 140

9
380 380 390 390 390 380 370 370 370 360 360 350 350 350 360 380 380 380 350 350 370 370 380 380

10
110 110 140 130 130 130 120 130 130 150 150 140 100 100 130 130 130 130 160 160 140 140 140 150

11
80 90 90 80 80 90 90 100 100 120 120 120 100 100 110 110 90 90 80 80 80 90 90 100

12
100 100 120 120 120 110 110 90 90 80 80 80 80 90 90 80 80 90 90 100 100 90 90 100

13
120 120 130 140 130 130 130 120 140 140 130 140 150 150 160 160 150 140 140 130 130 130 120 130

14
110 120 130 140 140 140 130 130 130 130 140 130 130 130 120 130 130 110 110 120 120 120 120 130

Soluo do Problema (instncia com 14 tarefas)


Considerando os dados indicados nas seces anteriores, o mtodo apresentado no captulo 7 encontrou a soluo ptima para a instncia com 14 tarefas e 24 perodos representada na Figura B.1.

B-7

Perodo Tarefa 1 2 3 4 5 6 7 8 9 10 11 12 13 14

10

11

12

13

14

15 T1

16

17

18

19

20

21

22

23

24

T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T15

Figura B.1 Representao grfica da soluo da instncia com 14 tarefas referida no captulo 7

B-8

Anda mungkin juga menyukai