پاسخ پس از حل یک مشکل بهینه سازی تور شامل مسیرهایی که هر وسیله نقلیه دنبال می کند، محموله هایی که نادیده گرفته شده اند و هزینه کلی راه حل.
نمایندگی JSON |
---|
{ "routes": [ { object ( |
زمینه های | |
---|---|
routes[] | مسیرهای محاسبه شده برای هر وسیله نقلیه؛ مسیر i-ام مربوط به i-امین وسیله نقلیه در مدل است. |
requestLabel | کپی |
skippedShipments[] | لیست تمام محمولههای نادیده گرفته شده |
validationErrors[] | فهرستی از تمام خطاهای اعتبار سنجی که توانستیم به طور مستقل شناسایی کنیم. توضیحات "MULTIPLE ERRORS" را برای پیام |
metrics | مدت زمان، مسافت و معیارهای استفاده برای این راه حل. |
OptimizeToursValidationError
خطایی را که هنگام اعتبارسنجی OptimizeToursRequest
با آن مواجه میشود، توصیف میکند.
نمایندگی JSON |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
زمینه های | |
---|---|
code | یک خطای اعتبارسنجی توسط جفت ( سایر فیلدها (در زیر) زمینه بیشتری را در مورد خطا ارائه می دهند. خطاهای چندگانه : هنگامی که چندین خطا وجود دارد، فرآیند اعتبارسنجی سعی می کند چندین مورد از آنها را خروجی دهد. بسیار شبیه یک کامپایلر، این یک فرآیند ناقص است. برخی از خطاهای اعتبارسنجی "کشنده" خواهند بود، به این معنی که کل فرآیند اعتبار سنجی را متوقف می کنند. این مورد برای خطاهای STABILITY : مرجع : لیستی از همه جفت ها (کد، نام):
|
displayName | نام نمایش خطا |
fields[] | زمینه خطا ممکن است شامل 0، 1 (بیشتر اوقات) یا بیشتر فیلد باشد. به عنوان مثال، مراجعه به وسیله نقلیه شماره 4 و اولین پیکاپ محموله شماره 2 را می توان به صورت زیر انجام داد:
البته توجه داشته باشید که کاردینالیته |
errorMessage | رشته قابل خواندن توسط انسان که خطا را توصیف می کند. یک نگاشت 1:1 بین پایداری : پایدار نیست: پیام خطای مرتبط با |
offendingValues | ممکن است حاوی مقدار(های) فیلد(ها) باشد. این همیشه در دسترس نیست. شما مطلقاً نباید به آن تکیه کنید و فقط برای اشکال زدایی مدل دستی از آن استفاده کنید. |
مرجع فیلد
زمینه ای را برای خطای اعتبارسنجی مشخص می کند. یک FieldReference
همیشه به یک فیلد معین در این فایل اشاره دارد و از همان ساختار سلسله مراتبی پیروی می کند. برای مثال، ممکن است عنصر شماره 2 از startTimeWindows
وسیله نقلیه شماره 5 را با استفاده از:
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 | اولین زمان شروع برای یک وسیله نقلیه دست دوم، که به عنوان حداقل برای همه وسایل نقلیه استفاده شده در مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثالها: |
latestVehicleEndTime | آخرین زمان پایان برای یک وسیله نقلیه دست دوم، که به عنوان حداکثر برای همه وسایل نقلیه استفاده شده از مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثالها: |
costs | هزینه راه حل، تفکیک شده بر اساس فیلدهای درخواست مربوط به هزینه. کلیدها مسیرهای اولیه هستند، نسبت به ورودی OptimizeToursRequest، به عنوان مثال "model.shipments.pickups.cost"، و مقادیر کل هزینه تولید شده توسط فیلد هزینه مربوطه هستند که در کل راه حل جمع می شوند. به عبارت دیگر، هزینهها ["model.shipments.picups.cost"] مجموع تمام هزینههای دریافت بیش از راهحل است. تمام هزینههای تعریفشده در مدل بهجز هزینههای مربوط به TransitionAttributes که از سال 2022/01 فقط به صورت تجمیع گزارش شدهاند، در اینجا به تفصیل گزارش میشوند. یک شی حاوی لیستی از |
totalCost | هزینه کل راه حل مجموع تمام مقادیر در نقشه هزینه ها. |