إنشاء رسالة طلب

وكما هو موضح بإيجاز في نظرة عامة على تحسين المسار، فإن الطلب الأساسي تتكوّن من النموذج والشحنات والمركبات ككيانات مطلوبة:

  • يلتقط النموذج الإعدادات والقيود للطلب بالكامل، بما في ذلك Shipments وVehicles.
  • تمثل الشحنات المهام أو الشحنات الفعلية التي تتضمن استلام الطلبات التسليم VisitRequest تشمل الشحنات إعدادات وقيودًا محلية.
  • تمثّل المركبات المركبات أو السائقين أو الموظفين. تتمتع المركبات أيضًا الإعدادات والقيود المحلية.

تصف خصائص كل كيان جزءًا من مشكلة التحسين في ومستوى معين من الدقة. يتم تطبيق القيود على مستوى النموذج على جميع الشحنات والمركبات، مع وجود القيود والخصائص المحددة في الشحنات أو المركبات الخاصة بشحنة واحدة أو مركبة واحدة.

للاطّلاع على المستندات الكاملة حول كل نوع من أنواع الرسائل، يُرجى مراجعة المستندات المرجعية بالنسبة إلى ShipmentModel (REST وgRPC) وShipment (REST وgRPC) وVehicle (REST، gRPC).

OptimizeToursRequest مكانًا للإقامة

بعض السمات الشائعة الاستخدام لرسالة OptimizeToursRequest ذات المستوى الأعلى (REST، gRPC) تشمل ما يلي:

  • تشير السمة searchMode إلى ما إذا كان سيتم عرض الحل الأول الذي يعجبك. قيود محددة أو إيجاد أفضل حل ممكن داخل مجموعة الموعد النهائي.
  • تحدِّد considerRoadTraffic ما إذا كان سيتم استخدام الزيارات المباشرة أم لا. للتوجيه وتقدير الوقت المقدر للوصول.
  • تحدِّد populateTransitionPolylines ما إذا كانت الخطوط المتعددة للمسار الذي تم إرجاعه في الرد.

خصائص النموذج

بعض الخصائص الشائعة الاستخدام للرسالة ShipmentModel (REST، gRPC) تشمل ما يلي:

  • يمثل globalStartTime أقرب وقت بدء للمسارات على مستوى جميع والمركبات والشحنات. لا يجوز لأي مركبة بدء عمليات النقل الأولى الشحنات قبل هذا الوقت.
  • يمثّل globalEndTime آخر وقت انتهاء للمسارات على مستوى جميع المركبات. وعمليات الشحن. يجب أن تكتمل جميع عمليات الشحن وعمليات النقل المخصصة. قبل هذا الوقت.

خصائص الشحن

بعض السمات شائعة الاستخدام للرسالة Shipment (REST، gRPC) تشمل:

  • يمثّل كلّ من pickups[] وdeliveries[] المكان الذي يمكن استلام شحنة فيه. أو انسحبوا. تستخدم السمتان pickups[] وdeliveries[] السمة VisitRequest رسالة (REST، gRPC).
  • تمثّل loadDemands حِمل المركبة المطلوب لإتمام الشحنة. المركبات load_limits المقابلة (REST، gRPC) قيمة الحمولة التي يمكن أن تتسع للمركبة في المرة الواحدة. يمكنك قراءة المزيد من المعلومات عن التحميل في مقالة تحميل الطلبات والحدود.
  • تمثّل السمة 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