• Nenhum resultado encontrado

O problema de otimização possui uma função matemática que define a qualidade da solução em função das variáveis de decisão, chamada de função objetivo (FO), e um conjunto de restrições. As restrições delimitam os valores possíveis que as variáveis de decisão (incógnitas a serem determinadas pela solução do modelo) podem assumir.

As relações entre as variáveis de decisão na FO e nas restrições do PAOE considerando ilhamento possuem característica não linear, onde os custos das ordens se alteram ao longo do tempo em decorrência dos cortes de carga e curvas de geração e

47

carga. Portanto, pretende-se neste trabalho discretizar estes valores, estabelecendo

restrições e variáveis binárias de ativação de custo e de hora de análise, obtendo-se assim uma formulação linear do problema.

Ainda, as variáveis de decisão podem ser contínuas ou discretas (inteiras ou binárias) e os parâmetros (valores fixos no problema) podem ser determinísticos ou

probabilísticos. Neste problema, algumas variáveis apresentam valores contínuos e

outros discretos, se caracterizando um problema de PIM. Assume-se neste trabalho os parâmetros com características determinísticas.

Ao formularmos um problema, devemos realizar uma análise da sua complexidade computacional. A análise da complexidade computacional dos algoritmos do problema responde a questão se o problema de agendamento poderá ou não ser resolvido de maneira ótima em tempo polinomial, ou seja, de maneira veloz. Isto será fundamental na etapa de definição do algoritmo para resolução do problema, influenciando na escolha de um método exato ou aproximado e do escopo de resolução do problema. Entende-se como complexidade de tempo de um algoritmo a função que mapeia cada comprimento de entrada de uma instância em um número máximo de etapas elementares (ou unidades de tempo) de um computador, que são necessárias para resolver uma instância desse tamanho pelo algoritmo (BLAZEWICZ et al., 2007a).

Um algoritmo de tempo polinomial é aquele cuja função de complexidade de tempo é O(p(k)), onde p é algum polinômio e k é o comprimento de entrada de uma instância.

Entre os problemas de busca, pode-se distinguir duas subclasses de problemas: Problemas de otimização (solução ótima para uma função objetivo) e de decisão (resposta "sim"ou "não"para a função objetivo). Do ponto de vista de complexidade computacional, ambas as classes podem ser analisadas da mesma maneira (BLAZEWICZ et al., 2007a; GAREY; JOHNSON, 1990).

As classes de complexidade são definidas da seguinte forma:

• Classe P (Polinomial): Problemas de decisão que podem ser resolvidos por uma Máquina de Turing determinística (MTD) em tempo limitado superiormente por um polinômio.

Verificável em tempo P? Sim. Resolvível em tempo P? Sim.

• Classe NP (Non-deterministic Polynomial time - tempo Polinomial Não determinístico): Problemas de decisão que podem ser resolvidos em uma

máquina de Turing não-determinística (MTND) em tempo polinomial. Sua

complexidade pode ser verificada em tempo polinomial.

Verificável em tempo P? Sim. Resolvível em tempo P? Sim ou não1 .

• Classe NP-Completo: Representa o conjunto de todos os problemas X em NP para os quais é possível reduzir qualquer outro problema Y em NP para X em

48

tempo polinomial. Isso significa que podemos resolver Y rapidamente se

sabemos como resolver X rapidamente. Se um algoritmo de tempo polinomial determinístico pode ser encontrado para resolver um problema NP-Completo, todo problema de NP é resolvível em tempo polinomial (um problema rege todos).

Verificável em tempo P? Sim. Resolvível em tempo P? Desconhecido.

• Classe NP-Difícil: Problemas que são pelo menos tão difíceis quanto os

problemas NP-completos. Não precisam estar na classe NP-Completo e não precisam ser problemas de tomada de decisão. Um problema X é NP-Difícil se há um problema Y NP-Completo tal que Y é reduzível para X em tempo

polinomial. Como qualquer problema NP-Completo pode ser reduzível para

outro problema NP-Completo em tempo polinomial, todos os problemas NP-Completo podem ser reduzíveis para qualquer problema NP-Difícil em tempo polinomial. Então, se há solução para um problema NP-Difícil em tempo polinomial, há solução para todos problemas NP em tempo polinomial.

Verificável em tempo P? Sim ou não2. Resolvível em tempo P? Desconhecido3. Segundo Blazewicz et al. (2007a) e Garey e Johnson (1990), problemas NP-completo incluem problemas NP-difícil. Com isto conclui-se que P é uma subclasse de NP e as classes de problema P e NP-completa são disjuntas. Das definições acima de P e NP, têm se que cada problema em P é um problema em NP (P ⊆ N P ).

A dificuldade de resolução dos problemas pertencentes às classes é a seguinte: P < N P < N P − Completo < N P − Dif icil.

Para uma definição completa sobre a teoria da complexidade recomenda-se a leitura do livro de Garey e Johnson (1990).

3.3.1 Complexidade do agendamento

Segundo Graham et al. (1979) e Blazewicz et al. (2007e), para problemas com uma única equipe de atendimento, a complexidade do algoritmo de resolução é a seguinte:

• Quando deseja-se minimizar a máxima latência das ordens, considerando uma única equipe de atendimento, o problema pode ser resolvido em tempo polinomial.

• Quando o objetivo é o de minimizar o custo total do agendamento, Graham et al.

2Um problema NP-Difícil que também é NP-Completo é verificável em tempo P

3Problemas NP-Completos (todos os quais formam um subconjunto de NP-Difícil) podem ser. O resto do NP-Difícil não

49

(1979) mostra que o problema pode ser resolvido em tempo linearitmico quasi- polinomial O(n log n);

• a consideração do atraso torna o problema em NP-difícil;

• a consideração de penalidade da unidade restringe a solução em tempo linearitmico quasi-polinomial O(n log n);

• A introdução de diferentes tempos de chegada (T0j) torna o problema fortemente

NP-difícil.

Ainda segundo Graham et al. (1979) e Blazewicz et al. (2007f), para problemas com equipes paralelas e idênticas, a complexidade do algoritmo é a seguinte:

• Quando o objetivo é o de minimizar o custo total do agendamento, até para casos simples com duas equipes são comprovadamente NP-Difícil; isto implica que os agendamentos preemptivos também são NP-difícil;

• Quando se deseja minimizar a latência, vimos na seção 3.2.4 que todos os problemas que são NP-difícil para o critério Tmax, também são para Lmax;

3.3.2 Considerações sobre a complexidade do problema

Como visto na seção acima, a introdução de diferentes tempos de chegada (T0j)

torna o problema fortemente NP-difícil. Portanto, uma contribuição deste trabalho é a modelagem agregada dos consumidores por ordem, de modo que estas possuam iguais tempos de chegada, porém, a interrupção (e com isso o custo) de cada consumidor

pertencente à uma ordem é considerada individualmente. Esta modelagem é

apresentada na seção 4. Com isto evita-se uma maior complexidade do problema

relacionada com este parâmetro.

Ainda assim, analisando a complexidade dos critérios deste trabalho,

apresentados acima, percebe-se que a complexidade computacional dos algoritmos do problema se caracterizam como NP-difícil, não existindo algoritmo que o resolva em tempo polinomial para instâncias muito grandes. A seção 3.4 apresenta a definição de alguns métodos de solução utilizados para a resolução de problemas de otimização.

Documentos relacionados