• Nenhum resultado encontrado

Convergência e Tempo de Resolução

5.2 O Método do Recozimento Simulado para um Problema com um Objetivo

5.2.3 Convergência e Tempo de Resolução

É possível demonstrar, em termos teóricos, o algoritmo do Recozimento Simulado converge em probabilidade para uma solução ótima global.

A diminuição da probabilidade de aceitar soluções que pioram o valor da função objetivo é controlada pela diminuição do parâmetro temperatura, como já se referiu e como é fácil deduzir pela observação da expressão utilizada pelo critério de Metropolis.

Matematicamente, o problema de Termodinâmica atrás enunciado é modelado através das cadeias de Markov. Uma cadeia de Markov é um conjunto de estados de um sistema, de que se conhece a probabilidade de transição entre cada dois estados. A uma dada temperatura ocorre um conjunto de soluções cujo número se designa por dimensão da cadeia de Markov.

MÉTODO DE RESOLUÇÃO DO MODELO DE APOIO À DECISÃO

Aarts e Van Laarhoven (1985) mostraram que se o número de iterações, em cada temperatura, for suficientemente elevado para garantir condições de equilíbrio (isto é, já não é possível melhorar a solução àquela temperatura), a solução ótima global ocorrerá com probabilidade igual a um à medida que a temperatura tende para zero.

Mitra et al. (1985) também fizeram estudos neste sentido e provaram que, para determinadas formas de diminuir a temperatura, o método converge para um ótimo global. Outros trabalhos também surgiram, como o de Hajek (1988), com outras formas para o arrefecimento da temperatura que também garantem a convergência.

Na prática, no entanto, a convergência do método é limitada pois os resultados traduzidos nos trabalhos anteriores requerem, para serem implementados, um número de iterações

extremamente elevado e tempos de execução impraticáveis. No entanto, eles fornecem linhas orientadoras para se obter uma solução o mais próxima possível da ótima num tempo de resolução razoável.

Várias medidas podem ser tomadas para reduzir o tempo de resolução do algoritmo do Recozimento Simulado. O Recozimento Simulado pode ser usado utilizando cadeias de Markov de tamanho finito para uma sequência de valores descendentes do parâmetro temperatura cujo valor mínimo será definido por um critério de paragem. Daqui ressalta um aspeto muito importante relativo ao algoritmo do Recozimento Simulado que é o designado Processo de Arrefecimento do qual depende o tempo de resolução e a qualidade das soluções obtidas.

O Processo de Arrefecimento envolve a escolha da temperatura inicial, a escolha da função segundo a qual é feita a diminuição da temperatura, a definição do número de iterações a cada temperatura (isto é, a dimensão da cadeia de Markov) e a escolha do critério de paragem.

MÉTODO DE RESOLUÇÃO DO MODELO DE APOIO À DECISÃO

Relativamente ao valor da temperatura inicial pretende-se que este seja tal que permita uma aceitação inicial de soluções que cubra todo o espaço de soluções possíveis. Analisando o critério de Metropolis verifica-se que tal só é possível com um valor de temperatura inicial elevado. Kirkpatrick et al. sugeriram que os valores anteriores fossem definidos de forma a garantir uma percentagem de aceitação inicial (número de soluções aceites no critério de Metropolis / número de soluções candidatas) de 80%. Nestas condições, com uma

temperatura inicial elevada, a aceitação de uma nova solução é muito provável e a solução final tenderá a tornar-se independente da final.

Para se fazer uma escolha correta da temperatura inicial seria conveniente estimar a diferença de custos entre as várias soluções, o que por vezes é complicado em problemas reais, onde o espaço de soluções não é de simples definição.

Relativamente à forma de arrefecer a temperatura, verifica-se que um rápido arrefecimento levará a menos tempo de cálculo, mas não dará tantas garantias em termos de otimalidade global. Um arrefecimento mais moroso trará mais garantias, mas será mais dispendioso em termos de tempo de cálculo. A situação mais favorável andará entre estas duas.

Kirkpatrick et al. (1983) e Kirkpatrick (1984) sugerem que a temperatura seja multiplicada por um valor elevado para permitir um arrefecimento suave, entre 0.8 e 0.99. Pode-se também fazer variar a taxa de arrefecimento de acordo com o andamento do algoritmo, procedimento sugerido por Huang et al. (1986).

No que diz respeito à dimensão da cadeia de Markov, muitas vezes ela é relacionada com a dimensão do conjunto de soluções possíveis, podendo variar de temperatura para temperatura. Citam-se, aqui também as contribuições de vários autores. Kirkpatrick et al. (1983) sugerem que o número de iterações em cada temperatura esteja relacionado com o número de variáveis

MÉTODO DE RESOLUÇÃO DO MODELO DE APOIO À DECISÃO

de decisão do problema. Huang et al. (1986) sugerem que aquele valor seja ajustado à medida que se dá o arrefecimento, de forma a que se passe mais tempo em temperaturas mais baixas evitando a queda em ótimos locais.

