Índice
CommodityDemand
(mensagem)CommodityDemandPath
(mensagem)CommodityDemandPath.VesselServiceLegId
(mensagem)Duration
(mensagem)LegCandidate
(mensagem)Port
(mensagem)Port.VesselCost
(mensagem)ScheduleTime
(mensagem)SolverParameters
(mensagem)VesselClass
(mensagem)VesselService
(mensagem)VesselServiceLeg
(mensagem)
CommodityDemand
Demanda de mercadorias, por exemplo, uma demanda potencial a ser atendida por um remetente.
Campos | |
---|---|
id |
ID exclusivo atribuído a essa demanda de mercadorias. |
origin_port_id |
ID da porta de origem. |
destination_port_id |
ID da porta de destino. |
container_count |
Número máximo de contêineres a serem atendidos. |
freight_rate |
Taxa de frete por contêiner (que pode incluir uma penalidade para uma demanda não atendida). Ele remove o custo de carregamento e descarregamento por contêiner na origem e no destino. |
maximum_transit_duration |
Duração máxima em trânsito (se definida, deve ser apenas positiva). O tempo em trânsito é definido a partir do momento em que a primeira embarcação que atende a essa demanda sai do porto de origem até o momento em que a última que atende a essa demanda chega ao porto de destino. |
CommodityDemandPath
Os diferentes serviços e portas que uma fração de uma determinada demanda de mercadorias está usando. Os índices usados abaixo são baseados na ordem dos serviços de embarcações na resposta e na ordem dos trechos de serviço em serviços individuais de embarcações.
Campos | |
---|---|
commodity_demand_id |
ID de demanda de mercadorias atendido. |
container_count |
Número de contêineres que passam por esse caminho. Para cada demanda de mercadorias, a quantidade total atendida não pode exceder a demanda total. |
vessel_service_leg_ids[] |
Lista de IDs de trechos de serviço de embarcações nesse caminho. Para um caminho de demanda de commodities válido, as seguintes propriedades são válidas: 1. O departure_port_id do primeiro trecho precisa corresponder a origin_port_id da demanda de mercadorias. 2. O destination_port_id do último trecho precisa corresponder ao destination_port_id da demanda de commodities. 3. Os campos arrival_port_id e departure_port_id precisam ser correspondentes. 4. Se fornecido para essa demanda de mercadorias, o tempo máximo em trânsito deve ser maior ou igual à duração total do caminho. |
VesselServiceLegId
Trecho de serviço de embarcação único usado em um caminho de demanda de mercadorias. Por exemplo, considere que há dois serviços de embarcações. O primeiro é composto por três trechos (indexados 0, 1 e 2) e os dois dois (indexados 0 e 1). Além disso, o primeiro trecho do primeiro serviço chega ao porto de partida do segundo trecho do segundo serviço. Um caminho de commodity que consiste nos três seguintes IDs de trecho de serviço de embarcações: {vessel_service_index: 0, vessel_service_leg_index: 2} {vessel_service_index: 0, vessel_service_leg_index: 0} {vessel_service_index: 1, vessel_service_leg_index: serviço de embarcações único para o primeiro trecho que leva 2 viagens em um trajeto consecutivo.
Campos | |
---|---|
vessel_service_index |
Índice do serviço de embarcações. |
vessel_service_leg_index |
Índice do trecho do serviço de embarcações indexado por |
Duração
Uma duração (estadia/transporte da porta, trânsito de demanda) é definida em uma granularidade por hora.
Campos | |
---|---|
hours |
Número de horas que definem a duração. |
LegCandidate
Candidato ao trecho de serviço de embarcações. Pode haver vários candidatos a trechos entre os mesmos dois portos, por exemplo, representando diferentes rotas oceânicas e/ou velocidades de embarcações.
Campos | |
---|---|
id |
ID exclusivo atribuído a este candidato de trecho. |
departure_port_id |
ID da porta de partida. |
arrival_port_id |
ID da porta de chegada. |
duration |
Duração do trecho. |
vessel_class_costs |
Custo para atribuir o trecho candidato a uma determinada classe de embarcações. Isso pode incluir custos operacionais do navio, custo do bunker e custo do fretamento. Uma classe de embarcações só poderá velejar por meio desse candidato a trecho se tiver uma entrada neste mapa. |
Porta
Porta, por exemplo, um terminal ou todos os terminais de uma porta.
Campos | |
---|---|
id |
ID exclusivo atribuído a esta porta. |
minimum_port_stay_duration |
Duração mínima da estadia de uma chamada de portabilidade. A maioria dos estudos considera constantes, pois os portos normalmente atribuem mais guindastes a embarcações maiores com altas contagens de movimentos, já que elas ocupam mais espaço. |
minimum_transshipment_duration |
Duração mínima de um transporte em um determinado porto, incluindo a duração para descarregar um contêiner e recarregá-lo em outra embarcação. |
transshipment_cost |
Custo de transenvio de um contêiner. Normalmente, ele é menor que a soma de carregamento e descarregamento, já que o transenvio não requer burocracia alfandegária no porto. |
vessel_class_costs |
Custos incorridos ao chamar essa porta mapeada pelo ID da classe do navio. Uma classe de embarcações só poderá chamar esse porto se tiver uma entrada neste mapa. |
VesselCost
O custo para fazer chamadas e ficar nesse porto é definido como uma função linear da duração da estadia (fixed_cost
+ hourly_cost
* horas).
Campos | |
---|---|
fixed_cost |
Custo fixo para chamar essa porta. |
hourly_cost |
Custo por hora para estadia nesta porta. |
ScheduleTime
Um horário programado (partidas de embarcação/demanda/chegadas) é definido com uma frequência semanal em uma determinada hora.
Campos | |
---|---|
day |
Dia na programação. O dia 0 é o primeiro dia possível. |
hour_of_day |
A hora do dia do horário programado deve ser um número inteiro entre 0 e 23. |
SolverParameters
Parâmetros que controlam uma única solução do LSNDSP.
Campos | |
---|---|
time_limit |
O tempo máximo que o solucionador deve gastar no problema. Esse valor não é um limite rígido e não considera a sobrecarga de comunicação. A latência esperada para resolver o problema pode exceder um pouco esse valor. |
VesselClass
Classe de navios, ou seja, um grupo de embarcações que compartilham as mesmas propriedades. Não há como diferenciar entre dois navios da mesma classe.
Campos | |
---|---|
id |
ID exclusivo atribuído a essa classe de embarcações. |
container_capacity |
Capacidade da classe do navio (em contêineres). |
vessel_count |
Número de embarcações nesta classe. |
VesselService
Serviço de embarcações que pode ser usado para atender às demandas de mercadorias. IMPORTANTE: atualmente, os serviços têm uma frequência semanal e os tempos de permanência da porta não podem exceder uma semana. Considere a seguinte sequência de trechos de serviço de embarcações: vessel_service_legs { leg_candidate_id: "0->1" origin_departure_time {} destination_arrival_time { day: 3 hour_of_day: 12 } } vessel_service_legs { leg_candidate_id: "1->0" origin_departure_time {day_ports: 1->0" origin_departure_time}
Campos | |
---|---|
vessel_class_id |
ID da classe do navio que executa o serviço. |
vessel_service_legs[] |
Para um serviço de navio válido, as seguintes propriedades são válidas: 1. Ele não pode ficar em branco. 2. Os campos destination_port_id e origin_port_id dos trechos consecutivos precisam ser correspondentes (inclusive para o último e o primeiro trecho). |
VesselServiceLeg
Um único trecho de um serviço de embarcações.
Campos | |
---|---|
leg_candidate_id |
ID de candidato de trecho atribuído. |
origin_departure_time |
Hora de partida do porto de origem na programação semanal. |
destination_arrival_time |
Hora de chegada ao porto de destino na programação semanal. |