Acessibilidade / Reportar erro

O problema de coleta e entrega com janelas de tempo na indústria petrolífera: modelos e métodos branch-and-cut

Resumo

Este trabalho trata do problema de roteamento e programação de navios que transportam óleo cru das plataformas offshore (localizadas no oceano) até os terminais costeiros, motivado por um estudo de caso feito em uma empresa brasileira que realiza essa operação. Com base nesse estudo, propõe-se um modelo de programação inteira mista que é uma extensão do problema clássico de coleta e entrega com janelas de tempo. Esse problema pertence à classe NP-difícil, sendo sua resolução bastante desafiadora na prática. Ao problema da literatura foram agregadas outras restrições práticas relacionadas ao caso em estudo, o que torna a formulação ainda mais desafiadora para resolução direta por meio de softwares de otimização. Em vista disso, dois métodos de solução exatos do tipo branch-and-cut são propostos neste trabalho, os quais usam desigualdades válidas específicas para o problema em estudo. Os resultados de experimentos computacionais realizados com instâncias reais fornecidas pela empresa mostram que os métodos branch-and-cut propostos resolveram uma quantidade maior de instâncias em comparação com a resolução direta do modelo por meio de software de otimização.

Palavras-chave:
Problema de coleta e entrega; Roteamento e programação de navios; Indústria petrolífera; Método branch-and-cut

Abstract

This paper addresses the routing and scheduling problem of vessels that collect crude oil from offshore platforms (located in the ocean) and transport it to terminals on the coast. This problem is motivated by a case study carried out in an oil company that operates in Brazil. Based on this study, we propose a mixed integer programming model that extends the classical pickup and delivery problem with time windows. This problem belongs to the NP-hard class and its solution is very challenging in practice. To model specific features of the addressed case, we include new constraints in the classical formulation, which makes it even more challenging for general purpose optimization solvers. To overcome this, we propose two Branch-and-cut methods that use valid inequalities especially developed for the oil company case. Computational results performed with a real data set provided by the company show that the proposed Branch-and-cut methods are effective and able to solve more instances than a state of the art general purpose optimization solver.

Keywords:
Pickup and delivery problem; Ship routing and scheduling; Oil industry; Branch-and-cut method

1 Introdução

O transporte marítimo tem crescido bastante nos últimos anos e a indústria marítima vem recebendo maiores investimentos e maior atenção do ponto de vista acadêmico (Christiansen et al., 2004Christiansen, M., Fagerholt, K., & Ronen, D. (2004). Ship routing and scheduling: status and perspectives. Transportation Science, 38(1), 1-18. http://dx.doi.org/10.1287/trsc.1030.0036.
http://dx.doi.org/10.1287/trsc.1030.0036...
). Em particular, um dos setores marítimos de grande destaque nos últimos anos é o setor petrolífero. No Brasil, a capacidade de produção de petróleo é de cerca de 2,1 milhões de barris diários. As exportações de óleo cru chegam a 3,54 milhões de toneladas (Brasil, 2011Brasil. Ministério do Desenvolvimento, Indústria e Comércio Exterior – MDIC. (2011). Recuperado em 30 de abril de 2012, de http://www.mdic.gov.br/sitio/
http://www.mdic.gov.br/sitio/...
) e as maiores reservas estão na plataforma continental, em águas profundas.

Este estudo trata do problema de roteamento e programação de navios com coleta e entrega e com janelas de tempo, baseando-se em um caso real de uma empresa brasileira que realiza a extração e o transporte de óleo cru. Os navios coletam óleo cru das plataformas offshore (localizadas no oceano) e o transportam até os terminais localizados na costa brasileira. O transporte deve ser realizado de acordo com os prazos determinados por janelas de tempo impostas em plataformas e terminais.

Neste trabalho propõe-se um modelo de programação inteira mista para o problema da empresa em estudo. O modelo proposto pode ser visto como uma extensão do problema de coleta e entrega com janelas de tempo (Desaulniers et al., 2002Desaulniers, G., Desrosiers, J., Erdmann, A., & Solomon, M. M. (2002). VRP with pickup and delivery. In P. Toth & D. Vigo (Eds.), The vehicle routing problem (pp. 225-242). Philadelphia: Society for Industrial and Applied Mathematics.; Ropke & Cordeau, 2009Ropke, S., & Cordeau, J. F. (2009). branch-and-cut and price for the pickup and delivery problem with time windows. Transportation Science, 43(3), 267-286. http://dx.doi.org/10.1287/trsc.1090.0272.
http://dx.doi.org/10.1287/trsc.1090.0272...
). Essa extensão difere dos demais problemas da literatura por conter restrições práticas relacionadas a roteamento e programação de navios petroleiros e ao ambiente da empresa em estudo. Devido à dificuldade de se resolver esse modelo de forma direta por meio de softwares de otimização, dois métodos do tipo branch-and-cut foram propostos, utilizando desigualdades válidas para melhorar a qualidade dos limitantes fornecidos pela relaxação linear do modelo, como também para garantir que restrições adicionais relacionadas a navios, plataformas e terminais de petróleo fossem respeitadas. Nesses métodos, algoritmos de separação são utilizados para analisar quando uma determinada desigualdade válida é violada e, assim, cortes são inseridos de forma ad hoc. Isso é feito por ser inviável enumerar todos os cortes a priori, já que o número total de cortes é exponencial em relação ao número de requisições de coleta e entrega.

Dessa forma, as principais contribuições deste trabalho são: um modelo de programação matemática capaz de representar adequadamente o problema da empresa em estudo; métodos de solução que resolvem o modelo de forma mais efetiva quando comparados à sua resolução diretamente por softwares de otimização.

O restante deste texto está estruturado da seguinte maneira: na seção 2 é apresentada uma breve revisão bibliográfica para o problema de coleta e entrega na indústria petrolífera, juntamente com métodos do tipo branch-and-cut. Na seção 3, o problema da indústria petrolífera é detalhado, juntamente com o modelo de programação inteira mista proposto. Os métodos branch-and-cut são descritos na seção 4, seguidos pelos resultados computacionais, na seção 5. Por fim, as conclusões e perspectivas para pesquisa futura são apresentadas na seção 6.

2 Revisão da literatura

Essa seção tem o intuito de revisar brevemente os problemas de roteamento e programação de navios e o problema de coleta e entrega com janelas de tempo (Pickup and Delivery Problem with Time Windows – PDPTW), bem como a resolução desses problemas por métodos branch-and-cut.

No problema de coleta e entrega, os locais com demandas a serem coletadas e entregues são tipicamente representados por nós. A cada nó i temos que uma quantidade qi deve ser coletada. Essa mesma quantidade deve ser entregue no nó n + i, que possui demanda qn+i = -qi, representando a respectiva entrega. Com isso, o número de coletas deve ser igual ao número de entregas. Toda coleta deve ser realizada antes de sua respectiva entrega (restrição de precedência) e ambas devem estar na rota de um mesmo veículo (restrição de pareamento). Alguns estudos dessa variação do problema de roteamento de veículos (Vehicle Routing Problem – VRP) podem ser encontrados, por exemplo, em Berbeglia et al. (2007)Berbeglia, G., Cordeau, J. F., Gribkovskaia, I., & Laporte, G. (2007). Static pickup and delivery problems: a classification scheme and survey. Top, 15(1), 1-31. http://dx.doi.org/10.1007/s11750-007-0009-0.
http://dx.doi.org/10.1007/s11750-007-000...
, Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
, Nowak et al. (2008)Nowak, M., Ergun, O., & White, C. C. 3rd (2008). Pickup and delivery with split loads. Transportation Science, 42(1), 32-43. http://dx.doi.org/10.1287/trsc.1070.0207.
http://dx.doi.org/10.1287/trsc.1070.0207...
, Ropke & Cordeau (2009)Ropke, S., & Cordeau, J. F. (2009). branch-and-cut and price for the pickup and delivery problem with time windows. Transportation Science, 43(3), 267-286. http://dx.doi.org/10.1287/trsc.1090.0272.
http://dx.doi.org/10.1287/trsc.1090.0272...
e Hennig et al. (2012)Hennig, F., Nygreen, B., Christiansen, M., Fagerholt, K., Furman, K. C., Song, J., Kocis, G. R., & Warrick, P. (2012). Maritime crude oil transportation - a split pickup and split delivery problem. European Journal of Operational Research, 218(3), 764-774. http://dx.doi.org/10.1016/j.ejor.2011.09.046.
http://dx.doi.org/10.1016/j.ejor.2011.09...
.

