فهرست پارامتر

صفحه زیر حاوی جدول‌های پارامتر به‌ترتیب حروف الفبا برای مؤلفه‌های زیر از روش optimizeTours در Route Optimization API است:

این جدول‌های پارامتر فقط اشیای سطح بالا و پارامترهای اصلی را برای سهولت در یافتن فهرست می‌کنند و به‌طور خلاصه شرح می‌دهند. برای فهرست کامل با توضیحات کامل و همه پارامترهای تودرتو، به سند مرجع API مراجعه کنید.

متن درخواست

ساختار داده‌های متن درخواست.

بدنه درخواست شامل عناصر زیر است که در نمودار سمت راست نشان داده شده و در جدول زیر فهرست شده است:

  • OptimizeToursRequest: شیء درخواست سطح بالا که حاوی مدل و پارامترهای حل است.
    • ‫ShipmentModel: ساختار داده اصلی حاوی محموله‌ها، وسایل نقلیه، و محدودیت‌های جهانی.
      • ‫Shipment: تکلیفی با تحویل و ارسال.
        • ‫VisitRequest: مکان و محدودیت‌های تحویل گرفتن یا تحویل دادن.
      • ‫Vehicle: وسیله نقلیه‌ای که برای انجام ارسال‌ها دردسترس است.
