Anda di halaman 1dari 19

Job Shop Scheduling

ndice
Introduo e enquadramento do estudo ...................................................................................... 2 Job Shop Scheduling ...................................................................................................................... 5 Definio da tcnica a utilizar:The Shifting Bottleneck ............................................................ 7 Exemplo de aplicao do algoritmo escolhido ............................................................................ 10 Validao Informtica ................................................................................................................. 18 Discusso e concluso dos resultados obtidos ........................................................................... 19

Introduo e enquadramento do estudo


Quer a tendncia actual dos mercados como a procura dos consumidores exige das empresas uma grande capacidade de adaptao pois existem produtos com ciclos de vida curtos ou excessiva presso competitiva para a reduo do preo dos produtos que resultam na necessidade da no existncia de stocks. Contudo, para preservar a cota de mercado, o sistema deve ser rpido a reagir o que significa manter stock. A gesto destes conflitos requer uma eficaz, eficiente e apurada capacidade de agendamento de produo. Como resultado, existe uma grande necessidade de um mtodo de aproximao de solues ideais dos problemas, a procura de uma soluo prxima da ideal baseada em funo de avaliao do resultado, ou seja, algoritmos e heursticas que no representam necessariamente a melhor soluo possvel. O planeamento assim como o scheduling so denominados processos de deciso que so utilizados frequentemente em vrias indstrias e empresas de servios. Desempenham um papel fulcral em reas como o processamento de informao, comunicao, transporte e distribuio. Como referido anteriormente, algoritmos e heursticas so os processos utilizados na resoluo para optimizao dos objectivos pretendidos. Os recursos podem ser por exemplo mquinas numa oficina, pistas de um aeroporto, equipas de construo. As actividades podem ser operaes numa fbrica, aterrar e descolar um avio, etapas de construo de um edifcio. Cada actividade poder ter um nvel especfico de prioridade, um tempo mas cedo de inicio ou de concluso. Por outro lado, os objectivos podem ter diferentes formas, tais como, minimizao do tempo para completar todas as actividades, minimizar o nmero de actividades completas fora de tempo (actividades atrasadas), entre outras. Uma das classes de modelos, como os sistemas de fabrico, podem ser caracterizados por uma variedade de factores tais como o nmero de recursos de uma mquina, as suas caractersticas ou a sua configurao, assim como o nvel de automao. As diferenas entre estas caractersticas do origem a uma enorme variedade de modelos de planeamento e scheduling. Num sistema de fabrico um recurso geralmente referido como sendo uma mquina e uma tarefa realizada numa mquina um trabalho ( job ). Num processo produtivo um job poder ser uma nica operao ou um conjunto de operaes a realizar em vrias mquinas. Planeamento (scheduling) importante sempre que o projecto composto de muitas e complexas etapas. Um projecto composto por muitos jobs com vrias restries tendo como objectivo final minimizar o tempo total do projecto, geralmente referido como makespan. Tornar-se importante tambm, encontrar o conjunto de operaes crticas que no podem ser alteradas que afectam o makespan.
2

