רשימת פרמטרים

בדף הבא מופיעות טבלאות פרמטרים בסדר אלפביתי לרכיבים הבאים של 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
(Part of OptimizeToursRequest)
durationDistanceMatrices[] מערך של אובייקטים (DurationDistanceMatrix) מציין מטריצות מותאמות אישית של משך זמן ומרחק שמשמשות לניתוב בין מיקומים.
durationDistanceMatrixDstTags[] מערך של מחרוזות תגים שמגדירים את יעדי הנסיעה (עמודות) של מטריצות המרחקים והמשך בהתאמה אישית.
durationDistanceMatrixSrcTags[] מערך של מחרוזות תגים שמגדירים את המקורות (שורות) של מטריצות המרחק והמשך בהתאמה אישית.
globalDurationCostPerHour number העלות לשעה של טווח הזמן הגלובלי של המסלול, מההתחלה המוקדמת ביותר של הרכב ועד הסיום המאוחר ביותר של הרכב.
globalEndTime חותמת זמן שעת הסיום האחרונה של אירוע כלשהו במודל.
globalStartTime חותמת זמן שעת ההתחלה המוקדמת ביותר של אירוע כלשהו במודל.
maxActiveVehicles מספר שלם מספר כלי הרכב המקסימלי שיכולים להיות פעילים בפתרון.
precedenceRules[] מערך של אובייקטים (PrecedenceRule) כללים שמגדירים אילוצים לגבי סדר המשלוחים בין משלוחים ספציפיים.
shipments[] מערך של אובייקטים (Shipment) רשימת המשלוחים שצריך לטפל בהם.
shipmentTypeIncompatibilities[] מערך של אובייקטים (ShipmentTypeIncompatibility) כללים שמונעים שינוע של סוגים מסוימים של משלוחים באותו כלי רכב.
shipmentTypeRequirements[] מערך של אובייקטים (ShipmentTypeRequirement) כללים שמחייבים שמשלוחים מסוגים מסוימים יטופלו על ידי אותו כלי רכב.
transitionAttributes[] מערך של אובייקטים (TransitionAttributes) מציין עלויות נוספות, עיכובים ומגבלות מרחק למעברים בין ביקורים עם תגים ספציפיים.
vehicles[] מערך של אובייקטים (Vehicle) רשימת כלי הרכב שזמינים לביצוע המשלוחים.
Shipment
(Part of 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[] מערך של מחרוזות מחרוזות שמתארות את סוג הביקור (למשל, 'משלוח', 'התקנה'). משמש להחלת extraVisitDurationForVisitType מדגם הרכב.
Vehicle
(Part of 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
(Part of 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
(חלק מ-Metrics ומ-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
(Part of 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
(Part of 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
(Part of ShipmentRoute)
breakDuration משך הזמן משך ההפסקות שנלקחו במהלך המעבר הזה.
delayDuration משך הזמן משך העיכוב שנוצר במהלך המעבר הזה (לדוגמה, הגעה מוקדמת והמתנה לחלון זמן).
routePolyline אובייקט (EncodedPolyline) קו פוליגון מקודד שמייצג את הנתיב של המעבר הספציפי הזה.
routeToken מחרוזת טוקן אטום שאפשר להעביר אל Google Navigation SDK כדי לשחזר את המסלול במהלך הניווט.
startTime חותמת זמן שעת ההתחלה של המעבר הזה.
totalDuration משך הזמן המשך הכולל של המעבר, כולל נסיעה, המתנה, הפסקות ועיכובים.
trafficInfoUnavailable בוליאני (true/false) אם הערך הוא true, המשמעות היא שנתוני התנועה לא היו זמינים למעבר הזה.
travelDistanceMeters number המרחק שעברתם במהלך המעבר הזה, במטרים.
travelDuration משך הזמן משך הנסיעה במהלך המעבר הזה.
vehicleLoads ‫map (key: string, value: VehicleLoad) העומס שהרכב נושא במהלך המעבר הזה, עם מפתח לפי סוג העומס (למשל, 'משקל').
waitDuration משך הזמן משך הזמן שחלף בין הביקור הקודם לביקור הבא.