Journal of Transport Literature Vol. 7, n. 3, pp , Jul Research Directory

Documentos relacionados
V SEMINÁRIO E WORKSHOP EM ENGENHARIA OCEÂNICA Rio Grande, 07 a 09 de Novembro de 2012

UM MÉTODO HEURÍSTICO PARA A PROGRAMAÇÃO DE ALOCAÇÃO DOS NAVIOS EM BERÇOS

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Heurística baseada no Simulated Annealing aplicada ao problema de alocação de berços

4 Métodos Existentes. 4.1 Algoritmo Genético

Uma Introdução à Busca Tabu André Gomes

Problemas de otimização

Buscas Informadas ou Heurísticas - Parte III

Flávia Barbosa UNICAMP Antônio Carlos Moretti UNICAMP

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

Busca Guiada por Agrupamentos aplicada à Alocação de Berços em Portos com Restrições de Navegabilidade

5 VNS com Filtro e Reconexão por Caminhos

2. MÉTODO DE RECOZIMENTO SIMULADO

RESOLUÇÃO DO PROBLEMA DE ALOCAÇÃO DE BERÇOS ATRAVÉS DE UMA TÉCNICA DE GERAÇÃO DE COLUNAS

Recozimento Simulado (Simulated Annealing)

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

3 Extensões dos modelos matemáticos

3. Resolução de problemas por meio de busca

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 04 Prof. Vitor Hugo Ferreira

Heurística VNS para o problema do corte de rotulação mínima

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Um Algoritmo Simulated Annealing Eficiente para o Problema de Roteamento de Veículos com Janela de Tempo

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

2. Descrição do problema

Grafos e Caminhos Mínimos na Modelagem e Determinação de Custos Improdutivos em Alocação de Frotas no Transporte Coletivo de Passageiros

Logística e Planejamento de Operações em Terminais de Portuários (PROPOR) Coordenador: Alexandre César Muniz de Oliveira

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

Pesquisa Operacional Aplicada à Mineração

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

COMO FUNCIONA A SIMULAÇÃO

COMO FUNCIONA A SIMULAÇÃO

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO

6 ESCALONAMENTO DE CPU

SSC546 -Avaliação de Desempenho de Sistemas

GRASP Aplicado Ao Problema de Alocação de Berços em Terminais Portuários Graneleiros

Um algoritmo pseudo-periférico genérico para a heurística de Snay

APLICAÇÃO DE META-HEURÍSTICAS À ENGENHARIA DE PRODUÇÃ O

PRODUTO EDUCACIONAL JARDEL SANTOS CIPRIANO. Orientador: Prof. Dr. Ivan Marcelo Laczkowski

Um Estudo Empírico de Hiper-Heurísticas

Iterated Local Search. Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Construção de um protótipo de framework

Pesquisa Operacional. Introdução à Pesquisa Operacional

UM ALGORITMO HEURÍSTICO PARA O PROBLEMA DE GERENCIAMENTO DE ESCALA OPERACIONAL DE CONTROLADORES DE TRÁFEGO AÉREO

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Otimização discreta Modelagem com variáveis binárias: problemas clássicos

Otimização Combinatória - Parte 4

HEURÍSTICA PARA A RESOLUÇÃO DO PROBLEMA DE ALOCAÇÃO DE NAVIOS EM BERÇOS USANDO ALGORITMOS GENÉTICOS

Optimização Não-linear

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH

Exemplo do jogo dos fósforos Terça-feira, 9 de maio. Exemplo para o Problema do Corpo de Bombeiros. Exemplo: Localidade do Corpo de Bombeiros

Aula 13: Branch-and-bound

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1

1 Introdução 1.1 Motivação

6 Experimentos realizados

Um Estudo Empírico de Métodos Hiper-Heurísticos

Tópicos em Métodos Heurísticos META-HEURÍSTICAS

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Linear para o Problema de Escalonamento de Workflows em Múltiplos Provedores de Nuvem

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS

Problema de Roteamento de Veículos com Tempos Adicionais em Fronteiras

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa

PCC173 - Otimização em Redes

4 Implementação Computacional

Algoritmos Genéticos

4 Metáforas de Optimização

3 Decisões de Localização de Instalações

4 Descrição do modelo matemático proposto

HEURÍSTICAS HÍBRIDAS PARA O PROBLEMA DE ALOCAÇÃO DE BERÇOS PARA NAVIOS E PARA UM PROBLEMA DE AGRUPAMENTOS

Uma nova abordagem para o problema dial-a-ride

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Busca Tabu. Marcone Jamilson Freitas Souza. Universidade Federal de Ouro Preto

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

7. Resultados. 7 MATLAB é um produto da The MathWorks, Inc.

Planejamento para fundições: uma aplicação do método das K-melhores mochilas. 1 Introdução

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares

7 Desempenho dos Algoritmos de uma Classe de Usuários em Relação à Distribuição que Representa o Tempo de Permanência do Usuário na Célula

PCC104 - Projeto e Análise de Algoritmos

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

META-HEURÍSTICA SIMULATED ANNEALING APLICADA AO PROBLEMA DO ROTEAMENTO DE VEÍCULOS CAPACITADOS COM RESTRIÇÕES DE CARREGAMENTO BIDIMENSIONAL

Um Estudo da Aplicação de Heurísticas Construtivas e de Melhoramento para um Problema de PRV

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Optimização Não-linear

