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

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