Comparação de Heurísticas para a Solução do Problema de Carregamento e Descarregamento 3D de Navios via Representação por Regras

Tamanho: px
Começar a partir da página:

Download "Comparação de Heurísticas para a Solução do Problema de Carregamento e Descarregamento 3D de Navios via Representação por Regras"

Transcrição

1 Capítulo 17 Comparação de Heurísticas para a Solução do Problema de Carregamento e Descarregamento 3D de Navios via Representação por Regras Anibal Tavares de Azevedo, Cassilda Maria Ribeiro, Galeno José de Sena, Antônio Augusto Chaves, Luiz Leduino de Salles Neto, e Antônio Carlos Moretti Resumo: Neste capítulo são apresentados uma nova formulação e uma nova representação compacta para a solução do problema de carregamento de contêineres 3D em terminais portuários, e que consiste em determinar como carregar e descarregamento um conjunto de contêineres de um navio porta-contêiner, visando a minimização do número de movimentos e da distância do centro de massa ao centro de gravidade. Assim como o problema 2D é NP-Completo, o problema 3D também o é, e três métodos heurísticos combinados com uma nova representação das soluções, representação por regras, são propostos e comparados: Beam Search, Algoritmo Genético e Simulated Annealing. Palavras-chave: Planejamento de manejo de contêineres em navios, Beam search, Algoritmo genético, Simulated Annealing. Abstract: This chapter presents a new formulation and a new compact representation to solve the 3D Container Ship Loading Planning Problem, which consists in determining how to unload and load containers on board of a container ship in order to minimize the total number of movements performed, and also the distance between the geometric center and the mass center. Since the 2D problem is NP- Complete, so it is the 3D problem, and then three heuristic methods were, combined with representation by rules, were proposed and compared: Beam Search, Genetic Algorithm and Simulated Annealing. Keywords: 3D Container ship loading planning problem, Beam search, Genetic algorithm, Simulated Annealing. 1. Introdução A eficiência de um terminal portuário especializado em movimentação de contêineres depende da ordenação e agilidade do processo de lidar com os contêineres, especialmente durante o processo de carregamento dos navios. A estiva e o plano de carregamento associado são determinados fundamentalmente por dois critérios: instabilidade do navio e o número mínimo de remanejo requerido nos diversos pontos de entrega (Avriel et al., 2000; Wilson & Roach, 2000; Ambrosino et al., 2006). O último critério é baseado no fato de que muitos navios possuem uma estrutura celular, conforme pode ser observado na Figura 1, e os contêineres devem ser carregados de modo a formarem pilhas verticais, o que acarreta, em muitos casos, a necessidade de movimentar alguns contêineres para descarregar outros posicionados na parte inferior da pilha. Concomitantemente, outra restrição emerge durante a escolha dos contêineres para carregamento no pátio do terminal, onde geralmente os contêineres são empilhados formando blocos a espera do momento de serem carregados. Se os contêineres alvos, que devem ser carregados mais tarde, são posicionados nas pilhas abaixo de outros, então a tarefa de carregamento requer remanejo de modo a remover e reposicionar os contêineres alvos. Esta situação ocorre com frequência, uma vez que a ordem de carregamento não é conhecida quando as cargas chegam ao pátio do terminal e é denominada de realocação. No entanto, mesmo quando esta informação é disponibilizada a tempo, o arranjo ideal de contêineres na área de armazenamento é praticamente impossível de ser obtido devido à chegada aleatória de diversas outras cargas. Mais especificamente, o problema de carregamento de contêineres em terminais portuários (PCCTP) consiste em determinar como carregar um Autor para contato: atanibal@yahoo.com Lopes et al. (Eds.), Meta-Heurísticas em Pesquisa Operacional (2013) DOI: /2013.mhpo.17 ISBN

2 272 Azevedo et al. Figura 1. Estrutura celular de um navio. Fonte: Wilson & Roach (2000). conjunto de contêineres de diferentes tipos em um navio porta-contêiner (containership), respeitando restrições operacionais relacionadas aos contêineres, navio e pátio do terminal portuário. Neste capítulo serão comparados os desempenhos de um Algoritmo Genético (AG), um Simulated Annealing (SA) e um Beam Search (BS) para a solução do PCCTP 3D para a minimização do número de movimentos de carregamento e descarregamento de contêineres em terminais portuários, bem como a minimização da medida de instabilidade. Na Seção 2 é apresentado o problema 3D a ser resolvido bem como sua formulação matemática binária. Na Seção 3 é apresentada a representação por regras que será combinada com a implementação meta-heurísticas. Na Seção 4 são citados o Algoritmo Genético, o Simulated Annealing e o Beam Search, respectivamente. Na Seção 5 são apresentados os resultados computacionais obtidos e na Seção 6 as conclusões e sugestões de trabalhos futuros. 2. Apresentação do Problema Um navio porta contêiner tem sua capacidade medida em TEU (Twenty-foot Equivalent Units) ou Unidade Equivalente de Vinte pés. Por exemplo um navio com capacidade de 8000 TEUs pode carregar 8000 contêineres de vinte pés. Nos navios tem uma estrutura celular (ver Figura 1) onde são alojados os contêineres. Estas células são agrupadas por seções ou baias (em inglês bays) e os contêineres são empilhados nestas seções formando pilhas verticais. Então uma baia é um agrupamento de células, com capacidade de se empilhar um certo número de contêineres. A baia tem então linhas horizontais numeradas r = 1, 2,...R, (a linha 1 é a linha que está em baixo, e a linha R é a linha do topo da pilha) e colunas numeradas c = 1, 2,..., C (coluna 1 é a primeira coluna da esquerda). O PCCTP 3D que será resolvido aqui consiste em reduzir ao máximo possível dois objetivos: o número de realocações dos contêineres para um certo número de portos N e a instabilidade do arranjo dos contêineres. Para o primeiro objetivo, minimiza-se a realocação decorrente do descarregamento temporário de contêineres, da pilha de contêineres, com a finalidade de descarregar, num terminal portuário p, um contêiner que está na parte inferior da pilha. Isto é necessário porque os contêineres que estão numa pilha só podem ser acessados pelo topo. Então um contêiner que está no meio da pilha só pode ser descarregado num determinado porto p se os contêineres que estão acima dele forem removidos. Para o segundo objetivo define-se a distância do centro de massa ao centro geométrico como medida da instabilidade do navio em cada porto (Avriel et al., 2000). A seguir será apresentada a formulação deste problema como sendo um problema de programação linear inteira com variáveis binárias 0 1. Esta formulação respeita as restrições operacionais relacionadas aos contêineres. 2.1 Modelo matemático Considere um navio de transporte de contêineres que possui D baias numeradas d = 1,..., D. Cada baia tem R linhas horizontais numeradas r = 1, 2,...R, (a linha 1 é a linha que está em baixo, e a linha R é a linha do topo da pilha) e C colunas verticais numeradas c = 1, 2,..., C (coluna 1 é a primeira coluna da esquerda). Apesar da baia ter um formato tridimensional com baias de diferentes tamanhos, a mesma pode ser representada, sem perda de generalidade, por um formato tridimensional com baias de mesma capacidade, em particular um vetor de matrizes. Então, uma baia pode alocar no máximo R C contêineres. É assumido também que todos os contêineres têm o mesmo tamanho e peso. O navio chega no porto 1 completamente vazio e sequencialmente ele visita os portos 2, 3,..., N. Em cada porto i = 1,..., N 1, o navio recebe o carregamento de contêineres

3 Comparação de heurísticas para o problema de carregamento e descarregamento 3D de navios 273 com destino aos portos i + 1,..., N. No último porto ele descarrega os contêineres e fica totalmente vazio. Seja T = [T ij ] a matriz de transporte de dimensão (N 1) (N 1), onde T ij é o número de contêineres com origem em i e destino em j. A matriz é triangular superior porque T ij = 0 para todo i > j. A formulação de programação linear inteira do PCCTP 3D é dada pelas Equações 1 6. subject to j v=i+1 r=1 c=1 d=1 min f (x) = αφ 1 (x) + βφ 2 (y) (1) R C D i 1 R C D x ijv (r, c, d) x kij (r, c, d) = T ij k=1 r=1 c=1 d=1 i = 1,, N 1; j = i + 1,, N (2) i N j x kjv (r, c, d) = y i (r, c, d) k=1 j=i+1 v=i+1 i = 1,, N 1; r = 1,, R; c = 1,, C; d = 1,, D (3) y i (r, c, d) y i (r + 1, c, d) 0 i = 1,, N 1; r = 1,, R; c = 1,, C; d = 1,, D (4) j 1 N j 1 N p x ipj (r, c, d) + x ipv (r + 1, c, d) 1 (5) i=1 p=j i=1 p=j+1 v=j+1 x ijv (r, c, d) = 0ou1 i = 1,, N; r = 1,, R; c = 1,, C; d = 1,, D. (6) onde: a variável binária x ijv (r, c, d) é definida de forma que assume o valor 1 se existir um contêiner no compartimento (r, c, d) que foi ocupado no porto i e tem como destino final o porto j e movido no porto v; caso contrário assume valor zero. Por compartimento (r, c, d) entende-se a linha r, a coluna c e a baia d no compartimento de carga do navio. É necessário salientar que a numeração das linhas é feita de cima para baixo, assim a linha de número 5 está abaixo da linha de número 4, a numeração das colunas é feita da esquerda para a direita e a profundidade é iniciada da proa até a popa. Similarmente, a variável y i (r, c, d) possui valor 1 se saindo do porto i o compartimento (r, c, d) for ocupado por um contêiner; caso contrário assume valor 0. A restrição (2) é a restrição de conservação de fluxo, onde T ij é o elemento da matriz de transporte que representa o número de contêineres que embarcam no porto i com destino ao porto j. A restrição (3) em cada compartimento (r, c, d) será ocupado por no máximo um contêiner. A restrição (4) é necessária para garantir que existem contêineres embaixo do contêiner que ocupa o compartimento (r, c, d). A restrição (5) é responsável por definir a movimentação dos contêineres: se um contêiner que ocupa a posição (r, c, d) é descarregado no porto j, então, ou não existem contêineres acima dele, ou o índice v do contêiner que ocupa o compartimento (r + 1, c, d) não é maior que j. A função objetivo da Equação 1 possui é uma composição de dois diferentes critérios: o primeiro depende da movimentação dos contêineres, φ 1 (x), e o segundo depende posição ocupada pelos contêineres em cada porto, φ 2 (y). Os dois critérios podem ser combinados através de valores escalares fornecidos para os pesos α e β dentro de um modelo de otimização bi-objetivo. O termo φ 1 (x) relativo ao custo total de movimentação dos contêineres (assumindo que a movimentação de um contêiner possui um custo unitário e igual para todos os portos) em todos os portos é dado pela Equação 7. φ 1 (x) = N 1 N j 1 R C i=1 j=i+1 v=i+1 r=1 c=1 d=1 D x ijv (r, c, d) (7) O termo φ 2 (y) é relativo à instabilidade do navio de acordo com a posição dos contêineres (assumindo que cada contêiner possui um peso unitário e igual para todos os portos) e calcula a distância entre o centro de massa e o centro geométrico de cada baia do navio depois de descarregar e depois de carregar em todos os portos tal como dado pela Equação 8. ( N D ) D φ 2 (y) = ( x d,i ) 2 + ( z d,i ) 2 i=1 d=1 d=1 (8)

