• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
18
0
0

Texto

(1)

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 Azevedo

1

, Antônio Augusto Chaves

2

, Antônio Carlos Moretti

3

, Cassilda Maria Ribeiro

4

, Galeno José de Sena

5

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

Resumo: Neste artigo, apresenta-se uma nova formulação e uma representação por regras para a solução do problema estocástico de carregamento dos contêineres 3D de navios em terminais por- tuários (PCCTP 3D), que consiste em determinar como carregar e descarregar um número aleatório de contêineres de um navio porta-contêiner (containership). Deve-se respeitar as restrições operacionais relacionadas aos contêineres e à estrutura do navio, de modo a minimizar o número de movimentos e a distância dos centros de massa e gravidade. Tanto o problema 2D determinís- tico é NP-Completo quanto o 3D estocástico, portanto aconselha- se a utilização de métodos heurísticos. Propõe-se um algoritmo genético que empregue representação por regras das soluções para resolver o PCCTP 3D estocástico. A representação por regras tem como vantagens: ser bastante compacta, assegurar que as soluções geradas sejam sempre factíveis, possibilitar a inserção de conheci- mento do tomador de decisões e permitir a consideração de infor- mação estocástica do número de contêineres em cada porto. Testes computacionais confirmam a adequação da metodologia proposta.

Palavras-chave: Algoritmo Genético. Carregamento de Navio.

Otimização Combinatória.

Abstract: This article presents a new formulation and the repre- sentation by rules to solve the stochastic 3D containership load- ing planning problem in terminal ports (stochastic 3D CLPTP), which consists in determining how to load and unload an unknown number of containers from a containership. The operational con- straints associated with containers and structure of the ship must be respected. In addition, the number of movement of contain- ers and the distance between the containership gravity center and center of mass are objective functions to be minimized. Both the deterministic 2D problem and stochastic 3D is NP-Complete;

therefore, heuristic methods should be used. In particular, this arti- cle proposes a genetic algorithm combined with the representa- tion by rules to solve the stochastic 3D CLPTP. The representa- tion by rules has the following advantages: it is compact, it ensures that every created solution be feasible, it enables the incorporation of the decision maker, and it allows the use of randomness in the number of containers information of each port. Computational tests confirm the adequacy of the proposed methodology.

Keywords: Genetic Algorithm. Containership Loading.

Combinatorial Optimization.

