Você está na página 1de 45

LAURA CRISTINA DO ESPRITO SANTO

ALGORITMOS GENTICOS APLICADOS AO


SEQUENCIAMENTO DE MQUINAS

LONDRINA - PR
2014
LAURA CRISTINA DO ESPRITO SANTO

ALGORITMOS GENTICOS APLICADOS AO


SEQUENCIAMENTO DE MQUINAS

Dissertao apresentada como Trabalho de


Concluso de Curso ao Departamento de
Computao da Universidade Estadual de
Londrina, como requisito parcial para a
obteno do ttulo de Bacharel em Cincia
da Computao.

Orientador: Helen Mattos Senefonte

LONDRINA - PR
2014
LAURA CRISTINA DO ESPRITO SANTO

ALGORITMOS GENTICOS APLICADOS AO


SEQUENCIAMENTO DE MQUINAS

Dissertao apresentada como Trabalho de


Concluso de Curso ao Departamento de
Computao da Universidade Estadual de
Londrina, como requisito parcial para a
obteno do ttulo de Bacharel em Cincia
da Computao.

BANCA EXAMINADORA

____________________________________
Prof. Helen Mattos Senefonte
Universidade Estadual de Londrina

____________________________________
Prof. Componente da Banca
Universidade Estadual de Londrina

____________________________________
Prof. Componente da Banca
Universidade Estadual de Londrina

Londrina, _____de ___________de _____.


DEDICATRIA

Ao meu filho Miguel, que me ensinou que o amor


mais forte que a morte.
AGRADECIMENTOS

Agradeo a minha orientadora Professora Helen que alm de orientar meu


trabalho soube compreender todas as minhas limitaes, que acreditou que podia continuar
mesmo quando eu no acreditei.
Aos outros professores por todo o conhecimento que pude adquirir e por
toda pacincia com meu jeito desorganizado. Principalmente a Professora Jandira que me
inspirou e incentivou durante todo esse trabalho e todo os anos de curso.
Aos meus colegas que me auxiliaram nos pontos em que tive dificuldades e
me propiciaram a oportunidade de entender que ensinar tambm uma forma de aprendizado.
Gostaria de agradecer tambm algumas pessoas que contriburam para que
eu conseguisse me manter firme at aqui. minha me Ivanize e meu irmo Guilherme e
toda minha famlia. Aos meus amigos que souberam entender a falta de tempo e continuaram
torcendo por mim mesmo a distncia.
E, por ltimo e mais importante, Deus que me carregou durante tantas e
tantas vezes em que no pude caminhar.
Passe pelo muro entre o que voc sabe e o
que se atreve a dizer.
Richard Bach
ESPRITO SANTO, Laura Cristina. Algoritmos Genticos Aplicados ao Sequenciamento de
Mquinas. 2014. 46. Trabalho de Concluso de Curso (Graduao em Cincia da
Computao) Universidade Estadual de Londrina, Londrina-PR, 2014.

RESUMO

Este trabalho consiste no planejamento da concepo de um programa que implementa um


algoritmo gentico para resoluo do problema de Sequenciamento de Mquinas. Esse
problema est presente no ambiente industrial de forma que a sua otimizao traz melhorias
produo e um diferencial de mercado.

Palavras-chave: Sequenciamento de Mquinas. Job Shop. Algoritmos Genticos.


ESPRITO SANTO, Laura Cristina. Genetic Algorithms Applied to Machine Scheduling.
2014. 46. Trabalho de Concluso de Curso (Graduao em Cincia da Computao)
Universidade Estadual de Londrina, Londrina-PR, 2014.

ABSTRACT

This work consists in planning the design of a program that implements a genetic algorithm to
solve the problem scheduling machines. This problem is present in an industrial environment
so that its optimization brings improvements to production and a market differential.

Key words: Machine Scheduling. Job Shop. Genetic Algorithms.


LISTA DE ILUSTRAES

Figura 1 Etapas da Programao da Produo ................................................................... 19


Figura 2 Alfabeto Binrio utilizado para determinao de valores dos genes ................... 25
Figura 3 Funcionamento de um AG ................................................................................... 27
Figura 4 Modelo de Mquina nica ................................................................................... 29
Figura 5 Modelo de Mquinas em Paralelo........................................................................ 29
Figura 6 Modelo de Flow Shop .......................................................................................... 30
Figura 7 Modelo de Flexible Flow Shop ............................................................................ 30
Figura 8 Modelo de Job Shop ............................................................................................ 31
Figura 9 Estrutura de Pedido .............................................................................................. 35
Figura 10 Estrutura de uma Soluo .................................................................................. 37
Figura 11 Estrutura de um Indivduo ................................................................................. 38
Figura 12 Algoritmo Gentico Estrutura Geral ............................................................... 40
LISTA DE ABREVIATURAS E SIGLAS

AG Algoritmos Genticos
PPCP Planejamento, Programao e Controle de Produo
PAC Controle de Produo
PA Produtos Acabados
MP Matrias-Primas
DNA cido Desoxirribonucleico
CE Computao Evolucionria
FIFO First in, First out Estrutura de Fila
APS Advanced Planning and Scheduling - Sistemas Avanados de Programao de
Produo
GRASP Greedy Randomised Adaptive Search Procedure Mtodo Iterativo
Probabilstico
11

SUMRIO

1 INTRODUO ..........................................................................................................................................12
2 FUNDAMENTAO TERICA ..............................................................................................................14
2.1 PPCP ............................................................................................................................................................ 15
2.2.1 Planejamento de Produo ................................................................................................................. 15
2.2.2 Programao de Produo ................................................................................................................. 16
2.2.3 Controle de Produo ......................................................................................................................... 16
2.2.4 Objetivos do PPCP ............................................................................................................................. 17
2.2.5 Etapas da Programao de Produo ................................................................................................ 18
2.2.6 Anlise da Capacidade de Produo .................................................................................................. 19
2.2 ALGORITMOS GENTICOS .................................................................................................................................. 19
3 O PROBLEMA DE SEQUENCIAMENTO ...............................................................................................27
3.1 CLASSIFICAO DO PROBLEMA ........................................................................................................................... 27
3.2 TCNICAS DE SEQUENCIAMENTO ......................................................................................................................... 31
3.2.1 Regras de Despacho ........................................................................................................................... 31
3.2.2 Sistemas Avanados de Planejamento e Sequenciamento .................................................................. 32
4 MODELAGEM DO PROBLEMA .............................................................................................................34
4.1 DADOS DE ENTRADA......................................................................................................................................... 34
4.1.1 Estrutura de um Job ............................................................................................................................ 35
4.2 DADOS DE SADA ......................................................................................................................................... 36
5 ALGORITMO ............................................................................................................................................37
5.1 INDIVDUO ...................................................................................................................................................... 37
5.2 FUNO DESEMPENHO ..................................................................................................................................... 37
5.3 GERAO DE POPULAO INICIAL ....................................................................................................................... 38
5.2 SELEO DE INDIVDUOS ................................................................................................................................... 38
6 IMPLEMENTAES ................................................................................................................................39
6.1 REPRESENTAO POR CHAVES RANDMICAS......................................................................................................... 40
6.2 REPRESENTAO POR VETOR DE LISTAS ................................................................................................................ 40
6.3 RESULTADOS GERADOS ..................................................................................................................................... 41
7 CONCLUSO ............................................................................................................................................42
REFERNCIAS ............................................................................................................................................43
12

