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

Livre

0
0
93
1 year ago
Preview
Full text

  Universidade Federal da Bahia

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

  Mestrado em Matem´ atica

  Ernesto de Souza Massa Neto

Hibridiza¸ c˜ ao de Algoritmos Gen´ eticos com Relaxa¸ c˜ ao

Lagrangeana Aplicada ao Job Shop

  Salvador Ernesto de Souza Massa Neto

Hibridiza¸ c˜ ao de Algoritmos Gen´ eticos com Relaxa¸ c˜ 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 Salvador Ernesto de Souza Massa Neto

Hibridiza¸ c˜ ao de Algoritmos Gen´ eticos com Relaxa¸ c˜ 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

  ` A toda minha fam´ılia: os presentes, os que j´a partiram Agradecimentos 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.

  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. Palavras-Chave:

  Otimiza¸c˜ao Matem´atica. Algoritmos Gen´eticos. Heur´ıstica. Seq¨ uen- Abstract

  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.

  Key-Words: Optimization, Genetic Algorithms, Heuristic, Scheduling, Job Shop, La- grangian Relaxation.

  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.4 Suavidade do Espa¸co de Busca . . . . . . . . . . . . . . . . 31

  2.3 OPERADORES GEN´ ETICOS . . . . . . . . . . . . . . . . . . . . . . . . . 40

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

  2.3.3 Sele¸ c˜ ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

  2.3.2 Muta¸ c˜ ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

  2.3.1.3 Crossover Uniforme . . . . . . . . . . . . . . . . . . . . . . 43

  2.3.1.2 Crossover de Dois Pontos . . . . . . . . . . . . . . . . . . . 42

  2.3.1.1 Crossover de Um Ponto . . . . . . . . . . . . . . . . . . . . 42

  2.3.1 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

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

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

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

  37

  2 ALGORITMOS GEN ´ ETICOS

  1.2.4.1 Tecnologia de Grupos . . . . . . . . . . . . . . . . . . . . . 35

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

  1.2.3 Complexidade do Job Shop . . . . . . . . . . . . . . . . . . . . 34

  1.2.2 Busca em Vizinhan¸ cas . . . . . . . . . . . . . . . . . . . . . . . 33

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

  2.4.3 Decodificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

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

  4.3 TESTES REALIZADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

  4.2 QUALIDADE DAS SOLUC ¸ ˜ OES . . . . . . . . . . . . . . . . . . . . . . . 67

  4.1 PROGRAMA COMPUTACIONAL . . . . . . . . . . . . . . . . . . . . . . 64

  64

  4 TESTES E RESULTADOS

  3.3.3 Busca Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

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

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

  3 METODOLOGIA DE RESOLUC ¸ ˜ AO

  3.2.2 M´ etodo do Subgradiente . . . . . . . . . . . . . . . . . . . . . . 58

  3.2.1 Relaxa¸ c˜ ao Lagrangeana . . . . . . . . . . . . . . . . . . . . . . . 56

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

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

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

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

  3.1 ESPAC ¸ O GENOT´IPICO PARA O JOB SHOP . . . . . . . . . . . . . . . 49

  48

  4.4 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

  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 LAGRAN- GEANA

  89 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

  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 em dois subproblemas interdependentes. . . . . . . . . . . . . . . . . . . . . 90 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

  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

  4.14 Problema de teste n.35, com 10 produtos e 15 m´aquinas. . . . . . . . . . . 88 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 Introdu¸c˜ ao 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. ao

  No terceiro cap´ıtulo ´e apresentada a Metodologia de Resolu¸c˜ proposta 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. 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¨ uenciamento e 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 disjuntivas e os recursos compartilhados representados por restri¸c˜oes acumulativas [34].

  As restri¸c˜oes de potencialidade podem ser divididas em restri¸c˜oes de precedˆencia Problemas de F´ abrica 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 objetivo que 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 P pela m´aquina M ´e i j denominado por opera¸c˜ao O ij e requer o uso exclusivo da m´aquina M j por um per´ıodo de tempo T ij , necess´ario ao seu processamento. Al´em das opera¸c˜oes reais mencionadas, Problemas de F´ abrica 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¸ c˜ 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 problema dinˆ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].

  Visto desta forma, qualquer esfor¸co para se resolver um problema est´atico pare- ceria perda de tempo, j´a que estas condi¸c˜oes ideais s˜ao pouco prov´aveis em um ambiente real. No entanto, para o desenvolvimento de m´etodos eficazes para solu¸c˜ao de proble- mas dinˆamicos, ´e de fundamental importˆancia o estudo inicial dos mesmos problemas em condi¸c˜oes est´aticas. Problemas de F´ abrica

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 da f´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.
Problemas de F´ abrica Para ilustrar os tipos de problemas citados, podemos classificar como Flow 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 espec´ıficas para coloca¸c˜ao do solado de tˆenis. Como exemplo de Open Shop pode-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 ser idˆenticas ou diferentes. Se as m´aquinas forem idˆenticas, o tempo de execu¸c˜ao T de uma opera¸c˜ao O ser´a o ij ij mesmo para todas as m´aquinas M j , mas se elas forem diferentes, o tempo de execu¸c˜ao T ij da opera¸c˜ao ser´a diferente para cada m´aquina M j .

1.1.3 Restri¸ c˜ oes e Crit´ erios de Sele¸ c˜ 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 por restri¸c˜oes disjuntivas que 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.

  Al´em das restri¸c˜oes vinculadas aos recursos, est˜ao presentes em um problema de f´abrica as restri¸c˜oes de potencialidade, que podem ser subdivididas em restri¸c˜oes de precedˆencia e restri¸c˜oes de localiza¸c˜ao no tempo. As restri¸c˜oes de precedˆencia determinam Problemas de F´ abrica 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.

  Como pode-se ver no exemplo da figura 1.1, os problemas de Job Shop podem ser descritos como um grafo disjuntivo G = (V, C ∪ D), em que V , o conjunto dos Problemas de F´ abrica especiais, fonte (O ) 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 O ij de um mesmo produto P i 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 (O ij , O kj ) que devem ser realizadas na mesma m´aquina M j . O tempo de processamento de cada opera¸c˜ao T ij ´e um valor de pondera¸c˜ao associado ao n´o correspondente.

  T T =4 =4 11 11 T T =2 =2 12 12 O O O O

  11

  11

  

12

  

12

Legenda: Legenda: T T =2 =2 22 22 T T =1 =1 T T =5 =5 21 21 24 24

  : Arcos Disjuntivos : Arcos Disjuntivos T T =0 =0

  O O O O O O

  22

  22

  21

  21

  

24

  

24

: Arcos Conjuntivos : Arcos Conjuntivos O O

  O O

  T T =4 =4 34 34 T T =3 =3 33 33 T T =0 =0 * * O O O O

  33

  33

  

34

  

34

T T =2 =2 43 43 T T =1 =1 44 44 O O O O

  44

  44

  

43

  

43

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.

  Uma sele¸c˜ao ´e um conjunto de arcos direcionados selecionados de arcos disjunti- vos. Por defini¸c˜ao, uma sele¸c˜ao ´e completa se 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. Problemas de F´ abrica T T =4 =4 11 11 T T =2 =2 12 12 O O O O

  11 T T =2 =2 22 22 T T =1 =1 T T =5 =5 21 21

  11

  12 24 24 T T =0 =0 O O O O O O

  12

  22

  22

  

21

  

21

  24

  24 O O O O T T =3 =3 33 33 T T =4 =4 34 34 * * T T =0 =0 * *

  O O O O

33 T T =1 =1

  33

  44 44

  34 T T =2 =2 43 43 O O O O

  34

  44

  44

  43

  43 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ˆencia semi-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 e T , 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.

  O makespan de uma seq¨ uˆencia semi-ativa pode ser reduzido com a antecipa¸c˜ao de opera¸c˜oes sem que outros produtos sejam atrasados. Esta rearruma¸c˜ao ´e chamada de Problemas de F´ abrica

  1

  1

  2

  2

  3

  3

  4

  4

  5

  5

  6

  6

  7

  7

  8

  8

  9

  9

  10

  10

  11

  11

  12

  12

  13

  13

  14

  14

  15 O O O O P1 P1 11 11 12 12 O O O O O O P2 P2 22 22 21 21 24 24 O O O O P3 P3 33 33 34 34 O O O O P4 P4 44 44 43 43 tempo

  15

  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 matem´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 (y ikj ) para cada par de opera¸c˜oes (O ij , O kj ) que s˜ao processadas por uma mesma m´aquina M j

  . Esta vari´avel em 0 − 1 ´e escrita, da seguinte forma: 0, se O ij precede O kj sobre M j y = ikj 1, se O kj precede O ij sobre M j .

  Este modelo sup˜oe, tamb´em, o conhecimento de uma borda superior BS da dura¸c˜ao total do seq¨ uenciamento. Esta borda pode ser inicialmente tomada como sendo Problemas de F´ abrica X n m X BS = T ij . i j (1.1)

  =1 =1

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

  I + T u +1,i ui ui i ≥ I ; ∀((u, i), (u + 1, i)) ∈ C

  (1.3) I ij kj + T kj ikj j

  ≥ I − BS(y ); ∀((i, j), (k, j)) ∈ D (1.4)

  I kj ij + T ij ikj j ≥ I − BS(1 − y ); ∀((i, j), (k, j)) ∈ D onde I ij ´e o tempo de in´ıcio da opera¸c˜ao O ij .

  As restri¸c˜oes (1.2) representam as restri¸c˜oes da seq¨ uˆencia tecnol´ogica referentes `as opera¸c˜oes do produto P (restri¸c˜oes conjuntivas). As restri¸c˜oes (1.3) e (1.4) representam i 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 O kj antes de O , y vale 0, e a restri¸c˜ao (1.4) ´e ent˜ao inativa j´a que [I + p ij ikj kj ij ij P n P m ≥ I − BS], pois da forma que BS foi definida(BS = T ij ), faria com que a opera¸c˜ao O kj i j

  =1 =1

  tivesse um tempo de in´ıcio I kj 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 T . kj Matematicamente ter-se-ia: X n m X I + T T (1.5) kj ij ij ij

  ≥ I − i =1 j =1 Assim, a equa¸c˜ao (1.5) tornar-se-ia invi´avel, pois o tempo de in´ıcio I ij teria que aumentar bastante, n˜ao oferecendo uma minimiza¸c˜ao no tempo total de produ¸c˜ao. Problemas de Job Shop I ij kj + T kj . (1.6)

  ≥ I

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 P i pela m´aquina M j ´e denominado de opera¸c˜ao O ij , e requer o uso exclusivo da m´aquina M j por um per´ıodo de tempo T ij , 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 I ij ´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].

  Seja S o conjunto finito das solu¸c˜oes de um problema de otimiza¸c˜ao, tamb´em chamado de espa¸co de busca. Uma topologia discreta em S imp˜oe uma estrutura que Problemas de Job Shop 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→ ℜ,

  (1.7) s 7→ f(s) 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 s pela revers˜ao

  1

  2

  ∈ S ´e transformada em uma solu¸c˜ao s da ordem de duas opera¸c˜oes em uma m´aquina. Qualquer tipo de defini¸c˜ao de vizinhan¸cas define implicitamente um conjunto de ´otimos locais P ⊂ S (picos da superf´ıcie de aptid˜ao). Um ´otimo local p ∈ P ´e dado se f(p) ≥ f(s) para todo s ∈ N(p). As solu¸c˜oes que levam a um mesmo ´otimo local p, formam a base de atra¸c˜ao de p na superf´ıcie. Problemas de Job Shop

  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(s , s ) = h reflete a situa¸c˜ao onde s pode

  1

  2

  1

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

  2

  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 de P . 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 w i 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]. w i w i

  −1 E i = . .log (1.8)

  √ µ µ log

  2 Problemas de Job Shop X n

  1 E = E i (1.9) n i

  =1

  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-

  1

  ximadamente maiores do que a entropia das instˆancias f´aceis [27]. As restri¸c˜oes tec-

  3

  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(f , f )/H(s , s ). Exemplos deste diferencial podem ser produzidos tra¸cando-se

  1

  2

  1

  2

  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].

  O tamanho da correla¸c˜ao ´e um bom indicador da suavidade de uma superf´ıcie. As correla¸c˜oes pequenas significam que o diferencial adaptativo em pequenas vizinhan¸cas Problemas de Job Shop 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.

  Geralmente, as superf´ıcies de Job Shop s˜ao dif´ıceis de ser pesquisadas por heur´ısticas adaptativas. ´ Otimos locais s˜ao bem dispersos, sua base de atra¸c˜ao ´e pequena, diferente- mente de outros problemas combinat´orios; e uma otimiza¸c˜ao local n˜ao conduz necessa- riamente `a fixa¸c˜ao de caracter´ısticas favor´aveis para solu¸c˜oes. Apesar disto, a superf´ıcie de um Job Shop apresenta suavidade promissora em vizinhan¸cas, o que sugere o uso da Problemas de Job Shop 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 a busca 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 = x best de partida.

  2. Fa¸ca at´e que alguma condi¸c˜ao de parada seja satisfeita: (a) Selecione uma solu¸c˜ao y ∈ N(x) de acordo com um crit´erio de escolha baseado no valor f (y).

  (b) Fa¸ca x = y.

  (c) Se f (x) < f (x best ), ent˜ao fa¸ca x best = 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 Se f (y) < f (x), selecione y ∈ N(x) com probabilidade um. Problemas de Job Shop 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¸ c˜ ao do Job Shop

  A utiliza¸c˜ao de m´etodos de decomposi¸c˜ao na Programa¸c˜ao Matem´atica tem por Problemas de Job Shop 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 a c´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 Proposta inicialmente por Mitrofanov e depois por Burbidge, conforme registra

  Kusiak [23], a Tecnologia de Grupos pode ser definida como um princ´ıpio de organiza¸c˜ao aplicado aos dom´ınios de uma empresa industrial. Este conceito passou de uma simples t´ecnica a uma metodologia global, que tenta resolver todos os problemas ligados `a comple- xidade dos sistemas de produ¸c˜ao atuais (uma melhor automatiza¸c˜ao, redu¸c˜ao do tempo

  Problemas de Job Shop O objetivo da Tecnologia de Grupos ´e o agrupamento dos objetos de forma ho- mogˆenea, considerando suas principais caracter´ısticas. A aplica¸c˜ao da Tecnologia de Gru- pos aos problemas do tipo job-shop propicia o agrupamento dos produtos em fam´ılias de produtos e das m´aquinas em c´elulas de m´aquinas [23]. Assim, os produtos que utilizam um mesmo conjunto de m´aquinas s˜ao agrupados, de forma a torn´a-los mais autˆonomos, possibilitando a utiliza¸c˜ao de algoritmos gen´eticos na busca de solu¸c˜oes com uma menor interdependˆencia entre os subproblema.

  Cap´ıtulo 2 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 Funcionamento dos Algoritmos Gen´ eticos 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.

  Os algoritmos gen´eticos combinam a sobrevivˆencia das melhores estruturas de dados com um mecanismo de troca de informa¸c˜oes, ainda que aleat´orio, para formar um algoritmo de busca, sendo usualmente implementados de acordo com o seguinte ciclo: Codifica¸c˜ ao dos Gen´ otipos

  • 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 de fitness 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 a muta¸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˜ao e, 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

  A elabora¸c˜ao da codifica¸c˜ao dos cromossomos, chamada de gen´otipo por asso- cia¸c˜ao com a biologia, ´e feita de acordo com o problema a ser resolvido e se constitui em um dos maiores desafios para a solu¸c˜ao do problema e efic´acia do algoritmo [5]. Cada pro- blema deve ser estudado individualmente, levando-se em conta seus objetivos e restri¸c˜oes. Operadores Gen´ eticos 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 cromossomos 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).

  O operador que se encarrega da escolha dos indiv´ıduos que contribuir˜ao com o material gen´etico para a forma¸c˜ao das novas popula¸c˜oes ´e a sele¸c˜ao, que avalia os in- div´ıduos de acordo com a fun¸c˜ao objetivo que se deseja otimizar. Os operadores gen´eticos respons´aveis pela explora¸c˜ao do espa¸co de solu¸c˜oes e conseq¨ uente busca por melhores indiv´ıduos s˜ao o crossover e a muta¸c˜ao. Operadores Gen´ eticos

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. m i

  (2.1) : SxS −→ S

  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. m i

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

  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].

  Diversos tipos diferentes de crossover j´a foram adotados, sem que fosse com- provado uma melhor performance de algum deles. Cada tipo obt´em melhores ou piores Operadores Gen´ eticos

  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.