Para o PDPTW, Dumas et al. (1991)Dumas, Y., Desrosiers, J., & Soumis, F. (1991). The pickup and delivery problem with time windows. European Journal of Operational Research, 54(1), 7-22. http://dx.doi.org/10.1016/0377-2217(91)90319-Q.
http://dx.doi.org/10.1016/0377-2217(91)9...
propõem um algoritmo exato baseado em geração de colunas e restrições de caminho mínimo para o subproblema. Lu & Dessouky (2004)Lu, Q., & Dessouky, M. (2004). An exact algorithm for the multiple vehicle pickup and delivery problem. Transportation Science, 38(4), 503-514. http://dx.doi.org/10.1287/trsc.1030.0040.
http://dx.doi.org/10.1287/trsc.1030.0040...
propuseram um algoritmo branch-and-cut para resolver o PDPTW com quatro classes de desigualdades válidas. Baldacci et al. (2011)Baldacci, R., Bartolini, E., & Mingozzi, A. (2011). An exact algorithm for the pickup and delivery problem with time windows. Operations Research, 59(2), 414-426. http://dx.doi.org/10.1287/opre.1100.0881.
http://dx.doi.org/10.1287/opre.1100.0881...
propuseram um algoritmo exato para o PDPTW, baseando-se no modelo de particionamento de conjuntos. Alguns surveys relevantes podem ser encontrados em Savelsbergh & Sol (1995)Savelsbergh, M. W. P., & Sol, M. (1995). The general pickup and delivery problem. Transportation Science, 29(1), 17-29. http://dx.doi.org/10.1287/trsc.29.1.17.
http://dx.doi.org/10.1287/trsc.29.1.17...
, Desaulniers et al. (2002)Desaulniers, G., Desrosiers, J., Erdmann, A., & Solomon, M. M. (2002). VRP with pickup and delivery. In P. Toth & D. Vigo (Eds.), The vehicle routing problem (pp. 225-242). Philadelphia: Society for Industrial and Applied Mathematics., Berbeglia et al. (2007)Berbeglia, G., Cordeau, J. F., Gribkovskaia, I., & Laporte, G. (2007). Static pickup and delivery problems: a classification scheme and survey. Top, 15(1), 1-31. http://dx.doi.org/10.1007/s11750-007-0009-0.
http://dx.doi.org/10.1007/s11750-007-000...
, Cordeau et al. (2008)Cordeau, J.-F., Laporte, G., & Ropke, S. (2008). Recent models and algorithms for one-to-one pickup and delivery problems. In B. Golden, S. Raghavan & E. Wasil (Eds.), The vehicle routing problem: latest advances and new challenges (Operations Research/Computer Science Interfaces, 43, pp. 327-357). New York: Springer., Parragh et al. (2008a,Parragh, S., Doerner, K., & Hartl, R. (2008a). A survey on pickup and delivery problems. Part I: transportation between customers and depot. Journal fur Betriebswirtschaft, 58(1), 21-51. http://dx.doi.org/10.1007/s11301-008-0033-7.
http://dx.doi.org/10.1007/s11301-008-003...
bParragh, S., Doerner, K., & Hartl, R. (2008b). A survey on pickup and delivery problems: Part II: Transportation between pickup and delivery locations. Journal fur Betriebswirtschaft, 58(2), 81-117. http://dx.doi.org/10.1007/s11301-008-0036-4.
http://dx.doi.org/10.1007/s11301-008-003...
).

Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
propuseram dois modelos para o PDPTW com variáveis de 2-índices. A frota de veículos é ilimitada e homogênea e deve respeitar as restrições de capacidade e janelas de tempo. O objetivo é minimizar os custos relacionados às viagens. Nos modelos propostos, o número de restrições é exponencial em relação ao número de requisições de coleta e entrega, tornando inviável enumerar todas as restrições. Assim, os modelos são resolvidos por meio de um algoritmo branch-and-cut. Várias famílias de desigualdades válidas foram implementadas, sendo que duas delas foram propostas especificamente para o PDPTW. Os autores resolveram várias instâncias por meio dos diferentes métodos branch-and-cut propostos e apresentaram uma comparação do desempenho de cada método. Em continuidade a esse trabalho, Ropke & Cordeau (2009)Ropke, S., & Cordeau, J. F. (2009). branch-and-cut and price for the pickup and delivery problem with time windows. Transportation Science, 43(3), 267-286. http://dx.doi.org/10.1287/trsc.1090.0272.
http://dx.doi.org/10.1287/trsc.1090.0272...
propuseram um método branch-and-cut-and-price para o problema de coleta e entrega com janelas de tempo. O método utiliza as desigualdades válidas apresentadas em Cordeau (2006)Cordeau, J. F. (2006). branch-and-cut algorithm for the dial-a-ride problem. Operations Research, 54(3), 573-586. http://dx.doi.org/10.1287/opre.1060.0283.
http://dx.doi.org/10.1287/opre.1060.0283...
, Ruland & Rodin (1997)Ruland, K. S., & Rodin, E. Y. (1997). The pickup and delivery problem: Faces and branch-and-cut algorithm. Computers & Mathematics with Applications, 33(12), 1-13. http://dx.doi.org/10.1016/S0898-1221(97)00090-4.
http://dx.doi.org/10.1016/S0898-1221(97)...
e Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
e os resultados mostraram que o método é capaz de resolver instâncias de tamanho grande em tempo computacional razoável. Cabe ressaltar que o modelo clássico da literatura apresentado por Ropke & Cordeau (2009)Ropke, S., & Cordeau, J. F. (2009). branch-and-cut and price for the pickup and delivery problem with time windows. Transportation Science, 43(3), 267-286. http://dx.doi.org/10.1287/trsc.1090.0272.
http://dx.doi.org/10.1287/trsc.1090.0272...
para o PDPTW nos serviu de base para desenvolvermos o modelo específico para a indústria petrolífera, ao qual incorporamos diversas restrições adicionais e no qual adotamos uma função objetivo diferente.

São muitos os trabalhos na literatura relacionados ao problema de roteamento e programação de veículos que envolvem modelagem matemática e métodos de solução. Porém a literatura (ou os trabalhos) que envolve especificamente roteamento e programação de navios não é extensa. Segundo Christiansen et al. (2007)Christiansen, M., Fagerholt, K., Ronen, D., & Nygreen, B. (2007). Maritime transportation. In C. Barnhart & G. Laporte (Eds.), Handbook in operations research and management science. Amsterdam: Elsevier. 189-284 p., isto se deve a alguns fatores, como menor visibilidade e estruturação do setor de transporte marítimo, maior incerteza na tomada de decisões, dificuldade para se inserir novas ideias no setor, por ser mais antigo que os demais setores de transporte, entre outros fatores.

Um dos trabalhos pioneiros a abordar o problema de programação de navios foi o de Dantzig & Fulkerson (1954)Dantzig, G., & Fulkerson, D. (1954). Minimizing the number of tankers to meet a fixed schedule. Naval Research Logistics Quarterly, 1(3), 217-222. http://dx.doi.org/10.1002/nav.3800010309.
http://dx.doi.org/10.1002/nav.3800010309...
, em que se estudou o problema de programação de navios da marinha americana usados para o transporte de combustível. Os autores propuseram um modelo de programação linear e um método de solução exato para resolvê-lo com o objetivo de minimizar o número de navios utilizados. Em Christiansen (1999)Christiansen, M. (1999). Decomposition of a combined inventory and time constrained ship routing problem. Transportation Science, 33(1), 1-14. http://dx.doi.org/10.1287/trsc.33.1.3.
http://dx.doi.org/10.1287/trsc.33.1.3...
, estudou-se o problema de roteamento e programação de navios com janelas de tempo em uma empresa que transportava amônia. O problema foi encontrar rotas com custos mínimos de transporte, de modo que a produção não parasse e ainda mantivesse os níveis de estoque desejáveis, ou seja, dentro de um limite para estoque mínimo e outro para estoque máximo. Sherali et al. (1999)Sherali, H., Al-Yakoob, S., & Hassan, M. (1999). Fleet management models and algorithms for an oil-tanker routing and scheduling problem. IIE Transactions, 31(5), 395-406. http://dx.doi.org/10.1080/07408179908969843.
http://dx.doi.org/10.1080/07408179908969...
estudaram a programação de navios para exportação de óleo cru e derivados do Kwait para países na América do Norte, Europa e Japão. A frota é heterogênea, os navios podem carregar produtos diferentes e janelas de tempo são consideradas na coleta e entrega dos produtos. Uma heurística baseada no modelo foi apresentada utilizando horizonte de tempo rolante.

Christiansen et al. (2004)Christiansen, M., Fagerholt, K., & Ronen, D. (2004). Ship routing and scheduling: status and perspectives. Transportation Science, 38(1), 1-18. http://dx.doi.org/10.1287/trsc.1030.0036.
http://dx.doi.org/10.1287/trsc.1030.0036...
revisaram os problemas relacionados ao roteamento e programação de navios. O foco estava na literatura publicada na década de 1990. Essa revisão divide-se em algumas partes: problemas estratégicos, tático-operacionais e, por último, em aplicações navais. Rocha et al. (2009)Rocha, R., Grossmann, I. E., & Aragão, M. V. S. P. (2009). Petroleum allocation at PETROBRAS: Mathematical model and a solution algorithm. Computers & Chemical Engineering, 33(12), 2123-2133. http://dx.doi.org/10.1016/j.compchemeng.2009.06.017.
http://dx.doi.org/10.1016/j.compchemeng....
apresentaram um modelo matemático para o problema de alocação de petróleo da Petrobras que envolvia decisões relacionadas à frota de navios, tipos de petróleo transportado e para qual terminal o petróleo deveria ser transportado. O objetivo era minimizar o custo total. Esse problema difere do problema do estudo de caso considerado neste trabalho, pois envolve a tomada de decisões em um nível hierárquico superior ao aqui considerado, ou seja, as decisões tomadas por Rocha et al. (2009)Rocha, R., Grossmann, I. E., & Aragão, M. V. S. P. (2009). Petroleum allocation at PETROBRAS: Mathematical model and a solution algorithm. Computers & Chemical Engineering, 33(12), 2123-2133. http://dx.doi.org/10.1016/j.compchemeng.2009.06.017.
http://dx.doi.org/10.1016/j.compchemeng....
servem como dado de entrada para o problema aqui estudado.

