Hibridização de Algoritimos Genéticos com Relaxação Lagrangeana Aplicada ao Job-Shop

93 

Full text

(1)

Programa de P´os-graduac¸˜ao em Matem´atica Mestrado em Matem´atica

Ernesto de Souza Massa Neto

Hibridiza¸

ao de Algoritmos Gen´

eticos com Relaxa¸

ao

Lagrangeana Aplicada ao Job Shop

(2)

Ernesto de Souza Massa Neto

Hibridiza¸

ao de Algoritmos Gen´

eticos com Relaxa¸

ao

Lagrangeana Aplicada ao Job Shop

Disserta¸c˜ao apresentada ao Colegiado do Curso de

P´os-Gradua¸c˜ao em Matem´atica da Universidade

Federal da Bahia, como requisito parcial para

ob-ten¸c˜ao do T´ıtulo de Mestre em Matem´atica.

Professora Orientadora:

Doutora Isamara Carvalho Alves

(3)

Hibridiza¸

ao de Algoritmos Gen´

eticos com Relaxa¸

ao

Lagrangeana Aplicada ao Job Shop

Disserta¸c˜ao apresentada ao colegiado do curso de P´os-Gradua¸c˜ao em Matem´atica da

Universidade Federal da Bahia, como requisito parcial para obten¸c˜ao do T´ıtulo de

Mestre em Matem´atica.

Salvador, de de 2004.

Banca examinadora

Profa. Dra. Isamara Carvalho Alves (Orientadora) Universidade Federal da Bahia

Prof. Dr. Akebo Yamakami

Universidade Estadual de Campinas

Prof. Dr. Carlos Eduardo Nogueira Bahiano

(4)

`

A toda minha fam´ılia: os

presentes, os que j´a partiram

(5)

A minha m˜ae, minha mais convicta incentivadora.

Ao meu pai, meu amigo inesquec´ıvel e principal respons´avel pelo que sou hoje.

A Lyginha, minha companheira em todos os momentos.

A Mˆonica, minha irm˜a, que, como sempre, foi porto seguro quando mais precisava.

A Professora Ednalva Marinho, minha querida sogra, pela confian¸ca em meu trabalho e revis˜ao desta disserta¸c˜ao.

A minha orientadora, Professora Isamara Alves, que me apresentou o mundo da pesquisa.

Aos amigos Antˆonio e Reinaldo, fonte de tranq¨uilidade para minha dedica¸c˜ao ao mestrado.

Aos amigos Alexander, F´abio, Jos´e Luiz e Renato, que me ajudaram, com alegria, a vencer todos os obst´aculos.

(6)

Resumo

Os problemas de seq¨uenciamento de tarefas Job-Shop est˜ao na classe dos mais dif´ıceis de serem resolvidos. Para estes problemas, geralmente s˜ao utilizados m´etodos heur´ısticos de resolu¸c˜ao, que buscam encontrar respostas suficientemente pr´oximas `a me-lhor solu¸c˜ao sem, no entanto, garantir que esta seja a solu¸c˜ao ´otima. Os algoritmos gen´eticos, heur´ıstica que tem sido aplicada com sucesso em diversos tipos de problemas combinat´orios, baseiam seu m´etodo de busca na teoria da evolu¸c˜ao de Charles Darwin. Apesar disto, as pesquisas realizadas at´e o momento n˜ao s˜ao capazes de explicar ade-quadamente porque, ou quando, estas heur´ısticas ser˜ao bem sucedidas ou poder˜ao falhar em algum caso espec´ıfico. A performance de heur´ısticas adaptativas, como os algorit-mos gen´eticos, depende fortemente da configura¸c˜ao do espa¸co de busca em quest˜ao. As instˆancias mais dif´ıceis de problemas apresentam espa¸cos de busca mais planos, enquanto as instˆancias mais f´aceis possuem espa¸cos de busca mais acidentados. Entretanto, existe semelhan¸ca entre a suavidade em vizinhan¸cas das instˆancias mais dif´ıceis e das instˆancias mais f´aceis. Isto leva a supor que os algoritmos gen´eticos tenham performance seme-lhante em pesquisas locais, independente de se tratar de uma instˆancia f´acil ou dif´ıcil. A proposta deste trabalho ´e mostrar que a heur´ıstica dos Algoritmos Gen´eticos hibridizada com a Relaxa¸c˜ao Lagrangeana ter´a uma performance compar´avel `as melhores heur´ısticas na resolu¸c˜ao de problemas de seq¨uenciamento do tipo Job-Shop est´aticos, quando estes forem devidamente decompostos pela tecnologia de grupos.

(7)

The Job-Shop Scheduling problems are in the class of the hardest problems to be solved. In this kind of problem, heuristic methods are usually used to search for answers sufficiently close to the best solution without, however, guarantee that the solution found is the best solution. A heuristic that has been successfully applied in many different types of combinatorial problems are the genetic algorithms, that base its search method on the Charles Darwin’s theory of evolution. In spite of that, current research is unable to explain adequately why, or when, such approaches are likely to succeed or fail in specific cases. The performance of adaptative heuristics, like genetic algorithms, strongly depends on the configuration of the search space. The structure of hard instances problems induce a more plain search space, while the structure of easy instances problems induce a more mountainous search space. However, there is a similar smoothness in the hard instances vicinities and in the easy instances vicinities. This leads to suppose that the genetic algorithms have similar performance in local searches, for an easy instance as well as a difficult one. This work proposal is to show that the genetic algorithms will be comparable to the best heuristics in the solution of Job-Shop Scheduling problems, since these first be decomposed properly by the groups technology.

(8)

Sum´

ario

INTRODUC¸ ˜AO 16

1 PROBLEMAS JOB SHOP 18

1.1 PROBLEMAS DE F ´ABRICA . . . 19

1.1.1 Classifica¸c˜ao de Problemas de F´abrica . . . 20

1.1.2 Problemas de F´abrica Cl´assicos. . . 21

1.1.3 Restri¸c˜oes e Crit´erios de Sele¸c˜ao . . . 22

1.1.4 Modelagens do Problema de F´abrica . . . 23

1.1.4.1 Modelagem por Grafos Disjuntivos . . . 23

1.1.4.2 Modelagem Matem´atica do Job Shop . . . 26

1.2 PROBLEMAS JOB SHOP . . . 28

1.2.1 Topologia do Job Shop . . . 28

1.2.1.1 Vizinhan¸cas em um Espa¸co de Busca . . . 29

1.2.1.2 Distˆancias em um Espa¸co de Busca . . . 30

1.2.1.3 Entropia de um Espa¸co de Busca . . . 30

(9)

1.2.1.4 Suavidade do Espa¸co de Busca . . . 31

1.2.1.5 Conclus˜oes sobre a Topologia do Job Shop . . . 32

1.2.2 Busca em Vizinhan¸cas . . . 33

1.2.3 Complexidade do Job Shop . . . 34

1.2.4 Decomposi¸c˜ao do Job Shop . . . 34

1.2.4.1 Tecnologia de Grupos . . . 35

2 ALGORITMOS GEN ´ETICOS 37 2.1 FUNCIONAMENTO DOS ALGORITMOS GEN´ETICOS . . . 38

2.2 CODIFICAC¸ ˜AO DOS GEN ´OTIPOS . . . 39

2.3 OPERADORES GEN´ETICOS . . . 40

2.3.1 Crossover . . . 41

2.3.1.1 Crossover de Um Ponto . . . 42

2.3.1.2 Crossover de Dois Pontos . . . 42

2.3.1.3 Crossover Uniforme . . . 43

2.3.2 Muta¸c˜ao . . . 44

2.3.3 Sele¸c˜ao . . . 45

2.4 ESPAC¸ O DE SOLUC¸ ˜OES . . . 46

2.4.1 Algoritmos de Repara¸c˜ao . . . 46

(10)

10

2.4.3 Decodificadores . . . 47

3 METODOLOGIA DE RESOLUC¸ ˜AO 48 3.1 ESPAC¸ O GENOT´IPICO PARA O JOB SHOP . . . 49

3.1.1 Cria¸c˜ao de um Espa¸co de Busca Convexo . . . 50

3.1.1.1 Fun¸c˜ao de Convers˜ao para o Espa¸co Irrestrito . . . 51

3.1.1.2 Fun¸c˜ao de Retorno ao Espa¸co Real . . . 52

3.2 DECOMPOSIC¸ ˜AO PELA RELAXAC¸ ˜AO LAGRANGEANA . . . 55

3.2.1 Relaxa¸c˜ao Lagrangeana . . . 56

3.2.2 M´etodo do Subgradiente . . . 58

3.3 APLICAC¸ ˜AO DE ALGORITMOS GEN´ETICOS . . . 59

3.3.1 Algoritmos Gen´eticos e o Job Shop particionado . . . 60

3.3.2 Ado¸c˜ao de um Algoritmo Gen´etico . . . 61

3.3.3 Busca Local . . . 62

4 TESTES E RESULTADOS 64 4.1 PROGRAMA COMPUTACIONAL . . . 64

4.2 QUALIDADE DAS SOLUC¸ ˜OES . . . 67

4.3 TESTES REALIZADOS . . . 68

4.4 RESULTADOS . . . 70

(11)

4.4.2 Grupo B: Problemas 10×10 com dois links . . . 71

4.4.3 Grupo C: Problemas 10×15 com apenas um link . . . 72

4.4.4 Grupo D: Problemas 10×15 com dois links . . . 73

4.4.5 Grupo E: Problemas 10×15 com trˆes links . . . 74

4.4.6 Convergˆencia das Resolu¸c˜oes . . . 75

CONCLUS ˜AO 80

REFERˆENCIAS BIBLIOGR ´AFICAS 82

ANEXO I - PROBLEMAS TESTE 87

ANEXO II - EXEMPLO DE APLICAC¸ ˜AO DA RELAXAC¸ ˜AO

(12)

Lista de Figuras

1.1 Problema Job Shop modelado por um Grafo Disjuntivo. . . 24

1.2 Sele¸c˜ao completa consistente do grafo exibido na figura 1.1 . . . 25

1.3 Seq¨uˆencia semi-ativa relativa `a sele¸c˜ao completa consistente apresentada na figura 1.2 com seu caminho cr´ıtico em destaque. . . 26

2.1 Crossover de Um Ponto. . . 42

2.2 Crossover de Dois Pontos. . . 43

2.3 Crossover Uniforme. . . 43

2.4 Muta¸c˜ao.. . . 44