PESQUISA OPERACIONAL APLICADA A LOGÍSTICA

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

Otimização por Colônia de Formigas (ACO)

Modelagem de um sistema informatizado de calculo de rotas logísticas com algoritmo de busca heurística Elias Vidal Bezerra Junior 1

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

1. Computação Evolutiva

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

Transcrição:

B T P S Brazilian Transportation Planning Society Journal of Transport Literature Vol. 7, n. 3, pp. 117-136, Jul. 2013 Research Directory JTL RELIT www.transport-literature.org ISSN 2238-1031 Simulated annealing aplicado ao problema de alocação de berços [Simulated annealing applied to the berth allocation problem] Merhy Heli Paiva Rodrigues*, Catia Maria dos Santos Machado, Milton Luiz Paiva de Lima Universidade Federal do Rio Grande - FURG - Brazil Submitted 31 May 2012; received in revised form 3 Oct 2012; accepted 16 Nov 2012 Resumo Este trabalho apresenta uma heurística baseada no Simulated Annealing para resolver o Problema de Alocação de Berços. Esse problemaabordaaprogramaçãoeaalocaçãodenaviosàsáreasdeatracaçãoaolongodeumcais.oproblemaémodeladocomo um Problema de Roteamento de Veículos com Múltiplas Garagens e Janelas de Tempo. Para aplicação do Simulated Annealing foi desenvolvido um software, possibilitando realizar cenários mais próximos das atividades praticadas nos portos. Os resultados computacionais são obtidos através de problemas testes com dados reais do Terminal de Contêineres Tecon Rio Grande. Palavras-Chave: roteamento, alocação, simulated annealing, portos. Abstract This work presents a Simulated Annealing based heuristic to solve the Berth Allocation Problem. This problem approaches the programming and allocation of ships to mooring areas along a quay. The problem is modeled as a Multi-Depot Vehicle Routing Problem with Time Windows. For application of Simulated Annealing, software was developed, enabling scenarios closest to perform activities practiced in ports. The computational results are obtained through test problems with real data from the Container Terminal Tecon Rio Grande. Key words: routing, allocation, simulated annealing, ports. * Email: merhyheli@hotmail.com. Recommended Citation Rodrigues,M.H.P.,Machado,C.M.S.andLima,M.L.P.(2013)Simulatedannealingaplicadoaoproblemadealocaçãodeberços. Journal of Transport Literature, vol. 7, n. 3, pp. 117-136. JTL RELIT is a fully electronic, peer-reviewed, open access, international journal focused on emerging transport markets and published by BPTS - Brazilian Transport Planning Society. Website www.transport-literature.org. ISSN 2238-1031. This paper is downloadable at www.transport-literature.org/open-access.

Introdução O comércio internacional tem assumido proporções significativas, merecendo destaque os volumes transportados pelo modal marítimo, uma vez que uma significativa porcentagem das operações de comércio internacional é realizada com o uso desta modalidade de transporte. Portanto, os portos desempenham um papel muito importante sendo como um elo entre os modais terrestre e marítimo. (Vieira, 2006) Segundo Arruda e Bastos (2000) um porto eficiente, e operacionalmente eficaz, cuida não só de estabelecer tarifas justas e competitivas, mas responde também a ótica dos clientes, para os quais o que realmente interessa é o custo total e a eficiência da operação portuária. Para Fleury (1998), nos portos estão as maiores oportunidades para redução dos custos de transporte, também nos portos começam a aparecer resultados em relação às reduções de preços e melhoria dos serviços. Dessa forma, buscam-se ferramentas que auxiliem na tomada de decisão de maneira a atender o crescimento da demanda de navios sem que haja aumento de custos, seja por demora no atendimento ou ineficiência da operação. Assim, a busca por uma logística de modo a minimizar o tempo de espera e atendimento dos navios motivou o surgimento do problema portuário que aborda a programação e a alocação de navios às áreas de atracação ao longo de um cais. Na literatura o problema é conhecido como Problema de Alocação de Berços (PAB) e consiste em alocar navios a posições de atraque de forma que seja utilizado o máximo de espaço do cais minimizando o tempo de serviço. Conforme Guan e Cheung (2004), o PAB pode ser descrito como um problema que consiste em atribuir os navios que chegam a um determinado porto aos berços, de modo que cada navio seja alocado em um berço em um período de tempo para realizar as atividades de carga e descarga de mercadorias com o intuito de reduzir os custos operacionais. Diversos estudos e técnicas são encontrados na literatura relacionados ao dimensionamento de berços de atracação compatível com uma demanda esperada de embarcações e também em relação à análise operacional de sistemas portuários. Há estudos que buscam o JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 118

