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

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