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

בדף הבא מופיעות טבלאות פרמטרים בסדר אלפביתי לרכיבים הבאים של 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[] מערך של מחרוזות מחרוזות שמתארות את סוג הביקור (למשל, 'משלוח', 'התקנה'). משמש להחלת 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
(חלק מ-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
(חלק מ-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) המטען שהרכב נושא במהלך המעבר הזה, עם מפתח לפי סוג המטען (למשל, 'משקל').
waitDuration משך הזמן משך הזמן שחלף בין הביקור הקודם לביקור הבא.