balanceamento entre o custo operacional dos berços e o custo de espera dos navios (Fernandes, 2001). Para Cordeau et. al (2005) as principais decisões a serem tomadas neste processo envolvem a escolha de onde e quando os navios deverão atracar. Dessa forma, foi realizado um estudo detalhado do modelo desenvolvido por Mauri et. al. (2008) e dos fundamentos matemáticos da técnica Simulated Annealing (SA) sobre o trabalho de Mauri et. al. (2008) e Cordeau et. al (2005). Os resultados obtidos por Mauri et. al. (2008), a partir de testes gerados aleatoriamente por Cordeau et al. (2005), mostraram soluções de qualidade em tempo de processamento expressivamente baixo. No entanto, como o próprio autor sugere seria interessante se o modelo e a técnica SA fossem testados em problemas reais encontrados em portos brasileiros. Nesse sentido, o trabalho proposto teve como objetivo aplicar o modelo desenvolvido por Mauri et. al. (2008) em um Terminal de Contêineres, bem como desenvolver um aplicativo dinâmico de alocação de navios aos berços utilizando a técnica Simulated Annealing, diferenciando-se dos demais estudos encontrados, possibilitando realizar cenários mais próximos das atividades praticadas nos portos. O aplicativo desenvolvido possibilita utilizar uma interface para, através de menus, controlar e variar parâmetros, executar o modelo, além de inspecionar os resultados que vão sendo obtidos durante o processo de minimização da função objetivo. Além disso, permitirá ao usuário a simulação de cenários para regras de atracação. A facilidade de implementação e principalmente a robustez das técnicas SA na resolução do problema de alocação e programação de navios a berços poderá ser observada a partir dos cenários construídos sobre os dados reais do Terminal de Contêineres do Porto do Rio Grande. Nos últimos anos a inclusão de ferramentas de otimização em simuladores tem-se tornado tendência. Nessas iniciativas, observa-se a inclusão de algoritmos aproximativos ou heurísticos, bem como o acoplamento de ferramentas de simulação com ferramentas de otimização (Cassel e Vaccaro, 2007). Este trabalho está subdividido da seguinte forma: na Seção 1 será apresentada a modelagem e a formulação matemática do problema de acordo com os estudos de Mauri et. al. (2008) e JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 119

Cordeau et al. (2005), com o intuito da investigação e compreensão. Na Seção 2 será apresentada a metodologia da técnica Simulated Annealing que consiste numa técnica de busca local probabilística e fundamenta-se numa analogia com a termodinâmica. Ainda nessa seção, é descrito os passos do algoritmo SA na resolução do problema específico de alocação de berços. Na Seção 3, é apresentada a operacionalização do aplicativo que fornece uma programação dos navios previstos para alocar em um determinado período de tempo, sendo esse desenvolvido com o auxílio do software Delphi, baseado em informações prévias sobre o horário de chegada dos navios ao porto em um período de tempo determinado. Na Seção 4, são apresentados os resultados computacionais da alocação de navios aos berços, no período de 1 mês, no Terminal de Contêineres Tecon do Porto do Rio Grande. Resultados computacionais sobre cenários de estudo, que consideraram outras restrições encontradas nas atividades portuárias, também são apresentados. 1. Modelagem e Formulação Matemática do Problema Neste trabalho, o Problema de Alocação de Berços (PAB) é tratado em sua forma discreta, onde o cais é dividido em um conjunto finito de berços, e a dimensão espacial é ignorada. Como observado por Legato et al. (2001), o PAB pode ser modelado como um Problema de Roteamento de Veículos com Garagens Múltiplas e Janelas de Tempo (ver Cordeau, 2001). Neste trabalho, o PAB é representado inicialmente através do modelo matemático proposto por Cordeau et al. (2005). Assim, no modelo PAB, os navios são tratados como clientes e os berços como garagens ou depósitos (cada um com seu veículo específico). Existem m veículos (uma para cada garagem), sendo que cada um inicia e termina sua rota na sua própria garagem. Os navios são modelados como vértices em um multigrafo (grafos que permitem arestas paralelas e laços), onde cada garagem (berço) ainda é dividida em um vértice de origem e um de destino. Esses vértices de origem e destino são criados no modelo a fim de fazer corresponder ao período de funcionamento dos berços. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 120

O modelo descrito por Cordeau et. al (2005), é tratado em sua forma discreta e pode ser representado por um multigrafo G k = (V k, A k ), k M, onde V k = N {o(k), d(k)}e A k V k x V k. A representação dos conjuntos, as variáveis e constantes utilizadas no modelo são descritos abaixo. N conjunto de navios; M conjunto de berços; {0,1} k M, (i,j) A k, se o navio j é atendido pelo berço k após o navio i; k M, i N é o horário que o navio i atru no berço k; k M, é o horário que o primeiro navio atracou no berço k; k M, é o horário que o último navio atracou no berço k; é a duração do atendimento do navio i no berço k; a i horário de chegada para o navio i; b i horário de término de janela de tempo ( horário limite do atendimento do navio) para o navio i; v i valor (custo) de tempo de serviço para o navio i; s k horário de abertura do berço k; e k horário de fechamento do berço k; M ij = max{ b i + a j, 0}, k M e (i,j) N. O modelo apresentado por Cordeau et al (2005) é formulado como: Minimizar: [ ] (1) Sujeito à: (2) (3) JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 121

