A primeira pergunta a se fazer num trabalho de otimiza¸c˜ao ´e “Por que n˜ao utilizar um modelo anal´ıtico derivado do Teorema de Fermat?”, como por exemplo o m´etodo gradiente hill climbing. Solu¸c˜oes anal´ıticas s˜ao sempre prefer´ıveis a solu¸c˜oes probabil´ısticas dado que encontram
17 H´a uma s´erie de pesquisadores e estudiosos, dentre os quais o autor deste trabalho, que n˜ao consideram a Mate-
m´atica como Ciˆencia, nem tampouco como Arte. A Matem´atica enquadra-se no limiar entre Arte e Ciˆencia sendo mais perfeitamente definida como uma linguagem. (KENNEY et al.,2005)
18 As l´ogicas N ˜AO-E (NAND ) e N ˜AO-OU (NOR) s˜ao implementa¸c˜oes eletrˆonicas das opera¸c˜oes equivalentes na
´
1.8. As escolhas efetuadas neste trabalho 33
o valor exato e n˜ao valores aproximados. Todavia h´a uma gama de problemas que n˜ao podem ser resolvidos de forma anal´ıtica ou n˜ao ´e vi´avel que se resolva de forma anal´ıtica devido ao alto custo computacional. Nosso problema depende de encontrar valores de 𝑊𝑛, 𝑊𝑝, 𝐿𝑛 e 𝐿𝑝 que promovam simultaneamente:
∙ Tempo de subida igual ao tempo de descida;
∙ A menor corrente poss´ıvel no dreno, implicando na menor potˆencia; ∙ A melhor condi¸c˜ao de performance transiente.
∙ A menor ´area de sil´ıcio considerando a ´area consumida pelas trilhas.
Como se viu at´e ent˜ao, descobriu-se ao longo dos s´eculos v´arias formas de se resolver pro- blemas de otimiza¸c˜ao, mas foi apenas ap´os a segunda metade do s´eculo XX, com o advento dos computadores transistorados, que uma gama de problemas particularmente complexos puderam encontrar um horizonte de solu¸c˜ao. Os chamados problemas NP completos n˜ao podem ser soluci- onados de maneira exata e uma categoria particular de algor´ıtmos ´e inventada como solu¸c˜ao: os algor´ıtimos evolutivos, ou evolucion´arios. Estes algor´ıtimos modelam uma gama de mecanismos da Gen´etica e da Teoria da Evolu¸c˜ao das Esp´ecies.
Aceite-se ou n˜ao a Teoria Darwinista, um fato que a precede e para o qual ela surge, ´e que a natureza vˆe-se munida de diversos recursos para resolver uma s´erie de problemas de sobrevivˆencia. Valendo-se de uma abstra¸c˜ao destes recursos, os cientistas do s´eculo XX criaram uma s´erie de t´ecnicas metaheur´ısticas e enxergaram o espa¸co de busca das solu¸c˜oes como uma popula¸c˜ao. Cada poss´ıvel solu¸c˜ao ´e um indiv´ıduo na popula¸c˜ao. Estes indiv´ıduos passam por processos de reprodu¸c˜ao, muta¸c˜ao, recombina¸c˜ao e sele¸c˜ao. A “inteligˆencia” do algor´ıtimo reside justamente na fun¸c˜ao de adpta¸c˜ao (fitness function) que julga cada indiv´ıduo da popula¸c˜ao e d´a a adaptabilidade deste indiv´ıduo. A cada gera¸c˜ao, o conjunto de solu¸c˜oes da mesma tende a ser mais adaptado `a fun¸c˜ao fitness que a anterior at´e se atingir um conjunto de solu¸c˜oes considerado aceit´avel para o problema. ´E interessante perceber trˆes elementos: a popula¸c˜ao origin´aria pressup˜oe-se ser gerada aleatoriamente; todavia, os valores ditos aleat´orios j´a pressup˜oem uma “inteligˆencia” que lhe seja superior19 e que define os limites entre os quais estes valores “aleat´orios” podem ser gerados.20O segundo fator interessante ´e justamente o pr´oprio julgamento de adaptabilidade, o qual ´e dado n˜ao de maneira aleat´oria, mas pela inteligˆencia do projetista. O terceiro, e talvez mais importante, ´e que os algor´ıtimos evolutivos n˜ao encontram a solu¸c˜ao ´otima, mas a que se adapta de forma melhor
19 Ou seja, que n˜ao ´e aprendida pelo algor´ıtimo, mas que j´a est´a intr´ınseca nos pr´oprios dados.
20 Logo, os valores n˜ao s˜ao assim t˜ao aleat´orios, por mais que neste modelo, se use uma heur´ıstica para ger´a-los. Da´ı
34 Cap´ıtulo 1. Introdu¸c˜ao
no tempo mais h´abil, com os recursos dispon´ıveis. Nesta gama de algor´ıtimos o primeiro que surgiu historicamente foram os Algor´ıtimos Gen´eticos. Al´em do mais antigo ´e tamb´em o mais popular e gen´erico deles. Ele ´e recomendado para todo processo que ofere¸ca restri¸c˜oes no espa¸co de busca sobre o qual uma fun¸c˜ao tende a assumir o melhor valor21 ap´os o processo de otimiza¸c˜ao. Outra categoria de algor´ıtimos, chamados algor´ıtimos de enxame, s˜ao descritos a seguir:
∙ Colˆonia de formigas: baseado no comportamento das colˆonias de formigas, este algor´ıtimo ´e melhor utilizado em otimiza¸c˜oes combinat´orias e problemas gr´aficos, como reconhecimento de imagens.
∙ Enxame de abelhas: ´e baseado no comportamento de um enxame de abelhas e ´e recomen- dado para otimiza¸c˜oes de problemas num´ericos, combinatoriais e multi-objetivos.
∙ Colˆonia de abelhas: diferente do exame de abelhas, a colˆonia de abelhas, ´e um algor´ıtimo baseado no comportamento de uma colm´eia e ´e recomendado para problemas de caminho m´ınimo como roteamento e agendamentos.
∙ Enxame de part´ıculas: ´e uma generaliza¸c˜ao do processo de comportamento de um con- junto de animais reunidos. Tamb´em recomendado para problemas de otimiza¸c˜ao puramente num´ericos.
∙ Cuckoo search: ´e baseado no parasitismo da esp´ecie cuckoo 22.
∙ Algor´ıtimo do vagalume: baseado no comportamento dos vagalumes, no qual os indiv´ıduos atacam uns aos outros com flashes de luz. Ele ´e muito usado para otimiza¸c˜oes multitudinais.
Estes s˜ao os principais algor´ıtimos evolutivos e concorrem com o algor´ıtimo gen´etico para a solu¸c˜ao de nosso problema. Entretanto, embora seja num´erico e multi-objetivos, n˜ao se trata de um problema combinatorial, nem de caminho m´ınimo.
Por este motivo, escolheu-se os Algor´ıtimos Gen´eticos, que s˜ao o caso mais geral, em detri- mento dos algor´ıtimos de enxames.
No Cap´ıtulo 5 elegeu-se o enxame de part´ıculas como modelo para esta categoria a fim de compara¸c˜ao. Nele, foi feita uma compara¸c˜ao qualitativa e outra quantitativa entre o Algoritmo Gen´etico (GA) e o Enxame de Part´ıculas (PSO).
21 Entenda-se por ”‘melhor”’ aqui um valor de m´aximo local ou global. 22 Os cuckoos s˜ao p´assaros da fam´ılia Cuculidæ.
1.8. As escolhas efetuadas neste trabalho 35