2.5 M´etodo de sele¸c˜ao Roulette Wheel. . . 45

3.1 Espa¸co Fenot´ıpico × Espa¸co Genot´ıpico. . . 50

3.2 Decodifica¸c˜ao de um gen´otipo em seu fen´otipo. . . 55

3.3 Grafo particionado de um problema Job Shop. . . 60

4.1 Programa Computacional. . . 65

(13)

4.2 Convergˆencia do problema de teste n.8 (problema 4.12 do ANEXO I), com

10 produtos e 10 m´aquinas, em 2 c´elulas de m´aquinas com 2 links . . . 76

4.3 Convergˆencia do problema de teste n.19 (problema 4.13 do ANEXO I), com

10 produtos e 15 m´aquinas, em 3 c´elulas de m´aquinas com 6 links. . . 76

4.4 Convergˆencia do problema de teste n.35 (problema 4.14 do ANEXO I), com

10 produtos e 15 m´aquinas, em 3 c´elulas de m´aquinas com 9 links. . . 77

4.5 Gap de Dualidade Relativa do problema de teste n.8 (problema 4.12 do

ANEXO I), com 10 produtos e 10 m´aquinas, em 2 c´elulas de m´aquinas

com 2 links. . . 78

4.6 Gap de Dualidade Relativa do problema de teste n.19 (problema 4.13 do

ANEXO I), com 10 produtos e 15 m´aquinas, em 3 c´elulas de m´aquinas

com 6 links. . . 78

4.7 Gap de Dualidade Relativa do problema de teste n.35 (problema 4.14 do

ANEXO I), com 10 produtos e 15 m´aquinas, em 3 c´elulas de m´aquinas

com 9 links. . . 79

4.8 Problema Job Shop utilizado como exemplo, modelado por Grafo Disjuntivo. 89

4.9 Grafo disjuntivo da decomposi¸c˜ao do problema apresentado na figura 4.8

(14)

Lista de Tabelas

4.1 Caracter´ısticas dos Problemas Testados. . . 69

4.2 Convergˆencia dos Problemas 10×10 com 1 link. . . 71

4.3 Dura¸c˜ao M´edia das Itera¸c˜oes dos Problemas 10×10 com 1 link, em um

computador com processador Intel Celeron 800 MHz e 64MB de mem´oria. . 71

4.4 Convergˆencia dos Problemas 10×10 com 2 links. . . 72

4.5 Dura¸c˜ao M´edia das Itera¸c˜oes dos Problemas 10×10 com 2 links, em um

computador com processador Intel Celeron 800 MHz e 64MB de mem´oria. . 72

4.6 Convergˆencia dos Problemas 10×15 com 1 link. . . 73

4.7 Dura¸c˜ao M´edia das Itera¸c˜oes dos Problemas 10×15 com 1 link, em um

computador com processador Intel Celeron 800 MHz e 64MB de mem´oria. . 73

4.8 Convergˆencia dos Problemas 10×15 com 2 links. . . 74

4.9 Dura¸c˜ao M´edia das Itera¸c˜oes dos Problemas 10×15 com 2 links, em um

computador com processador Intel Celeron 800 MHz e 64MB de mem´oria. . 74

4.10 Convergˆencia dos Problemas 10×15 com 3 links. . . 75

4.11 Dura¸c˜ao M´edia das Itera¸c˜oes dos Problemas 10×15 com 3 links, em um

computador com processador Intel Celeron 800 MHz e 64MB de mem´oria. . 75

(15)

4.12 Problema de teste n.8, com 10 produtos e 10 m´aquinas. . . 87

4.13 Problema de teste n.19, com 10 produtos e 15 m´aquinas. . . 88

(16)

INTRODUC

¸ ˜

AO

A otimiza¸c˜ao ´e o ramo da matem´atica aplicada que tem por objetivo encontrar a melhor solu¸c˜ao para problemas que admitam diversas solu¸c˜oes poss´ıveis.

Problemas de otimiza¸c˜ao, na sua forma geral, tˆem por objetivo maximizar ou minimizar uma fun¸c˜ao em um dom´ınio restrito. Para que a resolu¸c˜ao de problemas deste tipo seja poss´ıvel, eles devem ser modelados matematicamente, isto ´e, deve ser constru´ıda uma representa¸c˜ao matem´atica do problema enfrentado, capturando a sua essˆencia. Di-versos problemas da vida real podem ser encarados como problemas de otimiza¸c˜ao, tais como o descobrimento de uma melhor rota entre cidades, a melhor forma de empacotar objetos, o seq¨uenciamento de tarefas, entre outros. Resolver tais problemas pode ser encarado como uma busca pela melhor solu¸c˜ao em um espa¸co de solu¸c˜oes potenciais.

Para espa¸cos de busca pequenos, os cl´assicos m´etodos exaustivos s˜ao usualmente suficientes. No entanto, para espa¸cos de busca extensos, t´ecnicas de inteligˆencia artificial devem ser empregadas, j´a que tais problemas s˜ao de dif´ıcil resolu¸c˜ao por possu´ırem uma quantidade tamanha de solu¸c˜oes que torna invi´avel a sua simples enumera¸c˜ao.

Problemas de seq¨uenciamento de tarefas a serem realizadas, de um modo geral, s˜ao frequentes em ind´ustrias e empresas, as quais buscam reduzir seu custo operacional e, conseq¨uentemente, alcan¸car uma maior produtividade. Os problemas de seq¨uenciamento Job Shop pertencem `a classe NP-dif´ıcil [25] [13] [38], ou seja, n˜ao ´e conhecido algoritmo polinomial capaz de resolvˆe-los. Como alternativa, m´etodos heur´ısticos s˜ao estudados para uma resolu¸c˜ao aproximada destes problemas, visto que o tempo para encontrar a

(17)

solu¸c˜ao ´otima atrav´es de um m´etodo exato pode vir a ser invi´avel.

A existˆencia de semelhan¸ca entre a suavidade em vizinhan¸cas nas instˆancias mais dif´ıceis e a suavidade em vizinhan¸cas nas instˆancias mais f´aceis de problemas do tipo Job-Shop [27] mostra uma tendˆencia a boa performance dos Algoritmos Gen´eticos em problemas devidamente decompostos pela tecnologia de grupos. A hibridiza¸c˜ao com a Relaxa¸c˜ao Lagrangeana ´e uma escolha natural por ser uma t´ecnica comprovadamente eficaz na solu¸c˜ao de problemas decompostos.

Este trabalho, tendo como objetivo elaborar uma nova proposta para a resolu¸c˜ao dos problemas de seq¨uenciamento de tarefas Job Shop, utilizando a heur´ıstica dos Al-goritmos Gen´eticos hibridizada com a Relaxa¸c˜ao Lagrangeana, foi organizado conforme adiante se descreve.

No primeiro cap´ıtulo, Problemas Job Shop, s˜ao estudados os problemas de seq¨uenciamento, com maior destaque para as caracter´ısticas apresentadas em um Job Shop. S˜ao analisados o seu espa¸co de solu¸c˜oes, a sua topologia, e sua complexidade.

O segundo cap´ıtulo, Algoritmos Gen´eticos, ´e dedicado `a heur´ıstica dos Al-goritmos Gen´eticos, abordando-se o seu funcionamento, as formas de codifica¸c˜ao de cro-mossomos mais utilizadas e os operadores gen´eticos tradicionais, al´em das caracter´ısticas necess´arias para um bom desempenho e das estrat´egias utilizadas nos casos adversos.

No terceiro cap´ıtulo ´e apresentada a Metodologia de Resolu¸c˜aoproposta por este trabalho. Um espa¸co genot´ıpico de solu¸c˜oes ´e criado, junto com as fun¸c˜oes de con-vers˜ao entre este espa¸co e o espa¸co real. S˜ao apresentados a decomposi¸c˜ao do problema Job Shop em subproblemas atrav´es da Relaxa¸c˜ao Lagrangeana e o algoritmo gen´etico elaborado para solu¸c˜ao destes subproblemas.

O quarto cap´ıtulo refere-se aos Testes e Resultados, registrando-se o desenvol-vimento da resolu¸c˜ao dos problemas e a conseq¨uente an´alise dos resultados obtidos.

(18)

Cap´ıtulo 1

PROBLEMAS JOB SHOP

S˜ao frequentes as ocasi˜oes nas quais ´e preciso alocar recursos a atividades que competem entre si por estes mesmos recursos. Estas situa¸c˜oes s˜ao conhecidas como

pro-blemas de seq¨uenciamentoe tˆem sido objeto de uma significante quantidade de artigos no

campo da pesquisa operacional, aparecendo nas mais variadas ´areas, como na inform´atica, na ind´ustria e na administra¸c˜ao geral.

Os componentes de um sistema de seq¨uenciamento s˜ao as tarefas, os recursos, a fun¸c˜ao objetivo e as restri¸c˜oes de potencialidade. As tarefas s˜ao o objeto principal do seq¨uenciamento, e devem ser ordenadas de modo a cumprir atividades, otimizando a fun¸c˜ao objetivo do problema, sem extrapolar a utiliza¸c˜ao dos recursos dispon´ıveis [18].

A execu¸c˜ao das tarefas demandam a aloca¸c˜ao de recursos, que podem ser m˜ao-de-obra, tempo de m´aquinas, financiamentos, ou quaisquer outros recursos que sejam consumidos para a sua realiza¸c˜ao. Os recursos podem ser de uso exclusivo, ou podem ser compartilhados pelas tarefas executadas, sendo os de uso exclusivo representados por res-tri¸c˜oes disjuntivase os recursos compartilhados representados porrestri¸c˜oes acumulativas

[34].

As restri¸c˜oes de potencialidade podem ser divididas em restri¸c˜oes de precedˆencia

e em restri¸c˜oes de localiza¸c˜ao no tempo [18]. As restri¸c˜oes de precedˆencia determinam

(19)

que uma tarefa n˜ao deve ser iniciada antes do t´ermino de outra tarefa, enquanto que as restri¸c˜oes de localiza¸c˜ao no tempo determinam que uma tarefa n˜ao deve iniciar-se antes de determinado instante, ou deve estar conclu´ıda antes de determinado momento.

O objetivo principal de um sistema de seq¨uenciamento ´e otimizar uma fun¸c˜ao objetivoque pode ter as mais diversas formas, de acordo com a ´area em que ele esteja sendo aplicado. Pode-se ressaltar como exemplos a conclus˜ao total das atividades envolvidas, a utiliza¸c˜ao eficaz de recursos, ou o cumprimento do prazo de entregas [3].