(4) (5) ( ) (6) (7) (8) (9) (10) (11) A equação (1) representa a função objetivo que consiste em minimizar o tempo decorrido desde o momento em que os navios chegam, atracam e são atendidos, correspondendo ao custo total da alocação. A restrição (2) garante que cada navio é alocado somente a um único berço, onde o navio de índice j é atendido após o navio de índice i no berço k. A restrição (3) garante que somente um navio será o primeiro a ser atendido no berço k, ou seja, existe somente um navio de índice j que estará unido ao vértice de origem o(k). Analogamente a restrição (4) garante que um único navio também será o último a ser atendido no berço k, esse navio de índice i estará unido ao vértice de destino d(k). A restrição (5) garante a conservação de fluxo para os demais navios, ou seja, o atendimento para os navios alocados ao berço k, que deverão entrar e sair do respectivo berço k. A restrição (6) faz o cálculo do horário de atracação dos navios, estes precisam respeitar a capacidade dos berços. As restrições (7) e (8) garantem, respectivamente que o horário de atracação seja após a chegada dos navios e que o horário de término de atendimento do navio seja anterior ao horário limite do navio (janela de tempo). As restrições (9) e (10) garantem a não violação das janelas de tempo nos berços. Finalmente a restrição (11) garante que as variáveis de decisão sejam binárias. No entanto, no modelo proposto por Mauri et. al (2008) às restrições (7) e (8) são relaxadas, sendo transferidas para a função objetivo (13). De forma análoga, as restrições (9) e (10) também são transferidas para a função objetivo (14). As demais restrições são mantidas. Ainda na função objetivo são adicionados fatores de penalização w i para cada termo. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 122

O modelo apresentado por Mauri et al. (2008) é então formulado como: Minimizar ( ) (12) ( ) ( ( )) (13) ( ( ( ) ( )) ) (14) Sujeito à (15) (16) (17) (18) ( ) (19) (20) Segundo Mauri et al. (2008), nessa formulação o problema tem resolução menos árdua do que na formulação anterior e torna-se um problema de Roteamento de Veículos com Garagens Múltiplas Sem Janelas de Tempo. A solução inicial para o problema é gerada através de uma heurística de distribuição de berços e programação de navios. A heurística de distribuição de berços aos navios é aleatória, porém existe a necessidade de verificar se o berço selecionado poderá atender o navio em questão. Na heurística de programação são efetuados os cálculos de horário de atracação de cada navio e da função objetivo da solução (eq. (12), (13) e (14)). Como estruturas de vizinhanças são utilizados três movimentos de troca, esses movimentos JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 123

permitem reordenar, realocar e trocar navios, onde cada solução vizinha é gerada por apenas um desses movimentos, sendo essa escolha aleatória. 2. Medotologia 2.1 Simulated Annealing O Simulated Annealing é um algoritmo aproximativo de busca local proposto por Kirkpatrick et al. (1983), inspirado no processo físico de resfriamento de sólidos visando atingir formas bem definidas após o fim do processo. Começando com uma solução inicial, e armado com funções adequadas de perturbação e avaliação, o algoritmo executa uma busca parcial estocástica do espaço de soluções. Os movimentos que pioram a avaliação da solução corrente são aceitos ocasionalmente com uma probabilidade controlada por um parâmetro (T) chamado temperatura. A probabilidade da aceitação de movimentos de piora diminui à medida que T diminui. Na alta temperatura, a busca é quase aleatória, quando a temperatura é baixa a busca se torna bem gulosa. Na temperatura zero, a busca é totalmente gulosa, isto é, apenas os movimentos bons são aceitos. Segundo Becceneri, (2008), a técnica SA é uma estratégia de busca, podendo ser aplicada a diferentes problemas de otimização, que incorpora mecanismos que possibilitam sair de ótimos locais, permitindo a busca de soluções em regiões mais promissoras. O grande desafio e importância na sua aplicabilidade consistem em encontrar o equilíbrio entre a diversificação (exploração diversificada ou busca em largura) e intensificação (exploração focada ou busca em profundidade). 2.2 Descrição do Algoritmo SA para o PAB A metodologia SA é metáfora de um processo térmico, annealing ou recozimento, utilizado em metalurgia para obtenção de estados de baixa energia num sólido. Inicialmente, com o metal quente, as partículas possuem muita energia e podem se locomover aleatoriamente sem restrições. A partir do momento que a temperatura vai esfriando, as moléculas tendem a se acomodar na estrutura cristalina natural do material em uso. Esta acomodação é baseada no princípio de minimização da energia total do metal. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 124