Hoff et al. (2010)Hoff, A., Andersson, H., Christiansen, M., Hasle, G., & Løkketangen, A. (2010). Industrial aspects and literature survey: fleet composition and routing. Computers & Operations Research, 37(12), 2041-2061. http://dx.doi.org/10.1016/j.cor.2010.03.015.
http://dx.doi.org/10.1016/j.cor.2010.03....
apresentam uma revisão da literatura que descreve os aspectos industriais, características do roteamento de navios, classificação dos problemas e detalhes de estratégias encontradas na literatura para resolver os problemas de roteamento e programação de navios. Outra revisão da literatura em transporte marítimo é o trabalho de Andersson et al. (2010)Andersson, H., Hoff, A., Christiansen, M., Hasle, G., & Løkketangen, A. (2010). Industrial aspects and literature survey: Combined inventory management and routing. Computers & Operations Research, 37(9), 1515-1536. http://dx.doi.org/10.1016/j.cor.2009.11.009.
http://dx.doi.org/10.1016/j.cor.2009.11....
, que enfatizou os processos e decisões relacionados à gestão de estoque e roteamento de navios e, principalmente, a combinação dessas atividades na perspectiva da pesquisa operacional. Outros trabalhos mais recentes que estudaram roteamento e programação de navios, alguns em óleo cru, e sua resolução por métodos exatos são Hwang et al. (2008)Hwang, H., Visoldilokpun, S., & Rosenberger, J. M. (2008). A branch-and-price-and-cut method for ship scheduling with limited risk. Transportation Science, 42(3), 336-351. http://dx.doi.org/10.1287/trsc.1070.0218.
http://dx.doi.org/10.1287/trsc.1070.0218...
, Brønmo et al. (2010)Brønmo, G., Nygreen, B., & Lysgaard, J. (2010). Column generation approaches to ship scheduling with flexible cargo sizes. European Journal of Operational Research, 200(1), 139-150. http://dx.doi.org/10.1016/j.ejor.2008.12.028.
http://dx.doi.org/10.1016/j.ejor.2008.12...
, Stålhane et al. (2012)Stålhane, M., Andersson, H., Christiansen, M., Cordeau, J.-F., & Desaulniers, G. (2012). A branch-price-and-cut method for a ship routing and scheduling problem with split loads. Computers & Operations Research, 39(12), 3361-3375. http://dx.doi.org/10.1016/j.cor.2012.04.021.
http://dx.doi.org/10.1016/j.cor.2012.04....
, Hennig et al. (2012)Hennig, F., Nygreen, B., Christiansen, M., Fagerholt, K., Furman, K. C., Song, J., Kocis, G. R., & Warrick, P. (2012). Maritime crude oil transportation - a split pickup and split delivery problem. European Journal of Operational Research, 218(3), 764-774. http://dx.doi.org/10.1016/j.ejor.2011.09.046.
http://dx.doi.org/10.1016/j.ejor.2011.09...
e Fagerholt & Ronen (2013)Fagerholt, K., & Ronen, D. (2013). Bulk ship routing and scheduling: solving practical problems may provide better results. Maritime Policy & Management, 40(1), 48-64. http://dx.doi.org/10.1080/03088839.2012.744481.
http://dx.doi.org/10.1080/03088839.2012....
.

3 O problema de coleta e entrega na indústria petrolífera

Essa seção descreve o problema de roteamento e programação de navios na indústria petrolífera, bem como suas características e diferenças em relação aos problemas clássicos presentes na literatura. O foco deste trabalho é na atividade de transporte de óleo cru das plataformas até os terminais. O problema de roteamento e programação de navios está inserido em contexto em que origens e destinos estão pré-fixados, ou seja, em um planejamento anterior, a empresa decide o quanto de óleo cru deve ser transportado de cada plataforma para cada terminal. Para a logística, o problema é decidir qual navio fará cada atividade e em qual momento.

3.1 Caracterização do problema

Cada navio começa e termina sua rota em seu “depósito próprio”, que nada mais é que a posição (coordenadas de latitude e longitude) que o navio ocupa no exato momento de início e término de suas atividades dentro do horizonte de planejamento. A princípio, trata-se de um problema multiproduto, ou seja, cada plataforma produz um óleo diferente e cada terminal demanda quantidades de óleo de cada plataforma especificamente. Entretanto, por ser modelado aqui como um problema de coleta e entrega, em que cada nó de coleta é pareado com um único nó de entrega, não se faz necessário considerar os múltiplos produtos de forma explícita no modelo a ser proposto. Cada terminal demanda uma quantidade específica de cada plataforma, o que pode ser garantido por meio do pareamento entre coleta e entrega, sem a necessidade de variáveis com índices adicionais para o tipo de produto.

As rotas são designações de como uma ou mais demandas serão atendidas por um navio e, assim, determinam qual navio atende a qual demanda, tendo também que obedecer a um sequenciamento de escalas e cumprir determinadas operações. A Figura 1 representa um exemplo ilustrativo de uma rota de um navio na costa brasileira. Os nós 1 e 6 representam os depósitos inicial e final do navio, respectivamente, note-se que são nós artificiais criados apenas para representar as posições inicial e final do navio. Note-se também que os nós 2 e 4 representam a mesma plataforma, com latitude e longitude iguais, porém com janelas de tempo e demandas diferentes. Sendo assim, a rota do navio inicia-se no nó artificial inicial 1, segue para a plataforma 2, em que coleta o petróleo que será entregue logo em seguida no terminal 3. Depois, passa pela plataforma 4 e coleta o óleo cru que será entregue no terminal 5 e, então, o navio termina sua rota no nó artificial final 6.

Figura 1
Exemplo de rota de um navio. Fonte: Rodrigues et al. (2016)Rodrigues, V. P., Morabito, R., Yamashita, D. S., Silva, B. J., & Ribas, P. C. (2016). Ship routing with pickup and delivery for a maritime oil transportation system: MIP model and heuristics. Systems, 4(3), 31. http://dx.doi.org/10.3390/systems4030031.
http://dx.doi.org/10.3390/systems4030031...
.

Em relação ao estudo de caso, são cerca de 50 plataformas offshore e aproximadamente 10 terminais com diversos berços para atracação dos navios. A frota de navios é heterogênea, cada navio possui capacidade e tamanho diferentes e outras características distintas que serão abordadas mais adiante nessa seção. Além disso, não é em qualquer plataforma ou terminal que um navio pode atracar, por exemplo, devido a questões físicas de calado (que é a parte do navio que fica submersa na água) e LOA (Length Overall – comprimento do navio). Mais informações sobre as características físicas dos navios considerados no caso em estudo podem ser encontradas em Rodrigues et al. (2016)Rodrigues, V. P., Morabito, R., Yamashita, D. S., Silva, B. J., & Ribas, P. C. (2016). Ship routing with pickup and delivery for a maritime oil transportation system: MIP model and heuristics. Systems, 4(3), 31. http://dx.doi.org/10.3390/systems4030031.
http://dx.doi.org/10.3390/systems4030031...
.