4 274 Azevedo et al. onde: xm d,i = zm d,i = ( R r=1 c=1 ( C x d,i = xm d,i R/2 z d,i = zm d,i C/2 ) C y i (r, c, d) (r 0, 5) ( R c=1 r=1 r=1 c=1 ) C y i (r, c, d) ) R y i (r, c, d) (c 0, 5) ( R r=1 c=1 ) C y i (r, c, d) A formulação dada pelas Equações 1 8 é um problema 3D e pode ser considerada uma extensão da formulação 2D apresentada por Avriel et al. (1998). Para a formulação 2D foi provado (Avriel et al., 2000) que é um problema NP-Completo tal que o problema 3D também o é. A formulação 3D aqui apresentada é uma contribuição deste trabalho para a literatura, tendo em vista que o modelo proposto (Avriel et al., 1998) não considera a avaliação simultânea do número de movimento e da instabilidade através de uma função objetivo bi-objetivo. As mesmas desvantagens existentes na formulação 2D também ocorrem com a formulação 3D. Em particular, as formulações demandam um grande número de restrições e variáveis binárias para instâncias cujo porte é próximo de problemas reais. Para ilustrar esta afirmação, a representação de uma solução, através da formulação apresentada pelas Equações 1 8, de uma instância que tenha D = 5, R = 6, C = 50, e N = 30 portos, demandará D R C N 3 variáveis x ijv (r, c, d), ou seja, variáveis x, e D R C N variáveis y i (r, c, d), ou seja, variáveis y, somando um total de variáveis para representar uma única solução. Deste modo, o problema assume um tamanho muito grande, tornando proibitivo o uso desta formulação para problemas reais. Uma alternativa para resolver este problema é empregar uma representação, que também é uma contribuição original deste trabalho, denominada de Representação por Regras, que diminui consideravelmente o número de variáveis. Para se ter uma ideia de quanto é esta redução, a instância que no exemplo acima necessita de variáveis, na formulação apresentada, necessitará de 29 variáveis ao se utilizar à Representação por Regras, ou seja, o número de variáveis é igual ao número de portos, menos 1. Além de ser compacta, a Representação por Regras tem a vantagem de assegurar que todas as soluções geradas pelo método utilizado sejam factíveis. Ainda que a representação por regras seja empregada, o problema para encontrar a melhor combinação de regras também é um problema combinatório e é necessário empregar heurísticas para encontrar boas soluções também para o PCCTP 3D. Em particular, serão empregados o BS, o AG e o SA. 3. Representação por Regras A principal motivação para empregar a representação por regras é observar o crescimento da quantidade de variáveis necessárias para se representar uma solução no modelo binário conforme cresce o número de portos. Isto ocorre porque o modelo binário apresenta uma descrição detalhada sobre como cada contêiner deve ser posicionado ou movido em cada porto para cada célula (r, c, d) do navio, mas sem garantir a consistência das várias restrições físicas: Ao longo dos portos, a quantidade de contêineres que entra no navio é igual a quantidade de contêineres que sai (Equação 2). Dois ou mais contêineres não podem ocupar o mesmo espaço (Equação 3). Contêineres não podem flutuar (Equação 4). A remoção de um contêiner em uma pilha só pode ser realizada se não houver outros contêineres impedindo sua retirada naquela pilha ou, se houver contêineres, que estes também sejam retirados (Equação 5). Para evitar que soluções infactíveis sejam encontradas duas metodologias tradicionais são: Construir uma função de penalidade de modo a eliminar ou reduzir a quantidade de soluções infactíveis.

5 Comparação de heurísticas para o problema de carregamento e descarregamento 3D de navios 275 Empregar uma estratégia de factibilização tal que soluções infactíveis sempre sejam transformadas em soluções factíveis. A primeira metodologia encontra problemas na definição dos pesos para a penalização das soluções infactíveis, pois os valores podem ser dependentes para cada instância tratada. A segunda metodologia exige a elaboração de um mapeamento entre soluções infactíveis e factíveis que nem sempre é trivial e é dependente do problema. Uma alternativa é empregar uma representação que não se preocupa em detalhar a posição do contêiner e sim em uma descrição geral do que deve ocorrer em cada porto com duas das principais operações de um navio: o descarregamento (ao se chegar ao porto) e o carregamento (antes de sair do porto). Para determinar os efeitos do que irá ocorrer com o arranjo do contêineres no navio, após uma regra de descarregamento ou uma regra de carregamento, será necessário empregar: Um vetor de matrizes B que representa o arranjo dos contêineres no navio em cada espaço (r, c, d). Esta matriz será modificada após a tomada de decisões em cada porto e representa uma memória de como as decisões tomadas em portos anteriores podem influenciar no arranjo do navio no porto atual. Um processo de simulação que transforma a instrução geral, ou regra, de carregamento ou descarregamento na movimentação de um contêiner específico e, portanto, modifica a matriz B. A partir do processo de simulação é possível extrair informações como o número de movimentos de contêineres ou a medida de instabilidade do navio. O processo de simulação garante que a movimentação do contêiner seja realizada sem que haja violação das restrições físicas descritas anteriormente e, portanto, somente soluções factíveis são consideradas. A justificativa para empregar o vetor de matrizes B está relacionada com a estrutura celular do navio (ver Figura 1), pois os locais onde os contêineres são alocados estão pré-determinados e devem formar pilhas verticais. Este empilhamento é o que permite usar o vetor de matrizes de ocupação B para fornecer a quantidade de espaços disponíveis e a localização dos contêineres no navio em cada porto. A matriz B drc representa o estado de uma célula (r, c, d), isto é se B drc = 0 significa que a célula que ocupa a baia d, a linha r e a coluna c está vazia e se B drc = j significa que a célula contém um contêiner cujo destino é o porto j. Assim, no exemplo da Figura 2(a), o elemento (1, 2, 2) pertence a baia 1 (B 1,r,c ), linha 2 (r = 2) e coluna 2 (c = 2) é igual a 2 significando que neste local existe um contêiner que será descarregado no porto 2. De modo análogo, o elemento B 3,1,1 = 5 significa que esta é uma célula da terceira baia (B 3,r,c ), linha 1 (r = 1) e coluna 1 (c = 1) contém um contêiner cujo destino é o porto 5. Duas observações podem ser feitas: o vetor de matrizes B drc mostrado na Figura 2(a) pode ser associado ao desenho tridimensional da Figura 2(b); a linha 1 representa o topo da pilha de carregamento e a linha 2 representa a parte inferior da pilha. (a) Matriz B (b) Navio 3D Figura 2. Como representar a matriz de ocupação B para o navio 3D. É importante observar que a matriz de carregamento B é modificada em cada porto devido a entrada e saida de novos contêineres em cada porto, pois quando o navio chega num porto j é necessário realizar dois movimentos obrigatórios, a saber: descarregar os contêineres cujo destino é o porto j em questão e carregar os contêineres com destinos aos portos j + 1, j + 2,..., N. Então, para cada porto j foram estabelecidas regras para se fazer o carregamento e descarregamento dos contêineres. Muitas vezes, para se fazer o descarregamento no porto j, de um contêiner cujo destino é o porto j, é necessário fazer operações de remanejamento dos contêineres cujo destino são os portos de j + 1 até N, porque a posição que eles ocupam na pilha está acima da posição do contêiner do porto j. Veja por exemplo que na matriz B da Figura 2(b), para se descarregar os contêineres do porto 2, será necessário descarregar os contêineres contidos nas células (1, 1, 1), (1, 2, 1) e (1, 2, 2). Assim, com intuito de reduzir o número de remanejamentos, ao se fazer o carregamento de contêineres num dado porto j deve-se levar em conta os

