Você está na página 1de 19

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/264118807

RESOLUÇÃO DO PROBLEMA DE CARREGAMENTO E DESCARREGAMENTO 3D


DE CONTÊINERES DE NAVIOS EM TERMINAIS PORTUÁRIOS PARA MÚLTIPLOS
CENÁRIOS VIA REPRESENTAÇÃO POR REGRAS E ALGORITM....

Article · July 2014

CITATIONS READS

0 289

6 authors, including:

Aníbal Tavares De Azevedo Antonio Augusto Chaves


University of Campinas Universidade Federal de São Paulo
39 PUBLICATIONS 161 CITATIONS 71 PUBLICATIONS 766 CITATIONS

SEE PROFILE SEE PROFILE

A.C. Moretti Cassilda Maria Ribeiro


University of Campinas São Paulo State University
69 PUBLICATIONS 510 CITATIONS 36 PUBLICATIONS 65 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Performance assessments of export logistics of Brazilian soybeans: an application of data envelopment analysis View project

A parallel optimal routing algoritm View project

All content following this page was uploaded by Cassilda Maria Ribeiro on 22 July 2014.

The user has requested enhancement of the downloaded file.


Processos Decisórios

Resolução do Problema de Carregamento


e Descarregamento 3D de Contêineres
de Navios em Terminais Portuários para
Múltiplos Cenários via Representação
por Regras e Algoritmo Genético
Solving the 3D Containership Loading Planning Problem for Multiple
Scenarios through Representation by Rules and Genetic Algorithm

Aníbal Tavares de Azevedo1, Antônio Augusto Chaves2, Antônio Carlos Moretti3,


Cassilda Maria Ribeiro4, Galeno José de Sena5

Resumo: Neste artigo, apresenta-se uma nova formulação e uma Abstract: This article presents a new formulation and the repre-
representação por regras para a solução do problema estocástico sentation by rules to solve the stochastic 3D containership load-
de carregamento dos contêineres 3D de navios em terminais por- ing planning problem in terminal ports (stochastic 3D CLPTP),
tuários (PCCTP 3D), que consiste em determinar como carregar which consists in determining how to load and unload an unknown
e descarregar um número aleatório de contêineres de um navio number of containers from a containership. The operational con-
porta-contêiner (containership). Deve-se respeitar as restrições straints associated with containers and structure of the ship must
operacionais relacionadas aos contêineres e à estrutura do navio, be respected. In addition, the number of movement of contain-
de modo a minimizar o número de movimentos e a distância dos ers and the distance between the containership gravity center and
centros de massa e gravidade. Tanto o problema 2D determinís- center of mass are objective functions to be minimized. Both the
tico é NP-Completo quanto o 3D estocástico, portanto aconselha- deterministic 2D problem and stochastic 3D is NP-Complete;
se a utilização de métodos heurísticos. Propõe-se um algoritmo therefore, heuristic methods should be used. In particular, this arti-
genético que empregue representação por regras das soluções para cle proposes a genetic algorithm combined with the representa-
resolver o PCCTP 3D estocástico. A representação por regras tem tion by rules to solve the stochastic 3D CLPTP. The representa-
como vantagens: ser bastante compacta, assegurar que as soluções tion by rules has the following advantages: it is compact, it ensures
geradas sejam sempre factíveis, possibilitar a inserção de conheci- that every created solution be feasible, it enables the incorporation
mento do tomador de decisões e permitir a consideração de infor- of the decision maker, and it allows the use of randomness in the
mação estocástica do número de contêineres em cada porto. Testes number of containers information of each port. Computational
computacionais confirmam a adequação da metodologia proposta. tests confirm the adequacy of the proposed methodology.
Palavras-chave: Algoritmo Genético. Carregamento de Navio. Keywords: Genetic Algorithm. Containership Loading.
Otimização Combinatória. Combinatorial Optimization.

1. Professor-Assistente, Doutor, Faculdade de Ciências Aplicadas, Universidade Estadual de Campinas – Limeira, SP – Brasil. E-mail: anibal.azevedo@fca.unicamp.br
2. Professor-Assistente, Doutor, Departamento de Ciência e Tecnologia, Universidade Federal de São Paulo – São José dos Campos, SP – Brasil. E-mail: antonio.chaves@unifesp.br
3. Professor Titular, Doutor, Faculdade de Ciências Aplicadas, Universidade Estadual de Campinas – Limeira, SP – Brasil. E-mail: moretti@ime.unicamp.br
4. Professor-Assistente, Doutor, Departamento de Matemática, Universidade Estadual Paulista – Guaratinguetá, SP – Brasil. E-mail: cassilda@feg.unesp.br
5. Professor-Assistente, Doutor, Departamento de Matemática, Universidade Estadual Paulista – Guaratinguetá, SP – Brasil. E-mail: gsena@feg.unesp.br

| 42 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

1. INTRODUÇÃO número de remanejos, tal como é adotado por este e outros


artigos de literatura.
A eficiência de um terminal portuário especializado em Na literatura, Avriel et al. (1998) formularam o problema
movimentação de contêineres depende da ordenação e agilidade de carregamento de contêineres em terminais portuários em
do processo para lidar com os mesmos, especialmente durante o duas dimensões (PCCTP 2D) como um modelo linear binário,
processo de carregamento dos navios. A estiva e o plano de car- cuja solução pode ser encontrada assumindo-se que é conhe-
regamento associado são determinados fundamentalmente por cido o número de contêineres a serem embarcados em cada
dois critérios: instabilidade do navio e número mínimo de movi- porto. Porém, este modelo binário consegue resolver apenas
mentos requerido nos diversos pontos de entrega (AVRIEL; pequenas instâncias, pois o número de variáveis binárias e de
PENN, 2000; WILSON; roach, 2000; AMBROSINO et al., restrições cresce exponencialmente com a quantidade de por-
2006). O último critério é baseado no fato de que muitos navios tos. Ainda neste artigo, são apresentadas duas contribuições:
possuem uma estrutura celular, conforme pode ser observado um procedimento denominado Suspensory Heuristic, que per-
na Figura 1, na qual são alojados os contêineres. mite a obtenção de soluções sem empregar o modelo binário, e
Seguramente, um navio porta-contêiner tem sua capa- uma explicação de como gerar instâncias para o PCCTP 2D.
cidade medida em TEU (twenty-foot equivalent units) ou Avriel et al. (2000) provaram também que o PCCTP 2D
unidade equivalente a 20 pés. Por exemplo, um navio com é NP-Completo, o que motivou o desenvolvimento de uma
capacidade de 8.000 TEUs pode carregar 8.000 contêineres série de heurísticas e meta-heurísticas a fim de serem obti-
de 20 pés, ou seja, dispõe de 8.000 células. Essas são agru- das boas soluções para o problema.
padas por seções ou baias (em inglês bays), e os contêineres Dubrovsky et al. (2002) desenvolveram um algoritmo
são empilhados nelas, formando pilhas verticais. A organi- genético com codificação compacta da solução, que consiste
zação em pilhas verticais acarreta, em muitos casos, a neces- em um vetor com seções em quantidade igual àquela de por-
sidade de movimentar alguns contêineres para descarregar tos. Cada uma delas é composta por quatro elementos rela-
outros posicionados na parte inferior da pilha. Este tipo de cionados com o número de descarregamentos que devem ser
movimento, que poderia ser evitado dependendo do plano realizados. Restrições de instabilidade são consideradas por
de estiva adotado, é denominado de remanejo. meio de uma função de penalidade, e a metodologia proposta
De acordo com Dubrovsky et al. (2002), o custo de movi- é testada em instâncias com no máximo 11 portos e um navio
mentação de um contêiner é de aproximadamente $200,00. com capacidade de 1.000 TEUs.
Embora o valor não seja atual, ele é importante para jus- Wilson e Roach (1999; 2000) desenvolveram uma meto-
tificar a adoção de uma função objetivo que minimiza o dologia que resolve o PCCTP 2D em dois passos. O primeiro