Na aplica¸c˜ao do seq¨uenciamento em um processo industrial, chamado problema de f´abrica, as tarefas s˜ao chamadas opera¸c˜oes e s˜ao processadas por m´aquinas (recursos) para produzir produtos(atividades). Existem trˆes tipos cl´assicos de problemas de f´abrica:

o Flow Shop, em que todos os produtos passam em uma mesma ordem por todas as

m´aquinas; o Job Shop, em que cada produto passa pelas m´aquinas em uma determinada ordem, n˜ao necessariamente a mesma; e o Open Shop, em que opera¸c˜oes s˜ao totalmente independentes [18]. Neste trabalho, ser´a tratado exclusivamente o problema de seq¨ uenci-amento do tipo Job Shop, objeto deste cap´ıtulo.

1.1

PROBLEMAS DE F ´

ABRICA

Os problemas onde o seq¨uenciamento ´e aplicado a um conjunto de m´aquinas utilizadas para a confec¸c˜ao de produtos s˜ao conhecidos como problemas de f´abrica. Os servi¸cos (jobs) representam as tarefas a serem realizadas na produ¸c˜ao de cada produto e as m´aquinas s˜ao os recursos a serem compartilhados. O conjunto de tarefas necess´arias `a produ¸c˜ao de um mesmo produto s˜ao geralmente referenciadas por gama operat´oria [34].

Um problema de f´abrica pode ser entendido como um conjunto de n produtos a serem processados por m m´aquinas. O processamento do produto Pi pela m´aquina Mj ´e

denominado por opera¸c˜ao Oij e requer o uso exclusivo da m´aquina Mj por um per´ıodo

de tempo Tij, necess´ario ao seu processamento. Al´em das opera¸c˜oes reais mencionadas,

(20)

Problemas de F´abrica 20

executadas, respectivamente, antes e ap´os todas as demais opera¸c˜oes [18] [45], delimitando o intervalo de tempo em que todas as opera¸c˜oes ser˜ao processadas.

1.1.1

Classifica¸

ao de Problemas de F´

abrica

Em um problema de f´abrica real, pode ser que nem todos os produtos estejam dispon´ıveis para serem processados no instante inicial. Neste caso, os produtos possuem tempos de partida que definem a sua data de chegada ao ch˜ao da f´abrica. Os tempos de partida dos produtos s˜ao eventos que n˜ao podem ser previstos, portanto seus requisitos de processamento tamb´em n˜ao podem ser conhecidos com antecedˆencia. O controle de um problema de seq¨uenciamento deste tipo pode ser referenciado como resseq¨uenciamento, pois eventos imprevis´ıveis requerem frequentes revis˜oes no seq¨uenciamento. Neste caso, o seq¨uenciamento de tarefas torna-se um problema n˜ao-determin´ıstico que deve ser realizado em um per´ıodo de tempo totalmente aberto, sendo definido como um problemadinˆamico.

Por outro lado, um problema de seq¨uenciamento est´atico caracteriza-se pelo fato de que, uma vez iniciado o processo de produ¸c˜ao, os recursos utilizados para cada atividade n˜ao podem mais ser alterados at´e que todos os produtos estejam conclu´ıdos. Neste sistema ideal, todos os recursos est˜ao sempre dispon´ıveis ao in´ıcio do per´ıodo de seq¨uenciamento e n˜ao existe a possibilidade de interrup¸c˜ao (preemp¸c˜ao). Os tempos entre a utiliza¸c˜ao de uma m´aquina e outra n˜ao s˜ao considerados, tampouco qualquer tempo gasto com prepara¸c˜oes [43].

(21)

1.1.2

Problemas de F´

abrica Cl´

assicos

Nos problemas de f´abrica, as opera¸c˜oes utilizam cada m´aquina de forma exclusiva. Assim, um problema de f´abrica reside basicamente na busca de um seq¨uenciamento das opera¸c˜oes que utilizam uma mesma m´aquina, o qual deve ser planejado de tal forma que as m´aquinas n˜ao tenham mais de uma opera¸c˜ao a tratar por vez. Esta representa¸c˜ao ´e feita por restri¸c˜oes disjuntivas que indicam a possibilidade de apenas uma ou outra opera¸c˜ao estar sendo realizada em um dado momento.

Entre os diversos tipos de problemas de f´abrica h´a alguns casos particulares, como o caso da f´abrica com m´aquinas especializadas, em que cada opera¸c˜ao deve ser executada em uma m´aquina determinada; o caso daf´abrica com m´aquinas paralelas, onde uma opera¸c˜ao pode ser executada em qualquer m´aquina de um mesmo tipo; e o caso da

f´abrica com uma ´unica m´aquina, onde todas as opera¸c˜oes s˜ao executadas em uma mesma

m´aquina [34].

Existem trˆes tipos de problemas cl´assicos em uma f´abrica com m´aquinas especi-alizadas [18]. Eles s˜ao classificados de acordo com as restri¸c˜oes de precedˆencia entre as opera¸c˜oes do problema:

• Flow Shop: Todos os produtos passam em uma mesma ordem por todas as m´aquinas.

Nos casos onde existem restri¸c˜oes que evitam a espera entre duas opera¸c˜oes conse-cutivas de uma mesma gama operat´oria, o problema ´e denominado flow shop sem

espera. Para o caso onde existem m´ultiplas m´aquinas de cada tipo, o problema ´e

denominado flow shop flex´ıvel.

• Job Shop: Cada produto passa pelas m´aquinas em uma determinada ordem, n˜ao

necessariamente a mesma. As m´aquinas podem n˜ao ser utilizadas por todos os produtos e alguns produtos podem utilizar v´arias vezes a mesma m´aquina, sendo este ´ultimo caso chamado de job shop com recircula¸c˜ao.

(22)

Problemas de F´abrica 22

Para ilustrar os tipos de problemas citados, podemos classificar comoFlow Shop

uma ind´ustria automotiva, produtora de diversos modelos de autom´oveis, tendo que re-alizar, para cada modelo, as mesmas opera¸c˜oes na mesma seq¨uˆencia, mas com pequenas altera¸c˜oes (que caracterizam cada modelo). Como Job Shop pode ser classificada uma f´abrica de sapatos, onde todos os modelos passam por opera¸c˜oes semelhantes em m´aquinas em comum, mas possuem opera¸c˜oes peculiares para cada modelo, como m´aquinas es-pec´ıficas para coloca¸c˜ao de salto alto em modelos femininos e outras eses-pec´ıficas para coloca¸c˜ao do solado de tˆenis. Como exemplo de Open Shoppode-se citar uma f´abrica de pr´e-moldados, onde um m´ovel ´e composto de pe¸cas que podem ser produzidas de forma totalmente independente, em qualquer ordem, e somente serem unidas ao final do processo produtivo.

Em uma f´abrica com m´aquinas paralelas, estas podem seridˆenticasoudiferentes. Se as m´aquinas forem idˆenticas, o tempo de execu¸c˜ao Tij de uma opera¸c˜ao Oij ser´a o

mesmo para todas as m´aquinas Mj, mas se elas forem diferentes, o tempo de execu¸c˜ao

Tij da opera¸c˜ao ser´a diferente para cada m´aquina Mj.

1.1.3

Restri¸

oes e Crit´

erios de Sele¸

ao

A execu¸c˜ao das opera¸c˜oes em problemas de f´abricas utilizam m´aquinas de forma exclusiva; por isto s˜ao representados porrestri¸c˜oes disjuntivasque indicam a possibilidade ´

unica de uma ou de outra opera¸c˜ao ser realizada em um dado momento. Para o caso de recursos limitados que sejam compartilhados, como o tempo total gasto na produ¸c˜ao ou insumos utilizados, estes s˜ao representados por restri¸c˜oes acumulativas que indicam um valor m´aximo que n˜ao pode ser ultrapassado pela soma dos recursos consumidos pelas opera¸c˜oes realizadas.

(23)

devem ser processados pelas m´aquinas. As restri¸c˜oes de localiza¸c˜ao no tempo imp˜oem limites inferiores e superiores de tempo, for¸cando que uma opera¸c˜ao n˜ao inicie antes de determinado momento (quando seus insumos estar˜ao dispon´ıveis), ou esteja conclu´ıda antes de determinado instante (prazo de entrega).

O objetivo principal de um problema de f´abrica ´e a otimiza¸c˜ao de uma fun¸c˜ao objetivo, tamb´em chamada de crit´erio de sele¸c˜ao, que pode variar de acordo com as ne-cessidades do sistema de produ¸c˜ao. Como exemplo de algumas fun¸c˜oes objetivo frequen-temente utilizadas, pode-se citar [34]: a dura¸c˜ao total do seq¨uenciamento (makespan); o somat´orio dos tempos de in´ıcio das opera¸c˜oes; o ciclo de produ¸c˜ao m´edio; o ciclo de produ¸c˜ao m´edio ponderado; o atraso alg´ebrico m´aximo; o atraso m´edio; atraso m´edio ponderado; e, o n´umero de produtos em atraso.

Para que um problema seja eficientemente estudado, deve ser devidamente mo-delado de forma a n˜ao permitir interpreta¸c˜oes amb´ıguas.

1.1.4

Modelagens do Problema de F´

abrica

V´arias formas diferentes de modelagem j´a foram propostas, dentre as quais d´a-se destaque `a Modelagem por Grafos Disjuntivos e `a Modelagem Matem´atica de Manne.

1.1.4.1 Modelagem por Grafos Disjuntivos

Uma abordagem gr´afica de um situa¸c˜ao permite que esta seja mais facilmente compreendida. Al´em disto, podem ser previstos os impactos de pequenas altera¸c˜oes na situa¸c˜ao original, pois os relacionamentos entre os componentes podem ser visualizados em um ´unico contexto.

(24)

Problemas de F´abrica 24

especiais, fonte (O0) e sorvedouro (O∗). C, o conjunto de arcos conjuntivos, representa a

seq¨uˆencia tecnol´ogica das opera¸c˜oes dentro de um mesmo produto, ou seja, a ordem em que as opera¸c˜oes Oij de um mesmo produtoPi devem ser processadas. Esta seq¨uˆencia de

opera¸c˜oes ´e tamb´em conhecida como a gama operat´oria do produto. D, o conjunto dos arcos disjuntivos, representa os pares de opera¸c˜oes (Oij, Okj) que devem ser realizadas

na mesma m´aquina Mj. O tempo de processamento de cada opera¸c˜ao Tij ´e um valor de

pondera¸c˜ao associado ao n´o correspondente.

O

11

O

12

O

*

O

22

O

21

O

24

O

33

O

34

O

44

O

43

O

0

Legenda:

: Arcos Disjuntivos : Arcos Conjuntivos

T11=4 T

12=2

T22=2 T21=1 T24=5

T33=3 T34=4

T44=1

T43=2 T0=0

T*=0

O

11

O

12

O

*

O

22

O

21

O

24

O

33

O

34

O

44

O

43

O

0

Legenda:

: Arcos Disjuntivos : Arcos Conjuntivos

T11=4 T

12=2

T22=2 T21=1 T24=5

T33=3 T34=4

T44=1

T43=2 T0=0

T*=0

Figura 1.1: Problema Job Shop modelado por um Grafo Disjuntivo.

Os problemas de Job Shop tamb´em podem ser vistos como a defini¸c˜ao da ordem entre todas as opera¸c˜oes que devem ser processadas na mesma m´aquina; isto ´e, determinar a precedˆencia entre estas opera¸c˜oes. No modelo de grafo disjuntivo, isto ´e realizado definindo dire¸c˜oes para todos os arcos disjuntivos.

Umasele¸c˜ao´e um conjunto de arcos direcionados selecionados de arcos disjunti-vos. Por defini¸c˜ao, uma sele¸c˜ao ´ecompletase todas as disjun¸c˜oes forem selecionadas. Esta sele¸c˜ao ser´a consistente se o grafo direcionado resultante for ac´ıclico. Pode-se observar uma sele¸c˜ao completa consistente na figura 1.2.

(25)

O

11

O

12

O

*

O

22

O

21

O

24

O

33

O

34

O

44

O

43

O

0

T11=4 T

12=2

T22=2 T

21=1 T24=5

T33=3 T34=4

T44=1

T 43=2 T

0=0

T*=0

O

11

O

12

O

*

O

22

O

21

O

24

O

33

O

34

O

44

O

43

O

0

T11=4 T

12=2

T22=2 T

21=1 T24=5

T33=3 T34=4

T44=1

T 43=2 T

0=0

T*=0

Figura 1.2: Sele¸c˜ao completa consistente do grafo exibido na figura 1.1 .

seq¨uenciamento de opera¸c˜oes t˜ao logo quanto poss´ıvel ´e chamada de seq¨uˆenciasemi-ativa. Neste tipo de seq¨uˆencia, nenhuma opera¸c˜ao pode ser antecipada sem que a ordem de pro-cessamento dentro de uma m´aquina seja alterada. Uma sele¸c˜ao completa consistente e sua seq¨uˆencia semi-ativa correspondente podem ser representadas pelo mesmo s´ımbolo S

sem confus˜ao. O makespan L´e dado pelo maior caminho ponderado no grafo que leva da fonte ao sorvedouro. Este caminho P, chamado de um caminho cr´ıtico, ´e composto por uma seq¨uˆencia de opera¸c˜oes cr´ıticas, cujas opera¸c˜oes, se consecutivas na mesma m´aquina, identificam um bloco cr´ıtico. A distˆancia entre duas seq¨uˆencias S e T pode ser medida pelo n´umero de diferen¸cas na ordem de processamento das opera¸c˜oes em cada m´aquina [33]. Em outras palavras, a distˆancia pode ser calculada pela soma dos arcos disjuntivos que possuem dire¸c˜oes diferentes em S eT, sendo esta distˆancia denominada de distˆancia do grafo disjuntivo (DG). Pode-se ver a seq¨uˆencia semi-ativa da sele¸c˜ao completa con-sistente apresentada na figura 1.2, e o seu respectivo caminho cr´ıtico, representados na figura 1.3.

(26)

Problemas de F´abrica 26 15 O43 14 O12 O11 O44 13 12 11 O34 O24 10 9 8 7 O33 P1 P4 P3 O21 O22 P2 6 5 4 3 2 1 15 O43 14 O12 O11 O44 13 12 11 O34 O24 10 9 8 7 O33 P1 P4 P3 O21 O22 P2 6 5 4 3 2 1 tempo

Figura 1.3: Seq¨uˆencia semi-ativa relativa `a sele¸c˜ao completa consistente apresentada na figura 1.2 com seu caminho cr´ıtico em destaque.

