You are on page 1of 26

A BRANCH AND BOUND ALGORITHM FOR AN

IDENTICAL PARALLEL MACHINE SCHEDULING


PROBLEM WITH A JOB SPLITTING PROPERTY
CARACTERIZAÇÃO DO PROBLEMA
 No problema há n tarefas que precisam ser
agendadas em m máquinas paralelas
idênticas com a propriedade de divisão de
tarefas (job splitting).
 Com essa propriedade, cada tarefa pode ser
divididas em sub-tarefas.
 Deseja-se minimizar o atraso total das
tarefas. Por atraso total de uma tarefa i,
entende-se como Ti = max{0, Ci – di}.
CARACTERIZAÇÃO DO PROBLEMA
 No problema considerado, o autor assume:
 1) todas as tarefas estão disponíveis no tempo zero;
 2) cada máquina pode processar somente uma sub-
tarefa por vez;
 3) cada sub-tarefa pode ser processada somente
em uma máquina;
 4) uma operação de setup é requerida antes que
uma sub-tarefa seja processada em uma máquina
se o tipo da sub-tarefa seja diferente do tipo da sub-
tarefa que acabou de ser processada;
 5) o tempo de setup é independente de sequência
das sub-tarefas.
TERMINOLOGIA E NOTAÇÃO
 Tarefa – unidade de ordem de produção para
um tipo de produto com ordem de
quantidade e data de entrega;
 Unidade-tarefa – unidade de um lote de
processo mínimo para uma tarefa; ela é
idêntica no que diz respeito aos seus tempos
de processamento e suas datas de entrega;
 Sub-tarefa – um conjunto ou um lote de
unidades-tarefa de uma tarefa.
TERMINOLOGIA E NOTAÇÃO
 n – número de tarefas
 m – número de máquinas paralelas
 i – índice para as tarefas
 j – índice para as sub-tarefas
 k – índice para máquinas
 ui – número de unidades-tarefa da tarefa i
 pi – tempo de processamento de cada
unidade-tarefa da tarefa i
TERMINOLOGIA E NOTAÇÃO
 si – (independente de sequência) tempo de setup
para a tarefa i
 di – data de entrega da tarefa i
 Cj(σ) - completion time da sub-tarefa j na agenda
(parcial) σ
 CMk(σ) - completion time na máquina k na agenda
(parcial) σ, isto é, o tempo quando todas as sub-
tarefas atribuídas a máquina k são completadas
 S – conjunto das tarefas agendadas completamente
(na agenda σ)
 S’ – complemento de S, isto é, conjunto das tarefas
parcialmente agendadas ou não agendadas
REGRAS DE DOMINÂNCIA

 a) Considere uma agenda σ na qual a sub-


tarefa j1 e a sub-tarefa j2 da mesma tarefa
são atribuídas à mesma máquina e j1 é
completada mais cedo do que j2. Então σ é
dominado por uma outra agenda σ’, na qual
a sequência de sub-tarefas é idêntica à σ,
exceto que j1 é movida à posição
imeditamente antes de j2 e então estas duas
sub-tarefas são juntadas em uma sub-tarefa.
REGRAS DE DOMINÂNCIA

 Ilustração da proposição a).


REGRAS DE DOMINÂNCIA
 b) Considere uma agenda σ na qual duas sub-
tarefas j1 e j2 da mesma tarefa são atribuídas a
máquinas diferentes e o completion time de j1 é
menor do que o de j2. Se existe uma sub-tarefa
de outra tarefa, digamos, j0, que é colocada
depois de j1 na máquina a qual j1 é atribuída e
cujo completion time não é maior do que o de j2
em σ, então σ é dominada por uma sequência
σ’, na qual as sequências das sub-tarefas nas
máquinas são idênticas àquelas em σ, exceto
que j1 é movido para a posição imediatamente
depois de j0.
REGRAS DE DOMINÂNCIA

 Ilustração da proposição b).


REGRAS DE DOMINÂNCIA

 c) Considere uma agenda σ na qual uma das


sub-tarefas, digamos j1, de um tarefa
parcialmente agendada i, já esteja agendada
na máquina k1 e nenhuma das sub-tarefas
daquela tarefa é atribuída a máquina k2 (k1 ≠
k2). Se Cj2(σj2^k1) ≤ Cj2(σj2^k2) e CMk2(σ) ≤
CMk1(σ), então σj2^k2 é dominado por σj2^k1.
REGRAS DE DOMINÂNCIA

 Ilustração da proposição c).


ESQUEMA DE REPRESENTAÇÃO DE NÓS
 Os nós representam unidades-tarefa.
 Os nós podem ser em forma de quadrado ou de
círculo.
 Um nó em forma de quadrado representa que uma
nova máquina é alocada para aquela sub-tarefa
(sendo esta a primeira da máquina).
 Um nó em forma de círculo representa uma sub-
tarefa a ser atribuída à maquina corrente.
 Sub-tarefas mais perto da raíz são agendadas mais
