SkippedShipment

جزئیات محموله های انجام نشده را در یک راه حل مشخص می کند. برای موارد بی اهمیت و/یا اگر بتوانیم علت پرش را شناسایی کنیم، دلیل را در اینجا گزارش می کنیم.

نمایندگی JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ],
  "penaltyCost": number,
  "estimatedIncompatibleVehicleRatio": number
}
فیلدها
index

integer

این فهرست با نمایه محموله در مبدا ShipmentModel مطابقت دارد.

label

string

کپی مربوطه Shipment.label , در صورتی که در Shipment مشخص شده باشد .

reasons[]

object ( Reason )

فهرستی از دلایلی که توضیح می دهد چرا حمل و نقل نادیده گرفته شده است. نظر بالای Reason ببینید. اگر نتوانیم بفهمیم که چرا یک محموله نادیده گرفته شده است، دلایلی ارائه نخواهد شد.

penaltyCost

number

این یک کپی از Shipment.penalty_cost است که در اینجا گنجانده شده است تا تشخیص شدت یک محموله نادیده گرفته شود.

تجربی: رفتار یا وجود این رشته ممکن است در آینده تغییر کند.

estimatedIncompatibleVehicleRatio

number

نسبت تخمینی خودروهایی که حداقل به یکی از دلایل زیر نمی توانند این حمل و نقل را انجام دهند. توجه: این فقط زمانی پر می شود که دلایلی مربوط به وسیله نقلیه باشد.

تجربی: رفتار یا وجود این رشته ممکن است در آینده تغییر کند.

دلیل

اگر بتوانیم دلیل حذف محموله را توضیح دهیم، دلایل در اینجا ذکر می شود. اگر دلیل برای همه وسایل نقلیه یکسان نباشد، reason بیش از 1 عنصر خواهد داشت. یک محموله نادیده گرفته نمی‌تواند دلایل تکراری داشته باشد، یعنی جایی که همه فیلدها یکسان هستند به جز برای exampleVehicleIndex . مثال:

reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 1
  exampleExceededCapacityType: "Apples"
}
reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 3
  exampleExceededCapacityType: "Pears"
}
reasons {
  code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
  exampleVehicleIndex: 1
}

محموله حذف شده با همه وسایل نقلیه ناسازگار است. دلایل ممکن است برای همه وسایل نقلیه متفاوت باشد، اما حداقل یک وسیله نقلیه از ظرفیت "سیب" تجاوز می کند (از جمله وسیله نقلیه 1)، حداقل یک وسیله نقلیه از ظرفیت "گلابی" تجاوز می کند (از جمله وسیله نقلیه 3) و حداقل فاصله یک وسیله نقلیه از حد مجاز فاصله می گیرد (از جمله وسیله نقلیه 1).

نمایندگی JSON
{
  "code": enum (Code),
  "exampleVehicleIndices": [
    integer
  ],
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
فیلدها
code

enum ( Code )

به نظرات کد مراجعه کنید.

exampleVehicleIndices[]

integer

مانند exampleVehicleIndex با این تفاوت که ما لیستی از چندین خودروی شناسایی شده را ارائه می دهیم. این فهرست لزوماً جامع نیست. این فقط در صورتی پر می شود که [fill_example_vehicle_indices_in_skipped_reasons][] درست باشد.

تجربی: رفتار یا وجود این رشته ممکن است در آینده تغییر کند.

exampleExceededCapacityType

string

اگر کد دلیل DEMAND_EXCEEDS_VEHICLE_CAPACITY باشد، یک نوع ظرفیت بیش از حد را ثبت کنید.

exampleVehicleIndex

integer

اگر دلیل مربوط به ناسازگاری حمل و نقل و وسیله نقلیه باشد، این قسمت شاخص یک وسیله نقلیه مربوطه را ارائه می دهد.

کد

کد شناسایی نوع دلیل دستور اینجا بی معنی است. به ویژه، هیچ نشانه ای از این که آیا یک دلیل معین در راه حل در برابر دیگری ظاهر می شود، در صورت اعمال هر دو، نمی دهد.

Enums
CODE_UNSPECIFIED این هرگز نباید استفاده شود.
NO_VEHICLE هیچ وسیله نقلیه ای در مدل وجود ندارد که تمام محموله ها را غیرممکن می کند.
DEMAND_EXCEEDS_VEHICLE_CAPACITY تقاضای محموله بیشتر از ظرفیت یک وسیله نقلیه برای برخی از انواع ظرفیت است که یکی از آنها exampleExceededCapacityType است.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

حداقل فاصله لازم برای انجام این حمل‌ونقل، یعنی از startLocation خودرو تا مکان‌های تحویل و/یا تحویل محموله و تا مکان پایانی خودرو routeDistanceLimit خودرو بیشتر است.

توجه داشته باشید که برای این محاسبه از فواصل ژئودزیکی استفاده می کنیم.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

حداقل زمان لازم برای انجام این حمل‌ونقل، از جمله زمان سفر، زمان انتظار و زمان سرویس، بیش از routeDurationLimit خودرو است.

توجه: زمان سفر در بهترین حالت، یعنی به صورت فاصله ژئودزیکی x 36 متر بر ثانیه (تقریباً 130 کیلومتر در ساعت) محاسبه می شود.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT مانند بالا، اما ما فقط حداقل زمان سفر و travelDurationLimit خودرو را با هم مقایسه می کنیم.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS اگر این حمل‌ونقل در اولین زمان شروع شود، وسیله نقلیه نمی‌تواند در بهترین حالت ( CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT برای محاسبات زمان را ببینید) انجام دهد: کل زمان باعث می‌شود خودرو پس از آخرین زمان پایان آن به پایان برسد.
VEHICLE_NOT_ALLOWED قسمت allowedVehicleIndices محموله خالی نیست و این وسیله نقلیه متعلق به آن نیست.
VEHICLE_IGNORED

میدان ignore خودرو درست است.

تجربی: رفتار یا وجود این رشته ممکن است در آینده تغییر کند.

SHIPMENT_IGNORED

قسمت ignore محموله درست است.

تجربی: رفتار یا وجود این رشته ممکن است در آینده تغییر کند.

SKIPPED_IN_INJECTED_SOLUTION_CONSTRAINT

محموله در محدودیت injectedSolutionConstraint نادیده گرفته می شود.

تجربی: رفتار یا وجود این رشته ممکن است در آینده تغییر کند.

VEHICLE_ROUTE_IS_FULLY_SEQUENCE_CONSTRAINED

آرامش مسیر وسیله نقلیه مشخص شده در injectedSolutionConstraint اجازه درج هیچ بازدیدی را نمی دهد.

تجربی: رفتار یا وجود این رشته ممکن است در آینده تغییر کند.

ZERO_PENALTY_COST

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

تجربی: رفتار یا وجود این رشته ممکن است در آینده تغییر کند.