• Nenhum resultado encontrado

Para resolver problemas de otimização combinatória, como o agendamento, costuma-se utilizar algoritmos de otimização que sempre encontram uma solução ótima

50

(exatos). Outra abordagem, que pode ser aplicada para problemas mais complexos ou maiores, fornece soluções quase ótimas e é dividida em métodos heurísticos e metaheurísticos. Uma última abordagem, mais recente, é a matheurística, que combina algoritmos exatos com heurísticos e metaheurísticos. Estes métodos são apresentados nesta seção.

3.4.1 Métodos exatos

Um algoritmo exato garante a obtenção de uma solução ótima e prova a otimalidade da solução obtida ou prova que uma solução viável não existe. Contudo, para um problema de otimização NP-difícil, não existe um algoritmo exato capaz de resolver o problema em tempo polinomial. A família de métodos exatos é consideravelmente grande, porém, os mais comumente utilizados para agendamento são o branch-and-bound (BB), programação inteira mista (PIM) e métodos de decomposição.

O BB cria uma árvore de enumeração das soluções onde, a cada iteração, ele expande a árvore particionando o espaço de soluções, criando problemas mais restritos. Existem outros algoritmos para solucionar problemas de otimização combinatória, como os de planos de corte (restrições), geração de coluna (adição de variáveis), entre outros. Existem as combinações de algoritmos, como o branch-and-cut (BC), que é a combinação do BB com o de planos de corte; o branch-and-price (BP), que é quando uma relaxação de programação linear (PL) (relexação das condições de integralidade das variáveis de decisão) em cada nó de uma árvore BB é resolvida por geração de coluna. Planos de corte podem ser adicionados de modo a fortalecer a relaxação, produzindo o que é conhecido como branch-price-and-cut (BPC). Esta é uma abordagem clássica de decomposição e reformulação de programas inteiro misto (veja Desrosiers e Ubbecke (2011) para detalhes).

3.4.2 Métodos heurísticos

Como visto, o uso dos métodos exatos podem exigir tempo computacional inviável

para resolver problemas complexos. Este fenômeno levou ao desenvolvimento de

métodos aproximados, que não garantem a solução ótima para uma instância mas sim uma sub-ótima, em troca de um tempo computacional muito menor em relação aos exatos (BLUM; ROLI, 2003). Estes métodos são denominados heurísticos, e normalmente são classificados em construtivos e busca local .

Os algoritmos construtivos geram soluções a partir do zero, adicionando componentes à solução parcial inicialmente vazia até que uma solução é alcançada. Estas soluções são geralmente mais rápidas, mas as soluções obtidas geralmente

51

possuem qualidade inferior em comparação aos algoritmos de busca local.(BLUM; ROLI, 2003; ZOBOLAS; TARANTILIS; IOANNOU, 2008; CASERTA; VOSS, 2010)

Os algoritmos de busca local partem de uma solução inicial (normalmente gerada por uma heurística construtiva ou aleatoriamente) e, de forma iterativa, tentam substituir a solução atual por uma solução melhor de uma vizinhança da solução atual. Um ponto negativo da busca local é que ela fica facilmente presa em um ótimo local, pois são de

natureza míope. (BLUM; ROLI, 2003; ZOBOLAS; TARANTILIS; IOANNOU, 2008;

CASERTA; VOSS, 2010)

3.4.3 Métodos metaheurísticos

Metaheurísticas são estratégias de alto nível que guiam uma heurística específica para um problema, aumentando a sua eficiência. Isto é alcançado explorando o espaço de busca sendo guiado por movimentos lógicos e conhecendo o efeito dos movimentos, facilitando escapar de soluções com ótimo local (ZOBOLAS; TARANTILIS; IOANNOU, 2008; GENDREAU; POTVIN, 2010; CASERTA; VOSS, 2010).

