Package google.research.optimization.v1.networkdesign

Index

CommodityDemand

La demande de produits, c'est-à-dire une demande potentielle à satisfaire par un transporteur.

Champs
id

string

ID unique attribué à cette demande de produits.

origin_port_id

string

ID du port d'origine.

destination_port_id

string

ID du port de destination.

container_count

int64

Nombre maximal de conteneurs à traiter.

freight_rate

double

Taux de fret par conteneur (qui peut inclure une pénalité en cas de demande non satisfaite) Cela devrait supprimer les coûts de chargement et de décharge par conteneur à l'origine et à la destination.

maximum_transit_duration

Duration

Durée maximale de transit (si elle est définie, elle doit être strictement positive). Le délai d'acheminement est défini entre le moment où le premier navire qui répond à la demande quitte le port d'origine et le moment où le dernier navire desservant cette demande arrive au port de destination.

CommodityDemandPath

les différents services et ports utilisés par une fraction d'une demande donnée. Les indices utilisés ci-dessous sont basés sur l'ordre des services du navire dans la réponse et l'ordre des tronçons de service dans chaque service.

Champs
commodity_demand_id

string

ID de la demande de produits traité.

container_count

int64

Nombre de conteneurs empruntant ce chemin. Pour chaque demande de produits, la quantité totale traitée ne peut pas dépasser la demande totale.

vessel_service_leg_ids[]

VesselServiceLegId

Liste des ID des sections de service des navires empruntés par ce chemin. Pour un chemin de demande de marchandises valide, les propriétés suivantes sont acceptées: 1. La valeur "departure_port_id" de la première étape doit correspondre à l'identifiant "origin_port_id" de la demande de produits. 2. La valeur "destination_port_id" de la dernière étape doit correspondre à la valeur "destination_port_id" de la demande de produits. 3. Les champs "arrival_port_id" et "departure_port_id" doivent correspondre aux étapes suivantes. 4. Si cette valeur est fournie pour cette demande de produits, le délai d'acheminement maximum doit être supérieur ou égal à la durée totale du chemin.

VesselServiceLegId

Section de service à navire unique utilisée dans le chemin de demande de marchandises. Par exemple, imaginons qu'il existe deux services de navire. Le premier se compose de trois pieds (indexés 0, 1 et 2) et des deux autres (indexés 0 et 1). En outre, la première section du premier service arrive au port de départ de la deuxième section du second. un chemin de marchandises composé des trois ID d'étape du service de navire suivants : {vessel_service_index: 0, vessel_service_leg_index: 2} {vessel_service_index: 0, vessel_service_leg_index: 0} {vessel_service_index: 1, vessel_service_index}

Champs
vessel_service_index

int32

Index du service du navire.

vessel_service_leg_index

int32

Index de la section du service du navire indexé par vessel_service_index.

Durée

Une durée (séjour dans un port/transport, transit à la demande) est définie sur une base horaire.

Champs
hours

int64

Nombre d'heures définissant la durée.

LegCandidate

Candidature pour une étape de service du navire. Il peut y avoir plusieurs étapes candidates entre les mêmes ports, par exemple pour différentes routes océaniques et/ou vitesses des navires.

Champs
id

string

Identifiant unique attribué à ce candidat pour l'étape.

departure_port_id

string

Identifiant du port de départ.

arrival_port_id

string

Identifiant du port d'arrivée.

duration

Duration

Durée de l'étape.

vessel_class_costs

map<string, double>

Coût pour attribuer cette étape candidate à une certaine classe de navire. Cela peut inclure les coûts d'exploitation des navires, du bunker et de l'affrètement. Une classe de navire ne peut passer cette étape que s'il possède une entrée sur cette carte.

Port

Port (par exemple, un terminal ou tous les terminaux d'un port).

Champs
id

string

Identifiant unique attribué à ce port.

minimum_port_stay_duration

Duration

Durée minimale du séjour pour un appel de port. La plupart des études supposent une constante, car les ports assignent généralement plus de grues à des navires plus grands avec un grand nombre de mouvements, car ils prennent plus de place.

minimum_transshipment_duration

Duration

Durée minimale d'un transfert sur un port donné, y compris la durée nécessaire pour décharger un conteneur et le recharger sur un autre navire.

transshipment_cost

double

Coût du transport d'un conteneur. Le montant est généralement inférieur au chargement et à la déchargement, car le transport ne nécessite pas de formalités douanières au port.

vessel_class_costs

map<string, VesselCost>

Frais encourus lors de l'appel de ce port, mappés selon l'ID de classe du navire. Une classe de navire ne peut appeler ce port que s'il possède une entrée sur cette carte.

VesselCost

Le coût des appels et du séjour dans ce port est défini comme une fonction linéaire de la durée du séjour (fixed_cost + hourly_cost * heures).

Champs
fixed_cost

double

Coût fixe pour l'appel de ce port.

hourly_cost

double

Coût horaire de la séjour dans ce port.

ScheduleTime

Une heure de planification (empart du navire/à la demande/arrivées) est définie sur une fréquence hebdomadaire à une heure donnée.

Champs
day

int64

Jour dans le planning. Le jour 0 est le premier jour possible.

hour_of_day

int32

L'heure de la journée doit être un nombre entier compris entre 0 et 23 inclus.

SolverParameters

Paramètres qui contrôlent une seule résolution du LSNDSP.

Champs
time_limit

Duration

Temps maximal que le résolveur doit consacrer au problème. Cette valeur n'est pas une limite stricte et ne tient pas compte de la surcharge de communication. La latence attendue pour résoudre le problème peut légèrement dépasser cette valeur.

VesselClass

Classe du bateau, c'est-à-dire un groupe de navires partageant les mêmes propriétés. Il n'existe aucun moyen de différencier deux vaisseaux de la même classe.

Champs
id

string

Identifiant unique attribué à cette classe de navire.

container_capacity

int64

Capacité de la classe du bateau (en conteneurs).

vessel_count

int64

Nombre de navires dans cette classe de navire.

VesselService

Service Vessel qui peut être utilisé pour répondre à la demande en marchandises. IMPORTANT: Selon l'hypothèse actuelle, les services utilisent une fréquence hebdomadaire et la durée de séjour sur le port ne peut pas dépasser une semaine. Considérons la séquence de tronçons de service du navire suivante : 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: 2_week_time_id: "1-week_time_jour_id: "1-week_time_day}

Champs
vessel_class_id

string

ID de la classe du navire effectuant le service.

vessel_service_legs[]

VesselServiceLeg

Pour un service de navire valide, les propriétés suivantes sont acceptées: 1. Ce champ est obligatoire. 2. Les sections "destination_port_id" et "origin_port_id" doivent correspondre (y compris pour la dernière et la première étapes).

VesselServiceLeg

Un seul tronçon d'un service de navire.

Champs
leg_candidate_id

string

ID de candidat pour l'étape attribué.

origin_departure_time

ScheduleTime

Heure de départ au port d'origine, aux horaires hebdomadaires.

destination_arrival_time

ScheduleTime

Heure d'arrivée au port de destination selon la programmation hebdomadaire.