Package google.research.optimization.v1.networkdesign

شاخص

تقاضای کالا

تقاضای کالا، یعنی تقاضای بالقوه ای که باید توسط یک فرستنده برآورده شود.

فیلدها
id

string

شناسه منحصر به فرد اختصاص داده شده به این تقاضای کالا.

origin_port_id

string

شناسه پورت مبدا.

destination_port_id

string

شناسه بندر مقصد

container_count

int64

حداکثر تعداد کانتینرهایی که باید تکمیل شوند.

freight_rate

double

نرخ بار در هر کانتینر (که می تواند شامل جریمه برای تقاضای برآورده نشده باشد). باید هزینه بارگیری و تخلیه هر کانتینر در مبدا و مقصد را حذف کند.

maximum_transit_duration

Duration

حداکثر مدت حمل و نقل (در صورت تنظیم، باید کاملاً مثبت باشد). زمان ترانزیت از زمانی تعریف می شود که اولین کشتی که این تقاضا را برآورده می کند از بندر مبدا خارج می شود تا زمانی که آخرین کشتی که این تقاضا را برآورده می کند به بندر مقصد می رسد.

CommodityDemandPath

خدمات و بنادر متفاوتی که کسری از تقاضای یک کالای معین دریافت می کند. شاخص های استفاده شده در زیر بر اساس ترتیب خدمات کشتی در پاسخ و ترتیب خدمات در خدمات کشتی جداگانه است.

فیلدها
commodity_demand_id

string

شناسه تقاضای کالا برآورده شد.

container_count

int64

تعداد کانتینرهایی که از این مسیر عبور می کنند. برای هر تقاضای کالا، کل مقدار برآورده شده نمی تواند از کل تقاضا بیشتر شود.

vessel_service_leg_ids[]

VesselServiceLegId

لیست شناسه های پای سرویس کشتی که از این مسیر طی شده است. برای یک مسیر تقاضای کالای معتبر، ویژگی های زیر برقرار است: 1. departure_port_id پایه اول باید با origin_port_id تقاضای کالا مطابقت داشته باشد. 2. مقصد_port_id آخرین مرحله باید با destination_port_id تقاضای کالا مطابقت داشته باشد. 3. ورود_port_id و departure_port_id پاهای متوالی باید مطابقت داشته باشند. 4. اگر برای این تقاضای کالا پیش بینی شده باشد، حداکثر زمان ترانزیت باید بیشتر یا مساوی از کل طول مسیر باشد.

VesselServiceLegId

تک پایه خدمات کشتی مورد استفاده در مسیر تقاضای کالا. به عنوان مثال، در نظر بگیرید که دو سرویس کشتی وجود دارد. اولی از سه پایه (با نمایه 0، 1 و 2) و دومی دو (با نمایه 0 و 1) ساخته شده است. علاوه بر این، اولین پا از سرویس اول به بندر خروجی قسمت دوم سرویس دوم می رسد. یک مسیر کالا متشکل از سه شناسه پای سرویس کشتی زیر: {vessel_service_index: 0, tank_service_leg_index: 2} {vessel_service_index: 0, tank_service_leg_index: 0} {vessel_service_leg_index: 0} {vessel_service_index_index: 1, vessel_service_leg_index: 1} به این معنی است که کانتینرها اولین leg را می گیرند. سرویس کشتی (توجه داشته باشید که 2 و 0 متوالی هستند زیرا هر سرویس یک چرخه است)، سپس به سرویس کشتی 1 برای یک پا منتقل می شود.

فیلدها
vessel_service_index

int32

فهرست خدمات کشتی

vessel_service_leg_index

int32

نمایه ساق از سرویس کشتی نمایه شده توسط vessel_service_index .

مدت زمان

مدت زمان (اقامت در بندر / حمل و نقل، ترانزیت تقاضا) بر اساس دانه بندی ساعتی تعریف می شود.

فیلدها
hours

int64

تعداد ساعات تعیین کننده مدت زمان

LegCandidate

کاندیدای پای سرویس کشتی می‌تواند بین دو بندر یکسان، چندین پا وجود داشته باشد، به عنوان مثال نشان دهنده مسیرهای اقیانوسی و/یا سرعت کشتی‌های مختلف. با این حال، بین دو پورت با مدت زمان معین فقط یک پا می تواند وجود داشته باشد.

فیلدها
id

string

شناسه منحصربفرد به این نامزد پا اختصاص داده شده است.

departure_port_id

string

شناسه بندر خروج

arrival_port_id

string

شناسه بندر ورود

duration

Duration

مدت زمان پا.

vessel_class_costs

map<string, double>