para a esquerda poss´ıveis, constitui uma seq¨uˆencia ativa. Uma seq¨uˆencia ´otima ´e sempre uma seq¨uˆencia ativa [45], de modo que o espa¸co de busca pode ser seguramente limitado ao conjunto de todas as seq¨uˆencias ativas.

1.1.4.2 Modelagem Matem´atica do Job Shop

Outra forma de modelar um problema ´e descrevˆe-lo utilizando nota¸c˜oes ma-tem´aticas e rela¸c˜oes de equivalˆencia. Diversas formula¸c˜oes mama-tem´aticas para se descrever problemas da classe dos Job-Shop j´a foram propostas. Uma delas foi feita por A. S. Manne [32], na qual ´e definida uma vari´avel bin´aria (yikj) para cada par de opera¸c˜oes (Oij, Okj)

que s˜ao processadas por uma mesma m´aquina Mj. Esta vari´avel em 0−1 ´e escrita, da

seguinte forma:

yikj =

0, se Oij precedeOkj sobre Mj

1, seOkj precede Oij sobre Mj.

(27)

BS =

n

X

i=1

m

X

j=1

Tij. (1.1)

As restri¸c˜oes do problema podem ser expressas pelas equa¸c˜oes:

Iu+1,i ≥Iui+Tui;∀((u, i),(u+ 1, i))∈ Ci (1.2)

Iij ≥ Ikj+Tkj−BS(yikj);∀((i, j),(k, j))∈ Dj (1.3)

Ikj ≥Iij +Tij −BS(1−yikj);∀((i, j),(k, j))∈ Dj (1.4)

onde Iij ´e o tempo de in´ıcio da opera¸c˜ao Oij.

As restri¸c˜oes (1.2) representam as restri¸c˜oes da seq¨uˆencia tecnol´ogica referentes `as opera¸c˜oes do produto Pi (restri¸c˜oes conjuntivas). As restri¸c˜oes (1.3) e (1.4) representam

as restri¸c˜oes disjuntivas. Neste modelo, para cada par arbitr´ario de arcos disjuntivos, somente uma das restri¸c˜oes (1.3) e (1.4) ´e ativada. Assim, quando a arbitragem fizer Okj

antes de Oij, yikj vale 0, e a restri¸c˜ao (1.4) ´e ent˜ao inativa j´a que [Ikj ≥Iij+pij−BS],

pois da forma que BS foi definida(BS =Pn

i=1

Pm

j=1Tij), faria com que a opera¸c˜ao Okj

tivesse um tempo de in´ıcio Ikj bastante alto, ou mais especificamente, seria igual a, no

m´ınimo, `a soma das dura¸c˜oes de todas as opera¸c˜oes, menos a dura¸c˜ao da opera¸c˜ao Tkj.

Matematicamente ter-se-ia:

Ikj ≥Iij +Tij − n

X

i=1

m

X

j=1

Tij (1.5)

Assim, a equa¸c˜ao (1.5) tornar-se-ia invi´avel, pois o tempo de in´ıcio Iij teria

(28)

Problemas de Job Shop 28

Iij ≥ Ikj+Tkj. (1.6)

1.2

PROBLEMAS JOB SHOP

Um problema da classe Job Shop pode ser entendido como um conjunto de n

produtos a serem processados por m m´aquinas, onde cada produto deve passar pelas m´aquinas em uma seq¨uˆencia tecnol´ogica pr´e-definida. O processamento do produto Pi

pela m´aquinaMj ´e denominado de opera¸c˜aoOij, e requer o uso exclusivo da m´aquinaMj

por um per´ıodo de tempo Tij, necess´ario ao seu processamento.

Assim, o objetivo de um problema Job Shop ´e produzir uma seq¨uˆencia ordenada de opera¸c˜oes para ser processada em cada m´aquina. O tempo de in´ıcio de cada opera¸c˜ao

Iij ´e atribu´ıdo de acordo com a referida seq¨uˆencia, de forma a otimizar uma fun¸c˜ao

