Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes,...

14
Sequenciamento de M ´ aquinas atrav´ es de Algoritmos Gen´ eticos Laura Cristina do Esp´ ırito Santo 1 , Helen Mattos Senefonte 1 1 Departamento de Computac ¸˜ ao – Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 – CEP 86057-970 – Londrina – PR – Brasil [email protected], [email protected] Abstract. This work consists in planning the design of a program that imple- ments a genetic algorithm to solve the problem scheduling machines. This pro- blem is present in an industrial environment so that its optimization brings im- provements to production and a market differential. Resumo. Este trabalho consiste no planejamento da concepc ¸˜ ao de um pro- grama que implementa um algoritmo gen´ etico para resoluc ¸˜ ao do problema de Sequenciamento de M ´ aquinas. Esse problema est´ a presente no ambiente indus- trial de forma que a sua otimizac ¸˜ ao traz melhorias ` a produc ¸˜ ao e um diferencial de mercado. 1. Introduc ¸˜ ao O sequenciamento de m´ aquinas ´ e um dos problemas de otimizac ¸˜ ao mais aborda- dos na literatura especializada e mais presentes na realidade industrial, onde o tempo de produc ¸˜ ao reflete diretamente no desempenho financeiro da empresa. Neste tipo de problema, o objetivo principal ´ e alocar um determinado n ´ umero (n) de tarefas independentes, com tempos de execuc ¸˜ ao conhecidos, para um n´ umero (m) de aquinas. Ap´ os a distribuic ¸˜ ao das tarefas ` as m´ aquinas, a soma dos tempos das tarefas pertencentes ` a m´ aquina com a maior carga entre todas deve ser a menor poss´ ıvel. Como exemplo, pode-se imaginar uma f´ abrica com duas ou mais m´ aquinas (processadores) em uma linha de produc ¸˜ ao. Definir a ordem de tarefas a serem executadas em cada m´ aquina, considerando reduzir o seu tempo m´ aximo de utilizac ¸˜ ao pode trazer uma melhoria sig- nificativa quanto a produtividade da ind´ ustria. Ainda, se levado em considerac ¸˜ ao que cada m´ aquina pode possuir velocidade de processamento diferente, o tempo de execuc ¸˜ ao de uma tarefa depender da m´ aquina, e que algumas al´ em de m´ aquinas que s´ o executam tarefas espec´ ıficas (como acabamentos), a otimizac ¸˜ ao alcanc ¸ada pode ser surpreendente, trazendo um aumento na produc ¸˜ ao como um todo. Na tentativa de buscar uma soluc ¸˜ ao para o problema, este trabalho prop ˜ oe o desen- volvimento de um algoritmo para a automatizac ¸˜ ao desse problema utilizando Algoritmos Gen´ eticos (AGs). Estes possuem mecanismos de busca que evitam soluc ¸˜ oes considera- das ´ otimas locais, ou seja, melhor que soluc ¸˜ oes semelhantes [14]. Baseados na Teoria da Evoluc ¸˜ ao de Darwin, os AGs tratam de problemas complexos como o Sequenciamento de M´ aquinas a partir de uma estrutura que compreende cada poss´ ıvel soluc ¸˜ ao como um indiv´ ıduo da populac ¸˜ ao de uma gerac ¸˜ ao que evolui a cada cruzamento entre os melhores indiv´ ıduos da gerac ¸˜ ao anterior, aproximando-se assim de uma soluc ¸˜ ao ´ otima de maneira eficiente e com custo computacional relativamente mais baixo que um m´ etodo matem´ atico que conclui com o encontro da soluc ¸˜ ao ´ otima.

Transcript of Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes,...

Page 1: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

Sequenciamento de Maquinas atraves de AlgoritmosGeneticos

Laura Cristina do Espırito Santo1, Helen Mattos Senefonte 1

1Departamento de Computacao – Universidade Estadual de Londrina (UEL)Caixa Postal 10.011 – CEP 86057-970 – Londrina – PR – Brasil

[email protected], [email protected]

Abstract. This work consists in planning the design of a program that imple-ments a genetic algorithm to solve the problem scheduling machines. This pro-blem is present in an industrial environment so that its optimization brings im-provements to production and a market differential.

Resumo. Este trabalho consiste no planejamento da concepcao de um pro-grama que implementa um algoritmo genetico para resolucao do problema deSequenciamento de Maquinas. Esse problema esta presente no ambiente indus-trial de forma que a sua otimizacao traz melhorias a producao e um diferencialde mercado.

1. IntroducaoO sequenciamento de maquinas e um dos problemas de otimizacao mais aborda-

dos na literatura especializada e mais presentes na realidade industrial, onde o tempo deproducao reflete diretamente no desempenho financeiro da empresa.

Neste tipo de problema, o objetivo principal e alocar um determinado numero (n)de tarefas independentes, com tempos de execucao conhecidos, para um numero (m) demaquinas. Apos a distribuicao das tarefas as maquinas, a soma dos tempos das tarefaspertencentes a maquina com a maior carga entre todas deve ser a menor possıvel. Comoexemplo, pode-se imaginar uma fabrica com duas ou mais maquinas (processadores) emuma linha de producao. Definir a ordem de tarefas a serem executadas em cada maquina,considerando reduzir o seu tempo maximo de utilizacao pode trazer uma melhoria sig-nificativa quanto a produtividade da industria. Ainda, se levado em consideracao quecada maquina pode possuir velocidade de processamento diferente, o tempo de execucaode uma tarefa depender da maquina, e que algumas alem de maquinas que so executamtarefas especıficas (como acabamentos), a otimizacao alcancada pode ser surpreendente,trazendo um aumento na producao como um todo.

Na tentativa de buscar uma solucao para o problema, este trabalho propoe o desen-volvimento de um algoritmo para a automatizacao desse problema utilizando AlgoritmosGeneticos (AGs). Estes possuem mecanismos de busca que evitam solucoes considera-das otimas locais, ou seja, melhor que solucoes semelhantes [14]. Baseados na Teoria daEvolucao de Darwin, os AGs tratam de problemas complexos como o Sequenciamentode Maquinas a partir de uma estrutura que compreende cada possıvel solucao como umindivıduo da populacao de uma geracao que evolui a cada cruzamento entre os melhoresindivıduos da geracao anterior, aproximando-se assim de uma solucao otima de maneiraeficiente e com custo computacional relativamente mais baixo que um metodo matematicoque conclui com o encontro da solucao otima.

Page 2: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

2. Fundamentacao Teorica e Metodologica

A busca pela produtividade e fazer mais e melhor com cada vez menos, ou seja,busca por melhores resultados. A produtividade e responsabilidade gerencial, consti-tuindo uma vantagem estrategica sobre as empresas concorrentes.

A acao conjunta, o ambiente de ampla participacao e a avaliacao de resultadossao, entre outros, aspectos importantes que contribuem diretamente para a produtividadede uma empresa. As mudancas no ambiente empresarial fazem com que as empresastenham que se adaptar as novas condicoes de mercado. Melhorias no processo produtivotrazem um diferencial competitivo a industria, trazendo minimizacao de custos e reducaodo prazo de entrega dos produtos, por exemplo.

Assim, o Planejamento, Programacao e Controle de Producao tornam-se ferra-mentas gerenciais indispensaveis na industria, vem assumindo papel cada vez mais im-portante na competitividade das empresas, assim esta entre os fatores que influenciam aprodutividade industrial. [11]

O PPCP e um dos principais instrumentos para obtencao de eficiencia e eficaciano processo produtivo[26], e uma funcao administrativa relacionada ao planejamento,direcao e controle do suprimento de materiais, pecas e componentes e das atividades doprocesso de producao de uma empresa.

Nesse contexto, encaixa-se a alocacao de processos e maquinas de forma a satis-fazer um conjunto de restricoes temporais e de recursos, e objetivando-se um cronogramacom tempos precisos de inıcio e fim de cada atividade nos recursos alocados. Esse pro-cesso de alocacao de recursos industriais e chamado Sequenciamento de Maquinas ouSequenciamento de Operacoes.

Sequenciamento de operacoes sao as decisoes que direcionam a ordem em queos produtos devem ser fabricados, respeitando prioridades e restricoes impostas pelo pro-cesso. A programacao da producao tem como objetivo a definicao de prazos atraves dosequenciamento das ordens de fabricacao, ou seja, alocacao dos recursos da fabrica du-rante um perıodo para realizacao de um determinado conjunto de tarefas.[24]

A programacao de producao consiste basicamente na alocacao dos recursos dafabrica para a realizacao de determinado conjunto de tarefas em um perıodo de tempo,porem o problema pode ter inumeras formas e conjunto de restricoes de acordo com osegmento e processo produtivo da empresa.

2.1. Planejamento, Programacao e Controle de Producao

Definido como atividade relacionada ao emprego dos recursos de producao, ouseja, um sistema de informacoes que gerencia a producao do ponto de vista das quanti-dades a serem elaboradas, de cada tipo de bem ou servico e do tempo necessario parasua execucao [28]; o PPCP administra informacoes vindas de diversas areas do sistemaprodutivo. Coordenando e aplicando os recursos produtivos de forma a atender melhoraos planos estabelecidos em nıvel estrategico, tatico e operacional [molina].

Existe uma diferenca, basica entre os termos planejamento e programacao, poiso primeiro esta ligado a um maior horizonte de tempo (medio e longo prazos) enquantoo segundo preocupa-se mais com o curto e medio prazos. O fato de o medio prazo estar

Page 3: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

em uma conjuncao e porque estes perıodos dependem da estrutura organizacional de cadaempresa para o planejamento bem como pelo tipo de produto fabricado.

O planejamento diz respeito as tarefas mais abrangentes, principalmente no quese refere as capacidades de producao e a programacao esta intimamente ligada ao deta-lhamento deste planejamento. Alterando o foco deste conceito para a parte de calculo dasnecessidades de materiais, fica mais difıcil dizer que se esta programando uma compra,em vez de se estar planejando uma compra, ainda que seja no curto prazo.

P: Planejamento da Producao: Atividades que determinam quais sao as quanti-dades a serem produzidas, os volumes de materiais a serem empregados e os recursosnecessarios para a producao ao longo de um perıodo que pode abranger meses ou anos.

P: Programacao da Producao: Atividades que determinam quais as quantidades aserem produzidas, os volumes disponıveis de materiais a serem empregados e os recursosque serao utilizados para a producao ao longo de um perıodo que pode abranger semanasou dias.

C: Controle da Producao: Atividades que visam a coleta dos dados reais do pro-cesso produtivo com a finalidade de determinar desvios e possibilitar acoes preventivase/ou corretivas. Estes desvios podem ser utilizados para identificar possıveis problemasna producao para uma maquina, ordem de producao, lote ou ainda ser utilizado como umdado consolidado para identificar tendencias.

2.1.1. Planejamento de Producao

Para a execucao de qualquer planejamento de producao o plano de demanda (fo-recast) deve refletir as quantidades a serem distribuıdas. Nao e utilizado o termo planode vendas (sales plan) porque e necessaria a inclusao de toda e qualquer distribuicao doproduto sob a forma de vendas, bonificacoes, amostras gratis e pecas, conjuntos e sub-conjuntos se for o caso.

Analisa-se as atividades a partir do Plano Mestre de Producao cujo grau de deta-lhamento e de interesse para o PPCP.

Atividades do planejamento de producao:[12]

• Plano de Manufatura (Production Planning - PP);• Plano Mestre de Producao (Master Production Schedule - MPS);• Plano de Necessidades de Materiais (Material Requirements Planning - MRP);• Plano de Capacidades dos Recursos (Capacity Requirements Planning - CRP).

Definidos e calculados todos estes planos deve-se monitora-los, pois o planeja-mento em qualquer ramo de atividade, sem o correspondente controle, nao proporciona aempresa todos os benefıcios advindos desta atividade.

2.1.2. Programacao de Producao

Programacao da producao e a determinacao antecipada do programa de producaoa medio prazo dos varios produtos que a empresa produz. Ela representa o que ela deve

Page 4: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

produzir, expresso em quantidades e datas de modelos especıficos, e obtido a partir daEstimativa de Vendas. A programacao da producao leva em consideracao, alem da Es-timativa de Vendas, varios fatores, tais como: carteira de pedidos; disponibilidade dematerial; capacidade disponıvel; etc, de forma a estabelecer, com antecedencia, a melhorestrategia de producao. [26]

Segundo Chiavenato (1990, p. 60) os objetivos da programacao da producao saoos seguintes:

• Coordenar e integrar todos os orgaos envolvidos direta ou indiretamente no pro-cesso produtivo da empresa;

• Garantir a entrega dos produtos acabados (PA) ao cliente nas datas previstas ouprometidas;

• Garantir disponibilidades de materias-primas (MP) e componentes que serao re-quisitados pelos orgaos envolvidos;

• Balancear o processo produtivo de modo a evitar gargalos de producao, de umlado, e desperdıcios de capacidade, de outro;

• Aproveitar ao maximo a capacidade instalada, bem como o capital aplicado emMP, PA e materiais em processamento.

• Estabelecer uma maneira racional de obtencao de recursos, como MP (Compras),de mao-de- obra (Pessoal), de maquinas e equipamentos (Engenharia) etc;

• Estabelecer, atraves de ordens de producao, padroes de controle para que o de-sempenho possa ser continuamente avaliado e melhorado;

• Distribuir a carga de trabalho proporcionalmente aos diversos orgaos produtivos,de modo a assegurar a melhor sequencia da producao e o melhor resultado emtermos de eficiencia e eficacia.

Neste ultimo item, encaixa-se o Sequenciamento de maquinas abordado mais es-pecificamente no item 2.2.

2.1.3. Controle de Producao

Definidos e calculados todos os planos deve-se monitora-los, pois o planejamentoem qualquer ramo de atividade, sem o correspondente controle, nao proporciona a em-presa todos os benefıcios advindos desta atividade.

Atividades que monitoram, avaliam e controlam as atividades produtivas ao longode todo o processo sao parte do Controle de Producao (PAC).

Atividades do PAC:

• Financeiro;• Industrial;

2.2. Sequenciamento de Maquinas

Sequenciamento de operacoes, ou de maquinas e o termo dado as decisoes quedirecionam a ordem em que os produtos devem ser fabricados, respeitando prioridadese restricoes impostas pelo processo industrial. A programacao da producao tem comoobjetivo a definicao de prazos atraves do sequenciamento das ordens de fabricacao, ou

Page 5: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

seja, alocacao dos recursos da fabrica durante um perıodo para realizacao de um deter-minado conjunto de tarefas[24] em um perıodo de tempo, porem o problema pode terinumeras formas e conjunto de restricoes de acordo com o segmento e processo produtivoda empresa.

Com o objetivo principal de alocar um determinado numero (n) de tarefas inde-pendentes, com tempos de execucao conhecidos, para um numero (m) de maquinas para-lelas, o problema de sequenciamento tambem deve garantir que, apos a distribuicao dastarefas as maquinas, a soma dos tempos das tarefas pertencentes a maquina com a maiorcarga entre todas (makespan), ou seja, a sequencia de operacoes que encerrara por ultimo(marcando o tempo total de producao) deve ser a mınima possıvel.

Imaginando a possibilidade da divisao de uma tarefa entre duas maquinas, tem-sea chamada preempcao. Em uma situacao de nao-preempcao, uma tarefa uma vez alocada auma maquina deve permanecer nela ate o final de sua execucao, sem interrupcoes. Ainda,se levado em consideracao cada maquina possuir velocidade de processamento diferente,e o tempo de execucao de uma tarefa depender da maquina para a qual a tarefa e atribuıda,alem de maquinas que so executam tarefas especıficas (como acabamentos), a otimizacaoalcancada pode ser surpreendente, trazendo um aumento na producao como um todo.

O problema de sequenciamento em maquinas pode ser classificado quanto ao tipode maquina utilizada ou ambiente de producao [24]:

• A instancia mais simples do problema consiste na ordenacao das operacoes emMaquina Unica;

• Maquinas em Paralelo: conjunto de maquinas que realizam a mesma operacao,podendo ter velocidades de processamento diferentes para a mesma operacao;

• Ambiente de linha de producao com varias maquinas em serie e denominada FlowShop. Neste ambiente, cada operacao deve ser processada em todas as maquinasda linha sempre na mesma ordem;

• Estendendo tem-se o ambiente Flexible Flow Shop, semelhante ao anterior di-ferenciando apenas por cada estagio da linha de producao possuir maquinas emparalelo, o que permite uma maior flexibilidade da producao;

• O ambiente que e foco do trabalho e chamado de Job Shop. Em ambientesassim, cada maquina e considerada como um centro de trabalho e cada tarefapossui roteiro proprio de fabricacao, ou seja, cada produto nao precisa passarnecessariamente por todas as maquinas, nem mesmo seguir a mesma sequen-cia dos outros.[3] Ou seja, o Job Shop consiste de um conjunto de n pecas quesao processadas em m maquinas, onde o processamento de cada peca consisteem m operacoes realizadas nestas maquinas em uma sequencia especıfica. Essadescricao segue anotacao de Graham[15], onde cada instancia do problema e de-finida por um conjunto de pecas, um conjunto de maquinas e um conjunto detarefas/operacoes.

O problema de sequenciamento e um problema de otimizacao combinatoria decomplexidade NP-difıcil, e em ambiente Job Shop possui:[18]

• Solucao otima: n!m iteracoes;• Solucao por regra heurıstica: nm iteracoes, onde n = n0. tarefas e m = n0.

maquinas.

Page 6: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

2.3. Solucoes

O sequenciamento de maquinas e um processo decisorio de otimizacao combi-natoria. Para estes tipos de problemas ja foram propostas solucoes a partir de metodosmatematicos, heurısticas, redes neurais, algoritmos geneticos entre outros ramos da inte-ligencia artificial.

Um dos metodos mais simples consiste em determinar regras estaticas para de-cisao de qual operacao sera realizada primeiramente. Esse metodo e chamado Regras deDespacho.

2.3.1. Regras de Despacho

A forma mais utilizada de sequenciar operacoes em industrias e organizacoes con-siste em definir um criterio de priorizacao e ordenar as tarefas em cada maquina conside-rando apenas esse criterio a fim de obter uma solucao rapidamente, apesar de ter um tempocomputacional baixo nao apresenta bons resultados se comparados a outros metodos jaque nao e um algoritmo otimizante. Se dividem em:

• Menor Data de Entrega: tarefas com menos data limite sao priorizadas objetivandomenor atraso possıvel ;

• Menor Tempo de processamento: tarefas com o menor tempo de processamentosao priorizadas objetivando aumentar o fluxo de materiais e diminuir estoque emprocesso, permitindo, no entanto, atrasos em lotes de grande processamento;

• Maior Tempo de processamento: tarefas com o maior tempo de processamentosao priorizadas objetivando evitar espera de grandes lotes, permitindo, entretanto,grande geracao de estoque no processo;

• FIFO (First In, First Out): tarefas sao efetuadas na mesma ordem em que saocadastradas objetivando menor tempo de espera, porem nao considerando nemtempo ou melhor ordem para execucao das atividades.

Menor Folga: tarefas com menor diferenca entre o tempo de finalizacao estimadoe data limite sao priorizadas, objetivando menor atraso possıvel e melhorando a regra deMenor Data de Entrega.

Calculo matematicos precisos e complexos podem ser muito onerosos computa-cionalmente, tornando mais viavel a utilizacao de algoritmos que se aproximam de umaresposta otima para sequenciar operacoes com tempo de processamento mais acessıvel aocotidiano industrial.

Alguns metodos de aproximacao a solucao exata:

• Shifiting Bottleneck [1]: Heurıstica que busca otimizar a utilizacao dos recursoscrıticos do sistema, otimizando assim o sistema como um todo, geralmente e com-binado a outro metodo para resolver problemas de maquinas unicas apos o passode selecao de qual maquina e crıtica ao sistema;

• Redes Neurais: Estruturas computacionais baseadas na estrutura neural de orga-nismos inteligentes e que adquirem conhecimento atraves da experiencia. Cadaunidade (neuronio) possui memoria local e ligacoes para outras unidades, nas

Page 7: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

quais recebem e enviam sinais. A vantagem no uso de redes neurais no sequenci-amento de maquinas esta na possibilidade de deduzir a influencia de cada entradana solucao gerada, alem de um menor tempo de processamento apos o processode aprendizagem [2];

• GRASP (Greedy Randomised Adaptive Search Procedure): metodo iterativo pro-babilıstico, em que cada iteracao e obtida uma solucao, e esta e comparada aosseus “vizinhos” (solucoes semelhantes) a partir de outra iterativa que busca al-guma melhoria efetuando pequenas modificacoes ate se chegar em uma solucaootima local. A componente probabilıstica e utilizada na escolha da solucao ori-ginal. Seu criterio de parada mais comum e um numero maximo de iteracoes outempo de execucao;

• Busca Tabu: Tecnica de melhoria de solucao, considera estruturas que permi-tam explorar e cientemente o historico de todo o processo de busca. Utiliza-sede memoria para evitar regioes ja visitadas. Estrategias com memoria media saobaseadas em modificar as regras de escolha para diminuir a escolha de solucoeshistoricamente boas em regioes atrativas e intensificar a busca em outras regioes,enquanto que a memoria mais longa diversifica a busca em areas ainda nao explo-radas [13];

• Algoritmos Geneticos: classe de algoritmos probabilısticos que, a partir deuma populacao inicial de solucoes candidatas, ”evoluem”em direcao a melhoressolucoes aplicando operadores modelados em processos geneticos que ocorremna natureza[14]. Algoritmos geneticos diferem dos algoritmos de busca mais tra-dicionais no sentido de que sua busca e conduzida usando a informacao de umapopulacao de estruturas, em vez de uma unica estrutura. A motivacao para essaabordagem e que, considerando varias estruturas como solucoes potenciais, o riscoda busca chegar a um mınimo local e bastante reduzido.

Uma programacao detalhada exige um controle e acompanhamento detalhado,recomenda-se a aplicacao de tecnicas de sequenciamento juntamente com formas deacompanhamento em tempo real na fabrica para garantir que o cronograma seja executadoe reagir a imprevistos. Esse acompanhamento nao esta acessıvel a empresas de qualquerporte.

Os Algoritmos Geneticos foram definidos como foco desse trabalho assim, oproximo topico consiste na sua contextualizacao.

2.4. Algoritmos Geneticos (Genetic Algorithm)

Algoritmos Geneticos sao metodos de otimizacao e busca inspirados nos meca-nismos de evolucao de populacoes de seres vivos. Seguem o princıpio da selecao naturale sobrevivencia do mais apto, declarado em 1859 pelo naturalista e fisiologista inglesCharles Darwin em seu livro A Origem das Especies [7].

A semelhanca com a teoria evolutiva de Darwin se refere ao princıpio de GAs deque indivıduos que representam um ponto no espaco de busca sao incentivados a se recom-binarem gerando novos filhos (solucoes) que sao avaliados e reintroduzidos na populacaosubstituindo os pais.

Apesar de configurar uma tecnica de busca extremamente eficiente no seu objetivode varrer o espaco de solucoes e encontrar a solucao otima do problema, os GAs nao sao

Page 8: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

tao bons em termos de tempo de processamento. Assim, se tornam mais adequados emproblemas especialmente difıceis, incluindo aqueles denominados NP-difıceis.

Os problemas de otimizacao sao baseados em tres pontos principais: a codificacaodo problema, a funcao objetivo que se deseja maximizar ou minimizar e o espaco desolucoes associado [8].

No caso dos GAs, a populacao e um subconjunto do espaco de solucoes quesera modificado a cada geracao; a codificacao do problema se baseia na escolha de umaestrutura a representar o indivıduo pertencente a populacao (pertencente ao espaco desolucoes); a funcao objetivo pode ser descrita como funcoes pre-determinadas e probabi-lidades que definem que pontos de cada estrutura pai se replicara em cada estrutura filho,e regras aleatorias em conjunto de probabilidades permitem alteracoes na configuracaodos novos elementos da populacao.

O processo de evolucao utilizado e aleatorio, mas guia-se por um mecanismo deselecao baseado na adaptacao de estruturas individuais. A cada iteracao do algoritmo, de-nominada como geracao, um novo conjunto de estruturas e criado a partir da combinacaoentre estruturas selecionadas da geracao anterior.

Novas informacoes sao geradas aleatoriamente com uma dada probabilidade, eincluıdas nas estruturas descendentes [9].

2.4.1. Algoritmo Genetico Simples (Simple Genetic Algorithm-SGA)

O SGA descrito por Goldberg em [14] trabalha com uma populacao fixa, cujas es-truturas utilizadas para representar os indivıduos sao cadeias de caracteres binariamentecodificadas. Ao estudar o problema especıfico, determina-se qual a quantidade de in-divıduos que a populacao tera, a formacao cromossomica (caracterısticas encontradas nassolucoes) e as probabilidades de aplicacao dos operadores geneticos (variaveis da funcaoobjetivo).

Apos a etapa de definicoes, o desempenho dos indivıduos e avaliado pela funcaoobjetivo (ou desempenho). A partir dos valores encontrados o processo de selecaose inicia e determina quem ira reproduzir. Sobre os selecionados atuam os operado-res geneticos, cruzamento e mutacao. Os novos indivıduos substituem os anteriores,formando assim a nova geracao. O algoritmo continua ciclicamente a partir da novapopulacao e finaliza quando alcanca um criterio de convergencia, conforme apresentadono Algoritmo 1.

Algorithm 1 SGA - pseudo-codigo

Algoritmo genetico simplesDefinindofuncao desempenhoformacao do indivıduo e tamanho da populacaoprobabilidade dos operadores

Iniciar populacao aleatoriaEnquanto nao alcancar criterio de convergencia faca

Page 9: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

Avaliar os indivıduos da populacaoexecutar selecaoexecutar cruzamento e mutacao

end

3. Trabalhos Correlatos

A utilizacao de tecnicas de Inteligencia Artificial para resolver problemas de se-quenciamento e encontrada em diversos trabalhos.

Em [27], Algoritmos Geneticos sao utilizados no problema de Roteamento de Se-quenciamento de Sondas de Manutencao em pocos de petroleo. O algoritmo desenvolvidono trabalho em questao garantiu resultados de instancias para 25 pocos nao excedendo asolucao otima em mais de 0,6%, o que foi considerado satisfatorio considerando a analiserealizada em [6], onde as melhores heurısticas nao excedem a mais que 1,79% do valorotimo.

O artigo [20] compara dois algoritmos geneticos para resolucao do problema desequenciamento de maquinas paralelas, um proposto em [21] e outro desenvolvido peloautor usando estrategia de intensificacao que consiste em recombinar novas solucoes comsolucoes Pareto-otimas (solucoes de elite). O novo algoritmo proposto apresentou tempode processamento semelhante, mas mostrou-se superior na qualidade das solucoes encon-tradas.

Em [17], o autor alcanca grande variedade de resultados altamente dependentesdo problema a ser resolvido atraves de heurısticas comuns e propoes a utilizacao deum algoritmo genetico para percorrer as solucoes encontradas pelas diversas resolucoesheurısticas encontrando uma solucao com limite inferior (menor custo computacional) damelhor heurıstica.

No trabalho [22], a implementacao de um algoritmo genetico padrao e um alte-rado para melhorar o desempenho para resolver o problema de programacao de tarefas.O primeiro algoritmo desenvolvido preocupa-se com a forma de usar o tempo ocioso dosprocessadores de forma eficiente, enquanto o segundo tem foco na satisfacao de balance-amento de carga entre os processadores.

4. Objetivos

A proposta desse trabalho e desenvolver um sistema inteligente que possa elabo-rar solucoes ao problema de sequenciamento de maquinas a fim de alcancar um melhordesempenho em nıvel de produtividade e pontualidade. Almeja-se o desenvolvimento deum novo algoritmo que torne o processamento mais rapido (aumentando a produtividade)e/ou dinamico, o que possibilita prazos cumpridos e controle de recursos e materiais.

Varias tecnicas ja foram utilizadas na realidade da industria buscando alcancarmelhorias na produtividade, como diminuicao de atrasos e aumento da producao diaria.Desde simples regras de negocio ate tecnicas de busca, a vasta lista de solucoes procuradasnao sao conclusivas na hora de se mostrarem melhores no sentido geral. E necessario

Page 10: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

estabelecer um criterio para comparacao de metodos. Por exemplo, metodos matematicossao mais eficazes na meta proposta, ou seja, encontram sempre a solucao otima; enquantoque buscas locais trazem aproximacoes interessantes em um tempo de processamentomais aceitavel para a realidade industrial.

O objetivo almejado e o desenvolvimento de um algoritmo genetico que traga asolucao do problema de maneira mais efetiva que outras formas de busca, porem com umtempo de execucao semelhante ou menor. Outros metodos como Busca Tabu, GRASP eRegras de Despacho serao utilizados em analises e comparacoes de desempenho.

5. Procedimentos MetodologicosO estudo das tecnicas de busca que serao utilizadas como parametros e tao im-

portante quanto da tecnica de Algoritmos Geneticos em si. Atraves dos livros [5][25]e trabalhos da area [13][2]espera-se atingir nıveis de conhecimentos suficientes para odesenvolvimento das tecnicas no ambiente do problema que se busca solucao.

O algoritmo genetico que pretende-se desenvolver necessitara de alto grau de co-nhecimento do problema em questao para uma representacao adequada que permita en-contrar solucoes mais proximas da otima a cada iteracao (geracao).

Seu estudo se dara atraves de livros [24][19][4][11] e publicacoes pertinentes[3][16]. Alem do material necessario para aprofundamento nos conceitos, abstracoesaplicacoes de Algoritmos Geneticos[14][9][7][10][23] [21]. As implementacoes seraoapresentadas em codigo fonte desenvolvido em linguagem C++ a partir da plataforma Qtframework em sua IDE oficial, o Qt Creator, e sua documentacao. Os testes e comparati-vos entre os algoritmos a serem desenvolvidos serao baseados em objetivos propostos pelotrabalho, como melhor tempo total de producao e/ou otimizacao de recursos acrescidosde tempos de processamentos de cada solucao apresentada.

Intenciona-se a integracao da solucao desenvolvida no software Guenka APS, de-senvolvido e comercializado pela Empresa Guenka Softwares. O projeto de inovacaotecnologica desenvolvido pela empresa na area de Sequenciamento de Maquinas re-cebe apoio do Instituto SENAI que pretende levar as descobertas presentes em trabalhosacademicos a realidade das industrias.

6. Resultados EsperadosEntre tantas razoes para o desenvolvimento de um algoritmo de sequenciamento

destaca-se sua utilidade em um ambiente real trazendo um aumento de producao, cum-primento de prazos e otimizacao de recursos para industrias de todo tipo de ativi-dade. Alem de benefıcios relacionados a organizacao e controle de producao como averificacao da capacidade produtiva e o auxılio a tomada de decisoes para planejamentosda fabrica, como compra de materiais e contratacao de mao de obra. A partir da possibi-lidade de ter disponıvel diferentes algoritmos para sequenciamento de um dado grupo demaquinas/recursos pode-se analisar e comparar as solucoes geradas na busca pela maisadequada dependendo do objetivo almejado (maior produtividade e cumprimento de pra-zos, por exemplo).

Espera-se que os resultados desse trabalho possam afetar a realidade da industriaque recebera o software tornando sua producao mais eficaz e seus prazos cumpridos commais facilidade.

Page 11: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

7. Cronograma de ExecucaoA tabela abaixo consiste no Cronograma de Execucao deste trabalho.

Figura 1. Cronograma de execucao

Page 12: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

Londrina, 15 de abril de 2013.

—————————————— ——————————————Laura Cristina do Espırito Santo Helen C. Mattos Senefonte

Page 13: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

Referencias[1] Joseph Adams, Egon Balas, and Daniel Zawack. The shifting bottleneck procedure for

job shop scheduling. Management science, 34(3):391–401, 1988.

[2] Derya Eren Akyol and G Mirac Bayhan. A review on evolution of production schedulingwith neural networks. Computers & Industrial Engineering, 53(1):95–122, 2007.

[3] Helder Carlo Belan and Jandira Guenka Palma. Metodo adaptativo de programac ao daproduc ao apoiado por um sistema de medic ao de desempenho e melhoria contınua.

[4] WILLIAM L BERRY, THOMAS E VOLLMANN, WHYBARK D CLAY, and F RobertJacobs. Sistemas de planejamento e controle da producao. Bookman, 2006.

[5] Ben Coppin. Artificial intelligence illuminated. Jones & Bartlett Learning, 2004.

[6] LR da Costa. Solucoes para o problema de otimizacao de itinerario de sondas. PhDthesis, Dissertacao de Mestrado, Universidade Federal do Rio de Janeiro, 2005.

[7] Estefane GM de Lacerda and ACPLF de Carvalho. Introducao aos algoritmos geneticos.Sistemas inteligentes: aplicacoes a recursos hıdricos e ciencias ambientais, 1:99–148, 1999.

[8] Marcio Nunes de Miranda. Algoritmos geneticos: fundamentos e aplicacoes, 2007.

[9] Luciana de Sousa Lopes and Nogueira Lorena. Uma heurıstica baseada em algoritmosgeneticos aplicada ao problema de cobertura de conjuntos. 1995.

[10] Hsiao-Lan Fang, Peter Ross, and David Corne. A promising genetic algorithm approachto job-shop scheduling, rescheduling, and open-shop scheduling problems. Univer-sity of Edinburgh, Department of Artificial Intelligence, 1993.

[11] Alexandre Lourenco Ferreira, Jose Luis Dalto, Marco Antonio Ferreira, and Roberto Oli-veira. Praticas de gestao de producao e operacoes.

[12] ADALTO FURLANETTO. Planejamento programacao e controle da producao.

[13] Fred Glover, Manuel Laguna, et al. Tabu search, volume 22. Springer, 1997.

[14] David E Goldberg. Genetic algorithms in search, optimization, and machine learning.1989.

[15] Ronald L Graham, Eugene L Lawler, Jan Karel Lenstra, and AHG Rinnooy Kan. Opti-mization and approximation in deterministic sequencing and scheduling: a survey.Annals of Discrete Mathematics. v5, pages 287–326, 1977.

[16] Leonardo Lustosa, MARCO A MESQUITA, Leonardo Lustosa, Marco A Mesquita, andRodrigo J Oliveira. Planejamento e controle da producao. Elsevier Brasil, 2008.

[17] Andrew Manikas and Yih-Long Chang. Multi-criteria sequence-dependent job shop sche-duling using genetic algorithms. Computers & Industrial Engineering, 56(1):179 –185, 2009.

[18] Jose Arnaldo Barra Montevechi, Alexandre Ferreira de Pinho, Fabiano Leal, and Fer-nando Augusto Silva Marins. Application of design of experiments on the simula-tion of a process in an automotive industry. In Proceedings of the 39th conferenceon Winter simulation: 40 years! The best is yet to come, pages 1601–1609. IEEEPress, 2007.

Page 14: Sequenciamento de Maquinas atrav´ es de Algoritmos´ Geneticos´ · Sequenciamento de operac¸oes, ou de m˜ ´aquinas e o termo dado as decis´ oes que˜ direcionam a ordem em que

[19] Thomas Morton and David W Pentico. Heuristic scheduling systems: with applications toproduction systems and project management, volume 22. Wiley-Interscience, 1993.

[20] Felipe Martins Muller, Odon Bastos Dias, and Olinto Cesar Bassi De Araujo. Algoritmopara o problema de sequenciamento em maquinas paralelas nao-relacionadas. Re-vista Producao, 12(2):7, 2002.

[21] Ryohei Nakano and Takeshi Yamada. Conventional genetic algorithm for job shop pro-blems. In Proceedings of the Fourth International Conference on Genetic Algo-rithms, pages 474–479. Morgan Kauffman, San Mateo, CA, 1991.

[22] Fatma A. Omara and Mona M. Arafa. Genetic algorithms for task scheduling problem.Journal of Parallel and Distributed Computing, 70(1):13 – 22, 2010.

[23] F Pezzella, G Morganti, and G Ciaschetti. A genetic algorithm for the flexible job-shopscheduling problem. Computers & Operations Research, 35(10):3202–3212, 2008.

[24] Michael Pinedo. Scheduling: theory, algorithms, and systems. Springer Science+ Busi-ness Media, 2012.

[25] Stuart Jonathan Russell, Peter Norvig, John F Canny, Jitendra M Malik, and Douglas DEdwards. Artificial intelligence: a modern approach, volume 74. Prentice hallEnglewood Cliffs, 1995.

[26] Victor Henrique Russomano. PCP, planejamento e controle da producao. Pioneira, 1995.

[27] CENTRO UNIVERSITARIO NORTE DO ESPIRITO SANTO, CURSO DE ENGE-NHARIA DE PRODUCAO, and ALEXANDRE VENTURIN FACCIN PACHECO.Metodos de solucao para o problema da alocacao de sondas a pocos de petroleo.

[28] Dalvio Ferrari TUBINO. Manual de planejamento e controle da producao. sao paulo:Atlas, 2000. LISTA DE APENDICES.