• Nenhum resultado encontrado

Técnicas Heurísticas Empregadas em Resolução de Problemas

Heurísticas

A palavra heurística é derivada da palavra grega heuriskein, que significa

descobrir. Segundo Nicholson (1971) a heurística é um procedimento para

resolver problemas por meio de um enfoque intuitivo, no qual a estrutura do

trabalho possa ser interpretada e explorada inteligentemente para se obter uma

solução razoável (Arenales et al., 2007).

Goldbarg e Luna (2000) definem a heurística como uma técnica que

busca alcançar uma boa solução utilizando um esforço computacional

considerado razoável.

De forma geral, ao contrário dos métodos exatos, que buscam encontrar

uma forma algoritma de obter uma solução ótima através da combinação ou

busca de todas as soluções possíveis, as heurísticas normalmente tendem a

apresentar certo grau de conhecimento acerca do comportamento do

problema, avaliando um número muito menor de soluções. Os métodos

heurísticos englobam estratégias, procedimentos e métodos aproximados, com

o objetivo de encontrar uma boa solução, mesmo que não seja a ótima, em um

tempo computacional razoável. Como as heurísticas são algoritmos específicos

para um caso, é recomendável que se tenha um conhecimento específico do

problema que esta sendo abordado (Cordenonsi, 2008).

Os métodos heurísticos são comumente utilizados na Pesquisa

Operacional em problemas de programação linear, programação inteira,

otimização combinatória e otimização estocástica e em termos pedagógicos

são classificadas em três categorias: construtivas, de melhoria (busca local) e

as meta-heuristicas.

Heurísticas Construtivas

As heurísticas construtivas constroem uma solução, factível ou não,

adicionando, em cada passo, um elemento da solução, tal como o valor de uma

variável ou um arco ou nó de um grafo (Arenales et al., 2007).

Segundo Cordenonsi (2008) os algoritmos heurísticos baseados em

construção partem de uma solução vazia, acrescentando elemento a elemento,

obedecendo a um certo critério, até formar a solução por completo, sendo que

após a inserção de um resultado não é possível retirá-lo.

As heurísticas construtivas podem utilizar dois métodos de solução: o

método aleatório e o método guloso. O método aleatório consiste na utilização

de uma heurística simples, já o método guloso baseia-se no incremento da

solução, a cada passo, buscando o máximo benefício.

Heurísticas de Busca

As heurísticas de busca operam exatamente como um procedimento de

melhoria local, exceto pelo fato de que ele talvez não precise que cada nova

solução experimental tenha de ser melhor que a solução experimental

precedente (Hillier e Lieberman, 2004).

As heurísticas de busca local, a partir de uma solução inicial s, obtida, por

meio de uma heurística construtiva, associa-se uma vizinhança N de s. Cada

solução s’ da vizinhança N (s) é atingida a partir de s por uma operação

chamada movimento, e a solução s’ é chamada de vizinha. Seleciona-se uma

solução vizinha que seja melhor que a solução corrente, e a busca prossegue

iterativamente até que a vizinhança não contenha nenhuma solução melhor

que a solução corrente, denominado ótimo local em relação a vizinhança, ou

até que algum outro critério de parada tenha sido satisfeito (Arenales et al.,

2007).

Em outras palavras, o método de melhoria inicia-se com uma solução

viável e tenta melhorá-la, procurando outras soluções em sua vizinhança.

Assim a fase de melhoria usualmente é precedida por uma fase construtiva. O

processo é repetido até que nenhuma melhoria possa ser encontrada. Os

elementos básicos de tais métodos são: a vizinhança e o critério de seleção

que define a ordem em que os elementos vizinhos são analisados. Métodos

nesta categoria são comumente utilizados pelas meta-heurísticas (Loiola et al.,

2004).

Meta-heurísticas

A meta-heuristica é um método heurístico de resolução geral que

orquestra a interação entre procedimentos de melhoria local e estratégias de

nível mais alto para criar um processo que seja capaz de escapar dos ótimos

locais e realizar uma busca consciente de uma região de soluções viáveis

(Hillier e Lieberman, 2004).

Conforme Cordenonsi (2008), as técnicas meta-heuristicas podem iniciar

a busca da solução ótima a partir de uma única solução ou um conjunto de

soluções iniciais. Esta solução ou conjunto de soluções inicial pode ser

construída através de alguma heurística ou de forma aleatória. Os métodos

meta-heurísticos irão modificar esta solução inicial através de operações

realizadas com suas variáveis, gerando novas soluções, até que um

determinado critério de parada seja atingido .

As meta-heuristicas podem ser vistas como estruturas algoritmicas que

são aplicadas a problemas de otimização e que necessitam ser adaptadas ao

tipo de problema específico, seja em relação a função objetivo ou a melhoria do

processo de busca. Alguns exemplos de meta-heurísticas são: GRASP,

Simulated Anneling, Busca Tabu, Colônia de Formigas, entre outras.

Para Melian et al. (2003) as meta-heurísticas podem ser classificadas de

acordo com o tipo de procedimento a qual se refere. Alguns dos tipos principais

são: de busca, relaxação, construtivas e evolutivas.

As meta-heurísticas de busca são procedimentos que percorrem o espaço

de busca da solução, levando em conta, a cada passo, a “vizinhança” da

solução (ex: Simulated Annealing, Busca Tabu). As meta-heuristicas de

relaxação se referem a simplificação do problema (relaxação) cuja solução

facilita a resolução do problema original (ex: Relaxação Lagrangeana). As

meta-heurísticas construtivas tratam da obtenção de uma solução através da

análise e seleção gradual de cada componente da solução (ex: GRASP). As

meta-heurísticas evolutivas estão focadas em procedimentos baseados em

conjuntos de soluções que evoluem no espaço de soluções (Algoritmos

Genéticos, Path Relinking).

Documentos relacionados