objetivo desejada, sempre satisfazendo `as restri¸c˜oes do problema, conforme se trata na se¸c˜ao a seguir.

1.2.1

Topologia do Job Shop

A no¸c˜ao de topologia de adapta¸c˜ao tem a sua origem nas ciˆencias biol´ogicas. A id´eia b´asica ´e ver o espa¸co de solu¸c˜oes como um espa¸co topol´ogico onde estas solu¸c˜oes relacionadas ocupam localidades pr´oximas. Os valores de uma fun¸c˜ao adapta¸c˜ao em todas as solu¸c˜oes poss´ıveis de um Job Shop formam uma superf´ıcie chamada superf´ıcie

de aptid˜ao, criando um modelo de espa¸co formado por picos, vales, cumes e platˆos. Este

modelo de topologia ´e bem utilizado para descrever a evolu¸c˜ao de uma esp´ecie fixando-se em regi˜oes de melhor adapta¸c˜ao [27].

(29)

elemento de N(s) pode ser transformado em s atrav´es de uma ´unica invers˜ao na ordem de precedˆencia de duas opera¸c˜oes em uma mesma m´aquina. Se elementos arbitr´arios de

S podem ser transformados em qualquer outro elemento de S atrav´es de uma seq¨uˆencia finita de movimenta¸c˜oes em vizinhan¸cas, N ´e chamado de uma vizinhan¸ca conexa.

Neste caso, a fun¸c˜ao 1.7 ´e chamada de superf´ıcie de aptid˜ao com respeito a N, onde f(s) denota o valor objetivo de s. Mais geralmente, uma superf´ıcie (landscape) refere-se a uma fun¸c˜ao que leva um conjunto finito e estruturado (espa¸co de busca) em um n´umero real [44].

f :S 7→ ℜ,

s7→f(s) (1.7)

A superf´ıcie de um Job Shop pode ser analisada a partir de dois diferentes pontos de vista. A primeira, com rela¸c˜ao `as diferen¸cas estruturais entre a superf´ıcie de aptid˜ao do Job Shop e de outros problemas combinat´orios. A segunda, em rela¸c˜ao `as diferen¸cas significantes entre as superf´ıcies de aptid˜ao de problemas Job Shop de f´acil solu¸c˜ao e de dif´ıcil solu¸c˜ao.

1.2.1.1 Vizinhan¸cas em um Espa¸co de Busca

A defini¸c˜ao b´asica de vizinhan¸cas em um espa¸co de busca foi proposta por Van Laarhoven et al. [24]. Seja S o conjunto de todas as solu¸c˜oes fact´ıveis para uma instˆancia de um problema. Uma solu¸c˜ao s1 ∈ S ´e transformada em uma solu¸c˜ao s2 pela revers˜ao

(30)

Problemas de Job Shop 30

1.2.1.2 Distˆancias em um Espa¸co de Busca

A distˆancia entre duas solu¸c˜oes ´e determinada pelo n´umero de rela¸c˜oes de pre-cedˆencia invertidas em opera¸c˜oes em m´aquinas. Esta diferen¸ca inteira define a distˆancia Hamming de duas strings bin´arias. Logo, H(s1, s2) = h reflete a situa¸c˜ao onde s1 pode

ser transformada em s2 por um n´umero m´ınimo de h movimenta¸c˜oes de vizinhan¸ca

sub-sequentes, e vice-versa. A distˆancia m´edia medida em um conjunto de solu¸c˜oes reflete a extens˜ao do espa¸co de busca que foi configurado. Comparando os espa¸cos P e S, pode-se esperar uma extens˜ao muito menor deP. Experimentos similares registrados por M¨uhlenbein [31] para um outro problema cl´assico de seq¨uenciamento, como o problema do caixeiro viajante (TSP), confirmam aquela expectativa. Mas para o Job Shop isto n˜ao ´e verdadeiro. Apesar do tamanho de P ser consideravelmente menor que o tamanho de

S, a extens˜ao de ambos os espa¸cos s˜ao quase iguais. Pode-se ent˜ao concluir que os ´otimos locais est˜ao espalhados por toda a superf´ıcie de aptid˜ao.

1.2.1.3 Entropia de um Espa¸co de Busca

A entropia, medida que caracteriza o grau de desordem de um sistema, ´e um bom indicador para a distribui¸c˜ao das rela¸c˜oes de precedˆencia entre as opera¸c˜oes em um conjunto finito de solu¸c˜oes como um espa¸co de busca. Para um conjunto gerado randomicamente ´e esperada uma entropia pr´oxima de um (E = 1), enquanto que ´otimos globais possuem uma entropia tendendo a zero [27].

Seja wi a quantidade de solu¸c˜oes observadas com a rela¸c˜ao de precedˆencia i em

um conjunto de µ solu¸c˜oes, pode-se calcular a entropia (E) relativa a esta rela¸c˜ao de precedˆencia atrav´es da f´ormula 1.8, e a entropia de um conjunto espec´ıfico de n rela¸c˜oes de precedˆencia pode ser calculada por 1.9 [27].

Ei = −

1

log√2.

wi

µ.log wi

(31)

E = 1

n

n

X

i=1

Ei (1.9)

Para os Job Shop observam-se entropias significativamente menores do que um, indicando que as rela¸c˜oes de precedˆencia n˜ao est˜ao uniformemente distribu´ıdas, mesmo sendo geradas randomicamente. Al´em disto, a entropia das instˆancias dif´ıceis s˜ao apro-ximadamente 13 maiores do que a entropia das instˆancias f´aceis [27]. As restri¸c˜oes tec-nol´ogicas das instˆancias f´aceis conduzem `a fixa¸c˜ao de um grande n´umero de rela¸c˜oes de precedˆencias, e quanto mais restri¸c˜oes possui um Job Shop, menor ´e o n´umero de solu¸c˜oes fact´ıveis que ele possui, reduzindo o tamanho do seu espa¸co de busca.

Neste caminho, a entropia d´a uma pista da dificuldade da instˆancia do problema. ´

Otimos locais de um Job Shop n˜ao compartilham um n´umero consider´avel de rela¸c˜oes de precedˆencia. Para o problema do caixeiro viajante (TSP) foram obtidos resultados completamente diferentes, pois, por causa `as instˆancias sim´etricas, duas rotas ´otimas compartilham em torno de trinta por cento de seus limites [16]. Este resultado confirma a id´eia de que os ´otimos locais est˜ao localizados distantes entre si.

1.2.1.4 Suavidade do Espa¸co de Busca

De acordo com a opini˜ao predominante, a suavidade de uma superf´ıcie ´e o pr´e-requisito central para o sucesso de uma busca adaptativa [27]. A suavidade de um espa¸co de busca, ou o seu enrugamento, ´e expresso pelo valor esperado do diferencial de ap-tid˜ao D(f1, f2)/H(s1, s2). Exemplos deste diferencial podem ser produzidos tra¸cando-se

caminhos pela superf´ıcie, sem levar em considera¸c˜ao a entropia, portanto pode-se assumir que a superf´ıcie ´e estatisticamente isotr´opica, isto ´e, a m´edia do diferencial de aptid˜ao observado n˜ao depende do caminho realizado [44].

(32)

Problemas de Job Shop 32

plana. Em um Job Shop, a medida do tamanho da correla¸c˜ao indica uma superf´ıcie mais suave para as instˆancias mais dif´ıceis em rela¸c˜ao `as instˆancias mais f´aceis. Enquanto uma correla¸c˜ao pequena torna mais eficaz uma busca local, as correla¸c˜oes maiores podem provocar uma perda da capacidade de se proceder `a busca de maneira eficaz. A rela¸c˜ao entre correla¸c˜ao da superf´ıcie e do grau de facilidade do problema tamb´em pode ser confirmada em Kauffman [20].

A suficiˆencia da correla¸c˜ao pequena, tanto para instˆancias f´aceis como para instˆancias dif´ıceis, ´e mostrada pela compara¸c˜ao de movimentos dentro de vizinhan¸cas em busca de ´otimos locais. Para este prop´osito, foi utilizada a heur´ıstica Hill-Climbing e a melhora relativa em cada passo serviu como uma aproxima¸c˜ao do diferencial de aptid˜ao em pequenas vizinhan¸cas da superf´ıcie. Os valores encontrados foram quase idˆenticos para as instˆancias f´aceis e dif´ıceis, comprovando uma suavidade similar em cada vizinhan¸ca em ambos os tipos de instˆancias [27].

1.2.1.5 Conclus˜oes sobre a Topologia do Job Shop

Pode-se concluir que as instˆancias mais f´aceis possuem uma superf´ıcie mais mon-tanhosa, enquanto as instˆancias mais dif´ıceis apresentam superf´ıcie mais plana e de maior extens˜ao, exigindo mais passos para atravess´a-la. Al´em disto, as instˆancias mais dif´ıceis demandam um maior n´umero de solu¸c˜oes que as instˆancias mais f´aceis, pois ocorre uma maior varia¸c˜ao nas caracter´ısticas das solu¸c˜oes (entropia) nas mais dif´ıceis. Isto conduz `a evidˆencia de que o direcionamento da pesquisa em instˆancias mais f´aceis pode identificar, mais propriamente, solu¸c˜oes favor´aveis.

(33)

efetivo da busca.

1.2.2

Busca em Vizinhan¸

cas

Uma t´ecnica largamente utilizada de busca local para resolver problemas de oti-miza¸c˜ao combinat´oria ´e abusca em vizinhan¸cas. Uma solu¸c˜ao x´e representada como um ponto do espa¸co de busca, e a vizinhan¸ca N(x) ´e definida como todas as solu¸c˜oes com distˆancia hamming de x exatamente igual a um (H(x) = 1).

De uma forma geral, o algoritmo de uma busca em vizinhan¸cas segue os seguintes passos:

1. Selecione uma solu¸c˜ao x=xbest de partida.

2. Fa¸ca at´e que alguma condi¸c˜ao de parada seja satisfeita:

(a) Selecione uma solu¸c˜ao yN(x) de acordo com um crit´erio de escolha

baseado no valor f(y). (b) Fa¸ca x=y.

(c) Se f(x)< f(xbest), ent˜ao fa¸caxbest =x.

A possibilidade de varia¸c˜oes no crit´erio de escolha adotado permite que as buscas em vizinhan¸cas sejam separadas em categorias, como o m´etodo descendente

Selecione y N(x), tal que f(y)< f(x),

e o m´etodo estoc´astico

(34)

Problemas de Job Shop 34

onde P(y) = exp((f(x)f(y))/T), com o parˆametro T tendendo a zero conforme o aumento do n´umero de itera¸c˜oes.

1.2.3

Complexidade do Job Shop

O problema de seq¨uenciamento Job Shop ´e conhecido como sendo um dos piores membros dos problemas de ordena¸c˜ao NP-dif´ıceis a serem resolvidos [25] [13] [38], sendo, inclusive, muito mais dif´ıcil que o tradicional problema do Caixeiro Viajante. O problema de seq¨uenciamento Flow Shop, que ´e um caso espec´ıfico do Job Shop, ´e equivalente ao pro-blema do Caixeiro Viajante assim´etrico [22]. M´etodos que comprovadamente obtˆem bons resultados em outras classes de problemas combinat´orios ainda possuem bastante espa¸co para serem melhorados quando aplicados `a classe dos problemas Job Shop est´aticos [11]. Uma indica¸c˜ao disto ´e dada pelo fato de que um problema 10x10 (dez produtos diferentes sendo processados em dez m´aquinas diferentes) formulado por Muth e Thompson [32] permaneceu sem resposta por mais de 20 anos [45].

Em um sistema de produ¸c˜ao do tipo Job Shop podem ser identificados alguns fatores que contribuem para a dificuldade do processo de seq¨uenciamento [25]: a comple-xidade, as restri¸c˜oes e a incerteza. A complexidade est´a evidenciada na quantidade de produtos com diferentes gamas de processamento e na quantidade de m´aquinas para pro-cess´a-los. As restri¸c˜oes podem ser temporais, como datas de entrega, precedˆencias entre as opera¸c˜oes, tempos de prepara¸c˜ao das m´aquinas e tempos de transporte, podendo ser f´ısicas como a capacidade dos recursos e a capacidade do n´ıvel de estoque. Por fim, a incer-teza, quando as decis˜oes tˆem que ser tomadas, muitas vezes, com informa¸c˜ao incompleta e incerta sobre o estado futuro do ambiente de produ¸c˜ao.

1.2.4

Decomposi¸

ao do Job Shop

(35)

de um grande volume de c´alculos concentrados em um ´unico problema, por c´alculos lo-cais de menor dimens˜ao, que podem ser vistos como subproblemas do problema original. A decomposi¸c˜ao tem por objetivo identificar estruturas que levem a um desacoplamento m´aximo entre subproblemas. Como dificilmente os subproblemas s˜ao totalmente disjun-tos, os res´ıduos existentes s˜ao tratados por um n´ıvel coordenador, chamado programa

mestre, que supervisiona o acoplamento existente.

A abordagem do n´ıvel coordenador quanto `a resolu¸c˜ao dos subproblemas pode ser realizada de forma sequencial ou paralela, de acordo com a estrat´egia adotada. Ao t´ermino de cada itera¸c˜ao, os subproblemas trocam parˆametros com o problema mestre e este realiza ajustes para a pr´oxima itera¸c˜ao dos subproblemas. Este processo repete-se at´e que alguma condi¸c˜ao de parada seja atingida.