BAIA 12 12 11 10 9 8 7 6 5 4 3 2 1 Nº da Escotilha
44 40 36 32 28 24 20 16 12 08 04 Baia de 40 pés
10 08 06 04 02 00 01 03 05 07 09 45 43 41 39 37 36 33 31 29 27 26 23 21 19 17 16 13 11 09 07 06 03 01 Baia de 20 pés
88
baixa resolução

86
84
82
Pilha
14
12 Bombordo
10
08
06
04
02

10 08 06 04 02 01 03 05 07 09 Estibordo
Posições

Figura 1. Estrutura celular de um navio. Adaptado de Wilson e Roach (2000).

| 43 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

deles emprega um branch-bound para resolver o problema de 5.000 TEUs, cinco guindastes portuários, cinco tipos de con-
atribuição de contêineres para cada baia do navio. No segundo têineres e cinco portos de destino.
passo, uma busca Tabu atribui cada contêiner para uma posição Como observado anteriormente, as metodologias existen-
específica das seções. Esse tratamento ocorre em duas horas a tes na literatura possuem uma séria limitação com relação ao
fim de obter uma solução para um problema cujo navio tem número de portos que pode ser considerado no horizonte de
688 TEU de capacidade e 4 portos de destino. planejamento do plano de estiva. A maioria das metodologias
Ambrosino et al. (2006; 2010) introduziram e testaram a se restringe a, no máximo, cinco portos e apenas um chega a
noção de instabilidade com a consideração de pesos nos con- empregar instâncias com 11 portos.
têineres no modelo. Ambrosino et al. (2010) também ensaia- Uma metodologia de solução alternativa para o PCCTP
ram uma otimização com colônia de formigas (ACO) em um consiste em empregar uma representação diferente da pro-
problema real direcionado ao terminal SECH, em Genova, posta pelo modelo binário, denominada representação por
Itália, a um navio cuja capacidade é de 1.800 TEUs, para regras. Testes feitos com esta mostraram que é possível a
instâncias com dois ou três portos de destino, um navio com obtenção de soluções de qualidade, em tempo computacional
5.510 TEUs de capacidade e quatro ou cinco portos de destino. adequado, de instâncias com até 30 portos tanto para o pro-
Imai et al. (2006) apresentaram um método de otimi- blema 2D como para o 3D (AZEVEDO et al., 2010; 2012).
zação multicritério para o PCCTP 3D, considerando dois No entanto, todos os artigos citados não consideram
objetivos conflitantes: a instabilidade do navio e o número um aspecto importante do problema. De acordo com
de remanejos. Para a medida de instabilidade, emprega- Avriel et al. (1998), a informação referente ao número de
se um cálculo detalhado que envolve desde a inclinação contêineres que devem ser embarcados em cada porto não
longitudinal e transversal do navio até um do metacen- pode ser obtida antecipadamente, ou seja, é estocástica e o
tro, mas isto é realizado ao preço de se estimar o número PCCTP 3D deve ser modificado a fim de considerar que o
de remanejos a serem realizados para uma dada solução. número de contêineres a serem embarcados em cada porto
Experimentos computacionais foram realizados com um seja uma variável aleatória.
algoritmo genético para instâncias cuja capacidade do A contribuição deste artigo, portanto, é modelar e resolver
navio variasse de 504 até 2.016 TEUs e de três até quatro o PCCTP 3D estocástico para obter soluções mais robustas
portos, respectivamente. e adequadas à variabilidade do número de contêineres que
A estrutura especial do navio, fornecida na Figura 1, permite devem ser embarcados em cada porto. Para tanto, a repre-
que o problema do carregamento de contêineres em terminais sentação por regras, utilizada em outros artigos no PCCTP
portuários (PCCTP) possa ser visto como um caso particu- 3D determinístico (AZEVEDO et al., 2010; 2012), será
lar dos problemas de corte e empacotamento, em particular, adaptada e aplicada. Na Seção 2 é apresentada a formulação
um 3D de empacotamento ortogonal (DYCKHOFF, 1990; matemática do PCCTP 3D estocástico que usa variáveis
WÄSCHER et al., 2007). Assim, Sciomachen e Tanfani (2007) binárias e na 3, a representação por regras combinada com
formularam o problema com um modelo 3D de empacota- a implementação com um algoritmo genético para a resolu-
mento e apresentaram um método de solução heurística que ção do PCCTP 3D estocástico. Na Seção 4 são mostrados
é baseado no mesmo. A função objetivo consiste em minimi- os resultados computacionais obtidos e na 5, as conclusões e
zar o tempo total de carregamento, bem como o uso eficiente sugestões de trabalhos futuros.
dos equipamentos portuários. A metodologia foi validada em
casos reais do porto de Genova, Itália, para um navio com
capacidade de 198 TEUs, contêineres com diferentes pesos, 2. APRESENTAÇÃO DO PROBLEMA
um ou dois guindastes e dois ou três portos de destino.
Fan et al. (2010) elaboraram uma metodologia em que o O problema PCCTP 3D estocástico, que será mode-
PCCTP é formulado de modo a conciliar o balanceamento lado e resolvido, consiste em minimizar dois objetivos em
do trabalho do guindaste e a instabilidade do navio. Os auto- cada cenário: o número de movimentos dos contêineres para
res resolveram uma instância cujo navio tem capacidade de uma quantidade de portos N e a instabilidade do arranjo

| 44 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

dos contêineres. Para o primeiro objetivo, minimizam-se (r, c, d) ��������� : célula do navio localizada na linha r, coluna c,
os remanejos decorrentes do descarregamento temporário baia d.
de contêineres, que visam permitir a retirada de um instru- x sijk (r, c, d) ��� : variável binária que assume o valor 1 se, no
mento que esteja na parte inferior da pilha e cujo destino cenário s, existir um contêiner no compartimento
seja o porto atual. Para o segundo, define-se a distância do (r, c, d) que foi ocupado no porto i, tem como
centro de massa ao geométrico, depois do descarregamento destino final o porto j e foi movido no porto v;
e do carregamento do navio em cada porto, como medida caso contrário, assume valor zero.
da instabilidade. A seguir, a formulação do problema por y si (r, c, d) ����� : variável binária que assume valor 1 se, no cená-
programação linear inteira com variáveis binárias 0-1 será rio s, saindo do porto i o compartimento (r, c, d)
demonstrada, que é uma extensão do PCCTP 2D deter- for ocupado por um contêiner; caso contrário,
místico, apresentado em Avriel et al. (1998). assume valor 0.
zcm di ����������� : coordenada do centro de massa no eixo das
s

2.1. Nomenclatura linhas r para cada baia d no porto i.


As variáveis, constantes, índices e funções empregadas xcm di ����������� : coordenada do centro de massa no eixo das
s

nas restrições e na função objetivo têm seu significado deta- colunas c de cada baia d no porto i.
lhado a seguir: Δzcmsdi��������� : soma dos desvios entre a coordenada do cen-
R ����������������� : número total de linhas existentes no navio. tro de massa zcmsdi no eixo das linhas r e coor-
C ����������������� : número total de colunas existentes no navio. denada do centro geométrico C/2 de cada baia
D ���������������� : número total de baias existentes no navio. d no porto i.
S ����������������� : número total de cenários empregados no modelo Δxcm di��������� : soma dos desvios entre a coordenada do centro
s

matemático. de massa xcmsdi no eixo das colunas c e coorde-