Os níveis de estoque nas plataformas e terminais devem satisfazer algumas restrições. Por exemplo, as plataformas devem possuir um estoque mínimo, em geral relacionado ao lastro da plataforma, e um estoque máximo, relacionado à capacidade de armazenagem da plataforma. Devido ao alto custo de oportunidade associado, a plataforma não pode parar sua produção em função das limitações de estoque, pois representa um grande investimento da empresa. A empresa controla os níveis de estoque das plataformas e terminais por meio das janelas de tempo. O horizonte de planejamento é de poucas semanas de operação, o que corresponde a aproximadamente algumas dezenas de solicitações. Portanto, esse problema pode ser modelado como um problema de coleta e entrega com janelas de tempo, múltiplos depósitos e frota heterogênea, além de outras restrições específicas. Esse problema possui as restrições clássicas do PDPTW e também restrições específicas para o estudo caso, que são descritas a seguir:

  • Impossibilidade de atracação: Alguns navios não podem atracar em certos pontos operacionais, sejam plataformas ou terminais, devido às restrições físicas de calado e LOA;

  • Calado flexível: Mesmo quando há a exigência de que um navio k não deva atracar em um determinado ponto operacional (i.e., plataforma ou terminal), digamos i, em alguns casos é possível que esse navio k tenha permissão em i se estiver apenas parcialmente carregado, ou seja, somente com uma porcentagem de sua capacidade máxima a bordo. Isto é aqui denominado de restrição de calado flexível;

  • Posicionamento dinâmico: Alguns navios e alguns navios-plataforma (que são navios adaptados para a exploração de petróleo) possuem um sistema operacional denominado posicionamento dinâmico (DP – Dynamic Positioning). Esse sistema controla automaticamente a posição de um navio, permitindo uma resposta rápida às mudanças nas condições climáticas. As plataformas e navios que possuem esse sistema estão sujeitos a determinadas regras para que a atracação seja possível:

    ➢ Se a plataforma é uma plataforma com posicionamento dinâmico:

    • Se é um navio que possui DP, então esse navio pode ter a bordo carga correspondente a até 50% de sua capacidade para atracar;

    • Se o navio for convencional (sem DP), então esse navio pode ter a bordo uma carga correspondente a até 30% de sua capacidade para atracar.

      ➢ Se a plataforma é convencional (sem DP):

    • Se o navio possui DP, então a embarcação pode ter uma carga a bordo correspondente a até 50% de sua capacidade para atracar;

    • Se o navio for convencional, não pode atracar nesta plataforma.

  • Cada navio deve iniciar sua rota em seu “depósito inicial” e terminar em seu “depósito final” no horizonte de planejamento. Sendo assim, cada navio tem um nó de partida (predefinido) e um nó de chegada, os quais são nós artificiais que indicam a latitude e longitude de cada navio no instante do início e do término do horizonte de planejamento;

  • Penalidade por visitas consecutivas: Sempre que um navio visitar uma plataforma e, em seguida, visitar outra plataforma que seja diferente da primeira, isso deve ser penalizado na função objetivo. O intuito é fazer com que o navio colete e entregue óleo, procurando-se evitar visitas consecutivas a duas plataformas diferentes, o que seria indesejável para os operadores da empresa devido às questões organizacionais e também de segurança. Isso não foi modelado como uma restrição e sim como uma penalidade na função objetivo, pois para algumas instâncias é infactível proibir duas visitas consecutivas a plataformas diferentes.

3.2 Modelagem matemática

Essa subseção tem por objetivo descrever a modelagem matemática para o problema descrito anteriormente de coleta e entrega com janelas de tempo na indústria petrolífera. Um estudo preliminar foi realizado com esse problema em Rodrigues (2014)Rodrigues, V. P. (2014). Uma abordagem de otimização para a roteirização e programação de navios: um estudo de caso na indústria petrolífera (Dissertação de mestrado). Departamento de Engenharia de Produção, Universidade Federal de São Carlos, São Carlos., no qual o autor desenvolveu um modelo matemático que serviu de ponto de partida para o modelo deste trabalho. O problema é representado por uma rede G(N,A), em que N representa um conjunto de nós e A um conjunto de arcos. Os conjuntos, parâmetros e variáveis do modelo são dados a seguir.

Conjuntos

K conjunto de navios;

P={1, 2,, n} conjunto de nós de coleta (origens);

D={n+1, n+2,, 2n} conjunto de nós de entrega (destinos);

ST={s1,s2,,sn} conjunto de nós que indicam o depósito inicial de cada navio;

EN={en1,en2,,enn} conjunto de nós que indicam o depósito final de cada navio;

N=PDSTEN conjunto de todos os nós da rede;

A{(i,j):i,jN} conjunto de todos os arcos da rede.

Parâmetros

n=|P|=|D| número total de coletas (ou entregas);

tij tempo de deslocamento em horas do nó i para o nó j;

di tempo de serviço em horas para o nó i;

ei instante de início da janela de tempo em horas do nó i;

li instante de término da janela de tempo em horas do nó i;

Capk capacidade do navio k em m3;

qi demanda do nó i em m3;

cmk consumo de combustível do navio k em movimento;

csk consumo de combustível do navio k enquanto está parado;

caj custo por atracação do nó j em reais;

v velocidade média do navio em nós (devido às curtas distâncias, por simplicidade considera-se que os navios têm a mesma velocidade média);

distij distância em milhas náuticas entre o nó i e o nó j;

Aik é igual a 1 se o navio k não pode atracar em i, e 0 caso contrário;

CFik é positiva se k pode atracar com no máximo CFik% a bordo (calado flexível);

CDPi é igual a 1 se a plataforma i é convencional (sem DP) e 0 se a plataforma possui DP;

KDPk é igual a 1 se o navio k possui DP e 0 caso contrário;

α1 porcentagem de carga para o navio com DP atracar em qualquer plataforma;

α2 porcentagem de carga para o navio sem DP atracar em uma plataforma com

DP;

β penalização por visitas consecutivas a duas plataformas diferentes;

Mij e M números suficientemente grandes.

Variáveis

xijk é igual a 1 se o navio kK percorre o arco (i,j)A e 0 caso contrário;

Bik instante de início de serviço no nó iN pelo navio kK;

Qik quantidade de carga no navio kK no instante após sua visita ao nó iN;

VCijk é igual a 1 se o navio kK visita a plataforma jP logo após visitar a plataforma iP (com distij>0) e 0 caso contrário.

O modelo completo do problema de coleta e entrega de óleo cru com janelas de tempo e frota heterogênea é dado por:

M i n i m i z e i N j N k K ( c m k c s k ) d i s t i j v x i j k + i N j P D d i s t i j > 0 k K c a i x i j k + i D j E N k K c a i x i j k + i P j P k K β * V C i j k (1)

s.a

j ( P D E N ) k K x i j k = 1 i ( S T P D ) (2)
i ( P D S T ) k K x i j k = 1 j ( P D E N ) (3)
j ( P { e n k } ) x s k j k = 1 k K (4)
i ( { s k } D ) x i e n k k = 1 k K (5)
i N k K x i j k = 0 j S T (6)
j N k K x i j k = 0 i E N (7)
i ( P D { s k } ) x i h k j ( P D { e n k } ) x h j k = 0 h P D ; k K (8)
e i ( j N x j i k ) B i k l i ( j N x j i k ) i ( P D E N ) ; k K (9)
e i ( j N x i j k ) B i k l i ( j N x i j k ) i S T ; k K (10)
x i j k ( B i k + t i j + d i B j k ) 0 i ( S T P D ) ; j ( P D E N ) ; k K (11)
B n + h , k B h , k h P ; k K (12)
Q j k ( Q i k + q j ) x i j k i ( S T P D ) ; j ( P D E N ) ; k K (13)
x i j k = 0 i , j N ; k K : A i k = 1 ; C F i k 0 (14)
i ( S T P D ) x i h k = j N x j ( n + h ) k h P ; k K (15)
Q j k C a p k i ( { s k } P D ) x i j k k K ; j ( P D { e n k } ) (16)
Q s k k + Q e n k k = 0 k K (17)
Q j k ( C F j k C a p k + q j ) + j D ; k K : A j k = 1 ( 1 i ( P D { s k } ) x i j k ) M (18)
Q j k ( α 1 C a p k + q j ) + ( 1 α 1 ) C a p k ( 1 i ( P D { s k } ) d i s t i j > 0 x i j k ) k K : K D P k = 1 ; j P (19)
Q j k ( α 2 C a p k + q j ) + ( 1 α 2 ) C a p k ( 1 i ( P D { s k } ) d i s t i j > 0 x i j k ) k K : K D P k = 0 ; j P : C D P j = 0 (20)
i N x i j k = 0 k K : K D P k = 0 ; j P : C D P j = 1 (21)
x i j k V C i j k i , j P : d i s t i j > 0 ; k K (22)
V C i j k 0 i , j N ; k K (23)
Q i k 0 i N ; k K (24)
x i j k { 0,1 } i ( S T P D ) ; j ( P D E N ) ; k K (25)
B i k 0 i N ; k K (26)

A função objetivo (1) corresponde à otimização dos critérios definidos pelos operadores da empresa. É composta pelos custos associados ao consumo de combustível (considerando o tempo que o navio se movimenta e o tempo que fica parado no horizonte de planejamento) e à quantidade de atracações realizadas, além de penalizar duas visitas consecutivas a plataformas diferentes (conforme desejado pelos operadores da empresa). Mais detalhes e justificativas dessa função objetivo podem ser obtidos em Rodrigues et al. (2016)Rodrigues, V. P., Morabito, R., Yamashita, D. S., Silva, B. J., & Ribas, P. C. (2016). Ship routing with pickup and delivery for a maritime oil transportation system: MIP model and heuristics. Systems, 4(3), 31. http://dx.doi.org/10.3390/systems4030031.
http://dx.doi.org/10.3390/systems4030031...
. As restrições (2) asseguram que existe exatamente um arco que sai de i e as restrições (3) garantem que existe exatamente um arco que entra em j; ambas garantem que todos os nós sejam visitados. Em (4) e (5) é assegurado que todos os navios saiam de seus depósitos iniciais e retornem aos seus depósitos finais. Todo navio parte de seu nó inicial e não pode mais retornar a ele, conforme imposto pela restrição (6). De forma análoga, um navio não pode partir de seu depósito final, o que é garantido pela restrição (7). A restrição (8) garante a conservação de fluxo dos navios.