A aplica¸c˜ao de uma t´ecnica de decomposi¸c˜ao em um problema de f´abrica propicia a redu¸c˜ao das linhas de produ¸c˜ao ac´elulas de fabrica¸c˜ao, que s˜ao menos complexas e mais simples de ser estudadas. Assim, um problema de seq¨uenciamento do tipo Job-Shop pode ser decomposto em subproblemas, sendo estes tamb´em do tipo Job-Shop, por´em com dimens˜ao inferior.

Neste trabalho, aplica-se a Relaxa¸c˜ao Lagrangeana, a qual ser´a tratada na se¸c˜ao 3.2.1, como ferramenta para decompor e resolver problemas previamente particionados pela Tecnologia de Grupos.

1.2.4.1 Tecnologia de Grupos

(36)

Problemas de Job Shop 36

(37)

ALGORITMOS GEN´

ETICOS

Nas duas ´ultimas d´ecadas, houve um crescente interesse em rela¸c˜ao aos algoritmos adaptativos, motivados biologicamente, baseados nos princ´ıpios da evolu¸c˜ao de Charles Darwin [6] (adapta¸c˜ao e sele¸c˜ao natural). Estes m´etodos est˜ao posicionados como um subitem da inteligˆencia artificial, sendo genericamente referenciados por Algoritmos Evo-lutivos.

Os Algoritmos Evolutivos n˜ao garantem encontrar a melhor solu¸c˜ao para um determinado problema. No entanto, com o aumento da instˆancia deste problema, quase sempre alcan¸cam uma boa aproxima¸c˜ao para a sua solu¸c˜ao ´otima com um tempo de crescimento inferior ao exponencial.

No grupo dos melhores Algoritmos Evolutivos est˜ao a Programa¸c˜ao Evolucion´aria, as Estrat´egias Evolucion´arias, a Programa¸c˜ao Gen´etica e os Algoritmos Gen´eticos, sendo estes ´ultimos os mais conhecidos e, muitas vezes, conforme explica Michalewicz [30], s˜ao utilizados como sinˆonimos para Algoritmos Evolutivos.

Os Algoritmos Gen´eticos j´a foram aplicados com sucesso em diversas ´areas [15], entre elas a Otimiza¸c˜ao de Problemas, na qual o cromossomo ´e utilizado como repre-senta¸c˜ao dos diferentes parˆametros a serem otimizados. A sua utiliza¸c˜ao para resolver problemas da classe dos Job Shop foi feita pela primeira vez por Davis [8] em 1985.

(38)

Funcionamento dos Algoritmos Gen´eticos 38

Ressalte-se que a origem dos Algoritmos Gen´eticos pode ser tra¸cada a partir do in´ıcio dos anos 50, quando um grupo de bi´ologos utilizaram computadores para a simula¸c˜ao de sistemas biol´ogicos [15]. Todavia, o trabalho realizado no final dos anos 60 e in´ıcio dos anos 70, na Universidade de Michigan sob a dire¸c˜ao de John Holland [17], deu aos Algoritmos Gen´eticos a forma com que s˜ao conhecidos atualmente.

2.1

FUNCIONAMENTO DOS ALGORITMOS

GEN´

ETICOS

Os Algoritmos Gen´eticos s˜ao uma heur´ıstica cujo modelo de comportamento de-riva de alguns dos mecanismos evolutivos existentes na natureza. O seu comportamento ´e simulado com a cria¸c˜ao de um modelo formado por uma popula¸c˜ao de solu¸c˜oes potenciais composta por indiv´ıduos, os quais s˜ao representados por estruturas de dados chamadas cromossomos, an´alogos aos cromossomos do DNA e compostos por caracteres (genes) que representam os parˆametros de uma solu¸c˜ao. Os indiv´ıduos que comp˜oem a popula¸c˜ao inicial entram, ent˜ao, em um processo de evolu¸c˜ao simulada.

(39)

• Avalia¸c˜ao dos cromossomos de todos os indiv´ıduos da gera¸c˜ao atual em rela¸c˜ao `a fun¸c˜ao objetivo do problema, sendo o resultado obtido chamado defitness do indiv´ıduo.

• Sele¸c˜ao dos indiv´ıduos com melhor fitness.

• Cria¸c˜ao de uma nova popula¸c˜ao de solu¸c˜oes atrav´es da aplica¸c˜ao dos opera-dores gen´eticos, tais como o crossover(recombina¸c˜ao gen´etica) e amuta¸c˜ao

nos indiv´ıduos selecionados.

• Desconsidera¸c˜ao da popula¸c˜ao anterior e repeti¸c˜ao dos passos acima utili-zando a nova popula¸c˜ao, at´e que uma determinada condi¸c˜ao seja satisfeita.

Cada itera¸c˜ao de um algoritmo gen´etico ´e chamada de gera¸c˜aoe, apesar de n˜ao haver uma correspondˆencia exata com o comportamento das gera¸c˜oes na natureza (na natureza elas n˜ao s˜ao pontuais), esta defini¸c˜ao ´e bastante conveniente.

A popula¸c˜ao inicial ´e escolhida aleatoriamente, ou de forma direcionada por al-gum conhecimento adquirido em experiˆencia pr´evia. A partir de ent˜ao, os operadores gen´eticos trabalham com o objetivo de melhorar a popula¸c˜ao de acordo com a avalia¸c˜ao do fitness de cada indiv´ıduo.

2.2

CODIFICAC

¸ ˜

AO DOS GEN ´

OTIPOS

(40)

Operadores Gen´eticos 40

vari´avel e, para cada codifica¸c˜ao, devem ser aplicadas formas diferentes dos operadores gen´eticos.

O gen´otipo ideal ´e aquele que, embora se apresente mais simples, consegue conter todas as informa¸c˜oes necess´arias para caracteriza¸c˜ao ´unica de cada solu¸c˜ao do espa¸co de busca real do problema a ser resolvido, cujo espa¸co recebe a denomina¸c˜ao de fen´otipo

para completar a no¸c˜ao de causa e efeito com o gen´otipo. A aplica¸c˜ao dos operadores gen´eticos em espa¸cos de busca n˜ao-convexos pode gerar indiv´ıduos infact´ıveis para as gera¸c˜oes posteriores. Por este motivo, tamb´em ´e de grande importˆancia que o conjunto dos gen´otipos gere um espa¸co de busca convexo, ou com um m´ınimo de restri¸c˜oes.

A grande maioria dos trabalhos realizados com algoritmos gen´eticos utilizam cro-mossomos com tamanho fixo, embora, ultimamente, tenham sido utilizados crocro-mossomos com tamanho vari´avel em um n´umero consider´avel de pesquisas. Os genes mais utilizados s˜ao os inteiros e os bin´arios, que propiciam a utiliza¸c˜ao dos operadores gen´eticos tradi-cionais. Para o uso de cromossomos com tamanho vari´avel ou genes inteiros, ´e necess´ario a aplica¸c˜ao de operadores menos convencionais, como o crossover aritm´etico [28] ou o

crossover geom´etrico [29].

2.3

OPERADORES GEN´

ETICOS

Os operadores gen´eticos s˜ao mecanismos utilizados pelos Algoritmos Gen´eticos para transformar uma determinada popula¸c˜ao em uma gera¸c˜ao subsequente, criando novos indiv´ıduos com qualidade superior aos seus antecessores (melhor fitness).

(41)

2.3.1

Crossover

Conceitualmente, o crossover ´e uma transforma¸c˜ao bin´aria (2.1) que cria novos indiv´ıduos atrav´es da combina¸c˜ao de partes dos cromossomos de dois indiv´ıduos (pais) da gera¸c˜ao anterior.

mi :SxS −→ S (2.1)

Existem alguns estudos [9] [14] nos quais foram investigadas “orgias”, onde o crossover passa a ser uma transforma¸c˜ao de n-´esima ordem (2.2) criando novos indiv´ıduos atrav´es da combina¸c˜ao de partes dos cromossomos, neste caso, de mais de dois indiv´ıduos da gera¸c˜ao anterior.

mi :SxSx· · ·xS −→ S (2.2)

O operador de recombina¸c˜ao (crossover) concentra o seu poder de a¸c˜ao na com-bina¸c˜ao das informa¸c˜oes existentes nos cromossomos de um par de indiv´ıduos selecionados, os “cromossomos pais”, buscando a constru¸c˜ao de um novo indiv´ıduo de qualidade su-perior [42]. Este mecanismo permite a preserva¸c˜ao do c´odigo gen´etico dos indiv´ıduos selecionados (melhores indiv´ıduos), mas restringe o espa¸co de busca. Desde que o crosso-ver requer a combina¸c˜ao de cromossomos pais, a sua capacidade explorat´oria depende das diferen¸cas entre esses cromossomos e, conforme a popula¸c˜ao converge, o espa¸co que pode ser explorado pela combina¸c˜ao deste material gen´etico torna-se limitado e, conseq¨ uen-temente, pontos de ´otimo ficam fora do alcance do operador. Com a convergˆencia da popula¸c˜ao, as diferen¸cas entre os cromossomos integrantes das gera¸c˜oes mais avan¸cadas tendem a diminuir e o poder explorat´orio do crossover tamb´em se reduz [35].

(42)

Operadores Gen´eticos 42

2.3.1.1 Crossover de Um Ponto

No crossover de um ponto (figura 2.1), s˜ao escolhidos dois “cromossomos pais”, pertencentes `a gera¸c˜ao atual, que dar˜ao origem a dois descendentes, componentes da pr´oxima gera¸c˜ao. Para proceder a gera¸c˜ao dos filhos escolhe-se, aleatoriamente, um ponto de corte no cromossomo dos pais, a partir de onde o material gen´etico ser´a trocado. Desta forma, cada cromossomo filho ser´a composto pelo material gen´etico de um pai at´e o ponto de corte e, a partir da´ı, pelo material gen´etico do outro pai.