N����������������� : número total de portos a serem percorridos nada do centro geométrico R/2 de cada baia d
pelo navio no horizonte de planejamento con- no porto i.
templado pelo modelo matemático.
r ������������������ : índice relativo à linha do navio. 2.2. Modelo Matemático
c ������������������ : índice relativo à coluna do navio. Considere um navio para transporte de contêineres
d������������������ : índice relativo à baia do navio. que possui D baias numeradas d=1, ..., D. Cada uma tem
s ������������������ : índice relativo ao cenário. R linhas horizontais numeradas r=1, 2, ...R (a linha 1 é a
i,j,k,p,v �������� : índices auxiliares empregados na elaboração que está no fundo e a R é aquela da pilha mais próxima
das restrições. do convés) e C colunas verticais numeradas c=1, 2,...,C
α ����������������� : peso relativo à importância que a função Φ1 (x) (coluna 1 é a primeira de bombordo). Apesar de a baia ter
tem na otimização. formato tridimensional com outras de diferentes tama-
β ����������������� : peso relativo à importância que a função Φ2 (y) nhos, a mesma pode ser representada, sem perda de gene-
tem na otimização. ralidade, por tal formato com baias de mesma capacidade,
Φs1 (x) ��������� : número de movimentos realizados ao longo particularmente um vetor de matrizes. Portanto, uma baia
dos portos no cenário s. pode alocar no máximo RxC contêineres. Assume-se, sem
Φs2 (y) ��������� : medida de instabilidade pelos portos no cenário s. perda de generalidade, que todos os contêineres tenham o
θs ����������������� : peso associado à importância que o cenário s mesmo tamanho e peso. O navio chega no porto 1 comple-
tem perante os demais ou probabilidade de sua tamente vazio e, sequencialmente, visita os portos 2, 3,...,
ocorrência. N. Em cada i=1,...,N-1, o navio recebe o carregamento de
T̃ij �����������������������������: valor aleatório do número de contêineres com contêineres com destino aos i+1,...,N. No último porto,
origem em i e destino em j. ele descarrega os contêineres e fica totalmente vazio. Seja
Tsij ��������������� : número de contêineres com origem em i e des- T̃ = [ T̃ ij] a matriz de transporte de dimensão (N-1)x(N-
tino em j no cenário s. 1), em que T̃ij é uma variável aleatória correspondente ao

| 45 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

número de contêineres com origem em i e destino em j.


j N j
A matriz é triangular superior, pois T̃ij = 0 para todo i ≥ j. ∑ ∑ ∑ xskjv (r,c,d) = ysi (r,c,d)
k=1 j=i+1 v=i+1
Outra de transporte é considerada uma variável aleatória,
devido ao fato de que a informação referente ao número i=1,...,N-1, r=1,...,R;
de contêineres que devem ser embarcados em cada porto c=1,...,C; d=1,...,D; (3)
é estocástica, isto é, não pode ser obtida com antecedên- s=1,...,S;
cia. Essa informação tem um significado importante, for-
necendo que uma solução para o problema estocástico ysi (r,c,d) - ysi (r+1,c,d) ≥ 0
deve considerar que: (i) não é possível prever o futuro; (ii) i=1,...,N-1, r=1,...,R-1;
decorrente de (i), é necessário modificar o objetivo de se c=1,...,C; d=1,...,D; (4)
obter a melhor solução para os possíveis valores de T̃ ij , ou s=1,...,S;
mesmo para uma única matriz de transporte T.
j-1 N j-1 N p
De acordo com a segunda consideração, isto significa que ∑ ∑ xsipj (r,c,d) + ∑ ∑ ∑ xsipv (r+1,c,d) ≤ 1
i=1 p=j i=1 p=j+1 v=j+1
a obtenção da melhor solução deverá observar vários possíveis
valores da matriz T̃ij . Neste sentido, ao invés de considerar que i=2,...,N, r=1,...,R-1;
a matriz T é uma variável aleatória T̃, pode-se empregar um c=1,...,C; d=1,...,D; (5)
conjunto de matrizes T s com elementos fixos gerados aleato- s=1,...,S;
riamente. Cada matriz de transporte T s é tal que o número de
contêineres a serem embarcados em cada porto é conhecido e, xsijv (r,c,d) = 0 ou 1; ysi (r,c,d) = 0 ou 1 (6)
desse modo, é possível definir que T s corresponde a um cená- A variável binária x ijv (r, c, d) é definida de forma que se
s

rio. Assim, para o problema 3D com incerteza na matriz de assuma o valor 1 se, no cenário s, existir um contêiner no com-
transporte T, quando se declara que a otimização considera partimento (r, c, d) que foi ocupado no porto i e tem como
múltiplos cenários, implica que a solução a ser encontrada destino final o j e movido no v; caso contrário, assume valor
busca o melhor valor médio em termos de número de movi- zero. Por compartimento (r, c, d) entende-se a linha r, a coluna
mentos e instabilidade para várias matrizes de transporte T s. c e a baia d no compartimento de carga do navio. É necessário
Espera-se que a solução obtida deste modo seja tal que, na ressaltar que a numeração das linhas é realizada de baixo para
média, apresente menor número de movimentos e instabili- cima, assim aquela de número 5 está acima da 4. A numeração
dade em instâncias desconhecidas quando comparada com das colunas é feita da esquerda para a direita. A profundidade
outras para apenas um cenário. Em outras palavras, a consi- é iniciada da popa à proa. A variável ysi (r, c, d) possui valor 1
deração de um modelo com múltiplos cenários permite que se, no cenário s, saindo do porto i o compartimento (r, c, d)
as soluções obtidas sejam mais robustas e ‘imunes’ à variação for ocupado por um contêiner; caso contrário, assume valor 0.
decorrente da característica estocástica da matriz T̃. A restrição na Equação 2 é para conservação de fluxo,
A formulação de programação linear inteira do PCCTP onde T sij é o elemento da matriz de transporte que representa
3D para múltiplos cenários é fornecida pelas Equações 1 a 8: o número de contêineres embarcando no porto i com destino
ao j, no cenário s. A restrição da Equação 3 garante que cada
s
f (x) = ∑ (αΦ 1 (x) + βΦ 2 (y)) θ
s s s
compartimento (r, c, d) tenha no máximo um único contêiner.
s=1
i=1,...,N-1,j=i+1,...,N; Já a da 4 é necessária para garantir a existência de contêineres
Min s=1,...,S; (1) embaixo daquele que ocupa o compartimento (r, c, d). Na 5,
ela é responsável por definir a movimentação dos contêineres:
s.a: se um que ocupa a posição (r, c, d) é descarregado no porto j,
j R C D i-1 R C D
∑ ∑ ∑ ∑ x kjv (r,c,d) - ∑ ∑ ∑ ∑ x kjv (r,c,d) = T ij
s s s
então, ou não há outros acima dele ou o índice v do contêi-
v=i+1 r=1 c=1 d=1 k=1 r=1 c=1 d=1
ner que ocupa o compartimento (r+1, c, d) não é maior que j.
i=1,...,N-1,j=i+1,...,N; A função objetivo, fornecida pela Equação 1, é uma
s=1,...,S; (2) composição de dois diferentes critérios em um cenário s,

| 46 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

