Package google.research.optimization.v1.networkdesign

Indeks

CommodityDemand

Popyt towarowy, czyli potencjalny popyt, który spedytor ma zaspokoić.

Pola
id

string

Unikalny identyfikator przypisany do tego popytu na towary.

origin_port_id

string

Identyfikator portu początkowego.

destination_port_id

string

Identyfikator portu docelowego.

container_count

int64

Maksymalna liczba kontenerów do wypełnienia.

freight_rate

double

stawka frachtu na kontener (która może obejmować karę za niewykorzystany popyt); Powinno to zmniejszyć koszty ładowania i rozładowywania poszczególnych kontenerów w miejscu początkowym i docelowym.

maximum_transit_duration

Duration

Maksymalny czas przewozu (jeśli został ustawiony, wartość musi być liczbą dodatnią). Czas przewozu jest zdefiniowany od momentu, gdy pierwszy statek obsługujący dany zapotrzebowanie opuści port wylotu do czasu, gdy ostatni statek obsługujący to zapotrzebowanie pojawi się do portu docelowego.

CommodityDemandPath

Różne usługi i porty, z których korzysta dana część danego popytu na towary. Stosowane poniżej indeksy zależą od kolejności usług statków w odpowiedzi i kolejności etapów obsługi w poszczególnych usługach na statku.

Pola
commodity_demand_id

string

Identyfikator popytu towarowego został zrealizowany.

container_count

int64

Liczba kontenerów przechodzących przez tę ścieżkę. W przypadku każdego popytu na towar łączna ilość zrealizowanej ilości nie może przekraczać całkowitego popytu.

vessel_service_leg_ids[]

VesselServiceLegId

Lista identyfikatorów etapów obsługi statków pokonywanych przez tę ścieżkę. W przypadku prawidłowej ścieżki popytu na towar obowiązują te właściwości: 1. Identyfikator portu_pierwszego etapu musi być zgodny z wartością origin_port_id w polu popytu na towary. 2. Identyfikator portu_docelowego ostatniego etapu musi być zgodny z identyfikatorem miejsca docelowego_towaru. 3. Parametry przylotu i odjazdu na kolejnych etapach muszą być takie same. 4. Jeśli maksymalny czas przewozu został podany w przypadku tego popytu na towary, maksymalny czas przewozu powinien być dłuższy niż łączny czas trwania ścieżki lub równy.

VesselServiceLegId