1 0 1 1 0 0

G1 1 0 1 1 0 0

G1

0 1 0 1 1 1

G2 0 1 0 1 1 1

G2

1 0 0 1 1 1

G3 1 0 0 1 1 1

G3

0 1 1 1 0 0

G4 0 1 1 1 0 0

G4

Figura 2.1: Crossover de Um Ponto.

Apesar de n˜ao haver consenso sobre o melhor tipo de crossover, o crossover de um ponto ´e tido, de uma forma geral, como o de pior performance [10]. O que contribui fortemente para este fato ´e a existˆencia de diferentes probabilidades de manuten¸c˜ao de genes de um cromossomo pai em um mesmo cromossomo filho para cada diferente posi¸c˜ao dos genes no cromossomo.

2.3.1.2 Crossover de Dois Pontos

(43)

dos genes que se situam nas extremidades dos cromossomos em um mesmo filho.

1 0 1 1 0 0

G1 1 0 1 1 0 0

G1

0 1 0 1 1 1

G2 0 1 0 1 1 1

G2

1 0 0 1 1 0

G3 1 0 0 1 1 0

G3

0 1 1 1 0 1

G4 0 1 1 1 0 1

G4

Figura 2.2: Crossover de Dois Pontos.

2.3.1.3 Crossover Uniforme

No crossover uniforme (figura 2.3) n˜ao existem pontos de corte. A permanˆencia de cada gene em um dado filho ´e decidida independentemente da permanˆencia dos demais genes. Este procedimento acarreta o benef´ıcio direto de a sobrevivˆencia de dois genes em um mesmo cromossomo filho ser totalmente independente das posi¸c˜oes que os genes ocupam no cromossomo pai [42].

1 1 1 1 0 1

G1 1 1 1 1 0 1

G1

0 0 1 1 1 0

G2 0 0 1 1 1 0

G2

1 0 1 1 0 0

G3 1 0 1 1 0 0

G3

0 1 1 1 1 1

G4 0 1 1 1 1 1

G4

Figura 2.3: Crossover Uniforme.

(44)

Operadores Gen´eticos 44

2.3.2

Muta¸

ao

A muta¸c˜ao (figura 2.4), diferentemente do crossover, ´e uma transforma¸c˜ao un´aria (2.3) que cria novos indiv´ıduos atrav´es da modifica¸c˜ao aleat´oria de um ou mais genes do cromossomo de um ´unico indiv´ıduo da gera¸c˜ao anterior.

mi :S −→ S (2.3)

O operador de muta¸c˜ao realiza pequenas varia¸c˜oes no cromossomo original; por-tanto, comporta-se como uma perturba¸c˜ao de alcance local, provocando uma varia¸c˜ao adicional `a popula¸c˜ao. Geralmente, ´e atribu´ıda uma pequena probabilidade `a ocorrˆencia de muta¸c˜ao em um gene (taxa de muta¸c˜ao).

1 1 1 1 0 1

G1 1 1 1 1 0 1

G1

1 0 1 1 0 1

G1 1 0 1 1 0 1

G1

Figura 2.4: Muta¸c˜ao.

Embora a muta¸c˜ao seja freq¨uentemente utilizada como um operador auxiliar do crossover, em diversos estudos feitos por Fogel et al.(1966)[12], Rechenberg(1973)[36], Schwefel(1977)[40], Schaffer et al.(1989)[39] e, mais recentemente, Baeck et al. (1991)[2], ´e imputada `a muta¸c˜ao a responsabilidade de ser o operador gen´etico principal [41].

(45)

2.3.3

Sele¸

ao

A sele¸c˜ao ´e o operador gen´etico respons´avel pela escolha dos indiv´ıduos que ir˜ao participar da cria¸c˜ao das futuras gera¸c˜oes. Ela ´e vital ao funcionamento dos Algoritmos Gen´eticos, restringindo o processo aos melhores esp´ecimes. Assim, o foco do trabalho ´e direcionado `as regi˜oes do espa¸co de busca com um melhor fitness potencial [35].

Existem v´arios poss´ıveis esquemas de sele¸c˜ao, como asele¸c˜ao baseada em rank, a

sele¸c˜ao por diversidade, ou a purasele¸c˜ao aleat´oria. Por´em, o Algoritmo Gen´etico cl´assico utiliza o esquema de sele¸c˜ao chamado Roulette Wheel [15]. Este esquema associa, a cada indiv´ıduo, uma probabilidade de passar para a pr´oxima gera¸c˜ao a qual ´e proporcional `a raz˜ao do seu fitness pelo somat´orio do fitness de todos os elementos da popula¸c˜ao atual. Assim, existe uma maior probabilidade de os indiv´ıduos com um melhor fitness (melhor adaptados ao ambiente) serem mantidos para a pr´oxima gera¸c˜ao (figura 2.5).

Genótipo 1

Genótipo 2

Genótipo 3 Genótipo 4

Genótipo 5

Genótipo 1

Genótipo 2

Genótipo 3 Genótipo 4

Genótipo 5

Figura 2.5: M´etodo de sele¸c˜ao Roulette Wheel.

(46)

Espa¸co de Solu¸c˜oes 46

2.4

ESPAC

¸ O DE SOLUC

¸ ˜

OES

O mecanismo dos algoritmos gen´eticos ´e baseado na constru¸c˜ao de novos in-div´ıduos (solu¸c˜oes) a partir da recombina¸c˜ao das informa¸c˜oes contidas nos genes das popula¸c˜oes anteriores. Este procedimento, no caso de problemas com restri¸c˜oes, pode propiciar que os novos indiv´ıduos gerados n˜ao correspondam a uma solu¸c˜ao fact´ıvel para o problema a ser resolvido. As t´ecnicas adotadas para trabalhar com algoritmos gen´eticos em espa¸cos com restri¸c˜oes s˜ao os algoritmos de repara¸c˜ao, asfun¸c˜oes com penalidade e os

decodificadores [5].

2.4.1

Algoritmos de Repara¸

ao

Os algoritmos de repara¸c˜ao s˜ao instrumentos frequentemente utilizados na solu¸c˜ao de problemas de otimiza¸c˜ao que utilizam computa¸c˜ao evolutiva [30]. Esta t´ecnica con-siste na busca local pela solu¸c˜ao fact´ıvel mais pr´oxima ao redor de uma solu¸c˜ao infact´ıvel dada. Desta forma, ap´os a aplica¸c˜ao dos operadores gen´eticos, ´e realizada a repara¸c˜ao dos indiv´ıduos infact´ıveis gerados, transformando-os em fact´ıveis.

A maior desvantagem deste m´etodo ´e a dependˆencia do problema estudado [5], ou seja, para cada problema deve ser elaborado um algoritmo de repara¸c˜ao particular. Al´em disto, a substitui¸c˜ao de um indiv´ıduo infact´ıvel por outro fact´ıvel representa uma altera¸c˜ao das informa¸c˜oes gen´eticas contidas no gen´otipo da solu¸c˜ao, o que altera a composi¸c˜ao do material gen´etico cuja sobrevivˆencia fora determinada pelo operador de sele¸c˜ao.

2.4.2

Fun¸

oes com Penalidades

(47)

O problema mais evidente na utiliza¸c˜ao de fun¸c˜oes de penalidade ´e a dificuldade que uma popula¸c˜ao tˆem de atravessar regi˜oes infact´ıveis para atingir ilhas onde podem residir candidatas para uma solu¸c˜ao ´otima. Para problemas onde a solu¸c˜ao se localiza pr´oxima `a fronteira de factibilidade, uma penalidade muito severa pode dificultar o pro-cesso de busca do algoritmo.

2.4.3

Decodificadores

Um decodificador ´e um mapeamento do espa¸co genot´ıpico (sem restri¸c˜oes) no espa¸co fenot´ıpico (com restri¸c˜oes). ´E importante considerar que este mapeamento deve satisfazer as seguintes condi¸c˜oes [5]:

• Para todo indiv´ıduo no espa¸co fenot´ıpico, existe pelo menos uma representa¸c˜ao no espa¸co genot´ıpico.

• Para toda representa¸c˜ao no espa¸co genot´ıpico, existe um ´unico indiv´ıduo fact´ıvel no espa¸co fenot´ıpico.

Al´em destas caracter´ısticas, ´e desej´avel que uma vizinhan¸ca do espa¸co genot´ıpico seja mapeada em uma vizinhan¸ca do espa¸co fenot´ıpico.

(48)

Cap´ıtulo 3

METODOLOGIA DE RESOLUC

¸ ˜

AO

Diversos m´etodos exatos e heur´ısticos prop˜oem-se a encontrar uma melhor solu¸c˜ao para problemas de otimiza¸c˜ao. Cada um deles possui vantagens e desvantagens, de acordo com as caracter´ısticas do problema abordado.

Alguns problemas de otimiza¸c˜ao podem favorecer a ado¸c˜ao de dois ou mais m´etodos, em etapas distintas da busca pela melhor solu¸c˜ao. Nestes casos, m´etodos dis-tintos podem ser combinados para a cria¸c˜ao de um algoritmo de melhor performance. Esta t´ecnica tem a finalidade de obter um resultado melhor do que a aplica¸c˜ao isolada de algum m´etodo. Estes modelos s˜ao de dif´ıcil classifica¸c˜ao, sendo chamados de sistemas h´ıbridos.

O estudo ora apresentado, de acordo com os objetivos estabelecidos, aplica a Re-laxa¸c˜ao Lagrangeana (se¸c˜ao 3.2.1), hibridizada com a heur´ıstica dos Algoritmos Gen´eticos (se¸c˜ao 2), na resolu¸c˜ao de problemas Job Shop previamente particionados pela Tecnologia de Grupos [23].

(49)

3.1

ESPAC

¸ O GENOT´

IPICO PARA O JOB SHOP

Conforme se registra no cap´ıtulo primeiro, um problema Job Shop pode ser en-tendido como um conjunto de n produtos a serem processados por m m´aquinas. Cada produto Pi deve ser construido por uma seq¨uˆencia de opera¸c˜oes Oij, cada uma feita por

