G. YENİ DÖNEM EŞİTLİK KURAMLARI
1. EŞİTLİK İLKESİNİN İSLAMİ TEMELLERİ
1.1. İslam Felsefesinde Varlık Mertebeleri
1.1.3. İbn Sina (980-1037)
Devido à dificuldade de determinação de uma solução ótima para o NDJSP com o objetivo de minimização do atraso total das tarefas, é certo que se desenvolvam métodos aproximados ou heurísticos que produzam soluções de boa qualidade a um esforço computacional aceitável.
Segundo Oliveira (2002), os métodos heurísticos podem ser divididos em duas classes, a saber:
• heurísticas de passo único;
• heurísticas de busca local.
3.3.1.1 Heurística de passo único
Uma heurística de passo único é aquela onde se constrói uma solução completa, fixando uma operação por vez na programação. Estes passos são executados baseados em regras de despacho. Esta classe de heurísticas é geralmente a mais usada para resolver problemas práticos em ambiente job shop. Isto se deve a sua facilidade de implementação e o pequeno esforço computacional necessário.
A seguir, será mostrada a notação utilizada para as formulações matemáticas e citadas as regras de despacho mais comuns.
t – instante em que se considera a alocação de uma operação em uma máquina; k – k-ésima operação da tarefa j;
Pj – tempo requerido pelas operações restantes da tarefa j, a partir do instante t;
sj – folga da tarefa j;
M’ – número total de operações de cada tarefa;
pij – tempo de processamento da operação i da tarefa j; Ej – instante de chegada da tarefa j ao sistema;
Dj – data de entrega da tarefa j;
dkj – data de entrega da operação k da tarefa j.
De acordo com Oliveira (2002), as regras de despacho mais eficazes, e provavelmente as mais usadas na prática para o JSP com o objetivo de minimizar o atraso total das tarefas (jobs) são:
• ERD (earliest release date): seleciona a operação associada com a tarefa que chegou mais cedo ao sistema;
• EDD (earliest due date): seleciona a operação associada com a tarefa que possui a data de entrega mais cedo;
• MST (minimum slack time): seleciona a operação associada com a tarefa que possui a folga mínima. A folga mínima de uma tarefa é definida da seguinte maneira:
sj = Dj – (t+Pj)
a expressão mostra que a folga de uma tarefa sj é a diferença entre sua data de entrega Dj e o tempo de término mais cedo da tarefa (t+Pj);
• ODD (operation due date): seleciona a operação que possui a data de entrega da operação mais cedo. A data de entrega de uma operação é definida da seguinte maneira:
seja o subintervalo = (Dj – Ej) / M’; então faça dkj = k . subintervalo k = 1,....,M
a expressão mostra que a data de entrega de uma operação é determinada dividindo o intervalo entre a data de entrega da tarefa e seu instante de chegada ao sistema, em M’ subintervalos. O final de cada subintervalo representa uma data de entrega para a correspondente operação;
• MDD (modified due date): seleciona a operação associada com a tarefa que possui a data de entrega modificada mais cedo. Define-se a data de entrega modificada da tarefa j da seguinte maneira:
Dj’ = max {Dj , t + Pj}
A expressão mostra que se a tarefa j atrasar, a nova data de entrega será seu instante mais cedo possível de término. Caso contrário, a data de entrega permanece a original;
• MOD (modified operation due date): é a versão da MDD considerando-se como base às operações e não a tarefa. A data de entrega da k-ésima operação da tarefa j é definida da seguinte maneira:
dkj’ = max {dkj , t + pkj}
a data de entrega da operação k, é calculada através da seguinte fórmula recursiva:
dkj = dk-1,j + (Dj – Ej) . pkj / Σpij
• CR + SPT: combinação de critical ratio (CR) com shortest processing time (SPT). Nesta regra a data de entrega da k-ésima operação da tarefa j é definida como:
dkj = max {t + β(t) . pkj , t + pkj} com β(t) = aj(t)/Pj e aj(t) = Dj – t
O termo β(t) representa a critical ratio que é a razão entre o tempo para atingir a data de entrega e o tempo de processamento restante da tarefa. Quando β(t) for menor que 1, dkj assume o valor do segundo termo da expressão, dado que a tarefa vai atrasar;
• S/RPT + SPT: combinação de slack per remaining processing time (S/RPT) com SPT. Esta regra difere da anterior, pois no lugar de CR usa-se S/RPT e, neste caso, a data de entrega da k-ésima operação é definida como:
dkj = max {t + γ(t).pjk , t + pkj} com γ(t) = (Dj – (t + Pj))/Pj = β(t) – 1
O termo γ(t) representa a slack per remaining processing time que é a razão entre a data de entrega menos o tempo de término da tarefa e o tempo de processamento restante da tarefa.
3.3.1.2 Heurísticas de busca local
Como dito anteriormente, as regras de despacho embora eficazes do ponto de vista computacional, não garantem a obtenção de soluções de boa qualidade45, quando o objetivo é encontrar a solução ótima, enquanto que as técnicas de programação inteira determinam uma solução ótima, mas não são viáveis em problemas de médio e grande porte, devido ao esforço computacional requerido. Diante disso, observa-se na literatura científica a proliferação de heurísticas de busca local que procuram superar as deficiências das regras de despacho e das técnicas de programação inteira. Isto é, as heurísticas de busca local freqüentemente determinam uma solução de boa qualidade a um esforço computacional aceitável.
Heurísticas de busca local podem ser encontradas na literatura, com atenção especial para a heurística desenvolvida por Scrich; Armentano; Laguna (2004), a qual é baseada em busca tabu e usa regras de despacho para obter uma solução inicial, buscando novas soluções em uma vizinhança baseada nos caminhos críticos das tarefas. Esta heurística é importante como referência46 para esse trabalho pelas seguintes razões: a) experimentos computacionais mostraram que esta heurística possui uma alta eficácia e b) os fundamentos dessa heurística servirão de base para o método de escalonamento e despacho dessa tese.
45
Soluções próximas da solução ótima.
46 O termo referência é aqui usado para denotar inspiração para a solução do problema e não que esta heurística será a heurística usada.
Portanto, a heurística desenvolvida por Scrich; Armentano; Laguna (2004) consiste em:
Fase I: Geração de uma solução inicial (viável);
Fase II: Busca de melhores e novas soluções na vizinhança.