1 INTRODUO

Algoritmos Genticos so mtodos de otimizao e busca inspirados


nos mecanismos de evoluo de populaes de seres vivos[6]. A flexibilidade tornou os
Algoritmos Genticos uma das tcnicas mais difundidas da Computao Evolutiva, alm da
relativa simplicidade de implementao e eficcia em realizar busca global em ambientes
adversos.
O ambiente neste trabalho o industrial, especificamente o problema de
sequenciamento de mquinas no modelo de trabalho Job Shop. Ou seja, o objetivo a
utilizao dos mecanismos genticos para encontrar uma distribuio de tarefas em mquinas
de forma a obedecer o roteiro dos produtos e encontrar um menor tempo total de produo.
Neste problema, o objetivo principal alocar um determinado nmero (n) de tarefas
independentes, com tempos de execuo conhecidos, para um nmero (m) de mquinas. Aps
a distribuio das tarefas s mquinas, a soma dos tempos das tarefas pertencentes mquina
com a maior carga entre todas deve ser a mnima possvel. Como exemplo, pode-se imaginar
uma fbrica com duas ou mais mquinas (processadores) em uma linha de produo. Definir a
ordem de tarefas a serem executadas em cada mquina, considerando reduzir o seu tempo
mximo de utilizao pode trazer uma melhoria significativa quanto a produtividade da
indstria. Ainda, se levado em considerao cada mquina possuir velocidade de
processamento diferente, e o tempo de execuo de uma tarefa depender da mquina para a
qual a tarefa atribuda, alm de mquinas que s executam tarefas especficas (como
acabamentos), a otimizao alcanada pode ser surpreendente, trazendo um aumento na
produo como um todo.
Este problema tem importncia tanto terica quanto prtica. Terica, pois
um problema de difcil soluo por pertencer classe NP-difcil [27] e prtica, pois existem
muitas situaes onde ele aparece, como, por exemplo, fabricaes em indstrias txteis [28].
Para a soluo deste problema de forma eficiente, este trabalho expe a
utilizao de tcnicas de Inteligncia Artificial, como Algoritmos Genticos (AGs). Estes
possuem mecanismos de busca que evitam solues consideradas timas locais, ou seja,
melhor que solues semelhantes. Baseados na Teoria da Evoluo de Darwin, os AGs tratam
de problemas complexos como o Sequenciamento de Mquinas a partir de uma estrutura que
compreende cada possvel soluo como um indivduo da populao de uma gerao que
evolui a cada gerao nova gerada atravs da combinao dos melhores indivduos da gerao
anterior, aproximando-se assim de uma soluo tima de maneira eficiente e com custo
13

computacional relativamente mais baixo que um mtodo matemtico que conclui com o
encontro da soluo tima.
14

2 FUNDAMENTAO TERICA

A busca pela produtividade fazer mais e melhor com cada vez menos, ou
seja, busca por melhores resultados. A produtividade responsabilidade gerencial,
constituindo uma vantagem estratgica sobre as empresas concorrentes. A ao conjunta, o
ambiente de ampla participao e a avaliao de resultados so, entre outros, aspectos
importantes que contribuem diretamente para a produtividade de uma empresa.
As mudanas no ambiente empresarial fazem com que as empresas tenham
que se adaptar s novas condies de mercado. Melhorias no processo produtivo trazem um
diferencial competitivo indstria, trazendo minimizao de custos e reduo do prazo de
entrega dos produtos, por exemplo.
Nesse contexto, o Planejamento, Programao e Controle de Produo
torna-se ferramenta gerencial indispensvel na indstria, vem assumindo papel cada vez mais
importante na competitividade das empresas, assim est entre os fatores que influenciam a
produtividade industrial.
Nesse contexto, o Planejamento, Programao e Controle de Produo
torna-se ferramenta gerencial indispensvel na indstria, vem assumindo papel cada vez mais
importante na competitividade das empresas, assim est entre os fatores que influenciam a
produtividade industrial.
O PPCP um dos principais instrumentos para obteno de eficincia e
eficcia no processo produtivo[15], uma funo administrativa relacionada ao planejamento,
direo e controle do suprimento de materiais, peas e componentes e das atividades do
processo de produo de uma empresa.
Nesse contexto, encaixa-se a alocao de processos e mquinas de forma a
satisfazer um conjunto de restries temporais e de recursos, e objetivando-se um cronograma
com tempos precisos de incio e fim de cada atividade nos recursos alocados. Esse processo
de alocao de recursos industriais chamado Sequenciamento de Mquinas ou
Sequenciamento de Operaes.
Sequenciamento de operaes so as decises que direcionam a ordem em
que os produtos devem ser fabricados, respeitando prioridades e restries impostas pelo
processo. A programao da produo tem como objetivo a definio de prazos atravs do
sequenciamento das ordens de fabricao, ou seja, alocao dos recursos da fbrica durante
um perodo para realizao de um determinado conjunto de tarefas[21].
A programao de produo consiste basicamente na alocao dos recursos
15

da fbrica para a realizao de determinado conjunto de tarefas em um perodo de tempo,


porm o problema pode ter inmeras formas e conjunto de restries de acordo com o
segmento e processo produtivo da empresa.

2.1 PPCP

Definido como atividade relacionada ao emprego dos recursos de produo,


ou seja, um sistema de informaes que gerencia a produo do ponto de vista das
quantidades a serem elaboradas, de cada tipo de bem ou servio e do tempo necessrio para
sua execuo [14]; o PPCP administra informaes vindas de diversas reas do sistema
produtivo. Coordenando e aplicando os recursos produtivos de forma a atender melhor aos
planos estabelecidos em nvel estratgico, ttico e operacional.
Existe uma diferena, bsica entre os termos planejamento e programao,
pois o primeiro est ligado a um maior horizonte de tempo (mdio e longo prazos) enquanto o
segundo preocupa-se mais com o curto e mdio prazos. O fato de o mdio prazo estar em uma
conjuno porque estes perodos dependem da estrutura organizacional de cada empresa
para o planejamento bem como pelo tipo de produto fabricado.
O planejamento diz respeito s tarefas mais abrangentes, principalmente no
que se refere s capacidades de produo e a programao est intimamente ligada ao
detalhamento deste planejamento. Se deslocamos esse conceito para a parte de clculo das
necessidades de materiais, fica mais difcil dizer que se est programando uma compra, em
vez de se estar planejando uma compra, ainda que seja no curto prazo.

2.2.1 Planejamento de Produo

Atividades que determinam quais so as quantidades a serem produzidas, os


volumes de materiais a serem empregados e os recursos necessrios para a produo ao longo
de um perodo que pode abranger meses ou anos.
Para a execuo de qualquer planejamento de produo o plano de demanda
(forecast) deve refletir as quantidades a serem distribudas. No utilizado o termo plano de
vendas (sales plan) porque necessria a incluso de toda e qualquer distribuio do produto
sob a forma de vendas, bonificaes, amostras grtis e peas, conjuntos e subconjuntos se for
o caso.
Analisa-se as atividades a partir do Plano Mestre de Produo cujo grau de
16

detalhamento de interesse para o PPCP.


Atividades do planejamento de produo:
Plano de Manufatura (Production Planning - PP);
Plano Mestre de Produo (Master Production Schedule MPS);
Plano de Necessidades de Materiais (Material Requirements Planning
MRP);
Plano de Capacidades dos Recursos (Capacity Requirements Planning
CRP).