uma m´aquina Mj em uma seq¨uˆencia tecnol´ogica pr´e-definida. Assim, uma solu¸c˜ao para

um problema Job Shop consiste nos tempos de in´ıcio em que cada opera¸c˜ao Oij, deve ser

iniciada, sendo que, como visto na se¸c˜ao 1.1.3, estes tempos precisam atender `as diversas restri¸c˜oes do problema.

Problemas que possuem condi¸c˜oes que devem ser simultaneamente atendidas para que uma solu¸c˜ao seja considerada fact´ıvel s˜ao classificados como restritivos. A resolu¸c˜ao destes problemas possui um item a mais de dificuldade, pois eles restringem o seu espa¸co de busca podendo transform´a-lo em um espa¸co n˜ao-convexo. Desta forma, o Job Shop ´e um problema restritivo e o seu espa¸co de busca n˜ao-convexo [28].

Embora os algoritmos gen´eticos sejam heur´ısticas robustas e detenham o equil´ıbrio entre a eficiˆencia e a efic´acia, necess´ario `a sobrevivˆencia em ambientes diversos [15], a aplica¸c˜ao dos operadores gen´eticos (se¸c˜ao 2.3) em espa¸cos de busca n˜ao-convexos pode gerar indiv´ıduos infact´ıveis. O crossover e a muta¸c˜ao garantem uma descendˆencia fact´ıvel em espa¸cos de busca convexos mas, em espa¸cos de busca n˜ao-convexos, existe a possibili-dade de descendˆencia infact´ıvel mesmo esta sendo oriunda de indiv´ıduos fact´ıveis.

(50)

Espa¸co Genot´ıpico para o Job Shop 50

A viabilidade da aplica¸c˜ao de algoritmos gen´eticos em problemas com espa¸cos de busca n˜ao-convexos pode ser conseguida com a utiliza¸c˜ao de recursos que evitem a permanˆencia de indiv´ıduos em regi˜oes infact´ıveis. Pode-se citar, entre outros recursos, a utiliza¸c˜ao de fun¸c˜oes de penalidade (se¸c˜ao 2.4.2) e de fun¸c˜oes de repara¸c˜ao (se¸c˜ao 2.4.1) [5]. As fun¸c˜oes de penalidade alteram o crit´erio de otimiza¸c˜ao utilizado, penalizando as solu¸c˜oes localizadas em regi˜oes infact´ıveis e dificultando a sobrevivˆencia destes in-div´ıduos durante a aplica¸c˜ao do operador gen´etico da sele¸c˜ao (se¸c˜ao 2.3). As fun¸c˜oes de repara¸c˜ao atuam alterando o indiv´ıduo infact´ıvel, convertendo-o para um indiv´ıduo fact´ıvel pr´oximo.

3.1.1

Cria¸

ao de um Espa¸

co de Busca Convexo

A alternativa utilizada para este trabalho foi a cria¸c˜ao de um espa¸co de busca convexo, no qual todos os operadores gen´eticos pudessem ser aplicados em um indiv´ıduo fact´ıvel, com a garantia de factibilidade da sua descendˆencia. Este espa¸co foi criado com base em uma representa¸c˜ao genot´ıpica das solu¸c˜oes que n˜ao possui restri¸c˜oes, sendo, portanto, um espa¸co irrestrito e convexo, como exemplificado na figura 3.1.

Espaço Irrestrito Espaço com Restrições

Figura 3.1: Espa¸co Fenot´ıpico × Espa¸co Genot´ıpico.

(51)

Um problema Job Shop consiste basicamente na ordena¸c˜ao das opera¸c˜oesOij,∀i=

1. . . n, que devem ser executadas pela m´aquinaMj, uma vez que a ordem de precedˆencia

dentro de cada gama operat´oria j´a ´e pr´e-definida. Pode-se, ent˜ao, pensar na seq¨uˆencia de execu¸c˜ao das opera¸c˜oes sendo definida, n˜ao pela compara¸c˜ao dos seus tempos de in´ıcio, mas pela simples indica¸c˜ao de que uma dada opera¸c˜ao Oij ser´a realizada antes ou ap´os

uma outra opera¸c˜ao Okj, dentro de uma mesma m´aquinaMj.

Esta no¸c˜ao de solu¸c˜ao est´a de acordo com a modelagem por grafos disjuntivos (se¸c˜ao 1.1.4), quando um problema Job Shop ´e representado por um grafoG= (V, CD), onde V ´e um conjunto de n´os que representam as opera¸c˜oesOij de cada m´aquina Mj; C

´e o conjunto de arcos conjuntivos que representa a gama operat´oria de um produto Pi;

e, D´e o conjunto dos arcos disjuntivos que representam os pares de opera¸c˜oes (Oij, Okj)

que devem ser realizadas na mesma m´aquina Mj. O tempo de processamento de cada

opera¸c˜ao Tij ´e um valor de pondera¸c˜ao associado ao n´o correspondente (opera¸c˜aoOij).

Seguindo a modelagem acima, cada arco disjuntivo (arco D) ´e codificado por um gene (geneikj) no cromossomo do gen´otipo. Desta forma, cada gene pode assumir

apenas o valor 0, indicando que a opera¸c˜ao Oij deve ser realizada antes da opera¸c˜ao Okj

na m´aquinaMj (ondei < k), ou o valor 1 para o caso contr´ario. Este gen´otipo, utilizando

uma codifica¸c˜ao bin´aria, foi proposto por Nakano e Yamada [33], em cujo trabalho foi adotado um processo reparador para evitar as inconsistˆencias poss´ıveis em decorrˆencia dos operadores gen´eticos. No presente estudo, a solu¸c˜ao de poss´ıveis inconsistˆencias foi feita durante a aplica¸c˜ao da fun¸c˜ao de decodifica¸c˜ao do gen´otipo para o espa¸co de busca real, como se descreve ainda nesta se¸c˜ao.

3.1.1.1 Fun¸c˜ao de Convers˜ao para o Espa¸co Irrestrito

(52)

Espa¸co Genot´ıpico para o Job Shop 52

Para isto foi formulado o seguinte algoritmo:

1. Para todo par de opera¸c˜oes (Oij,Okj), com i < k, que s˜ao processadas em

uma mesma m´aquinaMj, fa¸ca:

(a) Se Iij < Ikj fa¸ca geneikj = 0

caso contr´ario fa¸cageneikj = 1

Desta forma, sabendo que o espa¸co de busca real de um problema Job Shop ´e formado exclusivamente por seq¨uˆencias ativas (se¸c˜ao 1.1.4), pode-se obter uma ´unica representa¸c˜ao genot´ıpica no espa¸co de busca irrestrito para cada fen´otipo dado.

3.1.1.2 Fun¸c˜ao de Retorno ao Espa¸co Real

(53)

Primeiramente foi realizada a convers˜ao do gen´otipo em seq¨uˆencias ordenadas de opera¸c˜oes a serem executadas em cada m´aquina.

Seja maqj uma seq¨uˆencia (inicialmente contendo apenas as opera¸c˜oes in´ıcio

(Oinicio) e fim (Of im) ) de opera¸c˜oes a serem executadas na m´aquina Mj.

Considere as seguintes nota¸c˜oes em maqj:

• Oij−: Opera¸c˜ao a ser executada imediatamente antes da opera¸c˜ao Oij na

m´aquina Mj.

• Oij+: Opera¸c˜ao a ser executada imediatamente ap´os a opera¸c˜ao Oij na

m´aquina Mj.

• indprod(Oij): ´Indicei do produto Pi a que pertence a opera¸c˜ao Oij.

Para toda m´aquina Mj fa¸ca:

1. Inclua a opera¸c˜aoO1j na seq¨uˆenciamaqj, entre as opera¸c˜oesOinicio eOf im;

2. Para toda opera¸c˜ao Okj, com k= 2. . . n:

(a) Fa¸ca i= 1;

(b) Se geneikj = 0 fa¸ca:

i. Fa¸ca i=indprod(Oij+), at´e que geneikj = 1 ouOij =Of im;

ii. Inclua a opera¸c˜aoOkj na seq¨uˆenciamaqj imediatamente antes da

opera¸c˜ao Oij;

(c) Se geneikj = 1 fa¸ca:

i. Fa¸ca i=indprod(Oij−), at´e quegeneikj = 0 ou Oij =Oinicio;

ii. Inclua a opera¸c˜ao Okj na seq¨uˆencia maqj imediatamente ap´os a

(54)

Espa¸co Genot´ıpico para o Job Shop 54

Ap´os a obten¸c˜ao das seq¨uˆenciasmaqj em que as opera¸c˜oes dever˜ao ser executadas

em cada uma das m´aquinas Mj , pode-se calcular o tempo de in´ıcioIij de cada opera¸c˜ao

Oij da solu¸c˜ao codificada.

Sejaprodi a seq¨uˆencia ordenada de opera¸c˜oes, seguindo as restri¸c˜oes tecnol´ogicas

das gamas operat´orias, a serem executadas para a produ¸c˜ao do produto Pi.

Sejammaqj(lj) alj-´esima opera¸c˜ao da seq¨uˆenciamaqj, etermino(Oij) =Iij+Tij.

Repita os passos abaixo enquanto houver alguma opera¸c˜ao emprodi ou emmaqj:

1. Fa¸calj = 1,∀j = 1. . . n; (ou seja, para todo produto)

2. Fa¸ca para todas as seq¨uˆencias maqj,∀j = 1. . . m: (ou seja, para toda

m´aquina)

(a) Seja Oij a lj-´esima opera¸c˜ao da seq¨uˆencia maqj;

(b) Se a opera¸c˜ao Oij for a primeira opera¸c˜ao da seq¨uˆencia prodi, ent˜ao:

i. Se a opera¸c˜ao Oig, que precede a opera¸c˜ao Oij na gama operat´oria

Pi, terminar ap´os a opera¸c˜ao Okj, que precede a opera¸c˜ao Oij na

m´aquina Mj, ent˜ao Iij =termino(Oig).

ii. Caso contr´ario, Iij =termino(Okj).

iii. Retire a opera¸c˜ao Oij de prodi e de maqj;

3. Se nenhuma opera¸c˜ao pode ser retirada deprodi e demaqj no item anterior,

fa¸ca lj =lj + 1,∀j = 1. . . n;

Atrav´es deste algoritmo, ´e poss´ıvel calcular o tempo de in´ıcioIij de toda opera¸c˜ao

Figure

Updating...

References

Updating...

Download now (93 pages)