هزینه اختصاص این پا به یک کلاس شناور خاص. این می تواند شامل هزینه عملیات کشتی، هزینه پناهگاه، هزینه اجاره. یک کلاس شناور فقط در صورتی می تواند با این نامزد حرکت کند که در این نقشه ورودی داشته باشد.

بندر

پورت، به عنوان مثال یک ترمینال یا تمام پایانه های یک پورت.

فیلدها
id

string

شناسه منحصر به فرد به این پورت اختصاص داده شده است.

minimum_port_stay_duration

Duration

حداقل مدت اقامت برای تماس با بندر. اکثر مطالعات ثابت می‌کنند زیرا بنادر معمولاً جرثقیل‌های بیشتری را به کشتی‌های بزرگ‌تر با تعداد حرکت بالا اختصاص می‌دهند، زیرا فضای بیشتری را اشغال می‌کنند.

minimum_transshipment_duration

Duration

حداقل مدت حمل و نقل در یک بندر معین، شامل مدت زمان تخلیه کانتینر و بارگیری مجدد آن در کشتی دیگر.

transshipment_cost

double

هزینه حمل و نقل یک کانتینر معمولاً کمتر از مجموع بارگیری و تخلیه خواهد بود زیرا حمل و نقل به کاغذهای گمرکی در بندر نیاز ندارد.

vessel_class_costs

map<string, VesselCost >

هزینه های متحمل شده هنگام تماس با این پورت با شناسه کلاس کشتی نقشه برداری شده است. یک کلاس کشتی فقط در صورتی می تواند با این پورت تماس بگیرد که در این نقشه ورودی داشته باشد.

هزینه کشتی

هزینه کشتی برای تماس و اقامت در این بندر به عنوان تابعی خطی از مدت اقامت ( fixed_cost + hourly_cost * ساعت) تعریف می شود.

فیلدها
fixed_cost

double

هزینه ثابت برای تماس با این پورت.

hourly_cost

double

هزینه ساعتی اقامت در این بندر.

ScheduleTime

یک زمان برنامه (حرکت کشتی/تقاضا/ورود) در یک فرکانس هفتگی در یک ساعت معین تعریف می شود.

فیلدها
day

int64

روز بر اساس برنامه روز 0 اولین روز ممکن است.

hour_of_day

int32

ساعت روز از زمان برنامه باید یک عدد صحیح بین 0 تا 23 باشد.

SolverParameters

پارامترهایی که یک حل واحد LSNDSP را کنترل می کنند.

فیلدها
time_limit

Duration

حداکثر زمانی که حل کننده باید برای مشکل صرف کند. این مقدار یک محدودیت سخت نیست و برای سربار ارتباط حساب نمی کند. تاخیر مورد انتظار برای حل مشکل ممکن است کمی بیشتر از این مقدار باشد.

VesselClass

کلاس کشتی، به عنوان مثال، گروهی از کشتی(ها) که ویژگی های یکسانی دارند. هیچ راهی برای تمایز بین دو کشتی از یک کلاس وجود ندارد.

فیلدها
id

string

شناسه منحصر به فرد اختصاص داده شده به این کلاس کشتی.

container_capacity

int64

ظرفیت کلاس کشتی (در کانتینر).

vessel_count

int64

تعداد شناورهای این کلاس شناور.

سرویس کشتی

سرویس کشتی که می تواند برای تامین نیازهای کالا استفاده شود. مهم: یک فرض فعلی این است که سرویس‌ها در فرکانس هفتگی هستند و زمان اقامت بندر نمی‌تواند بیش از یک هفته باشد. دنباله ای از مراحل خدمات کشتی را در نظر بگیرید: ship_service_legs {leg_candidate_id: "0->1" origin_departure_time {} destination_arrival_time { day: 3 hour_of_day: 12 } } anije_service_legs {leg_candidate_id: "1->1" origin_departure_time day: 7 hour_of_day: 12 } } این قسمت‌ها یک خط خدمات یک هفته‌ای را تعریف می‌کنند که از دو پورت عبور می‌کنند و زمان اقامت هر دو پورت 12 ساعت است.

فیلدها
vessel_class_id

string

شناسه کلاس کشتی که سرویس را انجام می دهد.

vessel_service_legs[]

VesselServiceLeg

برای یک سرویس کشتی معتبر، ویژگی های زیر برقرار است: 1. نمی تواند خالی باشد. 2. مقصد_port_id و origin_port_id پاهای متوالی باید با هم مطابقت داشته باشند (از جمله برای پاهای آخر و اول).

VesselServiceLeg

یک پا سرویس کشتی.

فیلدها
leg_candidate_id

string

شناسه نامزد پا اختصاص داده شده است.

origin_departure_time

ScheduleTime

زمان حرکت در بندر مبدا در برنامه هفتگی.

destination_arrival_time

ScheduleTime

زمان رسیدن به بندر مقصد در برنامه هفتگی.