2.2.2 Programao de Produo

Programao da produo a determinao antecipada do programa de


produo a mdio prazo dos vrios produtos que a empresa produz. Ela representa o que ela
deve produzir, expresso em quantidades e datas de modelos especficos, obtido a partir da
Estimativa de Vendas. A programao da produo leva em considerao, alm da Estimativa
de Vendas, vrios fatores, tais como: carteira de pedidos; disponibilidade de material;
capacidade disponvel; etc, de forma a estabelecer, com antecedncia, a melhor estratgia de
produo[15].
Atividades que determinam quais as quantidades a serem produzidas, os
volumes disponveis de materiais a serem empregados e os recursos que sero utilizados para
a produo ao longo de um perodo que pode abranger semanas ou dias.

2.2.3 Controle de Produo

Definidos e calculados todos os planos deve-se monitor-los, pois o


planejamento em qualquer ramo de atividade, sem o correspondente controle, no proporciona
empresa todos os benefcios advindos desta atividade.
Atividades que monitoram, avaliam e controlam as atividades produtivas ao
longo de todo o processo so parte do Controle de Produo (PAC).
Atividades do PAC:
Financeiro;
Industrial;
Atividades que visam a coleta dos dados reais do processo produtivo com a
17

finalidade de determinar desvios e possibilitar aes preventivas e/ou corretivas. Estes desvios
podem ser utilizados para identificar possveis problemas na produo para uma mquina,
ordem de produo, lote ou ainda ser utilizado como um dado consolidado para identificar
tendncias.

2.2.4 Objetivos do PPCP

Finalidades da programao de produo explanando sobre os benefcios


que essa rea traz para a produo industrial (Como as empresas lucram ao investir em
tcnicas de programao).
Os objetivos da programao da produo so os seguintes[17]:
Coordenar e integrar todos os rgos envolvidos direta ou indiretamente
no processo produtivo da empresa;
Garantir a entrega dos produtos acabados (PA) ao cliente nas datas
previstas ou prometidas;
Garantir disponibilidades de matrias-primas (MP) e componentes que
sero requisitados pelos rgos envolvidos;
Balancear o processo produtivo de modo a evitar gargalos de produo,
de um lado, e desperdcios de capacidade, de outro;
Aproveitar ao mximo a capacidade instalada, bem como o capital
aplicado em MP, PA e materiais em processamento.
Estabelecer uma maneira racional de obteno de recursos, como MP
(Compras), de mo-de-obra (Pessoal), de mquinas e equipamentos
(Engenharia) etc;
Estabelecer, atravs de ordens de produo, padres de controle para
que o desempenho possa ser continuamente avaliado e melhorado;
Distribuir a carga de trabalho proporcionalmente aos diversos rgos
produtivos, de modo a assegurar a melhor sequncia da produo e o melhor
resultado em termos de eficincia e eficcia.
Neste ltimo item, encaixa-se o Sequenciamento de mquinas abordado
mais especificamente no item 3.1.
18

2.2.5 Etapas da Programao de Produo

Na gesto industrial, o termo Programao de Produo traz o conceito de


planejamento a curto prazo da produo. englobado em suas caractersticas o controle de
recursos e a alocao dos mesmos, desde matrias primas at maquinrios. A imagem abaixo
demonstra a dinmica inerente Programao de Produo.

Figura 1 Etapas da Programao da Produo

As informaes de quais produtos, e suas respectivas quantidades, chegam


atravs de pedidos. Estes podem ser realizados por clientes, no caso de produo por
demanda, ou internamente, caso a produo seja por estocagem. Os pedidos so descritos em
forma de ordens de produo para entrada no sequenciamento de mquinas e, tambm,
enviados ao controle de estoque para verificao de materiais disponveis.
O sequenciamento de mquinas consiste na alocao dos recursos de
maquinrio de forma a abranger todos os processos requisitados por cada produto, na
quantidade pedida, requisitado na ordem de produo. Esta tarefa pode ser realizada de
maneira simplificada (at mesmo manual) onde nenhum critrio definido e apenas se
escolhe aleatoriamente como se dar a diviso de processos nas mquinas desde que
considerado a capacidade do maquinrio em executar o processo em questo. Ao buscar um
modo mais especfico de realizar a alocao do maquinrio pode-se reduzir tempos de espera
entre processos relacionados, alm dos tempos de preparao das mquinas para realizao de
um determinado processo.
19

Esse sequenciamento gera um cronograma de produo que consiste em


uma listagem de quais processos sero realizados por quais mquinas e em que ordem. O
cronograma cumpre o objetivo de orientar a produo no cho de fbrica.

2.2.6 Anlise da Capacidade de Produo

Formas de medio que permitem identificar melhorias alcanadas pelos


processos de programao na produo.
Usualmente, os programas de planejamento e sequenciamento de produo
so utilizados em conjunto com o monitoramento da produo. Os dados adquiridos no
monitoramento permite uma visualizao de como o sequenciamento altera o tempo total da
produo.

2.2 ALGORITMOS GENTICOS

Algoritmos Genticos so mtodos de otimizao e busca inspirados nos


mecanismos de evoluo de populaes de seres vivos. Seguem o princpio da seleo natural
e sobrevivncia do mais apto, declarado em 1859 pelo naturalista e fisiologista ingls Charles
Darwin em seu livro A Origem das Espcies[6].
O desenvolvimento de simulaes computacionais de sistemas genticos
teve incio nos anos 50 e 60 atravs de muitos bilogos, mas foi John Holland que comeou a
desenvolver as primeiras pesquisas no tema. Em 1975, Holland publicou "Adaptation in
Natural and Artificial Systems", ponto inicial dos Algoritmos Genticos (AGs). David E.
Goldberg, aluno de Holland, nos anos 80 obteve seu primeiro sucesso em aplicao industrial
com AGs. Desde ento os AGs so utilizados para solucionar problemas de otimizao e
aprendizado de mquinas. [13].
A semelhana com a teoria evolutiva de Darwin se refere ao princpio de
AGs de que indivduos que representam um ponto no espao de busca so incentivados a se
recombinarem gerando novos filhos (solues) que so avaliados e reintroduzidos na
populao substituindo os pais.
Apesar de configurar uma tcnica de busca extremamente eficiente no seu
objetivo de varrer o espao de solues e encontrar as prximas da soluo tima, os AGs no
so to bons em termos de tempo de processamento. Assim, se tornam mais adequados em
problemas especialmente difceis, incluindo aqueles denominados NP-difceis.
20

2.1.1 Inspirao Biolgica


Evoluo, no contexto biolgico, significa mudana na forma e no
comportamento dos organismos ao longo das geraes. As formas dos organismos, em todos
os nveis, desde sequncias de DNA at a morfologia macroscpica e o comportamento
social, podem ser modificadas a partir daquelas dos seus ancestrais durante a evoluo.
Refere-se a mudanas entre geraes de uma populao de uma espcie , ou seja, a
hereditariedade no somente transmite caractersticas entre ancestrais e descendentes como
tambm as recombina gerando novos aspectos.
Considerando uma linhagem de populaes onde uma nova gerao surge
da reproduo da populao anterior, podemos denominar que cada populao ancestral de
sua populao seguinte. Neste contexto, Darwin definiu evoluo como descendncia com
modificao [18], ou seja, o processo evolutivo provm da combinao de caractersticas de
uma populao de modo a formular novas caractersticas na gerao seguinte.
As primeiras ideias fundamentadas acerca da hereditariedade surgiram
efetivamente em 1866, com o monge Gregor Mendel. Ele atacou o problema de modo simples
e lgico, escolheu material adequado, concentrou-se em poucas caractersticas contrastantes,
desenvolveu um programa de cruzamentos controlados, tratou os resultados de forma
eficiente e sugeriu fatores causais (hoje chamados genes) como os responsveis pelo
fenmeno observado[19].
Assim, as explicaes genticas, que ainda no haviam sido estabelecidas na
poca de Darwin, foram incorporadas ao conceito de seleo natural na teoria moderna da
evoluo.

