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

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

همانطور که به طور خلاصه در مرور کلی بهینه‌سازی مسیر توضیح داده شد، یک درخواست اساسی شامل Model ، Shipments و Vehicles به عنوان موجودیت‌های مورد نیاز است:

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

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

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

OptimizeToursRequest ملک

برخی از ویژگی‌های رایج پیام سطح بالای OptimizeToursRequest ( REST ، gRPC ) شامل موارد زیر است:

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

ویژگی‌های مدل

برخی از ویژگی‌های رایج پیام ShipmentModel ( REST ، gRPC ) عبارتند از:

  • زمان شروع globalStartTime نشان دهنده زودترین زمان شروع مسیرها در تمام وسایل نقلیه و محموله‌ها است. هیچ وسیله نقلیه‌ای نمی‌تواند اولین انتقال‌ها و محموله‌های خود را قبل از این زمان آغاز کند.
  • globalEndTime نشان دهنده آخرین زمان پایان مسیرها در تمام وسایل نقلیه و محموله‌ها است. تمام محموله‌ها و انتقال‌های اختصاص داده شده باید قبل از این زمان تکمیل شوند.

خواص حمل و نقل

برخی از ویژگی‌های رایج پیام Shipment ( REST ، gRPC ) عبارتند از:

  • pickups[] و deliveries[] نشان می‌دهند که یک محموله می‌تواند از کجا تحویل گرفته یا تحویل داده شود. ویژگی‌های pickups[] و deliveries[] هر دو از پیام VisitRequest ( REST ، gRPC ) استفاده می‌کنند.
  • loadDemands نشان دهنده بار مورد نیاز یک وسیله نقلیه برای تکمیل یک محموله است. ویژگی load_limits ( REST ، gRPC ) مربوط به وسایل نقلیه نشان دهنده میزان باری است که یک وسیله نقلیه می‌تواند در یک زمان تحمل کند. برای اطلاعات بیشتر در مورد بار، به Load Demands and Limits مراجعه کنید.
  • penalty_cost نشان دهنده هزینه ای است که در صورت رد شدن یک محموله متحمل می شوید. برای اطلاعات بیشتر در مورد هزینه ها به بخش پارامترهای مدل هزینه مراجعه کنید.

خواص خودرو

برخی از ویژگی‌های رایج پیام Vehicle ( REST ، 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