پاسخ پس از حل یک مشکل بهینه سازی تور شامل مسیرهایی که هر وسیله نقلیه دنبال می کند، محموله هایی که نادیده گرفته شده اند و هزینه کلی راه حل.
نمایندگی 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 | هزینه کل راه حل مجموع تمام مقادیر در نقشه هزینه ها. |