Teoria Moderna da Evoluo


Durante as dcadas de 1930 e 1940, os conhecimentos genticos foram
incorporados s ideias darwinianas em uma sntese evolucionria, da qual resultou uma teoria
mais abrangente e mais consistente, que ficou conhecida como teoria moderna da evoluo,
ou teoria sinttica.
A teoria moderna da evoluo considera trs fatores evolutivos principais:
Mutao Gnica;

Recombinao Gnica;

Seleo Natural e Adaptao.


21

Mutaes Gnicas so alteraes do cdigo de DNA que originam novos


genes que podem produzir novas caractersticas nos portadores da mutao. A caracterstica
produzida pela mutao pode conferir alguma vantagem, ou desvantagem, ao seu possuidor.
O conjunto de genes tpicos de cada uma das espcies atuais resultado do acmulo de
mutaes vantajosas que se perpetuaram pela ao da seleo natural. As mutaes gnicas
podem ocorrer espontaneamente, atravs da prpria dinmica das molculas orgnicas que
constituem o DNA, ou podem ser induzidas por agentes externos, como radiaes ou certas
substncias.
O DNA formado por bases nitrogenadas que se recombinam no momento
da reproduo da clula. Essas bases nitrogenadas se transformam temporariamente umas nas
outras em um fenmeno chamado tautomeria, e caso ocorra no instante da duplicao da
clula uma das molculas de DNA originria da reproduo ter sua base alterada (mutao).
Alm da substituio de bases podem ocorrer mutaes por perda ou adio de pares de bases,
estas alteraes so muito mais drsticas pois afetam todo o DNA e no apenas uma
caracterstica (par de bases).
Como essa dinmica molecular muito ativa, as clulas desenvolveram um
eficiente mecanismo para corrigir erros que atingem o DNA. Esses mecanismos de reparos
envolvem um conjunto de enzimas que identificam a alterao e podem elimin-la enquanto
outras enzimas sintetizam um novo segmento de DNA sem os erros.
Recombinao Gnica a combinao de genes de diferentes indivduos
que ocorre na reproduo sexuada. Esse tipo de reproduo permite que um novo indivduo
seja composto de genes combinados de cada um de seus pais, assim novos arranjos de
caractersticas so encontrados em uma nova gerao. A recombinao ocorre por meio de
dois processos: segregao independente e permutao (crossing-over). Na segregao ocorre
a diviso de material gentico dos indivduos que geraro um descendente, processo celular
chamado de meiose que permite que haja metade de cromossomos de cada ancestral no novo
indivduo. Enquanto que o processo de permutao responsvel pela troca de pedaos entre
cromossomos provenientes de ambos pais.
Seleo natural significa reproduo diferencial dos indivduos de uma
populao, em que os mais bem adaptados possuem maiores chances de deixar descendentes.
Os mais aptos so aqueles que herdam combinaes gnicas favorveis sobrevivncia e
reproduo em um ambiente especfico.
Todos os trs fatores evolutivos foram utilizados de base para o
desenvolvimento da computao evolucionria que visa simular aspectos especficos do
22

processo evolutivo de modo a encontrar solues mais eficazes a partir de combinaes,


modificaes e selees entre outras (menos eficazes) possveis solues.

Computao Evolucionria (CE)


Ramo de pesquisa emergente da Inteligncia Artificial, a Computao
Evolucionria traz um novo paradigma para soluo de problemas. Inspirados na teoria
moderna da evoluo, um conjunto de tcnicas de busca e otimizao so compreendidos pela
CE. De maneira geral, cria-se um conjunto de solues, ou indivduos, que vo competir entre
si pela sobrevivncia e o direito de transferir suas caractersticas a novas geraes. Algoritmos
Genticos (AGs) uma das principais de pesquisa em CE [13].

2.1.2 Caractersticas Gerais

AGs so mtodos computacionais de busca baseados em mecanismos de


evoluo natural, onde uma populao de possveis solues para o problema em questo
evolui de acordo com operadores probabilsticos concebidos a partir de metforas biolgicas,
de modo que h uma tendncia de que, na mdia, os indivduos representem solues cada
vez melhores medida que o processo evolutivo continua[9].
De modo geral, AGs possuem as seguintes caractersticas[10][11][12]:

Operam com base em um conjunto de solues;


Operam sobre uma codificao das solues (em
cromossomos/indivduos);
Utilizam resultado obtido de funo aplicada a cada soluo membro da
populao;
Utilizam transies probabilsticas, e no regras determinsticas.

Os problemas de otimizao so baseados em trs pontos principais: a


codificao do problema, a funo objetivo que se deseja maximizar ou minimizar e o espao
de solues associado. [7].
No caso dos AGs, a populao um subconjunto do espao de solues que
ser modificado a cada gerao; a codificao do problema se baseia na escolha de uma
estrutura a representar o indivduo pertencente a populao (pertencente ao espao de
solues); a funo objetivo pode ser descrita como funes pr-determinadas e
23

probabilidades que definem que pontos de cada estrutura pai se replicar em cada estrutura
filho, e regras aleatrias em conjunto de probabilidades permitem alteraes na configurao
dos novos elementos da populao.
O processo de evoluo utilizado aleatrio, mas guia-se por um
mecanismo de seleo baseado na adaptao de estruturas individuais.
A cada iterao do algoritmo, denominada como gerao na
contextualizao, um novo conjunto de estruturas criado a partir das bem adaptadas
selecionadas na gerao anterior, pela troca de informao entre essas estruturas. Novas
informaes so geradas aleatoriamente com uma dada probabilidade, e includas nas
estruturas descendentes[8].

2.1.3 Representao dos Parmetros (Cromossomos)


A codificao do problema o primeiro passo para a construo de um
algoritmo gentico. Fazendo analogia com a biologia, cada possvel indivduo uma possvel
soluo do problema. Apesar de um indivduo ser geneticamente composto por um conjunto
de cromossomos, os tericos e praticantes de AGs[9] codificam as informaes de cada
indivduo em um nico modelo de cromossomo, este especfico para cada problema, de modo
que a utilizao dos termos cromossomos e indivduos como sinnimos torna-se frequente.
Define-se um conjunto de smbolos, possivelmente sequenciados, referentes
a cada soluo que representar o indivduo para a seleo, recombinao e mutao. esse
conjunto de smbolos que denominamos cromossomo do indivduo. No caso mais simples,
usa-se o alfabeto binrio para representar a existncia (ou inexistncia) de determinadas
caractersticas no indivduo, de modo que um cromossomo torna-se uma cadeia de 0s e 1s na
ordem das caractersticas existentes no indivduo. A imagem abaixo representa um exemplo
de um cromossomo de um indivduo em uma populao de imagens, que podem possuir at 4
cores entre azul, verde, vermelho e amarelo.
24