G1 G1

  1

  1

  

1

  

1

  1 G2 G2

  1

  1

  1

  1

  1

  1

  1

  1 G3 G3

  1

  1

  1

  1

  1

  1

  1

  1 G4 G4

  1

  1

  1

  

1

  

1

  1

  1 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 O crossover de dois pontos (figura 2.2) pode ser facilmente entendido como uma extens˜ao do crossover de um ponto, sendo a ´ unica diferen¸ca entre eles a existˆencia de dois pontos de corte, o que atenua a brusca diferen¸ca de probabilidade de sobrevivˆencia de genes pais em um mesmo cromossomo filho existente no crossover de um ponto. Apesar

  Operadores Gen´ eticos dos genes que se situam nas extremidades dos cromossomos em um mesmo filho.

G1 G1

  1

  1

  

1

  

1

  1 G2 G2

  1

  1

  1

  1

  1

  1

  1

  1 G3 G3

  1

  1

  1

  1

  1

  1 G4 G4

  1

  1

  1

  

1

  

1

  1

  1

  1

  1 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].

G1 G1

  1

  1

  1

  1

  

1

  

1

  1

  1

  1 G2 G2

  1

  

1

  

1

  1

  1

  1 G3 G3

  1

  1

  1

  

1

  

1

  1 G4 G4

  1

  1

  1

  

1

  

1

  1

  1

  1

  1

  1

  1 Figura 2.3: Crossover Uniforme.

  Pelo fato de n˜ao levar em conta a ordena¸c˜ao dos genes, o crossover uniforme possui caracter´ıstica favor´avel a sua utiliza¸c˜ao nos casos em que os genes dos cromossomos n˜ao Operadores Gen´ eticos

2.3.2 Muta¸ c˜ 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. m i

  (2.3) : S −→ S

  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).

G1 G1

  1

  1

  1

  1

  

1

  

1

  1

  1

  1

  1 G1 G1

  1

  1

  

1

  

