בדף הבא מופיעות טבלאות פרמטרים בסדר אלפביתי לרכיבים הבאים של 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[] |
map (key: integer, value: number) | עלויות נוספות שנובעות מכך שמשתמשים ברכב ספציפי למשלוח הזה. | |
costsPerVehicleIndices[] |
מערך של מספרים שלמים | אינדקסים של כלי רכב שהערכים costsPerVehicle חלים עליהם. |
|
deliveries[] |
מערך של אובייקטים (VisitRequest) |
חלופות למשלוח. | |
ignore |
בוליאני (true/false) |
אם הערך הוא true, המשלוח מתעלם ולא משמש לאופטימיזציה. |
|
label |
מחרוזת | תווית שהמשתמש מגדיר כדי לזהות את המשלוח, ומוחזרת בתגובה. | |
loadDemands |
map (key: string, value: 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 |
map (key: string, value: Load) |
חובה לציין את השינוי בעומס בביקור הזה (למשל, -1 כדי להוריד חבילה). | |
tags[] |
מערך של מחרוזות | תגים שמצורפים לבקשת הביקור הזו. הנתונים האלה משמשים לחישוב זמני הנסיעה בין הביקור הזה לביקורים אחרים באמצעות transitionAttributes. |
|
timeWindows[] |
מערך של אובייקטים (TimeWindow) |
חלונות הזמן המותרים להגעה לביקור הזה. | |
visitTypes[] |
מערך של מחרוזות | מחרוזות שמתארות את סוג הביקור (למשל, 'delivery' (משלוח), 'installation' (התקנה). משמש להחלת extraVisitDurationForVisitType מדגם הרכב. |
|
Vehicle(חלק מ- ShipmentModel) |
breakRule |
אובייקט (BreakRule) |
הגדרת כללים להפסקות (למשל, הפסקת צהריים חובה). |
costPerHour |
number | העלות לשעה של משך המסלול הכולל. | |
costPerKilometer |
number | עלות לכל קילומטר נסיעה. | |
costPerTraveledHour |
number | עלות לשעה בזמן שהרכב בתנועה. | |
endLocation |
אובייקט (LatLng) |
מיקום הסיום הגיאוגרפי כקואורדינטות של קו רוחב/אורך. | |
endTags[] |
מערך של מחרוזות | תגים שמגדירים את מצב הסיום של הרכב, ומשמשים למאפייני מעבר. | |
endTimeWindows[] |
מערך של אובייקטים (TimeWindow) |
החלונות המותרים לסיום המסלול של הרכב. | |
endWaypoint |
אובייקט (Waypoint) |
מיקום גיאוגרפי של נקודת הסיום באמצעות ציון דרך (קואורדינטות או מזהה מקום). | |
extraVisitDurationForVisitType |
map (key: string, value: Duration) | הוספת משך זמן נוסף לביקורים על סמך visitType. |
|
fixedCost |
number | עלות קבועה שחלה אם נעשה שימוש ברכב, ללא קשר למרחק או למשך הנסיעה. | |
ignore |
בוליאני (true/false) |
אם הערך הוא true, המערכת מתעלמת מהרכב ולא משתמשת בו לאופטימיזציה. |
|
label |
מחרוזת | תווית שהוגדרה על ידי המשתמש לרכב, שמוחזרת בתגובה. | |
loadLimits |
map (key: string, value: 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 |
map (key: string, value: number) | פירוט העלויות לפי סוג (למשל: "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
earliestVehicleStartTime |
חותמת זמן | שעת ההתחלה המוקדמת ביותר מבין כל כלי הרכב שהיו בשימוש. | |
latestVehicleEndTime |
חותמת זמן | שעת הסיום האחרונה מבין כל כלי הרכב שהיו בשימוש. | |
skippedMandatoryShipmentCount |
מספר שלם | מספר המשלוחים שהמערכת דילגה עליהם. | |
totalCost |
number | העלות הכוללת של הפתרון, שכוללת את כל העלויות של המסלולים ואת הקנסות על משלוחים שנדחו. | |
usedVehicleCount |
מספר שלם | מספר כלי הרכב שנעשה בהם שימוש בפתרון. | |
AggregatedMetrics(Part of Metrics and ShipmentRoute) |
breakDuration |
משך הזמן | משך ההפסקות הכולל בכל המסלולים. |
costs |
map (key: string, value: number) | פירוט העלויות לפי סוג (למשל: "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
delayDuration |
משך הזמן | משך העיכוב הכולל בכל המסלולים. | |
earliestVehicleStartTime |
חותמת זמן | שעת ההתחלה המוקדמת ביותר מבין כל כלי הרכב שהיו בשימוש. | |
latestVehicleEndTime |
חותמת זמן | שעת הסיום האחרונה מבין כל כלי הרכב שהיו בשימוש. | |
maxLoads |
map (key: string, value: VehicleLoad) |
המטען המקסימלי שכל כלי רכב יכול לשאת בכל נקודה בפתרון, עם מפתח לפי סוג המטען. | |
performedShipmentCount |
מספר שלם | המספר הכולל של המשלוחים שבוצעו בכל כלי הרכב. | |
skippedMandatoryShipmentCount |
מספר שלם | מספר המשלוחים שהמערכת דילגה עליהם. | |
totalCost |
number | העלות הכוללת של הפתרון, שכוללת את כל העלויות של המסלולים ואת הקנסות על משלוחים שנדחו. | |
totalDuration |
משך הזמן | המשך הכולל של כל המסלולים (נסיעה + המתנה + עיכוב + הפסקה + ביקור). | |
travelDistanceMeters |
number | מרחק הנסיעה הכולל במטרים בכל המסלולים. | |
travelDuration |
משך הזמן | משך הנסיעה הכולל בכל המסלולים. | |
usedVehicleCount |
מספר שלם | מספר כלי הרכב שנעשה בהם שימוש בפתרון. | |
visitDuration |
משך הזמן | משך הזמן הכולל שחלף במהלך הביקורים (טעינה/פריקה) בכל המסלולים. | |
waitDuration |
משך הזמן | משך ההמתנה הכולל בכל המסלולים. | |
ShipmentRoute(חלק מ- OptimizeToursResponse) |
breaks[] |
מערך של אובייקטים (Break) |
רשימה של הפסקות שהרכב ביצע במהלך המסלול. |
hasTrafficInfeasibilities |
בוליאני (true/false) |
מציין אם יש במסלול בעיות שקשורות לתנועה. | |
metrics |
אובייקט (AggregatedMetrics) |
מדדים ספציפיים למסלול הזה, כמו המרחק הכולל ומשך הנסיעה. | |
routeCosts |
map (key: string, value: number) | פירוט העלויות של המסלול הזה. המפתחות הם סוגי עלויות (למשל, '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 |
map (key: string, value: 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 |
map (key: string, value: VehicleLoad) |
המטען שהרכב נושא במהלך המעבר הזה, עם מפתח לפי סוג המטען (למשל: "weight"). | |
waitDuration |
משך הזמן | משך הזמן שחלף בין הביקור הקודם לביקור הנוכחי. |