Figura 2 Alfabeto Binrio utilizado para determinao de valores dos genes

A listagem de caractersticas define a ordem da cadeia binria, por exemplo


iniciando com azul a cadeia da figura seria 0101.
Alguns problemas requerem uma representao mais especfica, podendo
ser necessrio a criao de um alfabeto prprio para a representao cromossmica. De forma
geral, cada gene pode assumir um valor do alfabeto em questo e sua posio no cromossomo
indica a que caracterstica se refere.

2.1.4 Avaliao - Funo Desempenho (Fitness)

Um algoritmo gentico no possui objetivo de encontrar a soluo tima,


mas aproximar-se desta ao combinar e recombinar solues repetidamente. Para que se a
tcnica seja eficiente necessrio um modo de avaliar o quo prxima uma soluo est da
soluo tima em relao a outra, ou seja, determinar entre um conjunto de solues quais
esto mais prximas da soluo tima.
A funo desempenho mede quo boa uma soluo , resultando em um
valor especfico referente a cada indivduo que, em ingls, denominado fitness. Em algumas
aplicaes consegue-se o valor esperado da soluo tima, porm a maioria utiliza a funo
como forma comparativa entre solues geradas. Quo melhor for o valor fitness de um
indivduo ao ser submetido a funo desempenho maiores sero suas chances de seleo para
a recombinao.
25

2.1.5 Seleo
A etapa de seleo objetiva determinar os indivduos que sero genitores de
uma nova gerao. Mantendo a analogia com os termos biolgicos, nessa etapa que simula-
se a seleo natural. Em geral, gera-se uma populao temporria de n indivduos extrados
com probabilidade proporcional adequabilidade relativa de cada indivduo na populao, ou
seja, necessrio uma funo que simule a adaptao ao meio ambiente que permite aos
indivduos sobreviverem e se reproduzirem.
A partir dos valores encontrados com a aplicao da funo desempenho a
cada indivduo estabelece-se critrios para escolha da subpopulao que ser responsvel pela
nova gerao de solues.

2.1.6 Recombinao (Crossover) e Mutao

O processo de recombinao envolve mais de um indivduo, os genitores, e


caracterizado pela troca de informaes entre os geradores. Emulando o fenmeno de
crossover, que na natureza se define como a troca de fragmentos entre pares de
cromossomos. De forma simplificada, ocorre de maneira aleatria.
Aps a operao de crossover, o operador de mutao aplicado
aleatoriamente a algum (ou alguns) genes do cromossomos de cada indivduo gerado. O
processo de mutao melhora a diversidade dos cromossomos na populao, porm podem
ocorrer mutaes deletrias, ou seja, que causam desvantagem aos seus possuidores. Assim, a
fim de auxiliar o processo artificial de evoluo verifica-se a diferena entre os desempenhos
dos indivduos antes e depois da mutao, desfazendo-a caso cause prejuzos.

2.1.7 Fluxo de Funcionamento


A dinmica de funcionamento de um AG pode ser acompanhada pela
imagem abaixo.
26

Figura 3 Funcionamento de um AG
27

3 O PROBLEMA DE SEQUENCIAMENTO

Sequenciamento de operaes, ou de mquinas, so as decises que


direcionam a ordem em que os produtos devem ser fabricados, respeitando prioridades e
restries impostas pelo processo industrial. A programao da produo tem como objetivo a
definio de prazos atravs do sequenciamento das ordens de fabricao, ou seja, alocao
dos recursos da fbrica durante um perodo para realizao de um determinado conjunto de
tarefas[21] em um perodo de tempo, porm o problema pode ter inmeras formas e conjunto
de restries de acordo com o segmento e processo produtivo da empresa.
Com o objetivo principal de alocar um determinado nmero (n) de tarefas
independentes, com tempos de execuo conhecidos, para um nmero (m) de mquinas
paralelas, o Problema de Sequenciamento tambm deve garantir que, aps a distribuio das
tarefas s mquinas, a soma dos tempos das tarefas pertencentes mquina com a maior carga
entre todas (makespan) deve ser a mnima possvel.
Imaginando a possibilidade da diviso de uma tarefa entre duas mquinas,
tem-se a chamada preempo. Em uma situao de no-preempo, uma tarefa uma vez
alocada a uma mquina deve permanecer nela at o final de sua execuo, sem interrupes.
Ainda, se levado em considerao cada mquina possuir velocidade de processamento
diferente, e o tempo de execuo de uma tarefa depender da mquina para a qual a tarefa
atribuda, alm de mquinas que s executam tarefas especficas (como acabamentos), a
otimizao alcanada pode ser surpreendente, trazendo um aumento na produo como um
todo.
O problema de sequenciamento um problema de otimizao combinatria
de complexidade NP-difcil, e em ambiente job-shop possui[22]:

Soluo tima: n!m iteraes;


Soluo por regra heurstica: nm iteraes, onde n = n. tarefas e m= n.
mquinas.

3.1 CLASSIFICAO DO PROBLEMA

O problema de sequenciamento em mquinas pode ser classificado quanto


ao tipo de mquina utilizada ou ambiente de produo[21]:
28

A instncia mais simples do problema consiste na ordenao das


operaes em Mquina nica:

Figura 4 Modelo de Mquina nica

Mquinas em Paralelo: conjunto de mquinas que realizam a mesma


operao, podendo ter velocidades de processamento diferentes para a
mesma operao:

Figura 5 Modelo de Mquinas em Paralelo

Ambiente de linha de produo com vrias mquinas em srie


denominada Flow Shop. Neste ambiente, cada operao deve ser processada
em todas as mquinas da linha sempre na mesma ordem:
29

Figura 6 Modelo de Flow Shop


Estendendo tem-se o ambiente Flexible Flow Shop, semelhante ao
anterior diferenciando apenas por cada estgio da linha de produo possuir
mquinas em paralelo, o que permite uma maior flexibilidade da produo:

Figura 7 Modelo de Flexible Flow Shop


O ambiente que foco do trabalho chamado de Job Shop. Em
ambientes assim, cada mquina considerada como um centro de trabalho e
cada tarefa possui roteiro prprio de fabricao, ou seja, cada produto no
precisa passar necessariamente por todas as mquinas, nem mesmo seguir a
mesma sequencia dos outros[16]. Ou seja, o job shop consiste de um
conjunto de n peas que so processadas em m mquinas, onde o
processamento de cada pea consiste em m operaes realizadas nestas
mquinas em uma sequencia especfica. Essa descrio segue anotao de
Graham[23], onde cada instncia do problema definida por um conjunto
de peas, um conjunto de mquinas e um conjunto de tarefas/operaes:
30

Figura 8 Modelo de Job Shop

A realidade de cho de fbrica e contexto industrial traz restries ao


