Package google.research.optimization.v1.networkdesign

Índice

CommodityDemand

Demanda de mercadorias, por exemplo, uma demanda potencial a ser atendida por um remetente.

Campos
id

string

ID exclusivo atribuído a essa demanda de mercadorias.

origin_port_id

string

ID da porta de origem.

destination_port_id

string

ID da porta de destino.

container_count

int64

Número máximo de contêineres a serem atendidos.

freight_rate

double

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

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

string

ID de demanda de mercadorias atendido.

container_count

int64

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[]

VesselServiceLegId

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

int32

Índice do serviço de embarcações.

vessel_service_leg_index

int32

Índice do trecho do serviço de embarcações indexado por vessel_service_index.

Duração

Uma duração (estadia/transporte da porta, trânsito de demanda) é definida em uma granularidade por hora.

Campos
hours

int64

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

string

ID exclusivo atribuído a este candidato de trecho.

departure_port_id

string

ID da porta de partida.

arrival_port_id

string

ID da porta de chegada.

duration

Duration

Duração do trecho.

vessel_class_costs

map<string, double>

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

string

ID exclusivo atribuído a esta porta.

minimum_port_stay_duration

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

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

double

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

map<string, VesselCost>

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

double

Custo fixo para chamar essa porta.

hourly_cost

double

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

int64

Dia na programação. O dia 0 é o primeiro dia possível.

hour_of_day

int32

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

Duration

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

string

ID exclusivo atribuído a essa classe de embarcações.

container_capacity

int64

Capacidade da classe do navio (em contêineres).

vessel_count

int64

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

string

ID da classe do navio que executa o serviço.

vessel_service_legs[]

VesselServiceLeg

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

string

ID de candidato de trecho atribuído.

origin_departure_time

ScheduleTime

Hora de partida do porto de origem na programação semanal.

destination_arrival_time

ScheduleTime

Hora de chegada ao porto de destino na programação semanal.