As janelas de tempo são asseguradas pelas restrições (9) e (10). Em (11) é imposto que o instante de início de serviço no nó j tem que ser maior ou igual ao instante de início de serviço no nó i, mais o tempo de serviço no nó i e o tempo de viagem entre os dois nós, se o navio k viaja de i para j. O navio k deve coletar primeiro no nó h antes de entregar a devida demanda respectiva no nó n + h, o que é garantido em 12. As restrições 13 garantem o atendimento da demanda pelo navio e a (14), que o navio não atraca em pontos operacionais em que existe alguma restrição física. A (15) assegura-se que se o navio k visita o nó de coleta h, então ele precisa entregar a carga no nó da entrega respectiva n + h. A capacidade máxima do navio é imposta em (16). A (17) assegura-se que o navio começa e termina vazio. A (18) garante que se navio não autorizado a atracar em um determinado ponto operacional tiver seu calado flexibilizado, permite-se que ele atraque caso possua até uma determinada porcentagem de carga a bordo. Com (19)-(21) garante-se que o posicionamento dinâmico seja respeitado. Na restrição (22) contabilizam-se duas visitas consecutivas a plataformas diferentes. Por fim, as restrições (23)-(26) garantem o domínio das variáveis de decisão.

Essa formulação é não linear pelas restrições (11) e (13). As linearizações dessas restrições são dadas pelas seguintes inequações, respectivamente:

B j k B i k + d i + t i j + ( x i j k 1 ) M i j i ( S T P D ) ; j ( E N P D ) ; k K (27)
Q j k Q i k + q j + ( x i j k 1 ) M i j i ( S T P D ) ; j ( E N P D ) ; k K (28)

4 Métodos branch-and-cut para o problema da empresa em estudo

O modelo apresentado na seção anterior corresponde a uma formulação compacta, isto é, que pode ser resolvida diretamente por meio de um software de otimização de propósito geral, sem exigir que o usuário desenvolva algoritmos específicos. Os principais softwares de otimização disponíveis atualmente são baseados em métodos do tipo branch-and-cut que utilizam cortes de propósito geral. Esses cortes são gerados e inseridos no problema de forma automatizada pelo software, com o intuito de melhorar os limitantes fornecidos por relaxações lineares.

Embora os cortes de propósito geral atualmente disponíveis nos softwares de otimização tenham se mostrado bastante eficazes na prática, recorrer a cortes específicos para o problema que se deseja resolver pode contribuir significativamente para um melhor desempenho. Conforme observado em diversos trabalhos da literatura, desigualdades válidas específicas para problemas de roteamento de veículos são determinantes para se obterem métodos branch-and-cut mais eficazes. Entretanto é importante salientar que os cortes específicos tipicamente exigem que o usuário implemente seus próprios algoritmos de separação, bem como gerencia a inserção desses cortes nas relaxações do problema. Assim, os modelos não são mais resolvidos de forma direta pelos softwares de otimização, o que exige um esforço maior de implementação.

Nessa seção são propostos dois métodos branch-and-cut baseados em desigualdades válidas específicas para o problema de coleta e entrega aqui tratado. Essas desigualdades são adicionadas a variações do modelo (1)-(26), com o propósito de melhorar o limitante fornecido por sua relaxação linear e, assim, resolver o problema de forma mais eficaz. Além disso, algumas desigualdades têm também o propósito de garantir a factibilidade das soluções ótimas, quando relaxações combinatórias do modelo são usadas. Conforme poderá ser observado mais à frente nessa seção, é inviável simplesmente enumerar e inserir todas essas desigualdades válidas a priori no problema, pois resultam em um número de cortes que é exponencial em relação ao número de requisições de coleta e entrega. Assim, esses cortes são inseridos de forma ad hoc, ou seja, para cada família de desigualdades válidas implementada, algoritmos de separação são utilizados para analisar se um corte é violado por uma dada solução. Assim, os cortes são gerados e inseridos apenas quando necessário.

4.1 Descrição dos métodos propostos

O primeiro método proposto é baseado em uma adaptação do modelo (1)-(26), denominado Modelo 1. A adaptação é realizada de modo que todos os navios iniciam sua rota em um depósito comum inicial (s0) e terminam sua rota em um outro depósito comum a todos os navios (en0). A motivação de colocar mais dois depósitos comuns a todos os navios nesse modelo é para que os cortes propostos na literatura sejam válidos também para essa variação de modelagem. Sendo assim, além dos depósitos artificiais de cada navio dados pelos conjuntos ST e EN temos mais dois nós artificiais, s0 e en0, um para o depósito inicial e outro para o depósito final, que são comuns a todos os veículos. O Modelo 1 é dado por:

Minimizar (1)

s.a

(2)-(26)

j S T x s 0 j k = 1 k K (29)
i E N x i , e n 0 , k = 1 k K (30)
j N x j i k j N x i j k = 1 i P D ; k K (31)

As restrições (29)-(31) são acrescentadas, pois as desigualdades válidas consideradas neste trabalho exigem que todos os navios saiam de um depósito comum (depósito s0) e retornem a um depósito comum (depósito en0).

O segundo método proposto baseia-se em outro modelo (Modelo 2) que também é uma variação do modelo (1)-(26). Assim como no Modelo 1, todos os navios também iniciam sua rota em um depósito comum e terminam sua rota em um depósito final comum a todos os navios. A diferença está na eliminação, no modelo, de todas as restrições relacionadas à atracação, calado flexível e posicionamento dinâmico para, então, adicioná-las de forma ad hoc por meio de cortes, os quais se tornam agora obrigatórios para a garantia de factibilidade das soluções. Assim, o Modelo 2 é baseado em uma relaxação combinatória do modelo (1)-(26), sendo definido por:

M i n i m i z a r ( 1 )
s . a
( 2 ) ( 13 )
( 15 ) ( 17 )
( 22 ) ( 26 )
( 29 ) ( 31 )

4.2 Desigualdades válidas

As desigualdades válidas descritas na sequência são específicas para o problema em estudo e são a base dos métodos branch-and-cut aqui propostos. Note que as desigualdades relacionadas a atracar, calado flexível e posicionamento dinâmico são obrigatórias para que o Método 2 tenha a garantia de uma solução factível. O Método 1 não possui nenhuma desigualdade que seja obrigatória para se ter a garantia de factibilidade e, portanto, essas são adicionadas aos modelos apenas com o propósito de melhorar seus limitantes inferiores.

As seguintes desigualdades válidas são consideradas: restrições de precedência, capacidade, eliminação de sub-rota, restrições de ordem generalizadas (generalized order constraints), caminhos infactíveis e restrições de alcance (reachability). Para todas as famílias de desigualdades válidas, considera-se que xij=kKxijk. Com isto, adaptamos as desigualdades clássicas da literatura, originalmente apresentadas para modelos de coleta e entrega com variáveis de 2-índices (Ropke & Cordeau, 2009Ropke, S., & Cordeau, J. F. (2009). branch-and-cut and price for the pickup and delivery problem with time windows. Transportation Science, 43(3), 267-286. http://dx.doi.org/10.1287/trsc.1090.0272.
http://dx.doi.org/10.1287/trsc.1090.0272...
) de modo a serem válidas também para os métodos branch-and-cut baseados nos modelos com variáveis de 3-índices.

4.2.1 Restrições de precedência

Essas restrições foram propostas para uma formulação do PDPTW com variáveis com 2-índices em Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
. Antes de apresentar essa família de desigualdades válidas cabe detalhar algumas definições importantes. Seja S um conjunto que contém todos os subconjuntos de nós SN tais que s0S, en0S e existe pelo menos uma coleta i em que iS e n+iS, ou seja, existe uma requisição tal que a entrega está em S mas a coleta não está em S. O conjunto S impõe as relações de precedência para o modelo apresentado em Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
. Sendo assim, as restrições de precedência são dadas por:

i , j S x i j | S | 2 S S (32)

4.2.2 Restrições de capacidade

As restrições de capacidade implementadas nos algoritmos branch-and-cut foram propostas por Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
para formulações com variáveis de 2-índices para o PDPTW. Seja o subconjunto SPD, em que q(S)=iSqi. Denote por r(S), para qualquer conjunto SN\{s0,en0}, o conjunto mínimo de veículos necessários para atender a todos os nós de S, sem considerar os depósitos inicial e final. A solução de r(S) pode ser substituída pelo seu limitante inferior dado por max{1,|q(S)|Cap}. Então, as restrições de capacidade válidas para o PDPTW são dadas por:

i , j S x i j | S | max { 1, | q ( S ) | C a p } S N \ { s 0 , e n 0 } , | S | 2 (33)

4.2.3 Eliminação de sub-rota

Considere as clássicas inequações de eliminação de sub-rota propostas primeiramente para o problema do caixeiro viajante (Traveling Salesman Problem – TSP) por Fisher & Jaikumar (1981)Fisher, M. L., & Jaikumar, R. (1981). A generalized assignment heuristic for vehicle routing. Networks, 11(2), 109-124. http://dx.doi.org/10.1002/net.3230110205.
http://dx.doi.org/10.1002/net.3230110205...
:

x ( S ) | S | 1 (34)

