GRASP Aplicado Ao Problema de Alocaç ˜ao de Berços em

Propaganda
JIM 2014 - V Jornada de Informática do Maranhão
GRASP Aplicado Ao Problema de Alocação de Berços em
Terminais Portuários Graneleiros
Igor L. C. Lima1 , Dayson Nywton C. R. do Nascimento1
Marcelo B. do Nascimento1 ,
Alexandre C. Muniz de Oliveira1
1
Departamento de Ciência da Computação – Universidade Federal do Maranhão (UFMA)
São Luis, Brasil
[email protected]
Abstract. In port terminals, ship’s awaiting time is one of the main operational
problems that may apply. Assigning a ship to an available berth is a decision
which considers specific elements such as loading/unloading time, stock in the
port’s yard, fines for delays, and tide changes. In order to better use the resources offered by the port, the sequence of berths assigned to each ship must
be planned. That planning is based on a queue of ships with their arrival time.
To solve it, it is defined a sequence of ships to be allocated to a berth and the
result is: less time of total operation, considering loading/unloading and awaiting time. In this paper presents the meta-heuristic GRASP (Greedy Randomized
Adaptive Search Procedure) as a minimizing solution to the problem. The results
show that the GRASP is a robust algorithm to solve this problem.
Resumo. Em terminais portuários, o tempo de espera dos navios é um dos principais problemas operacionais identificados. Atracar o navio em um berço disponı́vel é uma decisão que leva em conta fatores como: seu tempo de carga/
descarga, estoque no pátio, multas sobre atrasos, além de influência de marés.
O planejamento, para melhor aproveitamento de recursos do porto, baseia-se
na ideia da existência de uma fila de navios, onde são conhecidos os seus tempos aproximados de chegada. Resolver o problema é definir uma sequência
de atracação que resulte em menor tempo de operação total do porto, levando
em consideração os tempos de carga/descarga e espera. Este artigo propõe
a utilização da meta-heurı́stica GRASP (Greedy Randomized Adaptive Search
Procedure) como solução de minimização do tempo total de serviço que o navio passa no atendimento do berço. Os resultados mostram que o GRASP é um
algoritmo robusto para resolver esse problema.
1. Introdução
No Maranhão, o complexo portuário marı́timo de São Luı́s, formado pelos terminais do
Itaqui, Ponta da Madeira e da ALUMAR (Consórcio de Alumı́nio do Maranhão) são
responsáveis pela segunda maior movimentação de carga no Brasil. A ALUMAR movimenta matérias primas como coque, piche, soda e bauxita, empregados no processo de
produção de alumina e alumı́nio. A mineradora Vale, por sua vez, detém a administração
do terminal da Ponta da Madeira por onde é exportado minério de ferro proveniente da
jazida da Serra de Carajás. Além desses, o Porto do Itaqui, administrado pela Empresa
JIM, 2014. ISSN: 2358-8861
JIM 2014 - V Jornada de Informática do Maranhão
Maranhense de Administração Portuária (EMAP), movimenta vários tipos de cargas, tais
como: derivados de petróleo, fertilizante, manganês, ferro gusa, e soja [Barros 2010].
Os portos tem importante valor na competição econômica entre os paı́ses. É pelas
águas marinhas que se escoa mais da metade da produção mundial. Os navios tendem a
aumentar de capacidade com o avanço da tecnologia, exigindo que os portos se adequem
cada vez mais a esses avanços. É nesse cenário que surge a necessidade de explorar a
maior capacidade possı́vel do porto e a diminuição dos custos de espera e manutenção
[Silva 2008]. O porto ideal seria capaz de atender navios de grande porte, com alto nı́vel
de mecanização, oferecendo fluidez ao transporte e elevada produtividade [Barros 2010].
Os complexos portuários de todo o mundo tem por objetivo fundamentalmente
realizar carga e descarga de navios em locais para tais propósitos conhecidos como berços
[Barros 2010]. Para essas operações acontecerem com eficiência, existe uma série de
equipamentos que precisam estar disponı́veis e condições que precisam ser cumpridas.
O Problema de Alocação de Berços (PAB) consiste em minimizar o tempo total das operações no porto. Dada uma fila de navios e conhecidos os seus tempos estimados de chegada, o problema se resume a definir uma sequência de atracação que
resulte no menor tempo de serviço de cada navio. Este trabalho tem por objetivo propor
a meta-heurı́stica GRASP para a resolução do PAB, com condições restritas ao complexo
portuário do Itaqui.
O restante deste trabalho está organizado da seguinte forma: o Problema de
Alocação de Berços é descrito na Seção 2; na Seção 3 é apresentado o GRASP e como
ele foi aplicado ao PAB; os resultados são discutidos na Seção 4; e na Seção 5 são tiradas
algumas conclusões em relação a utilização do GRASP para este problema.
2. Problema de Alocação de Berços
O problema de alocação de berços com restrição de estoque foi modelado levando em
consideração a quantidade de navios N e a quantidade de marés L, com base em uma
análise discreta do tempo em relação a janelas de horizonte M chamadas de Tidal Time
Windows (TTW), como mostra a Figura 1.
A fundamentação matemática foi baseada no modelo de heterogeneidade dos
berços [Barros 2010], onde cada berço tem uma velocidade de atendimento diferente nas
operações com os navios. Este fator de heterogeneidade está diretamente ligado à infraestrutura dos berços, pois diferentes estruturas resultam em vazões ou velocidades de
atendimentos diferentes.
Nesse modelo, “o objetivo é minimizar o custo acumulado sobre todas as
operações em um horizonte de planejamento dado. Sendo assim, apenas o tempo
de serviço total é utilizado, obtido com base na utilização de TTW’s por cada
navio”[Barros 2010].
A função objetivo consiste em minimizar os tempos de serviço de cada navio,
como mostra a fórmula a seguir:
min
N X
M X
L X
j − ai + 1
i=1 j=ai l=1
JIM, 2014. ISSN: 2358-8861
hij
× yijl
(1)
JIM 2014 - V Jornada de Informática do Maranhão
Figura 1. Demonstração do PAB. [Barros 2010]
Onde:
•
•
•
•
N : número de navios, n = |N |;
M : número de TTW’s, m = |M |;
L: conjunto de posições de atracação, l = |L|
ai : TTW de chegada do navio i;
A variável de decisão assume os seguintes valores:
1, se o navio i estiver alocado na T T W j e atracado no berço l
yijl =
0, de outra f orma
Na modelagem do problema é utilizado um parâmetro que consiste no tempo de
processamento de um navio em um berço, representado pela variável hil , que é descrito
da seguinte forma:
& P|Q|
hil =
q=1 wiq
vl
'
(2)
No qual vl representa o tempo de carregamento/descarregamento
[Fernandes 2001] no berço l, Q representa a quantidade total de materias-primas
operadas no porto e wiq a quantidade de matéria-prima q em um navio i.
3. GRASP
O GRASP é aplicado em problemas de otimização combinatória onde cada iteração consiste em duas fases: a construção de uma solução inicial de forma gulosa, aleatória e adaptativa e um procedimento de busca local que tem o objetivo de aprimorar a solução gerada na primeira fase [Gonçalves 2004]. Apesar de semelhante a várias outras heurı́sticas
gulosas, o GRASP diferencia-se pela geração da primeira solução aleatória, que é realizada por algum tipo de construção randômica gulosa ou algum esquema de perturbação
[Freddo 2008].
JIM, 2014. ISSN: 2358-8861
JIM 2014 - V Jornada de Informática do Maranhão
O GRASP, apesar de ser uma heurı́stica gulosa, ainda tem sido muito utilizado para resolver grandes problemas de otimização combinatória, sendo, segundo
[Lopes 2013], responsável por produzir algumas das melhores soluções conhecidas para
muitos problemas. Outro ponto importante é a fácil implementação da meta-heurı́stica,
que necessita de apenas dois parâmetros iniciais ι e α, sendo ι responsável pelo número
de iterações e α pela taxa de “gulosidade” do esquema construtivo. Segue um esquema
do pseudo algoritmo GRASP.
Para aplicar o GRASP ao PAB, é necessário que se definam os esquemas de busca
local e a heurı́stica gulosa a ser utilizada. A seguir, serão abordados os tópicos referente
a aplicação do algoritmo exposto no trabalho ao problema.
Algoritmo 1: GRASP
1
2
3
4
5
enquanto h o u v e r n a v i o s a s e r e m a l o c a d o s f a ç a
x <− g e r a S o l u ç ã o A l e a t ó r i a G u l o s a ( ) ;
buscaLocal ( x ) ;
s e x < x ∗ e n t ã o
x ∗ <− x ;
3.1. Algoritmo Construtivo Guloso Aleatório
O GRASP se utiliza de uma heurı́stica aleatória e gulosa para a construção da solução
inicial. Existem várias formas de se chegar a uma boa heurı́stica para um dado problema,
uma delas é a Construção Semigulosa proposta por [Lopes 2013]. Essa construção foi
escolhida pela fácil adaptação ao problema aqui tratado, porém outras construções são
sugeridas pelo mesmo autor. A Construção Semigulosa é uma heurı́stica baseada em uma
lista restrita de candidatos chamada de LRC. O algoritmo funciona da seguinte forma:
a cada iteração um novo elemento, dentre os mais promissores, é adicionado à solução,
alterando dessa forma o cenário; novamente são estimados os pesos dos candidatos e um,
dentre os mais promissores, é adicionado à solução. A construção é adaptativa por se
tratar de um algoritmo que calcula novos pesos para cada nova inserção de candidato,
redefinindo assim os valores e pesos, e adaptando-se ao problema. É aleatória porque o
próximo candidato a entrar na lista é escolhido aleatoriamente dentre os mais promissores.
Uma função avaliadora estima o peso de todos os candidatos da LRC baseado no
impacto que irá causar ao entrar na solução naquele ponto da construção. Após avaliar
cada candidato, é feita uma seleção aleatória, onde o parâmetro α é o ponto de corte
dessa seleção. Estarão aptos a entrar na solução somente os α primeiros candidatos da
lista. Esse parâmetro, como já dito anteriormente, determina a “gulosidade” do algoritmo.
O termo semiguloso é aplicado devido ao fato de o algoritmo utilizar-se de uma função
estimadora, um percentual de corte e uma lista restrita. Portanto, por mais que seja guloso,
o algoritmo utiliza-se de uma estratégia para fugir de soluções muito ruins. Um esquema
do pseudo algoritmo da construção gulosa é mostrado a seguir.
Algoritmo 2: Algoritmo Construtivo Guloso Aleatório
1
2
3
4
enquanto l i s t a de c a n d i d a t o s n ã o f o r v a z i a f a ç a
a v a l i a C a n d i d a t o s (C ) ;
c i = s e l e c i o n a A l e a t o r i a m e n t e U m C a n d i d a t o (C ) ;
a d i c i o n a C a n d i d a t o N a S o l u ç ã o ( c i ) ;
JIM, 2014. ISSN: 2358-8861
JIM 2014 - V Jornada de Informática do Maranhão
Para aplicar a Construção Semigulosa ao PAB é necessário que se defina a função
avaliadora que será capaz de estimar pesos para os candidatos da LRC. Sendo assim, a
função avaliadora para este trabalho baseia-se na quantidade de carga trazida por cada
navio relacionada às marés crı́ticas de suas matérias.
Entende-se como um bom navio a entrar na solução aquele que traz maior quantidade de matéria e o consumo dessa matéria pelo porto é alto. Além disso, um esquema de
matérias crı́ticas é tratado no algoritmo. A criticidade de uma matéria prima é calculada
em função de seu estoque atual e o consumo. A cada TTW um consumo pelo porto é realizado sobre as matérias no estoque. Em uma determinada TTW o consumo da matéria irá
superar o seu nı́vel de estoque, resultando no que aqui é chamada de maré crı́tica. Todas
as matérias terão uma maré crı́tica, que é aquela TTW em que a quantidade da matéria
estará em um nı́vel abaixo do requerido pelo porto. Para cada navio é estimada, no caso
de trazer mais de uma matéria, a sua maré mais crı́tica. Portanto, o potencial de entrada
do navio na construção semigulosa é avaliado como um fator proporcional à criticidade
da matéria da carga trazida por ele. O potencial do navio aumenta com a proximidade da
maré (tempo) na qual o estoque atinge o valor mı́nimo (maré crı́tica). A seguir, está definida a função avaliadora, onde d é a distância da maré de chegada do navio à maré crı́tica
da matéria prima que ele carrega, e e é a quantidade de carga trazida por ele. Vale ressaltar
que g(ck ) avalia a matéria k de cada navio resultando em pesos diferentes quando o navio
estiver carregado com mais de uma matéria. Nesse caso, aquela matéria que apresentar
maior peso determinará o peso total do navio.
1
g(ck ) = ¯ × e
d
(3)
3.2. Busca Local
Um esquema de busca local pode ser definido como uma estrutura de vizinhança, onde
cada vizinho é obtido por um movimento na solução [Freddo 2008]. Esses movimentos
podem ser pequenas alterações na solução, como relata [Lopes 2013]. A busca local parte
de um ponto no espaço de solução à procura de soluções vizinhas melhores que a atual
onde, encontrada uma solução melhor, a busca reinicia recursivamente sobre a mesma.
Algoritmo 3: Busca Local
1
2
enquanto e x i s t i r s p e r t e n c e n t e a N( t ) t a l que f ( s ) < f ( t ) f a ç a
t <− s ;
No caso especı́fico do PAB, um esquema de busca local é definido como movimentos de trocas ou alterações no vetor solução. Dada uma solução, buscar um vizinho
desta significa alterar posições de navios ou trocar berços entre dois ou mais navios. Esses
movimentos produzem outras soluções que podem ser melhores ou piores que a solução
corrente. Outros esquemas de buscas locais mais elaborados podem ser tratados no PAB,
mas este não é o enfoque deste trabalho.
JIM, 2014. ISSN: 2358-8861
JIM 2014 - V Jornada de Informática do Maranhão
4. Resultados
Para concluir e confirmar as pesquisas deste trabalho, foi necessária a realização de diversos testes com instâncias do PAB. Os resultados consolidaram a heurı́stica gulosa, que
se mostrou efetiva e apresentou boas soluções, conseguindo alcançar a solução ótima em
muitos casos. O esquema de construção gulosa gerou boas soluções iniciais. Além disso,
o procedimento de busca local mostrou-se robusto e bastante eficiente na exploração do
espaço de busca.
Tabela 1. Resultados computacionais obtidos por Greedy Randomized Adaptive
Search Procedure (GRASP).
Instância
10-15-3A
10-15-4A
10-15-4B
10-20-3A
10-20-3B
10-25-2A
10-25-2B
15-20-4A
15-25-3A
15-30-2A
15-30-4A
15-35-3A
15-40-2A
20-40-3A
20-40-4A
20-55-2A
30-70-4A
30-75-3A
30-80-2A
Navios Berços
10
10
10
10
10
10
10
15
15
15
15
15
15
20
20
20
30
30
30
3
4
4
3
3
2
2
4
3
2
4
3
2
3
4
2
4
3
2
TTW’s Ótimo
15
15
15
20
20
25
25
20
25
30
30
35
40
40
40
55
70
75
80
31
29
21
44
27
43
33
40
55
77
86
121
107
108
297
208
-
Média
31
30
21
44
27
44
83
40
55
110
77,93
87,2
125
110,46
108,26
319,7
208,86
216,76
809,26
Desvio
Ótimo
Taxa
Padrão (GRASP)
0
31
1
0
30
0
0
21
1
0
44
1
0
27
1
0
44
1
0
83
1
0
40
1
0
55
1
0
110
0,26
77
0,066
0,81
86
0,233
0
125
0
0,74
109
0
0,46
108
0,733
1,52
317
0
1,97
206
1,87
212
0
30,81
772
-
As instâncias do problema têm tamanhos variados para avaliar de maneira adequada a performance do algoritmo, sendo essas compostas por dados de entrada baseados
em estimativas de condições reais do porto. Para a produção dessas instâncias foram
tomados horizontes de planejamentos previamente estudados e estruturados, que possibilitassem a resolução computacional com o ideal de aproximar os dados tratados pelo algoritmo do cenário real. Os resultados ótimos conhecidos foram obtidos por programas solucionadores comerciais, porém algumas instâncias possuem valores ótimos desconhecidos,
como no caso das instâncias “15-30-2A”,“30-70-4A” e“30-80-2”. A tabela de resultados
(Tabela 1) abaixo foi obtida após a execução do algoritmo, fazendo uso das instâncias
citadas acima. Além disso, apresenta dados como média - resultado médio alcançado taxa - porcentagem de resultados econtrados igual ao ótimo - e ótimo (GRASP) - melhor
(e consequentemente menor) valor encontrado por esse algoritmo para aquela instância.
Essas informações são necessárias uma vez que o GRASP é um algoritmo estocástico,
JIM, 2014. ISSN: 2358-8861
JIM 2014 - V Jornada de Informática do Maranhão
gerando, dessa forma, soluções variadas em cada iteração e que serve, portanto, para que
se verifique o quão eficaz ele se mostrou.
Os tempos de execução foram abaixo do estipulado para a heurı́stica, que é de
3600 segundos, e cada instância foi executada trinta vezes.
5. Conclusão
Este artigo apresentou uma metodologia de resolução de problemas de otimização combinatória tomando o PAB como objeto de estudo e aplicação do método (GRASP). Foram tratados os cenários do problema, bem como o algoritmo e esquema utilizados na
resolução do mesmo. Os resultados do algoritmo mostraram-se bons reflexos da heurı́stica
gulosa proposta pelo problema, bem como do esquema de busca local e atribuição de pesos aos navios.
O presente trabalho pode ainda estender-se visto que grandes instâncias do
PAB ainda podem ser resolvidas pelo GRASP. Algumas mudanças na busca local e na
heurı́stica gulosa podem trazer resultados ainda melhores, como a dissolução da função
objetivo no algoritmo, que seria dar o fitness da solução em tempo de construção da
mesma. Até o presente trabalho as pesquisas não avançaram devido a complexidade dos
estudos. Pode-se ainda testar as variações de GRASP que tiveram bons resultados em
outros trabalhos, como cita [Lopes 2013].
Outro ponto importante a ser ressaltado é a melhoria na geração da solução inicial.
Foi constatado que se houver um método para unir a heurı́stica gulosa à função objetivo,
podem-se obter soluções que se utilizam de táticas para um melhor ordenamento dos
navios, bem como atrasar um navio para gerar um ganho na solução total.
O GRASP conseguiu mostrar a eficiência da metaheurı́sitica para resolver problemas de otimização linear, uma vez que produziu soluções muito boas e com baixo custo
computacional.
Referências
Barros, V. H. (2010). Problema de alocação de bercos em portos graneleiros com restricão
de estoque e condições favoraveis de maré. Dissertação (Mestrado em Engenharia
Elétrica), UFMA, São Luis, MA.
Fernandes, M. G. (2001). Modelo econômico-operacional para análise e dimensionamento de terminais de contêineres e veı́culos, USP, São Paulo.
Freddo, A. R., . B. R. C. (2008). Implementação da metaheurı́stica grasp para o problema
do caixeiro viajante simétrico, Universidade Federal do Paraná.
Gonçalves, L. B., M. S. L. . O. L. (2004). Uma heurı́stica grasp para o problema do
caixeiro viajante periódico. Anais do XXXVI SBPO.
Lopes, H. S., R. L. C. . S. M. T. (2013). Meta-heurı́sticas em pesquisa operacional.
Omnipax, Curitiba, PR.
Silva, V. M. (2008). Um modelo heurı́stico para alocação de navios em berços.
Dissertação (Mestrado em Engenharia Elétrica), USP, São Paulo.
JIM, 2014. ISSN: 2358-8861
Download