Package google.research.optimization.v1.networkdesign

אינדקס

CommodityDemand

ביקוש לסחורות, כלומר, ביקוש פוטנציאלי שהשולח יכול למלא.

שדות
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. ערך הפרמטר outure_port_id של הקטע הראשון חייב להיות תואם ל-origin_port_id של הביקוש לסחורה. 2. ערך destination_port_id של הקטע האחרון חייב להתאים ל-destination_port_id של הביקוש לסחורה. 3. הערכים 'arrival_port_id' ו-' משויך ליציאות_יציאות' חייבים להיות זהים. 4. אם תספקו את הנתון הזה בהתאם לביקוש למוצר, זמן ההובלה המקסימלי צריך להיות ארוך יותר ממשך הזמן הכולל של הנתיב או שווה לו.

VesselServiceLegId

רגל בשירות כלי שיט יחיד בנתיב הביקוש לסחורות. לדוגמה, נניח שיש שני כלי שיט. הראשונה מורכבת משלוש רגל (באינדקס 0, 1 ו-2) והשתיים השניות (מאונדקסות 0 ו-1). בנוסף, המקטע הראשון של השירות הראשון מגיע לנמל היציאה של הקטע השני של השירות. נתיב סחורה שמורכב משלושת המזהים הבאים של כלי שיט: {vessel_service_index: 0, vessel_service_leg_index: 2} {vessel_service_index: 0, vessel_service_leg_index: 0} {vessel_service_index: 1, legssel_service_index וגם 1, leg_service_index

שדות
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>

עלויות שנצברו בזמן הקריאה לנמל הזה, שממופות על ידי מזהה מחלקה של כלי השיט. מחלקה של כלי שיט יכולה לקרוא לנמל הזה רק אם יש לו ערך במפה הזו.

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

מספר כלי השיט ברמה של כלי השיט.

VesselService

שירות כלי שיט שניתן להשתמש בו כדי לענות על ביקושי סחורות. חשוב: ההנחה הנוכחית היא שהשירותים פועלים בתדירות שבועית וזמני השהייה של יציאות לא יכולים לחרוג משבוע אחד. נבחן את הרצף הבא של vessel_service_legs: 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_user_id: "1 leg_candidate_time origin}

שדות
vessel_class_id

string

מזהה מחלקה של כלי שיט שמבצע את השירות.

vessel_service_legs[]

VesselServiceLeg

אם מדובר בכלי שיט חוקי, המאפיינים הבאים כוללים: 1. אי אפשר להשאיר את השדה ריק. 2. destination_port_id ו-origin_port_id של מילות מפתח רציפות (כולל עבור הרגליים האחרונים והרגליים הראשונות) חייבים להיות זהים.

VesselServiceLeg

רגל אחת של כלי שיט.

שדות
leg_candidate_id

string

הוקצה מזהה של מועמד רגל.

origin_departure_time

ScheduleTime

שעת היציאה בנמל המוצא לפי לוח זמנים שבועי.

destination_arrival_time

ScheduleTime

שעת ההגעה לנמל היעד לפי לוח זמנים שבועי.