Uma segunda classe de modelos incluem maquina nica , maquina paralela e modelos job shop. Nos dois primeiros modelos, um job consiste numa operao que pode ser efectuada em qualquer mquina disponvel. No modelo job shop, um job tipicamente caracterizado como sendo um nmero de operaes que tm de ser realizadas em mquinas distintas. Cada job tem o seu prprio caminho ao longo do sistema. As operaes de um job no modelo job shop devem ser calendarizadas para minimizar uma ou mais objectivos, como por exemplo o makespan. Existem ainda mais 3 classes de modelos, como modelos focados em sistemas de produo com automao, modelos com calendarizao por lotes e modelos de planeamento da cadeia de abastecimento. Alguns termos importantes: Tempo de processamento: representa o tempo disponvel para efetuar um job numa mquina. Data de lanamento: O tempo que o job demora a chegar ao sistema, ou seja o tempo mais cedo que se pode iniciar o processo. Data de vencimento: O tempo que foi proposto para entrega ou trmino da encomenda. Este tempo pode ser excedido mas com penalizaes, quando o tempo no pode de todo ser excedido denomina-se deadline. Peso: Representa o factor de prioridade, que reflete a importncia de um job relativamente a outros no sistema. Pode representar o custo de o manter no sistema por uma unidade de tempo. Tempo de inicio: O tempo em que o job comea o seu processo na mquina Tempo para concluso: O tempo que em que o job completado na mquina. Modelos de mquina nica: Muitos sistemas de produo do origem a modelos de mquina nica. Por exemplo se existe uma heurstica bottleneck num ambiente multimquina, ento a sequncia de jobs de uma heurstica bottleneck tipicamente determina a performance do sistema inteiro. Nesse caso faz sentido calendarizar a heurstica bottleneck primeiro que todas as outras operaes. Modelos de mquina paralela: Trata-se de uma generalizao do modelo de mquina nica. Muitos ambientes de produo consistem em vrios estgios ou centros de trabalho, cada com um nmero de mquinas em paralelo. As mquinas podem ser iguais, para que o job possa ser processado em qualquer mquina disponvel. Branch-and Bound : Consiste num algoritmo para optimizao especialmente combinatria. Ou seja, numa enumerao sistemtica de todos os candidatos a soluo,
3

atravs da qual grandes subconjuntos de candidatos pouco viveis so descartados utilizando limites superior e inferior do valor optimizado.

Em sistemas multi-operao, os jobs tm usualmente caminhos distintos. Trata-se de uma generalizao do modelo Flow Shop (modelos onde todo e qualquer job tem a mesma rota). O modelo mais simples assume que o job possa ser processado numa mquina particular pelo menos uma vez ao longo do sistema (ver ilustrao 1), enquanto que noutros, um job pode visitar uma mquina vrias vezes ao longo do sistema. Uma generalizao de um modelo job shop ser flexvel com centros de trabalho que tm mltiplas mquinas paralelas. So modelos predominantes na indstria onde cada pedido por parte do cliente nico com parmetros nicos. Um exemplo clssico de um modelo job shop um hospital onde os utentes so os jobs. Cada utente tem de seguir uma determinada rota e tem de ser tratado num nmero diferente de estaes ao longo do sistema. Visto os problemas de job shop com muitos jobs para optimizar serem problemas de difcil resoluo, foram muitas heursticas para ajudar a contornar essad ificuldades. Umas das mais estveis e mais bem sucedidas para minimizao do makespan, trata-se do Shifting Bottleneck heuristic.

Ilustrao 1- Representao esquemtica de um Job Shop

Job Shop Scheduling


Hoje em dia grande a importncia de uma eficaz resoluo dos problemas relacionados com o Job Shop pois reflecte o modo de operar de muitas indstrias actualmente. Muitas tarefas presentes num dia regular de laborao numa fbrica necessitam de planeamento, cada uma delas necessitando de diferentes sequncias e tempos de processamento nas mquinas. Muitas das tarefas podem ter ou no ter datas previstas de entrrga fazendo com que a soluo adoptada para o planeamento difira da soluo objectivo que se tinha em vista quando se iniciou o scheduling dessas mesmas tarefas. Para um problema de programao das operaes com n operaes e m mquinas existem (n1)!(n2)!(n3)!...(nm)! possveis sequncias tericas onde nk o nmero de operaes a realizar na mquina k. No entanto, algumas dessas hipteses apresentam alguma(s) condicionantes(s) que levam impossbilidade da sua aplicao. Tal deve-se ao facto de a melhor sequncia ter de satisfazer alguns requisitos: Ter que ser executvel do ponto de vista tecnolgico, tendo assim que respeitar as condies de precedncia de cada mquina; Dever ser eficiente e eficaz. Como lgico, avaliar e testar todas as possveis combinaes uma tarefa praticamente impossvel dado o elevado nmero de alternativas. Para tentar contornar este facto foram desenvolvidas vrias regras heursticas e algoritmos para determinar quais as prioridades no processamento de vrias tarefas. Estas regras podem tambm ser classificadas como estticas ou dinmicas tendo em conta a altura em que as referidas decises forem tomadas. Regras estticas (ou globais): As tarefas prioritrias so determinadas antes do processamento das mesmas. Exemplo:Regras baseadas no due date-related ou nos tempos processamento e chegada tais como a FCFS (first come, first served). Na regra dinmica (ou local) as tarefas priortrias podem alterar-se de mquina para mquina, sendo este um estudo prvio baseado na anlise das condies iniciais de cada equipamento. As regras dinmicas geralmente tm um melhor resultado que as estticas.