والدین پارامتر نوع ملک شرح
OptimizeToursRequest allowLargeDeadlineDespiteInterruptionRisk بولی (true/false) اگر true، درخواست پردازش می‌شود حتی اگر زمان استراحت روی مقدار بزرگی (بیشتر از ۳۰ دقیقه) تنظیم شده باشد که خطر اختلال احتمالی سرور را به‌همراه دارد.
considerRoadTraffic بولی (true/false) اگر true، از داده‌های ترافیک برای مسیریابی استفاده می‌کند. اگر نادرست باشد، فقط از سرعت شبکه جاده‌ای استفاده می‌کند.
geodesicMetersPerSecond شماره وقتی useGeodesicDistances درست باشد، از این سرعت برای محاسبه مدت سفر استفاده می‌شود.
injectedFirstSolutionRoutes[] آرایه اشیا (ShipmentRoute) مسیرهای راه‌حل قبلی برای شروع بهینه‌سازی از آن.
injectedSolutionConstraint شیء (InjectedSolutionConstraint) راه‌حل را محدود می‌کند تا شبیه به مسیرهای موجود باشد، و مشخص می‌کند کدام ویژگی‌ها باید حفظ شوند و کدام‌یک می‌توانند کاهش یابند.
interpretInjectedSolutionsUsingLabels بولی (true/false) اگر true، محموله‌ها/خودروها را در مسیرهای تزریق‌شده براساس label آن‌ها به‌جای نمایه آرایه مطابقت می‌دهد.
label رشته برچسب دلخواه برای شناسایی درخواست، که در پاسخ برگردانده می‌شود.
maxValidationErrors عدد صحیح حداکثر تعداد خطاهای اعتبارسنجی را برای برگرداندن مشخص می‌کند. اگر مشخص نشده باشد، محدودیت پیش‌فرض اعمال می‌شود.
model شیء (ShipmentModel) الزامی. مجموعه خودروها و محموله‌هایی که باید بهینه‌سازی شوند.
populatePolylines بولی (true/false) اگر true باشد، چندخطی‌های کدگذاری‌شده را برای مسیرها برمی‌گرداند.
populateTransitionPolylines بولی (true/false) اگر true باشد، چندخطی‌های کدگذاری‌شده را برای انتقال‌های تکی بین بازدیدها برمی‌گرداند.
refreshDetailsRoutes[] آرایه اشیا (ShipmentRoute) فهرستی از مسیرها برای بازآوری. این کار چندخطی‌ها، مدت‌ها، و فاصله‌ها را برای مسیرهای موجود بدون تغییر دادن توالی بازدید دوباره محاسبه می‌کند.
searchMode شمارشی (SearchMode) RETURN_FAST (نتایج سریع) یا CONSUME_ALL_AVAILABLE_TIME (بهترین کیفیت در زمان وقفه).
solvingMode شمارشی (SolvingMode) DEFAULT_SOLVE (پیش‌فرض) یا VALIDATE_ONLY برای اعتبارسنجی مدل بدون حل کردن.
timeout مدت حداکثر مدت زمانی که حل‌کننده باید اجرا شود (مثلاً «۳۰ ثانیه»، «۳۰۰ ثانیه»).
useGeodesicDistances بولی (true/false) اگر true، مسافت‌ها و زمان‌های سفر بااستفاده از مسافت‌های ژئودزیک (خط مستقیم) و سرعت geodesicMetersPerSecond محاسبه می‌شود.
‫ShipmentModel
(بخشی از OptimizeToursRequest)
durationDistanceMatrices[] آرایه اشیا (DurationDistanceMatrix) ماتریس‌های سفارشی مدت و فاصله را که برای مسیریابی بین مکان‌ها استفاده می‌شود مشخص می‌کند.
durationDistanceMatrixDstTags[] آرایه رشته‌ها برچسب‌هایی که مقصدها (ستون‌ها) را برای ماتریس‌های مدت و مسافت سفارشی تعریف می‌کنند.
durationDistanceMatrixSrcTags[] آرایه رشته‌ها برچسب‌هایی که منابع (ردیف‌ها) را برای ماتریس‌های فاصله و مدت سفارشی تعریف می‌کنند.
globalDurationCostPerHour شماره هزینه ساعتی بازه زمانی جهانی مسیر، از زودترین شروع وسیله نقلیه تا دیرترین پایان وسیله نقلیه.
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 map (key: string, value: Load) ظرفیت موردنیاز (مثلاً وزن، حجم) برای حمل این محموله.
penaltyCost شماره هزینه درصورتی‌که ارسال کالا انجام نشود. اگر تنظیم نشده باشد، ارسال اجباری است.
pickups[] آرایه اشیا (VisitRequest) جایگزین‌هایی برای تحویل گرفتن محموله.
pickupToDeliveryAbsoluteDetourLimit مدت حداکثر زمان انحراف مطلق مجاز بین سوار کردن و رساندن درمقایسه با مسیر مستقیم.
pickupToDeliveryRelativeDetourLimit شماره حداکثر انحراف نسبی مجاز برای محموله (برای مثال، مقدار ۲٫۰ یعنی کل زمان می‌تواند حداکثر ۲ برابر مدت سفر مستقیم باشد).
pickupToDeliveryTimeLimit مدت حداکثر مدت مجاز از شروع تحویل گرفتن تا شروع تحویل دادن.
shipmentType رشته طبقه‌بندی نوع که برای قوانین ناسازگاری و الزامات استفاده می‌شود.
VisitRequest
(بخشی از pickups و deliveries در Shipment)
arrivalLocation شیء (LatLng) مکان جغرافیایی ورود به‌صورت مختصات عرض جغرافیایی/طول جغرافیایی.
arrivalWaypoint شیء (Waypoint) مکانی که خودرو برای انجام بازدید به آنجا می‌رسد. با مختصات یا شناسه مکان تعریف می‌شود.
cost شماره هزینه متحمل‌شده درصورت انتخاب این درخواست بازدید خاص توسط حل‌کننده.
departureLocation شیء (LatLng) مکان جغرافیایی عزیمت به‌صورت مختصات عرض جغرافیایی/طول جغرافیایی.
departureWaypoint شیء (Waypoint) مکانی که خودرو پس‌از تکمیل بازدید از آنجا حرکت می‌کند. اگر حذف شود، فرض می‌شود که همان arrivalWaypoint است.
duration مدت مدت بازدید (زمان سرویس)، مثلاً مدت زمان لازم برای بارگیری/ تخلیه بار.
label رشته برچسب تعریف‌شده توسط کاربر برای این درخواست بازدید خاص، که در پاسخ برگردانده شده است.
loadDemands map (key: string, value: Load) درخواست‌هایی که تغییر بار را در این بازدید مشخص می‌کنند (مثلاً، ۱- برای تحویل بسته).
tags[] آرایه رشته‌ها برچسب‌های پیوست‌شده به این درخواست بازدید. از این‌ها برای محاسبه مدت سفر بین این بازدید و بازدیدهای دیگر بااستفاده از transitionAttributes استفاده می‌شود.
timeWindows[] آرایه اشیا (TimeWindow) بازه زمانی مجاز برای رسیدن به این بازدید.
visitTypes[] آرایه رشته‌ها رشته‌هایی که نوع بازدید را توصیف می‌کنند (مثلاً «تحویل»، «نصب»). برای اعمال extraVisitDurationForVisitType از مدل خودرو استفاده می‌شود.
‫Vehicle
(بخشی از ShipmentModel)
breakRule شیء (BreakRule) قوانین مربوط به استراحت‌ها را تعریف می‌کند (مثلاً استراحت اجباری برای ناهار).
costPerHour شماره هزینه هر ساعت از کل مدت مسیر.
costPerKilometer شماره هزینه به‌ازای هر کیلومتر طی‌شده.
costPerTraveledHour شماره هزینه هر ساعت درحین حرکت خودرو.
endLocation شیء (LatLng) مکان جغرافیایی پایان به‌صورت مختصات عرض جغرافیایی/طول جغرافیایی.
endTags[] آرایه رشته‌ها برچسب‌هایی که وضعیت نهایی خودرو را تعریف می‌کنند و برای مشخصه‌های انتقال استفاده می‌شوند.
endTimeWindows[] آرایه اشیا (TimeWindow) پنجره‌های مجاز برای وسیله نقلیه برای پایان دادن به مسیر خود.
endWaypoint شیء (Waypoint) مکان جغرافیایی پایان بااستفاده از «نقطه‌مسیر» (مختصات یا شناسه مکان).
extraVisitDurationForVisitType map (key: string, value: Duration) مدت‌زمان بیشتری را براساس visitType به بازدیدها اضافه می‌کند.
fixedCost شماره هزینه ثابتی که درصورت استفاده از خودرو، صرف‌نظر از مسافت یا مدت مسیر، اعمال می‌شود.
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 شماره ضریب اعمال‌شده بر مدت سفر (مثلاً ۱٫۵ سفر را ۵۰٪ کندتر می‌کند).
travelMode شمارشی (TravelMode) حالت سفر (مثلاً DRIVING، WALKING). بر زمان و مسافت سفر تأثیر می‌گذارد.
unloadingPolicy شمارشی (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 شماره هزینه کل راه‌حل، مجموع همه هزینه‌های مسیر و جریمه‌های ارسال‌های نادیده‌گرفته‌شده.
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 شماره هزینه کل راه‌حل، مجموع همه هزینه‌های مسیر و جریمه‌های ارسال‌های نادیده‌گرفته‌شده.
totalDuration مدت مدت کل همه مسیرها (سفر + انتظار + تأخیر + استراحت + بازدید).
travelDistanceMeters شماره کل مسافت سفر به متر در همه مسیرها.
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 شماره کل هزینه مسیر، مجموع همه هزینه‌ها در نقشه routeCosts.
transitions[] آرایه اشیا (Transition) فهرست مرتب‌شده‌ای از انتقال‌ها (بخش‌های سفر) که بازدیدها را به‌هم متصل می‌کند.
vehicleEndTime مُهر زمان زمانی که خودرو مسیرش را به‌پایان می‌رساند.
vehicleIndex عدد صحیح نمایه خودرو در منبع ShipmentModel که این مسیر را انجام می‌دهد.
vehicleLabel رشته برچسب تعریف‌شده توسط کاربر برای خودرو، کپی‌شده از مدل درخواست.
vehicleStartTime مُهر زمان زمانی که خودرو مسیرش را شروع می‌کند.
visits[] آرایه اشیا (Visit) ترتیب منظم بازدیدها (تحویل گرفتن‌ها و تحویل دادن‌ها) که توسط خودرو در این مسیر انجام شده است.
‫Visit
(بخشی از ShipmentRoute)
detour مدت زمان انحراف اضافی ناشی از این بازدید در مقایسه با مسیر مستقیم بین بازدیدهای قبلی و بعدی.
isPickup بولی (true/false) اگر true باشد، این بازدید از نوع تحویل است. اگر نادرست باشد، تحویل است.
loadDemands map (key: string, value: Load) تقاضاهای بار که با این بازدید برآورده شده است (مثلاً -۱ برای تحویل). این نسخه‌ای از درخواست‌های بارگذاری 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 شماره مسافت طی‌شده درطول این انتقال، به متر.
travelDuration مدت مدت سفر درطول این انتقال.
vehicleLoads نقشه (کلید: رشته، مقدار: VehicleLoad) باری که خودرو درطول این انتقال حمل می‌کند، که با نوع بار (مثلاً «وزن») کلیدگذاری شده است.
waitDuration مدت مدت‌زمانی که باید منتظر بمانید تا بازدید بعدی شروع شود.