ponderado pela probabilidade qs de ocorrência do cenário: o Outra dificuldade é relacionada à questão da representação
primeiro depende da movimentação dos contêineres, Φs1 (x) de solução por meio de variáveis binárias. A formulação das
e o segundo da posição ocupada pelos contêineres em cada Equações 1 a 8 é tal que, para se representar uma solução de
porto, Φs2 (y). Os dois podem ser combinados por meio de uma instância com S=10, D=5, R=6, C=50 e P=30, serão neces-
valores escalares fornecidos para os pesos a e b dentro de um sárias SxDxRxCxP3 variáveis xijv(r,c,d), ou seja, 405.000.000 x,
modelo de otimização biobjetivo. e SxDxRxCxP variáveis yi(r,c,d), ou seja, 450.000 y. Portanto,
O termo Φs1 (x) relativo ao custo total de movimentação um total de 405.450.000 variáveis para representar uma única
dos contêineres (assumindo, sem perda de generalidade, que solução que pode ser infactível.
a movimentação de um contêiner possui um custo unitário
e igual para todos os portos), em todos os portos para um
cenário s, é dado pela Equação 7: 3. REPRESENTAÇÃO POR REGRAS
N-1 N j-1 R C D
Φs1 (x) = ∑ ∑ ∑ ∑ ∑ ∑ xsijv (r,c,d) (7) 3.1. Representação por
i=1 j=i+1 v=i+1 r=1 c=1 d=1
Regras para um Cenário
O termo Φs2 (y) é relativo à estabilidade do navio de acordo Nesta seção será apresentada a representação matricial
com a posição dos contêineres, assumindo-se que cada um desenvolvida para a resolução do PCCTP 3D. Esta, ao con-
possua um peso unitário e igual para todos os portos, em todos trário da binária, tem a vantagem de ser compacta e de assegu-
aqueles no cenário s e é dado pela Equação 8: rar que todas as soluções geradas pelo método sejam factíveis.
N D D
Φs2 (y) = ∑ (∑ (Δxcmsdi)2 + ∑ (Δzcmsdi)2) (8) Foi possível observar na Figura 1 que os navios possuem
i=1 d=1 d=1
uma estrutura celular de modo que os locais onde os contêi-
onde: neres serão alocados sejam predeterminados, fazendo com
que estes sejam empilhados verticalmente. Tal empilhamento
Δzcmsdi = zcmsdi - R/2, Δxcmsdi = xcmsdi - C/2 sugere uma representação por meio de um vetor de matri-
zes dos contêineres no navio. Desse modo, pode-se definir
/ (∑ ∑ y (r,c,d))
R C R C
zcmsdi = (∑ ∑ (ysi (r,c,d) x (r-0,5)) s
i
um vetor das matrizes de ocupação B, que fornece a dispo-
r=1 c=1 r=1 c=1
sição de espaços disponíveis e a localização dos contêineres
= (∑ ∑ (y (r,c,d) x (c-0,5)) / (∑ ∑ y (r,c,d))
C R R C
xcmsdi s
i
s
i
no navio em todos os portos. Para tanto, cada elemento do
c=1 r=1 r=1 c=1
vetor de matrizes é uma matriz Brcd que representa o estado de
Observe na Equação 8 que, em cada cenário s, para se uma célula (r,c,d), isto é, se Brcd for igual a zero significa que a
calcular a soma dos desvios (Δxcmsdi e Δzcmsdi) usam-se as célula que ocupa a linha r, a coluna c e a baia d está vazia e se
coordenadas do centro de massa (xcmsdi e zcmsdi) e as do geo- Brcd=j, a célula contém um contêiner cujo destino é o porto j.
métrico (R/2 e C/2) de cada baia d no porto i. Para tanto, é Assim, no exemplo da Figura 2, o elemento (2,2,1) perten-
necessário calcular as coordenadas do centro de massa xcmsdi, cente à baia 1 (Brc1), linha 2 e coluna 2 é igual a 3, logo neste local
e zcmsdi, relativas, respectivamente, àquelas no eixo das colu- existe um contêiner que será descarregado no porto 3. De modo
nas c e linhas r de cada baia d no porto i. análogo, o elemento (1,1,3)=6 significa a célula da terceira baia
Infelizmente, o tamanho que o problema assume com (Brc3), a primeira linha e a primeira coluna contêm um contêi-
a formulação dada pelas Equações 1 a 8 é proibitivo para ner cujo destino é o porto 6. Observe que a linha 2 representa a
problemas reais e pode ser resolvido apenas para compli- célula do topo da pilha e a 1, a célula no fundo pilha. Cada vetor
cações pequenas. Além disso, como verificado (AVRIEL; de matrizes B é uma ocupação do navio, de acordo com um dese-
PENN, 1993) e demonstrado por Avriel et al. (2000), o nho tridimensional. Portanto, o vetor de matrizes B mostrado na
PCCTP 2D é um problema NP-Completo e, portanto, Figura 2 será associado ao desenho tridimensional da Figura 3.
o PCCTP 3D também é, com múltiplos cenários, o que É importante observar que a matriz de ocupação B é modi-
justifica o uso de heurísticas para encontrar boas soluções, ficada em cada porto, devido à entrada e saída de novos contêi-
em particular, algoritmos genéticos. neres, ou seja, quando o navio chega num j, é necessário realizar

| 47 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

dois movimentos obrigatórios, a saber: descarregar os contêineres Na Tabela 1, observa-se que a regra 2 é a combinação da
cujo destino é o porto j em questão, bem como aqueles que os Rc1 para o carregamento dos contêineres com a Rd2 para o
bloqueiam; e carregar os contêineres com destinos aos portos j+1, descarregamento. Isso foi feito com o objetivo de se obter
j+2,...,N. Então, para cada porto j, foram estabelecidas regras para uma representação ainda mais compacta da solução.
se fazer o descarregamento e o carregamento dos contêineres. A aplicação de tais regras em cada porto j vai atualizar a
Para este artigo, foram criadas 12 regras k resultantes das matriz de ocupação B. Vale lembrar que, inicialmente, a matriz
combinações das seis de carregamento (Rc1, Rc2, Rc3, Rc4, B está com todos seus elementos iguais a zero e começa a ser
Rc5, Rc6) e duas de descarregamento (Rd1, Rd2), conforme preenchida no porto 1. Para melhor ilustrar a utilização das
ilustrado na Tabela 1. regras, a matriz de transporte T determinística da Figura 4

5 5

6 6
Br,c,3
4 4

5 4
Br,c,2
2 3

baixa resolução
4 2
Br,c,1

Figura 2. Matriz de ocupação para navio com capacidade Figura 3. Representação tridimensional da matriz de
de 16 contêineres e transporte para seis portos. ocupação mostrada na Figura 2.

Tabela 1. Regras k a serem utilizadas em cada porto j.

Regra de carregamento Regra de descarregamento Regra k usada no porto j

Rd1 1
Rc1
Rd2 2

Rd1 3
Rc2
Rd2 4

Rd1 5
Rc3
Rd2 6

Rd1 7
Rc4
Rd2 8

Rd1 9
Rc5
Rd2 10

Rd1 11
Rc6
Rd2 12

| 48 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

será aplicada, fornecendo a quantidade de contêineres a serem


D2 D3 D4 D5 embarcados em cada porto i com destino a j.
O1 2 5 0 0
3.1.1. Regras de Carregamento • A Rc1 preenche
O2 0 2 3 1
a matriz de ocupação B (no porto p) por baia, começando
O3 0 0 2 2 pela primeira linha da primeira baia (fundo do navio) e vai
O4 0 0 0 1 até aquela do topo desta mesma seção (convés do navio),
indo de bombordo para estibordo, começando pelas cargas
cujo destino é mais distante. Sua aplicação, considerando a
Figura 4. Matriz de transporte T. matriz T da Figura 4 e que o navio se encontra no porto 1,
resulta na matriz B da Figura 5a.
A Rc2 completa a matriz de ocupação B (no porto p) por
linha, começando pela primeira linha da primeira baia (proa do
(A) Regra Rc1 navio) e indo até a última (popa do navio), de bombordo para
estibordo, colocando na parte inferior da pilha de cada linha
0 0 (fundo do navio) as cargas cujos destinos sejam mais distan-
tes. Sua aplicação, considerando a matriz T da Figura 4 e que
0 0 o navio se encontra no porto 1, resultará na B da Figura 5b.
B3,r,c
2 0

3 2
Avaliação de solução para o PCCTP 3D
B2,r,c
[nmov, instab] = Avaliar3D(v,T)
3 3
Início
p=1, nmov=0, instab=0.0
3 3
B1,r,c inicializar(B,T)
Enquanto (p<=N) faça
Início
[rc, rd]=extrairRegras(v(p))
Se (p > 1)
(B) Regra Rc2
[aux, B, T] = descarregar(Rd, B, p)
instab = instab + calcDXDZ(B)
0 0
nmov = nmov + aux

3 2 fim
B3,r,c Se (p < N)

0 0 [aux, B, T] = carregar(Rc, B, T, p)
instab = instab + calcDXDZ(B)
3 3 nmov = nmov + aux
B2,r,c fim
2 0 p=p+1
fim
3 3 retornar nmov, instab
B1,r,c fim

Figura 5. Matriz de ocupação B no porto 1, após a Algoritmo 1. Algoritmo para avaliação de uma solução
aplicação de cada regra Rc. υ por meio de regras.

| 49 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

3.1.2. Regras de Descarregamento • Na Rd1, nmov : número de movimentos realizados para carregar
quando o navio chega a um porto p, são removidos todos ou descarregar o navio ao longo dos N portos.
os contêineres cujos destinos sejam o porto p e aqueles que B : matriz de ocupação que indica o estado do
estejam acima dos contêineres do porto p e cujos destinos navio em cada porto i.
são os portos p+j, para j=1,..., N tal que (p+j)≤N. Além disso, Rc : variável que contém o nome da regra de car-
após a aplicação da regra, a matriz de transporte T deve ser regamento a ser aplicada.
atualizada, pois foi retirada com destino aos portos p+j, que Rd : variável que contém o nome da regra de des-
devem ser recarregados e, portanto, serão adicionados na carregamento a ser aplicada.
matriz de transporte relativa ao p. inicializar : função que preenche a matriz de ocupação B,
Uma descrição mais detalhada das regras e de seu funcio- com valores iguais a zero.
namento foi fornecida por Azevedo et al. (2012). extrairRegras : função que define a correspondência entre a
O processo de avaliação de uma solução v combina a aná- regra k, contida em v(i), com aquelas de descar-
lise das regras com a simulação do estado do navio, ao longo regamento e carregamento a serem armazenadas
dos portos, após a aplicação de cada regra, como mostrado nas variáveis Rd e Rc, respectivamente.
no Algoritmo 1. descarregar : função que aplica a regra de descarregamento
Símbolos e funções empregados no Algoritmo 1 são des- contida em Rd, na matriz B, no porto i, e retorna
critos a seguir: o número de movimentos realizados e B e T
p : variável contadora, que indica o porto atual da atualizadas.
simulação. carregar : função que aplica a regra de carregamento contida
N : número total de portos. em Rc, na matriz B, no porto i, e retorna o número
v : vetor este que o elemento v(i) contém a regra de movimentos realizados e B e T atualizadas.
k, a ser aplicada no porto i e modificar a matriz calcDXDZ : função que realiza o cálculo da distância entre
de ocupação B adequadamente. o centro de massa e o geométrico por baia d,

Linhas r
yi(2,1,3)=1
1 1 1

1 1 1

0 1 1

Colunas c
0 1 1

0 0 0

1 1 0
yi(1,3,1)=0

Baias d

Figura 6. Ocupação do navio porta-contêiner e sua matriz de estado B correspondente.

| 50 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

Linhas r

xcm3=1,5

1 1 1

1 1 1

0 0 0

Colunas c 0 0 0

0 0 0

centro
de massa 0 0 0
Baia 3 da baia 3

Figura 7. Cálculo das coordenadas do centro de massa da baia 3.

para o navio, depois de ser descarregado e de que a matriz de ocupação B no porto 1 possua alguns contêi-
ser carregado em cada porto p. neres. A segunda ideia diz que no último porto não há cargas a
serem embarcadas adiante. Pode ser considerada como o final
As funções carregar e descarregar, empregadas no algo- do horizonte de planejamento do modelo, ou, ainda, o ponto
ritmo 1, utilizam as regras descritas. Para melhor ilustrar o fun- anterior à manutenção do navio. Ao se modificar esta hipó-
cionamento do procedimento calcDXDZ, supôs-se que o navio tese, o navio pode passar a ter uma rota circular, mas podem
tinha o arranjo de contêineres, como apresentado na Figura 6. ocorrer problemas para se determinar o número de movi-
Definindo xcm3 como a coordenada do centro de massa mentos e instabilidades em tal caso. A primeira e a segunda
relativa às linhas da baia e zcm3 aquela do centro de massa rela- suposição tratam das condições inicial e final do arranjo de
tiva às colunas da baia 3, os valores xcm3 e zcm3 podem ser contêineres no navio, respectivamente, e podem ser combi-
calculados, utilizando-se a Equação 8 e a informação contida nadas de modo a formar os quatro casos na Tabela 2.
na Figura 6, como apresentado na Figura 7. Na literatura, apenas a situação 1 é abordada e tratada. Os casos
1, 2 e 4 da Tabela 2 são tratados na Figura 8 para as matrizes
xcm3 = (2 • 0,5 + 2 • 1,5 + 2 • 2,5)/(2 + 2 + 2) = 9/6 = 1,5 de transporte fornecidas na Figura 9, e supondo-se de a regra 1
(Tabela 1) seja aplicada para todos os portos. Observe que, para
zcm3 = (3 • 0,5 + 3 • 1,5)/(6) = 6/6 = 1,0 o caso 3, não é apresentado um exemplo, pois este possui uma
inconsistência lógica. Certamente, se o navio possui uma rota
3.2. Representação por circular, então, para todos os portos existe um embarque de con-
Regras para Diferentes têineres, cujos destinos sejam adiante. No entanto, se no primeiro
Condições de Contorno porto não há cargas, não se pode fazer parte da rota circular.
Duas alterações nas suposições realizadas pelo modelo Na Figura 9 é apresentado o estado do navio após a apli-
matemático da Seção 2.1, que não são abordadas na literatura, cação da regra de descarregamento (Rd) e carregamento (Rc)
podem ser tratadas pela representação por regras. A primeira para cada porto.
delas é relativa à suposição de que o navio no porto 1 esteja No caso 4, a aplicação da regra 1 em todos os portos é
vazio. Neste caso, a mesma pode ser modificada, supondo-se tal que, após a aplicação da norma de descarregamento no

| 51 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

porto 4, o navio fica totalmente vazio. Isso permite uma reor- 3.3. Representação por
ganização do espaço, de modo que o arranjo do navio ao sair Regras para Múltiplos Cenários
do porto 4 seja consistente com aquele após realizar o descar- É importante observar que a consideração de múlti-
regamento no porto 1. No entanto, tal fato pode nem sempre plos cenários na representação por regras pode ser obtida
acontecer, e a solução é considerar o horizonte de planeja- empregando-se o algoritmo da avaliação de uma solução
mento maior que o número de portos a serem percorridos. do Algoritmo 1. Para tanto, é necessário considerar que
Um exemplo deste problema para o caso 4 é quando a solução um vetor solução v contendo N regras de carregamento e
empregada é: 2, 1, 2 e 1, conforme mostrado na Figura 10. descarregamento para N portos deverá ser avaliado para
Uma solução para o problema apresentado na Figura 10 S cenários. Depois, o número de movimentos deverá ser
é repetir a aplicação da solução (e informação da matriz de multiplicado pela probabilidade de ocorrência qs de cada
transporte T) até que o arranjo de contêineres em Rc, no porto cenário s. Esse procedimento engloba a avaliação mono-
4, seja igual àquele em Rd, no porto 1. No exemplo apresen- cenário (Algoritmo 1), como apresentado no Algoritmo 2.
tado na Figura 10, isso ocorre na terceira repetição. Neste Os símbolos e as funções empregadas no Algoritmo 2
caso, o número de movimentos e a instabilidade deverão ser são descritos a seguir:
médias do registrado após três repetições (três passagens do s : variável contadora que indica o cenário atual
navio pelo porto 1). de avaliação.
S : número total de cenários.
T : vetor de matrizes de transporte de forma que o
elemento T(s) contenha a matriz de transporte
Tabela 2. Condição de contorno e suas combinações: Ts para o cenário s.
com e sem carga no porto inicial e com e sem a p : vetor tal que o elemento p(s) contenha a proba-
consideração de rotas com ciclo.
bilidade de ocorrência qs do cenário s associado
Rota à matriz de transporte T(s).
nmov : número de movimentos realizados para car-
Sem ciclo Com ciclo
regar ou descarregar o navio ao longo dos N
portos para o cenário s, como mostrado na
Sem carga Caso 1 Caso 3
Equação 7.
Porto
inicial instab : medida de instabilidade para o cenário s com
Com
Caso 2 Caso 4 matriz de transporte T(s) calculada de acordo
carga
com a Equação 8.

D1 D2 D3 D4 D1 D2 D3 D4

O1 0 2 1 2 O1 0 1 1 2

O2 0 0 1 2 O2 1 0 2 1

O3 0 0 0 1 O3 2 2 0 1

O4 0 0 0 0 O4 1 1 2 0

(A) Casos 1 e 2 (B) Caso 4

Figura 8. Matrizes de transporte T para os casos 1, 2 e 4.

| 52 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

Rd 4 4 4

4 4 4
Caso 1

3 3 3 4

Rc 4 2 4 4 4 4

4 2 4 4 4 4

1 2 3 4

2 3

Rd 3 3 4 4

3 3 4 4 4
Caso 2

2 3 4 3

Rc 3 4 2 3 4 3 4 4

3 4 2 3 4 4 4 4 4

1 2 3 4

Rd 3 2 3 3 1

3 2 3 4 4 4
Caso 4

2 4 2 4 3 2 1 1 2 1 1

Rc 3 2 3 3 3 1 4 2 1 3 2 1

3 2 4 3 4 4 4 4 4 3 2 1

1 2 3 4

Figura 9. Aplicação da regra 1 para todos os portos nos casos 1, 2 e 4.

| 53 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

2 3 1

Rd 2 4 1

3 3 2 3 3 1

2 3 2 4 3 4 2 1 2 1 1

Rc 2 4 4 4 4 1 4 2 1 2 2 1

3 3 2 3 3 3 4 4 1 3 3 1

1 2 3 4

Figura 10. Aplicação da solução 2, 1, 2 e 1 para o caso 4.

A vantagem da abordagem destacada no Algoritmo 2 é


que toda codificação relativa à solução via representação por
regras para um único cenário pode ser reaproveitada para a
Avaliação da solução para o PCCTP consideração e avaliação do PCCTP estocástico, por meio
com múltiplos cenários
da consideração de múltiplos cenários.
[nmov,instab] = Portanto, a mesma lógica de avaliação via simulação
AvaliarMC(alpha,beta,v,T) descrita e utilizada na solução do PCCTP 3D, descrita em
Início Azevedo et al. (2012), é modificada para analisar uma solução
s=1; nmov = 0; do mesmo estocástico. Para tanto, basta empregar a função
‘Avaliar3D’ (Algoritmo 1) em um vetor solução v quantas
Enquanto (s<S) faça
vezes forem o número de cenários considerados (S cenários
Início
que resultam em S matrizes de transporte T s). Cada uso de
[aux1,aux2]=Avaliar3D(v,T(s)); ‘Avaliar3D’ fornece dois valores que são combinados em um
nmov=nmov + alpha*aux1*p(s); único, ou seja, número de movimentos e medida de instabi-
instab=instab + beta*aux2*p(s); lidade (Equações 1, 7 e 8), ponderados pela probabilidade de
ocorrência do cenário qs e dos pesos α e β para cada medida
s=s+1;
(número de movimentos e instabilidade).
fim

retornar (nmov + instab)

fim 4. RESULTADOS

Para testar o algoritmo, foram geradas automática e aleato-


riamente 15 instâncias, as quais foram classificadas de acordo
Algoritmo 2. Algoritmo para avaliação de uma solução com o número de portos e o tipo da matriz de transporte. Para
por meio de regras para múltiplos cenários. cada instância, gerou-se uma certa quantidade das matrizes

| 54 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

de transporte T, cada uma correspondendo a um cenário e Primeiramente, será ilustrado o resultado obtido para
tal que a capacidade do navio não será excedida em nenhum o conjunto de treinamento. Em particular, será mostrado o
porto, isto é, o valor de qp, fornecido pela Equação 9, deve ser desempenho da solução que considera o modelo das Equações
menor ou igual a DxRxC para todo porto p, devido ao fato 1 a 8 com os dez cenários do conjunto de treinamento.
de a matriz de transporte ser factível caso: A Tabela 3 mostra os resultados obtidos com a melhor
solução após cinco rodadas de algorimo genético com popu-
p N
∑ ∑ T ij ≤ DxRxC para todo p=1,...,N (9) lação de dez indivíduos, 1.000 gerações, taxa de crossover
i=1 j=p+1
igual a 80% e de mutação igual a 15% para as 15 instâncias.
De acordo com Avriel et al. (1998), podem ser gerados Como cada uma delas compreende dez cenários, ou seja,
três tipos de matriz de transporte: 1 – mista, 2 – longa e 3 – dez matrizes de transporte diferentes, então, cada linha
curta distância. Uma matriz do tipo 3 se refere ao transporte da tabela corresponde ao desempenho médio para os dez
de contêineres que vão percorrer poucos portos antes de serem diferentes cenários da melhor solução obtida. A Tabela 3
desembarcados. Já uma do tipo 2 concerne contêineres que também inclui as seguintes colunas: I = o número da ins-
vão passar por muitos portos antes de serem desembarcados. tância; M = o tipo da matriz de transporte; N = o número
Uma mista combina os dois tipos anteriores. As instâncias de portos; NMin = o número mínimo de movimentos a
foram classificadas conforme a quantidade de portos a serem serem realizados com os contêineres; F.O.1 = os valores da
percorridos, o tipo da matriz de transporte e a capacidade do função objetivo em termos do número total de movimen-
navio. Neste trabalho, foi suposto um navio com as seguintes tos realizados com os contêineres até a chegada no último
dimensões (DxRxC): 5´6´50, resultando na seguinte capaci- porto; F.O.2 = os valores de estabilidade de acordo com
dade máxima: 1.500 contêineres. As instâncias utilizadas nos o arranjo de contêineres e com a Equação 8; e T = tempo
testes encontram-se disponíveis em Projeto Containership computacional em segundos.
3D (2012). Note que os valores de F.O.1, F.O.2 e T são apresentados
Com o objetivo de verificar se o modelo matemático das para dois pares de a e b: (a=1, b=0) e (a=0, b=1). Os resul-
Equações 1 a 8 é eficiente na geração de soluções ‘imunes’ tados apresentados para (a=1, b=0) correspondem à melhor
à estocasticidade presente na matriz T, foram criados dois solução obtida, com o objetivo de minimizar o número de
conjuntos: um de treinamento e outro de validação. A pri- movimentos para cada instância. Para sete delas, o número de
meira é tal que, para cada uma das 15 instâncias, existem movimentos (FO1) encontrado é até 4% maior que o mínimo
dez cenários diferentes e equiprováveis. Por outro lado, (Nmin); para seis, o valor mínimo é até 25% maior e apenas
o segundo é composto de 15 instâncias e cada uma delas duas instâncias possuem até 49%. Já (a=0, b=1), como o obje-
possui 50 cenários diferentes e equiprováveis. A meto- tivo é minimizar a medida de instabilidade, apresenta maior
dologia de avaliação do modelo matemático cumprirá os número de movimentos (FO1), mas soluções com medida de
seguintes passos: instabilidade significativamente menor (FO2). Esses dados
• obter uma solução ao modelo das Equações 1 a 8 para os confirmam que a minimização do número de movimentos e
dados do conjunto de treinamento, considerando cada um da instabilidade são objetivos conflitantes. O número mínimo
dos cenários (usar apenas uma matriz T para cada instância) de movimentos é obtido multiplicando-se por dois o valor
e todos aqueles do conjunto (usar todas as dez T para cada do somatório de Tij calculado de acordo com a Equação 9.
instância); Tal valor é o limitante inferior para o número total de
• avaliar as soluções obtidas anteriormente com os dados movimentos a serem realizados ao longo do percurso do
do conjunto de validação, isto é, verificar o desempenho dos navio. Os resultados do GA foram obtidos com um pro-
resultados que consideram apenas um cenário e aquele que grama desenvolvido em Matlab 7.0 e executado num com-
utiliza todos os dez cenários em termos de número médio putador Intel Core 2Duo 2.20 GHz (E4500), 2GB RAM,
de movimentos e instabilidade; Windows XP, versão 2002 (SP 3).
• calcular o desempenho médio de cada uma das soluções A primeira observação importante acerca dos resulta-
no conjunto de validação. dos da Tabela 3 refere-se ao tempo computacional gasto

| 55 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

Tabela 3. Resultados do algoritmo genético para dois pares de a e b e conjunto de treinamento.

(a=1, b=0) (a=0, b=1)


I N M NMin
FO1 FO2 T FO1 FO2 T

1 10 1 6499,00 6698,60 506,56 1344,91 13067,20 66,26 1336,84

2 0 2 3908,20 4019,00 453,23 1238,53 7329,40 62,22 1208,63

3 3 17202,40 17255,00 690,54 1471,28 18699,40 26,71 1427,30

4 15 1 8752,40 9328,00 393,19 2200,74 15196,20 12,86 2139,79

5 2 4531,80 5234,80 452,95 8897,97 10729,60 80,24 1910,00

6 3 26573,80 27010,00 569,45 6517,74 29307,60 46,35 2288,97

7 20 1 11293,40 12856,60 322,50 3415,65 24943,00 29,43 2979,87

8 2 4937,00 5792,40 458,31 2698,28 11759,60 83,69 2549,33

9 3 33734,80 34377,00 811,93 3176,09 37606,80 151,36 3031,79

10 25 1 12946,40 15403,80 262,33 3793,48 29236,00 15,10 3664,56

11 2 5378,60 7032,00 378,51 3299,93 14309,00 86,58 3187,03

12 3 43028,40 44629,40 478,33 3948,62 47908,60 152,22 3890,08

13 30 1 12660,20 15681,60 203,24 4493,20 27650,80 17,25 4282,49

14 2 5729,80 8512,40 328,47 4080,54 17185,80 79,73 3767,08

15 3 52699,40 54540,40 534,64 5089,76 57995,20 133,14 4725,34

pelo algoritmo genético. É importante enfatizar que, para (a=1, b=0) e a matriz de transporte é do tipo curta distân-
a formulação dada pelas Equações 1 a 8, as instâncias com cia (tipo 3), as regras são bastante adequadas e produzem
30 portos são problemas com 405.450.000 variáveis inteiras resultados muito próximos do limite inferior do número
(dez cenários, 30 portos, cinco baias, seis linhas e 50 colunas). de movimentos, quase atingindo este limite. Isso pode
Para estas instâncias, o algoritmo genético consegue produ- ser mostrado como no caso para 10, 15 e 20 portos, que
zir boas soluções em mais ou menos uma hora e 20 minutos. produzem soluções com distância de 0,30, 1,61 e 1,87%,
Pode-se ressaltar também que, de forma geral, um aumento respectivamente. Já para as instâncias em que a matriz de
de cinco no número de portos a serem percorridos, de uma transporte é de média (tipo 1) e longa distâncias (tipo 2),
instância para outra, produz em média um aumento de mais o algoritmo genético apresentou soluções cujo número de
ou menos 13 minutos e 30 segundos no tempo computacio- movimentos é bem maior que o limitante inferior (na ins-
nal gasto pelo algoritmo genético. Por exemplo, em instân- tância de 30 portos e matriz tipo 2 de aproximadamente
cias com dez portos, leva-se 22 minutos para se obter uma 30%). Esses resultados indicam a necessidade de se incor-
solução, ao passo que naquelas com 15, leva-se, em média, 35 porar ao sistema um número maior de regras que levem
minutos. Espera-se que futuras implementações em lingua- em consideração o arranjo de contêineres que permane-
gem C venham a reduzir o tempo computacional de solução cerão durante um tempo dentro do navio ou uma melhor
pelo algoritmo genético. estimativa do limitante inferior.
Os resultados indicam que, para as instâncias em que a Porém, quando a função objetivo visa minimizar a medida
função objetivo visa minimizar o número de movimentos de instabilidade (a=0, b=1), as soluções apresentadas pelo

| 56 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

algoritmo genético (GA) têm um razoável aumento no a instância N=10 e M=1 é apresentada por aquela obtida
número de movimentos, mas com uma significativa melhora para o cenário C2 (desvio percentual em relação à melhor
na medida de instabilidade. Em algumas instâncias, esta solução é igual à zero). Na média e para os dois pares de
medida pode ser até 26 vezes menor em comparação com (a, b), o melhor desempenho médio foi fornecido por
a solução encontrada na minimização do número de movi- M1-10 (última linha das tabelas).
mentos (instância 3).
As Tabelas 4 e 5 apresentam o desempenho das solu-
ções obtidas a partir do conjunto de treinamento para 5. CONCLUSÕES E
cada um dos dez cenários (C1-C10) e para o modelo TRABALHOS FUTUROS
(Equação 1 a 8) com os dez cenários (M1-10), nos 50
das instâncias do conjunto de validação. Por exemplo, a Este artigo apresentou pela primeira vez uma formulação
coluna C1 apresenta o desempenho da melhor solução e soluções para o problema de carregamento de contêineres
obtida para o cenário 1 de todas as instâncias do con- 3D em terminais portuários (PCCTP 3D), considerando a
junto de treinamento no conjunto de validação. As duas matriz de transporte estocástica. A representação por regras
Tabelas estão em termos de desvio percentual da melhor permite obter uma solução que, na média, apresenta menor
solução encontrada. Na Tabela 4, a melhor solução para número de movimentos e medida de instabilidade. Além

Tabela 4. Resultados do algoritmo genético para a=1, b=0 no conjunto de validação.

NM C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 M1-10

1 12,40 0,00 24,92 0,00 4,29 1,20 0,01 5,61 14,23 0,25 1,02

10 2 47,08 5,75 8,72 25,13 0,00 6,85 23,14 3,76 17,38 6,64 1,07

3 2,07 3,69 2,86 1,80 4,20 1,50 0,00 2,90 1,72 2,90 0,05

1 6,35 0,00 28,51 13,19 13,97 12,58 16,00 7,84 10,66 17,25 2,35

15 2 13,23 0,79 4,29 0,00 13,02 10,78 12,52 17,67 19,11 15,36 2,16

3 1,50 1,98 1,40 2,04 1,83 2,73 1,87 3,07 1,13 0,00 0,83

1 6,47 10,66 14,09 9,45 3,24 9,12 17,46 11,07 15,78 0,00 1,80

20 2 13,98 12,08 15,28 10,00 4,26 15,67 6,16 19,64 25,25 0,91 0,00

3 0,95 1,85 2,21 6,03 1,07 2,44 2,51 3,66 2,98 1,51 0,00

1 13,24 2,39 10,19 12,75 6,85 0,00 9,91 3,78 11,29 10,02 4,82

25 2 20,42 22,71 26,61 28,59 0,00 26,72 35,85 1,35 26,74 4,67 3,21

3 0,67 1,00 0,00 0,60 0,83 0,54 1,34 1,11 0,95 1,39 0,74

1 7,30 12,40 16,95 9,87 16,76 10,81 16,06 8,76 0,00 13,58 7,54

30 2 0,00 15,00 2,41 14,30 10,61 9,34 8,18 14,27 18,47 5,44 19,43

3 0,00 1,35 0,21 2,15 1,06 1,42 2,17 1,93 1,22 1,01 0,63

Média 9,71 6,11 10,58 9,06 5,47 7,45 10,21 7,09 11,13 5,40 3,04

| 57 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

Tabela 5. Resultados do algoritmo genético para a=0, b=1 no conjunto de validação.

NM C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 M1-10

1 104,1 16,40 23,72 149,9 21,82 338,5 15,63 5,88 52,45 0,00 4,80

10 2 8,86 120,1 0,00 3,03 6,78 3,00 0,29 0,70 0,99 3,17 2,21

3 815,5 328,7 0,00 224,2 655,9 379,3 129,7 46,80 509,7 361,0 47,26

1 0,00 36,6 23,89 54,06 18,63 12,59 5,90 502,1 12,69 30,48 54,51

15 2 88,47 1,28 8,98 0,00 33,92 32,41 24,14 2,57 2,21 41,20 2,28

3 168,0 184,0 0,00 84,17 83,87 161,3 93,07 40,26 66,17 96,06 24,47

1 41,47 66,50 34,02 0,00 152,3 185,6 82,12 78,93 30,88 89,77 44,14

20 2 15,77 41,13 98,31 14,97 12,89 7,77 137,4 9,45 38,13 6,08 0,00

3 55,23 111,8 77,65 74,70 118,8 106,4 0,00 100,4 90,83 130,1 79,24

1 135,7 65,0 97,68 0,00 38,62 25,66 118,5 85,35 48,55 60,27 9,22

25 2 6,65 3,36 66,36 0,00 50,73 105,1 67,84 31,99 40,38 5,45 0,80

3 149,7 66,74 54,66 0,00 132,0 93,60 87,58 103,3 76,23 93,85 19,74

1 49,78 30,14 54,79 65,23 0,00 98,64 69,26 109,9 75,95 111,2 30,25

30 2 3,69 13,91 65,31 20,10 21,32 21,20 90,52 17,36 5,82 2,04 0,00

3 81,66 35,56 96,57 98,12 98,50 55,56 61,76 14,73 77,34 24,03 0,00

Média 114,9 74,77 46,80 52,58 96,41 108,4 65,59 76,66 75,23 70,32 21,26

disso, a solução obtida é tal que pode ser aplicada em qual- foram criados: um a partir do qual as regras são geradas de
quer um dos possíveis cenários. modo a serem o mais robustas possíveis, denominado de
Este artigo também tem três inovações. A primeira delas conjunto de treinamento; e outro, no qual as regras criadas
é que apresenta uma nova formulação tridimensional para são avaliadas, denominado de validação.
o problema do carregamento de contêineres em terminais A segunda inovação é importante, pois o uso da repre-
portuários (PCCTP 3D) para matriz de transporte esto- sentação com regras reduz consideravelmente o número de
cástica, que resulta em um modelo linear multiobjetivo e variáveis do problema se houver uma solução. Na formulação
estocástico com variáveis binárias. A segunda é a resolu- com variáveis binárias, as informações devem ser armazenadas
ção do problema com uma representação (por regras) das num vetor de tamanho: (SxDxRxC)x(N+N3). Na representa-
soluções, alternativa à representação binária. Essa nova for- ção aqui utilizada, uma solução foi representada por um vetor
mulação permite a obtenção de soluções que considerem com N elementos. Tendo em vista que S é o número de cená-
medidas de instabilidade acerca do arranjo dos contêineres rios, DxRxC expressa o número de contêineres que podem
no navio, além daquela quanto ao número de movimentos ser armazenados em um navio e que N indica o número de
para carregar e descarregar um navio em vários cenários portos, a representação da solução utilizada permite uma
simultaneamente. A terceira e última inovação é a verificação redução do tempo computacional para instâncias com grande
da robustez das regras obtidas. Para tanto, dois conjuntos número de portos e matriz de transporte estocástica. Além

| 58 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59
Aníbal Tavares de Azevedo, Antônio Augusto Chaves, Antônio Carlos Moretti, Cassilda Maria Ribeiro, Galeno José de Sena

disso, na representação por regras, a solução obtida é sempre método não era garantir o melhor desempenho sempre, mas
factível, quaisquer que sejam os valores contidos na matriz que a solução, na média, estivesse ‘imune’ às variações estocás-
de transporte. Portanto, a representação por regras garante a ticas do problema.
implementação de uma solução, embora exista estocasticidade
incorporada no problema. Tanto esta consideração como a
criação de soluções que possam ser utilizadas no problema 6. AGRADECIMENTOS
estocástico não são abordados na literatura.
A terceira inovação consiste em obter soluções a partir Aos revisores anônimos pelos comentários que auxiliaram
das informações de cenários conhecidos e depois avaliá-las na melhoria do texto, bem como à Fundação de Amparo à
em cenários cujas informações não são conhecidas a priori. Pesquisa do Estado de São Paulo (FAPESP) pelo apoio finan-
Como critério de avaliação do desempenho das soluções, con- ceiro, por meio dos processos 2009/15107-0, 2010/51274-5,
siderou-se a média para várias instâncias, pois o propósito do 2010-16517-4, 2010/16622-2 e 2011/01667-3.

REFERÊNCIAS
AMBROSINO, D.; SCIOMACHEN, A.; TANFANI, E. A decomposition DUBROVSKY, O.; LEVITIN, G.; PENN, M. A Genetic Algorithm with a
heuristics for the container ship stowage problem. Journal of Compact Solution Encoding for the Containership Stowage Problem.
Heuristics, v. 12, n. 3, p. 211-233, 2006. Journal of Heuristics, v. 8, issue 6, p. 585-599, 2002.

AMBROSINO, D.; ANGHINOLFI, D.; PAOLUCCI, M.; SCIOMACHEN, A. DYCKHOFF, H. A typology of cutting and packing problems. European
An Experimental Comparison of Different Heuristics for the Master Journal of Operational Research, v. 44, n. 2, p. 145-159, 1990.
Bay Plan Problem. Lecture Notes in Computer Science, v. 6049,
FAN, L.; LOW, M.Y.H.; YING, H.S.; JING, H.W.; MIN, Z.; AYE, W.C. Stowage
p. 314-325, 2010.
Planning of Large Containership with tradeoff between Crane
AVRIEL, M.; PENN, M. Container ship stowage problem. Computers Workload Balance and Ship Stability. Proceedings of the International
and Industrial Engineering, v. 25, n. 1-4, p. 271-274, 1993. Multiconference of Engineers and Computers Scientists, v. 3, p. 1-7, 2010.

AVRIEL, M.; PENN, M.; SHPIRER, N.; WITTENBOON, S. Stowage IMAI, A.; SASAKI, K.; NISHIMURA, E.; PAPADIMITRIOU, S. Multi-
planning for container ships to reduce the number of shifts, Annals of objective simultaneous stowage and loading planning for a container
Operations Research, v. 76, n. 1, p. 55-71, 1998. ship with container rehandle in yard stacks. European Journal of
Operational Research, v. 171, n. 3, p. 373-389, 2006.
AVRIEL, M.; PENN, M.; SHPIRER, N. Container ship stowage problem:
complexity and connection to the coloring of circle graphs. Discrete SCIOMACHEN, A.; TANFANI, E. A 3D-BPP approach for optimizing

Applied Mathematics, v. 103, n. 1-3, p. 271-279, 2000. stowage plans and terminal productivity. European Journal of
Operational Research, v. 183, n. 3, p. 1433-1446, 2007.
AZEVEDO, A.T.; RIBEIRO, C.M.; DEUS, N.M.R. Resolução do
WÄSCHER, G.; HAUßNER, H.; SCHUMANN, H. An improved typology
Problema de Carregamento e Descarregamento de Contêineres em
of cutting and packing problems. European Journal of Operational
Terminais Portuários via Algoritmo Genético. Revista INGEPRO, v. 2,
Research, v. 183, n. 3, p. 1109-1130, 2007.
p. 38-51, 2010.
WILSON, I.; ROACH, P.A. Principles of combinatorial optimization
AZEVEDO, A.T.; RIBEIRO, C.M.; CHAVES, A.A.; SENA, G.J.;
applied to container-ship stowage planning. Journal of Heuristics, v.
SALLES NETO, L.L.; MORETTI, A.C. Solving the 3D Containership
5, n. 4, p. 403-418, 1999.
Stowage Loading Planning Problem by Representation by
Rules and Beam Search. First International Conference on ______. Container stowage planning: a methodology for generating
Operations Research and Enterprise Systems – ICORES 2012, computerised solutions. Journal of the Operational Research Society,
p. 132-141, 2012. v. 51, n. 11, p. 1248-1255, 2000.

| 59 |
Revista Pesquisa Naval, Brasília, n. 25, 2013, p. 42-59

View publication stats

Você também pode gostar