Diminuir o makespan, que o tempo total de processamento de todas as tarefas em todas as mquinas, um dos grandes desafios da aplicao do job-shop nos sistemas produtivos. No exemplo prtico que iremos apresentar mais frente, o nosso objectivo ser obter a sequncia de tarefas em cada mquina que nos permitir bons resultados no que diz respeito minimizao do makespan. Uma das tcnicas mais eficazes na minimizao do makespan em Job Shop a heurstica Shifting Bottleneck. Esta heuristica consiste em isolar cada mquina, considerando-a como se fosse um sistema de mquina nica. A mquina que apresentar o maior delay (maior atraso) ser considerada como sendo a Bottleneck machine sendo esta a que ser analisada em primeiro lugar. O procedimento que iremos adoptar no nosso estudo ter uma pequena modificao em relao ao original. Assim, como semelhana do modelo original, cada mquina consideranderada como se fosse uma mquina nica e a que apresentar o maior minimum tardiness (maior entre os atrasos mnimos) considerada a botleneck machine e a primeira a ser analisada.

Definio da tcnica a utilizar:The Shifting Bottleneck


Passo 1: Condies iniciais M indica o conjunto de todas as mquinas. Mr denota o conjunto de todas as mquinas de M em que j conhecida a sequncia de tarefas. Inicialmente Mr = 0. Os tempos mais tarde e mais cedo de cada tarefa so calculados para todos os ns da rede Passo 2: Todas as mquinas do conjunto M-Mr so resolvidas separadamente. Todas as operaes que requerem servios provenientes dessas mquinas so tratados como tarefas usadas no problema de mquina nica. As tarefas chegam mquina em diferentes instantes, baseados nas sequncias anteriores. Os tempos de chegada de cada tarefa (ri) e as due dates so tiradas directamente da rede. Os tempos de chegada (ri) de cada operao so os tempos mais cedo de chegada desse n (operao). A due date (di) da operao so o o tempo mais tarde de incio do n imediatamente a seguir. Para desenvolver a sequncia ptima para cada mquina (quando analisadas em sistema single machine) devemos seguir o procedimento descrito a seguir.
2.1 Quando as tarefas chegam em diferentes instantes: Backward Phase o 1) Tomar C=0 e k=1. o 2) Entre todas as tarefas ainda no programadas, escolher o menor tempo de chegada; a isto chama-se ES. o 3) Tomar S = max {C;ES}. o 4) Escolher todas as tarefas que tenham o seu tempo de chegada menor ou igual que S. Coloc-las no conjunto J. o 5) Calcular T, que a soma dos tempos de processamento de todas as tarefas do conjunto J. O novo C ser igual a H e H=T+S. o 6) Programar as tarefas de J na direco inversa baseando-se no penalty (penalizaes). Os penalties obtm-se atravs assim: se (H-di)>0, TDi = (Hdi) x li, seno TDi = (H- di) x e i.( li e i representam a penalizao de atraso e de adiantamento-late and early penalties respectivamente 1 ou 0). O critrio para a escolha de tarefas o least penalty-menos penlaizado. No caso de um empate o trabalho com o valor mximo de tempo de processamento escolhido. Se o empate se mantiver escolhe-se arbitrariamente. Se existirem n tarefas no conjunto J, atribuimos s tarefas do conjuto J a posio inicial n+k1 e a posio final k. 7