cedo se elas estão na mesma máquina.
 Algumas regras são seguidas pelos autores para
evitar agendamentos redundantes.
ESQUEMA DE REPRESENTAÇÃO DE NÓS
 1) No nível 1 do árvore do B&B, não mais do
que um nó de quadrado pode ser gerado para
cada tarefa;
 2) Do nível 2 para frente, quadrados e círculos
podem ser gerados;
 3) O índice da tarefa de uma unidade-tarefa
associada com um certo nó em forma de
quadrado não deve ser menor do que uma
unidade-tarefa associada com um nó em forma
de quadrado que está no caminho a partir do nó
corrente até o nó raíz.
ESQUEMA DE REPRESENTAÇÃO DE NÓS
 4) O número de nós em forma de quadrado em
cada caminho a partir do nó raíz para um nó
folha não deve exceder o número de máquinas.
 5) A unidade-tarefa associada com um nó em
forma de círculo deve ser, ou uma unidade-
tarefa que é dividida da tarefa associada com
seu nó pai, ou uma unidade-tarefa que é
dividida de outra tarefa, cujas unidades-tarefa
ainda não foram agendadas na máquina
corrente.
LOWER BOUNDS (LB)
LOWER BOUNDS (LB)
 Lema 1 (Chu [1], Kondakci et al. [2], Kim [3]):
para números reais ci e di correspondentes à
tarefa i, se c1 ≤ c2 ≤ ... ≤ cn, então a inequação
segue:

 d(i) = data de entrega com a i-ésimo menor data


de entrega entre as tarefas agendadas
parcialmente e as tarefas não agendadas
associadas com σ.
LOWER BOUNDS (LB)

 t<L>
denota o índice da tarefa com o L-ésimo
menor valor de ti.
LOWER BOUNDS (LB)

 Seja R((L)) = índice da tarefa com o L-ésimo


menor valor de Ri.
 Ri = tempo de processamento restante da
tarefa i.
LOWER BOUNDS (LB)

 No algoritmo B&B, um lower bound para


cada nó é obtido adicionando o maior dos
três LB’s ao atraso total dsa tarefas
agendadas completamente na agenda
parcial associada ao nó.
ALGORITMO B&B
 Cada unidade-tarefa é considerada uma tarefa
independente no procedimento do B&B;
 Para ramificar, busca em profundidade é usada,
isto é, um nó com mais unidades-tarefa incluído
na agenda parcial associada é selecionada para
ramificar. Em caso de empate, o nó com maior
LB é selecionado;
 Quando os nós filhos são gerados, é verificado
se as agendas associadas aos nós são
dominadas pelas regras de dominância;
ALGORITMO B&B
 Para cada filho que não é podado, o LB é
computado. Nós com LB maior ou igual ao
upper bound (UP) são deletados;
 Para gerar o upper bound, uma heurística
(proposta por [4]) de duas fases é utilizada. Na
primeira fase, é usado o algoritmo de Koulamas
[5] para obter uma solução. Esta é uma
heurísica para problemas de atraso em
máquinas paralelas idênticas assumindo que
divisão de tarefas não é permitido;
ALGORITMO B&B

 Na segunda fase, agendas são melhoradas


iterativamente dividindo as tarefas se
necessário;
 Um UP é gerado inicialmente pelo nó raíz da
árvore B&B usando o algoritmo descrito
acima. O UP é atualizado toda vez que uma
agenda completa é melhor do que a solução
corrente.
MODIFICAÇÕES PARA O PROJETO
 Ao invés de utilizar a heurística de duas fases
proposta por Kim [4], pode-se utilizar um
Algoritmo Genético para o cálculo do upper
bound.
 Pode-se comparar algumas metaheurísticas
(GRASP, Algoritmo Genético, Busca Tabu, ILS,
etc.) e ver qual delas gera um upper bound
melhor.
 Usar outras funções objetivos (fluxo total,
makespan, etc.) junto com as ideias citadas
acima.
REFERÊNCIAS BIBLIOGRÁFICA
 [1] Chu C. A branch and bound algorithm to
minimize total tardiness with different release
dates. Naval Research Logistics 1992;39:265–
83.
 [2] Kondakci S, Azizoglu M, Kirca O. An efficient
algorithm for the single machine tardiness
problem. International Journal of Production
 Economics 1994;36:213–9.
 [3] KimYD. Minimizing total tardiness in
permutation flowshops. European Journal of
Operations Research 1995;85:541–55
REFERÊNCIAS BIBLIOGRÁFICA

 [4] Kim YD, Shim SO, Kim SB, Choi YC, Yoon
HM. Parallel machine scheduling considering a
job splitting property. International Journal of
Production Research 2004;42:4531–46.
 [5] Koulamas C. Decomposition and hybrid
simulated annealing heuristics for the parallel-
machine total tardiness problem. Naval
Research Logistics 1997;44:109–25.

You might also like