Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO DE TECNOLOGIA
CURSO DE ENGENHARIA CIVIL
FORTALEZA
2007
i
FORTALEZA
2007
ii
BANCA EXAMINADORA
A meus pais.
iv
AGRADECIMENTOS
Bertolt Brecht.
vi
RESUMO
LISTA DE FIGURAS
LISTA DE TABELAS
SUMÁRIO
RESUMO ....................................................................................................................................... vi
LISTA DE FIGURAS ................................................................................................................... vii
LISTA DE TABELAS ................................................................................................................. viii
SUMÁRIO ...................................................................................................................................... ix
CAPÍTULO 1 .................................................................................................................................. 1
INTRODUÇÃO ............................................................................................................................... 1
1.1. Considerações Iniciais .......................................................................................................... 1
1.2. Justificativa do Tema Abordado ........................................................................................... 1
1.3. Objetivos............................................................................................................................... 2
1.4. Metodologia .......................................................................................................................... 2
1.5. Estrutura do trabalho ............................................................................................................ 3
CAPÍTULO 2 .................................................................................................................................. 4
O PROBLEMA DE SEQUENCIAMENTO CLÁSSICO ............................................................... 4
2.1. Definição do Problema ......................................................................................................... 4
2.2. Histórico do Problema .......................................................................................................... 6
2.3. Abordagens de solução do FSP ............................................................................................ 8
CAPÍTULO 3 .................................................................................................................................. 9
O MÉTODO GRACOS ................................................................................................................... 9
3.1. Definição .............................................................................................................................. 9
3.2. Abordagem Gráfica do GraCOS......................................................................................... 11
CAPÍTULO 4 ................................................................................................................................ 16
EXPERIMENTOS COMPUTACIONAIS .................................................................................... 16
4.1. Análise e discussão ............................................................................................................. 16
CAPÍTULO 5 ................................................................................................................................ 29
CONCLUSÃO ............................................................................................................................... 29
REFERÊNCIAS BIBLIOGRÁFICAS .......................................................................................... 30
1
CAPÍTULO 1
INTRODUÇÃO
As motivações práticas para o estudo do FSP, assim como dos demais POCP, vêm da
grande quantidade de aplicações industriais por ele modelados, as quais variam do carregamento
2
1.3. Objetivos
O objetivo geral deste trabalho é aplicar e avaliar o GraCOS na resolução do Problema de
Sequenciamento Clássico (Flowshop Scheduling Problem).
Os objetivos específicos deste trabalho são:
a) Testar e avaliar o GraCOS nas instâncias do Problema de Seqüenciamento Clássico
(Flowshop Scheduling Problem), encontradas na literatura;
b) Descrever a estrutura utilizada no método para resolver o Problema.
1.4. Metodologia
A metodologia foi composta de cinco etapas, apresentadas a seguir.
(i) Revisão bibliográfica
Na revisão bibliográfica, foram consultadas fontes de pesquisa, tais como artigos
científicos e sites web, na área de Pesquisa Operacional, que tratam do estado da arte da
resolução do FSP e de outros POCP´s.
(v) Conclusões
Nesta etapa da pesquisa foram apresentadas algumas conclusões baseadas no desempenho
do CraCOS observado nas etapas anteriores.
CAPÍTULO 2
3 1 2
5 2 1
Oij = , onde oij representa o tempo de trabalho da tarefa i na máquina j.
1 3 4
7 2 1
5
Vamos escolher uma sequência qualquer de tarefas: π1 = {2, 1, 3, 4}. Vale lembrar que as
tarefas variam de i igual a 1 até 4 neste exemplo. Observando a matriz de tempos, percebe-se que
a tarefa 2, primeira da sequência, realiza-se em 5 segundos. Prosseguindo nesta observação e
fazendo uma sequência de realização da sequência, obtemos o seguinte diagrama de Gant:
M3
M2
M1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 s
Legenda:
tarefa 2
tarefa 1
tarefa 3
tarefa 4
M3
M2
M1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 s
Legenda:
tarefa 4
tarefa 1
tarefa 2
tarefa 3
estavam prontos para abranger a análise de Johnson para o caso e m máquinas. Assim, por
exemplo, o método combinatório que Johnson usou para o problema de duas máquinas foi
estendido para o FSP de m máquinas por Dudek e Teuton (1964). Embora isto tenha sido
comprovadamente julgado como incorreto mais tarde, foi iniciado a partir daí a rede de trabalho
analítica para o desenvolvimento de condições domináveis para o FSP.
A segunda década (1965-1974) proporcionou um alargamento do grupo de métodos
resolutivos por um lado e a consideração de funções objetivas além do tempo de produção por
outro lado.
Durante a terceira década (1975-1984) o crescimento de teorias as mais diversas teve um
profundo impacto na direção dos desenvolvimentos em FSP. Por um lado, existiam
desenvolvimentos para resolver o status de complexidade de vários FSP, por outro lado, muitos
métodos heurísticos foram desenvolvidos durante este período.
Durante a quarta década (1985-1994) houve um crescimento de problemas híbridos onde
cada estágio poderia conter múltiplas máquinas em paralelo, além do desenvolvimento de
metaheurísticas como Pesquisas Tabu, Algoritmos Genéticos e Anelamento Simulado. Como um
resultado da consideração de várias funções objetivas e vários métodos heurísticos, nós
observamos a expansão dos esforços em resolver FSP com dispositivos iniciantes separáveis que
poderiam ser tanto de seqüência independente como de seqüência dependente. Enquanto tais
problemas foram identificados por volta de 1969 e muitas técnicas de solução foram
desenvolvidas em torno deste ano, os desenvolvimentos na quarta década são significativos. Esta
década também revelou o uso de técnicas baseadas na inteligência artificial para resolver FSP.
A proliferação de variedades de FSP, funções objetivas e métodos de resolução continuou
durante a quinta década (1995-2004). Esta década viu diversos desenvolvimentos e
melhoramentos aos já identificados e estudados FSP. Ela também viu significativos progressos
no desenvolvimento de procedimentos de soluções para sequenciamentos robóticos e equipados
com veículos guiados automaticamente. Adicionalmente, por causa dos recentes avanços nas
eficiências computacionais, existe um renovado interesse no uso de métodos de programação
matemática para FSP. Enquanto a evolução dos problemas de sequenciamento foi agrupada ao
longo das cinco décadas desde a publicação dos trabalhos de Johnson, pode-se dizer que a
maioria dos FSP foi formulada durante as duas primeiras décadas. Uma vez um problema é
8
CAPÍTULO 3
O MÉTODO GRACOS
3.1. Definição
O método de resolução, denominado GraCOS (Graphic Combinatorial Optimization
System), constitui-se numa nova metodologia de resolução do POCP, onde o usuário poderá
interagir diretamente na resolução do problema através de procedimentos e acompanhamentos
gráficos quando o algoritmo de resolução do problema ainda está sendo executado. Esta proposta
é inovadora e não há, na literatura, algo parecido, conforme pesquisa realizada.
De acordo com Silva e Soma (2001), um POCP pode ser configurado por um terno (S, g,
n), onde: S é o conjunto de soluções do problema, n é um input do problema e g é uma função ou
um procedimento que avalia cada solução s de S. Geralmente g está relacionada com a função
objetiva do modelo matemático do problema e, o conjunto S é formado por todas as permutações
de 1, 2, ..., n, que possui n! elementos distintos.
O método de resolução GraCOS será assim constituído:
1o) Para cada ponto p(x,y), com coordenadas x e y dentro de uma área gráfica pré-estabelecida,
far-se-á uma associação com uma e somente uma solução viável do problema s ∈ S. Isto gera
uma correspondência biunívoca de cada ponto p(x,y) desta área com cada elemento s do
conjunto S.
2o) Seleciona-se um tipo de figura a ser preenchida uniformemente dentro da área gráfica. Cada
tipo de figura representa um número de soluções (em percentual) a serem avaliadas dentre
aquelas configuradas no conjunto de soluções viáveis S. Este número é calculado com base
no número de pontos ativos existentes na figura selecionada. Pontos ativos de uma figura são
aqueles pontos plotados com a cor vermelha dentro da figura.
3o) Antes de um ponto ser plotado na área gráfica, conforme a figura selecionada, um algoritmo
avaliará a solução s associado a este ponto, determinando uma cor para o mesmo de acordo
com o valor do seu desvio. O desvio é encontrado fazendo o seguinte cálculo desvio =
100×(g(s) – z)/z), onde z é um limitante para o problema.
4o) Após ser preenchida toda a área gráfica, com cada ponto plotado de acordo com sua
respectiva cor, relacionada com o desempenho da solução associada, pode-se observar onde
se encontram os pontos de mínimos e/ou máximos locais para o problema. Daí usa-se esta
10
informação para fazer uma nova incursão dentro do conjunto de soluções viáveis do
problema, para a busca de soluções viáveis cada vez melhores que as soluções até então
avaliadas. Nesta fase far-se-á o processo de intensificação, onde serão avaliadas todas as
soluções que ainda não foram avaliadas dentro de um quadrado com lado r e centro em p*(x,
y). O ponto selecionado para ser o centro do quadrado é aquele que obteve, até então a melhor
avaliação, ou seja, aquele que represente uma boa solução para o problema.
5o) A solução a ser apresentada para o problema será aquela que obteve o menor desvio. A figura
1, a seguir, dá uma idéia de como o método funciona. Neste exemplo, foi selecionado o tipo
de figura a, para preencher toda a área gráfica, e feita a legenda para a tabela de cores a serem
utilizadas na plotagem dos pontos ativos da figura selecionada. Finalmente foi selecionado o
ponto da posição x=271 e y=121 para ser feita a intensificação, devido este estar associada a
melhor solução encontrada até aquele momento. Na intensificação, será feita uma nova busca,
com base nos pontos que se encontram dentro do quadrado centrado em p(271,121).
O GraCOS foi implementado na linguagem C++, utilizando-se para isto o compilador C++
Builder.
11
Procedimento Gerar_Permutações;
INPUT: n;
OUTPUT: P (uma permutação de J)
exemplo dado anteriormente (n=4) teríamos S1={<1234>, <1243>, <1324>, <1423>, <1342>,
<1432>}, S2={<2134>, <2143>, <3124>, <4123>, <3142>, <4132>} S3={ <2314>, <2413>,
<3214>, <4213>, <3412>, <4312>}, S4 ={ <2341>, <2431>, <3241>, <4231>, <3421>, <4321>.
A figura 3, abaixo, ilustra a partição do conjunto S para o caso geral.
Assim, podemos ver que se tivermos Pt = (k/2)(v/2) = (k*v)/4 pontos, então isto implica
que teremos R = (n-1)! / Pt soluções (permutações) associadas a cada ponto, ou seja, no
exemplo mostrado tem-se Pt=12 e R=10. Quando (n-1)!/Pt não for um número inteiro tem-se que
o último ponto conterá um conjunto com um número de soluções igual ao resto da divisão de (n-
1)! por Pt, ou seja, o último ponto terá (n-1)! Mod Pt soluções associadas. Para identificarmos as
coordenadas (x, y) de um ponto na janela gráfica far-se-á x= x1/2 e y= y1/2 , onde x1 e y1 são
as coordenadas de pixel da janela gráfica, por exemplo: o ponto (2,1) corresponde a qualquer uma
das coordenadas de pixel (4,2), (4,3), (5,2) ou (5,3). Cada ponto corresponde a um número
natural ordenado da esquerda para a direita e de cima para baixo, iniciando em zero e finalizando
em ((k-1)/2 * (v/2) + (v-1)/2). O ponto de coordenada (x, y) corresponde ao número natural y
* (v/2) + x. Vale ressaltar que os valores de k e v dependem do valor de n, com o intuito de evitar
que algum ponto fique sem pelo menos uma solução do problema associado com o mesmo ((k*v)
≤4*(n-1)!).
Dentro desta abordagem, para algum Si, 1≤i≤n, temos que o intervalo para os valores de α
estão compreendidos entre (i-1)((n-1)!) + Rw (limite inferior) e (i-1)((n-1)!) + R(w+1) - 1 (limite
superior), para o ponto de número w. Caso (n-1)!/Pt não seja um número inteiro, então o limite
superior para o intervalo de α, do maior valor de w, será (i((n-1)!)-1. A tabela 2, dada a seguir,
15
mostra os 12 pontos da Figura 4 com suas respectivas soluções, para S4, que correspondem aos
intervalos dos números α.
Ponto α Ponto α
0 360, ..., 369 6 420, ..., 429
1 370, ..., 379 7 430, ..., 439
2 380, ..., 389 8 440, ..., 449
3 390, ..., 399 9 450, ..., 459
4 400, ..., 409 10 460, ..., 469
5 410, ..., 419 11 470, ..., 479
Tabela 2: Soluções de S4 associadas com os pontos da figura 4, com base em α
CAPÍTULO 4
EXPERIMENTOS COMPUTACIONAIS
Instância 1
4
Desvio
2
1
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 2
8
7
6
5
Desvio
4
3
2
1
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 3
20
15
Desvio
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 4
14
12
10
Desvio
8
6
4
2
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 5
7,0000
6,0000
5,0000
Desvio
4,0000
3,0000
2,0000
1,0000
0,0000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 6
12
10
8
Desvio
6
4
2
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 7
8
7
6
5
Desvio
4
3
2
1
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 8
14
12
10
Desvio
8
6
4
2
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 9
16
14
12
10
Desvio
8
6
4
2
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
Instância 10
16
14
12
10
Desvio
8
6
4
2
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Iteração
18
16
14
Desvio Médio
12
10
8
6
4
2
0
1 2 3 4 5 6 7 8 9 10
Instância
Com relação ao desvio médio, observa-se um desvio médio geral mínimo para a instância
2 e um máximo para a instância 3.
22
Instância 31
6
5
4
Desvio
3
2
1
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
Iteração
Instância 32
9
8
7
6
Desvio
5
4
3
2
1
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
Iteração
Instância 33
12
10
8
Desvio
4
2
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
Iteração
Instância 34
10
6
Desvio
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
Iteração
Instância 35
9
8
7
6
Desvio
5
4
3
2
1
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
Iteração
8
7
6
Desvio Médio
5
4
3
2
1
0
31 32 33 34 35
Instância
Instância 61
4,5
4
3,5
3
Desvio
2,5
2
1,5
1
0,5
0
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97
Iteração
Instância 62
5,4
5,2
5
Desvio
4,8
4,6
4,4
4,2
4
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97
Iteração
Instância 63
5
4
Desvio
3
2
1
0
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97
Iteração
Instância 64
7
6
5
Desvio
4
3
2
1
0
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97
Iteração
Instância 65
5,8
5,6
5,4
Desvio
5,2
5
4,8
4,6
4,4
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97
Iteração
6
5
Desvio Médio
4
3
2
1
0
61 62 63 64 65
Instância
Histograma
"15-20"
Variações em %
"10-15"
"5-10"
"0-5"
0 2 4 6 8 10
Número de instâncias
Pode-se dizer portanto que a maioria das instâncias analisadas encontra-se com um valor
de desvio médio entre 5 e 10%.
29
CAPÍTULO 5
CONCLUSÃO
REFERÊNCIAS BIBLIOGRÁFICAS
Gupta J. N.D., Stafford E. F. Jr. Flowshop scheduling research after five decades. European
Journal of Operational Research 169, 699–711, 2006.
RUIZ R., MAROTO C., ALCARAZ J.. Two newrobust genetic algorithms for the flowshop
scheduling problem. The International Journal of Management Science, 2004.