o o

Uma vez que o trabalho tenha sido atribudo, o valor do tempo de processamento de H reduzido e as penalizaes para os restantes postos de trabalho do conjunto J so recalculados. Este processo repetido at as tarefas do conjunto J serem atribuidas. 7) k = k + n 8) Se k for menor ou igual ao nmero total de tarefas, voltar ao passo 2, seno terminar e seguir para a forward phase.

Forward Phase Esta fase idntica excepto na forma de calcular as penalizaes. Ai o tempo de chegada da examinados at agora. tarefa i. CT o tempo total de concluso dos trabalhos

Inicialmente CT=0.TDi a penalizao total para a tarefa i. Comeamos pela primeira tarefa da sequncia, isto , a partir da esquerda. Se em algum momento um trabalho no chegar quando o trabalho anterior foi terminado, o prximo trabalho somente pode iniciar quando ele chegar. Assim, o tempo para a tarefa estar completa dado pela soma do tempo de processamento com o instante em que ela chega. A penalizao calculada tendo como base o seguinte: o o Se ri > CT, ento CT = ri + pi ; caso contrrio CT = CT + pi. CT- di >0, ento TDi = (CT - di )* li; caso contrrio, TDi = (di CT)* ei .

Calcular o tardiness para cada mquina, ou seja atribuir ao total de penalidades por atraso o valor 1 e por adiantamento o valor 0.

Passo 3: Seleccionar a Bottleneck machine ( a que apresenta maior penalidades)mquina k. A rede ser ento modificada adicionando-lhe arcos entre os ns (operaes) que esto a utilizar essa mesma mquina na sequncia obtida no passo 2. A mquina k ser ento a nova mquina no n inicial. Passo 4: Recalcular os tempos mais cedo e mais tarde de inicio de cada n na rede obtida. Passo 5:Verificar se os arcos entre as operaes que determinmos anteriormente ainda so os ptimos Todas as mquinas so resequenciadas para verificar se h algum melhoramento no makespan, retirando temporariamente cada mquina j. A rede modificada removendo os arcos na mquina j e calculando o T (atraso mnimo) para essa mquina com os tempos de chegada modificados e as due dates baseadas nas modificaes temporrias anteriores.

A nova sequncia de tarefas determinada para a mquina j e os arcos so construidos entre os ns associados mquina j baseado na nova sequncia. O Makespan para toda a rede calculado com base nestas novas linhas direccionais adicionadas mquina j. Se o makespan for menor ou igual ao makespan anterior as novas linhas so matidas, se no, mantm-se a sequncia original da mquina j. Este passo fica completo quando so feitas estas verificaes para todas as mquinas.

Passo 6: Adicionar a mquina k ao Mr. Se M for igual a M o procedimento pra. Se no, voltar ao passo 2.

Exemplo de aplicao do algoritmo escolhido


Vamos tomar como exemplo ilustrativo para demontrao do algoritmo escolhido o caso ilustrado na tabela seguinte:
Tabela 1 - Ilustrao do problema

Trabalho 1 Trabalho 2 Trabalho 3 Trabalho 4 Trabalho 5

Tarefas realizadas 1 2 3 4 5

Sequncia Maquinas 1,3 2,3 3,1,2 1,2,3 3,1

Tempo processamento 1,2 3,1 2,1,1 3,2,1 2,1

