Escolar Documentos
Profissional Documentos
Cultura Documentos
=
I i J j
ij i
x P z
1
(2.1)
s.a: J j x
I i
ij
=
1 (2.2)
I i T x t
J j
o
ij j
(2.3)
k
I i
ik
I i
ij
J j J k x i x i
; (2.4)
J j I i x
ij
; } 1 , 0 { (2.5)
onde: 1 =
ij
x caso a tarefa j seja alocada ao posto i , e 0 =
ij
x em caso contrrio; e
i
i
n P = uma penalidade associada ativao do i -simo posto de trabalho.
No modelo acima, a equao (2.2) garante que cada tarefa seja atribuda a exatamente um
posto de trabalho, e as inequaes (2.3) e (2.4) garantem, respectivamente, que nenhum posto
de trabalho receba um subconjunto de tarefas cujo tempo de execuo exceda o tempo de
ciclo
o
T e que as relaes de precedncia entre tarefas sejam obedecidas. Neste modelo,
como se pode observar, a funo objetivo (2.1) construda de modo a penalizar o incremento
do nmero de postos de trabalho.
Para a formulao do modelo acima, o nmero mnimo de postos de trabalho, m, poder ser
estimado a partir da construo de uma soluo inicial usando um mtodo heurstico qualquer.
No pior caso poder ser adotado n m = , ou seja, que em cada posto seja alocado exatamente
uma tarefa e, ainda, que o tempo de ciclo total seja estabelecido pela tarefa de maior durao.
Para o problema (2.1)-(2.5), tem-se como resultado uma soluo vivel, isto , que obedece a
relao de precedncia entre as atividades e o tempo de ciclo que garante o atendimento da
demanda, com o menor nmero de postos de trabalho. Este nmero mnimo de postos de
trabalho poder ser determinado por:
( )
ij j i
x i m =
,
max (2.6)
e a partir desta soluo, um segundo problema de programao linear binria poder ser
formulado para a obteno do menor tempo de ciclo
T
, considerando que as tarefas sero
alocadas em m postos:
XXIII Encontro Nac. de Eng. de Produo - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003
ENEGEP 2003 ABEPRO 3
LBP-2 Min T z =
2
(2.7)
s.a: J j x
m
i
ij
=
=
1
1
(2.8)
m i T x t
J j
ij j
,..., 1 =
(2.9)
k
m
i
ik
m
i
ij
J j J k x i x i
= =
;
1 1
(2.10)
J j I i x
ij
; } 1 , 0 { (2.11)
Pode-se observar que os modelos apresentados acima se diferenciam, basicamente, quanto
funo objetivo. Enquanto o primeiro trata de obter o menor nmero de postos de trabalho
para um tempo mximo de ciclo definido pelo problema, o segundo busca determinar o menor
tempo de ciclo, dado o nmero de postos obtidos atravs da soluo do primeiro modelo.
Apesar da relativa simplicidade dos modelos acima apresentados, as solues destes so de
difcil obteno atravs da utilizao de algoritmos clssicos de programao linear inteira,
especialmente para o caso de problemas que apresentam grande nmero de tarefas.
3. Algoritmo proposto
Para soluo dos problemas LBP-1 e LBP-2, foram desenvolvidos dois GAs, diferenciados
quanto avaliao do fitness, cujos aspectos sero tratados posteriormente. Os GAs so
procedimentos heursticos baseados no princpio da evoluo das espcies enunciado por
Darwin em 1879. A idia de utilizar tal princpio na soluo de problemas matemticos,
notadamente os de otimizao, foi desenvolvida inicialmente por John Holland, no incio da
dcada de 70. Apesar deste processo de evoluo no ser totalmente conhecido pelos
bilogos, alguns aspectos referentes ao mesmo so bem aceitos. Em primeiro lugar, sabe-se
que a evoluo se processa por meio de dispositivos biolgicos denominados de
cromossomos, os quais armazenam as caractersticas dos indivduos. Atravs de um processo
de seleo natural, indivduos mais bem adaptados ao meio (maior fitness) conseguem se
reproduzir com maior freqncia, transmitindo suas caractersticas genticas aos
descendentes. A reproduo a chave pela qual a evoluo se processa. Atravs da
combinao dos materiais genticos dos ancestrais, novos cromossomos so produzidos, os
quais, eventualmente passam por um processo denominado de mutao. Atravs deste
processo, os descendentes podero vir a apresentar caractersticas distintas de seus ancestrais.
Eventualmente, tais caractersticas permitem que o indivduo gerado venha a ter uma maior
capacidade de adaptao ao meio. Os GAs apresentam uma estrutura similar ao que se
observa na natureza, conforme descrito, e seus passos principais podem ser assim delineados:
Gerar uma populao inicial
Avaliar o fitness dos indivduos da populao
Repetir
Selecionar ancestrais da populao
Gerar descendentes atravs do cruzamento gentico entre os ancestrais selecionados
Realizar uma eventual mutao nos descendentes gerados
Avaliar o fitness dos descendentes gerados
Substituir alguns indivduos da populao (ou todos) pelos descendentes gerados
At que uma soluo satisfatria tenha sido encontrada
Dentro desta perspectiva, os aspectos relevantes, que passaro a ser discutidos, so: a
estrutura do cromossomo, a avaliao do fitness e os processos de seleo natural, de
cruzamento e de mutao.
XXIII Encontro Nac. de Eng. de Produo - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003
ENEGEP 2003 ABEPRO 4
3.1. Estrutura do cromossomo e gerao da populao inicial
Uma soluo vivel para o problema de balanceamento de linhas de produo simples
corresponde a uma permutao das tarefas a serem alocadas, de modo a satisfazer as relaes
de precedncia e o tempo de ciclo estabelecido. Neste contexto, a caracterizao de uma
soluo em particular pode ser realizada por meio de um vetor de inteiros, onde cada
elemento corresponde ao ndice de uma tarefa. Neste vetor no pode haver repetio de
ndices de tarefa, j que cada tarefa deve ser alocada a um e somente um posto. Na figura 1,
pode-se observar a representao grfica desta estrutura para um problema com 10 tarefas, na
qual a primeira tarefa a ser realizada a de ndice 3, a segunda de ndice 4, e assim
sucessivamente, at a ltima tarefa (ndice 10).
3 4 2 6 1 7 9 8 5 10
Figura 1 - Esquema de representao do cromossomo, para o problema de balanceamento de linhas de produo.
Para formao de uma populao inicial contendo K solues aleatrias, denotada por
} ,..., ,..., {
1 K r
S S S = , pode-se tomar inicialmente, para cada uma destas solues, a
seqncia de tarefas ) ,..., 2 , 1 ( n S = , e realizar sucessivas trocas de posies (aleatria) entre
pares de elementos. Seja ) ,..., , (
2 1 rn r r r
s s s S = o vetor resultante deste procedimento de trocas.
Note-se que a aplicao deste procedimento no garante que as relaes de precedncia entre
tarefas sejam satisfeitas. Contudo este aspecto poder ser devidamente considerado atravs de
funes de penalidade apropriadas, quando da avaliao do fitness de cada indivduo, como
ser visto mais frente.
Para caracterizao completa da soluo, necessrio identificar em qual posto encontra-se
cada tarefa, como poder ser visto em mais detalhes no algoritmo que ser apresentado
posteriormente.
3.2. Avaliao do fitness
O fitness de um cromossomo representa a capacidade do indivduo adaptar-se ao meio. No
caso dos algoritmos genticos, quando aplicados sobre problemas de otimizao
combinatorial, a medida de fitness costuma relacionar-se com o valor da funo objetivo.
Para um indivduo ) ,..., , (
2 1 rn r r r
s s s S = , o nmero de inviabilidades
r
NI na relao de
precedncia entre tarefas e o valor da funo objetivo
r
z , podero ser calculados,
considerando o tempo de ciclo
o
T e as notaes ) (
t t e ) (
J J , atravs do
procedimento CalculaParametrosFitness apresentado no Quadro I. Aps a aplicao deste
procedimento, o valor de fitness poder ser calculado usando qualquer funo ) (
r
S f que
satisfaa as seguintes condies:
i) Se
q r
NI NI < , ento ) ( ) (
q r
S f S f > ;
ii) Se
q r
NI NI = e
q r
z z < , ento ) ( ) (
q r
S f S f > .
Assim, com base nos valores ) (
r
S f , calculados para todo
r
S pode-se ordenar os indivduos
de , de modo que ) ( ... ) ( ) (
2 1 K
S f S f S f .
XXIII Encontro Nac. de Eng. de Produo - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003
ENEGEP 2003 ABEPRO 5
procedimento CalculaParametrosFitness (
r
S );
incio
1 i ; // inicializar nmero do posto
0
r
NI
; // inicializar nmero de inviabilidades
0
ac
T
; // inicializar tempo acumulado
0
r
z
; // inicializar a funo objetivo
0 v ; // inicializar ndice da tarefa
repetir
1 + v v ;
1 k ; // inicializar ndice tarefas predecessoras
enquanto v k <
faa incio
se
) (
rk rv
s J s
ento 1 +
r r
NI NI ; // incrementar nmero de inviabilidades
1 + k k ; // tomar a prxima tarefa
fim;
se
0
) ( T T s t
ac rv
+
ento
) (
rv ac ac
s t T T +
// incrementar tempo acumulado
seno incio
1 + i i ; // incrementar nmero do posto
) (
rv ac
s t T ; // redefinir o tempo acumulado
fim;
i r r
P z z +
// incrementar a funo objetivo
i s Posto
rv
= ) ( ; // alocar tarefa
rv
s ao posto i
at que n v = ;
Retornar
r
NI ,
r
z
e a lista de tarefas com os respectivos postos;
fim.
Quadro I Procedimento utilizado para clculo dos parmetros da funo de fitness
3.3. Seleo natural e cruzamento (crossover)
No GA proposto para a soluo do problema de balanceamento de linhas de produo
simples, a operao de cruzamento realiza-se entre dois indivduos, denotados por
) ,..., , (
2 1 rn r r r
s s s S = e ) ,..., , (
2 1 qn q q q
s s s S = , escolhidos aleatoriamente e com igual
probabilidade na populao , a fim de gerar um novo descendente ) ,..., , (
2 1 dn d d d
s s s S = , a
ser includo na populao, em substituio a
K
S , caso ) ( ) (
K d
S f S f > . O procedimento de
cruzamento proposto ocorre de modo que as restries de precedncia, denotadas por a
(leia-se precede ), sejam privilegiadas, conforme apresentado no Quadro II. Note-se que
na seleo realizada, apesar de ser utilizada uma distribuio uniforme, os indivduos mais
promissores acabam permanecendo por mais tempo na populao e, consequentemente, sendo
escolhidos com maior freqncia para a realizao da operao de cruzamento.
3.4. Mutao
A mutao nos seres vivos um fenmeno raro no processo de reproduo, e consiste em
modificar de forma aleatria algum gene no cromossomo do indivduo descendente gerado.
Entretanto, no algoritmo proposto ela est presente na concepo de qualquer novo indivduo.
Assim, ocorre que neste algoritmo a mutao projetada a dar preferncia ao preenchimento
dos postos de trabalho, mantida a ordem de precedncia entre tarefas, e observadas as
disponibilidades de tempo para execuo da tarefa no posto, conforme apresentado no Quadro
III. Em outras palavras, na gerao de cada indivduo considerada a possibilidade de trocar a
ordem das tarefas, desde que isto possibilite a melhor utilizao de ociosidades existentes em
postos de trabalho de menor ndice, desde que esta troca no viole alguma restrio adicional
de precedcia j satisfeita.
XXIII Encontro Nac. de Eng. de Produo - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003
ENEGEP 2003 ABEPRO 6
procedimento Cruzamento (
r
S
,
q
S
);
incio
para 1 = k at n faa // para todos os genes do cromossomo
se
qk rk
s s =
ento
rk dk
s s = ; // se forem iguais, manter descendente
se
qk rk
s s a
ento incio // se
rk
s precede
qk
s
rk dk
s s =
; // executar antes
rk
s
Trocar (
qk rk q
s s S , ,
); // permutar posio dos genes em
q
S
fim;
se
rk qk
s s a
ento incio // se
qk
s
precede
rk
s
qk dk
s s =
; // executar antes
qk
s
Trocar (
qk rk r
s s S , ,
); // permutar posio dos genes em
r
S
fim;
se
) (
qk rk
s s Not a
e
) (
rk qk
s s Not a
// se
rk
s e
qk
s
no se precedem
ento incio
= p
Random (
r q,
); // escolha aleatria entre
q
e r
pk dk
s s =
; // executar antes
pk
s
(aleatrio)
se
q p =
ento Trocar (
qk rk r
s s S , ,
) // permutar posio dos genes em
r
S
seno Trocar (
qk rk q
s s S , ,
); // permutar posio dos genes em
q
S
fim;
fim;
Retornar
d
S ;
fim.
Quadro II Procedimento utilizado para realizao da operao de cruzamento entre dois indivduos.
procedimento Mutao (
r
S
);
Incio
0 = m ; // inicializar o nmero de postos
para 1 = i at n faa ( )
o
T i Slack =
; // inicializar folga do posto
para 1 = k at n faa ( ) 1 = k First
; // inicializar primeiro posto para tarefa
para 1 = k at n faa ( ) 0 = k Posto ; // inicializar primeiro posto para tarefa
para 1 = k at n faa // para todos genes do cromossomo
incio
) (k First i = ; // comeando pela 1
a
. possibilidade
enquanto ( ) ) (
rk
s t i Slack <
faa ; 1 + = i i // incrementar posto at encontrar folga
; ) ( i s Posto
rk
= // alocar tarefa
rk
s ao posto i
se m i > ento ; i m = // corrigir nmero de postos, se necessrio
( ) ( ) ) (
rk
s t i Slack i Slack =
; // descontar o tempo de
rk
s na folga de i
para 1 = j at n faa
se
0 ) ( =
rj
s Posto
e
rj rk
s s a
e
i s First
rj
< ) (
// revisar a 1
a
. possibilidade de alocao
ento
i s First
rj
= ) (
; // das atividades sucessoras de
rk
s
fim;
Reordenar os elementos de ) ,..., , (
2 1 rn r r r
s s s S = por ordem crescente de ) (
rk
s Posto ;
Retornar
r
S ;
fim.
Quadro III Procedimento utilizado para realizao da mutao em um indivduo.
4. Resultados numricos
Dos diversos problemas de balanceamento de linhas de produo j consagrados na literatura
tomou-se como exemplo numrico, para fins de comparao, o clssico problema de
balanceamento de linhas elaborado por Tonge (1961), apresentado no anexo. Este exemplo foi
escolhido devido a dois motivos: um problema real proveniente da industria eletrnica; e
numerosos autores o solucionaram por diferentes mtodos e heursticas (Tonge em 1965,
XXIII Encontro Nac. de Eng. de Produo - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003
ENEGEP 2003 ABEPRO 7
Moodie e Young tambm em 1965, Nevins em 1972 e Baybars em 1981).
Neste contexto, para avaliar o algoritmo proposto, comparou-se o valor do tempo de ciclo
obtido pela aplicao do GA, com o limite inferior calculado como se o balanceamento da
carga de trabalho fosse ideal, isto :
m
t
LI
j
= (2.12)
Assim, para distintos postos de trabalho, obteve-se os seguintes resultados:
Tabela 1 Resultados obtidos com a aplicao do algoritmo proposto ao problema de Tonge (1961).
Ressalta-se, todavia, que o limite inferior calculado pela expresso 2.12 um valor terico,
dificilmente alcanvel, tendo em vista as restries de precedncia entre tarefas, e as
dificuldades de se realizar o empacotamento perfeito das tarefas alocadas aos postos de
trabalho, dentro do tempo de ciclo estabelecido por este limite.
5. Concluses e recomendaes
Embora, no se tenha realizado testes exaustivos com o algoritmo proposto, seu desempenho
ficou muito prximo da otimalidade, quando aplicado ao problema de Tonge, inclusive com
performance razovel de tempo de processamento.
Portanto, uma vez que o algoritmo no se restringe busca do menor nmero de postos de
trabalho, mas, tambm, introduz a procura pelo menor tempo de ciclo para um dado nmero
de postos de trabalho, verifica-se que o algoritmo apresenta grande potencial de aplicabilidade
nas linhas de produo reais.
Por outro lado, quanto s recomendaes, sugere-se, em primeiro lugar, que seja ampliado o
nmero de testes realizados com o algoritmo, incluindo outros problemas que tenham
solues por outros mtodos heursticos encontrados na literatura.
Sugere-se, tambm, contemplar, no algoritmo proposto, o problema de balanceamento de
linhas de produo para multi-produtos, nos quais considera-se que a linha sirva diversos
modelos do mesmo tipo de produto ou, at mesmo, diferentes produtos.
Por fim, poder-se-ia tambm desenvolver uma interface grfica ao algoritmo, que de forma
didtica seria utilizada como ferramenta de ensino de engenharia.
6. Bibliografia
ANDERSON, E. J. & FERRIS, M. C. (1994). Genetic Algorithms for Combinatorial
Optimization: The Assembly Line Balancing Problem. ORSA Journal of Computing. Vol. 6,
No. 2, p.161-173.
Tempos de Ciclo (seg.)
m
LI T
%
11 334,82 341 1,85
10 368,30 373 1,28
9 409,22 414 1,17
8 460,38 464 0,79
7 526,14 532 1,11
6 613,83 617 0,52
Desvio mdio em relao ao limite inferior (%) 1,12
XXIII Encontro Nac. de Eng. de Produo - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003
ENEGEP 2003 ABEPRO 8
BAYBARS, I. (1986). A Survey of Exact Algorithms for the Simple Assembly Line
Balancing Problem. Management Science. No. 32, p.909-932.
McMULLEN, P.R. & FRAZIER, G. V. (1998). Using Simulated Annealing to Solve a
Multiobjective Assembly Line Balancing Problem With Parallel Work Stations. International
Journal of Productions Research 31 (10), 2717-2741.
MOODIE, C. L. & YOUNG, H. H. (1965). A Heuristic Method of Assembly Line Balancing
for Assumptions of Constant of or Variable Work Element Times. Journal of Industrial
Engineering 16, 23-29.
NEVINS, A. J. (1972). Assembly Line Balancing Using Best Bud Search. Management
Science 18, 9, p.530.
TALBOT, F. B.; PATTERSON, J. H. & GEHRLEIN, W. V. (1986). A Comparison of
Heuristic Line Balancing Techniques. Management Science 32, 430-454.
TONGE, F. M. (1961). A Heuristic Program of Assembly Line Balancing. Management
Science 7, 21-42.
TONGE, F. M. (1965). Assembly Line Balancing Using Probabilistic Combinations of
Heuristics. Management Science 11, 727-735.
7. Anexo
tarefa
tempo
01
17
02
66
03
54
05
6
19
19
20
54
21
50
04
52
06
88
07
21
08
128
12
21
09
68
10
70
11
85
13
134
14
135
15
94
16
90
17
59
18
319
22
40
23
73
24
12
25
152
26
42
27
45
28
74
30
11
44
43
45
30
46
83
29
26
31
31
32
50
33
102
37
2
34
46
35
35
36
40
38
1
39
3
40
13
41
16
42
25
43
21
47
89
48
56
49
59
50
43
51
11
52
26
53
44
55
38
69
23
70
27
54
121
56
68
57
22
58
7
62
27
59
16
60
32
61
25
63
156
64
28
65
15
66
26
67
18
68
72
Figura 2 Diagrama de precedncia do problema proposto por Tonge (1961).