6 276 Azevedo et al. contêineres que já estão no navio, porque foram embarcados nos portos anteriores (portos de 1 até j 1) com destino aos portos j + 1 até N. Observe então que existe uma relação íntima entre as operações de carregamento e descarregamento, tendo em vista que, a forma como é realizado o carregamento num porto j vai influenciar no descarregamento a ser efetuado nos demais portos (portos de j + 1 até N). Portanto, para reduzir as operações de remanejamento é necessário estabelecer regras para o carregamento e descarregamento de contêineres em cada porto que leve em conta esta relação. Para tanto foram criadas doze regras, sendo seis para o carregamento (Rc1, Rc2, Rc3, Rc4, Rc5, Rc6) e duas para o descarregamento (Rd1, Rd2). A combinação de uma regra de carregamento com uma de descarregamento fornece a regra k para o porto j tal como dado na Tabela 1. Tabela 1. Regras produzidas pela combinação de regras de carregamento e descarregamento. Regras de Carregamento Regras de Descarregamento Regras Rc1 Rc2 Rc3 Rc4 Rc5 Rc6 Rd1 1 Rd2 2 Rd1 3 Rd2 4 Rd1 5 Rd2 6 Rd1 7 Rd2 8 Rd1 9 Rd2 10 Rd1 11 Rd2 12 Observe na Tabela 1 que a regra 2 foi obtida utilizando a regra Rc1 para o carregamento dos contêineres e a regra Rd2 para o descarregamento. Isto foi feito com objetivo de se obter uma representação ainda mais compacta da solução. A aplicação destas regras em cada porto j vai atualizar a Matriz de Ocupação B rcd no porto j. Vale lembrar que inicialmente a matriz B está com todos seus elementos iguais a zero e ela começa a ser preenchida no porto 1. Para melhor ilustrar a utilização das regras, será utilizada a matriz de transporte T, que fornece a quantidade de contêineres que devem ser embarcados em cada porto i com destino a cada porto j, tal como dado na Figura 3. A capacidade e as dimensões adotadas para o navio são as mesmas apresentadas na Figura 2(a). Figura 3. Matriz de transporte T. Para fins de clareza na descrição do funcionamento das regras será suposto que o navio está no porto 1 para as regras de carregamento e porto 2 para as regras de descarregamento. 3.1 Regras de carregamento Regra Rc1: Esta regra preenche a matriz de ocupação B (no porto p) por baia, começando da última até a primeira linha, da esquerda para a direita, colocando na parte inferior da pilha de cada baia as cargas cujo destino é mais distante. A Aplicação desta regra considerando a matriz T da Figura 3 e que o navio se encontra no porto 1, resultará na matriz B da Figura 4(a). Regra Rc2: Esta regra preenche a matriz de ocupação B (no porto p) por linha começando da última até a primeira baia, da esquerda para a direita, colocando na parte inferior da pilha de cada linha as cargas cujo destino é mais distante. A Aplicação desta regra considerando a matriz T da Figura 3 e que o navio se encontra no porto 2, resultará na matriz B da Figura 4(b).

7 Comparação de heurísticas para o problema de carregamento e descarregamento 3D de navios 277 Regra Rc3: Esta regra é o espelho da regra Rc1, isto é, no porto p a matriz de ocupação B será preenchida por baia, da direita para a esquerda, colocando na parte inferior da pilha de cada baia as cargas cujo destino é mais distante. A Figura 4(c) ilustra o resultado obtido com esta regra considerando a matriz T da Figura 3 e o navio no porto 2. Regra Rc4: Esta regra é o espelho da regra Rc2, isto é, no porto p a matriz de ocupação B será preenchida por linha, da direita para a esquerda, colocando na parte inferior da pilha de cada baia as cargas cujo destino é mais distante. A Figura 4(d) ilustra o resultado obtido com esta regra considerando a matriz T da Figura 3 e que o navio no porto 2. Regra Rc5: Nesta regra o preenchimento da matriz de ocupação B em um porto p é feito por baia até uma linha p, começando pela coluna da esquerda e colocando-se em primeiro lugar os contêineres cujos destinos são os portos mais distantes. A linha p é calculada pegando-se a função teto, resultante da soma do total de contêineres que estavam no navio e foram embarcados nos portos anteriores; menos a quantidade de contêineres que serão desembarcados em p, mais a quantidade de contêineres que a serem embarcados em p, dividido pelo número de baias da matriz B. O número desta linha pode ser calculado sobre a matriz de transporte T, através da Equação (9). p N i=1 j=p+1 θ p = D C T ij (9) onde: p é o porto atual do navio, T ij é o número total de contêineres a serem embarcados no porto i com destino ao porto j e D é o número total de baias da matriz B de ocupação do navio. Supondo que a matriz de ocupação B quando o navio chega ao porto 2 seja a da Figura 4(b). Depois, os contêineres cujo destino é o porto 2 são descarregados e o navio move-se para o porto 3, e a regra de carregamento Rc5 é aplicada resultando na matriz de ocupação na Figura 4(e). Regra Rc6: Esta regra também é o espelho da regra Rc5. Ela faz o preenchimento da matriz de ocupação B em um porto p preenchendo cada coluna até a linha p, começando pela coluna da direita e colocandose em primeiro lugar os contêineres cujos destinos são os portos mais distantes. A linha p é calculada pela Equação (9), de modo idêntico ao calculado na regra Rc5. Depois, os contêineres cujo destino é o porto 2 são descarregados e o navio move-se para o porto 3, e a regra de carregamento Rc5 é aplicada resultando na matriz de ocupação da Figura 4(f). (a) Regra Rc1 (b) Regra Rc2 (c) Regra Rc3 (d) Regra Rc4 (e) Regra Rc5 (f) Regra Rc6 Figura 4. A matriz de estado B associada a arrumação dos contêineres no navio no porto 2.

8 278 Azevedo et al. 3.2 Regras de descarregamento Regra Rd1: Nesta regra quando o navio chega a um porto p, são removidos todos os contêineres cujo destino é p e todos os contêineres que estão acima dos contêineres do porto p e cujos destinos são os portos p + j, para j = 1,, N tal que (p + j) N. Suponha por exemplo que ao se chegar no porto 2 a matriz de Ocupação B seja a dada na Figura 5(a). De acordo com esta regra a matriz B ficaria como mostrada na Figura 5(b). Além disto, após a aplicação da regra a matriz de transporte T é atualizada como na Figura 5(c). Regra Rd2: Nesta regra quando o navio chega ao porto p, todos os contêineres são removidos para permitir que todas as pilhas sejam reordenadas por alguma regra de carregamento a ser aplicada posteriormente. Assim, os contêineres removidos com destinos a portos além do porto 2 são contabilizados na matriz de transporte T, gerando a nova matriz de transporte tal como dado na Figura 5(d). (a) Antes da Regra Rd1 (b) Depois da Regra Rd1 (c) Matriz (d) Matriz transporte após transporte após Rd1 Rd2 Figura 5. A matriz de estado B associada a arrumação dos contêineres no navio no porto Avaliação do número de movimentos e instabilidade As regras, que são combinações de regras de carregamento e descarregamento ilustradas nas seções anteriores, podem fornecer o número de movimentos realizados e a instabilidade do navio em um dado porto. Assim, após a aplicação de uma sequência de regras em um navio até um certo porto é possível determinar o número de movimentos e a instabilidade do navio até aquele porto. Para tanto, é necessário empregar um procedimento de simulação que transforma as regras em movimentos dos contêineres dentro do navio. Tal procedimento de simulação é dado na Figura 6. Os símbolos e funções empregados no procedimento da Figura 6 são descritos a seguir: p - Variável contadora, que indica o porto atual da simulação. N - Número total de portos. S - Vetor tal que o elemento s(i) contém a regra k, a ser aplicada no porto i e modificar a matriz B adequadamente. N mov - Número de movimentos realizados para carregar ou descarregar o navio ao longo dos N portos. B - Matriz de ocupação que indica o estado do navio em cada porto i. rc - Variável que contém o nome da regra de carregamento a ser aplicada. rd - Variável que contém o nome da regra de descarregamento a ser aplicada. inicializar - Função que preenche a matriz B, com valores iguais a zero. extrairregras - Função que define a correspondência entre a regra k, contida em s(i), com as regras de descarregamento e carregamento a serem armazenadas nas variáveis rd e rc, respectivamente. descarregar - Função que aplica a regra de descarregamento contida em rd na matriz B no porto i, e retorna o número de movimentos realizados, e B e T atualizadas. carregar - Função que aplica a regra de carregamento contida em rc, na matriz B, no porto i e retorna o número de movimentos realizados e B e T atualizadas.

9 Comparação de heurísticas para o problema de carregamento e descarregamento 3D de navios 279 Avaliação de uma Solução Início p 1, nmov 0, instab 0.0 inicializar(b, T ) enquanto p < N faça Início [rc, rd] = extrairregras(s(p)) Se (p > 1) instab instab+ calcdxdz(b) [aux, B, T ] = descarregar(rd, B, p) nmov nmov + aux fim Se (p < N 1) [aux, B, T ] = carregar(rc, B, T, p); instab instab+ calcdxdz(b) nmov nmov + aux fim p p + 1 retornar α nmov + β instab fim fim Figura 6. Detalhamento da avaliação de uma solução do PCCTP 3D através de simulação. calcdxdz - Função que realiza o cálculo da distância entre o centro de massa e o centro geométrico por baia d, para o navio, antes de ser descarregado e depois de ser carregado em cada porto p. As funções carregar e descarregar, empregadas no procedimento da Figura 6, utilizam as regras descritas nas Seções 3.1 e 3.2, respectivamente, e fornecem o número de movimentos realizados (dado em aux). A instabilidade do navio é calculada através da função calcdxdz. Para melhor ilustrar o funcionamento da função calcdxdz, suponha que o navio tenha o arranjo de contêineres, tal como ilustrado na Figura 7. Figura 7. Ocupação do navio porta-contêiner e sua matriz de estado B correspondente. Define-se xcm 3 como a coordenada do centro de massa relativa às linhas da baia e zcm 3 a coordenada do centro de massa relativa às colunas da baia 3. Os valores xcm 3 e zcm 3 podem ser calculados, usando a Equação 8 e a informação contida na Figura 7, como dado na Figura 8. (2 0, , , 5) xcm 3 = = 9 ( ) 6 = 1, 5 (3 0, , 5) zcm 3 = = 6 (6) 6 = 1, 0 Cálculos semelhantes podem ser realizados para a baia 2, para a obtenção de xcm 2 e zcm 2 empregando-se a Equação 8 e a informação contida na Figura 9.