Numa determinada fbrica, pretende-se minimizar o makespan de um sistema constituido por 5 tarefas que so processadas de diferentes formas com diferentes sequncias de mquinas. O nosso objectivo conseguir optimizar o processo de forma a encontrar a sequncia de tarefas em cada mquina que nos conduza a um menor tempo de execuo e com a menor folga possvel. Seguindo os passos descritos pelo algoritmo escolhido, comeamos por criar a nossa rede de processos. H que ter em ateno que os tempos mais cedo e mais tarde de incio no n final correspondem ao makespan Cmax. Seguindo os passos do algoritmo descrito anteriormente, obtemos a nossa rede inicial (ilustrao 2).

Ilustrao 2 - Rede PERT do problema inicial

10

Por exemplo para a mquina n1, os tempos de processamento para as tarefas 1,3,4 e 5 so respectivamente 1,1,3 e 1. Podemos tambm dizer que os seus tempos de chegada so respectivamente 0,2,0,2. Para descobrir os due dates, por exemplo para o n 1/1, como se pode tambm ver na rede obtida, vale 4 pois o valor do tempo mais tarde de incio para o n imediatamente a seguir. Como estamos a tentar achar a bottleneck machine, os early and late penalties so respectivamente 0 e 1. Seguindo o mesmo raciocnio para todas as mquinas separadas obtemos os dados para cada tarefa ne respectiva mquina que so apresentados na tabela seguinte onde pi representa o tempo de processamento da tarefa, ri representa o tempo de chegada(arrival time), di o due date e li e ei so respectivamente os late and eraly penalties.
Iterao 1
Tabela 2 - Mquina 2, 1 iterao Mquina 2 Iterao 1 Tarefa 2 Tarefa 3 Tarefa 4 Pi ri di li ei 3 0 5 1 0 1 3 6 1 0 2 3 5 1 0 pi ri di li ei Tabela 3 - Mquina 3, 1 iterao

Mquina 3- Iterao 1
Tarefa 1 Tarefa 2 Tarefa 3 Tarefa 4 Tarefa 5

2 1 6 1 0

1 3 6 1 0

2 0 4 1 0

1 5 6 1 0

2 0 5 1 0

Para a mquina 1:

Seguindo o procedimento descrito anteriormente no passo 2, obtemos a sequncia ideal para processar nesta mquina assim como o seu Tabela 4 - Mquina 1. 1 Iterao penalty. Exemplificando: 1)C = 0; k = 1 2)ES = 0 (tempo mnimo de chegada) 3) S = max {C;ES}= 0 4)J ={1;4} ( tarefas com tempo de chegada S) 5) T = pi(1) + pi(4) = 1+3=4 ; H= T + S = 4 + 0 = 4 = C 6) (H-Di) o Tarefa 1 = 0 => T Di= (Di-H)* Ei = 0
11
Pi ri di li ei

Mquina 1 Iterao 1 Tarefa Tarefa Tarefa 1 3 4 1 1 3 0 2 0 4 5 3 1 1 1 0 0 0

Tarefa 5 1 2 6 1 0

o Tarefa 4 = 1 => T Di= (H-Di)* Li = 1 7) k = k + n k = 1 + 2 = 4 (n= numero de tarefas existentes em J) 8) k nmero total de tarefas voltar ao passo 2 com as tarefas que sobraram. Escolhe-se a sequncia por ordem inversa (decrescente) de penalty (T Di). Ento at agora a sequncia tarefa4-tarefa1. Voltando ao passo 2 e repetindo o procedimento para todas as tarefas que ainda no esto sequenciadas. Obtivmos C = 4; k = 4 2)ES = 2 3) S = max {C;ES}= 4 4)J ={3;5} 5) T = pi(3) + pi(5) = 1+1=2 ; H= T + S = 2 + 4 = 6 = C 6) (H-Di)<=> o Tarefa 3 = 1 => T Di= (H-Di)* Li = 1 o Tarefa 5 = 0 => T Di= (Di-H)* Ei = 0 Da mesma forma escolhem-se as prximas tarefas da sequncia: 4-1-3-5 7) k = k + n k = 4 + 2 = 6 (n= numero de tarefas existentes em J) 8) k nmero total de tarefas Passar para a Forward Phase.