(2)

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 para lidar com os mesmos, especialmente durante o processo de carregamento dos navios. A estiva e o plano de car- regamento associado são determinados fundamentalmente por dois critérios: instabilidade do navio e número mínimo de movi- mentos requerido nos diversos pontos de entrega (AVRIEL;

PENN, 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, na qual são alojados os contêineres.

Seguramente, um navio porta-contêiner tem sua capa- cidade medida em TEU (twenty-foot equivalent units) ou unidade equivalente a 20 pés. Por exemplo, um navio com capacidade de 8.000 TEUs pode carregar 8.000 contêineres de 20 pés, ou seja, dispõe de 8.000 células. Essas são agru- padas por seções ou baias (em inglês bays), e os contêineres são empilhados nelas, formando pilhas verticais. A organi- zação em pilhas verticais acarreta, em muitos casos, a neces- sidade de movimentar alguns contêineres para descarregar outros posicionados na parte inferior da pilha. Este tipo de movimento, que poderia ser evitado dependendo do plano de estiva adotado, é denominado de remanejo.

De acordo com Dubrovsky et al. (2002), o custo de movi- mentação de um contêiner é de aproximadamente $200,00.

Embora o valor não seja atual, ele é importante para jus- tificar a adoção de uma função objetivo que minimiza o

número de remanejos, tal como é adotado por este e outros artigos de literatura.

Na literatura, Avriel et al. (1998) formularam o problema de carregamento de contêineres em terminais portuários em duas dimensões (PCCTP 2D) como um modelo linear binário, cuja solução pode ser encontrada assumindo-se que é conhe- cido o número de contêineres a serem embarcados em cada porto. Porém, este modelo binário consegue resolver apenas pequenas instâncias, pois o número de variáveis binárias e de restrições cresce exponencialmente com a quantidade de por- tos. Ainda neste artigo, são apresentadas duas contribuições:

um procedimento denominado Suspensory Heuristic, que per- mite a obtenção de soluções sem empregar o modelo binário, e uma explicação de como gerar instâncias para o PCCTP 2D.

Avriel et al. (2000) provaram também que o PCCTP 2D é NP-Completo, o que motivou o desenvolvimento de uma série de heurísticas e meta-heurísticas a fim de serem obti- das boas soluções para o problema.

Dubrovsky et al. (2002) desenvolveram um algoritmo genético com codificação compacta da solução, que consiste em um vetor com seções em quantidade igual àquela de por- tos. Cada uma delas é composta por quatro elementos rela- cionados com o número de descarregamentos que devem ser realizados. Restrições de instabilidade são consideradas por meio de uma função de penalidade, e a metodologia proposta é testada em instâncias com no máximo 11 portos e um navio com capacidade de 1.000 TEUs.

Wilson e Roach (1999; 2000) desenvolveram uma meto- dologia que resolve o PCCTP 2D em dois passos. O primeiro

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

baixa resolução

BAIA 12

88

10 08 06 04 02 00 01 03 05 07 09 12 44 45 43

11 40 41 39

10 36 37 36

9 32 33 31

8 28 29 27

7 24 26 23

6 20 21 19

5 16 17 16

4 12 13 11

3 08 09 07

2 04 06 03

1 01

Nº da Escotilha Baia de 40 pés Baia de 20 pés

10 08 06 04 02 01 03 05 07 09 86

84 82 14 12 10 08 06 04 02

Pilha

Posições

Estibordo Bombordo

(3)

deles emprega um branch-bound para resolver o problema de atribuição de contêineres para cada baia do navio. No segundo passo, uma busca Tabu atribui cada contêiner para uma posição específica das seções. Esse tratamento ocorre em duas horas a fim de obter uma solução para um problema cujo navio tem 688 TEU de capacidade e 4 portos de destino.

Ambrosino et al. (2006; 2010) introduziram e testaram a noção de instabilidade com a consideração de pesos nos con- têineres no modelo. Ambrosino et al. (2010) também ensaia- ram uma otimização com colônia de formigas (ACO) em um problema real direcionado ao terminal SECH, em Genova, Itália, a um navio cuja capacidade é de 1.800 TEUs, para instâncias com dois ou três portos de destino, um navio com 5.510 TEUs de capacidade e quatro ou cinco portos de destino.

Imai et al. (2006) apresentaram um método de otimi- zação multicritério para o PCCTP 3D, considerando dois objetivos conflitantes: a instabilidade do navio e o número de remanejos. Para a medida de instabilidade, emprega- se um cálculo detalhado que envolve desde a inclinação longitudinal e transversal do navio até um do metacen- tro, mas isto é realizado ao preço de se estimar o número de remanejos a serem realizados para uma dada solução.

Experimentos computacionais foram realizados com um algoritmo genético para instâncias cuja capacidade do navio variasse de 504 até 2.016 TEUs e de três até quatro portos, respectivamente.

A estrutura especial do navio, fornecida na Figura 1, permite que o problema do carregamento de contêineres em terminais portuários (PCCTP) possa ser visto como um caso particu- lar dos problemas de corte e empacotamento, em particular, um 3D de empacotamento ortogonal (DYCKHOFF, 1990;

WÄSCHER et al., 2007). Assim, Sciomachen e Tanfani (2007) formularam o problema com um modelo 3D de empacota- mento e apresentaram um método de solução heurística que é baseado no mesmo. A função objetivo consiste em minimi- zar o tempo total de carregamento, bem como o uso eficiente 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, um ou dois guindastes e dois ou três portos de destino.

Fan et al. (2010) elaboraram uma metodologia em que o PCCTP é formulado de modo a conciliar o balanceamento do trabalho do guindaste e a instabilidade do navio. Os auto- res resolveram uma instância cujo navio tem capacidade de

5.000 TEUs, cinco guindastes portuários, cinco tipos de con- têineres e cinco portos de destino.

Como observado anteriormente, as metodologias existen- tes na literatura possuem uma séria limitação com relação ao número de portos que pode ser considerado no horizonte de planejamento do plano de estiva. A maioria das metodologias se restringe a, no máximo, cinco portos e apenas um chega a empregar instâncias com 11 portos.

Uma metodologia de solução alternativa para o PCCTP consiste em empregar uma representação diferente da pro- posta pelo modelo binário, denominada representação por regras. Testes feitos com esta mostraram que é possível a obtenção de soluções de qualidade, em tempo computacional adequado, de instâncias com até 30 portos tanto para o pro- blema 2D como para o 3D (AZEVEDO et al., 2010; 2012).

No entanto, todos os artigos citados não consideram um aspecto importante do problema. De acordo com Avriel et al. (1998), a informação referente ao número de contêineres que devem ser embarcados em cada porto não pode ser obtida antecipadamente, ou seja, é estocástica e o PCCTP 3D deve ser modificado a fim de considerar que o número de contêineres a serem embarcados em cada porto seja uma variável aleatória.

A contribuição deste artigo, portanto, é modelar e resolver o PCCTP 3D estocástico para obter soluções mais robustas e adequadas à variabilidade do número de contêineres que devem ser embarcados em cada porto. Para tanto, a repre- sentação por regras, utilizada em outros artigos no PCCTP 3D determinístico (AZEVEDO et al., 2010; 2012), será adaptada e aplicada. Na Seção 2 é apresentada a formulação matemática do PCCTP 3D estocástico que usa variáveis binárias e na 3, a representação por regras combinada com a implementação com um algoritmo genético para a resolu- ção do PCCTP 3D estocástico. Na Seção 4 são mostrados os resultados computacionais obtidos e na 5, as conclusões e sugestões de trabalhos futuros.

2. aPResentação do PRoblema

O problema PCCTP 3D estocástico, que será mode- lado e resolvido, consiste em minimizar dois objetivos em cada cenário: o número de movimentos dos contêineres para uma quantidade de portos N e a instabilidade do arranjo

(4)

dos contêineres. Para o primeiro objetivo, minimizam-se os remanejos decorrentes do descarregamento temporário de contêineres, que visam permitir a retirada de um instru- mento que esteja na parte inferior da pilha e cujo destino seja o porto atual. Para o segundo, define-se a distância do centro de massa ao geométrico, depois do descarregamento e do carregamento do navio em cada porto, como medida da instabilidade. A seguir, a formulação do problema por programação linear inteira com variáveis binárias 0-1 será demonstrada, que é uma extensão do PCCTP 2D deter- místico, apresentado em Avriel et al. (1998).

2.1. NoMENClATuRA

As variáveis, constantes, índices e funções empregadas nas restrições e na função objetivo têm seu significado deta- lhado a seguir:

R �����������������: número total de linhas existentes no navio.

C �����������������: número total de colunas existentes no navio.

D ����������������: número total de baias existentes no navio.

S������������������: número total de cenários empregados no modelo matemático.

N �����������������: número total de portos a serem percorridos pelo navio no horizonte de planejamento con- templado pelo modelo matemático.

r ������������������: índice relativo à linha do navio.

c ������������������: índice relativo à coluna do navio.

d ������������������: índice relativo à baia do navio.

s ������������������: índice relativo ao cenário.

i,j,k,p,v ��������: índices auxiliares empregados na elaboração das restrições.

α �����������������: peso relativo à importância que a função Φ1 (x) tem na otimização.

β �����������������: peso relativo à importância que a função Φ2 (y) tem na otimização.

Φs1 (x) ���������: número de movimentos realizados ao longo dos portos no cenário s.

Φs2 (y) ���������: medida de instabilidade pelos portos no cenário s.

θs �����������������: peso associado à importância que o cenário s tem perante os demais ou probabilidade de sua ocorrência.

˜Tij �����������������������������: valor aleatório do número de contêineres com origem em i e destino em j.

Tsij ���������������: número de contêineres com origem em i e des- tino em j no cenário s.

(r, c, d) ���������: célula do navio localizada na linha r, coluna c, baia d.

xsijk (r, c, d) ���: variável binária que assume o valor 1 se, no cenário s, existir um contêiner no compartimento (r, c, d) que foi ocupado no porto i, tem como destino final o porto j e foi movido no porto v;

caso contrário, assume valor zero.

ysi (r, c, d) �����: variável binária que assume valor 1 se, no cená- rio s, saindo do porto i o compartimento (r, c, d) for ocupado por um contêiner; caso contrário, assume valor 0.

zcmsdi �����������: coordenada do centro de massa no eixo das linhas r para cada baia d no porto i.

xcmsdi �����������: coordenada do centro de massa no eixo das colunas c de cada baia d no porto i.

Δzcmsdi ���������: soma dos desvios entre a coordenada do cen- tro de massa zcmsdi no eixo das linhas r e coor- denada do centro geométrico C/2 de cada baia d no porto i.

Δxcmsdi ���������: soma dos desvios entre a coordenada do centro de massa xcmsdi no eixo das colunas c e coorde- nada do centro geométrico R/2 de cada baia d no porto i.

2.2. ModElo MATEMáTiCo

Considere um navio para transporte de contêineres que possui D baias numeradas d=1, ���, D. Cada uma tem R linhas horizontais numeradas r=1, 2, ���R (a linha 1 é a que está no fundo e a R é aquela da pilha mais próxima do convés) e C colunas verticais numeradas c=1, 2,���,C (coluna 1 é a primeira de bombordo). Apesar de a baia ter formato tridimensional com outras de diferentes tama- nhos, a mesma pode ser representada, sem perda de gene- ralidade, por tal formato com baias de mesma capacidade, particularmente um vetor de matrizes. Portanto, uma baia pode alocar no máximo RxC contêineres. Assume-se, sem perda de generalidade, que todos os contêineres tenham o mesmo tamanho e peso. O navio chega no porto 1 comple- tamente vazio e, sequencialmente, visita os portos 2, 3,���, N. Em cada i=1,���,N-1, o navio recebe o carregamento de contêineres com destino aos i+1,���,N. No último porto, ele descarrega os contêineres e fica totalmente vazio. Seja

˜T = [ ˜Tij] a matriz de transporte de dimensão (N-1)x(N- 1), em que ˜Tij é uma variável aleatória correspondente ao

(5)

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

A matriz é triangular superior, pois ˜Tij = 0 para todo i ≥ j.

Outra de transporte é considerada uma variável aleatória, devido ao fato de que a informação referente ao número de contêineres que devem ser embarcados em cada porto é estocástica, isto é, não pode ser obtida com antecedên- cia. Essa informação tem um significado importante, for- necendo que uma solução para o problema estocástico deve considerar que: (i) não é possível prever o futuro; (ii) decorrente de (i), é necessário modificar o objetivo de se obter a melhor solução para os possíveis valores de ˜Tij , ou mesmo para uma única matriz de transporte T.

De acordo com a segunda consideração, isto significa que a obtenção da melhor solução deverá observar vários possíveis valores da matriz ˜Tij . Neste sentido, ao invés de considerar que a matriz T é uma variável aleatória ˜T, pode-se empregar um conjunto de matrizes Ts com elementos fixos gerados aleato- riamente. Cada matriz de transporte Ts é tal que o número de contêineres a serem embarcados em cada porto é conhecido e, desse modo, é possível definir que Ts corresponde a um cená- rio. Assim, para o problema 3D com incerteza na matriz de transporte T, quando se declara que a otimização considera múltiplos cenários, implica que a solução a ser encontrada busca o melhor valor médio em termos de número de movi- mentos e instabilidade para várias matrizes de transporte Ts. Espera-se que a solução obtida deste modo seja tal que, na média, apresente menor número de movimentos e instabili- dade em instâncias desconhecidas quando comparada com outras para apenas um cenário. Em outras palavras, a consi- deração de um modelo com múltiplos cenários permite que as soluções obtidas sejam mais robustas e ‘imunes’ à variação decorrente da característica estocástica da matriz ˜T.

A formulação de programação linear inteira do PCCTP 3D para múltiplos cenários é fornecida pelas Equações 1 a 8:

f (x) = ∑s

s=1 (αΦs1(x) + βΦs2(y)) θs

i=1,���,N-1,j=i+1,���,N;

Min s=1,���,S; (1)

s�a:

∑ ∑ ∑ ∑ j xskjv (r,c,d) - ∑ ∑ ∑ ∑ xskjv (r,c,d) = Tsij

v=i+1 R r=1

C c=1

D d=1

i-1 k=1 R r=1

C c=1

D d=1

i=1,���,N-1,j=i+1,���,N;

s=1,���,S; (2)

∑ ∑ ∑ xj N j skjv (r,c,d) = ysi (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) s=1,���,S;

ysi (r,c,d) - ysi (r+1,c,d) ≥ 0

i=1,���,N-1, r=1,���,R-1;

c=1,���,C; d=1,���,D; (4) s=1,���,S;

∑ ∑ xsipj (r,c,d) + ∑ ∑ ∑ xsipv (r+1,c,d) 1

j-1 N j-1 N p

i=1 p=j i=1 p=j+1 v=j+1

i=2,���,N, r=1,���,R-1;

c=1,���,C; d=1,���,D; (5) s=1,���,S;

xsijv (r,c,d) = 0 ou 1; ysi (r,c,d) = 0 ou 1 (6) A variável binária xsijv (r, c, d) é definida de forma que se assuma o valor 1 se, no cenário s, existir um contêiner no com- partimento (r, c, d) que foi ocupado no porto i e tem como destino final o j e movido no 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 ressaltar que a numeração das linhas é realizada de baixo para cima, assim aquela de número 5 está acima da 4. A numeração das colunas é feita da esquerda para a direita. A profundidade é iniciada da popa à proa. A variável ysi (r, c, d) possui valor 1 se, no cenário s, saindo do porto i o compartimento (r, c, d) for ocupado por um contêiner; caso contrário, assume valor 0.

A restrição na Equação 2 é para conservação de fluxo, onde Tsij é o elemento da matriz de transporte que representa 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 compartimento (r, c, d) tenha no máximo um único contêiner.

Já a da 4 é necessária para garantir a existência de contêineres embaixo daquele que ocupa o compartimento (r, c, d). Na 5, ela é responsável por definir a movimentação dos contêineres:

se um que ocupa a posição (r, c, d) é descarregado no porto j, então, ou não há outros acima dele ou o índice v do contêi- ner que ocupa o compartimento (r+1, c, d) não é maior que j.

A função objetivo, fornecida pela Equação 1, é uma composição de dois diferentes critérios em um cenário s,

(6)

ponderado pela probabilidade θs de ocorrência do cenário: o primeiro depende da movimentação dos contêineres, Φs1 (x) e o segundo da posição ocupada pelos contêineres em cada porto, Φs2 (y). Os dois podem ser combinados por meio de valores escalares fornecidos para os pesos α e β dentro de um modelo de otimização biobjetivo.

O termo Φs1 (x) relativo ao custo total de movimentação dos contêineres (assumindo, sem perda de generalidade, que 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:

Φs1 (x) = ∑ ∑ ∑ ∑ ∑ ∑ xsijv (r,c,d) (7) O termo Φs2 (y) é relativo à estabilidade do navio de acordo com a posição dos contêineres, assumindo-se que cada um possua um peso unitário e igual para todos os portos, em todos aqueles no cenário s e é dado pela Equação 8:

Φs2 (y) = ∑

(

∑ (Δxcmsdi)2 + ∑ (Δzcmsdi)2

)

(8)

onde:

Δzcmsdi = zcmsdi - R/2, Δxcmsdi = xcmsdi - C/2 zcmsdi =

(

∑ ∑ (ysi (r,c,d) x (r-0,5)

) / (

∑ ∑ ysi (r,c,d)

)

xcmsdi =

(

∑ ∑ (ysi (r,c,d) x (c-0,5)

) / (

∑ ∑ ysi (r,c,d)

)

Observe na Equação 8 que, em cada cenário s, para se calcular a soma dos desvios (Δxcmsdi e Δzcmsdi) usam-se as coordenadas do centro de massa (xcmsdi e zcmsdi) e as do geo- métrico (R/2 e C/2) de cada baia d no porto i. Para tanto, é necessário calcular as coordenadas do centro de massa xcmsdi, e zcmsdi, relativas, respectivamente, àquelas no eixo das colu- nas c e linhas r de cada baia d no porto i.

Infelizmente, o tamanho que o problema assume com a formulação dada pelas Equações 1 a 8 é proibitivo para problemas reais e pode ser resolvido apenas para compli- cações pequenas. Além disso, como verificado (AVRIEL;

PENN, 1993) e demonstrado por Avriel et al. (2000), o PCCTP 2D é um problema NP-Completo e, portanto, o PCCTP 3D também é, com múltiplos cenários, o que justifica o uso de heurísticas para encontrar boas soluções, em particular, algoritmos genéticos.

N-1 i=1

N j=i+1

j-1 v=i+1

R r=1

C c=1

D d=1

N i=1

D d=1

D d=1

R r=1

C c=1

R r=1

C c=1 C

c=1 R r=1

R r=1

C c=1

Outra dificuldade é relacionada à questão da representação de solução por meio de variáveis binárias. A formulação das Equações 1 a 8 é tal que, para se representar uma solução de uma instância com S=10, D=5, R=6, C=50 e P=30, serão neces- sárias SxDxRxCxP3 variáveis xijv(r,c,d), ou seja, 405.000.000 x, e SxDxRxCxP variáveis yi(r,c,d), ou seja, 450.000 y. Portanto, um total de 405.450.000 variáveis para representar uma única solução que pode ser infactível.

3. RePResentação PoR RegRas

3.1. REpRESENTAção poR REGRAS pARA uM CENáRio

Nesta seção será apresentada a representação matricial desenvolvida para a resolução do PCCTP 3D. Esta, ao con- trário da binária, tem a vantagem de ser compacta e de assegu- rar que todas as soluções geradas pelo método sejam factíveis.

Foi possível observar na Figura 1 que os navios possuem uma estrutura celular de modo que os locais onde os contêi- neres serão alocados sejam predeterminados, fazendo com que estes sejam empilhados verticalmente. Tal empilhamento sugere uma representação por meio de um vetor de matri- zes dos contêineres no navio. Desse modo, pode-se definir um vetor das matrizes de ocupação B, que fornece a dispo- sição de espaços disponíveis e a localização dos contêineres no navio em todos os portos. Para tanto, cada elemento do vetor de matrizes é uma matriz Brcd que representa o estado de uma célula (r,c,d), isto é, se Brcd for igual a zero significa que a célula que ocupa a linha r, a coluna c e a baia d está vazia e se Brcd=j, a célula contém um contêiner cujo destino é o porto j.

Assim, no exemplo da Figura 2, o elemento (2,2,1) perten- cente à baia 1 (Brc1), linha 2 e coluna 2 é igual a 3, logo neste local existe um contêiner que será descarregado no porto 3. De modo análogo, o elemento (1,1,3)=6 significa a célula da terceira baia (Brc3), a primeira linha e a primeira coluna contêm um contêi- ner cujo destino é o porto 6. Observe que a linha 2 representa a célula do topo da pilha e a 1, a célula no fundo pilha. Cada vetor de matrizes B é uma ocupação do navio, de acordo com um dese- nho tridimensional. Portanto, o vetor de matrizes B mostrado na Figura 2 será associado ao desenho tridimensional da Figura 3.

É importante observar que a matriz de ocupação B é modi- ficada em cada porto, devido à entrada e saída de novos contêi- neres, ou seja, quando o navio chega num j, é necessário realizar

(7)

Figura 2. Matriz de ocupação para navio com capacidade de 16 contêineres e transporte para seis portos.

Br,c,3

5 5

6 6

4 4

5 4

2 3

4 2

Br,c,2

Br,c,1

Figura 3. Representação tridimensional da matriz de ocupação mostrada na Figura 2.

baixa resolução

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

Rc1 Rd1 1

Rd2 2

Rc2 Rd1 3

Rd2 4

Rc3 Rd1 5

Rd2 6

Rc4 Rd1 7

Rd2 8

Rc5 Rd1 9

Rd2 10

Rc6 Rd1 11

Rd2 12

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

dois movimentos obrigatórios, a saber: descarregar os contêineres cujo destino é o porto j em questão, bem como aqueles que os bloqueiam; 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 descarregamento e o carregamento dos contêineres.

Para este artigo, foram criadas 12 regras k resultantes das combinações das seis de carregamento (Rc1, Rc2, Rc3, Rc4, Rc5, Rc6) e duas de descarregamento (Rd1, Rd2), conforme ilustrado na Tabela 1.

Na Tabela 1, observa-se que a regra 2 é a combinação da Rc1 para o carregamento dos contêineres com a Rd2 para o descarregamento. Isso foi feito com o objetivo de se obter uma representação ainda mais compacta da solução.

A aplicação de tais regras em cada porto j vai atualizar a matriz de ocupação B. Vale lembrar que, inicialmente, a matriz B está com todos seus elementos iguais a zero e começa a ser preenchida no porto 1. Para melhor ilustrar a utilização das regras, a matriz de transporte T determinística da Figura 4

(8)

será aplicada, fornecendo a quantidade de contêineres a serem embarcados em cada porto i com destino a j.

3.1.1. Regras de Carregamento • A Rc1 preenche a matriz de ocupação B (no porto p) por baia, começando pela primeira linha da primeira baia (fundo do navio) e vai 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 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 navio) e indo até a última (popa do navio), de bombordo para estibordo, colocando na parte inferior da pilha de cada linha (fundo do navio) as cargas cujos destinos sejam mais distan- tes. Sua aplicação, considerando a matriz T da Figura 4 e que o navio se encontra no porto 1, resultará na B da Figura 5b.

Figura 4. Matriz de transporte T.

D2 D3 D4 D5

O1 2 5 0 0

O2 0 2 3 1

O3 0 0 2 2

O4 0 0 0 1

Figura 5. Matriz de ocupação B no porto 1, após a aplicação de cada regra Rc.

B3,r,c

0 0

0 0

2 0

3 2

3 3

3 3

B2,r,c

B1,r,c

B3,r,c

0 0

3 2

0 0

3 3

2 0

3 3

B2,r,c

B1,r,c

(A) Regra Rc1

(B) Regra Rc2

Avaliação de solução para o PCCTP 3D [nmov, instab] = Avaliar3D(v,T)

Início

p=1, nmov=0, instab=0.0 inicializar(B,T)

Enquanto (p<=N) faça Início

[rc, rd]=extrairRegras(v(p)) Se (p > 1)

[aux, B, T] = descarregar(Rd, B, p) instab = instab + calcDXDZ(B) nmov = nmov + aux

fim Se (p < N)

[aux, B, T] = carregar(Rc, B, T, p) instab = instab + calcDXDZ(B) nmov = nmov + aux

fim p = p + 1 fim

retornar nmov, instab fim

algoritmo 1. Algoritmo para avaliação de uma solução υ por meio de regras.

(9)

3.1.2. Regras de Descarregamento • Na Rd1, quando o navio chega a um porto p, são removidos todos os contêineres cujos destinos sejam o porto p e aqueles que estejam 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. Além disso, após a aplicação da regra, a matriz de transporte T deve ser atualizada, pois foi retirada com destino aos portos p+j, que devem ser recarregados e, portanto, serão adicionados na matriz de transporte relativa ao p.

Uma descrição mais detalhada das regras e de seu funcio- namento foi fornecida por Azevedo et al. (2012).

O processo de avaliação de uma solução v combina a aná- lise das regras com a simulação do estado do navio, ao longo dos portos, após a aplicação de cada regra, como mostrado no Algoritmo 1.

Símbolos e funções empregados no Algoritmo 1 são des- critos a seguir:

p : variável contadora, que indica o porto atual da simulação.

N : número total de portos.

v : vetor este que o elemento v(i) contém a regra k, a ser aplicada no porto i e modificar a matriz de ocupação B adequadamente.

nmov : 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 car- regamento a ser aplicada.

Rd : variável que contém o nome da regra de des- carregamento a ser aplicada.

inicializar : função que preenche a matriz de ocupação B, com valores iguais a zero.

extrairRegras : função que define a correspondência entre a regra k, contida em v(i), com aquelas de descar- regamento 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.

calcDXDZ : função que realiza o cálculo da distância entre o centro de massa e o geométrico por baia d,

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

1 1

1 1

1 1

0 1

0 1

1 1

0 0

1 1

0

0

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

Colunas c Linhas r

Baias d

(10)

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

1 1

1 1

1 1

0 0

0 0

0 0

0 0

0 0

0 0 Linhas r

Baia 3

Colunas c

centro de massa da baia 3

xcm3=1,5

para o navio, depois de ser descarregado e de ser carregado em cada porto p.

As funções carregar e descarregar, empregadas no algo- ritmo 1, utilizam as regras descritas. Para melhor ilustrar o fun- cionamento do procedimento calcDXDZ, supôs-se que o navio tinha o arranjo de contêineres, como apresentado na Figura 6.

Definindo xcm3 como a coordenada do centro de massa relativa às linhas da baia e zcm3 aquela do centro de massa rela- tiva às colunas da baia 3, os valores xcm3 e zcm3 podem ser calculados, utilizando-se a Equação 8 e a informação contida na Figura 6, como apresentado na Figura 7.

xcm3 = (2 • 0,5 + 2 • 1,5 + 2 • 2,5)/(2 + 2 + 2) = 9/6 = 1,5 zcm3 = (3 • 0,5 + 3 • 1,5)/(6) = 6/6 = 1,0

3.2. REpRESENTAção poR REGRAS pARA diFERENTES CoNdiçõES dE CoNToRNo

Duas alterações nas suposições realizadas pelo modelo matemático da Seção 2.1, que não são abordadas na literatura, podem ser tratadas pela representação por regras. A primeira delas é relativa à suposição de que o navio no porto 1 esteja vazio. Neste caso, a mesma pode ser modificada, supondo-se

que a matriz de ocupação B no porto 1 possua alguns contêi- neres. A segunda ideia diz que no último porto não há cargas a serem embarcadas adiante. Pode ser considerada como o final do horizonte de planejamento do modelo, ou, ainda, o ponto anterior à manutenção do navio. Ao se modificar esta hipó- tese, o navio pode passar a ter uma rota circular, mas podem ocorrer problemas para se determinar o número de movi- mentos e instabilidades em tal caso. A primeira e a segunda suposição tratam das condições inicial e final do arranjo de contêineres no navio, respectivamente, e podem ser combi- nadas de modo a formar os quatro casos na Tabela 2.

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 de transporte fornecidas na Figura 9, e supondo-se de a regra 1 (Tabela 1) seja aplicada para todos os portos. Observe que, para o caso 3, não é apresentado um exemplo, pois este possui uma inconsistência lógica. Certamente, se o navio possui uma rota circular, então, para todos os portos existe um embarque de con- têineres, cujos destinos sejam adiante. No entanto, se no primeiro porto não há cargas, não se pode fazer parte da rota circular.

Na Figura 9 é apresentado o estado do navio após a apli- cação da regra de descarregamento (Rd) e carregamento (Rc) para cada porto.

No caso 4, a aplicação da regra 1 em todos os portos é tal que, após a aplicação da norma de descarregamento no

(11)

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

D1 D2 D3 D4

O1 0 2 1 2

O2 0 0 1 2

O3 0 0 0 1

O4 0 0 0 0

D1 D2 D3 D4

O1 0 1 1 2

O2 1 0 2 1

O3 2 2 0 1

O4 1 1 2 0

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

tabela 2. Condição de contorno e suas combinações:

com e sem carga no porto inicial e com e sem a consideração de rotas com ciclo.

Rota

Sem ciclo Com ciclo

Porto inicial

Sem carga Caso 1 Caso 3

Com

carga Caso 2 Caso 4 porto 4, o navio fica totalmente vazio. Isso permite uma reor- ganização do espaço, de modo que o arranjo do navio ao sair do porto 4 seja consistente com aquele após realizar o descar- regamento no porto 1. No entanto, tal fato pode nem sempre acontecer, e a solução é considerar o horizonte de planeja- mento maior que o número de portos a serem percorridos.

Um exemplo deste problema para o caso 4 é quando a solução empregada é: 2, 1, 2 e 1, conforme mostrado na Figura 10.

Uma solução para o problema apresentado na Figura 10 é repetir a aplicação da solução (e informação da matriz de transporte T) até que o arranjo de contêineres em Rc, no porto 4, seja igual àquele em Rd, no porto 1. No exemplo apresen- tado na Figura 10, isso ocorre na terceira repetição. Neste caso, o número de movimentos e a instabilidade deverão ser médias do registrado após três repetições (três passagens do navio pelo porto 1).

3.3. REpRESENTAção poR REGRAS pARA MúlTiploS CENáRioS

É importante observar que a consideração de múlti- plos cenários na representação por regras pode ser obtida empregando-se o algoritmo da avaliação de uma solução do Algoritmo 1. Para tanto, é necessário considerar que um vetor solução v contendo N regras de carregamento e descarregamento para N portos deverá ser avaliado para S cenários. Depois, o número de movimentos deverá ser multiplicado pela probabilidade de ocorrência θs de cada cenário s. Esse procedimento engloba a avaliação mono- cenário (Algoritmo 1), como apresentado no Algoritmo 2.

Os símbolos e as funções empregadas no Algoritmo 2 são descritos a seguir:

s : variável contadora que indica o cenário atual 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 Ts para o cenário s.

p : vetor tal que o elemento p(s) contenha a proba- bilidade de ocorrência θs do cenário s associado à matriz de transporte T(s).

nmov : número de movimentos realizados para car- regar ou descarregar o navio ao longo dos N portos para o cenário s, como mostrado na Equação 7.

instab : medida de instabilidade para o cenário s com matriz de transporte T(s) calculada de acordo com a Equação 8.

(12)

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

1

3 3

3

2 3 4

1 2 3 4

1 2 3 4

3 3

3 3

3

3 3

3 3

3 3

3 3 3

3 3

3 3

3 3 3

3 3

3 3

3 3

4 Rd

Rc

Rd

Rc

Rd

Rc

4 2 2

2 2

2 2

2 2 2

2

2 2

2 2 2 2

2

2

4 4

4 4 4

4 4

4 4

4 4

4 4 4

4 4

4

4 4

4 4

4 4

4

4 4

4

4 4 4

4

4 4

4

4 4

4 4 4

4 4

1

1 1

1 1

1 1 1 1

4 4

Caso 1 Caso 2 Caso 4

(13)

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

1 2 3 4

2 3

2 3

4 3

2 3 3

4 4

3 3

3 Rd

Rc

2

2 2 4

3 2

4 2

2 2 3 3

3 4

3

2 3 4

4

4 1

4 1

1

1

1 1

1 2

1 1 1 1

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 consideração e avaliação do PCCTP estocástico, por meio da consideração de múltiplos cenários.

Portanto, a mesma lógica de avaliação via simulação descrita e utilizada na solução do PCCTP 3D, descrita em Azevedo et al. (2012), é modificada para analisar uma solução do mesmo estocástico. Para tanto, basta empregar a função

‘Avaliar3D’ (Algoritmo 1) em um vetor solução v quantas vezes forem o número de cenários considerados (S cenários que resultam em S matrizes de transporte Ts). Cada uso de

‘Avaliar3D’ fornece dois valores que são combinados em um único, ou seja, número de movimentos e medida de instabi- lidade (Equações 1, 7 e 8), ponderados pela probabilidade de ocorrência do cenário θs e dos pesos α e β para cada medida (número de movimentos e instabilidade).

4. Resultados

Para testar o algoritmo, foram geradas automática e aleato- riamente 15 instâncias, as quais foram classificadas de acordo com o número de portos e o tipo da matriz de transporte. Para cada instância, gerou-se uma certa quantidade das matrizes

algoritmo 2. Algoritmo para avaliação de uma solução por meio de regras para múltiplos cenários.

Avaliação da solução para o PCCTP com múltiplos cenários

[nmov,instab] =

AvaliarMC(alpha,beta,v,T) início

s=1; nmov = 0;

Enquanto (s<S) faça início

[aux1,aux2]=Avaliar3d(v,T(s));

nmov=nmov + alpha*aux1*p(s);

instab=instab + beta*aux2*p(s);

s=s+1;

fim

retornar (nmov + instab) fim

(14)

de transporte T, cada uma correspondendo a um cenário e tal que a capacidade do navio não será excedida em nenhum porto, isto é, o valor de qp, fornecido pela Equação 9, deve ser menor ou igual a DxRxC para todo porto p, devido ao fato de a matriz de transporte ser factível caso:

∑ ∑ Tij ≤ DxRxC para todo p=1,���,N (9) De acordo com Avriel et al. (1998), podem ser gerados três tipos de matriz de transporte: 1 – mista, 2 – longa 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 do tipo 2 concerne contêineres que vão passar por muitos portos antes de serem desembarcados.

Uma mista combina os dois tipos anteriores. As instâncias foram classificadas conforme 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 (DxRxC): 5´6´50, resultando na seguinte capaci- dade máxima: 1.500 contêineres. As instâncias utilizadas nos testes encontram-se disponíveis em Projeto Containership 3D (2012).

Com o objetivo de verificar se o modelo matemático das Equações 1 a 8 é eficiente na geração de soluções ‘imunes’

à estocasticidade presente na matriz T, foram criados dois conjuntos: um de treinamento e outro de validação. A pri- meira é tal que, para cada uma das 15 instâncias, existem dez cenários diferentes e equiprováveis. Por outro lado, o segundo é composto de 15 instâncias e cada uma delas possui 50 cenários diferentes e equiprováveis. A meto- dologia de avaliação do modelo matemático cumprirá os seguintes passos:

• obter uma solução ao modelo das Equações 1 a 8 para os dados do conjunto de treinamento, considerando cada um dos cenários (usar apenas uma matriz T para cada instância) e todos aqueles do conjunto (usar todas as dez T para cada instância);

• avaliar as soluções obtidas anteriormente com os dados do conjunto de validação, isto é, verificar o desempenho dos resultados que consideram apenas um cenário e aquele que utiliza todos os dez cenários em termos de número médio de movimentos e instabilidade;

• calcular o desempenho médio de cada uma das soluções no conjunto de validação.

p i=1

N j=p+1

Primeiramente, será ilustrado o resultado obtido para o conjunto de treinamento. Em particular, será mostrado o desempenho da solução que considera o modelo das Equações 1 a 8 com os dez cenários do conjunto de treinamento.

A Tabela 3 mostra os resultados obtidos com a melhor solução após cinco rodadas de algorimo genético com popu- lação de dez indivíduos, 1.000 gerações, taxa de crossover igual a 80% e de mutação igual a 15% para as 15 instâncias.

Como cada uma delas compreende dez cenários, ou seja, dez matrizes de transporte diferentes, então, cada linha da tabela corresponde ao desempenho médio para os dez diferentes cenários da melhor solução obtida. A Tabela 3 também inclui as seguintes colunas: I = o número da ins- tâ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 movimen- tos realizados com os contêineres até a chegada no último porto; F.O.2 = os valores de estabilidade de acordo com o arranjo de contêineres e com a Equação 8; e T = tempo computacional em segundos.

Note 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). Os resul- tados apresentados para (a=1, b=0) correspondem à melhor solução obtida, com o objetivo de minimizar o número de movimentos para cada instância. Para sete delas, o número de movimentos (FO1) encontrado é até 4% maior que o mínimo (Nmin); para seis, o valor mínimo é até 25% maior e apenas duas instâncias possuem até 49%. Já (α=0, β=1), como o obje- tivo é minimizar a medida de instabilidade, apresenta maior número de movimentos (FO1), mas soluções com medida de instabilidade significativamente menor (FO2). Esses 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 Tij calculado de acordo com a Equação 9.

Tal valor é o limitante inferior para o número total de movimentos a serem realizados ao longo do percurso do navio. Os resultados do GA foram obtidos com um pro- grama desenvolvido em Matlab 7.0 e executado num com- putador Intel Core 2Duo 2.20 GHz (E4500), 2GB RAM, Windows XP, versão 2002 (SP 3).

A primeira observação importante acerca dos resulta- dos da Tabela 3 refere-se ao tempo computacional gasto

(15)

pelo algoritmo genético. É importante enfatizar que, para a formulação dada pelas Equações 1 a 8, as instâncias com 30 portos são problemas com 405.450.000 variáveis inteiras (dez cenários, 30 portos, cinco baias, seis linhas e 50 colunas).

Para estas instâncias, o algoritmo genético consegue produ- zir boas soluções em mais ou menos uma hora e 20 minutos.

Pode-se ressaltar também que, de forma geral, um aumento de cinco no número de portos a serem percorridos, de uma instância para outra, produz em média um aumento de mais ou menos 13 minutos e 30 segundos no tempo computacio- nal gasto pelo algoritmo genético. Por exemplo, em instân- cias com dez portos, leva-se 22 minutos para se obter uma solução, ao passo que naquelas com 15, leva-se, em média, 35 minutos. Espera-se que futuras implementações em lingua- gem C venham a reduzir o tempo computacional de solução pelo algoritmo genético.

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ân- cia (tipo 3), as regras são bastante adequadas e produzem resultados muito próximos do limite inferior do número de movimentos, quase atingindo este limite. Isso pode ser mostrado como no caso para 10, 15 e 20 portos, que produzem soluções com distância de 0,30, 1,61 e 1,87%, respectivamente. Já para as instâncias em que a matriz de transporte é de média (tipo 1) e longa distâncias (tipo 2), o algoritmo genético apresentou soluções cujo número de movimentos é bem maior que o limitante inferior (na ins- tância de 30 portos e matriz tipo 2 de aproximadamente 30%). Esses resultados indicam a necessidade de se incor- porar ao sistema um número maior de regras que levem em consideração o arranjo de contêineres que permane- cerão durante um tempo dentro do navio ou uma melhor estimativa do limitante inferior.

Porém, quando a função objetivo visa minimizar a medida de instabilidade (α=0, β=1), as soluções apresentadas pelo

I N M NMin (α=1, β=0) (α=0, β=1)

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

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

Referências

Documentos relacionados

Todas as guias de extensão da gama de produtos Light Rail possuem lubrificação para toda a vida útil. Estão disponíveis, a pedido, vários lu- brificantes para

Participativo na Resolução do Problema de Carregamento e Descarregamento 3D de Contêineres em Terminais Portuários para Múltiplos

O modelo experimental de análise de viscosidade do óleo hidráulico testado em laboratório trouxe uma proposição da correlação causal entre a unidade primária de

Com relação ao CEETEPS, o tema desta dissertação é interessante por se inserir no Programa de Educação de Jovens e Adultos (PROEJA), sob a tutela da Coordenação de

Comparando os dois modelos de carregamento de preenchimento do algoritmo genético desenvolvido, observou-se que o modelo L, M e R se mostrou bastante eficiente nas configurações

Gilmore e Gomory (1963, 1965) apresentaram um método para resolver o problema (1) baseado no método simplex (dado que ele pode ser modelado como um programa linear) e num

Vereador Paulo Piteira interveio, no sentido de deixar uma saudação a todos os senhores Vereadores, desejando-lhes as maiores felicidades, tanto a nível pessoal,

A EMPRESA PÚBLICA DE SAÚDE DO RIO DE JANEIRO S/A - RIOSAÚDE, no uso das atribuições legais que lhe são conferidas pela legislação em vigor, e conforme