problema que podem, dependendo da tcnica, ser consideradas em uma possvel soluo.
Considerar restries torna a tcnica de melhor aproveito comercial.
Dados como a prioridade de cada tarefa e a disponibilidade de materiais e
equipamentos so necessrios para um sequenciamento eficiente. Em cada modelo de
produo ainda podem existir inmeras restries, algumas so descritas a seguir:
Precedncia: a dependncia entre peas pode causar atrasos na
produo se no consideradas desde o sequenciamento, uma pea deve
esperar a finalizao de uma outra para iniciar seu roteiro de produo no
caso de precedncia;
Manuseio e Locomoo: a depender do tamanho da indstria ou da
produo, o tempo de organizao de material e locomoo entre centros de
produo devem ser considerados;
Preparao (Setup): algumas mquinas necessitam de uma preparao
especfica a depender do processo que executar, esse tempo ainda pode ser
varivel de acordo com o processo que foi executado anteriormente nessa
mquina;
Demanda: a regra de negcio da empresa deve ser considerada no
sequenciamento, de modo que uma empresa que mantm estoque de seus
produtos mantenha um equilbrio entre as quantidades produzidas e as
consumidas enquanto que a organizao que trabalha com pedidos
antecipados possuem prazos bem especficos a serem cumpridos;
31

Interrupes: considerar possveis imprevistos como falhas em


mquinas ao realizar processos especficos, falhas estas que ao serem
interrompidas podem evitar retrabalhos em demasia.

3.2 TCNICAS DE SEQUENCIAMENTO

O sequenciamento de mquinas tratado na computao como um problema


de alocao de tarefas, semelhante distribuio de aulas entre professores em uma escola ou
a agendamentos de consultas em uma clnica com diversos mdicos e especialidades.
considerado um problema de anlise combinatria, ramo de estudo lgico-matemtico que
objetiva a anlise de possibilidades de combinaes sobre um conjunto finito de objetos ou
valores, com diversas propostas de resoluo a partir de mtodos matemticos, heursticas,
redes neurais, algoritmos genticos, entre outros.
Tcnicas comuns de serem utilizadas no contexto industrial visam a
priorizao de uma nica meta em detrimento das demais variveis presentes no contexto,
alm de necessitarem de pouca base de estudo prvio (como um mtodo numrico precisaria).
Abaixo esto descritas algumas dessas tcnicas chamadas Regras de Despacho.

3.2.1 Regras de Despacho

Por serem de fcil implementao so amplamente utilizadas, porm no


apresenta bons resultados quando comparado aos outros mtodos que analisam diversos
aspectos do problema em conjunto. Se dividem em:
Menor Data de Entrega: tarefas com menor data limite so priorizadas
objetivando menor atraso possvel ;
Menor Tempo de processamento: tarefas com o menor tempo de
processamento so priorizadas objetivando aumentar o fluxo de materiais e
diminuir estoque em processo, permitindo, no entanto, atrasos em lotes de
grande processamento;
Maior Tempo de processamento: tarefas com o maior tempo de
processamento so priorizadas objetivando evitar espera de grandes lotes,
permitindo, entretanto, grande gerao de estoque no processo;
32

FIFO (first in, first out): tarefas so efetuadas na mesma ordem em que
so cadastradas objetivando menor tempo de espera, porm no
considerando nem tempo ou melhor ordem para execuo das atividades;
Menor Folga: tarefas com menor diferena entre o tempo de finalizao
estimado e data limite so priorizadas, objetivando menor atraso possvel e
melhorando a regra de Menor Data de Entrega.

3.2.2 Sistemas Avanados de Planejamento e Sequenciamento

A utilizao de tcnicas mais abrangentes, em questo de objetivos, e com


nveis de preciso maiores requerem conhecimentos especficos e tempo maior para a
programao de produo. A utilizao de softwares especficos, muitas vezes com
inteligncias artificiais, para sequenciamentos de mquinas permitem a alocao de tarefas na
produo ser efetuada de maneira gil e sem necessidade de conhecimentos prvios.
Conhecidos como APS - Advanced Planning and Scheduling, os sistemas avanados de
programao de produo recebem os dados especficos do ambiente industrial (desde tempos
padres de processamentos at pedidos) atravs de uma banco de dados ou um arquivo em
formato especificado e efetuam a alocao de tarefas utilizando algoritmos com tempo
computacional acessvel ao cotidiano industrial. As regras de despacho tambm podem ser
encontradas em softwares desse tipo, porm algumas tcnicas computacionais mais eficientes
so ou esto sendo implantadas em softwares do tipo APS.
Tcnicas e Algoritmos especficos encontrados em sistemas APS:
GRASP (Greedy Randomised Adaptive Search Procedure): mtodo
iterativo probabilstico, onde cada iterao obtida uma soluo, e esta
submetida busca local, outra iterativa que busca alguma melhoria
efetuando pequenas modificaes at se chegar em uma soluo tima local.
A componente probabilstica utilizada na escolha da soluo original. Seu
critrio de parada mais comum um nmero mximo de iteraes ou tempo
de execuo. Esse algoritmo torna-se competitivo quando incorpora-se ao
seu formato convencional uma estratgia de intensificao, onde atributos
de solues de elite recebem incentivos para serem inseridos na soluo,
alm de princpios de otimizao de aproximaes serem aplicados a
solues parciais durante a fase construtiva [4];
33

Shifiting Bottleneck: Heurstica que busca otimizar a utilizao dos


recursos crticos do sistema, otimizando assim o sistema como um todo,
geralmente combinado a outro mtodo para resolver problemas de
mquinas nicas aps passo de seleo de qual mquina crtica ao sistema
[1];
Redes Neurais: Estruturas computacionais baseadas na estrutura neural
de organismos inteligentes e que adquirem conhecimento atravs da
experincia. Cada unidade (neurnio) possui memria local e ligaes para
outras unidades, nas quais recebem e enviam sinais. A vantagem no uso de
redes neurais no sequenciamento de mquinas est na possiblidade de
deduzir a influncia de cada entrada na soluo gerada, alm de um menor
tempo de processamento aps o processo de aprendizagem [2];
Busca Tabu: Tcnica de melhoria de soluo, considera estruturas que
permitam explorar eficientemente o histrico de todo o processo de busca.
Utiliza-se de memria para evitar regies j visitadas [3]. Estratgias com
memria mdia so baseadas em modificar as regras de escolha para
diminuir escolha de solues historicamente boas em regies atrativas e
intensificar a busca em outras regies, enquanto que a memria mais longa
diversifica a busca em reas ainda no exploradas;
Algoritmos Genticos: classe de algoritmos probabilsticos que, a partir
de uma populao inicial de solues candidatas, "evoluem" em direo a
melhores solues aplicando operadores modelados em processos genticos
que ocorrem na natureza[12]. Algoritmos genticos diferem dos algoritmos
de busca mais tradicionais no sentido de que sua busca conduzida usando
a informao de uma populao de estruturas, em vez de uma nica
estrutura. A motivao para essa abordagem que, considerando vrias
estruturas como solues potenciais, o risco da busca chegar a um mnimo
local bastante reduzido [5].
34

4 MODELAGEM DO PROBLEMA

4.1 DADOS DE ENTRADA

O problema de sequenciamento de mquinas possui uma infinidade de


variveis e restries a serem consideradas. necessrio definir um escopo de trabalho ao
desenvolver uma tcnica para tratar do problema.
O algoritmo proposto neste trabalho trabalha com uma entrada estruturada,
que chamaremos de Pedido. A hierarquia da estrutura est representada na imagem abaixo.

Figura 9 Estrutura de Pedido

A estrutura se alimenta dos dados de pedidos de produo, estes


provenientes de clientes em negcios sob demanda ou de departamentos internos caso a regra
de negcio seja de pronta entrega (necessitando de estocagem), alm de informaes sobre o
maquinrio, processos e produtos inerentes indstria especfica ao qual o algoritmo ser
aplicado.
Cada pedido contm um conjunto de ordens de produo que, por sua vez,
possuem um conjunto de produtos a serem produzidos e, ainda, cada produto possui um
roteiro de produo com os processos na ordem em que devem ser efetuados e que mquinas
executam cada processo.
35