em que SPD e x(S)=i,jSxij. Esta inequação é válida para o VRP e também para o PDPTW (Cordeau, 2006Cordeau, J. F. (2006). branch-and-cut algorithm for the dial-a-ride problem. Operations Research, 54(3), 573-586. http://dx.doi.org/10.1287/opre.1060.0283.
http://dx.doi.org/10.1287/opre.1060.0283...
). Além disso, essa inequação pode ser melhorada considerando-se que cada nó i possui apenas um sucessor e um predecessor. Ainda, o nó i deve ser visitado antes do nó n + i e pelo mesmo veículo. Para cada conjunto SPD e seu complementar N\S, seja π(S)={iP|n+iS} o conjunto de predecessores de S e σ(S)={n+iD|iS} o conjunto de sucessores de S. Cordeau (2006)Cordeau, J. F. (2006). branch-and-cut algorithm for the dial-a-ride problem. Operations Research, 54(3), 573-586. http://dx.doi.org/10.1287/opre.1060.0283.
http://dx.doi.org/10.1287/opre.1060.0283...
provou que as próximas inequações são válidas para o PDPTW:

x ( S ) + i N \ S σ ( S ) j S x i j + i N \ S \ σ ( S ) j S σ ( S ) x i j | S | 1 S P D (35)
x ( S ) + i S j N \ S π ( S ) x i j + i S π ( S ) j N \ S \ π ( S ) x i j | S | 1 S P D (36)

4.2.4 Restrições de ordem generalizadas

As restrições de ordem generalizadas foram propostas por Ruland & Rodin (1997)Ruland, K. S., & Rodin, E. Y. (1997). The pickup and delivery problem: Faces and branch-and-cut algorithm. Computers & Mathematics with Applications, 33(12), 1-13. http://dx.doi.org/10.1016/S0898-1221(97)00090-4.
http://dx.doi.org/10.1016/S0898-1221(97)...
para o problema de coleta e entrega. Cordeau (2006)Cordeau, J. F. (2006). branch-and-cut algorithm for the dial-a-ride problem. Operations Research, 54(3), 573-586. http://dx.doi.org/10.1287/opre.1060.0283.
http://dx.doi.org/10.1287/opre.1060.0283...
provou que essas inequações eram válidas também para o PDPTW. Sejam U1,,UsN subconjuntos mutuamente disjuntos e sejam i1,,isP requisições em que s0,en0Ul (depósitos inicial e final, respectivamente) e il,n+il+1Ul para l=1,,s, em que is+1=i1. Sendo assim, as seguintes inequações são válidas para o PDPTW:

l = 1 s x ( U l ) l = 1 s | U l | s 1 (37)

Essas inequações podem ser melhoradas por inequações similares, nomeadas de precedência com quebra de ciclo (precedence cycle breaking), propostas por Balas et al. (1995)Balas, E., Fischetti, M., & Pulleyblank, W. R. (1995). The precedence-constrained asymmetric travelling salesman polytope. Mathematical Programming, 68(1-3), 214-265. http://dx.doi.org/10.1007/BF01585767.
http://dx.doi.org/10.1007/BF01585767...
para o TSP assimétrico. Cordeau (2006)Cordeau, J. F. (2006). branch-and-cut algorithm for the dial-a-ride problem. Operations Research, 54(3), 573-586. http://dx.doi.org/10.1287/opre.1060.0283.
http://dx.doi.org/10.1287/opre.1060.0283...
provou que as próximas inequações são válidas para o PDPTW:

l = 1 s x ( U l ) + l = 2 s 1 x i 1 , i l + l = 3 s x i 1 , n + i l l = 1 s | U l | s 1 (38)
l = 1 s x ( U l ) + l = 2 s 2 x n + i 1 , i l + l = 3 s 1 x n + i 1 , i l + l = 1 s 1 x n + i 1 , n + i l l = 1 s | U l | s 1 (39)

4.2.5 Caminhos infactíveis

Seja R o conjunto de todos os caminhos infactíveis em relação às janelas de tempo. Para um dado conjunto RR, sejam A(R) e N(R) os conjuntos de arcos e nós, respectivamente. A(R) corresponde aos arcos que estão nesse caminho. As próximas restrições de caminhos infactíveis foram propostas por Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
:

( i , j ) A ( R ) x i j | A ( R ) | 1 R R (40)

Essas inequações foram propostas para garantir que as janelas de tempo fossem respeitadas para uma formulação do PDPTW (Ropke et al., 2007Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
). A cada caminho encontrado em uma solução, a violação das janelas de tempo é verificada. Caso haja violação de alguma delas, então o caminho será usado para adicionar um novo corte ao modelo, do tipo 40. Para o caso em estudo, essas inequações são verificadas em relação às janelas de tempo, atracação, calado flexível e posicionamento dinâmico. Com isto, adaptamos o Método 2 apresentado nessa seção, para que esse garanta que, para qualquer solução inteira encontrada, as questões relacionadas ao problema da empresa (atracação, calado flexível e posicionamento dinâmico) sejam respeitadas, garantindo que a solução seja factível.

4.2.6 Restrições de alcance

As restrições de alcance foram primeiramente propostas por Lysgaard (2006)Lysgaard, J. (2006). Reachability cuts for the vehicle routing problem with time windows. European Journal of Operational Research, 175(1), 210-223. http://dx.doi.org/10.1016/j.ejor.2005.04.022.
http://dx.doi.org/10.1016/j.ejor.2005.04...
para o problema de roteamento de veículos com janelas de tempo. Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
afirmaram que essas inequações são válidas também para o PDPTW. Seja δ(S)=δ+(S)δ(S), em que δ+(S)={(i,j)A|iS,jS} e δ(S)={(i,j)A|iS,jS}. Ainda, para cada nó iN, seja AiA o conjunto mínimo de arcos tal que qualquer caminho factível de s0 a i utilize somente arcos de Ai. Seja Ai+ o conjunto mínimo de arcos, em que qualquer caminho factível de i a en0 utilize somente arcos de Ai+. Considere-se o conjunto de nós T em que cada nó em T deva ser visitado por um veículo diferente (define-se T como conjunto de nós conflitantes). Sendo assim, para cada conjunto T, sejam AT=iTAi e AT+=iTAi+. Para cada conjunto SPD e qualquer conjunto TS as próximas inequações são válidas:

x ( δ ( S ) A T ) | T | (41)
x ( δ + ( S ) A T + ) | T | (42)

5 Resultados computacionais

Essa seção compara os resultados do modelo matemático proposto na seção 3 com os resultados dos métodos branch-and-cut propostos na seção 4. Nos métodos propostos foram incluídas as seis famílias de desigualdades válidas descritas na subseção 4.2. Os algoritmos de separação foram implementados conforme descritos em Cordeau (2006)Cordeau, J. F. (2006). branch-and-cut algorithm for the dial-a-ride problem. Operations Research, 54(3), 573-586. http://dx.doi.org/10.1287/opre.1060.0283.
http://dx.doi.org/10.1287/opre.1060.0283...
, para as restrições de eliminação de sub-rota e de ordem generalizadas; e em Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
, para as restrições de precedência, capacidade, caminhos infactíveis e alcance.

Os experimentos computacionais utilizaram dados reais fornecidos pela empresa em estudo. Esses dados foram separados em dois casos, Caso 1 e Caso 2, resumidamente descritos na sequência. O primeiro caso é referente à produção de petróleo no mês de julho de 2013 e o segundo caso é referente à produção no mês de janeiro de 2013. O Caso 1 conta com 25 navios disponíveis e um total de 142 pares de coleta e entrega durante o mês de julho. O Caso 2 conta com 31 navios disponíveis e um total de 83 pares de coleta e entrega referentes ao mês de janeiro de 2013. Esses casos são ainda subdivididos em casos menores, dando origem às instâncias utilizadas para a realização dos experimentos. Essas instâncias seguem a nomenclatura CxNy, em que x indica o caso que originou a instância e y, o número de pares de coleta e entrega na instância. Por exemplo, a instância C1N10 consiste em 10 pares de coleta e entrega do Caso 1, correspondentes às primeiras 10 requisições do horizonte de planejamento.

Cada instância foi resolvida de três formas diferentes: (i) usando-se o modelo 1-26 diretamente em um software de otimização (modelo puro); (ii) usando-se o método branch-and-cut baseado no Modelo 1, como definido na seção 4.1 (Método 1); (iii) usando-se o método branch-and-cut baseado no Modelo 2, como definido na seção 4.1 (Método 2). Conforme mencionado anteriormente, os dois métodos incluem de forma ad hoc as desigualdades válidas descritas na subseção 4.2, com o objetivo de melhorar os limitantes inferiores e/ou garantir a factibilidade das soluções. O software de otimização IBM CPLEX versão 12.6, em sua configuração padrão, foi utilizado para resolução do modelo puro, bem como para implementação dos métodos branch-and-cut. Os algoritmos de separação foram implementados em linguagem C e as desigualdades válidas são inseridas usando-se as funções do tipo Callback, disponibilizadas pela biblioteca Concert do software IBM CPLEX. A busca por cortes violados foi feita apenas nos 10 primeiros nós da árvore de busca, sendo incluídos nos modelos apenas 100 cortes por iteração e por desigualdade válida, dados pelos cortes mais violados. A ramificação foi feita de forma automatizada pelo software IBM CPLEX.