Enquanto a temperatura é alta, mesmo atingindo uma região mais estável (melhor valor da função objetivo) ainda é possível um salto aleatório para qualquer outra posição. Estudos mostram que se a temperatura é resfriada lentamente, a estrutura final tende a ser a de menor energia, para ter, como resultado prático, uma redução dos defeitos do material, possibilitando atingir o ótimo global da função. Se a temperatura não for reduzida suficientemente lenta, um mínimo local poderá ser atingido. O SA é dotado de parâmetros como temperatura inicial, taxa de resfriamento e número máximo de iterações por grau de temperatura, que devem ser devidamente ajustados para a obtenção de bons resultados. A seguir apresenta-se o algoritmo SA implementado, de acordo com Mauri et al. (2008) para o problema de alocação em berços. 1. DADO (α, FAÇA 2. GERAR (uma solução S através da heurística de distribuição); 3. AVALIAR (a solução S através da heurística de programação); 4. ; {Melhor solução obtida até então} 5. IterT 0; { Número de iterações na temperatura T} 6. T ; {Temperatura corrente} 7. ENQUANTO ( FAÇA 8. ENQUANTO ( FAÇA 9. IterT IterT + 1; 10. GERAR (um vizinho qualquer através de um dos mov. de troca); 11. AVALIAR (a solução através da heurística de programação); 12. ; 13. SE ( ; 14. SE ( ; FIM SE 15. SENÃO 16. TOMAR (x [ ]); 17. SE (x ) ; FIM SE 18. FIM SE 19. FIM ENQUANTO 20. T ; IterT 0; 21. FIM ENQUANTO 22. ; 23. RETORNAR (S). JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 125

Discorreremos sobre as linhas do algoritmo SA, para um entendimento melhor da técnica, quando aplicado ao problema PAB. A Linha 1, apresenta os dados de entrada, α é a taxa de resfriamento, de iterações, temperatura inicial e temperatura corrente. número máximo Na Linha 2, obtém-se uma solução inicial através da heurística de distribuição (são criados inicialmente m berços vazios. Os n navios são organizados por ordem de chegada ao porto, e são distribuídos sequencialmente aos berços de forma aleatória, porém sempre verificando se o berço selecionado poderá atender o navio em questão). Na Linha 3, a solução inicial é avaliada através da heurística de programação (são efetuados os cálculos do horário de atracação de cada navio e da função objetivo. Nessa heurística, a sobreposição de horários é eliminada através do cálculo do horário de atracação dos navios). Na Linha 4, atribui-se a o valor da solução inicial S, por ser a melhor solução conhecida até este passo. Na Linha 5, inicia-se o contador das iterações. Na Linha 6, atribui-se a T o valor da temperatura inicial ( ). O parâmetro suficientemente grande para que todas as transições sejam inicialmente aceitas. deve ser Nas Linhas 7 e 8, é estabelecido o critério de parada. Enquanto a temperatura for maior que a temperatura corrente e enquanto o número de iterações for menor que o número máximo de iterações faça o passo da Linha 10. A Linha 9 representa o incremento das iterações. Na Linha 10, gera-se uma solução vizinha qualquer através de um dos movimentos de troca. Os movimentos de troca são reordenar navios (troca de posição na sequencia de atendimento de dois navios selecionados em um determinado berço), realocar navios (um navio é selecionado de um berço e atribuído a outro berço, obrigatoriamente o navio selecionado deverá atender as restrições impostas pelo berço), trocar navios (dois navios são selecionados e trocados de berços, obrigatoriamente os navios selecionados deverão atender as restrições impostas pelos berços). Na Linha 11, a solução vizinha é avaliada através da heurística de programação. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 126

Na Linha 12, é testada a variação do valor da função objetivo (custo), isto é corrente. Na Linha 13, se < 0 o método aceita a solução e S' passa a ser a nova solução Na Linha 14, verifica-se se o valor corrente é menor que o valor armazenado em afirmativo, recebe o valor de S'.. Em caso Da Linha 15 a Linha 19, se Δ 0 a solução vizinha candidata também poderá ser aceita, mas neste caso, com uma probabilidade e - /T onde, T é o parâmetro que regula a probabilidade de aceitação de soluções de pior custo. Na Linha 20, determina-se que a temperatura seja atualizada após um número fixo de iterações (o número de iterações necessárias para o sistema atingir o equilíbrio térmico em uma dada temperatura), a temperatura é gradativamente diminuída por uma razão de resfriamento α. Com esse procedimento, no início, dá-se uma chance maior para escapar de mínimos locais e, à medida que T aproxima-se de zero, o algoritmo comporta-se como um método de descida, uma vez que diminui a probabilidade de se aceitar movimentos de piora. O procedimento para quando a temperatura chega a um valor próximo de zero ( ) e nenhuma solução que piore o valor da melhor solução é mais aceita, isto é, quando o sistema está estável. A solução obtida quando o sistema encontra-se nesta situação evidencia o encontro de um mínimo local, o que em alguns casos também poderá representar um mínimo global. Mais detalhes de como gerar uma solução inicial através das heurísticas de distribuição e programação, os movimentos de troca (reordenar, realocar e trocar navios) bem como toda a técnica heurística Simulated Annealing são apresentados com detalhes em Mauri et al. (2008) e Mauri (2008). JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 127

3. Operacionalização do Aplicativo para o modelo PAB O aplicativo desenvolvido utiliza a técnica Simulated Annealing para resolver o problema e permitirá ao usuário à simulação de cenários com o intuito de encontrar a melhor alocação dos navios aos berços, com isso reduzir (minimizar) a fila de espera dos navios bem como possibilitar ajustar a janela de tempo a ser oferecida ao armador pelo terminal. O aplicativo é baseado em informações prévias sobre data e horário de chegada dos navios, duração da janela de tempo (período de tempo em minutos oferecido pelo terminal ao armador, para que o navio num determinado dia possua a garantia de um berço reservado para atracação ou o pagamento de penalidades pelo terminal caso esse chegue à janela determinada e não possa atracar em virtude de não haver disponibilidade de berço). A partir da informação sobre os horários e datas, o aplicativo distribui e programa os navios aos berços ao longo do período previamente estabelecido (a programação dos navios é disponibilizada aproximadamente com 2 meses de antecedência pelo Terminal de Contêineres no Porto do Rio Grande). O programa foi desenvolvido com o auxílio da linguagem de programação Delphi, pois este permite incluir diversas facilidades de simulação e possibilita a representação de aspectos dinâmicos, dessa forma tornando o modelo mais aderente à realidade que se deseja representar. A interface da ferramenta desenvolvida possibilita gerar um relatório sobre os dados dos navios: listagem ordenada da chegada dos navios ao porto; listagem dos berços (capacidade, horário de abertura e fechamento). São ainda registrados todos os resultados (Figura 1) obtidos durante o processo, as melhores soluções obtidas bem como os parâmetros na aplicação da técnica SA. Também, são registrados o total de movimentos de realocação, reordenação e troca de navios permitindo uma avaliação maior sobre essa estrutura de vizinhança que utiliza os três movimentos, onde a escolha é feita de forma aleatória, porém uniformemente distribuída. Salientamos que existe a possibilidade de fixar navios aos berços, visto que, em situações reais determinados navios só poderão ser alocados em berços apropriados ao seu tipo de carga. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 128

Figura 1- Registro dos Resultados 1 A operacionalização e o menu de opções do aplicativo serão descritos, a fim de motivar o leitor a implementar uma ferramenta computacional, baseada na técnica Simulated Annealing, para resolver o problema de alocação de berços de maneira prática e eficiente. Inicialmente são cadastrados os navios e os berços, e as opções são descritas a seguir: - Adicionar Navios informações sobre nome do navio, data e hora de chegada prevista, comprimento (m), tempo de atendimento, duração da janela de tempo, custo por minuto (R$). A leitura dos dados é feita através de um arquivo Excel em formato.xls. 1 Fonte: Rodrigues (2012). JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 129

- Cadastrar Berços informações sobre nome do berço, capacidade em relação ao comprimento (m), dia da semana em que o berço opera constando o horário de abertura e fechamento do berço. Após os navios inseridos e os berços cadastrados, a técnica SA é escolhida para resolução do PAB. São informados os parâmetros de entrada, solução inicial e tempo entre atendimentos. Essas opções são descritas a seguir: A opção Calcular executa o algoritmo SA. Nessa opção são informados os parâmetros de entrada e a escolha do método de cálculo (Simulated Annealing ou Simulated Annealing+Reaquecimento). A técnica de Reaquecimento permite que o usuário tenha a possibilidade de encontrar soluções melhores que as soluções obtidas sem o reaquecimento, nesse caso o algoritmo SA é novamente executado, tendo como solução inicial a melhor solução encontrada. A opção Tempo entre atendimentos define um tempo de parada do berço durante a saída de um navio e atracação de outro. A solução inicial poderá ser obtida a partir da opção Definida pelo Usuário, onde os navios podem ser distribuídos (inseridos) aos berços manualmente (quando selecionada a opção) ou aleatoriamente conforme heurística de distribuição, quando essa opção não for selecionada. Com o intuito de tornar o aplicativo mais dinâmico e o modelo mais aderente a realidade praticada nos portos também foi criada as opções de: - Fixar Navios em Berços determinados navios só podem ser atendidos por berços específicos, de forma que os mesmos não podem ser alocados em outros berços. - Rejeitar Navios cancela a programação do navio de um determinado dia, sendo esse automaticamente transferido para a lista dos navios do próximo dia. O aplicativo também permite que o usuário através da opção Mostrar operações acompanhe os resultados sobre o valor das melhores soluções da função objetivo de cada dia de alocação dos navios aos berços, as iterações na estrutura de vizinhança e o resfriamento. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 130

Após, todos os cálculos realizados, o aplicativo apresenta uma listagem com as datas dos navios alocados, onde é possível visualizar o valor da função objetivo inicial e final, tempo de processamento do algoritmo, a quantidade de navios alocados e não alocados em determinado dia. Finalmente, a opção Salvar que contém os registros, da programação dos navios aos berços, em um arquivo no formato pdf. E a opção Temas que modifica a visualização da interface, alterando cores e formas dos menus. 4. Experimentos Computacionais Para a simulação dos cenários foram coletados dados dos navios, no site (http://www.teconline.com.br/terminais/forms/navioprogramacaoconsultar.aspx) do Terminal de Contêineres Tecon do Porto do Rio Grande, no período de 01/01/2012 a 31/01/2012. Os dados obtidos foram: horário e data de chegada prevista, comprimento do navio (m), tempo de atendimento (duração prevista da operação), duração da janela de tempo (período em que o navio tem o berço reservado desde a chegada ao porto até a sua saída). Em relação ao valor do custo (R$) esse dado não foi disponibilizado, então foi atribuído o valor 1 unidade monetária. Para avaliar o desempenho do método foram utilizados 6 problemas testes conforme Tabela 1. Os testes foram realizados em um PC com processador Intel Pentium Dual CPU T3400 2.17 GHz e 2 GB de memória RAM. A implementação foi desenvolvida com o auxílio do software Delphi baseada em Object Pascal (Pascal com extensões orientadas a objetos). Os parâmetros utilizados foram: = 0, 975, T i = 40000, T c = 0,01 e = 1000 e as penalizações utilizadas foram w = [1,10,10]. Para o reaquecimento os parâmetros foram =0, 975, T i = 40000, T c = 0,01 e = 2000, os mesmos obtidos por Mauri et. al. (2008). A Tabela 1 mostra os testes realizados com a técnica Simulated Annealing e Simulated Annealing + Reaquecimento. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 131

Tabela 1: Cenários de estudos obtidos com o método proposto utilizando 3 berços 2 Testes 10 navios 15 navios 25 navios 40 navios 55 navios 62 navios Tempo (h:min:s) 00:01:45 00:02:40 00:03:43 00:05:40 00:07:32 00:13:26 Simulated Annealing Simulated Annealing + Reaquecimento Z * 16.070,80 19.626,20 42.041,80 83.017,80 174.688,30 215.320,50 Reordenações 34.265 19.706 72.062 136.007 241.621 356.852 Realocações 313.989 476.031 858.887 1.157.149 1.611.695 2.008.226 Trocas 109.614 165.871 318.709 475.933 679.609 882.256 Tempo (h:min:s) 00:03:34 00:05:24 00:08:39 00:13:40 00:20:48 00:27:13 Z * 16.070,80 19.626,20 42.041,80 83.017,80 174.688,30 215.320,50 Reordenações 41.070 157.843 94.241 284.927 686.506 909.736 Realocações 1.014.985 1.374.393 2.438.671 3.379.699 4.718.451 6.043.475 Trocas 310.206 526.017 874.357 1.353.062 2.018.445 2.592.202 Esses testes foram realizados com o intuito de avaliação do tempo de processamento do algoritmo e do custo final em relação à quantidade de navios a serem alocados no período de um mês. O Terminal de Contêineres Tecon do Porto do Rio Grande utiliza 3 berços, os navios que utilizam o terminal podem ser atendidos por qualquer berço e o tempo entre atendimentos é fixado em 2 horas. Embora não se tenha acesso à modelagem e a técnica utilizada que serve de suporte para o sistema informatizado de alocação de navios aos berços, do Terminal de Contêineres Tecon do Porto do Rio Grande, os resultados sobre os testes realizados mostraram a viabilidade do método proposto. Considerando ainda que, o problema é de otimização combinatória, de natureza não polinomial e o tempo gasto na resolução dos problemas testes não é deterministicamente calculado, boas soluções foram obtidas para o período de tempo estabelecido, apresentando tempos de processamento baixos. Fatores como custo, capacidades dos berços, contribuem para o tempo total de solução. Assim, dependendo da programação dos navios aos berços sobre determinados portos, os tempos computacionais poderão sofrer alterações significativas. O método Simulated Annealing + Reaquecimento não proporcionou melhoria em relação ao método Simulated Annealing, dessa maneira a solução dos 6 testes realizados permaneceram iguais. Essa melhora existe e aparece em poucos problemas testes realizados por Mauri et.al. (2008). 2 Fonte: Rodrigues (2012) JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 132

Cenários de estudo também foram realizados a fim de testar a metodologia quando outras restrições são impostas ao problema, como rejeição e fixação de navios aos berços. As Tabelas 2 e 3 mostram os cenários de estudos realizados sobre a programação de 62 navios através do método Simulated Annealing e Simulated Annealing + Reaquecimento, em ambos cenários os dados utilizados foram os dados reais do Terminal de Contêineres Tecon do Porto do Rio Grande. Tabela 2 Cenários obtidos com o método Simulated Annealing 3 Cenários Cenário 1 Cenário 2 Cenário 3 Simulated Annealing Sim Sim Sim Rejeitar Navios Não Sim Não Fixar Navios Não Não Sim Tempo (h:min:s) 00:13:13 00:17:04 00:20:51 Re-ordenações 304.525 365.507 1.458.455 Re-alocações 1.963.263 1.798.346 0 Trocas 851.481 838.833 0 Valor da Função Objetivo inicial 610.217,53 503.376,26 413.864,02 Valor da Função Objetivo Final (Z * ) 215.320,50 157.434,70 404.974,00 Tabela 3 Cenários obtidos com o método Simulated Annealing + Reaquecimento 4 Cenários Cenário 4 Cenário 5 Cenário 6 Simulated Annealing + Reaquecimento Sim Sim Sim Rejeitar Navios Não Sim Não Fixar Navios Não Não Sim Tempo (h:min : s) 00:29:38 00:33:13 00:37:11 Re-ordenações 1.007.248 876.882 2396.276 Re-alocações 5.795.619 5.398.581 0 Trocas 2.580.926 2.344.157 0 Valor da Função Objetivo inicial 458.502,27 336.660,05 413.864,02 Valor da Função Objetivo Final (Z * ) 215.320,50 154.614,30 404.974,00 3 Fonte: Rodrigues (2012). 4 Idem. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 133

A seguir algumas observações pertinentes sobre os cenários realizados. O Cenário 2, é realizado com a intenção de avaliar o desempenho do aplicativo quando os navios são rejeitados (navios que por algum motivo não conseguem chegar na data prevista). Nesse cenário, 10 navios foram rejeitados aleatoriamente, sendo esses automaticamente inseridos na lista de espera. O valor da função objetivo tende a ser menor que no Cenário 1, devido não haver penalização sob o ponto de vista do terminal. No Cenário 3, os 62 navios foram fixados aos berços, com o intuito de avaliar o custo da solução final e a programação dos mesmos. Nesse cenário não existem os movimentos de realocação e troca de navios, visto que todos os navios foram fixos. Dessa forma, observamos que o movimento de reordenação dos navios melhora ainda mais o valor da função objetivo. A metodologia utilizada faz o cálculo da programação dos navios conforme os navios são alocados aos berços com isso minimizando a violação do atendimento dos navios aos berços. Se compararmos o Cenário 1 com o Cenário 3, o valor da função objetivo final do Cenário 1 é bem menor, mas isso é justificado pelas melhorias dos movimentos de realocação e troca. Nos cenários da Tabela 3, são apresentados os resultados com a aplicação do reaquecimento a fim de verificar a possibilidade de melhora da solução final encontrada. Observamos que no Cenário 4, não há melhora da solução a partir do reaquecimento. No entanto, no Cenário 5 com reaquecimento, correspondente ao Cenário 2 sem reaquecimento, há uma melhora de aproximadamente 1,8 % na solução final. No Cenário 6 com reaquecimento, correspondente ao Cenário 3 sem reaquecimento, não há melhora na solução da função objetivo final, permanecendo essa igual. Cabe salientar que nos cenários realizados, alguns navios violaram a janela de tempo (tempo de serviço no porto), mas todos foram programados para serem alocados em um dia e horário disponível de modo que essa violação fosse a que gerasse o menor custo possível. Nesse sentido, os cenários permitem ao tomador de decisão uma análise mais significativa sobre os navios que excederam as janelas de tempo. Dessa forma, existe a possibilidade de realização de novos cenários a partir de estudos e ajustes pertinentes sobre a violação de JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 134

janelas de tempo dos navios. Esses cenários de estudo e a fonte de dados podem ser encontrados no trabalho de Rodrigues (2012). Conclusão A estratégia de solução adotada por Mauri et al. (2008) para o Problema de alocação de Berços é apropriada para os testes realizados e os cenários construídos a partir de dados reais. No entanto, uma avaliação mais criteriosa deveria ser realizada se houvesse condições de comparar o modelo e a técnica de resolução adotada pelo Terminal. O aplicativo possibilita também fazer uma análise maior sobre a violação da janela de tempo (tempo de permanência de um navio no porto). O desenvolvimento de estratégias que permitem a recuperação de informações sobre a violação de janelas de tempo é importante para tomada de decisão. Além disso, o desenvolvimento de ferramentas computacionais é importante e poderá facilitar o trabalho dos operadores logísticos. Muitos portos, até pouco tempo, realizavam manualmente a elaboração do plano de atracação. A resolução do problema de alocação de berços é fundamental no desempenho portuário, trazendo benefícios em termos logísticos para o sistema. Este trabalho não esgota os estudos sobre o Problema de Alocação de Berços e tem continuidade com a implementação do Algoritmo Genético (AG), visando comparar as duas metodologias. A escolha por essas heurísticas dá-se pelo fato de serem metodologias que possuem características próprias que podem sofrer modificações tornando-se adaptáveis ao problema específico PAB. Espera-se que esse trabalho tenha contribuído para evidenciar a importância do uso do algoritmo Simulated Annealing na resolução do problema de alocação de berços no sistema portuário e venha a trazer incentivos para o desenvolvimento de novas ferramentas computacionais nesta área. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 135

Referências Arruda, J. B. F. e Bastos, M. M. M. (2000) Pesquisa de dados secundários marítimos portuários: Brasil Europa. Congresso de Pesquisa e Ensino em Transportes, Gramado/RS. Becceneri, J. C. (2008) Computação e Matemática Aplicada às Ciências e Tecnologias Espaciais. Meta-heurísticas e Otimização Combinatória: Aplicações em Problemas Ambientais. INPE, São José dos Campos, pp. 65-81. Cassel, G. L. e Vaccaro, G. L. R. (2007) A Aplicação de simulação-otimização para a definição do mix ótimo de produção de uma indústria metal-mecânica. Encontro Nacional de Engenharia de Produção, Foz do Iguaçu. Cordeau, J. F., Laporte, G. e Mercier, A. (2001) A unified tabu search heuristic for vehicle routing problems with time windows, Journal of the Operational Research Society, vol. 52, pp. 928-936. Cordeau, J. F., Laporte, G., Legato, P. e Moccia, L. (2005) Models and tabu search heuristics fot the berth allocation problem. Tansportation Science, vol. 39, pp. 526-538. Danttzig, G. B. e Ramser, J. (1959) The Truck Dispatching Problem. Management Sciences, vol. 6, pp. 81-94. Fleury, P. F. (1998) Perspectivas para a logística brasileira. Revista Tecnologística, vol. maio, n. 30, pp. 26. Guan, Y. e Cheung, R. K. (2004) The berth allocation problem: models and solutions methods. OR Spectrum, vol. 26, pp. 75-92. Legato, P., Monaco, F. e Tigani, N. (2001) Berth planning at gioia tauro s maritime terminal by logistic distribution models. Annual Conference Of Italian Operational Research Society, 32, 2001, Cagliari. Proceedings Cagliari: AIRO. Mauri, G. R., Oliveira. A. C. M. e Lorena L. A. N. (2008) Heurística baseada no Simulated Annealing aplicada ao problema de alocação de berços. GEPROS - Gestão da Produção, Operações e Sistemas, Ano 3, vol. 1, n. 1, pp. 113-127. Mauri, G. R. (2008) Novas abordagens para representação e obtenção de limitantes e soluções para alguns problemas de otimização combinatória. Tese (Doutorado em Computação Aplicada), Instituto Nacional de Pesquisas Espaciais INPE. São José dos Campos. Rodrigues, M. H. P. (2012) Simulated Annealing: Uma proposta de resolução para o Problema de alocação de berços em Terminais de Contêineres. Dissertação (Mestrado em Engenharia Oceânica), Universidade Federal do Rio Grande FURG. Rio Grande, RS. Vieira, G. B. B., Pasa, G. S., Santos, C. H. S., Bassanesi, M. M. R. e Machado, J. K. (2006) O nível de serviço do Tecon Rio Grande a partir da ótica dos usuários. III SINAP - Simpósio Internacional de Gestão de Negócios em Ambiente Portuário. JTL-RELIT Journal of Transport Literature, Manaus, vol. 7, n. 3, Jul. (2013) 136