As subestruturas possuem dados especficos a serem utilizados no


sequenciamento ou para identificao dos mesmos. As relaes entre cada nvel que trar as
informaes necessrias para sequenciar a produo.
Ordem de Produo: Listagem de produtos a serem produzidos,
informaes sobre quais materiais ou acabamentos especficos devero ser
utilizados assim como quantidade de peas a serem produzidas e os prazos a
serem cumpridos;
Produto: Roteiro de produo contendo os processos, e suas respectivas
ordens de execuo (qual deve ser executado antes ou depois). Produtos
diferentes podem passar por um mesmo processo em uma etapa diferente de
produo ou ainda um mesmo produto pode passar por um mesmo processo
em diferentes etapas de produo;
Processo: Cada possvel processo na indstria possui uma listagem de
mquinas que podem realiz-lo. Essa informao pode ser obtida por uma
base de dados da empresa j que se repete para um mesmo processo
independente do produto ou ordem de produo ao qual esteja associado.
A fim de tornar a estrutura mais adaptvel a uma modelagem gentica tem-
se o conceito de uma nova estrutura, chamaremos de Job. Cada job refere-se a um processo
realizado na produo, porm o mesmo processo torna-se diferentes jobs dependendo da sua
relao com cada produto e ordem de produo. A ttica visa transformar um problema
apresentado em uma lista de jobs a serem listados de acordo com cada mquina existente na
indstria.

4.1.1 Estrutura de um Job

A estrutura de jobs pretende simplificar a codificao de informaes para


um alfabeto especfico a fim de modelar um algoritmo gentico.
Existe uma quantidade determinada de possveis processos em uma
indstria, assim uma lista de processos pendentes de execuo na produo de um pedido
possui vrias repeties (um mesmo processo aparece inmeras vezes). A estrutura de job
diferencia um mesmo processo em suas repetidas aparies na lista a partir de informaes
como de que produto este procede, em que etapa do roteiro ele se refere e qual ordem de
produo traz o produto desse contexto. Ao distinguir todos os processos uns dos outros o
36

problema torna-se uma simples ordenao da lista a partir de alguns critrios a serem
definidos.

4.2 DADOS DE SADA

Ao fim do algoritmo de sequenciamento encontra-se uma lista de jobs


ordenados de modo a cada um estar alocado a uma mquina especfica e cada mquina
estar esperando apenas um job por vez. Como chegar a esse aspecto ser
descrito no prximo tpico. A imagem abaixo mostra a estrutura que cada possvel soluo
dever conter.

Figura 10 Estrutura de uma Soluo

Basicamente, a soluo trar a mesma lista de jobs mas subordinada por


mquinas. Essa estrutura permitir a apresentao dos dados em forma de cronograma de
produo, que o objetivo de softwares do tipo APS (descrito na seo 3.2.2) onde se
utilizar esse tipo de soluo.
37

5 ALGORITMO

Especificao de cada etapa do algoritmo gentico especfico do trabalho,

comeando pela especificao de indivduo e funo de desempenho. A seguir, as descries

do mtodo para gerao de uma populao inicial de indivduos e a seleo dos melhores para

o cruzamento.

5.1 INDIVDUO

A apresentao de uma possvel soluo est representada na figura abaixo.


Na forma de matriz, organiza os dados do problema de forma a determinar uma mquina para
cada processo de cada produto.

Figura 11 Estrutura de um Indivduo

Considerando os dados do problema, determina-se n como o nmero de


processos, m como o nmero de produtos e pij como a mquina determinada para realizar o
processo i para o produto j.

5.2 FUNO DESEMPENHO

O valor utilizado como medida de desempenho de um indivduo origina-se


nos custos que as mquinas selecionadas possuem ao realizar cada processo. A soma geral,
entre todos os processos de todos os produtos, deve ser a menor possvel. Podemos entender o
clculo atravs da funo abaixo:

mi=0nj=0 Cij
38

Onde m e n correspondem ao nmero de produtos e processos


respectivamente e o valor Cij corresponde ao custo que a mquina determinada pela matriz do
indivduo para o processo j do produto i possui ao realizar o processo.

5.3 GERAO DE POPULAO INICIAL

A populao inicial consiste em um conjunto de indivduos gerados. Estes


indivduos surgem do preenchimento da matriz, de primeiro momento, aleatoriamente;
seguido do processo de validao de indivduo. Esta validao dependente de informaes
sobre os processos e mquinas. No problema real, consta em um banco de dados as restries
de que mquinas realizam quais processos.
Para uma primeira etapa de testes, ser gerada uma matriz com informaes
de custo (tempo, financeiro, entre outros) que cada mquina possui em relao a cada
processo, alm de uma varivel booleana que determina se a mquina pode realizar o
determinado processo a fim de uma representao mais prxima da real (onde as mquinas
no realizam todo tipo de processo).

5.2 SELEO DE INDIVDUOS

O clculo de desempenho de cada indivduo dado pela maior soma dos


tempos de processamento de todos os jobs associados a uma mquina em relao s outras
mquinas, ou seja, a mquina que demorar mais para processar todos seus processos
associados que ter seu valor associado soluo.
39

6 IMPLEMENTAES

Existem trabalhos diversos que prope a utilizao de algoritmos genticos

para o sequenciamento de mquinas. Esta seo expe duas implementaes demonstradas

em [25].

Os dois algoritmos seguem o mesmo roteiro, mas suas funes de gerao,

avaliao e crossover so distintas. O algoritmo da figura abaixo replicado em ambos.

Figura 12 Algoritmo Gentico Estrutura Geral

Os parmetros so, respectivamente, o tamanho da populao, o valor de

probabilidade de cruzamento, probabilidade de mutao, porcentagem da populao para o

torneio n-rio (tcnica utilizada em uma das implementaes para definir os individuos para a
40

reproduo) e o critrio de parada (neste caso, o tempo de processamento).

6.1 REPRESENTAO POR CHAVES RANDMICAS

A proposta de um algoritmo gentico adaptativo para o problema de


sequenciamento de mquinas objetivando minimizar o tempo total de atrasos com pesos
apresentada em [24] atravs de indivduos com chaves randmicas.
Neste modelo tanto a gerao da populao inicial quanto a seleo de
indivduos para reproduo se realiza de forma aleatria. Nmeros reais com seis casa
decimais foram utilizados para codificar indivduos gerados por heursticas gulosas em [25].
Neste trabalho, o cruzamento foi realizado atravs do operador de cruzamento parametrizado,
onde um nmero (0-1) sorteado aleatoriamente comparado com uma probabilidade de
cruzamento previamente estabelecida (neste caso 0.8). Sendo o valor sorteado menor o
primeiro filho recebe o gene do primeiro pai assim como o segundo filho o do segundo pai,
invertendo caso o sorteio resulte num valor maior que a probabilidade. A mutao feita
deslocando um gene escolhido para uma outra posio aleatria e deslocando esquerda
todos os nmeros entre as posies escolhidas (como um shift).

6.2 REPRESENTAO POR VETOR DE LISTAS

Utilizando a heurstica de mltipla insero, neste mtodo todos os


