پاسخ پس از حل یک مسئله بهینهسازی تور شامل مسیرهایی که هر وسیله نقلیه طی میکند، محمولههایی که از آنها صرف نظر شده است و هزینه کلی راهحل.
| نمایش JSON |
|---|
{ "routes": [ { object ( |
| فیلدها | |
|---|---|
routes[] | مسیرهای محاسبهشده برای هر وسیله نقلیه؛ مسیر iام مربوط به iام وسیله نقلیه در مدل است. |
requestLabel | کپی از |
skippedShipments[] | لیست تمام محمولهها از قلم افتاد. |
validationErrors[] | فهرست تمام خطاهای اعتبارسنجی که توانستیم بهطور مستقل تشخیص دهیم. برای پیام |
processedRequest | در برخی موارد، ما درخواست ورودی را قبل از حل آن اصلاح میکنیم، یعنی هزینهها را اضافه میکنیم. اگر solvingMode == TRANSFORM_AND_RETURN_REQUEST باشد، درخواست اصلاحشده در اینجا بازگردانده میشود. آزمایشی: برای جزئیات بیشتر به https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request مراجعه کنید. |
metrics | معیارهای مدت زمان، مسافت و میزان استفاده برای این راهکار. |
خطای اعتبارسنجی OptimizeTours
خطا یا هشداری را توصیف میکند که هنگام اعتبارسنجی یک OptimizeToursRequest با آن مواجه میشویم.
| نمایش JSON |
|---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
| فیلدها | |
|---|---|
code | یک خطای اعتبارسنجی توسط جفت ( فیلدهای بعد از این بخش، اطلاعات بیشتری در مورد خطا ارائه میدهند. خطاهای چندگانه : وقتی چندین خطا وجود دارد، فرآیند اعتبارسنجی سعی میکند چندین مورد از آنها را در خروجی نمایش دهد. دقیقاً مانند یک کامپایلر، این یک فرآیند ناقص است. برخی از خطاهای اعتبارسنجی "مهلک" خواهند بود، به این معنی که کل فرآیند اعتبارسنجی را متوقف میکنند. این مورد در مورد خطاهای پایداری : |
displayName | نام نمایش خطا. |
fields[] | یک زمینه خطا ممکن است شامل ۰، ۱ (بیشتر اوقات) یا فیلدهای بیشتری باشد. برای مثال، اشاره به وسیله نقلیه شماره ۴ و اولین برداشت محموله شماره ۲ میتواند به صورت زیر انجام شود: با این حال، توجه داشته باشید که تعداد |
errorMessage | رشتهای قابل خواندن توسط انسان که خطا را توصیف میکند. یک نگاشت ۱:۱ بین پایداری : پایدار نیست: پیام خطای مربوط به یک |
offendingValues | ممکن است شامل مقدار(های) فیلد(ها) باشد. این همیشه در دسترس نیست. شما مطلقاً نباید به آن تکیه کنید و فقط برای اشکالزدایی دستی مدل از آن استفاده کنید. |
فیلدرفرنس
زمینهای برای خطای اعتبارسنجی مشخص میکند. یک FieldReference همیشه به یک فیلد مشخص در این فایل اشاره میکند و از همان ساختار سلسله مراتبی پیروی میکند. برای مثال، میتوانیم عنصر شماره ۲ از startTimeWindows وسیله نقلیه شماره ۵ را با استفاده از موارد زیر مشخص کنیم:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
با این حال، ما موجودیتهای سطح بالا مانند OptimizeToursRequest یا ShipmentModel را حذف میکنیم تا از شلوغی پیام جلوگیری شود.
| نمایش JSON |
|---|
{ "name": string, "subField": { object ( |
| فیلدها | |
|---|---|
name | نام فیلد، مثلاً «وسایل نقلیه». |
subField | در صورت نیاز، زیرفیلد به صورت بازگشتی تو در تو. |
فیلد اتحادیه | |
index | فهرست فیلد در صورت تکرار. |
key | اگر فیلد نقشه است، کلید را بزنید. |
معیارها
معیارهای کلی، که در تمام مسیرها تجمیع شدهاند.
| نمایش JSON |
|---|
{
"aggregatedRouteMetrics": {
object ( |
| فیلدها | |
|---|---|
aggregatedRouteMetrics | روی مسیرها تجمیع شده است. هر معیار، مجموع (یا حداکثر، برای بارها) روی تمام فیلدهای |
skippedMandatoryShipmentCount | تعداد محمولههای اجباری که از آنها صرف نظر شده است. |
usedVehicleCount | تعداد وسایل نقلیه استفاده شده. توجه: اگر مسیر یک وسیله نقلیه خالی باشد و |
earliestVehicleStartTime | زودترین زمان شروع برای یک وسیله نقلیه دست دوم، که به عنوان حداقل زمان برای همه وسایل نقلیه دست دوم از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
latestVehicleEndTime | دیرترین زمان پایان برای یک وسیله نقلیه دست دوم، که به عنوان حداکثر زمان برای همه وسایل نقلیه دست دوم از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
costs | هزینه راهحل، تفکیکشده بر اساس فیلدهای درخواست مرتبط با هزینه. کلیدها مسیرهای اولیه، نسبت به ورودی OptimizeToursRequest هستند، مثلاً "model.shipments.pickups.cost"، و مقادیر، کل هزینه تولید شده توسط فیلد هزینه مربوطه هستند که در کل راهحل تجمیع شدهاند. به عبارت دیگر، costs["model.shipments.pickups.cost"] مجموع تمام هزینههای جمعآوری در راهحل است. تمام هزینههای تعریفشده در مدل در اینجا با جزئیات گزارش شدهاند، به استثنای هزینههای مربوط به TransitionAttributes که فقط از تاریخ 2022/01 به صورت تجمیعشده گزارش شدهاند. |
totalCost | هزینه کل راهحل. مجموع تمام مقادیر موجود در نقشه هزینهها. |