Jeden etap obsługi statków używany w ścieżce popytu na towary. Weźmy na przykład 2 usługi na statku. Pierwsza składa się z 3 nóg (zindeksowanych 0, 1 i 2), a drugich (zindeksowanych 0 i 1). Dodatkowo pierwszy etap pierwszej usługi przybędzie do portu wylotu drugiego etapu. Ścieżka towarowa składająca się z 3 następujących identyfikatorów usług statków: {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: 0} {vessel_service_index: 1, vessel_service_leg_index: 0} {vessel_service_index: 1, vessel_service_leg_index:

Pola
vessel_service_index

int32

Indeks usług statków.

vessel_service_leg_index

int32

Indeks odcinka linii lotniczej zindeksowanej przez: vessel_service_index.

Czas działania

Czas trwania (pobyt w porcie/przesyłce, tranzyt na żądanie) jest zdefiniowany z dokładnością do godziny.

Pola
hours

int64

Liczba godzin określających czas trwania.

LegCandidate

Kandydat do obsługi łodzi. Między tymi samymi 2 portami może występować kilka etapów, np. reprezentujących różne trasy oceaniczne lub prędkości statków.

Pola
id

string

Unikalny identyfikator przypisany do tego etapu kandydu.

departure_port_id

string

Identyfikator portu wylotu.

arrival_port_id

string

Identyfikator portu przylotu.

duration

Duration

Czas trwania nogi.

vessel_class_costs

map<string, double>

Koszt przypisania tego etapu do określonej klasy statku. Może to być koszt eksploatacji statku, koszt zasobnika i koszt czarteru. Klasa statku może przepłynąć przez ten etap tylko wtedy, gdy ma wpis na tej mapie.

Port

Port, np. terminal lub wszystkie terminale portu.

Pola
id

string

Unikalny identyfikator przypisany do tego gniazda.

minimum_port_stay_duration

Duration

Minimalny czas trwania pobytu na prośbę o port. Większość badań przyjmuje stałą wartość, ponieważ porty zazwyczaj przypisują więcej dźwigów do większych statków o dużej liczbie ruchu, ponieważ zajmują one więcej miejsca.

minimum_transshipment_duration

Duration

Minimalny czas przeładunku w danym porcie, w tym czas rozładowywania kontenera i załadunku go na inny statek.

transshipment_cost

double

Koszt transportu kontenera. Zwykle będzie ona niższa niż suma załadunku i rozładunku, ponieważ transport nie wymaga dokumentów celnych w porcie.

vessel_class_costs

map<string, VesselCost>

Koszty związane z wywołaniem tego portu zmapowane na identyfikator klasy statku. Klasa statku może zadzwonić do tego portu tylko wtedy, gdy ma wpis na tej mapie.

VesselCost

Koszt statku za dzwonienie i nocleg w tym porcie jest definiowany jako liniowa funkcja czasu pobytu (fixed_cost + hourly_cost * godz.).

Pola
fixed_cost

double

Stały koszt połączenia z tym portem.

hourly_cost

double

Koszt godzinowy za pobyt w tym porcie.

ScheduleTime

Rozkład czasu (odlot statku/na żądanie/przyloty) jest zdefiniowany zgodnie z tygodniową częstotliwością o danej godzinie.

Pola
day

int64

Dzień zgodnie z harmonogramem. Dzień 0 to pierwszy możliwy dzień.

hour_of_day

int32

Godzina w harmonogramie powinna być liczbą całkowitą z zakresu od 0 do 23 włącznie.

SolverParameters

Parametry, które kontrolują pojedyncze rozwiązanie LSNDSP.

Pola
time_limit

Duration

Maksymalny czas, jaki rozwiązanie powinno poświęcić na rozwiązanie problemu. Ta wartość nie jest sztywnym limitem i nie uwzględnia opłat za komunikację. Oczekiwany czas oczekiwania na rozwiązanie problemu może nieznacznie przekraczać tę wartość.

VesselClass

Klasa statku, czyli grupa statków o tych samych właściwościach. Nie da się rozróżnić dwóch statków tej samej klasy.

Pola
id

string

Unikalny identyfikator przypisany do tej klasy statku.

container_capacity

int64

Pojemność klasy statku (w kontenerach).

vessel_count

int64

Liczba statków w tej klasie statku.

VesselService

Usługa statków, która może służyć do zaspokajania zapotrzebowania związanego z towarami. WAŻNE: obecnie zakładamy, że usługi są udostępniane z częstotliwością tygodniową, a czas pobytu w portach nie może przekraczać tygodnia. Weź pod uwagę następującą sekwencję etapów obsługi statku: vessel_service_legs { leg_candidate_id: "0->1" origin_visit_time {} destination_arrival_time { dzień: 3 hour_of_day port: 12 } } vessel_service_legs { vessel_service_legs { leg_candidate_id: "1->0"

Pola
vessel_class_id

string

Identyfikator klasy statku wykonujący usługę.

vessel_service_legs[]

VesselServiceLeg

W przypadku prawidłowej usługi rejsowej obowiązują te właściwości: 1. Pole nie może być puste. 2. Parametry docelowego_portu kolejnych etapów i origin_port_id muszą być takie same (łącznie z ostatnim i pierwszym etapem).

VesselServiceLeg

Jeden etap transportu statku.

Pola
leg_candidate_id

string

Identyfikator przypisanego uczestnika etapu.

origin_departure_time

ScheduleTime

Godzina odjazdu z portu wylotu według harmonogramu tygodniowego.

destination_arrival_time

ScheduleTime

Godzina przybycia do portu docelowego według harmonogramu tygodniowego.