Em todas as três formas de resolução das instâncias foi realizado um pré-processamento com o intuito de eliminar arcos que certamente não compõem uma solução ótima. As regras utilizadas podem ser encontradas em Dumas et al. (1991)Dumas, Y., Desrosiers, J., & Soumis, F. (1991). The pickup and delivery problem with time windows. European Journal of Operational Research, 54(1), 7-22. http://dx.doi.org/10.1016/0377-2217(91)90319-Q.
http://dx.doi.org/10.1016/0377-2217(91)9...
e Cordeau (2006)Cordeau, J. F. (2006). branch-and-cut algorithm for the dial-a-ride problem. Operations Research, 54(3), 573-586. http://dx.doi.org/10.1287/opre.1060.0283.
http://dx.doi.org/10.1287/opre.1060.0283...
. O computador utilizado foi um Dell Precision T7600 CPU E5-2680 2.70GHz com 192GB de memória RAM e sistema operacional Windows 7 Professional. O tempo máximo de execução para cada instância foi de 18.000 segundos (5 horas).

As Tabelas 1 e 2 mostram os resultados obtidos com o modelo puro e com os métodos propostos para instâncias de diferentes tamanhos. A primeira coluna apresenta o nome de cada instância e a segunda mostra a abordagem de resolução usada, seguindo a discussão apresentada acima. A terceira coluna mostra o valor do limitante superior (Upper Bound – UB) seguido pela diferença relativa entre a melhor solução obtida e o limitante inferior (gap), que é calculado por Gap=UBLBUB e dado em porcentagem. Por fim, é mostrado o tempo computacional, dado em segundos, seguido do limitante inferior (Lower Bound – LB). O símbolo ‘–‘ indica que o tempo máximo permitido foi atingido e os espaçamentos em branco representam que o modelo puro ou os métodos propostos não encontraram solução factível no tempo estipulado.

Tabela 1
Resultados computacionais para instâncias do Caso 1.
Tabela 2
Resultados computacionais para instâncias do Caso 2.

Para o Caso 1, os métodos propostos tiveram melhor performance comparados ao modelo resolvido diretamente por um software de otimização para instâncias com até 30 pares de coleta e entrega. Para a instância C1N10, o resultado do modelo e dos métodos é similar, pois encontram a solução ótima em poucos segundos. Para a instância C1N15, a performance dos três métodos também é similar. Para C1N20, os métodos encontram a solução ótima em menor tempo (20 segundos) comparados ao modelo, que a encontrou em aproximadamente 2.000 segundos. Para C1N25, os métodos encontram uma melhor solução com menor gap comparado ao modelo resolvido diretamente por um software. Para C2N30, o Método 1 foi o único a encontrar solução factível, em 5 horas de processamento, com 28% de gap. Em relação à relaxação linear, os métodos branch-and-cut tiveram melhores resultados.

Para o Caso 2, os métodos propostos obtiveram melhores resultados comparados ao modelo para instâncias com até 25 pares de coleta e entrega. Para a instância C2N10, a performance das três abordagens foi semelhante. Para a instância C2N15, os métodos encontraram a solução ótima em poucos segundos (20 s), comparados ao modelo que encontrou a solução ótima mas não provou sua otimalidade em 5 horas (17% de gap). Para C2N20, os métodos provaram a solução ótima em aproximadamente 450 segundos, comparados ao modelo que encontrou a solução ótima, mas novamente não provou sua otimalidade em 5 horas (47% de gap). Para C2N25, o modelo não encontrou a solução ótima no tempo estipulado, terminando com 59% de gap, enquanto que os métodos encontraram uma solução melhor com menor gap. Para as demais instâncias, no tempo limite, nenhuma solução factível foi encontrada.

Em geral, para os dois casos, os resultados indicaram que os métodos branch-and-cut têm melhores resultados comparados ao modelo. Os tempos computacionais foram melhores para as instâncias C2N15 e C2N20, nas quais somente os métodos provaram a otimalidade das soluções no tempo estipulado. Para as instâncias com mais de 30 pares de coleta e entrega nenhuma das abordagens encontrou solução factível no tempo total estipulado.

As Figuras 2 e 3 ilustram as rotas de dois navios da solução do C2N25 com o Método 1. O navio 14 coleta o produto no nó 54, entrega-o no nó 110 e, então, coleta o produto no nó 48. Os nós 54 e 48 correspondem a plataformas diferentes, então não há penalidade por visitas consecutivas. Para o navio 24, os nós 36, 34, 33 e 35 representam uma mesma plataforma, porém possuem demandas e janelas de tempo diferentes. Assim como no caso anterior, também não há penalidade por visita consecutiva desse navio.

Figura 2
Rota do navio 14 para a instância C2N25 para o Método 1.
Figura 3
Rota do navio 24 para a instância C2N25 para o Método 1.

Cabe dizer que outros métodos branch-and-cut foram testados nesta pesquisa, baseando-se na adaptação dos modelos clássicos de coleta e entrega com variáveis de 2-índices propostos por Ropke et al. (2007)Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177.
http://dx.doi.org/10.1002/net.20177...
. Entretanto, ao contrário dos resultados observados para instâncias da literatura, esses métodos não foram eficazes para as instâncias reais fornecidas pela empresa. Os melhores métodos propostos foram os baseados em modelos com variáveis de 3-índices, mostrados neste trabalho. Sendo assim, os outros resultados não foram reportados por não atingirem o desempenho esperado.

6 Conclusão

Este trabalho teve como objetivo estudar o problema de transporte de óleo cru entre plataformas offshore e terminais localizados na costa brasileira e propor métodos de solução exatos para resolver esse problema. Um estudo de caso foi realizado em uma empresa brasileira que realiza essa operação, o que motivou a proposta de um modelo matemático baseado na extensão do modelo clássico de coleta e entrega com janelas de tempo, de modo a representar adequadamente o problema da empresa. Além disso, foram propostos dois métodos branch-and-cut com desigualdades válidas específicas para o modelo proposto.

Ao modelo clássico da literatura foram adicionadas características relevantes do caso estudado, como múltiplos depósitos, atracação, calado flexível, posicionamento dinâmico, dentre outras. Os métodos branch-and-cut desenvolvidos basearam-se em variações do modelo proposto, inclusive as seguintes famílias de desigualdades válidas: precedência; restrição de capacidade; eliminação de sub-rota; restrição de ordem generalizada; caminhos infactíveis para as questões de janelas de tempo, atracar, calado flexível e posicionamento dinâmico; e restrições de alcance. Os experimentos computacionais foram realizados com dados reais fornecidos pela empresa e mostraram que os métodos branch-and-cut propostos obtêm melhores resultados quando comparados à resolução por modelo, diretamente, por software de otimização.

Como proposta de pesquisa futura pretende-se investigar melhorias nos métodos branch-and-cut aqui apresentados como, por exemplo, pela inclusão de novas famílias de desigualdades válidas. Outro tópico interessante seria desenvolver um método do tipo branch-and-price para esse problema, comparando seu desempenho com os métodos branch-and-cut aqui propostos.

Agradecimentos

Os autores agradecem aos revisores anônimos pelos úteis comentários e sugestões de revisão, e ao apoio financeiro da FAPESP (processos 2014/22542-2 e 2014/00939-8), da CAPES, CNPq, da Petrobras e da Agência Nacional de Petróleo (ANP) para o desenvolvimento deste trabalho.

  • Suporte financeiro: Apoio financeiro da FAPESP (processos 2014/22542-2 e 2014/00939-8), da CAPES, da Petrobras e da Agência Nacional de Petróleo (ANP).