indivduos so submetidos a buscas locais e a seleo para cruzamento realizada por torneio
n-rio.
A construo de uma populao de solues ocorre de modo dividido entre
a aleatoriedade e uma heurstica gulosa que determina que a tarefa de menor tempo de
processamento em determinada mquina seja alocada primeiro e assim por diante, iniciando a
tcnica com a ordenao das tarefas por tempo de processamento.
Na seleo por torneio n-rio, uma parcela de indivduos escolhida
aleatoriamente e o clculo de desempenho utilizado para a escolha de dois indivduos para a
reproduo. Neste caso, o valor de desempenho se d pelo tempo total de processamento
(makespan).
O cruzamento realizado utilizando pontos de corte. Os pontos definem que
genes do primeiro pai vo para o primeiro filho ou para o segundo. Comparando os genes do
segundo pai com os dos filhos, elimina-se as redundncias e aloca-se as tarefas restantes do
41

segundo pai nos filhos onde se obtm o menor tempo de concluso da mquina, procedimento
conhecido como Busca Local Limitada.

6.3 RESULTADOS GERADOS

Os testes dos algoritmos foram realizados a partir de um conjunto de 640


problemas-teste da literatura [26], envolvendo combinaes de 6, 8, 10 e 12 tarefas e 2, 3, 4 e
5 mquinas.
O algoritmo descrito em 6.1 obteve melhores resultados, encontrando o
melhor valor para todas as instncias com 6 e 8 tarefas (valores encontrados para comparao
em [26]) e mdias superiores as do algoritmo proposto em [24] para instncias com 10 e 12
tarefas.
As buscas locais executadas ao longo da fase de evoluo do algoritmo
gentico descrito em 6.2 foram a razo das mdias ruins encontradas nos testes.
42

7 CONCLUSO

Este trabalho apresenta uma aplicao especifica para a tcnica de


inteligncia artificial que compreende os algoritmos genticos. A compreenso da tcnica
motivada pela aplicao em um problema real, atual e de grande impacto no setor industrial a
torna mais interessante para o estudo terico.

O processo evolutivo pertinente tcnica quando aplicado um sistema de


planejamento, programao e controle da produo pode ter desenvolvimento dinmico,
melhorando sua performance podendo ser redesenvolvido utilizando informaes de
monitoramento do processo industrial aps a aplicao da tcnica na produo.
43

REFERNCIAS

[1] ADAMS, Joseph; BALAS, Egon; ZAWACK, Daniel. The shifting bottleneck procedure
for job shop scheduling. Management science, v. 34, n. 3, p. 391-401, 1988.

[2] AKYOL, Derya Eren; BAYHAN, G. Mirac. A review on evolution of production


scheduling with neural networks. Computers & Industrial Engineering, v. 53, n. 1, p.
95-122, 2007.

[3] GLOVER, Fred et al. Tabu search. Boston: Kluwer academic publishers, 1997.

[4] BINATO, S. et al. A GRASP for job shop scheduling. In: Essays and surveys in
metaheuristics. Springer US, 2002. p. 59-79.

[5] YING, Wu; BIN, Li. Job-shop scheduling using genetic algorithm. In: Systems, Man, and
Cybernetics, 1996., IEEE International Conference on. IEEE, 1996. p. 1994-1999.

[6] DE LACERDA, Estfane GM; DE CARVALHO, ACPLF. Introduo aos algoritmos


genticos. Sistemas inteligentes: aplicaoes a recursos hdricos e cincias
ambientais, v. 1, p. 99-148, 1999.

[7] DE MIRANDA, Marcio Nunes. Algoritmos genticos: fundamentos e aplicaes. 2007.

[8] DE SOUSA LOPES, Luciana; NOGUEIRA, Lorena. Uma Heurstica baseada em


Algoritmos Genticos aplicada ao Problema de Cobertura de Conjuntos. 1995.

[9] TANOMARU, Julio. Motivao, fundamentos e aplicaes de algoritmos genticos. In:


Anais do II Congresso Brasileiro de Redes Neurais. 1995.

[10] MICHALEWICZ, Zbigniew. Genetic algorithms+ data structures= evolution programs.


springer, 1996.

[11] HOLLAND, John H. Adaptation in natural and artificial systems: An introductory


analysis with applications to biology, control, and artificial intelligence. U Michigan
Press, 1975.

[12] GOLDBERG, David E.; HOLLAND, John H. Genetic algorithms and machine learning.
Machine learning, v. 3, n. 2, p. 95-99, 1988.

[13] POZO, Aurora et al. Computao Evolutiva. Grupo de Pesquisas em Computao


Evolutiva. Departamento de Informtica. Universidade Federal do Paran, 2005.

[14] TUBINO, Dalvio Ferrari. Manual de planejamento e controle da produo. Atlas, 2000.
44

[15] RUSSOMANO, Victor Henrique. PCP, planejamento e controle da produo. Pioneira,


1995.

[16] BELAN, Helder Carlo; PALMA, Jandira Guenka. Mtodo Adaptativo de Programa ao
da Produ ao Apoiado por um Sistema de Medi ao de Desempenho e Melhoria
Contnua.

[17] CHIAVENATO, Idalberto. Administrao de produo: uma abordagem introdutria.


Elsevier Inc., 2005.

[18] RIDLEY, Mark. Evoluo. Grupo A, 2006.

[19] VON ZUBEN, Fernando J. Computao evolutiva: uma abordagem pragmtica. Anais da
I Jornada de Estudos em Computao de Piracicaba e Regio (1a JECOMP), v. 1, p.
25-45, 2000.

[20] AMABIS, J. M.; MARTHO, G. M. Biologia das populaes. Vol 3: Gentica, Evoluo
biolgica e Ecologia. Moderna, 2004.

[21] PINEDO, Michael. Scheduling: theory, algorithms, and systems. Springer, 2012.

[22] MONTEVECHI, Jos Arnaldo Barra et al. Application of design of experiments on the
simulation of a process in an automotive industry. In: Proceedings of the 39th
conference on Winter simulation: 40 years! The best is yet to come. IEEE Press,
2007. p. 1601-1609.

[23] GRAHAM, Ronald L. et al. Optimization and approximation in deterministic sequencing


and scheduling: a survey. Annals of Discrete Mathematics. v5, p. 287-326, 1977.

[24] KURZ, M.; ASKIN, R. Heuristic scheduling of parallel machines with sequence
dependent set-up times. Int. Journal of Production Research, v. 39, p. 37473769,
2001
[25] HADDAD, Matheus Nohra; SOUZA, Marcone Jamilson Freitas; SANTOS, Haroldo
Gambini. Algoritmos Genticos para o Problema de Sequenciamento em Mquinas
Paralelas No-Relacionadas com Tempos de Preparao Dependentes da Sequncia.
[26] SOA. Instncias para o problema de sequenciamento em mquinas paralelas
norelacionadas com tempos de preparao dependentes da sequncia, Acesso em 21
de Abril de 2011. URL: http://soa.iti.es/problem-instances.
45

[27] Ravetti, M. G.; Mateus, G. R.; Rocha, P. L. e Pardalos, P. M. (2007). A scheduling


problem with unrelated parallel machines and sequence dependent setups.
International Journal of Operational Research, v. 2, p. 380399.
[28] Pereira Lopes, M. J. e deCarvalho, J. M. (2007). A branch-and-price algorithm for
scheduling parallel machines with sequence dependent setup times. European journal
of operational research, v. 176, p. 15081527.

Você também pode gostar