Para o PCEM devemos fazer algumas adaptações na heurística, pois o modelo matemático (1.28)–(1.33) inclui novos índices, variáveis e restrições. Primeiramente, o fluxograma apresentado na Figura 12 do algoritmo geral das heurísticas tipo residuais deve ser modificado. Além disso, na heurística de encaixes há uma modificação para calcular a demanda residual e outra para garantir a factibilidade do problema. Explicamos detalhadamente essas três modificações e por fim, apresentamos o fluxograma do passo de arredondamento da HE para o PCEM.
Períodos
No fluxograma da Figura 15destacamos os passos onde o algoritmo geral das heurísticas tipo residuais para o PCEM se difere do PCE clássico. Veja que a diferença
In´ıcio t = 1 t > T Resolva o problema relaxado pelo SGC e obtenha (x, e, w)T Passo de arredondamento dr= 0 d = dr t = t + 1 Fim sim n˜ao n˜ao sim
Figura 15 – Fluxograma geral das heurísticas tipo residual para o PCEM. Fonte: Autoria própria.
é que para o multiperíodo todos os passos da heurística deve ser repetidos para os T períodos.
Demanda residual
No PCE clássico, para obter a demanda residual dr, partimos de uma solução ótima do problema relaxado x e das Restrições (1.16): Ax = d. Obtendo então:
dr “ d ´ AxI. (2.36)
No PCEM, para obter a demanda residual drt, partimos de uma solução ótima do problema relaxado formada pelos vetores px, e, wqT e das Restrições (1.29):
M
ÿ
m“1
Amtxmt`
et´1´ et“ dt. Sendo assim, a demanda residual é obtida também em função do balanço
de estoque de itens (et´1´ et) da seguinte forma:
Sejam os vetores px, e, wqT uma solução ótima do problema relaxado obtida pelo método simplex com geração de colunas, Amt a matriz de padrões de corte e dt
o vetor demanda. Reescrevendo o vetor xmt como uma soma do vetor xImt com valores
inteiros e do vetor xfmt com valores fracionários, obtemos: xmt “ x
f
Podemos então reescrever as Restrições (1.29) como: M ÿ m“1 pAmtxfmt` AmtxmtI q ` et´1´ et “ dt. (2.38) Isolando M ÿ m“1 Amtxfmt da Equação (2.38), temos: M ÿ m“1 Amtxfmt“ dt´ et´1` et´ M ÿ m“1 AmtxImt (2.39)
Logo, a demanda residual drt é dada por:
drt “ M ÿ m“1 Amtxfmt “ dt´ et´1` et´ M ÿ m“1 AmtxImt (2.40)
Os passos seguintes para obter a matriz de padrões de corte fracionários são equivalentes aos descritos na Subseção 2.1.1. O que muda então no fato de dr ser diferente no PCEM do PCE clássico? Como no PCE clássico dr é obtido por uma operação de subtração do vetor d, em que todos os elementos são inteiros, pelo vetor AxI, também formado por elementos inteiros, então dr é um vetor onde todos os elementos são inteiros. Sendo dr um vetor de elementos inteiros e dr “ Afy, é possível reescrever cada linha ˜aj
de Af como uma linha bj com todos os elementos inteiros. Em contrapartida, no PCEM
o vetor drt é obtido por uma soma do vetor dt com os vetores et´1 e et, em que ambos
podem ter elementos fracionários, desse modo não é possível garantir que drt seja inteiro. A consequência de que drt não seja necessariamente inteiro é que nem sempre é possível reescrever cada linha ˜ajmt da matriz Afmt como uma linha bjmt de elementos inteiros.
Assim, temos a seguinte afirmação: Seja M ÿ m“1 ˜ ai1mt ` . . . ` ˜aiJmmt “ d r it, tal que, d r it P Z` e ˜aijmt P R` para j “ 1, . . . , Jm. Sempre é possível reescrever drit como
M ÿ m“1 bi1mt` . . . ` ˜bif mt` . . . ` biJmmt “ d r it,
tal que bijmt P Z` para j “ 1, . . . , f ´ 1, f ` 1, . . . , Jm e ˜bif mtP R`.
Sendo assim, após aplicar o algoritmo de encaixes, ainda sobrará um ˜bif mt que
poderá ser fracionário. Garantia de factibilidade
No PCEM temos uma quantidade máxima de objetos disponíveis omt, dessa
forma, após aplicar o algoritmo de encaixes, é necessário verificar se utilizamos mais objetos que os disponíveis. Na Seção 2.2.1 detalhamos como fazer essa verificação e os passos necessários para garantir que não seja utilizado mais objetos que os disponíveis.
Figura 16 – Fluxograma HE para o problema de corte de estoque multiperíodo. Fonte: Autoria própria.
2.2.1
Passo de arredondamento da heurística de encaixes para o problema de
corte de estoque multiperíodo
O passo de arredondamento da HE para o PCEM é apresentado em forma de fluxograma na Figura 16, destacamos nele os passos que diferem do fluxograma do passo de arredondamento da HE para o PCE clássico da Figura 14. Na sequência explicamos detalhadamente os passos desse fluxograma.
Passos
Passo 1 Obtenha a matriz de padrões de corte fracionários conforme explicado na Subse- ção 2.1.1, aplique o algoritmo de encaixes descrito na Subseção 2.1.2 e faça bimf t“ t˜bimf tu.
Neste passo, uma nova matriz Bmt juntamente com o vetor unitário ymt são obtidos;
Passo 2 Para todo padrão de corte bjmt que não for eficiente, o correspondente valor
yjmt deverá se tornar nulo, com isto estamos desconsiderando os padrões de corte não
completamente atendida; Passo 3 Faça m “ 1 e u “ Jm; Passo 4 Se Jm ÿ j“1
pyjmt`xIjmtq ą omt, isto é, se a quantidade total de objetos tipo m utilizados
for maior que a quantidade de objetos tipo m disponíveis,
Então faça: yumt “ 0 e u “ u ´ 1. No Passo 3 fizemos com que o índice u
fosse igual a Jm, que é o último padrão de corte da matriz Bmt. Assim, estamos fazendo
yJmmt “ 0, ou seja, estamos anulando o último padrão de corte gerado pelo algoritmo
de encaixes, os quais têm maiores perdas. Este passo se repete para o penúltimo padrão, Jm´ 1, e assim por diante, até que quantidade total de objetos tipo m utilizados for menor
que a dos objetos tipo m disponíveis; Passo 5 faça m “ m ` 1. Se m ď M ,
Então volte para o Passo 4, Senão vá para o Passo 6;
Passo 6 O estoque de objetos wmt deverá ser atualizado:
wmt “ omt` wm,t´1´ Jm
ÿ
j“1
pxIjmt` yjmtq
Passo 7 Se todos os padrões de corte yjmt forem nulos, isto é, se a heurística não formou
nenhum padrão de corte eficiente,
Então um problema residual deverá ser resolvido. Neste estudo, resolvemos o problema residual pela heurística construtiva gananciosa explicado na Subseção 1.2.2.2
para cada tipo de objeto, obtendo M possíveis soluções. Escolhemos àquela que utiliza menos objetos;
Passo 8 Senão, atualize a demanda residual: drt “ drt ´
M
ÿ
m“1
Bmtymt. Este passo é
necessário porque no Passo 2 algum yjmt pode ter sido igualado a zero e a demanda
residual não ter sido completamente atendida.
Após o último passo, o algoritmo segue o fluxo geral das heurísticas tipo residuais para o PCEM.