10 280 Azevedo et al. Figura 8. Cálculo das coordenadas do centro de massa da baia 3. Figura 9. Cálculo das coordenadas do centro de massa da baia 2. (0 0, , , 5) xcm 2 = = 8 ( ) 4 = 2, 0 (2 0, , 5) zcm 2 = = 4 (4) 4 = 1, 0 Finalmente, para a baia 1, as coordenadas xcm 1 e zcm 1 podem ser calculadas, usando-se a Equação 8 e a Figura 10, como dado a seguir. xcm 1 = (1 0, , , 5) ( ) (2 0, , 5) zcm 1 = (2 + 0) = 2 2 = 1, 0 = 1 2 = 0, 5 De posse dos cálculos anteriores, é possível obter a medida de instabilidade para o navio, empregando a Equação 8 e a configuração de contêineres apresentada na Figura 7 e como dado a seguir. [ φ 2 (y) = (1, 5 1, 5) 2 + (2, 0 1, 5) 2 + (1, 0 1, 5) 2] + [ (1, 0 1, 0) 2 + (1, 0 1, 0) 2 + (0, 5 1, 0) 2] = 0, Avaliação de uma solução por regras (vetor de regras) Suponha que as dimensões do navio são tais como a que são apresentadas na Figura 2(a), isto é, 3 baias, 2 linhas e 2 colunas. Os dados da matriz de transporte T são dados na Tabela 2. Cada elemento T (i, j) = nc da Tabela 2 indica que nc contêineres deverão embarcar no porto (linha) i para o porto (coluna) j + 1. Por exemplo, o elemento T (2, 3) = 3 significa que, no porto 2, 3 contêineres, cujo destino é o porto 4, deverão embarcar.

11 Comparação de heurísticas para o problema de carregamento e descarregamento 3D de navios 281 Figura 10. Cálculo das coordenadas do centro de massa da baia 1. Tabela 2. Dados para a matriz de transporte T. D2 D3 D4 O O O Agora, suponha que um vetor v = [153] é proposto para este problema e que deseja-se avaliar o mesmo em termos do número de movimentos e da medida de instabilidade a partir do procedimento de simulação descrito na Figura 6. Neste caso, tal procedimento funcionaria tal como descrito a seguir. (a) B após LR1 (b) B após UR1 (c) B após LR3 (d) B após UR1 (e) B após LR2 Figura 11. A matriz de estado B associada a arrumação dos contêineres no navio após a aplicação das regras. Porto 1 - Carregamento: De acordo com o vetor de solução v, v[1] = 1, ou seja, para o porto 1 a regra 1 deve ser aplicada tal que, de acordo com a Tabela 1, a regra de carregamento LR1 deve ser usada como ilustrado na Figura 11(a). Após esta operação, as variáveis que medem o número de movimentos e a instabilidade terão os seguintes valores: instab = 2 (0.5) 2 = 0.5, nmov = 9.

12 282 Azevedo et al. Porto 2 - Descarregamento: De acordo com o vetor de solução v, v[2] = 5, ou seja, para o porto 2 a regra 5 deve ser aplicada tal que, de acordo com a Tabela 1, a regra de carregamento UR1 deve ser usada como ilustrado na Figura 11(b). Após esta operação, as variáveis que medem o número de movimentos e a instabilidade terão os seguintes valores: instab = 0, 5 + (2 0, , 0) = 0, 5 + (0, , 0) = 2, 555, nmov = = 11. Porto 2 - Carregamento: De acordo com o vetor de solução v, v[2] = 5, ou seja, para o porto 2 a regra 5 deve ser aplicada tal que, de acordo com a Tabela 1, a regra de carregamento LR3 deve ser usada como ilustrado na Figura 11(c). Após esta operação, as variáveis que medem o número de movimentos e a instabilidade terão os seguintes valores: instab = 2, (2 0, ) = 2, , 055 = 2, 610, nmov = = 15. Porto 3 - Descarregamento: De acordo com o vetor de solução v, v[3] = 3, ou seja, para o porto 3 a regra 3 deve ser aplicada tal que, de acordo com a Tabela 1, a regra de carregamento UR1 deve ser usada como ilustrado na Figura 11(d). Após esta operação, as variáveis que medem o número de movimentos e a instabilidade terão os seguintes valores: instab = 2, (2 0, , 0 + 0, 5 2 ) = 4, 91, nmov = = 21. Porto 3 - Carregamento: De acordo com o vetor de solução v, v[3] = 3, ou seja, para o porto 3 a regra 3 deve ser aplicada tal que, de acordo com a Tabela 1, a regra de carregamento LR2 deve ser usada como ilustrado na Figura 11(e). Após esta operação, as variáveis que medem o número de movimentos e a instabilidade terão os seguintes valores: instab = 4, 91 + (2 0, , ) = 5, 57, nmov = = 26. Porto 4 - Descarregamento: Para o último porto, existe apenas uma opção que é o descarregamento de contêineres do navio, e esta ação produz um número de movimentos igual a quantidade de contêineres cujo destino é o porto 4. Neste caso, os novos valores de instabilidade e número de movimentos serão: instab = 4, 91 + (2 0, , ) = 5, 57, nmov = = 26. A avaliação de um solução representada por regras, nos moldes do que foi descrito anteriormente, será empregada pelas meta-heurísticas e heurísticas descritas nas próximas seções. Tendo em vista que a principal contribuição do trabalho é o emprego da representação por regras e seu acoplamento com metaheurísticas, não foram realizados estudos detalhados sobre os melhores parâmetros a serem empregados por cada método. Assim, foi escolhido para cada método as opções mais rápidas e fáceis de serem codificadas, pois o propósito é mostrar que mesmo nestes casos, um resultado satisfatório pode ser obtido em pequeno tempo computacional. Deste modo, por exemplo, foi escolhido para o AG o método da roleta devido a sua facilidade de implementação.

13 Comparação de heurísticas para o problema de carregamento e descarregamento 3D de navios Abordagem via Algoritmo Genético, Simulated Annealing e Beam Search Um Algoritmo Genético mantém uma população de indivíduos A(t) = {A 1t,, A nt } na iteração (geração) t e cada indivíduo representa um candidato à solução do problema em questão. Na implementação computacional aqui utilizada, o indivíduo é representado através da coluna A i, da matriz A (Holland, 1975; Michalewicz, 1996). Cada solução A it é avaliada e produz alguma medida de adaptação, ou fitness, então, uma nova população é formada na iteração t + 1 pela seleção dos indivíduos mais adaptados. Alguns indivíduos da população são submetidos a um processo de alteração por meio de operadores genéticos para formar novas soluções. Existem transformações unárias m i (mutação) que criam novos indivíduos através de pequenas modificações de atributos em um indivíduo (m i : A i A i ), e transformações de ordem superior c j (crossover), que criam novos indivíduos através da combinação de dois ou mais indivíduos (c j : A j...a k A j ). Após um número de gerações, a condição de parada deve ser atendida, seja porque existe, na população, um indivíduo que represente uma solução aceitável para o problema, seja porque o número máximo de gerações foi atingido. O Algoritmo Genético deste capítulo combina a representação de soluções com o esquema de regras descrito na Seção 3. Com isto os indivíduos são codificados em uma notação compacta que sempre fornece soluções factíveis. Esta estratégia permite o tratamento de problemas de maior porte em tempo computacional razoável. Maiores detalhes sobre o Algoritmo Genético para o PCCTP 3D é dado em Azevedo et al. (2011b). A meta-heurística Simulated Annealing (SA) é um algoritmo de busca local capaz de escapar de ótimos locais, permitindo movimentos para soluções com valor da função objetivo piores que o valor da função objetivo da solução corrente. A facilidade de implementação, as propriedades de convergência e o uso de movimentos de subida (hill-climbing) com o objetivo de escapar de ótimos locais contribuíram para que se tornasse uma técnica muito popular em Otimização Combinatória (Henderson et al., 2003). As origens do algoritmo se fundamentam na Mecânica Estatística, a idéia da meta-heurística tendo sido inspirada no processo de recozimento de metais e vidro, o qual assume uma configuração de baixa energia quando inicialmente aquecido e então resfriado lentamente (Aguilera et al., 2008). O algoritmo SA foi inicialmente apresentado como um algoritmo de busca para problemas de Otimização Combinatória em Kirkpatrick et al. (1983). Detalhes sobre o SA para o PCCTP 3D são fornecidos em Azevedo et al. (2011a). O algoritmo do Beam Search (BS) é um método do tipo Enumeração Implícita para resolver problemas de Otimização Combinatória (Sabuncuoglu & Baviz, 1999; Croce & T Kindt, 2002; Fox, 1983; Valente et al., 2005). Pode-se dizer que ele é uma adaptação do método de Branch and Bound onde somente os nós mais promissores de cada nível da árvore de decisões (atribuições) são guardados na memória para serem visitados, enquanto que os demais nós são descartados permanentemente. Como uma grande parte dos nós da árvore de atribuições é descartada, sem ser analisado, o tempo de execução do BS é polinomial com relação ao tamanho do problema. Em resumo pode-se dizer que o BS é uma técnica de busca em árvore de decisão que em cada nível da árvore é analisado um número fixo de nós e, por conseguinte, um número fixo de soluções. Maiores detalhes acerca da implementação do BS para o problema PCCTP 3D podem ser encontrados em Azevedo et al. (2012). 5. Resultados Obtidos Para testar o algoritmo desenvolvido, foram geradas automática e aleatoriamente 15 instâncias 1. Estas instâncias são classificadas de acordo com o número de portos e o tipo da matriz de transporte. Para cada instância é gerada uma matriz de transporte T, tal que a capacidade do navio não será excedida em nenhum porto, isto é, o valor de p dado pela Equação 10 deve ser menor ou igual a D R C para todo porto p, isto porque a matriz de transporte é factível desde que a Equação 10 seja satisfeita. p N i=1 j=p+1 D R C, p = 1,, N. (10) De acordo com Avriel et al. (1998) podem ser gerados três tipos de matriz de transporte: 1-Mista, 2- Longa distância e 3-Curta distância. Uma matriz do tipo 3 se refere ao transporte de contêineres que vão percorrer poucos portos antes de serem desembarcados. Já uma matriz do tipo 2 se refere a contêineres que vão percorrer muitos portos antes de serem desembarcados. Uma matriz do tipo mista combina os dois tipos anteriores. As instâncias foram classificadas de acordo com a quantidade de portos a serem percorridos, o tipo da matriz de transporte e a capacidade do navio. Neste trabalho foi suposto um navio com as seguintes dimensões (D R C): , resultando na seguinte capacidade máxima: 1500 contêineres. 1 As instâncias utilizadas nos testes estão disponíveis em:

14 284 Azevedo et al. As Tabelas 3, 4 e 5 mostram os resultados obtidos com a melhor solução após 5 rodadas de AG, 5 rodadas de SA e 1 rodada do BS para as 15 instâncias, respectivamente. As tabelas possuem as colunas relacionadas a seguir: I: o número da instância; M: o tipo da matriz de transporte; N: o número de portos; NMin: o número mínimo de movimentos a serem realizados com os contêineres; F.O.1: os valores da função objetivo em termos do número total de movimentos realizados com os contêineres até a chegada no último porto (como dado pela Equação 7); F.O.2: os valores de instabilidade de acordo com o arranjo de contêineres e com a Equação 8; e T : tempo computacional em segundos. Tabela 3. Resultados do AG para dois pares de valores de α e β. I N M Nmin α = 1 e β = 0 α = 0 e β = 1 FO1 FO2 T FO1 FO2 T , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Tabela 4. Resultados do SA para dois pares de valores de α e β. I N M Nmin α = 1 e β = 0 α = 0 e β = 1 FO1 FO2 T FO1 FO2 T , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Note-se que os valores de F.O.1, F.O.2 e T são apresentados para dois pares de α e β: (α = 1, β = 0) e (α = 0, β = 1). Note-se ainda que os resultados apresentados para (α = 1, β = 0) correspondem à melhor solução obtida com o objetivo de minimizar o número de movimentos para cada instância e que para 7 instâncias o número de movimentos (F O1) encontrado é até 2% maior que o número mínimo (Nmin), para 5 instâncias o número mínimo é até 10% maior e apenas 3 instâncias até 14%. Já para (α = 0, β = 1) como o objetivo é minimizar a medida de instabilidade, apresenta maior número de movimentos (F O1), mas soluções com medida de instabilidade significativa menor (F O2). Estes dados confirmam que a minimização do número de movimentos e da instabilidade são objetivos conflitantes. O número mínimo de movimentos é obtido multiplicando-se por dois o valor do somatório de T ij calculado de acordo com a Equação 7. Observe-se que este valor é o limitante inferior para o número total de movimentos a serem realizados ao longo do percurso do navio. Os resultados de todos os métodos foram obtidos com um programa desenvolvido em Matlab 7.0 e executado num computador Intel Core 2Duo 2.20 GHz (E4500), 2GB RAM, Windows XP 2002 (SP3).

15 Comparação de heurísticas para o problema de carregamento e descarregamento 3D de navios 285 Tabela 5. Resultados do BS para dois pares de valores de α e β. I N M Nmin α = 1 e β = 0 α = 0 e β = 1 FO1 FO2 T FO1 FO2 T FO1 FO2 T FO1 FO2 T , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , A primeira observação importante acerca dos resultados das Tabelas 3, 4 e 5 é sobre o tempo computacional gasto pelos métodos. É importante observar que para a formulação dada pelas Equações 1-8 as instâncias com 30 portos são problemas tais que uma única solução deve ser representada por variáveis inteiras (30 portos, 5 baias, 6 linhas e 50 colunas). Para estas instâncias o SA, por exemplo, consegue produzir boas soluções em menos de 1 hora. Pode-se observar também que, de forma geral, um aumento de 5 no número de portos a serem percorridos, de uma instância para outra, produz em média um aumento de mais ou menos 7 minutos no tempo computacional gasto pelo SA. Por exemplo, em instâncias com 10 portos leva-se 27 minutos e 30 segundos para se obter uma solução, ao passo que em instâncias com 15 portos leva-se, em média, 34 minutos. O BS apesar de ter apresentado os maiores tempos computacionais também foi o que apresentou os melhores resultados para a maioria das instâncias e para as duas funções objetivo. Espera-se, ainda, que futuras implementações em linguagem C venham a reduzir o tempo computacional de solução para todos os métodos. Os resultados indicam que para as instâncias em que a função objetivo visa minimizar o número de movimentos (α = 1, β = 0) e a matriz de transporte é do tipo curta distância (tipo 3) as regras são bastante adequadas e produzem resultados muito próximos do limite inferior do número de movimentos, e chegam mesmo a quase atingir este limite, como no caso para 10, 15 e 20 portos produzem soluções com distância de 0, 16%, 0, 32% e 0, 09%, respectivamente. Já para as instâncias em que a matriz de transporte é do tipo média distância (tipo 1) e longa distância (tipo 2), todos os métodos apresentaram soluções cujo número de movimentos é ligeiramente maior que o limitante inferior. Estes resultados indicam a necessidade de se incorporar ao sistema um número maior de regras que levem em consideração a arrumação de contêineres que permanecerão um longo período de tempo dentro do navio. Porém, quando a função objetivo visa minimizar a medida de instabilidade (α = 0, β = 1) as soluções apresentadas por todos os métodos têm um razoável aumento no número de movimentos, mas com uma significativa melhora na medida de instabilidade. Em algumas instâncias esta medida pode ser até 50 vezes menor em comparação com a solução encontrada na minimização do número de movimentos (instância 2). As Figuras 12, 13 e 14 ajudam a melhor ilustrar este tradeoff entre as duas funções objetivo, bem como a natureza bi-objetivo do problema. Figura 12. Disposição dos contêineres no navio para o porto 2 para a melhor solução encontrada com o AG, o SA e o BS para (α = 1, β = 0).

16 286 Azevedo et al. Figura 13. Disposição dos contêineres no navio para o porto 2 para a melhor solução encontrada com o AG e o SA para (α = 0, β = 1). Figura 14. Disposição dos contêineres no navio para o porto 2 para a melhor solução encontrada com o BS para (α = 0, β = 1). 6. Conclusões Este capítulo apresentou uma nova representação de soluções para o problema de carregamento de contêineres 3D em terminais portuários (PCCTP 3D). Esta nova representação permite reduzir a quantidade de informações necessárias para se representar uma solução tal que soluções próximas do limitante inferior do número de movimentos podem ser obtidas em pequeno tempo computacional. Este capítulo tem três inovações, a saber: a primeira delas é que ele apresenta uma nova formulação tridimensional para o problema de carregamento de contêineres em terminais portuários (PCCTP 3D). Esta nova representação permite a consideração de medidas de instabilidade acerca do arranjo dos contêineres no navio, além da medida acerca do número de movimentos para carregar e descarregar um navio. A segunda inovação é o uso da representação com regras, cuja aplicação teve êxito no problema 2D, e que também no problema 3D reduz consideravelmente o número de variáveis do problema reduzindo assim a quantidade de informações necessárias para se representar uma solução. Na formulação dada pelas Equações 1-8 as informações devem ser armazenadas num vetor de tamanho (D R C) (N + N 3 ). Na representação aqui utilizada o tamanho do vetor é N 1. Tendo em vista que D R C expressa o número de contêineres que podem ser armazenados em um navio e que N representa o número de portos, a representação da solução aqui utilizada permite uma enorme redução do tempo computacional para instâncias com grande número de portos. Para tanto, a representação emprega regras que definem como será carregado e descarregado o navio e as regras garantem que as soluções obtidas são sempre factíveis. A terceira inovação é que a utilização de regras de carregamento e descarregamento permite a incorporação, no sistema computacional, do conhecimento do profissional responsável por este serviço no porto. Esta incorporação é feita através da criação e implantação de novas regras. Esta maneira de representar o PCCTP em conjunto com a aplicação de regras, é uma alternativa promissora na resolução deste problema, até porque assim como se podem acrescentar novas regras, também se podem utilizar outras heurísticas, como por exemplo, o ILS ou o VNS. Futuramente pretende-se testar uma abordagem multiobjetivo na obtenção de soluções e testes com outras medidas de instabilidade do navio. Agradecimentos Os autores agradecem à FAPESP pelo apoio financeiro através dos processos 2009/ , 2010/ , , 2010/ e 2011/

