Package google.research.optimization.v1.networkdesign

Indice

CommodityDemand

Domanda di materie prime, ovvero una potenziale domanda che un corriere deve soddisfare.

Campi
id

string

ID univoco assegnato a questa domanda dei prodotti.

origin_port_id

string

ID della porta di origine.

destination_port_id

string

ID della porta di destinazione.

container_count

int64

Numero massimo di container da soddisfare.

freight_rate

double

Tariffa di trasporto per container (che potrebbe includere una penalità per la domanda non soddisfatta). Deve rimuovere il costo di caricamento e scarico per container all'origine e a destinazione.

maximum_transit_duration

Duration

Durata di transito massima (se impostata, deve essere strettamente positiva). Il tempo di transito è definito dal momento in cui la prima nave che soddisfa questa domanda lascia il porto di origine al momento in cui l'ultima nave che serve questa domanda arriva al porto di destinazione.

CommodityDemandPath

I diversi servizi e porte utilizzati da una frazione di una determinata domanda di merci. Gli indici utilizzati di seguito si basano sull'ordine dei servizi imbarcazioni nella risposta e su quello dei rami di servizio nei singoli servizi imbarcazioni.

Campi
commodity_demand_id

string

ID domanda delle merci soddisfatto.

container_count

int64

Numero di container che attraversano questo percorso. Per ogni domanda di merci, la quantità totale soddisfatta non può superare la domanda totale.

vessel_service_leg_ids[]

VesselServiceLegId

Elenco degli ID parte del servizio navale seguiti da questo percorso. Per un percorso di domanda delle merci valido, valgono le seguenti proprietà: 1. Il valore destination_port_id della prima tratta deve corrispondere a origin_port_id della domanda delle merci. 2. Il valore destination_port_id dell'ultimo tratto deve corrispondere a destination_port_id della domanda delle merci. 3. receive_port_id delle tratte consecutive e destination_port_id di partenza devono corrispondere. 4. Se previsto per questa domanda di merci, il tempo di transito massimo deve essere maggiore o uguale alla durata totale del percorso.

VesselServiceLegId

Tratto di servizio con imbarcazione singola utilizzato in un percorso di domanda delle merci. Ad esempio, considera che ci sono due servizi imbarcazioni. La prima è composta da tre zampe (valore indicizzato con 0, 1 e 2) e la seconda da due gambe (valore indicizzato 0 e 1). Inoltre, la prima tratta del primo servizio arriva al porto di partenza della seconda tratta del secondo servizio. Un percorso delle merci composto dai seguenti ID tratto servizio imbarcazione: {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: 1, vessel_service_leg_index:

Campi
vessel_service_index

int32

Indice del servizio navale.

vessel_service_leg_index

int32

Indice del tratto del servizio navale indicizzato da vessel_service_index.

Durata

Una durata (soggiorno/trasporto, domanda di transito) è definita con granularità oraria.

Campi
hours

int64

Numero di ore che definiscono la durata.

LegCandidate

Candidato tratto di servizio nave. Possono esserci diversi tratti di percorso tra le stesse due porte, ad esempio per rappresentare diverse rotte oceaniche e/o velocità delle imbarcazioni.

Campi
id

string

ID univoco assegnato a questo candidato della gamba.

departure_port_id

string

ID della porta di partenza.

arrival_port_id

string

ID della porta di arrivo.

duration

Duration

Durata della gamba.

vessel_class_costs

map<string, double>

Costo per l'assegnazione di questo candidato della gamba a una determinata classe di imbarcazioni. Possono essere inclusi i costi di gestione delle imbarcazioni, i costi del bunker e il costo del noleggio. Una classe di imbarcazioni può salpare per questo candidato della tratta solo se dispone di una voce in questa mappa.

Porta

Porta, ad esempio un terminale o tutti i terminali di una porta.

Campi
id

string

ID univoco assegnato a questa porta.

minimum_port_stay_duration

Duration

Durata minima del soggiorno per una chiamata di trasferimento. La maggior parte degli studi presuppone che sia costante, poiché i porti assegnano in genere più gru alle imbarcazioni più grandi con un numero di movimentazione elevato, poiché occupano più spazio.

minimum_transshipment_duration

Duration

Durata minima di un trasbordo in un determinato porto, compresa la durata dello scarico di un container e del ricaricamento su un'altra nave.

transshipment_cost

double

Costo della transcodifica di un container. Di solito è inferiore alla somma delle operazioni di carico e scarico poiché la spedizione non richiede le pratiche doganali in porto.

vessel_class_costs

map<string, VesselCost>

Costi sostenuti per le chiamate a questa porta mappati dall'ID classe nave. Una classe imbarcazione può chiamare questa porta solo se dispone di una voce in questa mappa.

VesselCost

Il costo della nave per fare chiamate e soggiornare in questo porto è definito come una funzione lineare della durata del soggiorno (fixed_cost + hourly_cost * ore).

Campi
fixed_cost

double

Costo fisso delle chiamate a questa porta.

hourly_cost

double

Costo orario per soggiornare in questo porto.

ScheduleTime

Un orario di arrivo (natante/partenza/arrivi della domanda) viene definito con una frequenza settimanale di una determinata ora.

Campi
day

int64

Il giorno in programma. Il giorno 0 è il primo giorno possibile.

hour_of_day

int32

L'ora del giorno dell'ora pianificata deve essere un numero intero compreso tra 0 e 23 inclusi.

SolverParameters

Parametri che controllano una singola risoluzione dell'LSNDSP.

Campi
time_limit

Duration

Tempo massimo che il risolutore deve dedicare al problema. Questo valore non è un limite fisso e non tiene conto del sovraccarico di comunicazione. La latenza prevista per risolvere il problema potrebbe superare leggermente questo valore.

VesselClass

Classe dei imbarcazioni, ovvero un gruppo di imbarcazioni che condividono le stesse proprietà. Non è possibile distinguere due imbarcazioni dalla stessa classe.

Campi
id

string

ID univoco assegnato a questa classe imbarcazione.

container_capacity

int64

Capacità della classe della nave (in container).

vessel_count

int64

Numero di imbarcazioni in questa classe.

VesselService

Servizio navale che può essere utilizzato per soddisfare la domanda delle materie prime. IMPORTANTE: attualmente si presume che i servizi abbiano una frequenza settimanale e che i tempi di soggiorno non possano superare una settimana. Prendi in considerazione la seguente sequenza di tappe di servizio delle imbarcazioni: vessel_service_legs { leg_candidate_id: "0->1" origin_except_time {} destination_arrival_time { day: 3 hour_of_day: 12 } } vessel_service_legs { leg_candidate_id: "1->0" destination_openlines:

Campi
vessel_class_id

string

ID classe nave che esegue il servizio.

vessel_service_legs[]

VesselServiceLeg

Per un servizio navale valido, valgono le seguenti proprietà: 1. Non può essere vuoto. 2. destination_port_id e origin_port_id delle tratte consecutive devono corrispondere (compresi l'ultimo e il primo tratto).

VesselServiceLeg

Un'unica tratta di un servizio navale.

Campi
leg_candidate_id

string

ID candidato gamba assegnata.

origin_departure_time

ScheduleTime

L'orario di partenza al porto di origine secondo l'orario settimanale.

destination_arrival_time

ScheduleTime

Ora di arrivo al porto di destinazione nell'orario settimanale.