Forward Phase CT inicialmente zero. o o Se ri > CT, eno CT = ri + pi ; caso contrrio CT = CT + pi. CT- di >0, ento TDi = (CT - di )* li; caso contrrio, TDi = (di CT)* ei .

Analisando pela ordem da sequncia obtida: Tarefa 4: o ri=0 CT, ento CT = CT + pi.= 0 + 3 = 3
o CT- di = 3 -3 0, ento TDi = (di CT)* ei = (3 3)*0 = 0 Proceder de igual forma para a tarefa 1; 3 e 5, pela ordem correcta e utilizando o CT obtido na tarefa anterior. Assim, chegamos ao valor de TDi = 0 para todas as tarefas, logo o penalty para a mquina 1 a soma de todos os TDi , ou seja zero.

12

De igual forma se procede para todas as outras mquinas. Os resultados obtidos encontram-se na tabela abaixo:
Tabela 5 - Sequncias e penalties, 1Iterao

Mquina Sequncia Penalty 1 4-1-3-5 0 2 2-4-3 0 3 5-3-2-4-1 2 A mquina mais penalizada, com maior penalty a mquina 3, logo a bottleneck machine. Ento, seguindo o procedimento do algoritmo, adicionamos a mquina 3 ao n inicial, sendo agora Mr = {3}. A rede recalculada assim como todos os seus tempos mais cedo e mais tarde de incio como est demonstrado na ilustrao 3.
[0]{5} [6]{6}

1/1
[0]{1}

1/3

[4]{4}

0 0

2/2
[2]{2}

3 2

2/3 1 1
[4]{6} [5]{7}

[8]{8}

M0

0 0

3/3
[0]{0}

3/1
[3]{3}

1 1 2

3/2
[5]{5}

1
1

FIM

4/1
[0]{0}

3 2

Ilustrao 3- Rede PERT resultante da 1 iterao

Como M-Mr = {1;2;3} - {3} = {1;2}, devemos optimizar as sequncias para a mquina 1 e 2. Iterao 2
Tabela 6 - Mquina 2, 2 Iterao Tabela 7 - Mquina 1, 2 Iterao Mquina 1 - Iterao 2 Tarefa 1 Tarefa 3 Tarefa 4 1 1 3 0 4 0 6 7 3 1 1 1 0 0 0 Da nova rede, temos novos dados para cada uma das mquinas: Mquina 2 - Iterao 2 Trabalho Trabalho Trabalho 2 3 4 3 1 2 0 5 3 4 8 5 1 1 1 0 0 0

pi ri di li ei

4/2

4/3
[2]{7}

5/3

5/1

Tarefa 5 1 2 8 1 0

pi ri di li ei

13

Fazendo os mesmo clculos que tinhamos feito na Iterao 1 mas agora apenas para a mquina 1 e 2, chegamos concluso que tanto uma como outra tm o mesmo valor de penalty e assim escolhemos ao acaso a prxima bottleneck machine. Neste caso foi escolhida a mquina n2.

Tabela 8 - Sequncias e penalties, 2Iterao

Mquina 1 2

Sequncia 4-1-3-5 2-4-3

Penalty 0 0

Utilizamos a sequncia ptima para a mquina 2. Procedemos alterao da rede,ligando em sequncia as tarefas associadas mquina 2. Recalculam-se os tempos mais cedo e mais tarde de incio da operao e calculamos o novo Cmax que ser igual a 8.
[0]{5} [6]{6}

1/1
[0]{0}

1/3

[4]{4}

0 0

2/2
[2]{2}

3 2

2/3 1 1
[4]{6} [5]{7}

[8]{8}

M0

0 0

3/3
[0]{0}