17 Comparação de heurísticas para o problema de carregamento e descarregamento 3D de navios 287 Referências Aguilera, M.J.B.; Roli, A. & Sampels, M., Hybrid Metaheuristics: an Emerging Approach to Optimization. 1 st edição. Berlin, Germany: Springer, Ambrosino, D.; Sciomachen, A. & Tanfani, E., A decomposition heuristics for the container ship stowage problem. Journal of Heuristics, 12(3): , Avriel, M.; Penn, M. & Shpirer, N., Container ship stowage problem: complexity and connection to the coloring of circle graphs. Discrete Applied Mathematics, 103(1-3): , Avriel, M.; Penn, M. & Wittenboon, S., Stowage planning for container ships to reduce the number of shifts. Annals of Operations Research, 76(1):55 71, Azevedo, A.T.; Ribeiro, C.M.; Chaves, A.A.; Sena, G.J.; Leduino, L.S.N. & Moretti, A.C., Solving the 3D container ship stowage problem by using simulated annealing and representation by rules. In: Proceedings of XXXII Iberian Latin American Congress on Computational Methods in Engineering. p. 1 15, 2011a. Azevedo, A.T.; Ribeiro, C.M.; Chaves, A.A.; Sena, G.J.; Leduino, L.S.N. & Moretti, A.C., Solving the 3D containership stowage loading planning problem by representation by rules and beam search. In: Proceedings of First International Conference on Operations Research and Enterprise Systems. p , Azevedo, A.T.; Ribeiro, C.M.; Leduino, L.S.N.; Silva, M.P.E. & Sivestre, M.C., Resolução do problema de carregamento e descarregamento 3D de contêineres em terminais portuários via representação por regras e algoritmo genético. Gestão da Produção, Operações e Sistemas, 1(4):91 110, 2011b. Croce, F.D. & T Kindt, V., A recovering beam search algorithm for the one-machine dynamic total completion time scheduling problem. Journal of the Operational Research Society, 53(11): , Fox, M.S., Constraint-Directed Search: A case Study of Job-Shop Scheduling. PhD thesis, Henderson, D.; Jacobson, S.H. & Johnson, A.W., The theory and practice of simulated annealing. In: Glover, F. & Kochenberger, G.A. (Eds.), Handbook of Metaheuristics. New York, USA: Kluwer Academic Publishers, v. 57, 1 st edição, p , Holland, J.H., Adaptation in natural and artificial systems. 1 st edição. Ann Arbor, USA: The University of Michigan Press, Kirkpatrick, S.; Gelatt, C.D. & Vecchi, M.P., Optimization by simulated annealing. Journal of the Operational Research Society, 220(4598): , Michalewicz, Z., Genetic Algorithms + Data Structures = Evolution Programs. 3 rd edição. Berlin/Heidelberg, Germany: Springer-Verlag, Sabuncuoglu, I. & Baviz, M., Job shop scheduling with beam search. European Journal of Operational Research, 118(2): , Valente, J.M.; Alves, R.A.F.S. & Rui, A.F.S., Filtered and recovering beam search algorithm for the early/tardy scheduling problem with no idle time. Computers & Industrial Engineering, 48(2): , Wilson, I. & Roach, P., Container stowage planning: a methodology for generating computerised solutions. Journal of the Operational Research Society, 51(11): , 2000.

Palavras-chave: Carregamento de Contêineres em Navios; Algoritmo Genético; Beam Search.

Palavras-chave: Carregamento de Contêineres em Navios; Algoritmo Genético; Beam Search. ISSN 275-6295 Rio de Janeiro- Brasil, 2 e 3 de agosto de 200 COMPARAÇÃO DE HEURÍSTICAS NA RESOLUÇÃO DO PROBLEMA DE CARREGAMENTO E DESCARREGAMENTO DE CONTÊINERES EM TERMINAIS PORTUÁRIOS VIA REPRESENTAÇÃO

Leia mais

RESOLUÇÃO DO PROBLEMA DE CARREGAMENTO E DESCARREGAMENTO DE CONTÊINERES EM TERMINAIS PORTUÁRIOS VIA BEAM SEARCH

RESOLUÇÃO DO PROBLEMA DE CARREGAMENTO E DESCARREGAMENTO DE CONTÊINERES EM TERMINAIS PORTUÁRIOS VIA BEAM SEARCH RESOLUÇÃO DO PROBLEMA DE CARREGAMENTO E DESCARREGAMENTO DE CONTÊINERES EM TERMINAIS PORTUÁRIOS VIA BEAM SEARCH Cassilda Maria Ribeiro FEG - Faculdade de Engenharia de Guaratinguetá - UNESP Av. Ariberto

Leia mais

ABSTRACT This paper proposes a Simulated Annealing approach to Tsolve the TContainer Ship

ABSTRACT This paper proposes a Simulated Annealing approach to Tsolve the TContainer Ship T O PROBLEMA DE CARREGAMENTO E DESCARREGAMENTO DE CONTÊINERES EM TERMINAIS PORTUÁRIOS: UMA ABORDAGEM VIA SIMULATED ANNEALING Anibal Tavares Azevedo FEG - Faculdade de Engenharia de Guaratinguetá - UNESP

Leia mais

Resolução do Problema de Carregamento. Múltiplos Cenários via Representação

Resolução do Problema de Carregamento. Múltiplos Cenários via Representação Processos Decisórios Resolução do Problema de Carregamento e Descarregamento D de Contêineres de Navios em Terminais Portuários para Múltiplos Cenários via Representação por Regras e Algoritmo Genético

Leia mais

MOTIVAÇÃO REVISTA EXAME, EDIÇÃO 1001, ANO 45, NO. 18, PP , 05/10/2011

MOTIVAÇÃO REVISTA EXAME, EDIÇÃO 1001, ANO 45, NO. 18, PP , 05/10/2011 Emprego de Simulação, Algoritmos Genéticos e Sistema de Aprendizado Participativo na Resolução do Problema de Carregamento e Descarregamento 3D de Contêineres em Terminais Portuários para Múltiplos Cenários

Leia mais

unesp UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO CAMPUS DE GUARATINGUETÁ FÁBIO MASCAGNA BITTENCOURT LIMA

unesp UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO CAMPUS DE GUARATINGUETÁ FÁBIO MASCAGNA BITTENCOURT LIMA unesp UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO CAMPUS DE GUARATINGUETÁ FÁBIO MASCAGNA BITTENCOURT LIMA RESOLUÇÃO DO PROBLEMA DE CARREGAMENTO E DESCARREGAMENTO DE CONTÊINERES EM TERMINAIS