Dougherty and Marryott (1991), através da experiência que adquiriram nos problemas que resolveram, recomendaram que o número de iterações em cada temperatura fosse igual ao número de variáveis de decisão multiplicado por 100.

No entanto, uma boa opção, para calcular aquele número será utilizar o “feedback” do algoritmo. Isto é, pode-se adotar um número mínimo de iterações antes de mudar de temperatura, podendo aquele número aumentar se o algoritmo verificar que, àquela temperatura, o valor da melhor solução ou da média das soluções continua a aumentar.

Relativamente ao critério de paragem, este deve ser tal que o algoritmo só pare quando se atingiu uma solução que, por mais que se baixe a temperatura, já não melhora. Existem várias propostas na literatura neste sentido, como por exemplo as de Lundy and Mees (1986). O critério de paragem mais simples de todos consiste em especificar à partida o número total de iterações e parar quando este for satisfeito. Este critério é algumas vezes utilizado, mas seguramente não é o que produz melhores resultados, pois pode levar à paragem precoce do algoritmo. Por exemplo, um bom critério de paragem será o de avaliar o número de patamares de temperatura consecutivos em que não houve melhoramento da solução.

Um outro aspeto que se revela de crucial importância e do qual também dependem a qualidade das soluções e o tempo de execução diz respeito prende-se com a geração do domínio de soluções candidatas, isto é com a forma como se faz o rearranjo das soluções

MÉTODO DE RESOLUÇÃO DO MODELO DE APOIO À DECISÃO

No processo de geração de uma solução candidata é importante o conceito de solução vizinha. Por vizinhança de uma solução entende-se o conjunto de soluções que podem resultar da solução anterior por pequenas alterações realizadas nesta. Isto é, uma solução s'diz-se fazer parte da vizinhança da solução s se e só se resultou de uma modificação desta de tal forma que continue a fazer parte do conjunto de soluções possíveis. O conjunto de soluções vizinhas está contido no conjunto de soluções candidatas.

A vizinhança é assim dependente da forma adotada para gerar soluções candidatas. Para tal não existem regras definidas e rígidas que servem para todos os problemas. Existem, no entanto, regras provenientes da investigação e apontadas na literatura como linhas orientadoras quando se utiliza o algoritmo do Recozimento Simulado, às quais se fará referência seguidamente (Reeves, 1993).

Em cada iteração (entenda-se por iteração a avaliação de uma solução candidata no teste de Metropolis, podendo ser aceite ou não) estão, assim, envolvidos dois processos distintos: a geração da solução candidata e o cálculo do custo que lhe está associado. Ambos os processos deverão ser rápidos e eficientes.

Relativamente ao primeiro processo, a forma como se geram soluções candidatas deve ser tal que toda a solução deve poder ser gerada a partir da anterior (mesmo que tal requeira um grande número de iterações). Isto é, a partir de uma solução, deve ser possível atingir

qualquer outra. Por outro lado, uma vizinhança proveniente de alterações pequenas e simples leva geralmente a melhores resultados que vizinhanças resultantes de grandes e complexas alterações.

No que diz respeito ao segundo processo, por vezes é possível não recalcular o custo, associado à nova solução na íntegra, bastando analisar e recalcular a parcela do custo que muda nas novas soluções.

MÉTODO DE RESOLUÇÃO DO MODELO DE APOIO À DECISÃO

A primeira solução com a qual o algoritmo vai trabalhar designa-se por solução inicial. Assim, o algoritmo começa por ter de encontrar uma solução inicial que respeite as restrições do problema. Esta escolha da solução inicial é aleatória ainda que possa obedecer a

determinadas regras garantindo que a solução final é independente da solução inicial. Em suma, o rearranjo de uma solução corrente deve ser traduzido tanto quanto possível por pequenas perturbações e o tempo de execução computacional deve ser gasto em quantas mais iterações melhor, de forma a dar uma melhor garantia que a solução final estará perto do ótimo global.

Como já foi dito, tanto ao nível do Processo de Arrefecimento como ao nível da escolha das soluções candidatas, não é possível estabelecer regras fixas que dêem para todos os casos resultados de boa qualidade. No entanto, é possível definir algumas linhas de ação e até mesmo construir algoritmos gerais que consideram diferentes estratégias quer a um nível quer ao outro.

Neste sentido têm vindo a surgir diferentes classificações para variantes ao algoritmo do Recozimento Simulado. A título de exemplo apresenta-se uma classificação proposta por Cohen (1994) e Ingberg (1996). Estes autores classificam o Recozimento Simulado em Boltzmann Annealing (BA), Cauchy Fast Annealing (CFA), e Adaptive Simulated Annealing (ASA), o último também designado por Very Fast Simulated Reannealing (VFSR). Estas variantes seguem a mesma ideia de base mas surgem sempre numa tentativa de acelerar a convergência do método e reduzir o tempo de resolução, apresentando diferentes opções quer ao nível da própria função de aceitação, quer ao nível do esquema de arrefecimento e tudo o que ele envolve, quer ainda ao nível da geração do espaço de soluções candidatas (Fragoso,

MÉTODO DE RESOLUÇÃO DO MODELO DE APOIO À DECISÃO