2
3

3/1 2
[3]{3}

1 1 2

3/2
[5]{5}

FIM

1
1

4/1
[0]{0}

3 2

Ilustrao 4 - Rede PERT resultante da 2 Iterao

Para aplicao do passo 5, Mr={3}. A sequncia ptima encontrada anteriormente para a mquina 3 foi 5-3-2-4-1, mostrada pelos arcos da ilustrao 4. A rede ento modificada removendo as ligaes da mquina 3 ( as ligaes em arco entre as tarefas e a mquina 3) como indicado na ilustrao 5:

Ilustrao 5 - Rede PERT resultante da verificao- passso 5

4/2

4/3
[2]{7}

5/3

5/1

14

Agora necessrio reclacular os tempos mais cedo e mais tarde de incio da ilustrao 4. Os dados da soluo anterior so usados para a reavaliao da mquina 3. Ao reavaliar a mquina 3, obtemos a sequncia ptima 5-3-2-4-1 com um penalty=2.
Tabela 9 - Mquina 3, 2 Iterao Mquina 3- Iterao 2 Tarefa Tarefa Tarefa 2 3 4 1 2 1 3 0 5 6 5 6 1 1 1 0 0 0

pi ri di li ei

Tarefa 1 2 1 6 1 0

Tarefa 5 2 0 5 1 0

Como a sequncia obtida na verificao foi igual sequncia obtida anteriormente, juntamos de novo as operaes correspondentes mquina 3 e obtemos uma rede como a da ilustrao 4, no havendo melhoramento pois o makespan mantm-se (Cmax=8). Adicionamos ento a mquina 2 ao conjunto Mr, ficando Mr = {2;3}.

Iterao 3
A mquina n 1 a nica que sobra no conjunto M-Mr, e vai ser resolvida para o mnimo de penalty total. Os dados para anlise so retirados da figura obtida no ltimo clculo (Ilustrao 4).
Tabela 10 - Mquina 1, 3 iterao Mquina 1-Iterao 3 Tarefa 3 Tarefa 4 1 3 4 0 7 3 1 1 0 0

pi ri di li ei

Tarefa 1 1 0 6 1 0

Tarefa 5 1 2 8 1 0

Tal como nos casos anteriores, seguimos os passos do algoritmo em busca da sequencia ptima e obtivmos um penalty = 0 para a sequncia 4-1-3-5. Seguidamente a rede modificada como ilustrado na ilustrao 6,adicionando as ligaes em arco entre as operaes e a mquina 1. Recalcula-se os tempos mais cedo e mais tarde de incio de cada n e

15
Ilustrao 6 Rede- Iterao 3

tambm o makespan que continua a ser Cmax=8. Nesta fase, como Mr = {2;3}, voltamos a resequenciar as mquinas 2 e 3 para obter o penalty total mnimo e verificarmos se existe alguma melhoria no makespan. Comemos por remover as ligaes em arco da mquina 3 (Ilustrao 7) e calcular o penalty minimo para a mesma.
[3]{3} [4]{4}

1/1
[0]{0}

1/3

[3]{5}

0 0

2/2 3
[0]{2}

3 2

2/3 1

[4]{4}

[5]{5}

[6]{6}

M0

0 0

3/3
[0]{0}

2
3

3/1 2
[3]{3}

3/2
[5]{5}

FIM

1
1

4/1
[0]{3}

4/2

Ilustrao 7 - Mquina 3 removida- Iterao 3

pi ri di li ei

Trabalho 1 2 4 6 1 0

Procedendo de igual forma e seguindo o algoritmo proposto, chegmos a uma sequncia ptima igual que tinhamos encontrado anteriormente e com penalty=2. Como a sequncia no se alterou, o makespan continua Cmax=8.

4/3

1
[5]{5}

5/3

5/1