Leia mais

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

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C Simulated Annealing (2//7). C2 Busca Tabu (22//7). C3 Colônia de Formigas

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

4 Métodos Existentes. 4.1 Algoritmo Genético

4 Métodos Existentes. 4.1 Algoritmo Genético 61 4 Métodos Existentes A hibridização de diferentes métodos é em geral utilizada para resolver problemas de escalonamento, por fornecer empiricamente maior eficiência na busca de soluções. Ela pode ser

Leia mais

Uma heurística GRASP para resolução do problema de carregamento e descarregamento de contêineres em navios portacontêineres

Uma heurística GRASP para resolução do problema de carregamento e descarregamento de contêineres em navios portacontêineres Uma heurística GRASP para resolução do problema de carregamento e descarregamento de contêineres em navios portacontêineres Amaro José de Souza Neto amaro.neto@gmail.com Dalessandro Soares Vianna dalessandro@pq.cnpq.br

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

Alexandre Cesar Muniz de Oliveira Universidade Federal do Maranhão (UFMA DEINF/PPGCC) Av. dos Portugueses, 1966, São Luís/MA

Alexandre Cesar Muniz de Oliveira Universidade Federal do Maranhão (UFMA DEINF/PPGCC) Av. dos Portugueses, 1966, São Luís/MA UMA APLICAÇÃO DAS METAHEURÍSTICAS ALGORITMO GENÉTICO E COLÔNIA ARTIFICIAL DE ABELHAS ATRAVÉS DA CODIFICAÇÃO POR REGRAS PARA RESOLVER O PROBLEMA DE CARREGAMENTO DE NAVIOS- CONTÊINERES Luziana F. Carraro

Leia mais

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

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

HEURÍSTICAS GRASP E ILS PARA O PLANEJAMENTO DE ESTOCAGEM DE CONTÊINERES EM NAVIOS PORTA-CONTÊINERES

HEURÍSTICAS GRASP E ILS PARA O PLANEJAMENTO DE ESTOCAGEM DE CONTÊINERES EM NAVIOS PORTA-CONTÊINERES HEURÍSTICAS GRASP E ILS PARA O PLANEJAMENTO DE ESTOCAGEM DE CONTÊINERES EM NAVIOS PORTA-CONTÊINERES Amaro José de S. Neto Universidade Candido Mendes (UCAM-Campos) Rua Anita Pessanha, 100, Parque São Caetano,

Leia mais

Resolução do problema de carregamento e descarregamento 3D de contêineres em terminais portuários, via representação por regras e algoritmo genético

Resolução do problema de carregamento e descarregamento 3D de contêineres em terminais portuários, via representação por regras e algoritmo genético Resolução do problema de carregamento e descarregamento 3D de contêineres em terminais portuários, via representação por regras e algoritmo genético Anibal Tavares de Azevedo (UNICAMP SP/Brasil) - anibal.azevedo@fca.unicamp.br

Leia mais

XLVI Pesquisa Operacional na Gestão da Segurança Pública

XLVI Pesquisa Operacional na Gestão da Segurança Pública PARETO CLUSTERING SEARCH APLICADO AO PROBLEMA DE CARREGAMENTO DE CONTÊINERES EM NAVIOS Eliseu Junio Araújo Antônio Augusto Chaves Luiz Leduino de Salles Neto Anibal Tavares de Azevedo Universidade Federal

Leia mais

Uma Heurística ILS para Resolução do Problema de Carregamento e Descarregamento de Contêineres em Navios Porta-contêineres

Uma Heurística ILS para Resolução do Problema de Carregamento e Descarregamento de Contêineres em Navios Porta-contêineres Uma Heurística ILS para Resolução do Problema de Carregamento e Descarregamento de Contêineres em Navios Porta-contêineres Amaro José de S. Neto 1, Dalessandro S. Vianna 2, Marcilene de Fátima D. Vianna

Leia mais

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

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO METAHEURÍSTICAS: É uma das primeiras metaheurísticas que foi utilizada com muito sucesso nos problemas complexos de pesquisa operacional. O S.A surgiu do campo

Leia mais

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

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática

Leia mais

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

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid 1 Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid Luciana Conceição Dias Campos Resumo Este trabalho consiste da aplicação de um algoritmo genético ao método

Leia mais

Buscas Informadas ou Heurísticas - Parte III

Buscas Informadas ou Heurísticas - Parte III Buscas Informadas ou Heurísticas - Parte III Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Mestrado em Ciência da Computação / 2006 BUSCA SMA* (Simplified Memory-Bounded A*) BUSCA SMA* (Simplified

Leia mais

RAFAEL LOPES BONFIM DESENVOLVIMENTO DE EXTENSÕES PARA UM SISTEMA DE CARREGAMENTO E DESCARREGAMENTO DE NAVIOS

RAFAEL LOPES BONFIM DESENVOLVIMENTO DE EXTENSÕES PARA UM SISTEMA DE CARREGAMENTO E DESCARREGAMENTO DE NAVIOS RAFAEL LOPES BONFIM DESENVOLVIMENTO DE EXTENSÕES PARA UM SISTEMA DE CARREGAMENTO E DESCARREGAMENTO DE NAVIOS Guaratinguetá 2013 RAFAEL LOPES BONFIM DESENVOLVIMENTO DE EXTENSÕES PARA UM SISTEMA DE CARREGAMENTO

Leia mais

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL Mirella Augusta Sousa Moura, mirella.asm14@hotmail.com Thiago Alves de Queiroz, th.al.qz@catalão.ufg.br Resumo: Empacotamento consiste

Leia mais

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante: Algoritmos Genéticos Prof. Luis Otavio Alvares INE/UFSC Características de alguns problemas Tamanho do espaço de busca- Ex. caixeiro viajante: 10 cidades: 181.000 soluções 20 cidades: 10.000.000.000.000

Leia mais

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

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Flávia Barbosa UNICAMP Antônio Carlos Moretti UNICAMP

Flávia Barbosa UNICAMP Antônio Carlos Moretti UNICAMP O Problema de Alocação de Berços: Aspectos Teóricos e Computacionais Flávia Barbosa UNICAMP flaflabarbosa0@gmail.com Antônio Carlos Moretti UNICAMP moretti@ime.unicamp.br Luiz Leduíno de Salles Neto UNIFESP

Leia mais

3 Extensões dos modelos matemáticos

3 Extensões dos modelos matemáticos 3 Extensões dos modelos matemáticos Os modelos matemáticos definidos por (2-1) (2-6) e (2-7) (2-13), propostos por Achuthan e Caccetta e apresentados no Capítulo 2, são reforçados neste trabalho através

Leia mais

Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração Pesquisa Operacional Aplicada à Mineração Módulo de Otimização Parte II-b Prof. Marcone J. F. Souza Prof. Túlio A. M. Toffolo marcone.freitas@yahoo.com.br tulio@toffolo.com.br Departamento de Computação

Leia mais

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

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colônia

Leia mais

Marcone Jamilson Freitas Souza

Marcone Jamilson Freitas Souza Otimização: Algumas aplicações Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Ciência da Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/prof/marcone

Leia mais

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

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

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

Otimização por Colônia de Formigas (ACO) Otimização por Colônia de Formigas (ACO) Inspiração Biológica Proposto por Dorigo e Gambardella em 1997 ACO (Ant Colony Optimization) Principal aplicação no PCV Programação do algoritmo Inspiração Biológica

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Algoritmos Genéticos Aluno: Fabricio Aparecido Breve Prof.: Dr. André Ponce de Leon F. de Carvalho São Carlos São Paulo Maio

Leia mais

Uma Introdução à Busca Tabu André Gomes

Uma Introdução à Busca Tabu André Gomes Uma Introdução à Busca Tabu André Gomes Departamento de Ciência da Computação, Instituto de Matemática e Estatística, Universidade de São Paulo, SP, Brasil Novembro de 2009 INTRODUÇÃO Método de Busca Local

Leia mais

Algoritmos Genéticos e Evolucionários

Algoritmos Genéticos e Evolucionários Algoritmos Genéticos e Evolucionários Djalma M. Falcão COPPE/UFRJ PEE e NACAD falcao@nacad.ufrj.br http://www.nacad.ufrj.br/~falcao/ http://www.nacad.ufrj.br/~falcao/ag/ag.htm Resumo do Curso Introdução

Leia mais

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

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS Rosiana da Silva Lopes Danilo César Rodrigues Azevedo rosianalopes16@gmail.com danilo.azevedo@ufpi.edu.br.com

Leia mais

Branch-and-Bound para problemas de Otimização Combinatória

Branch-and-Bound para problemas de Otimização Combinatória para problemas de Otimização Combinatória Rafael Antônio Marques Gomes Orientador: Haroldo Gambini Santos Departamento de Computação UFOP 26 de julho de 2011 Rafael Antônio Marques Gomes BB para problemas

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

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

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão 1 CAPÍTULO O MÉTODO SIMULATED ANNEALING APLICADO EM LOCALIZAÇÃO E ROTEAMENTO Ferreira, Kamyla Maria 1 * ; Queiroz, Thiago Alves de 2 1 Unidade de Matemática e Tecnologia, Universidade Federal de Goiás

Leia mais

BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4

BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4 BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4 1 Roteiro Algoritmos de Busca Local Subida de encosta (Hill-climbing) Têmpera Simulada (Simulated Anealing)

Leia mais

5 VNS com Filtro e Reconexão por Caminhos

5 VNS com Filtro e Reconexão por Caminhos 5 VNS com Filtro e Reconexão por Caminhos A metaheurística VNS (Variable Neighborhood Search) foi proposta por Mladenović e Hansen [40] e possui como idéia básica a mudança de vizinhanças realizada da

Leia mais

Teoria da Decisão. Introdução às Metaheurísticas. Prof. Lucas S. Batista. lusoba

Teoria da Decisão. Introdução às Metaheurísticas. Prof. Lucas S. Batista.   lusoba Teoria da Decisão Introdução às Metaheurísticas Prof. Lucas S. Batista lusoba@ufmg.br www.ppgee.ufmg.br/ lusoba Universidade Federal de Minas Gerais Escola de Engenharia Graduação em Engenharia de Sistemas

Leia mais

Marina Andretta. 10 de outubro de Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis.

Marina Andretta. 10 de outubro de Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Solução básica viável inicial Marina Andretta ICMC-USP 10 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211

Leia mais

DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB

DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB A. H. R. REZENDE 1, D. L. SOUZA 1 1 Universidade Federal do Triângulo Mineiro,

Leia mais

Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo

Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo Lucas Yamada Scardoelli (EESC/USP) scarty@terra.com.br R. General Glicério, 340, Centro, CEP 15900-000, Taquaritinga,

Leia mais

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Gabriel Freytag Guilherme Arruda Rogério S. M. Martins Edson L. Padoin Universidade Regional do Noroeste do Estado do Rio Grande

Leia mais

MÉTODO HEURÍSTICO HÍBRIDO PARA RESOLUÇÃO DO PROBLEMA DE LOCALIZAÇÃO DE FACILIDADES CAPACITADAS EM DOIS NÍVEIS

MÉTODO HEURÍSTICO HÍBRIDO PARA RESOLUÇÃO DO PROBLEMA DE LOCALIZAÇÃO DE FACILIDADES CAPACITADAS EM DOIS NÍVEIS MÉTODO HEURÍSTICO HÍBRIDO PARA RESOLUÇÃO DO PROBLEMA DE LOCALIZAÇÃO DE FACILIDADES CAPACITADAS EM DOIS NÍVEIS Rômulo Louzada Rabello Universidade Federal do Espírito Santo Alegre, ES, 29500-00, Brasil

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 1.7. Outras Metaheurísticas Populacionais 1.7.1. Metaheurísticas Populacionais

Leia mais

Método Simplex. Marina Andretta ICMC-USP. 19 de outubro de 2016

Método Simplex. Marina Andretta ICMC-USP. 19 de outubro de 2016 Método Simplex Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização linear

Leia mais

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan Exemplo de Aplicação de Algoritmos Genéticos Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br cear.ufpb.br/juan Estrutura do Algoritmo Genético Algoritmo genético Inicio t = 0 inicializar P(t)

Leia mais

UMA APLICAÇÃO DA METAHEURÍSTICA ALGORITMO GENÉTICO AO PROBLEMA DE CARREGAMENTO DE NAVIOS-CONTÊINERES

UMA APLICAÇÃO DA METAHEURÍSTICA ALGORITMO GENÉTICO AO PROBLEMA DE CARREGAMENTO DE NAVIOS-CONTÊINERES Versão inicial submetida em 18/02/2011. Versão final recebida em 31/08/2011. Rio de Janeiro, v.4, n.1, p. 52-64, janeiro a abril de 2012 UMA APLICAÇÃO DA METAHEURÍSTICA ALGORITMO GENÉTICO AO PROBLEMA DE

Leia mais

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS Uma visão geral dos GAs Um algoritmo genético é uma classe de algoritmo de busca. O algoritmo procura uma solução dentro de um espaço para um problema de otimização.

Leia mais

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL META-HEURÍSTICA SIMULATED ANNEALING APLICADA AO PROBLEMA DE CORTE BIDIMENSIONAL NÃO-GUILHOTINADO Gelinton Pablo Mariano Mestrando em Informática - Universidade Federal do Espírito Santo Av. Fernando Ferrari,

Leia mais

Marina Andretta. 02 de agosto de 2010

Marina Andretta. 02 de agosto de 2010 Introdução Marina Andretta ICMC-USP 02 de agosto de 2010 Marina Andretta (ICMC-USP) sme0212 - Otimização não-linear 02 de agosto de 2010 1 / 19 Otimização Otimizar significa encontrar a melhor maneira

Leia mais

Algoritmo heurístico para agrupamento de ordens de serviço em concessionárias de distribuição de energia elétrica considerando priorização

Algoritmo heurístico para agrupamento de ordens de serviço em concessionárias de distribuição de energia elétrica considerando priorização 1/5 Title Algoritmo heurístico para agrupamento de ordens de serviço em concessionárias de distribuição de energia elétrica considerando priorização Registration Nº: (Abstract) xxx Company 1. Universidade

Leia mais

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016 Método Simplex dual Marina Andretta ICMC-USP 24 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização

Leia mais

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

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão 5 CAPÍTULO BUSCA EM VIZINHANÇA VARIÁVEL PARA LOCALIZAÇÃO E ROTEAMENTO Silva, Lorrany Cristina da 1 *; Queiroz, Thiago Alves de 2 1 Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional

Leia mais

6 Experimentos realizados

6 Experimentos realizados 6 Experimentos realizados 6.1 Considerações iniciais Resolvemos os modelos de PLIM utilizando o resolvedor CPLEX, baseado no método de branch-and-bound. Resolvemos as relaxações lineares dos mesmos modelos

Leia mais

Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições

Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições > REVISTA DE INTELIGÊNCIA COMPUTACIONAL APLICADA (ISSN: XXXXXXX), Vol. X, No. Y, pp. 1-10 1 Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições Jarbas Silva Abstract Neste

Leia mais

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

Um algoritmo pseudo-periférico genérico para a heurística de Snay Trabalho apresentado no CNMAC, Gramado - RS, 2016. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics Um algoritmo pseudo-periférico genérico para a heurística de Snay

Leia mais

Lista 1. 8 de abril de Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b.

Lista 1. 8 de abril de Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b. Lista 1 8 de abril de 2013 1 Exercícios Básicos 1.1 Na bibliografia Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b. 1.2 Outros 1. Projete

Leia mais

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

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco. CONCEITOS DE REDE Uma rede é formada por um conjunto de nós, um conjunto de arcos e de parâmetros associados aos arcos. Nós Arcos Fluxo Interseções Rodovias Veículos Rodoviários Aeroportos Aerovia Aviões

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então

Leia mais

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

4 Testes e experimentos realizados 4.1. Implementação e banco de dados 32 4 Testes e experimentos realizados 4.1. Implementação e banco de dados Devido à própria natureza dos sites de redes sociais, é normal que a maior parte deles possua uma grande quantidade de usuários

Leia mais

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

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS João Vitor Moccellin Departamento de Engenharia de Produção Escola de Engenharia de São Carlos, Universidade de São Paulo. Av. Trabalhador

Leia mais

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Figura 3.1: Fluxograma do algoritmo da Programação Genética. 3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a

Leia mais

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

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES João Ricardo Kohler Abramoski (PAIC/FUNDAÇÃO ARAUCÁRIA), Sandra Mara Guse Scós Venske (Orientadora), e-mail: ssvenske@unicentro.br

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

Uma heurística para o problema sequenciamento de tarefas com restrições adicionais em um centro de distribuição

Uma heurística para o problema sequenciamento de tarefas com restrições adicionais em um centro de distribuição Trabalho apresentado no XXXVII CNMAC, S.J. dos Campos - SP, 2017. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics Uma heurística para o problema sequenciamento de tarefas

Leia mais

Representação de Arranjos

Representação de Arranjos Representação de Arranjos Algoritmos e Estruturas de Dados I Embora os arranjos multidimensionais sejam fornecidos como um objeto de dados padrão na maioria das linguagens de programação em alto nível,

Leia mais

Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina

Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina Trabalho apresentado no XXXV CNMAC, Natal-RN, 2014. Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina Carlos E. Ferreira Instituto de Matemática e Estatística, IME, USP 05508-090,

Leia mais

3 Metaeurísticas e Resolvedores MIP

3 Metaeurísticas e Resolvedores MIP 3 Metaeurísticas e Resolvedores MIP A combinação entre metaeurísticas e resolvedores MIP é uma estratégia relativamente recente, tendo seus primeiros estudos realizados ao longo da última década. O survey

Leia mais

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação Anais do CNMAC v.2 ISSN 1984-820X Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação Dependente da Seqüência de

Leia mais

Otimização de horários Seminário. Clarisse Resende 25/01/2013

Otimização de horários Seminário. Clarisse Resende 25/01/2013 Otimização de horários Seminário Clarisse Resende 25/01/2013 O problema dos horários consiste numa sequência de atividades de programação, satisfazendo um conjunto de restrições de recursos. Pretende-se

Leia mais

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

Algoritmos de Caminho Mínimo Parte 1

Algoritmos de Caminho Mínimo Parte 1 Algoritmos de Caminho Mínimo Parte 1 A journey of a thousand miles starts with a single step and if that step is the right step, it becomes the last step. Index 1. Introduction 2. Applications 3. Tree

Leia mais

Métodos de Ordenação Parte I

Métodos de Ordenação Parte I Estrutura de Dados II Métodos de Ordenação Parte I Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Rearranjar

Leia mais

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

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

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

Planejamento para fundições: uma aplicação do método das K-melhores mochilas. 1 Introdução Planejamento para fundições: uma aplicação do método das K-melhores mochilas Murilo S. Pinheiro, Franklina M.B. Toledo, Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, Av.

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução

Leia mais

Busca com informação e exploração. Inteligência Artificial

Busca com informação e exploração. Inteligência Artificial Busca com informação e exploração (Capítulo 4 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura Busca pela melhor escolha Busca gulosa pela melhor escolha Busca

Leia mais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial Algoritmos Genéticos Texto base: Stuart Russel e Peter Norving - Inteligência Artificial junho/2007 Algoritmo Genético Uma variante da busca em feixe estocástica Estado sucessor gerado pela combinação

Leia mais

PEA 2522 MÉTODOS DE OTIMIZAÇÃO. Otimização

PEA 2522 MÉTODOS DE OTIMIZAÇÃO. Otimização PEA MÉTODOS DE OTIMIZAÇÃO Otimização Definir claramente o problema a ser resolvido Estabelecer os limites físicos (capacidades, restrições) Definir o modelo matemático adequado PEA 8 - PLANEJAMENTO DE

Leia mais

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR ALGORITMOS GENÉTICOS Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Introdução Algoritmos Genéticos são algoritmos heurísticos de busca, que utilizam regras

Leia mais

TABELAS DE DISPERSÃO/HASH

TABELAS DE DISPERSÃO/HASH 1/47 TABELAS DE DISPERSÃO/HASH Introdução 2/47 Introdução Motivação - Considerar o problema de pesquisar um determinado valor num vetor: - Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade

Leia mais

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

3 Decisões de Localização de Instalações 3 Decisões de Localização de Instalações Historicamente, o estudo contemporâneo dos problemas de localização foi iniciado por Alfred Weber, que estudou a localização de uma fábrica com o objetivo de minimizar

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que: Tabelas Hash Tabelas Hash O uso de listas ou árvores para organizar informações é interessante e produz bons resultados. Porem, em nenhuma dessas estruturas se obtém o acesso direto a alguma informação,

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

Programação Inteira. Algoritmo Branch-and-Bound (ou enumeração implícita)

Programação Inteira. Algoritmo Branch-and-Bound (ou enumeração implícita) Programação Inteira Algoritmo Branch-and-Bound (ou enumeração implícita) Métodos de Solução: Branch-and-Bound O método Branch-and-Bound (B&B) baseia-se na idéia de desenvolver uma enumeração inteligente

Leia mais

Resolução do Problema de Carregamento e Descarregamento de Contêineres em Terminais Portuários via Algoritmo Genético

Resolução do Problema de Carregamento e Descarregamento de Contêineres em Terminais Portuários via Algoritmo Genético Resolução do Problema de Carregamento e Descarregamento de Contêineres em Terminais Portuários via Algoritmo Genético Anibal Tavares de Azevedo Cassilda Maria Ribeiro

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS Metaheurísticas de Buscas ALGORITMOS GENÉTICOS (AG) Popularizados por John Holland podem ser considerados os primeiros modelos algorítmicos

Leia mais

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

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima METAHEURÍSTICAS METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima Consiste em aplicar iterativamente uma heurística subordinada (busca local) Tem algum mecanismo para escapar de ótimos locais (vales)

Leia mais

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos André Luiz Ferreira Pinto Pontifícia Universidade Católica do Rio de

Leia mais

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

Um Estudo Empírico de Métodos Hiper-Heurísticos Um Estudo Empírico de Métodos Hiper-Heurísticos Igor Ribeiro Sucupira (Aluno de Mestrado) Flávio Soares Corrêa da Silva (Orientador) Departamento de Ciência da Computação Instituto de Matemática e Estatística

Leia mais

6 Aplicação do Modelo de Geração de Cenários

6 Aplicação do Modelo de Geração de Cenários 6 Aplicação do Modelo de Geração de Cenários 6.. Considerações Iniciais Os cenários de energia natural afluente, que são utilizados durante as simulações forward e backward do processo de definição da

Leia mais

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH Optimization and decision support techniques PDEEC 2007 Introdução A meta-heurística VNS (Variable Neighbourhood Search) é bastante recente

Leia mais

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

Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares Leandro Resende Mundim, leandroresendemundim@gmail.com Thiago Alves de Queiroz, th.al.qz@catalao.ufg.br Resumo: Esta pesquisa lida com

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Roteiro Introdução Algoritmos Genéticos Otimização Representação Seleção Operadores Genéticos Aplicação Caixeiro Viajante Introdução Algoritmos Genéticos (AGs), são métodos de otimização

Leia mais