Referências

  • Andersson, H., Hoff, A., Christiansen, M., Hasle, G., & Løkketangen, A. (2010). Industrial aspects and literature survey: Combined inventory management and routing. Computers & Operations Research, 37(9), 1515-1536. http://dx.doi.org/10.1016/j.cor.2009.11.009
    » http://dx.doi.org/10.1016/j.cor.2009.11.009
  • Balas, E., Fischetti, M., & Pulleyblank, W. R. (1995). The precedence-constrained asymmetric travelling salesman polytope. Mathematical Programming, 68(1-3), 214-265. http://dx.doi.org/10.1007/BF01585767
    » http://dx.doi.org/10.1007/BF01585767
  • Baldacci, R., Bartolini, E., & Mingozzi, A. (2011). An exact algorithm for the pickup and delivery problem with time windows. Operations Research, 59(2), 414-426. http://dx.doi.org/10.1287/opre.1100.0881
    » http://dx.doi.org/10.1287/opre.1100.0881
  • Berbeglia, G., Cordeau, J. F., Gribkovskaia, I., & Laporte, G. (2007). Static pickup and delivery problems: a classification scheme and survey. Top, 15(1), 1-31. http://dx.doi.org/10.1007/s11750-007-0009-0
    » http://dx.doi.org/10.1007/s11750-007-0009-0
  • Brasil. Ministério do Desenvolvimento, Indústria e Comércio Exterior – MDIC. (2011). Recuperado em 30 de abril de 2012, de http://www.mdic.gov.br/sitio/
    » http://www.mdic.gov.br/sitio/
  • Brønmo, G., Nygreen, B., & Lysgaard, J. (2010). Column generation approaches to ship scheduling with flexible cargo sizes. European Journal of Operational Research, 200(1), 139-150. http://dx.doi.org/10.1016/j.ejor.2008.12.028
    » http://dx.doi.org/10.1016/j.ejor.2008.12.028
  • Christiansen, M. (1999). Decomposition of a combined inventory and time constrained ship routing problem. Transportation Science, 33(1), 1-14. http://dx.doi.org/10.1287/trsc.33.1.3
    » http://dx.doi.org/10.1287/trsc.33.1.3
  • Christiansen, M., Fagerholt, K., & Ronen, D. (2004). Ship routing and scheduling: status and perspectives. Transportation Science, 38(1), 1-18. http://dx.doi.org/10.1287/trsc.1030.0036
    » http://dx.doi.org/10.1287/trsc.1030.0036
  • Christiansen, M., Fagerholt, K., Ronen, D., & Nygreen, B. (2007). Maritime transportation. In C. Barnhart & G. Laporte (Eds.), Handbook in operations research and management science Amsterdam: Elsevier. 189-284 p.
  • Cordeau, J. F. (2006). branch-and-cut algorithm for the dial-a-ride problem. Operations Research, 54(3), 573-586. http://dx.doi.org/10.1287/opre.1060.0283
    » http://dx.doi.org/10.1287/opre.1060.0283
  • Cordeau, J.-F., Laporte, G., & Ropke, S. (2008). Recent models and algorithms for one-to-one pickup and delivery problems. In B. Golden, S. Raghavan & E. Wasil (Eds.), The vehicle routing problem: latest advances and new challenges (Operations Research/Computer Science Interfaces, 43, pp. 327-357). New York: Springer.
  • Dantzig, G., & Fulkerson, D. (1954). Minimizing the number of tankers to meet a fixed schedule. Naval Research Logistics Quarterly, 1(3), 217-222. http://dx.doi.org/10.1002/nav.3800010309
    » http://dx.doi.org/10.1002/nav.3800010309
  • Desaulniers, G., Desrosiers, J., Erdmann, A., & Solomon, M. M. (2002). VRP with pickup and delivery. In P. Toth & D. Vigo (Eds.), The vehicle routing problem (pp. 225-242). Philadelphia: Society for Industrial and Applied Mathematics.
  • Dumas, Y., Desrosiers, J., & Soumis, F. (1991). The pickup and delivery problem with time windows. European Journal of Operational Research, 54(1), 7-22. http://dx.doi.org/10.1016/0377-2217(91)90319-Q
    » http://dx.doi.org/10.1016/0377-2217(91)90319-Q
  • Fagerholt, K., & Ronen, D. (2013). Bulk ship routing and scheduling: solving practical problems may provide better results. Maritime Policy & Management, 40(1), 48-64. http://dx.doi.org/10.1080/03088839.2012.744481
    » http://dx.doi.org/10.1080/03088839.2012.744481
  • Fisher, M. L., & Jaikumar, R. (1981). A generalized assignment heuristic for vehicle routing. Networks, 11(2), 109-124. http://dx.doi.org/10.1002/net.3230110205
    » http://dx.doi.org/10.1002/net.3230110205
  • Hennig, F., Nygreen, B., Christiansen, M., Fagerholt, K., Furman, K. C., Song, J., Kocis, G. R., & Warrick, P. (2012). Maritime crude oil transportation - a split pickup and split delivery problem. European Journal of Operational Research, 218(3), 764-774. http://dx.doi.org/10.1016/j.ejor.2011.09.046
    » http://dx.doi.org/10.1016/j.ejor.2011.09.046
  • Hoff, A., Andersson, H., Christiansen, M., Hasle, G., & Løkketangen, A. (2010). Industrial aspects and literature survey: fleet composition and routing. Computers & Operations Research, 37(12), 2041-2061. http://dx.doi.org/10.1016/j.cor.2010.03.015
    » http://dx.doi.org/10.1016/j.cor.2010.03.015
  • Hwang, H., Visoldilokpun, S., & Rosenberger, J. M. (2008). A branch-and-price-and-cut method for ship scheduling with limited risk. Transportation Science, 42(3), 336-351. http://dx.doi.org/10.1287/trsc.1070.0218
    » http://dx.doi.org/10.1287/trsc.1070.0218
  • Lu, Q., & Dessouky, M. (2004). An exact algorithm for the multiple vehicle pickup and delivery problem. Transportation Science, 38(4), 503-514. http://dx.doi.org/10.1287/trsc.1030.0040
    » http://dx.doi.org/10.1287/trsc.1030.0040
  • Lysgaard, J. (2006). Reachability cuts for the vehicle routing problem with time windows. European Journal of Operational Research, 175(1), 210-223. http://dx.doi.org/10.1016/j.ejor.2005.04.022
    » http://dx.doi.org/10.1016/j.ejor.2005.04.022
  • Nowak, M., Ergun, O., & White, C. C. 3rd (2008). Pickup and delivery with split loads. Transportation Science, 42(1), 32-43. http://dx.doi.org/10.1287/trsc.1070.0207
    » http://dx.doi.org/10.1287/trsc.1070.0207
  • Parragh, S., Doerner, K., & Hartl, R. (2008a). A survey on pickup and delivery problems. Part I: transportation between customers and depot. Journal fur Betriebswirtschaft, 58(1), 21-51. http://dx.doi.org/10.1007/s11301-008-0033-7
    » http://dx.doi.org/10.1007/s11301-008-0033-7
  • Parragh, S., Doerner, K., & Hartl, R. (2008b). A survey on pickup and delivery problems: Part II: Transportation between pickup and delivery locations. Journal fur Betriebswirtschaft, 58(2), 81-117. http://dx.doi.org/10.1007/s11301-008-0036-4
    » http://dx.doi.org/10.1007/s11301-008-0036-4
  • Rocha, R., Grossmann, I. E., & Aragão, M. V. S. P. (2009). Petroleum allocation at PETROBRAS: Mathematical model and a solution algorithm. Computers & Chemical Engineering, 33(12), 2123-2133. http://dx.doi.org/10.1016/j.compchemeng.2009.06.017
    » http://dx.doi.org/10.1016/j.compchemeng.2009.06.017
  • Rodrigues, V. P. (2014). Uma abordagem de otimização para a roteirização e programação de navios: um estudo de caso na indústria petrolífera (Dissertação de mestrado). Departamento de Engenharia de Produção, Universidade Federal de São Carlos, São Carlos.
  • Rodrigues, V. P., Morabito, R., Yamashita, D. S., Silva, B. J., & Ribas, P. C. (2016). Ship routing with pickup and delivery for a maritime oil transportation system: MIP model and heuristics. Systems, 4(3), 31. http://dx.doi.org/10.3390/systems4030031
    » http://dx.doi.org/10.3390/systems4030031
  • Ropke, S., & Cordeau, J. F. (2009). branch-and-cut and price for the pickup and delivery problem with time windows. Transportation Science, 43(3), 267-286. http://dx.doi.org/10.1287/trsc.1090.0272
    » http://dx.doi.org/10.1287/trsc.1090.0272
  • Ropke, S., Cordeau, J. F., & Laporte, G. (2007). Models and branch-and-cut algorithms for pickup and delivery problems with time windows. Networks, 49(4), 258-272. http://dx.doi.org/10.1002/net.20177
    » http://dx.doi.org/10.1002/net.20177
  • Ruland, K. S., & Rodin, E. Y. (1997). The pickup and delivery problem: Faces and branch-and-cut algorithm. Computers & Mathematics with Applications, 33(12), 1-13. http://dx.doi.org/10.1016/S0898-1221(97)00090-4
    » http://dx.doi.org/10.1016/S0898-1221(97)00090-4
  • Savelsbergh, M. W. P., & Sol, M. (1995). The general pickup and delivery problem. Transportation Science, 29(1), 17-29. http://dx.doi.org/10.1287/trsc.29.1.17
    » http://dx.doi.org/10.1287/trsc.29.1.17
  • Sherali, H., Al-Yakoob, S., & Hassan, M. (1999). Fleet management models and algorithms for an oil-tanker routing and scheduling problem. IIE Transactions, 31(5), 395-406. http://dx.doi.org/10.1080/07408179908969843
    » http://dx.doi.org/10.1080/07408179908969843
  • Stålhane, M., Andersson, H., Christiansen, M., Cordeau, J.-F., & Desaulniers, G. (2012). A branch-price-and-cut method for a ship routing and scheduling problem with split loads. Computers & Operations Research, 39(12), 3361-3375. http://dx.doi.org/10.1016/j.cor.2012.04.021
    » http://dx.doi.org/10.1016/j.cor.2012.04.021

Datas de Publicação

  • Publicação nesta coleção
    09 Out 2017
  • Data do Fascículo
    Jul-Sep 2017

Histórico

  • Recebido
    18 Maio 2015
  • Aceito
    03 Dez 2015
Universidade Federal de São Carlos Departamento de Engenharia de Produção , Caixa Postal 676 , 13.565-905 São Carlos SP Brazil, Tel.: +55 16 3351 8471 - São Carlos - SP - Brazil
E-mail: gp@dep.ufscar.br