Package google.research.optimization.v1.networkdesign

索引

CommodityDemand

商品需求,即由发货人满足的潜在需求。

字段
id

string

为此商品需求分配的唯一 ID。

origin_port_id

string

源端口的 ID。

destination_port_id

string

目标端口的 ID。

container_count

int64

要履单的容器数量上限。

freight_rate

double

每个集装箱的货运费率(可能包括对未履行的需求的处罚)。这样应该可以省去在出发地和目的地的每个集装箱的装卸费用。

maximum_transit_duration

Duration

运送时间上限(如果设置,则应该极为正值)。运送时间是指从满足该需求的第一艘船离开发货港到最后一艘船抵达目的地港口的时间,

CommodityDemandPath

一小部分给定商品需求采用的不同服务和端口。下面使用的索引基于响应中船只服务的顺序以及各个船只服务的顺序。

字段
commodity_demand_id

string

已提供商品需求 ID。

container_count

int64

通过此路径的容器数量。对于每项商品需求,履单总量不能超过总需求。

vessel_service_leg_ids[]

VesselServiceLegId

通过此路径获取的船舶服务航段 ID 的列表。对于有效的商品需求路径,您需要具备以下属性:1. 首段的 Exit_port_id 必须与商品需求的 origin_port_id 一致。2. 最后一段的 destination_port_id 必须与商品需求的 destination_port_id 一致。3. 连续航段的 arrival_port_id 和 flight_port_id 必须匹配。4. 如果为这种商品需求提供了运送时间,则最长运送时间应大于或等于路径的总时长。

VesselServiceLegId

商品需求路径中使用的单船服务航段。例如,假设有两项船舶服务。第一段由三段(索引为 0、1 和 2)组成,第二段由两段(索引为 0 和 1)组成。此外,第一趟服务的第一段抵达第二段航程的出发港口。由以下三条船舶服务段 ID 组成的商品路径:{vessel_service_index: 0, vessel_service_leg_index: 2} {vessel_service_index: 0, vessel_service_leg_index: 0} {vessel_service_index: 1, vesel_service_index: 1, vessel_service_index: 1, vessel_service_index: 0} {vessel_service_index: 1, vessel 。

字段
vessel_service_index

int32

船舶服务的索引。

vessel_service_leg_index

int32

船运服务路程的索引(按 vessel_service_index 编入索引)。

时长

时长(停留/转运、需求转运)是按小时定义的。

字段
hours

int64

定义持续时间的小时数。

LegCandidate

船只服务航段候选。在相同的两个端口之间可以有多个候选路程,例如,代表不同的海洋航线和/或船速。

字段
id

string

分配给此路段候选 ID 的唯一 ID。

departure_port_id

string

出发港的 ID。

arrival_port_id

string

到达端口的 ID。

duration

Duration

路程的时长。

vessel_class_costs

map<string, double>

将此候选路段分配给特定船舶类别的费用。这可能包括船舶运营费用、掩体费用、包船费用。仅当此航段候选中在此地图中有条目时,船只类别才能通过该航段航行。

端口

端口,例如一个终端或某个端口的所有终端。

字段
id

string

为此充电桩分配的唯一 ID。

minimum_port_stay_duration

Duration

携号转网通话的最短停留时间。大多数研究都假定端口是固定不变的,因为端口通常会为移动次数较多的较大船舶分配更多起重机,因为这些船占据了更多空间。

minimum_transshipment_duration

Duration

在指定港口转运的最短持续时间,包括将集装箱卸载到其他船只上所需的持续时间。

transshipment_cost

double

集装箱转运的费用。这通常低于装卸量的总和,因为转运不需要在港口报关。

vessel_class_costs

map<string, VesselCost>

调用按船只类别 ID 映射的此港口时产生的费用。船舶类只有在此映射中具有条目时才能调用此港口。

VesselCost

呼叫和在此停靠点的船只费用定义为住宿时长(fixed_cost + hourly_cost * 小时)的线性函数。

字段
fixed_cost

double

调用此端口的固定费用。

hourly_cost

double

在此港口停留的每小时费用。

ScheduleTime

排班时间(船只/需求出发/到达)是按每周特定时间的频率定义的。

字段
day

int64

日程表。第 0 天是可能的第一天。

hour_of_day

int32

时间表时间中的时段应为 0 到 23(含 0 和 23)之间的整数。

SolverParameters

用于控制 LSNDSP 的单次求解的参数。

字段
time_limit

Duration

求解器在问题上花费的时间上限。这个值不是硬性限制,也没有考虑通信开销。解决该问题的预期延迟时间可能会略微超过此值。

VesselClass

船只类别,即具有相同属性的一组船舶。没有办法区分同一类别的两艘船。

字段
id

string

分配给此船舶类别的唯一 ID。

container_capacity

int64

船类承载能力(以集装箱为单位)。

vessel_count

int64

此船类中的船只数量。

VesselService

可满足商品需求的船舶服务。重要提示:当前假设服务按周频率运行,且端口停留时间不得超过一周。请考虑以下船舶服务航段的顺序:vessel_service_legs { leg_candidate_id: "0->1" origin_过期_time {} destination_arrival_time { day: 3 hour_of_day: 12 } } vessel_service_legs { leg_time_transit_release_legs { leg_candidate_release_legs { leg_candidate_day_id { leg_candidate_day_id } 这样两段交通工具的起步时间 { leg_candidate_id: "0->1" origin_exit_time}

字段
vessel_class_id

string

提供服务的船类 ID。

vessel_service_legs[]

VesselServiceLeg

对于有效的船舶服务,以下属性适用:1. 此字段不能为空。2. 连续段的 destination_port_id 和 origin_port_id 必须匹配(包括最后路程和第一个路程)。

VesselServiceLeg

船只服务的一段。

字段
leg_candidate_id

string

已分配的路程候选 ID。

origin_departure_time

ScheduleTime

每周时间表在始发港口的出发时间。

destination_arrival_time

ScheduleTime

每周时间表的抵达目的地港口时间。