1

  1

  1

  1

  1 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].

  Tanto o crossover quanto a muta¸c˜ao podem ser encarados como mecanismos de explora¸c˜ao do espa¸co de solu¸c˜oes poss´ıveis. Entretanto, a presen¸ca da muta¸c˜ao ´e imprescind´ıvel para a garantia de que toda solu¸c˜ao contida no espa¸co de busca possua alguma chance de ser visitada pelo algoritmo. Esta situa¸c˜ao levou alguns pesquisadores a creditarem os resultados obtidos pelos algoritmos gen´eticos totalmente `a muta¸c˜ao [41]. Operadores Gen´ eticos

2.3.3 Sele¸ c˜ 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 a sele¸c˜ao baseada em rank, a sele¸c˜ao por diversidade, ou a pura sele¸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 1 Genótipo 5 Genótipo 5 Genótipo 2 Genótipo 2 Genótipo 4 Genótipo 4

  Genótipo 3 Genótipo 3 Figura 2.5: M´etodo de sele¸c˜ao Roulette Wheel.

  Como alternativa, os melhores indiv´ıduos (elementos com o melhor fitness) podem ser al¸cados diretamente `as gera¸c˜oes seguintes, independentemente do crit´erio de sele¸c˜ao adotado. Este mecanismo, conhecido como salvacionismo, permite que os melhores in- div´ıduos da popula¸c˜ao possam continuar contribuindo geneticamente para as gera¸c˜oes futuras. Espa¸co de Solu¸c˜ oes

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, as fun¸c˜oes com penalidade e os decodificadores [5].

  2.4.1 Algoritmos de Repara¸ c˜ 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¸ c˜ oes com Penalidades

  A utiliza¸c˜ao de uma fun¸c˜ao de penalidade em um problema com restri¸c˜oes altera a fun¸c˜ao objetivo do problema utilizada para o c´alculo do fitness dos indiv´ıduos, reduzindo Espa¸co de Solu¸c˜ oes 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.

  Desta forma, os indiv´ıduos de uma popula¸c˜ao podem ser codificados no espa¸co genot´ıpico, os operadores gen´eticos podem ser aplicados sem risco de causar infactibilidade e os novos indiv´ıduos resultantes podem ser novamente mapeados no espa¸co real (espa¸co fenot´ıpico), viabilizando a ado¸c˜ao da metodologia de resolu¸c˜ao de que trata o terceiro cap´ıtulo deste estudo. 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]. Espa¸co Genot´ıpico para o Job Shop

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 P deve ser construido por uma seq¨ uˆencia de opera¸c˜oes O , cada uma feita por i ij uma m´aquina M j 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 O ij , 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.

  O crossover entre dois indiv´ıduos garante `a descendˆencia o material gen´etico coincidente nos pais. Os genes n˜ao coincidentes s˜ao trocados, de acordo com o m´etodo adotado, gerando descendˆencia em um subespa¸co de busca que tem os pais como extremos (se¸c˜ao 2.3). Em um espa¸co convexo este processo ocorre naturalmente, mas quando existem trechos infact´ıveis no espa¸co entre os pais, ´e poss´ıvel que ocorra a gera¸c˜ao de indiv´ıduos infact´ıveis oriundos do crossover. O mesmo racioc´ınio pode ser feito com rela¸c˜ao `a muta¸c˜ao, tomando um indiv´ıduo fact´ıvel como partida, pela possibilidade de Espa¸co Genot´ıpico para o Job Shop 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¸ c˜ 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. Para a convers˜ao das solu¸c˜oes entre o espa¸co de busca real e n˜ao-convexo e o espa¸co de busca irrestrito, foram elaboradas fun¸c˜oes de codifica¸c˜ao e de decodifica¸c˜ao que permitem o mapeamento de uma solu¸c˜ao para o espa¸co de busca irrestrito, a livre aplica¸c˜ao dos operadores gen´eticos neste espa¸co e a posterior decodifica¸c˜ao para o espa¸co Espa¸co Genot´ıpico para o Job Shop Um problema Job Shop consiste basicamente na ordena¸c˜ao das opera¸c˜oes O ij

  , ∀i = 1 . . . n, que devem ser executadas pela m´aquina M j , 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 O ij ser´a realizada antes ou ap´os uma outra opera¸c˜ao O kj , dentro de uma mesma m´aquina M j .

  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 grafo G = (V, C ∪D), onde V ´e um conjunto de n´os que representam as opera¸c˜oes O ij de cada m´aquina M j ; C ´e o conjunto de arcos conjuntivos que representa a gama operat´oria de um produto P ; i

  e, D ´e o conjunto dos arcos disjuntivos que representam os pares de opera¸c˜oes (O ij , O kj ) que devem ser realizadas na mesma m´aquina M j . O tempo de processamento de cada opera¸c˜ao T ´e um valor de pondera¸c˜ao associado ao n´o correspondente (opera¸c˜ao O ). ij ij

  Seguindo a modelagem acima, cada arco disjuntivo (arco ∈ D) ´e codificado por um gene (gene ikj ) no cromossomo do gen´otipo. Desta forma, cada gene pode assumir apenas o valor 0, indicando que a opera¸c˜ao O ij deve ser realizada antes da opera¸c˜ao O kj na m´aquina M j (onde i < 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 Primeiramente foi construido um procedimento que produzisse a codifica¸c˜ao ge- not´ıpica proposta, a partir de uma solu¸c˜ao fact´ıvel de um problema Job Shop, dada pelos tempos de in´ıcio (I ij ) das suas opera¸c˜oes.

  Espa¸co Genot´ıpico para o Job Shop Para isto foi formulado o seguinte algoritmo:

  1. Para todo par de opera¸c˜oes (O ij ,O kj ), com i < k, que s˜ao processadas em uma mesma m´aquina M , fa¸ca: j (a) Se I ij < I kj fa¸ca gene ikj = 0 caso contr´ario fa¸ca gene ikj = 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 Ap´os a elabora¸c˜ao da fun¸c˜ao criadora do gen´otipo de uma solu¸c˜ao, ´e necess´ario que seja poss´ıvel recuperar o fen´otipo da solu¸c˜ao a partir do gen´otipo dado. Com esta finalidade, foi formulado um algoritmo que, durante a decodifica¸c˜ao, evita a cria¸c˜ao de inconsistˆencias atrav´es da desativa¸c˜ao dos genes com informa¸c˜oes de ordem incompat´ıveis.

  Espa¸co Genot´ıpico para o Job Shop 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 maq j uma seq¨ uˆencia (inicialmente contendo apenas as opera¸c˜oes in´ıcio (O ) e fim (O ) ) de opera¸c˜oes a serem executadas na m´aquina M . inicio f im j Considere as seguintes nota¸c˜oes em maq j : ij ij na

  • O −: Opera¸c˜ao a ser executada imediatamente antes da opera¸c˜ao O m´aquina M . ij +: Opera¸c˜ao a ser executada imediatamente ap´os a opera¸c˜ao O ij na j
  • O m´aquina M j . ij i ij ): ´Indice i do produto P a que pertence a opera¸c˜ao O .
  • indprod(O Para toda m´aquina M j fa¸ca:

  1. Inclua a opera¸c˜ao O na seq¨ uˆencia maq , entre as opera¸c˜oes O e O ;

  1j j inicio f im

  2. Para toda opera¸c˜ao O kj , com k = 2 . . . n: (a) Fa¸ca i = 1; (b) Se gene ikj = 0 fa¸ca: i. Fa¸ca i = indprod(O ij +), at´e que gene ikj = 1 ou O ij = O f im ; ii. Inclua a opera¸c˜ao O kj na seq¨ uˆencia maq j imediatamente antes da opera¸c˜ao O ij ;

  (c) Se gene = 1 fa¸ca: ikj i. Fa¸ca i = indprod(O ij ikj = 0 ou O ij = O inicio ;

  −), at´e que gene ii. Inclua a opera¸c˜ao O kj na seq¨ uˆencia maq j imediatamente ap´os a opera¸c˜ao O ij ; Espa¸co Genot´ıpico para o Job Shop Ap´os a obten¸c˜ao das seq¨ uˆencias maq j em que as opera¸c˜oes dever˜ao ser executadas em cada uma das m´aquinas M j , pode-se calcular o tempo de in´ıcio I ij de cada opera¸c˜ao

  O ij da solu¸c˜ao codificada.

  Seja prod i 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 P i .

  Sejam maq j a l j -´esima opera¸c˜ao da seq¨ uˆencia maq j , e termino(O ij ) = I ij + T ij .

  (l j )

  Repita os passos abaixo enquanto houver alguma opera¸c˜ao em prod ou em maq : i j

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

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

  (a) Seja O ij a l j -´esima opera¸c˜ao da seq¨ uˆencia maq j ; (b) Se a opera¸c˜ao O ij for a primeira opera¸c˜ao da seq¨ uˆencia prod i , ent˜ao: i. Se a opera¸c˜ao O ig , que precede a opera¸c˜ao O ij na gama operat´oria

  P i , terminar ap´os a opera¸c˜ao O kj , que precede a opera¸c˜ao O ij na m´aquina M j , ent˜ao I ij = termino(O ig ). ii. Caso contr´ario, I ij = termino(O kj ). iii. Retire a opera¸c˜ao O ij de prod i e de maq j ;

  3. Se nenhuma opera¸c˜ao pode ser retirada de prod i e de maq j no item anterior, fa¸ca l j = l j

  • 1, ∀j = 1 . . . n;
Decomposi¸c˜ ao pela Relaxa¸c˜ ao Lagrangeana tado pela codifica¸c˜ao proposta, como pode ser visto na figura 3.2. Desta forma, pode-se calcular o fitness da respectiva solu¸c˜ao atrav´es da fun¸c˜ao objetivo utilizada para oti- miza¸c˜ao do problema, independente de qual fun¸c˜ao se deseje otimizar. O O O O O O O O O O O O O O O O O O O O O O O O 11 11 « « « « « « « « « « « « 21 21 12 12 22 22 33 33 43 43 24 24 34 34 24 24 44 44 34 34 44 44 G G

  1

  1

  1

  1

  1

  1

  1 x x

  1

  1

  1

  2

  2

  3

  3

  4

  4

  5

  5

  6

  6

  7

  7

  8

  8

  9

  9

  10 O O O O P1 P1

11

11

12 12 O O O O O O P2 P2 22 22 21 21 24 24 O O O O P3 P3 34 34 33 33 O O O O P4 P4 x 44 44 43 43 tempo Figura 3.2: Decodifica¸c˜ao de um gen´otipo em seu fen´otipo.

  10

  Note-se que, quando existir conflito entre as informa¸c˜oes de ordem contidas em ikj um certo conjunto de genes Dlk = {gen ; i < k ≤ n; j ≤ m} provocando um ciclo, ´e dada prioridade para as informa¸c˜oes dos genes relativos aos produtos P i de menor ´ındice, deixando os demais genes inativos. Assim, s˜ao evitadas inconsistˆencias, eliminando a necessidade de fun¸c˜oes reparadoras.

  3.2 DECOMPOSIC ¸ ˜ AO PELA RELAXAC ¸ ˜ AO LAGRANGEANA

  A aplica¸c˜ao da Tecnologia de Grupos [23] para particionar um problema Job Shop em c´elulas de m´aquinas, conforme se descreve na se¸c˜ao 1.2.4, torna a topologia do espa¸co Decomposi¸c˜ ao pela Relaxa¸c˜ ao Lagrangeana utilizando-se, como m´etodo de decomposi¸c˜ao, a relaxa¸c˜ao lagrangeana.

3.2.1 Relaxa¸ c˜ ao Lagrangeana

  A Relaxa¸c˜ao Lagrangeana ´e uma ferramenta que permite o desacoplamento e a resolu¸c˜ao dos subproblemas determinados pela Tecnologia de Grupos [23], associando o problema mestre ao problema dual do problema principal. Pode-se observar um problema decomposto em dois subproblemas e modelado atrav´es de grafos disjuntivos no Anexo-II deste trabalho.

  Portanto, supondo que um problema Job Shop seja particionado em s subpro- blemas, e que a fun¸c˜ao que deseja-se otimizar seja 3.1, tem-se a seguinte formula¸c˜ao matem´atica segundo o modelo de Manne [32], conforme visto na se¸c˜ao 1.1.4:

  Minimizar: X s p p =1 I (3.1) Sujeito a:

  (3.2) I u ui + T ui i

  • 1,i

  ≥ I ; ∀((u, i), (u + 1, i)) ∈ C (3.3)

  I ij kj + T kj ikj j ≥ I − BS(y ); ∀((i, j), (k, j)) ∈ D

  (3.4) I kj ij + T ij ikj j

  ≥ I − BS(1 − y ); ∀((i, j), (k, j)) ∈ D Onde: ij ij ´e o tempo de in´ıcio da opera¸c˜ao O .

  • I
Decomposi¸c˜ ao pela Relaxa¸c˜ ao Lagrangeana

  • T ij ´e a dura¸c˜ao da opera¸c˜ao O ij .
  • D j ´e a j-´esima m´aquina.
  • C i ´e a i-´esima gama operat´oria.

  Com: y ikj = 1, se O ij precede O kj sobre M j

  0, se O kj precede O ij sobre M j .

  BS = n X i

  

=1

m X j =1 T ij .

  (3.5) Supondo agora que, ao realizar o particionamento do problema, existem c res- tri¸c˜oes de precedˆencia (3.6) que fazem o acoplamento entre os subproblemas, onde a opera¸c˜ao O ij precede imediatamente a opera¸c˜ao O ik em uma mesma gama operat´oria C i .

  (I ik ≥ I ij + T ij ) l ; ∀l = 1, . . . , c p (3.6)

  Tem-se ent˜ao, que o lagrangeano do problema pode ser expresso por (3.7), onde (3.8) representam as restri¸c˜oes de precedˆencia relaxadas entre os s subproblemas, e I a resultante dos I p de cada subproblema S p [1].

  L(I, λ) ≡ s X p =1

  I p ∗ − c p X l

  

=1

  λ l (I ik − I ij − T ij

  ) l (3.7) (I ik

  − I ij − T ij ) l ≥ 0 ∀l = 1, . . . , c p (3.8) O problema dual correspondente ´e dado por Decomposi¸c˜ ao pela Relaxa¸c˜ ao Lagrangeana p A fun¸c˜ao objetivo W (I) de cada subproblema S p torna-se equivalente a p p X c p

  W (I) = min (I λ l I l ), (3.10) I ij ∈S pl

  =1

  com, l ; se I l = I ij −λ

  λ l = +λ l ; se I l = I ik . No Anexo-II encontra-se um exemplo da aplica¸c˜ao da Relaxa¸c˜ao Lagrangeana a um problema Job Shop previamente particionado.

  Para resolver o problema dual correspondente e consequentemente obter o λ k resultante de cada itera¸c˜ao k, ser´a utilizado o m´etodo do subgradiente [4], objeto da pr´oxima se¸c˜ao.

3.2.2 M´ etodo do Subgradiente

  O m´etodo do subgradiente consiste basicamente da itera¸c˜ao 3.11, onde g k ´e o

  • subgradiente g(x α ); [ ] ´e a proje¸c˜ao no espa¸co de solu¸c˜oes do problema dual; α k ´e o k tamanho do passo, e k representa a k-´esima itera¸c˜ao do m´etodo.
  • λ = [λ + α g ] (3.11) k +1 k k k

  O subgradiente pode ser definido da seguinte forma: Seja f (x) uma fun¸c˜ao convexa. n f (x) : ℜ 7→ ℜ Um funcional linear g ´e um subgradiente de f no ponto x se: n f (x) ≥ f(x ) + g(x − x ), ∀x ∈ ℜ Aplica¸c˜ ao de Algoritmos Gen´ eticos O tamanho do passo (α k ) ´e uma fun¸c˜ao da estimativa da diferen¸ca entre o valor dual ´otimo e o valor dual atual. Como o valor ´otimo para o problema dual n˜ao ´e previa- mente conhecido, foi utilizado em seu lugar o melhor valor obtido para o problema primal at´e a itera¸c˜ao atual como sendo um limitante superior para o valor do problema dual (de acordo com o sugerido em [4]). Sendo assim, a equa¸c˜ao (3.12) ´e utilizada para o c´alculo do passo (α k ). k− )

  1

  (melhorprimal − L(I, λ) α k = γ k 0 < γ k (3.12)

  ≤ 2 ∀ k ≥ 0, k

  2

  kg k Embora existam diversos m´etodos registrados na literatura para o c´alculo do parˆametro γ k , o seu valor foi fixado em 0,02 conforme os resultados obtidos por Ramos

  [34].

  A utiliza¸c˜ao da Relaxa¸c˜ao Lagrangeana causa a perda das restri¸c˜oes que imp˜oe um limite, seja inferior ou superior, `as vari´aveis I ij de cada subproblema S p , pertencentes `as restri¸c˜oes relaxadas. Por este motivo, as solu¸c˜oes encontradas para cada subproblema apresentam grande possibilidade de n˜ao satisfazerem as restri¸c˜oes relaxadas. Esta situa¸c˜ao pode ser visualizada no grafo apresentado na figura 3.3, sendo um dos problemas que ser˜ao resolvidos com a hibridiza¸c˜ao deste m´etodo com Algoritmos Gen´eticos.

3.3 APLICAC ¸ ˜ AO DE ALGORITMOS GEN´ ETICOS

  O Job Shop ´e um problema que possui a propriedade de, ao ser particionado, gerar subproblemas que tamb´em pertencem a classe dos Job Shop (se¸c˜ao 1.2.4). Esta caracter´ıstica permite que seja utilizado nos subproblemas qualquer m´etodo de resolu¸c˜ao j´a aplicado ao Job Shop. Neste trabalho, o m´etodo adotado foi o dos algoritmos gen´eticos, que, como se registra nesta se¸c˜ao, permite uma adequada reuni˜ao das solu¸c˜oes dos sub- problemas. Aplica¸c˜ ao de Algoritmos Gen´ eticos

  T =4 11 T =2 12 O O

  11

  12 T =2 22 T =1 T =5 21 24 T =0 fim T =0 O O O

  22

  

21

  24 F S

  T =4 34 T =3 33 O O

  33

  34 T =2 43 T =1 44 O O

  44

  43 Figura 3.3: Grafo particionado de um problema Job Shop.

3.3.1 Algoritmos Gen´ eticos e o Job Shop particionado

  Os Algoritmos Gen´eticos s˜ao heur´ısticas robustas que j´a foram aplicados de forma eficiente em diversas ´areas, entre elas a Otimiza¸c˜ao de Problemas [15], em que um cro- mossomo ´e utilizado como representa¸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. A performance dos Algoritmos Gen´eticos mostra-se eficiente ao se comparar seus resultados com resultados obtidos por outros m´etodos de resolu¸c˜ao, prin- cipalmente quando os espa¸cos de busca s˜ao acidentados e possuem rugosidade acentuada (se¸c˜ao 1.2.1), situa¸c˜ao semelhante `a provocada pelo particionamento do Job Shop. Al´em disto, a codifica¸c˜ao de gen´otipos para solu¸c˜oes do Job Shop apresentada na se¸c˜ao 3.1.1 e a cria¸c˜ao do respectivo espa¸co de busca irrestrito possibilitam as condi¸c˜oes prop´ıcias para a aplica¸c˜ao de algoritmos gen´eticos.

  A proposta neste trabalho para a codifica¸c˜ao do gen´otipo de uma solu¸c˜ao de Aplica¸c˜ ao de Algoritmos Gen´ eticos (O ij , O kj ) a serem realizadas em uma mesma m´aquina M j (se¸c˜ao 3.1.1). Como o particio- namento foi realizado em c´elulas de m´aquinas, o gen´otipo de um subproblema consiste dos genes que determinam a ordena¸c˜ao das opera¸c˜oes dentro de cada m´aquina componente da c´elula tratada (subproblema).

  Tendo como exemplo o problema apresentado na figura 3.3, e considerando pares ordenados em que a primeira opera¸c˜ao ´e realizada antes da segunda, tem-se o gen´otipo para uma solu¸c˜ao fact´ıvel do primeiro subproblema atrav´es do conjunto de pares ordenados

  , O ); (O , O

  11

  12

  22

  12

  {(O )}, e o gen´otipo para uma solu¸c˜ao fact´ıvel do segundo subproblema atrav´es do conjunto de pares ordenados

  , O ); (O , O ); (O , O ); (O , O

  33

  43

  24

  44

  24

  34

  44

  34 {(O )}.

  Estes gen´otipos para os subproblemas definem o gen´otipo para uma solu¸c˜ao fact´ıvel do problema completo que ´e composto pela uni˜ao dos dois conjuntos de pares ordenados , O ); (O , O ); (O , O ); (O , O ); (O , O ); (O , O

  11

  12

  22

  12

  33

  43

  24

  44

  24

  34

  44

  34

  {(O )}.

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

  Embora se reconhe¸ca a validade dos diversos operadores gen´eticos que podem ser aplicados para solu¸c˜ao de problemas (se¸c˜ao 2.3), neste trabalho foram adotados o crossover uniforme, um operador de muta¸c˜ao com uma taxa de 2%, e uma estrat´egia h´ıbrida probabilistica/salvacionista de sele¸c˜ao.

  O crossover uniforme n˜ao leva em conta a ordena¸c˜ao dos genes; portanto, ´e fa- vor´avel a sua utiliza¸c˜ao nos casos em que os genes dos cromossomos n˜ao possuem in- terdependˆencia direta na determina¸c˜ao das caracter´ısticas do fen´otipo. Este ´e o caso do Aplica¸c˜ ao de Algoritmos Gen´ eticos A muta¸c˜ao permite que qualquer par de opera¸c˜oes tenha sua ordem de execu¸c˜ao invertida, possibilitando que todo o espa¸co de busca tenha possibilidade de ser percorrido.

  Uma taxa de muta¸c˜ao de 2% foi escolhida por terem os testes realizados com esta taxa apresentado um melhor equil´ıbrio entre efic´acia e custo computacional do que os testes realizados com outras diversas taxas.

  O operador de sele¸c˜ao utilizado foi o Roulette Wheel. Este operador associa, para cada solu¸c˜ao pertencente `a gera¸c˜ao atual, um arco com tamanho proporcional ao seu fitness, de modo que a soma de todos os arcos associados seja a totalidade da circun- ferˆencia, ou seja 360, como mostra a figura 2.5 na se¸c˜ao 2.3.3. A seguir s˜ao sorteados, aleatoriamente, n´ umeros entre zero e 360 que indicam quais as solu¸c˜oes que foram sele- cionadas para sofrer a a¸c˜ao dos demais operadores gen´eticos. Al´em desta estrat´egia de sele¸c˜ao probabil´ıstica, foi utilizado o m´etodo salvacionista em que o melhor indiv´ıduo de cada gera¸c˜ao ´e preservado para a pr´oxima gera¸c˜ao, e o indiv´ıduo representante da solu¸c˜ao de um subproblema em uma itera¸c˜ao ´e al¸cado `a primeira gera¸c˜ao da resolu¸c˜ao da itera¸c˜ao seguinte.

  O m´etodo de codifica¸c˜ao adotado para as solu¸c˜oes do problema permite que, a partir das solu¸c˜oes dos subproblemas, possa-se chegar a uma solu¸c˜ao fact´ıvel para o problema geral. Isto deve-se ao fato da solu¸c˜ao codificada (gen´otipo) n˜ao estar atrelada diretamente aos tempos de in´ıcio de cada opera¸c˜ao O ij , mas apenas `a rela¸c˜ao de ordem de execu¸c˜ao das opera¸c˜oes.

  Tem-se, portanto, o valor do problema primal ap´os a reuni˜ao dos gen´otipos das solu¸c˜oes dos subproblemas, e a subsequente aplica¸c˜ao da fun¸c˜ao de decodifica¸c˜ao (se¸c˜ao 3.1.1).

3.3.3 Busca Local

  Como forma de acelerar a convergˆencia do m´etodo, foi utilizado um algoritmo Aplica¸c˜ ao de Algoritmos Gen´ eticos nhan¸ca da solu¸c˜ao analisada.

  A partir de uma solu¸c˜ao s encontrada no espa¸co de busca irrestrito, pode-se encontrar uma solu¸c˜ao de melhor qualidade, realizando uma busca local em sua vizinhan¸ca [31] [37], tendo como parˆametro de avalia¸c˜ao do fitness o crit´erio de otimiza¸c˜ao geral. Como o gen´otipo dos indiv´ıduos ´e composto por vari´aveis bin´arias, pode-se definir uma vizinhan¸ca de s como sendo

  N (s i ; H(s , s

  1

  ) = {s ) = 1}, onde H(s , s ) ´e a distˆancia hamming entre s e s , ou seja, os gen´otipos de s e

  1

  1 s diferem por apenas um d´ıgito [15].

1 Assim, o algoritmo utilizado para a busca local foi o seguinte:

  1. Tome uma solu¸c˜ao inicial s ;

  2. Tome um subconjunto N (s ); ) ⊂ N(s

  3. Repita at´e que f (s i i (s ): ′ ′ ) ≥ f(s ), ∀s ∈ N Fa¸ca s = s i (s ), ondef (s i k k (s )

  ∈ N ) ≥ f(s ), ∀s ∈ N Apenas alguns elementos de N (s ) podem ser analisados, pois o tamanho de

  N (s ) tem crescimento superior ao polinomial conforme aumenta o n´ umero de produtos processados em cada m´aquina do problema tratado.

  Cap´ıtulo 4 TESTES E RESULTADOS

  A metodologia proposta no cap´ıtulo terceiro foi validada pela elabora¸c˜ao de testes com problemas de seq¨ uenciamento Job Shop est´aticos, pr´eviamente particionados pela Tecnologia de Grupos. A metodologia foi aplicada atrav´es da sua implementa¸c˜ao em um programa computacional, possibilitando a realiza¸c˜ao de um n´ umero de testes capaz de fornecer informa¸c˜oes suficientes para as conclus˜oes deste cap´ıtulo.

4.1 PROGRAMA COMPUTACIONAL

  O programa computacional criado para resolver os problemas testados foi imple- mentado na linguagem C++, sendo subdividido nos seguintes m´odulos, representados na figura 4.1:

  • M´odulo Inicial Efetua a leitura do problema Job Shop particionado, identificando os subproblemas e o acoplamento entre as c´elulas de m´aquinas.
Programa Computacional

  Método do Subgradiente Módulo Inicial Problema Primal Método de Resolução Algoritmo Genético Operador de Crossover Operador de Mutação

Operador de

Seleção

Busca Local Cálculo do Fitness do Subproblema Cálculo do Fitness do Problema Geração de Números Aleatórios Subrotina Geral Método do Subgradiente Módulo Inicial Problema Primal Método de Resolução Algoritmo Genético Operador de Crossover Operador de Mutação

Operador de

Seleção

Busca Local Cálculo do Fitness do Subproblema Cálculo do Fitness do Problema Geração de Números Aleatórios Subrotina Geral Método do Subgradiente Módulo Inicial Problema Primal Método de Resolução Algoritmo Genético Operador de Crossover Operador de Mutação

Operador de

Seleção

Busca Local Cálculo do Fitness do Subproblema Cálculo do Fitness do Problema Geração de Números Aleatórios Subrotina Geral Figura 4.1: Programa Computacional.

  • M´etodo de Resolu¸c˜ao

  Realiza a coordena¸c˜ao entre as itera¸c˜oes, fazendo a passagem dos parˆametros entre os m´odulos do M´ etodo do Subgradiente e do Problema Primal, verificando se o crit´erio de parada j´a foi satisfeito.

  • M´etodo do Subgradiente Calcula as novas vari´aveis duais atrav´es do M´etodo do Subgradiente (se¸c˜ao 3.2.1), tendo por base o resultado primal atual.
  • Problema Primal Controla a resolu¸c˜ao dos subproblemas pelo Algoritmo Gen´ etico , para os quais passam as respectivas vari´aveis duais, fazendo o acoplamento das suas solu¸c˜oes.
Programa Computacional

  • Algoritmo Gen´etico

  Gera uma popula¸c˜ao inicial aleat´oria de 99 solu¸c˜oes para o subproblema, a cuja popula¸c˜ao ´e adicionada a melhor solu¸c˜ao da itera¸c˜ao anterior. A evolu¸c˜ao desta popula¸c˜ao de solu¸c˜oes ´e organizada at´e a sua convergˆencia para solu¸c˜ao do subpro- blema, atrav´es da aplica¸c˜ao dos Operadores Gen´ eticos , em um m´aximo de 500 gera¸c˜oes. Uma estrat´egia salvacionista ´e utilizada com a perpetua¸c˜ao do melhor indiv´ıduo de uma gera¸c˜ao para a pr´oxima gera¸c˜ao e do melhor indiv´ıduo de uma itera¸c˜ao para a pr´oxima itera¸c˜ao.

  • Operador Gen´etico de Sele¸c˜ao eticos de

  Realiza a escolha das solu¸c˜oes que sofrer˜ao a a¸c˜ao dos Operadores Gen´ Crossover ao e de Muta¸c˜ atrav´es do m´etodo Roulette Wheel (se¸c˜ao 2.3).

  • Operador Gen´etico de Crossover Aplica o Operador Gen´etico de Crossover Uniforme (se¸c˜ao 2.3) em pares de solu¸c˜oes, gerando duas novas solu¸c˜oes pertencentes `a pr´oxima gera¸c˜ao.
  • Operador Gen´etico de Muta¸c˜ao

  Aplica o Operador Gen´etico de Muta¸c˜ao (se¸c˜ao 2.3), a uma taxa de probabilidade de 2%, sobre a popula¸c˜ao de solu¸c˜oes.

  • Busca Local Faz uma Busca Local em um subconjunto da vizinhan¸ca com distˆancia Hamming igual a um (H(s , s i ) = 1) da solu¸c˜ao analisada (se¸c˜ao 3.3).
Qualidade das Solu¸c˜ oes Calcula o fitness de uma solu¸c˜ao para um subproblema, n˜ao considerando as res- tri¸c˜oes de acoplamento perdidas no processo de decomposi¸c˜ao, conforme a fun¸c˜ao 3.10 apresentada na se¸c˜ao 3.2.1.

  • C´alculo do Fitness do Problema Calcula o fitness de uma solu¸c˜ao para o problema Job Shop, composta pela uni˜ao das solu¸c˜oes dos subproblemas, considerando as restri¸c˜oes de acoplamento perdidas no processo de decomposi¸c˜ao, conforme a fun¸c˜ao 3.7 apresentada na se¸c˜ao 3.2.1.

  umeros Pseudo-Aleat´ orios

  • Gera¸c˜ao de N´

  Sendo a heur´ıstica dos Algoritmos Gen´eticos composta por elementos aleat´orios, como a escolha de quais solu¸c˜oes sofrer˜ao a a¸c˜ao dos operadores gen´eticos ou quais os genes dos cromossomos pais ser˜ao copiados para os cromossomos filhos (se¸c˜ao 2.3), foi necess´aria a cria¸c˜ao deste m´odulo que possibilita a gera¸c˜ao de uma mesma seq¨ uˆencia de n´ umeros pseudo-aleat´orios a partir de um mesmo n´ umero semente. A t´ecnica utilizada para a gera¸c˜ao destes n´ umeros pseudo-aleat´orios foi o Gerador Tausworthe [19], por ser computacionalmente mais simples de ser implementada.

  Para a execu¸c˜ao do programa criado, foi utilizado um computador com proces- sador Intel Celeron 800 MHz, e 64MB de mem´oria.

4.2 QUALIDADE DAS SOLUC ¸ ˜ OES

  Sendo as solu¸c˜ao tratadas pela ordena¸c˜ao das opera¸c˜oes envolvidas e n˜ao pelo seu tempo de in´ıcio, tem-se que qualquer solu¸c˜ao fornecida para os subproblemas gera uma solu¸c˜ao fact´ıvel para o problema. O que se deve observar ´e a qualidade desta solu¸c˜ao, visto Testes Realizados acoplamento voltam a ser consideradas durante a convers˜ao entre o espa¸co genot´ıpico e o espa¸co fenot´ıpico (se¸c˜ao 3.1.1), provocando uma altera¸c˜ao no fitness da solu¸c˜ao calculada pela fun¸c˜ao objetivo. Por esta raz˜ao, como crit´erio de parada utilizado, foi escolhida a avalia¸c˜ao da qualidade da solu¸c˜ao obtida em cada itera¸c˜ao.

  Pode-se obter a qualidade de uma solu¸c˜ao atrav´es do valor do gap de dualidade ∗ ∗ inerente g I , este definido, usando a solu¸c˜ao ´otima do primal P e o dual ´otimo L , atrav´es da equa¸c˜ao 4.1, que mede o quanto uma solu¸c˜ao est´a distante da solu¸c˜ao ´otima.

  (P*-L*) g I = (4.1)

  × 100% L*

  Por´em, para efetuar o c´alculo do gap de dualidade inerente, precisa-se conhecer o valor dual ´otimo, que n˜ao ´e conhecido para problemas ainda n˜ao resolvidos. Assim, foi adotado o gap de dualidade relativo g r (4.2), que usa a diferen¸ca relativa entre a solu¸c˜ao primal P da itera¸c˜ao atual e o valor dual L da itera¸c˜ao atual.

  (P-L) g r = (4.2)

  × 100% L

  Utilizou-se como crit´erio de parada para os testes realizados, descritos na pr´oxima se¸c˜ao, um gap de dualidade relativo inferior a 0,5% ou um n´ umero de itera¸c˜oes superior a 600, determinando o encerramento da busca por uma melhor solu¸c˜ao.

4.3 TESTES REALIZADOS

  Foram utilizados, como objeto de teste, quarenta problemas de seq¨ uenciamento Job Shop est´aticos, previamente particionados pela Tecnologia de Grupos em duas ou trˆes c´elulas de m´aquinas (se¸c˜ao 1.2.4). Para uma melhor an´alise do comportamento do m´etodo, os problemas-teste foram divididos em cinco grupos de acordo com suas caracter´ısticas Testes Realizados Grupo Problemas Opera¸c˜oes Produtos M´aquinas C´elulas de maq. Links/C´elula

  A

  10

  51

  10

  10

  2

  1 B

  10

  52

  10

  10

  2

  2 C

  7

  78

  10

  15

  3

  1 D

  7

  81

  10

  15

  3

  2 E

  6

  88

  10

  15

  3

  3 Tabela 4.1: Caracter´ısticas dos Problemas Testados.

  • Grupo A: Composto por dez problemas contendo 51 opera¸c˜oes divididas por 10 produtos e sendo processadas por 10 m´aquinas (problemas 10×10). Ap´os a decom- posi¸c˜ao do problema, foram formadas 2 c´elulas de m´aquinas e, entre elas, formou-se apenas um link.
  • Grupo B: Composto por dez problemas contendo 52 opera¸c˜oes divididas por 10 produtos e sendo processadas por 10 m´aquinas (problemas 10×10). Ap´os a decom- posi¸c˜ao do problema, foram formadas 2 c´elulas de m´aquinas e, entre elas, formaram- se dois links.
  • Grupo C: Composto por oito problemas contendo 78 opera¸c˜oes divididas por 10 produtos e sendo processadas por 15 m´aquinas (problemas 10×15). Ap´os a decom- posi¸c˜ao do problema, foram formadas 3 c´elulas de m´aquinas e, entre cada par de c´elulas, formou-se um link.
  • Grupo D: Composto por sete problemas contendo 81 opera¸c˜oes divididas por 10 produtos e sendo processadas por 15 m´aquinas (problemas 10×15). Ap´os a decom- posi¸c˜ao do problema, foram formadas 3 c´elulas de m´aquinas e, entre cada par de c´elulas, formaram-se dois links.
  • Grupo E: Composto por seis problemas, contendo 88 opera¸c˜oes divididas por 10 produtos e sendo processadas por 15 m´aquinas (problemas 10×15). Ap´os a decom- posi¸c˜ao do problema, foram formadas 3 c´elulas de m´aquinas e, entre cada par de
Resultados Em todos os problemas, os produtos s˜ao compostos por, aproximadamente, sete opera¸c˜oes e cada m´aquina processa entre quatro e seis opera¸c˜oes. Ap´os a decomposi¸c˜ao dos problemas em subproblemas, apesar de ocorrerem at´e seis links por c´elula de m´aquinas, foi permitido apenas um link por produto, estando ele localizado no in´ıcio ou no final da gama operat´oria.

  A seguir, s˜ao apresentados os resultados obtidos para os cinco grupos de testes.

4.4 RESULTADOS

  Para valida¸c˜ao da metodologia apresentada no cap´ıtulo terceiro, foram realizados testes com quarenta problemas de seq¨ uenciamento do tipo Job Shop, divididos em cinco grupos como descrito na se¸c˜ao 4.3, e realizada a compara¸c˜ao dos resultados obtidos com a aplica¸c˜ao de algoritmos gen´eticos isoladamente. Em apenas um problema n˜ao houve convergˆencia para solu¸c˜oes que atendiam ao crit´erio de parada adotado, um gap de dua- lidade relativo (4.2) inferior `a 0,5%. Portanto, o ponto a ser considerado ´e a velocidade com que esta convergˆencia ocorreu.

  4.4.1 Grupo A: Problemas 10 ×10 com apenas um link

  Por possuirem apenas um link entre suas c´elulas de m´aquinas (se¸c˜ao 1.2.4), os problemas do grupo A s˜ao os dez problemas mais simples entre todos os testados. Con- forme pode-se ver na tabela 4.2, a maioria dos problemas convergiu em at´e cinco itera¸c˜oes.

  Comparando-se os resultados obtidos pela aplica¸c˜ao do m´etodo proposto com os resultados obtidos atrav´es da aplica¸c˜ao direta de algoritmos gen´eticos nos problemas deste grupo, os resultados obtidos pelo m´etodo proposto foram 16, 86% melhores para um mesmo n´ umero de itera¸c˜oes. Resultados Itera¸c˜oes % de Convergˆencia

  At´e 5 70% de 6 `a 10 20% acima de 10 10% Tabela 4.2: Convergˆencia dos Problemas 10×10 com 1 link.

  (tabela 4.3), independente do n´ umero de itera¸c˜oes necess´arias `a obten¸c˜ao do crit´erio de parada.

  M´ınima M´edia M´axima 7’30” 8’30” 9’30”

  Tabela 4.3: Dura¸c˜ao M´edia das Itera¸c˜oes dos Problemas 10×10 com 1 link, em um com- putador com processador Intel Celeron 800 MHz e 64MB de mem´oria.

  O ´ unico problema que precisou de mais de 10 itera¸c˜oes para chegar ao crit´erio de parada, mais precisamente, de 19 itera¸c˜oes, sendo novamente executado, por´em utilizando- se um outro valor como semente para a rotina de gera¸c˜ao de n´ umeros pseudo-aleat´orios (se¸c˜ao 4.1). Nesta nova execu¸c˜ao, n˜ao considerada em nas estat´ısticas que ilustram este estudo, o problema convergiu em 10 itera¸c˜oes, alcan¸cando um gap de dualidade relativa de 0,3675%.

  4.4.2 Grupo B: Problemas 10 ×10 com dois links

  Os problemas do grupo B s˜ao formados por duas c´elulas de m´aquinas (se¸c˜ao 1.2.4) com dois links em produtos diferentes. Houve uma boa distribui¸c˜ao dos problemas pelas faixas de convergˆencia analisadas, como pode-se ver na tabela 4.4, com alguns problemas tendo um n´ umero de itera¸c˜oes semelhante aos problemas 10×10 com apenas 1 link (5 itera¸c˜oes), e outros com n´ umero de itera¸c˜oes vinte e cinco vezes maior (76 itera¸c˜oes). Resultados um mesmo n´ umero de itera¸c˜oes.

  Itera¸c˜oes % de Convergˆencia At´e 10 20% de 11 `a 30 30% de 31 `a 50 30% acima de 50 20%

  Tabela 4.4: Convergˆencia dos Problemas 10×10 com 2 links. A dura¸c˜ao m´edia das itera¸c˜oes (tabela 4.5) foi aproximadamente trinta segundos maior do que a dos problemas do grupo A, refletindo a sua maior complexidade, embora a varia¸c˜ao entre as m´edias das itera¸c˜oes tenha sido equivalente.

  M´ınima M´edia M´axima 8’33” 9’02” 9’30”

  Tabela 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.

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

  Por possuirem apenas um link entre cada par formado por suas c´elulas de m´aquinas, totalizando trˆes links, os sete problemas do grupo C s˜ao os mais simples entre os pro- blemas deste estudo que possuem 15 m´aquinas. Conforme pode-se ver na tabela 4.6, o n´ umero de itera¸c˜oes necess´arias para atingir o crit´erio de parada foi consideravelmente superior aos exigidos para os problemas dos grupos A e B.

  Para os problemas deste grupo, a aplica¸c˜ao da metodologia proposta resultou em solu¸c˜oes 7, 02% melhores do que com a aplica¸c˜ao apenas de algoritmos gen´eticos.

  A dura¸c˜ao m´edia das itera¸c˜oes dos problemas do grupo C (tabela 4.7) manteve-se Resultados Itera¸c˜oes % de Convergˆencia

  At´e 150 0% de 151 `a 300 29% de 301 `a 450 42% acima de 450 29%

  Tabela 4.6: Convergˆencia dos Problemas 10×15 com 1 link. igual de opera¸c˜oes e de possuir uma c´elula de m´aquinas a mais do que os problemas dos grupos anteriores - com a resolu¸c˜ao de mais um subproblema em cada itera¸c˜ao - o tempo m´edio das itera¸c˜oes manteve-se pr´oximo a oito minutos e trinta segundos.

  M´ınima M´edia M´axima 8’15” 8’33” 8’50”

  Tabela 4.7: Dura¸c˜ao M´edia das Itera¸c˜oes dos Problemas 10×15 com 1 link, em um com- putador com processador Intel Celeron 800 MHz e 64MB de mem´oria.

  4.4.4 Grupo D: Problemas 10 ×15 com dois links

  Os sete problemas do grupo D s˜ao formados por duas c´elulas de m´aquinas com dois links em produtos diferentes. Na tabela 4.8, pode-se observar que neste grupo ocorreu o ´ unico caso de n˜ao atingimento do crit´erio de parada. Este problema apresentou um comportamento semelhante aos demais at´e a obten¸c˜ao de um gap de dualidade relativa de 6,05%, quando, a partir deste ponto, a fun¸c˜ao lagrangeana iniciou uma trajet´oria descendente at´e o encerramento do teste na itera¸c˜ao 1791.

  Para este grupo de problemas, a utiliza¸c˜ao de algoritmos gen´eticos, sem estar combinado com outro m´etodo qualquer, obteve resultados 12, 58% melhores do que a utiliza¸c˜ao da metodologia proposta no cap´ıtulo 3. Resultados Itera¸c˜oes % de Convergˆencia

  At´e 150 0% de 151 `a 300 14% de 301 `a 450 43% acima de 450 29%

  N˜ao convergiu 14% Tabela 4.8: Convergˆencia dos Problemas 10×15 com 2 links. c´elulas de m´aquinas e de links entre estas.

  M´ınima M´edia M´axima 8’10” 8’45” 9’19”

  Tabela 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.

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

  Os problemas do grupo E foram os problemas mais dif´ıceis tratados neste estudo, pois foram formados por trˆes c´elulas de m´aquinas com trˆes links entre cada par de c´elulas, totalizando nove links, sempre em produtos diferentes. Apesar de possuir mais links que os problemas do grupo D, todos os problemas convergiram, como mostra a tabela 4.10.

  A compara¸c˜ao dos resultados obtidos pela aplica¸c˜ao da metodologia proposta com os resultados da utiliza¸c˜ao apenas de algoritmos gen´eticos, mostrou que, para este grupo de problemas, a metodologia proposta obteve resultados 22, 90% inferiores, em um mesmo n´ umero de itera¸c˜oes.

  O tempo m´edio de dura¸c˜ao das itera¸c˜oes manteve-se aproximado ao dos grupos anteriormente estudados (tabelas 4.3, 4.5, 4.7, 4.9, 4.11) mesmo com o aumento do n´ umero Resultados Itera¸c˜oes % de Convergˆencia

  At´e 300 0% de 301 `a 450 17% de 451 `a 600 50% acima de 600 33%

  Tabela 4.10: Convergˆencia dos Problemas 10×15 com 3 links. 1 link (tabela 4.3), tem-se que a diferen¸ca de complexidade dos problemas aqui tratados n˜ao afetou a dura¸c˜ao m´edia das itera¸c˜oes. A diferen¸ca de complexidade faz-se notar no n´ umero de itera¸c˜oes necess´arias `a convergˆencia, mas n˜ao influencia uma itera¸c˜ao de forma isolada.

  M´ınima M´edia M´axima 8’07” 8’21” 8’56”

  Tabela 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.

4.4.6 Convergˆ encia das Resolu¸ c˜ oes

  Uma observa¸c˜ao interessante, notada em todos os quarenta gr´aficos dos problemas- teste realizados, foi o comportamento semelhante na evolu¸c˜ao das itera¸c˜oes, como pode-se observar nos gr´aficos adiante exibidos nas figuras 4.2, 4.3, 4.4, independente do n´ umero de itera¸c˜oes e do grupo em que estavam inseridos.

  Este comportamento repetiu-se em todos os problemas testados, mostrando uma evolu¸c˜ao do valor primal, alternando per´ıodos constantes com bruscas varia¸c˜oes e seq¨ uˆencias oscilat´orias, at´e a sua aproxima¸c˜ao com o valor do lagrangeano.

  O lagrangeano apresentou um comportamento mais est´avel, caminhando cons- Resultados 1500 1300 Primal Gráfico de Convergência 1100 900 Lagrangeano Iteração

  20

40

60 Figura 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 3500 3000 Primal Gráfico de Convergência 2000 2500 20 Lagrangeano

40

60 Iteração Figura 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.

  Resultados 3300 2900 3100 Primal Gráfico de Convergência 2300 2500 2700 Lagrangeano Iteração 100 200 300 400 Figura 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. termedi´arias nestes instantes, foi constatada a invers˜ao da ordem de opera¸c˜oes causando o desaparecimento ou o surgimento de per´ıodos de grande ociosidade em determinada m´aquina.

  O gap de dualidade relativo (figuras 4.5, 4.6, 4.7), valor adotado como condi¸c˜ao de parada para os testes, acompanhou o comportamento oscilat´orio do problema primal, por´em apresentando a convergˆencia para zero, j´a esperada pela utiliza¸c˜ao do m´etodo do subgradiente. Ressalva seja feita ao problema pertencente ao grupo D (se¸c˜ao 4.4.4) que divergiu, tendo a fun¸c˜ao lagrangeana adotado postura descendente ap´os o gap de dualidade relativa atingir um m´ınimo de 6,05 Resultados

  Gap de Dualidade Relativo 0,00 0,10 0,20 0,30 0,40 0,50 0,60 20

40

60 Iteração

  Figura 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.

  Gap de Dualidade Relativo 0,00 0,10 0,20 0,30 0,40 0,50 0,60 20

40

60 Iteração

  Figura 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.

  Resultados Gap de Dualidade Relativo

  0,00 0,10 0,20 0,30 0,40 0,50 0,60 100 200 300 400 Iteração

  Figura 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.

  As observa¸c˜oes ora registradas pelo autor em torno do tema, os testes aplicados e o alcance dos seus resultados, s˜ao fatores que, embora possam aparentar a finaliza¸c˜ao das experiˆencias inseridas nesta disserta¸c˜ao, apenas conduzem `a sua parte conclusiva, atendendo `a delimita¸c˜ao proposta para o desenvolvimento deste estudo. CONCLUS ˜ AO

  O problema de sequenciamento Job Shop est´a entre os problemas mais dif´ıceis de ser resolvidos [25] [13] [38]. Este fato, aliado `a crescente importˆancia de que se reveste a solu¸c˜ao de problemas de seq¨ uenciamento em processos industriais, confirma a grande utilidade de todos os estudos sobre este tema para a melhoria do desempenho produtivo.

  Neste trabalho, para resolver problemas de seq¨ uenciamento Job Shop, buscou- se a constru¸c˜ao de uma nova metodologia de resolu¸c˜ao, aliando-se as importantes ca- racter´ısticas de robustez e efic´acia dos algoritmos gen´eticos `a exatid˜ao matem´atica da relaxa¸c˜ao lagrangeana e do m´etodo do subgradiente.

  O fato de, durante os testes realizados, um problema apresentar grande varia¸c˜ao na velocidade de convergˆencia para diferentes sementes utilizadas na gera¸c˜ao de n´ umeros aleat´orios (se¸c˜ao 4.4.1) mostrou que, apesar de convergir para o crit´erio de parada ado- tado neste trabalho, a velocidade da convergˆencia deste m´etodo ´e sens´ıvel `a varia¸c˜ao dos n´ umeros gerados aleatoriamente para o funcionamento do algoritmo gen´etico.

  Tamb´em ´e de relevˆancia a n˜ao convergˆencia em um dos problemas de teste realiza- dos. Esta ocorrˆencia mostra que ainda ´e preciso aperfei¸coamento no controle da resolu¸c˜ao dos subproblemas pelos algoritmos gen´eticos.

  Como propostas para trabalhos futuros, pode-se sugerir:

  • Um estudo comparativo entre o m´etodo proposto e outras alternativas de resolu¸c˜ao,
Conclus˜ ao

  • Uma an´alise mais profunda dos parˆametros utilizados no c´alculo do passo do m´etodo do subgradiente para uma melhor adapta¸c˜ao deste `a utiliza¸c˜ao de algoritmos gen´eticos.
  • Um estudo sobre a aplica¸c˜ao do m´etodo em um ambiente com m´ultiplos processa- dores para aproveitar o seu forte paralelismo.
  • A utiliza¸c˜ao de algoritmos gen´eticos tamb´em na solu¸c˜ao do problema dual, conforme proposto por Massa Neto [26].

  Os testes realizados demonstraram a eficiˆencia da metodologia proposta, auxi- liando a performance do algoritmo gen´etico na resolu¸c˜ao dos subproblemas, atrav´es de um correto direcionamento propiciado pelo m´etodo do subgradiente, resultando em uma acelera¸c˜ao na convergˆencia. A manuten¸c˜ao da dura¸c˜ao m´edia das itera¸c˜oes, mesmo com o aumento dos subproblemas envolvidos e do n´ umero de links entre os subproblemas, aliado ao forte paralelismo propiciado pela relaxa¸c˜ao lagrangeana, permite que compu- tadores sejam associados para aproveitar melhor as caracter´ısticas da metodologia aqui exposta. Referˆ encias Bibliogr´ aficas

  [1] Alves, I. C. (2000). “Aplication de la Technologie de Groupes Et de la Relaxation Lagrangienne au Probleme D’Ordennancement de Type Job-Shop”. Tese de Douto- rado, Universit´e Blaise Pascal.

  [2] Baeck,T.;Hoffmeister,H.-P. (1991). “A survey of evolution strategies”. Procee- dings of the Fourth International Conference on Genetic Algorithms, pp 2-9, La Jolla,CA. Morgan Kaufmann. [3] Baker, K.R. (1974). “Introduction to sequencing and scheduling”. John Wiley e Sons, New York, USA.

  [4] Bertsekas, D.P. (1995). “Nonlinear Programming”. Athena Scientific, Belmont, USA.

  [5] Concilio,R. (2000). “Contribui¸c˜oes a Solu¸c˜ao de Problemas de Escalonamento pela Aplica¸c˜ao Conjunta de Computa¸c˜ao Evolutiva e Otimiza¸c˜ao com Restri¸c˜oes”. Dis- serta¸c˜ao de Mestrado, Universidade Estadual de Campinas - Unicamp, FEEC,DCA.

  [6] Charles,D. (1859). “On the Origin of Species by Means of Natural Selection”. Lon- don: J. Murray.

  [7] Davidor,Y.;Schwefel,H.-P.; and M¨ anner,R. (Editors)(1994). “Proceedings of the Third International Conference on Parallel Problem Solving from Na- ture(PPSN)”. Springer-Verlag, New York. Referˆ encias Bibliogr´ aficas [8] Davis,L. (1985). “Job Shop Scheduling with Genetic Algorithms”. International Con- ference of Genetic Algorithms (ICGA-85).

  [9] Eiben,A.E.;Raue,P.-E.;and Ruttakay,Zs. (1994). “Genetic Algorithms with Multi-parent Recombination”, em [7] pp 78-87.

  [10] Eshelman,L.J.;Caruana,R.A.;Schaffer,J.D. (1989). “Biases in the Crossover Landscape”, em [21], pp 10-19.

  [11] Fang,H.-L.; Ross,P.; Corne,D. (1993). “A promising genetic algorithm appro- ach to job shop scheduling, rescheduling, and open shop scheduling problems”. In Forrest,S., editor, Proceedings of the Fifth International Conference on Genetic Al- gorithms, pages 375-382. Morgan Kauffman, San Mateo, CA.

  [12] Fogel,L.J.;Owens,A.J.;Walsh,M.J.(1966). “Artificial Intelligence Through Simu- lated Evolution”. New York. Wiley Publishing.

  [13] Gary,M.R.;Johnson,D.S. (1979). “Computers and Intractability: a Guide to the Theory of NP-Completeness”. Freeman.

  [14] Glover,F. (1977). “Heuristics for Integer Programming Using Surrogate Constraits”.

  Decision Sciences, Vol.8, N.1, pages 156-166. [15] Goldberg,D.E. (1989). “Genetic Algorithms in Search, Optimization and Machine Learning”. Addison-Wesley, Reading,MA.

  [16] Grefenstate,J.J. (1987). “Incorporating problem specific knowledge into genetic al- gorithms”. In Genetic Algorithms and Simulated Anneling. Davis,L. (editor), Morgan Kauffman (publisher). Los Altos, CA, pages 42-60. [17] Holland,J.H. (1975). “Adaption in Natural and Artificial Systems”. University of Michigan Press, Ann Arbor.

  [18] Jain, A.S.; Meeran, S.(1998). “Deterministic Job-Shop Scheduling: Past, Present

  Referˆ encias Bibliogr´ aficas [19] Jain, R. (1991). “The Art of Computer Systems Performance Analysis”.

  [20] Kauffman,S.A. (1993). “The Origins of Order”. Oxford University Press, New York.

  [21] Kaufmann,M. (Editors)(1989). “Proceedings of the Third Internation Conference on Genetic Algorithms”.

  [22] Kobayashi,S.; Ono,I.; Yamamura,M. (1995). “An Efficient Genetic Algorithm for Job Shop Scheduling Problems”. Proc of ICGA’95,pp.506-511.

  [23] Kusiak,A.;Chow,W.S. (1988). “Decompositions of Manufaturing systems”. IEEE journal of robotics and Automation.

  [24] Van Laarhoven,P.J.M.; Aarts,E.H.; Lenstra,J.K. (1992). “Job Shop scheduling by simulated annealing”, em Operational Reseach,40, pp.113-125.

  [25] Lenstra,J.K.; Rinooy Kan,A.H.G. (1977). “Complexity of machine scheduling problem”, em Annals of Discrete Mathematics 1, pp.343-363.

  [26] Massa Neto,E.S. (2004). “Algoritmos Gen´eticos Aplicado ao Job-Shop particionado pela Tecnologia de Grupos”. XXVII CNMAC - Resumo das Se¸c˜oes T´ecnicas, p´agina 439. [27] Mattfeld,D.C.;Bierwirth,C. (1996). “A Search Space Analysis of the Job Shop Scheduling Problem”. Annals of Operations Research 96, pages 441-453.

  [28] Michalewicz,Z. (1996). “Genetic Algorithms + Data Structures = Evolution Pro- grams”, 3

  a edi¸c˜ao, Springer, 1996.

  [29] Michalewicz,Z.;Schoenauer,M. (1996). “Evolutionary Algorithms for Constrai- ned Parameter Optimization Problems Evolutionary Computation”, 4(1):pp. 1-32.

  [30] Michalewicz,Z.;Hinterding,R.;Michalewicz,M. (1997). “Evolutionary Algo- rithms”. Chapter 2 in Fuzzy Evolutionary Computation. W. Pedrycz (editor), Kluwer

  Referˆ encias Bibliogr´ aficas uhlenbein,H. [31] M¨ (1991). “Evolution in time and space - the parallel genetic algo- rithm”. em Foundations of Genetic Algorithms 1. Rawlins,G.J.I. (editor), Morgan

  Kauffman (publ.). San Mateo, CA, pp. 316-337. [32] Muth,J.F.; Thompson,G.L. (1963). “Industrial Scheduling”. Prentice Hall, En- glewood Cliffs, N.J.

  [33] Nakano,R.; Yamada,T. (1991). “Conventional genetic algorithm for job shop pro- blems”. In 4th ICGA, pages 474-479.

  [34] Ramos,A.D. (2002). “M´etodo do Subgradiente aplicado ao Job Shop decomposto pela Tecnologia de Grupos e Relaxa¸c˜ao Lagrangeana”. Disserta¸c˜ao de Mestrado, Univer- sidade Federal de Bahia.

  [35] Rana,S. (1999). “The Distributional Biases of Crossover Operators”, Genetic and Evolutionary Computation Conference(GECCO-1999).

  [36] Rechenberg,I.(1973). “Evolutionsstrategie: Optimierung Technisher Systeme nach Prinzipien der Biologischen Evolution”. Frommann-Holzboog, Stuttgart.

  [37] Reeves,C. (1994). “Genetic Algorithms and Neighbourhood Search”, in T.C. Fo- garty(editor), Evolutionary Computing: AISB Workshop, Leeds, UK, April 1994; Selected Papers. Springer-Verlag, Berlim.. [38] Sanjeev,A. (1996). “Polynomial time approximation schemes for Euclidean TSP and other geometric problems”. In Proceedings of the 37th Annual IEEE Symposium on Foundations of Computer Science, pages 2-12. [39] Schaffer,J.D.;Caruana,R.A.;Eshelman,L.J.;Das,R. (1989). “A study of control parameters affecting online performance of genetic algorithms for function optimiza- tion”, in [21], pp.51-60. [40] Schwefel,H.-P. (1977). “Numerical Optimization of Computer Models”. New York.

  Jonh Wiley e Sons. Referˆ encias Bibliogr´ aficas [41] Spears,W.M. (1992). “Crossover or Mutation?”, in Whitley,L.D.,editor, “Founda- tions of Genetic Algorithms - 2”, pages 221-238. Morgan Kaufmann.

  [42] Syswerda,G. (1989). “Uniform Crossover in genetic algorithms”. em [21], pp 1-9. [43] V´ azquez,M.; Whitley,L.

  (2000). “A comparison of Genetic Algorithms in solving the Static Job Shop Scheduling Problem”, em PPSN 2000, pp. 303-312.

  [44] Weinberg,E. (1990). “Correlated and uncorrelated fitness landscapes and how to tel the difference, em ”Biol.Cybernet.”,63, pp.325-336.

  [45] Yamada,T.; Nakano,R. (1997). “Genetic Algorithms for Job Shop Scheduling Pro- blems”. Proc. of Modern Heuristics for Decision Suport, pages 67-81, UNICOM se- minar, 18-19 March 1997, London.

  ANEXO I - PROBLEMAS TESTE

  Nas tabelas a seguir, est˜ao caracterizados os problemas de Job-Shop utilizados nos testes realizados e que tiveram seus resultados apresentados como exemplo na se¸c˜ao

  4.4. As linhas representam as gamas operat´orias de cada produto, sendo cada opera¸c˜ao composta pelo par ordenado (m´aquina, dura¸c˜ao) da opera¸c˜ao.

  produto 1 (1,29) (2,78) (3,9) (4,36) (5,49)

produto 2 (1,43) (3,90) (5,75) (4,69) (2,28) (7,40)

produto 3 (2,91) (1,85) (4,39) (3,74) (5,33) produto 4 (2,81) (3,95) (1,71) (5,99) (4,98) produto 5 (3,14) (1,6) (2,22) (4,26) (5,69) produto 6 (6,52) (9,48) (10,72) (7,65) (8,25) produto 7 (7,32) (6,21) (10,32) (9,89) (8,30) produto 8 (6,74) (7,88) (9,19) (10,48) (8,36)

produto 9 (2,60) (6,51) (10,11) (7,40) (8,89) (9,74)

produto 10 (7,7) (9,64) (10,76) (6,47) (8,45)

  Tabela 4.12: Problema de teste n.8, com 10 produtos e 10 m´aquinas. Anexo I - Problemas Teste

  produto 1 (3,192) (2,175) (1,117) (5,149) (4,32) (10,75) produto 2 (1,32) (5,112) (4,130) (3,32) (2,54) produto 3 (5,63) (3,90) (4,55) (2,24) (1,163) (15,130) produto 4 (9,8) (7,113) (10,166) (8,115) (6,170) produto 5 (6,23) (8,98) (7,49) (10,58) (9,7) (11,60) produto 6 (8,142) (6,149) (7,122) (9,70) (10,175) produto 7 (13,14) (11,137) (14,20) (12,65) (15,189) (4,62) produto 8 (14,143) (11,102) (12,105) (15,85) (13,129) produto 9 (9,87) (12,64) (15,64) (13,61) (14,57) (11,29) produto 10 (3,69) (15,173) (12,86) (14,54) (11,157) (13,72)

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

  produto 1 (3,40) (1,148) (4,158) (5,123) (2,83) (13,90) produto 2 (5,28) (2,173) (4,43) (1,73) (3,149) produto 3 (3,152) (2,152) (4,11) (5,132) (1,194) (7,87) produto 4 (8,84) (6,68) (10,171) (9,168) (7,170) produto 5 (2,106) (7,107) (6,85) (8,134) (10,118) (9,63) produto 6 (6,17) (8,69) (10,152) (7,99) (9,155) produto 7 (8,20) (9,92) (7,171) (10,140) (6,3) produto 8 (15,173) (12,86) (14,54) (11,157) (13,72) produto 9 (13,81) (15,76) (12,143) (11,156) (14,48) produto 10 (9,73) (15,100) (12,99) (14,179) (11,87) (14,141)

  Tabela 4.14: Problema de teste n.35, com 10 produtos e 15 m´aquinas. ANEXO II - EXEMPLO DE APLICAC ¸ ˜ AO DA RELAXAC ¸ ˜ AO LAGRANGEANA

  O grafo apresentado a seguir representa a modelagem de um problema Job Shop com quatro produtos e quatro m´aquinas, particionado em dois subproblemas.

  O 11 O 12 S O 22 O 21 O 24 O 33 O 34 O 44 O 43 F Legenda: O ij : Operação pertencente ao produto i realizada na máquina j ,

  : Operações realizadas na Máquina 1 : Operações realizadas na Máquina 2 : Operações realizadas na Máquina 3 : Operações realizadas na Máquina 4 : Acoplamento entre os Sub-Grafos : Restrições de Precedência

  T 11 =4 T 12

=2

T 22 =2 T 21 =1 T 24 =5 T 33 =3 T 34 =4 T 44 =1 T 43 =2 T =0

T

fim =0

  O 11 O 12 S O 22 O 21 O 24 O 33 O 34 O 44 O 43 F Legenda: O ij : Operação pertencente ao produto i realizada na máquina j ,

  : Operações realizadas na Máquina 1 : Operações realizadas na Máquina 2 : Operações realizadas na Máquina 3 : Operações realizadas na Máquina 4 : Acoplamento entre os Sub-Grafos : Restrições de Precedência

  T 11 =4 T 12

=2

T 22 =2 T 21 =1 T 24 =5 T 33 =3 T 34 =4 T 44 =1 T 43 =2 T =0

T

fim =0 Figura 4.8: Problema Job Shop utilizado como exemplo, modelado por Grafo Disjuntivo.

  A rearruma¸c˜ao do grafo apresentado na figura 4.8, mostra que os subproblemas Anexo II - Exemplo de Aplica¸c˜ ao da Relaxa¸c˜ ao Lagrangeana solu¸c˜oes, como pode-se constatar pela figura 4.9. T =4 11 T =2 12 T =0

  O O 11 12 T =0 fim F T =2 22 T =1 21 S O O 22 21 T =5 24 X T =0 T =3 33 O 24 T =4 34 T =0 fim O O 33 34 S F T =1 44 T =2 43 O O 44 43 Figura 4.9: Grafo disjuntivo da decomposi¸c˜ao do problema apresentado na figura 4.8 em dois subproblemas interdependentes.

  Anexo II - Exemplo de Aplica¸c˜ ao da Relaxa¸c˜ ao Lagrangeana Este problema 4.8 tamb´em pode ser formulado segundo o modelo de Manne[32]: Minimizar: X

  2 p

  1

  2 p =1 I = I + I ∗ ∗ ∗

  Sujeito a: I + T ; I + T ;

  12

  11

  11

  21

  22

  22

  ≥ I ≥ I I + T ; I + T ;

  24

  21

  21

  34

  33

  33

  ≥ I ≥ I I + T ;

  43

  44

  44

  ≥ I

  1

  1 I + T ; I + T ; 12

12 ∗

  21

  21

  ≥ I ≥ I

  2

  2 I + T ; I + T ; 24

24 ∗

  34

  34

  ≥ I ≥ I

  2 I + T ; ∗ ≥ I

  43

  43 I + T ); I + T );

  11

  21 21 121

  

21

  11 11 121

  ≥ I − BS(y ≥ I − BS(1 − y I + T ); I + T );

  12

  22 22 122

  

22

  12 12 122

  ≥ I − BS(y ≥ I − BS(1 − y

  I

  33 43 + T 43 343 ); I

  

43

33 + T 33 343 );

  ≥ I − BS(y ≥ I − BS(1 − y I + T ); I + T );

  24

  34 34 234

  

34

  24 24 234

  ≥ I − BS(y ≥ I − BS(1 − y I + T ); I + T );

  24

  44 44 244

  

44

  24 24 244

  ≥ I − BS(y ≥ I − BS(1 − y

  I

  34 44 + T 44 344 ); I

  

44

34 + T 34 344 );

  ≥ I − BS(y ≥ I − BS(1 − y Onde: ij ´e o tempo de in´ıcio da opera¸c˜ao O ij .

  • I p
  • p ´e o tempo de in´ıcio da opera¸c˜ao fict´ıcia fim (O ) do subproblema S p . ∗<>I ij ´e a dura¸c˜ao da opera¸c˜ao O ij .
  • T Com:
Anexo II - Exemplo de Aplica¸c˜ ao da Relaxa¸c˜ ao Lagrangeana X n m X BS = T ij = 24. i j

  =1 =1

  Sendo a restri¸c˜ao I + T ;

  24

  

21

  21

  ≥ I a respons´avel pelo acoplamento entre os subproblemas.

  Com a aplica¸c˜ao da Relaxa¸c˜ao Lagrangeana, o problema dual correspondente ´e dado por

  1

  2

  max + I ), (If ixo) ∗ ∗

  24

  21

  21 λ≥ L(I, λ) ≡ I − λ(I − I − T e as fun¸c˜oes objetivo dos subproblemas tornam-se equivalentes a:

  1

  1 W (I) = min (I ); I ∈S ij

1

∗ − λI

  24

  2

  2 W (I) = min (I + λI ); I ∈S ij

2

  21 Universidade Federal da Bahia-UFBa Instituto de Matem´atica / Depto. de Matem´atica

  Campus de Ondina, Av. Adhemar de Barros s/n, CEP:40170-110

Novo documento

Tags

Documento similar

Biologia de Sistemas Aplicada à Insuficiência Cardíaca com Fração de Ejeção Normal.
0
3
8
Desenvolvimento de algoritmo para controle de tráfego urbano usando Redes Neurais e Algoritmos Genéticos
0
0
126
Algoritmos Genéticos Aplicados a um Modelo Evolucionário de Dinâmica Industrial
0
0
69
Factores Genéticos envolvidos na Doença de Alzheimer
0
0
78
Fitoterapia Aplicada ao Tratamento da Osteoporose
0
0
64
Relaxac¸˜ao Lagrangeana Aplicada ao Problema de Cobertura por Hubs
0
0
12
Dissertação para obtenção do Grau de Mestre em Matemática Aplicada ao Atuariado, Investigação Operacional e Estatística
0
0
91
Metodologia TRIZ Aplicada ao Desenvolvimento do Conforto Acústico em Aeronaves Comerciais
0
0
104
Metodologia TRIZ Aplicada ao Desenvolvimento de uma Estufa “Inteligente” Energeticamente Sustentável    
0
0
99
Metodologia TRIZ Aplicada ao Estudo de Melhoria da Gestão das Atividades Metrológicas na Saúde
0
0
187
Implicações do Conforto Térmico no Consumo Energético – Uma Hipótese de Modelo Adaptativo Aplicada ao Verão
0
0
142
Vanda Isabel da Silva Matos Serras Marques Desnaturação de Alta Resolução Aplicada ao
0
0
113
Otimização Multiobjetivo Aplicada ao Planejamento Sistemático de Conservação para Espécies de Plantas do Cerrado Brasileiro
0
0
278
Ordenação por Translocação de Genomas sem Sinal Utilizando Algoritmos Genéticos
0
0
127
Desenvolvimento de uma Metodologia para a Seletividade Cinética Aplicada ao Processo de Hidroconversão do Petróleo, Ocorrendo em Reator Gás-Líquido
0
0
90
Show more