كما هو موضّح بإيجاز في نظرة عامة على تحسين المسار، يتألف الطلب الأساسي من النموذج والشحنات والمركبات ككيانات مطلوبة:
- تتضمّن النموذج الإعدادات والقيود الخاصة بالطلب بأكمله، بما في ذلك
Shipments
وVehicles
. - تمثّل الشحنات المهام أو الشحنات الفعلية التي تتضمّن
VisitRequest
خدمات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