Tabela 11 - Mquina 3, 3 Iterao Mquina 3- Iterao 3 Trabalho Trabalho Trabalho 2 3 4 1 2 1 3 0 5 6 4 6 1 1 1 0 0 0

Trabalho 5 2 0 5 1 0

16
Ilustrao 8 - Mquina 2 removida, 3 Iterao

Voltamos ento rede anterior (ilustrao 6) e retiramos as ligaes em arco mquina 2 (ilustrao 8). Mais uma vez recalcularam-se os tempos mais cedo e mais tarde de incio de cada n e resolveu-se a mquina 2 para a obteno do penalty mnimo. Obteve-se ento a sequncia 24-3 com um penalty = 0
Tabela 12 - Mquina 2,3 Iterao Mquina 2 - Iterao 3 Trabalho Trabalho Trabalho 2 3 4 3 1 2 0 5 3 4 8 5 1 1 1 0 0 0

pi ri di li ei

Mais uma vez, como a sequncia no se alteou, o makespan mantem-se e tambm o tempo de processamento de toda a rede. A sequncia em cada mquina ento obtida seguindo os as ligaes entre cada n das tarefas a executar em cada mquina.

Ilustrao 9 - Sequncia optimizada

Tabela 13- Sequncia final e carga total em cada mquina Mquina 1 2 3 Sequncia 4-1-3-5 2-4-3 5-3-2-4-1 Carga 0+3+4+5 0+3+5+6 0+2+4+5+6+8 Carga total 12 14 25

17

Validao Informtica
Utilizmos o software Lekin para tentarmos validar a soluo encontrada analiticamente. Ao inserirmos os dados no Lekin e usando a Heurstica Shifting Bottleneck / Tmax foinos dada uma possvel sequncia para o problema inicial, que ilustrada seguidamente:

Ilustrao 10 - Primeira sequncia obtida pelo Lekin

Observmos que a primeira sequncia obtida pelo Lekin no era igual sequncia por ns obtida. Com os dados obtidos, tentmos optimizar as sequncias possveis de modo a igualar aos resultados analticos. Foi possvel obter a soluo por ns proposta atravs do Lekin e, alm disso, tal como descrito na Ilustrao 9, conseguimos diminuir o nmero de tarefas atrasadas em relao proposta inicial do programa de 3 para 1 e, para alm disso, houve tambm uma reduo do total tardiness que um dos grandes objectivos a atingir quando se aplica a regra Shifting Bottleneck.

Ilustrao 11 - Validao da sequncia obtida analiticamente

18

Discusso e concluso dos resultados obtidos


Aps a realizao deste trabalho, podemos constatar a eficcia, eficincia deste algoritmo na optimizao do nosso caso de estudo. Inicialmente o nosso objectivo era optimizar o processo de forma a encontrar a sequncia de tarefas em cada mquina, que conduziria a um menor tempo de execuo com a menor folga possvel. Ao utilizar-se o algoritmo, numa primeira iterao alterou-se o caminho da mquina 3, conseguindo eliminar as suas folgas das tarefas 1,2,3,5. Na iterao 2 alterou-se o caminho da mquina 2 conseguindo reduzir-se a folga inicial da segunda tarefa. Na iterao 3 altermos o caminho da mquina 1 reduzindo a folga das tarefas 1,3,5 e tambm na mquina 2 tarefa 3. Aps efectuar-se as vrias iteraes chegmos ao valor final de makespan 8 , maior do que o valor inicial de 6. Concluiu-se assim, que se obteve uma melhor optimizao das sequncias das mquinas, visto que diminumos as folgas em prejuzo do tempo final. Contudo ao aumentar-se o tempo final obtm-se um melhor aproveitamento das mquinas reduzindo custos. Estes resultados so corroborados pelo programa LEKIN, apesar de se poderem obter outras sequncias optimizadas com valores idnticos alterando apenas alguns parmetros, como se verificou no programa LEKIN.

19

Anda mungkin juga menyukai