Definido os critérios de análise, deve-se efetuar o agendamento das ordens,
gerando assim uma rota de atendimento dos reparos. É importante definir aqui a
diferença entre roteamento e agendamento, de modo a ficar claro o enfoque deste trabalho no agendamento das ordens.
Dado: Um conjunto de ordens a serem atendidas e um conjunto de equipes.
O problema de roteamento é encontrar um planejamento para o seguinte:
Tarefa: Determinar um conjunto de rotas para atender o máximo possível das
ordens dadas às equipes disponíveis com um custo mínimo ao minimizar a distância ou o tempo de viagem necessário. Definir também, qual veículo atende qual ordem em qual sequência. (IRNICH; TOTH; VIGO, 2014)
Já o problema de agendamento é o seguinte:
Tarefa: Alocar recursos ao longo do tempo para executar um conjunto de tarefas
que são partes de alguns processos. É o processo de atribuição de um horário de chegada e serviço para cada atividade, definindo assim também uma sequência de atendimentos (a qual afeta diretamente as atividades), mas com o enfoque nas atividades (tempos de chegada e serviço, custo das ordens) e não na rota (tempos e distância de deslocamento). (BLAZEWICZ et al., 2007c)
Seguindo as formulações de Blazewicz et al. (2007b), Lawler et al. (1993), Lenstra e Rinnooy-Kan (1981) e Graham et al. (1979), um PA genérico pode ser formulado da seguinte maneira:
Dado os conjuntos: Oj(j = 0, 1, ..., |O|) =O0, O1, ..., O|O| de |O| ordens (tarefas),
sendo O0 e O|O| ordens fictícias representando respectivamente os pontos de partida e de
chegada; Qq(q = 1, ..., |Q|) = Q1, Q2, ..., Q|Q| de |Q| equipes (veiculos/processadores).
De forma generalizada, agendar significa designar as equipes de Q para as ordens de O de modo a atender todas as ordens, respeitando as restrições impostas e minimizando o custo de atendimento. Considerando a minimização dos tempos de atendimento, a Fig. 3.4 apresenta um exemplo de agendamento ótimo, enquanto que a Fig. 3.5 apresenta um exemplo de agendamento aproximado. Existem duas restrições clássicas no PA. Cada ordem deve ser executada por no máximo uma equipe por vez e cada equipe é capaz de processar no máximo uma ordem por vez.
3.2.1 Classificação das tarefas
As tarefas Oj ∈ O podem ser caracterizadas da seguinte forma:
1. Tempo de serviço (T Sj), cada ordem emergencial possui um tempo de serviço
43
Figura 3.4 – Exemplo de agendamento ótimo
Fonte: Próprio autor.
Figura 3.5 – Exemplo de agendamento aproximado
Fonte: Próprio autor.
2. Tempo de chegada (T0j), que corresponde ao tempo de ocorrência da ordem Oj,
estando pronta para ser atendida.
3. Data de vencimento (dj), que especifica o tempo limite pelo qual Oj deveria ser
atendida; geralmente associada à penalidades. Configura uma janela de tempo flexível.
4. Data limite (d∗j), uma janela de tempo rígida em que Oj deveria ser executada.
Ainda, considerando a classificação de Graham et al. (1979), em relação às características das tarefas, o PAOE aqui apresentado se caracteriza pelo seguinte:
• Não é permitido interromper uma tarefa no meio e retomá-la mais tarde (não preemptivos);
• não são assumidas restrições de recursos;
• não é especificado relações de precedência entre as tarefas;
• as tarefas relacionadas às ordens emergenciais não possuem limites mínimo e máximo de processamento.
44
3.2.2 Classificação das equipes
As equipes podem ser paralelas, i.e. desempenhar as mesmas funções, ou
dedicadas i.e. especializadas para a execução de certas tarefas (moto para comerciais, carro para manutenção e pick-up e caminhão para reparo). No atendimento de ordens emergenciais geralmente se utiliza equipe com pick-up e caminhão preparadas para realizar reparos, sendo assim, neste estudo serão modelados equipes paralelas.
Há ainda quatro tipos de equipes paralelas, dependentes da velocidade de
processamento das tarefas. Seja T Sjq o tempo de serviço da ordem j pela equipe q. Se
há somente uma equipe Q, então T Sj1 = T Sj. Se as equipes do conjunto Q possuem a
mesma velocidade, são denominadas idênticas, e portanto T Sjq = T Sj(q = 1, ..., |Q|). Se
possuem diferentes velocidades, mas não dependem das tarefas em O, então são
denominadas uniformes T Sjq = vjqT Sj, para um dado fator de velocidade vjq de
Qq(q = 1, ..., |Q|). Finalmente, se a velocidade de processamento das ordens das equipes
depende do tipo de ordem, então são denominadas não-relacionadas. No modelo
apresentado neste trabalho, serão consideradas equipes idênticas, ou seja, todas as equipes executarão as ordens na mesma velocidade, sendo o tempo de execução de uma ordem dependente somente do tamanho de O, sendo todas do mesmo tipo, reparo.
3.2.3 Condições do problema
O problema consiste em encontrar uma designação de ordens emergenciais para equipes, formando assim uma rota (sequência de ordens), de tal forma que:
• Cada equipe é designada para no máximo uma ordem emergencial e cada ordem é executada por no máximo uma equipe;
• cada equipe utilizada nas soluções parte do depósito, cobre uma sequência de ordens de emergência e retorna ao depósito no final da rota;
• cada ordem de serviço tem uma janela de tempo flexível (DESROSIERS et al., 1995). Quando um consumidor não é atendido em sua janela de tempo, o custo total da ordem é acrescido pelo custo do consumidor;
• a ordem Oj é processada no intervalo de tempo [T0j, ∞).
• quando uma ordem não é atendida durante o dia, ela será reprogramada no dia seguinte com uma elevada penalidade;
• todas as ordem são executadas;
45
3.2.4 Critérios de otimização
No que se refere à escolha dos critérios de otimização, segundo Graham et al. (1979) e e Blazewicz et al. (2007b), para um dado agendamento podemos computar para cada ordem Oj:
• tempo de atendimento Tj;
• latência Lj = Tj− dj;
• atraso T ATj = max {0, Tj− dj};
• adiantamento T ADj = max {0, dj− Tj};
• penalidade da unidade Uj = 0 se Tj ≤ dj, caso contrário Uj = 1.
Os critérios de otimização mais escolhidos envolvem a minimização do tempo total
de atendimento de uma tarefa Tmax (makespan) e Lmax. Deve-se notar que todo o
agendamento que minimiza Lmax também minimiza Tmax e Umax, porém, o inverso não é
válido.
Um problema de agendamento genérico de equipes paralelas idênticas pode ser formulado como uma programação linear inteira (PLI) introduzindo uma variável binária xjq,
a qual assumirá o valor 1 somente se a ordem j é atribuída à equipe q, (j = 1, ..., |O|; q = 1, ..., |Q|) (XHAFA; ABRAHAM, 2008): min Tmax (3.5) s.a. |O| X j=1 T Sjxjq≤ Tmax, ∀q ∈ Q (3.6) |Q| X q=1 xjq= 1, ∀j ∈ O (3.7) xjq∈ {0, 1}, ∀q ∈ Q, ∀j ∈ O (3.8)
3.2.5 Considerações sobre o PAOE
A seção 3.2 apresentou uma definição geral do PAOE. De modo a exemplificar o que foi exposto até o momento, a Fig. 3.6 apresenta um agendamento de uma equipe, considerando o atendimento ilhado por GDs e diferentes consumidores (residencial, industrial, e outros), visando a minimização dos custos de atendimento.
46
Figura 3.6 – Exemplo de agendamento considerando ilhamento
Fonte: Próprio autor.
Percebe-se no exemplo da Fig. 3.6, que o atendimento priorizou cargas mais
críticas (hospital, seguido das indústrias) e deu preferência também para as maiores cargas, verificando o atendimento pelas GDs dependente da hora do dia. No caso da terceira ordem atendida, por exemplo, possivelmente houve cortes de algumas cargas residenciais, reservando as GDs para o atendimento das industriais.
O problema envolve diversos fatores relacionados às tarefas e equipes. Dessa forma, é importante modelá-lo corretamente, identificando os critérios essenciais do problema de modo a evitar uma elevada complexidade, o que pode acarretar em tempos
de resolução computacionais inviáveis. Sendo assim, a seção 3.3 apresenta uma
definição e classificação da complexidade do problema.