בדף הבא מופיעות טבלאות של פרמטרים בסדר אלפביתי, לרכיבים הבאים של ה-method optimizeTours ב-Route Optimization API:
בטבלאות הפרמטרים האלה מפורטים רק האובייקטים ברמה העליונה והפרמטרים העיקריים, ומופיע תיאור קצר שלהם, כדי שיהיה קל למצוא אותם. רשימה מקיפה עם תיאורים מלאים וכל הפרמטרים בתצוגת עץ מופיעה במאמרי העזרה של ה-API.
גוף הבקשה
גוף הבקשה כולל את הרכיבים הבאים, שמופיעים בתרשים משמאל ומפורטים בטבלה שלמטה:
-
OptimizeToursRequest: אובייקט הבקשה ברמה העליונה שמכיל את המודל ואת הפרמטרים לפתרון.ShipmentModel: מבנה הנתונים העיקרי שמכיל משלוחים, כלי רכב ואילוצים גלובליים.-
Shipment: משימה עם איסופים ומשלוחים.-
VisitRequest: המיקום והאילוצים של איסוף או מסירה.
-
-
Vehicle: כלי רכב שזמין לביצוע משלוחים.
-
| הורה | פרמטר | סוג הנכס | תיאור |
|---|---|---|---|
OptimizeToursRequest |
allowLargeDeadlineDespiteInterruptionRisk |
בוליאני (true/false) |
אם true, הבקשה מעובדת גם אם הזמן הקצוב לתפוגה מוגדר לערך גדול (יותר מ-30 דקות) שעלול לגרום להפרעות בשרת. |
considerRoadTraffic |
בוליאני (true/false) |
אם הערך הוא true, המערכת משתמשת בנתוני תנועה לצורך ניתוב. אם הערך הוא false, המערכת משתמשת רק במהירויות של רשת הכבישים. |
|
geodesicMetersPerSecond |
number | כשהערך של useGeodesicDistances הוא true, המהירות הזו משמשת לחישוב זמני הנסיעה. |
|
injectedFirstSolutionRoutes[] |
מערך של אובייקטים (ShipmentRoute) |
מסלולים מפתרון קודם שמהם מתחילה האופטימיזציה. | |
injectedSolutionConstraint |
אובייקט (InjectedSolutionConstraint) |
מגביל את הפתרון כך שיהיה דומה למסלולים קיימים, ומציין אילו מאפיינים צריך לשמר ואילו אפשר לשנות. | |
interpretInjectedSolutionsUsingLabels |
בוליאני (true/false) |
אם הערך הוא true, המערכת מתאימה בין משלוחים או כלי רכב במסלולים שהוחדרו לפי label במקום לפי אינדקס המערך. |
|
label |
מחרוזת | תווית שרירותית לזיהוי הבקשה, שמוחזרת בתגובה. | |
maxValidationErrors |
מספר שלם | מציינת את המספר המקסימלי של שגיאות אימות שיוחזרו. אם לא מצוין ערך, חלה מגבלת ברירת המחדל. | |
model |
אובייקט (ShipmentModel) |
חובה. קבוצת כלי הרכב והמשלוחים שצריך לבצע להם אופטימיזציה. | |
populatePolylines |
בוליאני (true/false) |
אם הערך הוא true, הפונקציה מחזירה קווים פוליגוניים מקודדים של מסלולים. |
|
populateTransitionPolylines |
בוליאני (true/false) |
אם הערך הוא true, המערכת מחזירה קווים פוליגוניים מקודדים למעברים ספציפיים בין ביקורים. |
|
refreshDetailsRoutes[] |
מערך של אובייקטים (ShipmentRoute) |
רשימת המסלולים שצריך לרענן. הפעולה הזו מחשבת מחדש את הקווים הפוליגוניים, משכי הזמן והמרחקים של המסלולים הקיימים בלי לשנות את רצף הביקורים. | |
searchMode |
enum (SearchMode) |
RETURN_FAST (תוצאות מהירות) או CONSUME_ALL_AVAILABLE_TIME (האיכות הטובה ביותר בתוך פרק הזמן הקצוב). |
|
solvingMode |
enum (SolvingMode) |
DEFAULT_SOLVE (ברירת המחדל) או VALIDATE_ONLY כדי לאמת את המודל בלי לפתור אותו. |
|
timeout |
משך הזמן | משך הזמן המקסימלי שהפותר צריך לפעול (למשל, "30s", "300s"). | |
useGeodesicDistances |
בוליאני (true/false) |
אם הערך הוא true, זמני הנסיעה והמרחקים מחושבים לפי מרחקים גיאודזיים (בקו ישר) והמהירות של geodesicMetersPerSecond. |
|
ShipmentModel(חלק מ- OptimizeToursRequest) |
durationDistanceMatrices[] |
מערך של אובייקטים (DurationDistanceMatrix) |
מציינת מטריצות מותאמות אישית של משך זמן ומרחק שמשמשות לניתוב בין מיקומים. |
durationDistanceMatrixDstTags[] |
מערך של מחרוזות | תגים שמגדירים את היעדים (עמודות) למטריצות של משך הזמן ומטריצות המרחקים בהתאמה אישית. | |
durationDistanceMatrixSrcTags[] |
מערך של מחרוזות | תגים שמגדירים את המקורות (שורות) למטריצות של משך הזמן ומטריצות מרחקים בהתאמה אישית. | |
globalDurationCostPerHour |
number | העלות לשעה של משך הזמן הכולל של המסלול, מהשעה המוקדמת ביותר שבה הרכב מתחיל את המסלול ועד לשעה המאוחרת ביותר שבה הרכב מסיים את המסלול. | |
globalEndTime |
חותמת זמן | שעת הסיום האחרונה של אירוע כלשהו במודל. | |
globalStartTime |
חותמת זמן | שעת ההתחלה המוקדמת ביותר של אירוע כלשהו במודל. | |
maxActiveVehicles |
מספר שלם | מספר כלי הרכב המקסימלי שמותר להפעיל בפתרון. | |
precedenceRules[] |
מערך של אובייקטים (PrecedenceRule) |
כללים שמגדירים אילוצים על סדר המשלוחים בין משלוחים ספציפיים. | |
shipments[] |
מערך של אובייקטים (Shipment) |
רשימת המשלוחים שצריך לטפל בהם. | |
shipmentTypeIncompatibilities[] |
מערך של אובייקטים (ShipmentTypeIncompatibility) |
כללים שמונעים שירות של משלוחים מסוגים מסוימים על ידי אותו רכב. | |
shipmentTypeRequirements[] |
מערך של אובייקטים (ShipmentTypeRequirement) |
כללים שמחייבים שמשלוחים מסוגים מסוימים יטופלו על ידי אותו רכב. | |
transitionAttributes[] |
מערך של אובייקטים (TransitionAttributes) |
מציין עלויות נוספות, עיכובים ומגבלות מרחק למעברים בין ביקורים עם תגים ספציפיים. | |
vehicles[] |
מערך של אובייקטים (Vehicle) |
רשימת כלי הרכב שזמינים לביצוע המשלוחים. | |
Shipment(חלק מ- ShipmentModel) |
allowedVehicleIndices[] |
מערך של מספרים שלמים | אינדקסים של כלי רכב שמורשים לבצע את המשלוח הזה. |
costsPerVehicle[] |
מפה (מפתח: מספר שלם, ערך: מספר) | עלויות נוספות שחלות אם רכב ספציפי מבצע את המשלוח הזה. | |
costsPerVehicleIndices[] |
מערך של מספרים שלמים | אינדקסים של כלי רכב שהערכים של costsPerVehicle חלים עליהם. |
|
deliveries[] |
מערך של אובייקטים (VisitRequest) |
חלופות למסירת המשלוח. | |
ignore |
בוליאני (true/false) |
אם הערך הוא true, המערכת מתעלמת מהמשלוח ולא משתמשת בו באופטימיזציה. |
|
label |
מחרוזת | תווית שהמשתמש מגדיר כדי לזהות את המשלוח, שמוחזרת בתגובה. | |
loadDemands |
מפה (מפתח: מחרוזת, ערך: Load) |
הקיבולת הנדרשת (למשל, משקל, נפח) כדי לשאת את המשלוח הזה. | |
penaltyCost |
number | העלות אם המשלוח לא מטופל. אם לא מגדירים את השדה, המשלוח הוא חובה. | |
pickups[] |
מערך של אובייקטים (VisitRequest) |
חלופות לאיסוף המשלוח. | |
pickupToDeliveryAbsoluteDetourLimit |
משך הזמן | זמן העיקוף המוחלט המקסימלי שמותר בין האיסוף למסירה בהשוואה למסלול הישיר. | |
pickupToDeliveryRelativeDetourLimit |
number | העיקוף היחסי המקסימלי שמותר למשלוח (לדוגמה, ערך של 2.0 אומר שהזמן הכולל יכול להיות לכל היותר פי 2 מזמן הנסיעה הישירה). | |
pickupToDeliveryTimeLimit |
משך הזמן | משך הזמן המקסימלי המותר מתחילת האיסוף ועד לתחילת המסירה. | |
shipmentType |
מחרוזת | סיווג גופנים שמשמש לכללי אי-תאימות ודרישות. | |
VisitRequest(רכיב של pickups ו-deliveries ב-Shipment) |
arrivalLocation |
אובייקט (LatLng) |
המיקום הגיאוגרפי של ההגעה, בקואורדינטות של קו רוחב/קו אורך. |
arrivalWaypoint |
אובייקט (Waypoint) |
המיקום שאליו הרכב מגיע כדי לבצע את הביקור. מוגדר לפי קואורדינטות או מזהה מקום. | |
cost |
number | העלות שתיגרם אם בקשת הביקור הספציפית הזו תיבחר על ידי הפותר. | |
departureLocation |
אובייקט (LatLng) |
המיקום הגיאוגרפי של נקודת המוצא, בקואורדינטות של קו רוחב/קו אורך. | |
departureWaypoint |
אובייקט (Waypoint) |
המיקום שממנו הרכב יוצא אחרי סיום הביקור. אם משמיטים את הפרמטר הזה, המערכת מניחה שהוא זהה ל-arrivalWaypoint. |
|
duration |
משך הזמן | משך הביקור (זמן השירות), למשל כמה זמן נמשכת הטעינה או הפריקה. | |
label |
מחרוזת | תווית שהמשתמש הגדיר לבקשת הביקור הספציפית הזו, שמוחזרת בתגובה. | |
loadDemands |
מפה (מפתח: מחרוזת, ערך: Load) |
דרישות שמציינות את השינוי בעומס בביקור הזה (למשל, -1 כדי להוריד חבילה). | |
tags[] |
מערך של מחרוזות | תגים שמצורפים לבקשת הביקור הזו. הנתונים האלה משמשים לחישוב זמני הנסיעה בין הביקור הזה לביקורים אחרים באמצעות transitionAttributes. |
|
timeWindows[] |
מערך של אובייקטים (TimeWindow) |
חלונות הזמן המותרים להגעה לביקור הזה. | |
visitTypes[] |
מערך של מחרוזות | מחרוזות שמתארות את סוג הביקור (למשל, "משלוח", "התקנה"). משמש להחלת extraVisitDurationForVisitType מהמודל של הרכב. |
|
Vehicle(חלק מ- ShipmentModel) |
breakRule |
אובייקט (BreakRule) |
הגדרת כללים להפסקות (למשל, הפסקת צהריים חובה). |
costPerHour |
number | עלות לשעה של משך המסלול הכולל. | |
costPerKilometer |
number | עלות לקילומטר נסיעה. | |
costPerTraveledHour |
number | עלות לשעה כשהרכב בתנועה. | |
endLocation |
אובייקט (LatLng) |
המיקום הגיאוגרפי של נקודת הסיום כקואורדינטות של קו רוחב/אורך. | |
endTags[] |
מערך של מחרוזות | תגים שמגדירים את המצב הסופי של הרכב, שמשמשים למאפייני מעבר. | |
endTimeWindows[] |
מערך של אובייקטים (TimeWindow) |
חלונות הזמן המותרים לסיום המסלול של הרכב. | |
endWaypoint |
אובייקט (Waypoint) |
מיקום הסיום הגיאוגרפי באמצעות נקודת ציון (קואורדינטות או מזהה מקום). | |
extraVisitDurationForVisitType |
מפה (מפתח: מחרוזת, ערך: משך זמן) | הוספת משך זמן לביקורים על סמך visitType. |
|
fixedCost |
number | עלות קבועה שחלה אם משתמשים ברכב, בלי קשר למרחק או למשך המסלול. | |
ignore |
בוליאני (true/false) |
אם הערך הוא true, המערכת מתעלמת מהרכב ולא משתמשת בו לאופטימיזציה. |
|
label |
מחרוזת | תווית שהמשתמש הגדיר לרכב, שמוחזרת בתגובה. | |
loadLimits |
מפה (מפתח: מחרוזת, ערך: LoadLimit) |
קיבולת הרכב (למשל, משקל מקסימלי, נפח מקסימלי). | |
routeDistanceLimit |
אובייקט (DistanceLimit) |
מגבלה קשיחה או גמישה על המרחק הכולל של מסלול הרכב. | |
routeDurationLimit |
אובייקט (DurationLimit) |
מגבלה קשיחה או גמישה על משך הזמן הכולל של מסלול הרכב. | |
routeModifiers |
אובייקט (RouteModifiers) |
אילוץ אחד או יותר, כמו הימנעות מכבישי אגרה, מכבישים מהירים או ממעבורות. | |
startLocation |
אובייקט (LatLng) |
המיקום הגיאוגרפי של נקודת ההתחלה כקואורדינטות של קו רוחב/אורך. | |
startTags[] |
מערך של מחרוזות | תגים שמגדירים את מצב ההתחלה של הרכב, שמשמשים למאפייני מעבר. | |
startTimeWindows[] |
מערך של אובייקטים (TimeWindow) |
חלונות הזמן שבהם הרכב יכול להתחיל את המסלול. | |
startWaypoint |
אובייקט (Waypoint) |
מיקום התחלה גיאוגרפי באמצעות נקודת ציון (קואורדינטות או מזהה מקום). | |
travelDurationLimit |
אובייקט (DurationLimit) |
מגבלה קשיחה או גמישה על משך הנסיעה הכולל של הרכב (לא כולל זמן המתנה או שירות). | |
travelDurationMultiple |
number | מכפיל שמוחל על זמני הנסיעה (לדוגמה, 1.5 מאט את הנסיעה ב-50%). | |
travelMode |
enum (TravelMode) |
אמצעי התחבורה (למשל, DRIVING, WALKING). משפיע על זמני ההגעה והמרחקים. |
|
unloadingPolicy |
enum (UnloadingPolicy) |
מגדיר את סדר הפריקה (למשל, LIFO או LAST_IN_FIRST_OUT). |
|
usedIfRouteIsEmpty |
בוליאני (true/false) |
אם true, הרכב נחשב בשימוש גם בלי משלוחים. הוא כרוך בעלויות קבועות ונוסע בין מיקום ההתחלה למיקום הסיום שלו. |
גוף התשובה
גוף התשובה כולל את הרכיבים הבאים, שמוצגים בתרשים משמאל ומפורטים בטבלה שלמטה:
-
OptimizeToursResponse: אובייקט התגובה ברמה העליונה שמכיל את המסלולים והמדדים שעברו אופטימיזציה.-
Metrics: העלות הכוללת ונתוני הביצוע של הפתרון. -
ShipmentRoute: רצף הביקורים ומסלול הנסיעה שהוקצו לרכב אחד.-
Visit: עצירה במסלול כדי לאסוף או למסור חבילה. -
Transition: מסלול הנסיעה ומשך הנסיעה בין שתי תחנות במסלול. -
AggregatedMetrics: הסכומים הכוללים של משך הזמן, המרחק ומדדים אחרים. הרכיב הזה יכול להופיע גם ב-Metricsוגם ב-ShipmentRoute.
-
-
| הורה | פרמטר | סוג הנכס | תיאור |
|---|---|---|---|
OptimizeToursResponse |
metrics |
אובייקט (Metrics) |
מדדים נצברים של הפתרון, כולל העלות הכוללת, המרחק הכולל, משך הזמן הכולל ומספר השימושים ברכב. |
requestLabel |
מחרוזת | התווית שהועתקה מהשדה label של הבקשה. משמש כדי לקשר בין התגובה לבקשה המקורית. |
|
routes[] |
מערך של אובייקטים (ShipmentRoute) |
רשימת המסלולים שחושבו לכל רכב. מכילה רשומה לכל רכב, ללא קשר לשימוש. | |
skippedShipments[] |
מערך של אובייקטים (SkippedShipment) |
רשימת המשלוחים שדילגו עליהם (לא טופלו), והסיבות לכך. | |
validationErrors[] |
מערך של אובייקטים (OptimizeToursValidationError) |
רשימה של שגיאות אימות שנמצאו במודל הקלט. השדה הזה מאוכלס אם הערך של solvingMode הוגדר כ-VALIDATE_ONLY, או אם אירעו שגיאות במהלך הפתרון. |
|
Metrics(חלק מ- OptimizeToursResponse) |
aggregatedRouteMetrics |
אובייקט (AggregatedMetrics) |
נתונים סטטיסטיים מצטברים בכל המסלולים, כמו מרחק הנסיעה הכולל, משך הזמן הכולל וזמני ההמתנה. |
costs |
מפה (מפתח: מחרוזת, ערך: מספר) | פירוט של העלויות לפי סוג (למשל, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
earliestVehicleStartTime |
חותמת זמן | שעת ההתחלה המוקדמת ביותר מבין כל כלי הרכב שנעשה בהם שימוש. | |
latestVehicleEndTime |
חותמת זמן | שעת הסיום המאוחרת ביותר מבין כל כלי הרכב שנעשה בהם שימוש. | |
skippedMandatoryShipmentCount |
מספר שלם | מספר המשלוחים החובה שהמערכת דילגה עליהם. | |
totalCost |
number | העלות הכוללת של הפתרון, שכוללת את כל עלויות המסלולים והקנסות על משלוחים שדילגו עליהם. | |
usedVehicleCount |
מספר שלם | מספר כלי הרכב שנעשה בהם שימוש בפתרון. | |
AggregatedMetrics(חלק מ- Metrics ומ-ShipmentRoute) |
breakDuration |
משך הזמן | משך הזמן הכולל של ההפסקות בכל המסלולים. |
costs |
מפה (מפתח: מחרוזת, ערך: מספר) | פירוט של העלויות לפי סוג (למשל, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
delayDuration |
משך הזמן | משך העיכוב הכולל בכל המסלולים. | |
earliestVehicleStartTime |
חותמת זמן | שעת ההתחלה המוקדמת ביותר מבין כל כלי הרכב שנעשה בהם שימוש. | |
latestVehicleEndTime |
חותמת זמן | שעת הסיום המאוחרת ביותר מבין כל כלי הרכב שנעשה בהם שימוש. | |
maxLoads |
מפה (מפתח: מחרוזת, ערך: VehicleLoad) |
העומס המקסימלי שרכב כלשהו נושא בכל נקודה בפתרון, לפי סוג העומס. | |
performedShipmentCount |
מספר שלם | המספר הכולל של המשלוחים שבוצעו בכל כלי הרכב. | |
skippedMandatoryShipmentCount |
מספר שלם | מספר המשלוחים החובה שהמערכת דילגה עליהם. | |
totalCost |
number | העלות הכוללת של הפתרון, שכוללת את כל עלויות המסלולים והקנסות על משלוחים שדילגו עליהם. | |
totalDuration |
משך הזמן | משך הזמן הכולל של כל המסלולים (נסיעה + המתנה + עיכוב + הפסקה + ביקור). | |
travelDistanceMeters |
number | מרחק הנסיעה הכולל במטרים בכל המסלולים. | |
travelDuration |
משך הזמן | משך הנסיעה הכולל בכל המסלולים. | |
usedVehicleCount |
מספר שלם | מספר כלי הרכב שנעשה בהם שימוש בפתרון. | |
visitDuration |
משך הזמן | משך הזמן הכולל של הביקורים (טעינה/פריקה) בכל המסלולים. | |
waitDuration |
משך הזמן | משך ההמתנה הכולל בכל המסלולים. | |
ShipmentRoute(חלק מ- OptimizeToursResponse) |
breaks[] |
מערך של אובייקטים (Break) |
רשימה של ההפסקות שהרכב עשה במהלך המסלול. |
hasTrafficInfeasibilities |
בוליאני (true/false) |
מציין אם יש במסלול בעיות שקשורות לתנועה. | |
metrics |
אובייקט (AggregatedMetrics) |
מדדים ספציפיים למסלול הזה, כמו המרחק הכולל ומשך הנסיעה. | |
routeCosts |
מפה (מפתח: מחרוזת, ערך: מספר) | פירוט העלויות במסלול הזה. המפתחות הם סוגי העלויות (למשל, cost_per_hour) והערכים הם הסכומים. | |
routePolyline |
אובייקט (EncodedPolyline) |
הקו הפוליגוני המקודד שמייצג את הנתיב המלא של המסלול מבחינה גיאוגרפית. | |
routeTotalCost |
number | העלות הכוללת של המסלול, סכום כל העלויות במפה routeCosts. |
|
transitions[] |
מערך של אובייקטים (Transition) |
רשימה מסודרת של מעברים (מקטעי נסיעה) שמחברים בין הביקורים. | |
vehicleEndTime |
חותמת זמן | השעה שבה הרכב מסיים את המסלול שלו. | |
vehicleIndex |
מספר שלם | האינדקס של הרכב במקור ShipmentModel שמבצע את המסלול הזה. |
|
vehicleLabel |
מחרוזת | התווית שהמשתמש הגדיר לרכב, שהועתקה ממודל הבקשה. | |
vehicleStartTime |
חותמת זמן | השעה שבה הרכב מתחיל את המסלול שלו. | |
visits[] |
מערך של אובייקטים (Visit) |
רצף הביקורים (איסופים ומשלוחים) שהרכב מבצע במסלול הזה. | |
Visit(חלק מ- ShipmentRoute) |
detour |
משך הזמן | זמן הנסיעה הנוסף שנדרש לביקור הזה בהשוואה למסלול הישיר בין הביקור הקודם לביקור הבא. |
isPickup |
בוליאני (true/false) |
אם הערך הוא true, הביקור הוא איסוף. אם הערך הוא False, מדובר במשלוח. |
|
loadDemands |
מפה (מפתח: מחרוזת, ערך: Load) |
דרישות העומס שנענו בביקור הזה (למשל, -1 למשלוח). זה עותק של דרישות העומס התואמות של VisitRequest. |
|
shipmentIndex |
מספר שלם | האינדקס של השדה Shipment במודל המקור שהביקור הזה משרת. |
|
shipmentLabel |
מחרוזת | התווית של המשלוח, שהועתקה מהשדה ShipmentModel. |
|
startTime |
חותמת זמן | השעה שבה הביקור אמור להתחיל. | |
visitLabel |
מחרוזת | התווית של בקשת הביקור, שהועתקה מהשדה VisitRequest במודל. |
|
visitRequestIndex |
מספר שלם | האינדקס של ה-VisitRequest ברשימת האיסוף או המסירה של המשלוח שהביקור הזה תואם לה. |
|
Transition(חלק מ- ShipmentRoute) |
breakDuration |
משך הזמן | משך ההפסקות במהלך המעבר הזה. |
delayDuration |
משך הזמן | משך העיכוב שנגרם במהלך המעבר הזה (למשל, הגעה מוקדמת והמתנה לחלון זמן). | |
routePolyline |
אובייקט (EncodedPolyline) |
הקו הפוליגוני המקודד שמייצג את המסלול של המעבר הספציפי הזה. | |
routeToken |
מחרוזת | אסימון אטום שאפשר להעביר ל-Google Navigation SDK כדי לשחזר את המסלול במהלך הניווט. | |
startTime |
חותמת זמן | שעת ההתחלה של המעבר הזה. | |
totalDuration |
משך הזמן | משך הזמן הכולל של המעבר, כולל נסיעה, המתנה, הפסקות ועיכובים. | |
trafficInfoUnavailable |
בוליאני (true/false) |
אם הערך הוא true, זה מציין שנתוני התנועה לא היו זמינים למעבר הזה. |
|
travelDistanceMeters |
number | המרחק שהרכב עבר במהלך המעבר הזה, במטרים. | |
travelDuration |
משך הזמן | משך הנסיעה במהלך המעבר הזה. | |
vehicleLoads |
מפה (מפתח: מחרוזת, ערך: VehicleLoad) |
העומס שהרכב נושא במהלך המעבר הזה, לפי סוג העומס (למשל, "משקל"). | |
waitDuration |
משך הזמן | משך ההמתנה לפני שאפשר להתחיל את הביקור הבא. |