A metaheurística não requer conhecimento especial sobre o problema de otimização a ser resolvido. Ao contrário dos métodos heurísticos, que são projetados para solucionar problemas específicos, uma metaheurística pode ser vista como uma estrutura algorítmica geral que, apenas realizando algumas poucas modificações para o problema específico, pode ser empregada na resolução de diferentes problemas de otimização. Segundo Blum e Roli (2003), as metaheurísticas podem ser classificadas como busca de ponto único - como o Simulated Annealing (SA), Busca Tabu (BT) e Busca em Vizinhança Variável (BVV) - e os algoritmos populacionais - como Colônia de Formigas (CF) e o Algoritmo Genético (AG).

3.4.4 Métodos heurísticos baseados em modelo (Matheuristics)

Avanços nos campos de otimização matemática e metaheurísticas incentivaram

esforços na busca por uma relação híbrida entre os métodos. A combinação de

heurísticas ou metaheurísticas com a solução exata de um ou vários modelos de

programação matemática (PM) caracteriza os métodos Matheuristics, também

conhecidos como heurísticas baseadas em modelo. Segundo Caserta e Voß (2010), a matheurística apresenta uma estrutura "mestre-escravo"de um processo guia e um processo de aplicação. As matheurísticas podem ser de dois tipos:

i. O método pode atuar com a metaheurística agindo em um nível superior e controla as chamadas do método exato.

52

ii. O método exato age como mestre e chama e controla o uso da metaheurística.

No tipo (i), a definição da vizinhança (tamanho e fronteiras) segue a lógica da metaheurística (mestre), a qual repetidamente invoca o método exato, que realiza a exploração da vizinhança.

No tipo (ii), a metaheurística é incorporada no solver. Solvers modernos com BC ou BP exploram o potencial das metaheurísticas para obter soluções de boa qualidade. Os limites obtidos pelas metaheurísticas, principalmente no início da exploração da árvore, são então empregados para podar ramos da árvore e, consequentemente, contribuir para acelerar o processo de busca e reduzir o esforço computacional.

3.4.5 Considerações sobre os métodos

Enquanto que as heurísticas e metaheurísticas não conseguem certificar a otimalidade da solução que encontram, os métodos exatos (que teoricamente podem garantir a solução ótima, se tiverem tempo disponível suficiente) exigem tempos computacionais elevados para a solução de grandes instâncias de problemas NP-difícil.

Dada a definição dos métodos apresentados na seção 3.4 e a classe de complexidade de tempo do algoritmo para o PAOE, classificado na seção 3.3 como NP-Difícil, a proposta deste trabalho é apresentar um método exato de PLIM, com enfoque na modelagem linear do problema e representação dos principais critérios envolvendo o agendamento de ordens emergenciais considerando ilhamento. O modelo matemático aqui proposto trabalhará em conjunto com uma heurística de contingência e ilhamento, cortes de carga e cálculo dos custos variáveis dos consumidores ao longo do tempo. A heurística matemática aqui proposta poderá ser aplicada por outros trabalhos em estratégias híbridas com metaheurísticas de exploração de vizinhança para a resolução de instâncias maiores, como por exemplo o método heurístico baseado em modelo do tipo (i) apresentado na seção 3.4.4.

Para maiores detalhes acerca dos métodos veja Blazewicz et al. (2007a), Blazewicz et al. (2007d), Gendreau e Potvin (2010), Blum e Roli (2003), Zobolas, Tarantilis e Ioannou (2008) e Caserta e Voß (2010).

4 FORMULAÇÃO DO PAOE COM ILHAMENTO IMPREVISTO

Dado um conjunto de ordens de serviço emergenciais a serem atendidas com restrições de tempo (tempos de deslocamento, de serviço e de espera), determinar a sequência de atendimento de menor custo destas ordens é o bem conhecido PAOE, abordado na seção 3.2. O PAOE envolve restrições de tempo (TUNG; PINNOI, 2000), conforme apresentado em 3.1, que se aplica aos consumidores pertencentes às ordens emergenciais, que podem envolver o corte de carga e, com isso, várias janelas de tempo com os respectivos custos em cada consumidor. A ordem emergencial como um todo (considerando os consumidores pertencentes à ela) possui uma janela de tempo flexível, com o custo variável de acordo com o somatório dos custos individuais de cada consumidor. Neste sentido, esta seção apresenta a formulação matemática do modelo determinístico.

Documentos relacionados