یک پیام درخواست بسازید

توسعه دهندگان منطقه اقتصادی اروپا (EEA).

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

  • مدل تنظیمات و محدودیت هایی را برای کل درخواست ، شامل هر دو Shipments و Vehicles ضبط می کند.
  • محموله ها نمایانگر وظایف یا محموله های واقعی هستند که شامل وانت و وانت و تحویل VisitRequest . محموله ها دارای تنظیمات و محدودیت های محلی هستند.
  • وسایل نقلیه نمایانگر وسایل نقلیه ، رانندگان یا پرسنل هستند. وسایل نقلیه همچنین دارای تنظیمات و محدودیت های محلی هستند.

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

برای مستندات کامل در مورد هر نوع پیام، به مستندات مرجع برای پیام‌های ShipmentModel ( REST ، gRPCShipment ( REST ، gRPC ) و Vehicle ( REST ، gRPC ) مراجعه کنید.

ویژگی های OptimizeToursRequest

برخی از خصوصیات متداول پیام OptimizeToursRequest سطح بالا ( REST ، GRPC ) شامل موارد زیر است:

  • searchMode نشان می‌دهد که آیا باید اولین راه‌حلی را که محدودیت‌های مشخص شده را برآورده می‌کند بازگردانید یا بهترین راه‌حل ممکن را در یک مهلت تعیین‌شده پیدا کنید.
  • considerRoadTraffic تعیین می کند که آیا از ترافیک زنده برای مسیریابی و تخمین ETA استفاده می شود یا خیر.
  • populateTransitionPolylines تعیین می کند که آیا پولیلین های مسیر و نشانه های مسیر در پاسخ بازگردانده می شوند.

خواص مدل

برخی از خواص متداول پیام ShipmentModel ( استراحت ، GRPC ) شامل موارد زیر است:

  • globalStartTime اولین زمان شروع مسیرها را در تمام وسایل نقلیه و محموله ها نشان می دهد. No vehicle may start its first transitions and shipments before this time.
  • globalEndTime نمایانگر آخرین زمان پایان مسیرها در تمام وسایل نقلیه و محموله ها است. کلیه محموله ها و انتقال های اختصاص یافته باید قبل از این زمان کامل باشند.

خواص حمل و نقل

برخی از خواص متداول پیام Shipment ( استراحت ، GRPC ) شامل موارد زیر است:

  • pickups[] و deliveries[] نشان دهنده جایی است که می توان حمل و نقل را برداشت یا از بین برد. pickups[] and deliveries[] properties both use the VisitRequest message ( REST , gRPC ).
  • loadDemands بار مورد نیاز خودرو را برای تکمیل حمل و نقل نشان می دهد. ویژگی های مربوط به وسایل نقلیه load_limits ( استراحت ، GRPC ) نشان دهنده میزان بار یک وسیله نقلیه می تواند در یک زمان باشد. اطلاعات بیشتر در مورد بار و محدودیت های بار را بخوانید.
  • penalty_cost نشان دهنده هزینه ای است که در صورت پر کردن حمل و نقل ، متحمل می شود. در مورد هزینه ها در پارامترهای مدل هزینه بیشتر بخوانید.

خواص خودرو

برخی از خواص متداول پیام Vehicle ( استراحت ، GRPC ) عبارتند از:

  • startLocation نشان دهنده جایی است که یک وسیله نقلیه باید مسیر خود را شروع کند. این ویژگی اختیاری است. اگر مشخص نشده باشد ، مسیر وسیله نقلیه از محل اولین محموله اختصاص یافته خود شروع می شود.
  • endLocation نشان دهنده جایی است که یک وسیله نقلیه باید مسیر خود را پایان دهد. این ویژگی اختیاری است. اگر مشخص نشده باشد ، مسیر وسیله نقلیه در محل آخرین محموله اختصاص یافته خود به پایان می رسد.
  • startTimeWindows[] نشان دهنده زمانی است که یک وسیله نقلیه می تواند مسیر خود را شروع کند. این ویژگی اختیاری است.
  • endTimeWindows[] نشان دهنده زمانی است که یک وسیله نقلیه می تواند مسیر خود را شروع و پایان دهد. هر دو ویژگی اختیاری هستند.
  • loadLimits نمایانگر ظرفیت وسیله نقلیه در دسترس برای پاسخگویی به تقاضای بار محموله ها است. اطلاعات بیشتر در مورد تقاضای بار و محدودیت های بار و محدودیت های بار را بخوانید.

یک درخواست مثال کامل در قالب JSON به نظر می رسد:

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "costPerKilometer": 1.0
      }
    ],
   "globalStartTime": "2024-02-13T00:00:00.000Z",
   "globalEndTime": "2024-02-14T06:00:00.000Z"
  }
}

OptimizeTours و BatchOptimizeTours هر دو پیام های درخواست مانند مثال فوق را مصرف می کنند ، اما به روش های مختلف. قبل از ایجاد درخواست بهینه سازی مسیر ، درک تفاوت بین دو روش مهم است:

مقایسه OptimizeTours و BatchOptimizeTours