متطلبات الحمل وحدوده هي نوع من القيود التي يمكنك استخدامها لإدارة السعة. وتحدِّد هذه القيود السعة المطلوبة للشحنة والحد الأقصى لسعة المركبة، ما يتيح لك تحسين عمليات إسناد المسارات استنادًا إلى هذه القيود.
يمكن أن تدعم متطلبات التحميل والحدّ الأقصى للتحميل أهدافًا مثل:
- تجنُّب تحميل المركبات فوق طاقتها
- مراقبة كيفية تغيُّر أحمال المركبات أثناء استلام الشحنات وتسليمها
- يمكنك حصر عدد المرات التي يمكن أن تزور فيها المركبة موقعًا معيّنًا.
يتم تحديد متطلبات الحمل وحدوده في السمات التالية:
- تحدّد السمة
loadDemands
سعة الشحنة المطلوبة. - يحدِّد
loadLimits
الحد الأقصى للسعة لمركبة معيّنة.
البنية
كما هو موضّح في المخطّط البياني، يتم تنظيم متطلبات الحمل وحدوده على النحو التالي:
loadDemands
هي موقع إلكتروني تابعShipment
. يمكن أن يكونShipment
له متطلبات تحميل متعددة.loadLimits
هي موقع إلكتروني تابعVehicle
. يمكن أن يكونVehicle
محدودًا بعدّة حدود تحميل.
الخصائص
يصف هذا القسم سمات متطلبات الحمل وحدوده، وهي:
- نوع الحمولة: خاصيّة مشترَكة بين متطلبات الحمولة وحدودها.
-
Load
وLoadLimit
: سمات فريدة متوفّرة في متطلبات التحميل وحدود التحميل على التوالي
نوع الحمولة
أنواع الحمولة هي مفاتيح سلاسل تحدد نوع متطلبات الحمولة لشحنة معيّنة وحدود الحمولة لمركبة معيّنة. تتسم أنواع الحمولات بالسمات المهمة التالية:
- أنواع التحميل التي يحدّدها المستخدم: هي أنواع التحميل التي تحدّدها. لا تتوفّر متغيّرات نظام مُحدّدة مسبقًا لأنواع الحمولة.
- مشترَكة: يتم استخدام أنواع الحمولة هذه بشكل مشترك بين الشحنات والمركبات. وهذا يعني أنّ الشحنة ستستهلك سعة المركبة إلى الحد الأقصى فقط عندما تتطابق أنواع الحمولة. إذا لم تحدّد المركبة أي حد أقصى للحمولة لنوع معيّن، يمكنها حمل كمية غير محدودة من نوع الحمولة هذا.
تستخدم مفاتيح السلاسل التي تمثّل أنواع الحمولة بنية نوع ملف Protocol Buffers. يجب ألّا تكون مفاتيح السلاسل هذه فارغة لتجنّب حدوث مشاكل. عند تسمية نوع الحمولة، ننصحك باستخدام معرّفات تصف نوع الحِمولة ووحدتها. على سبيل المثال: weightKg أو volume_gallons أو palletcount أو frequencyDaily.
Load
وLoadLimit
يحتوي العنصران Load
وLoadLimit
على سمات محدّدة لتحديد متطلبات السعة للشحنات والمركبات، ويوضّح الجدول التالي هذه السمات:
عنصر | أحد الوالدين | الموقع | نوع مكان الإقامة | وصف الفندق |
---|---|---|---|---|
Load |
loadDemands |
amount |
سلسلة (بتنسيق int64) | تحدِّد متطلبات سعة الشحنة في النوع المحدّد. |
LoadLimit |
loadLimits |
maxLoad |
سلسلة (بتنسيق int64) | تحدِّد الحد الأقصى لسعة الحمولة في المركبة من النوع المحدّد. |
أمثلة
يعرض المثال التالي بنية طلب الحمل الذي يمكنك من خلاله ضبط نوع
loadDemands
كسلسلة والسمة amount
كسلسلة
بتنسيق int64:
"loadDemands": {
"MATCHING_LOAD_TYPE ": {
"amount": "YOUR_LOAD_AMOUNT "
}
}
يعرض المثال التالي البنية الأساسية لحدّ الحمولة، حيث
يمكنك ضبط نوع loadLimits
كسلسلة، والسمة maxLoad
كسلسلة بتنسيق int64:
"loadLimits": {
"MATCHING_LOAD_TYPE ": {
"maxLoad": "YOUR_MAX_LOAD "
}
}
جرّبه الآن
استخدِم أمثلة الرموز البرمجية أعلاه لإنشاء سيناريو خيالي. في هذا السيناريو، لديك شحنة تزن 10 كيلوغرام ومركبة يمكنها حمل 100 كيلوغرام:
في مثال
loadDemands
، حدِّد نوع التحميل على أنّهweightKg
.بعد إجراء ذلك، سيتم أيضًا تعبئة نوع التحميل في مثال
loadLimits
، ما يؤدي إلى مشاركة نوع التحميل. تذكَّر أنّه يجب أن تتطابق أنواعloadDemands
وloadLimits
لكي تستهلك الشحنة حدود المركبة.في مثال
loadDemands
نفسه، اضبط السمةamount
على10
.وهذا يعني أنّ وزن الشحنة 10 كيلوغرام.
في مثال
loadLimits
، اضبط السمةmaxLoad
على100
.وهذا يعني أنّ المركبة يمكنها حمل 100 كيلوغرام كحد أقصى.
يُرجى العِلم أنّه لا تتوفّر مجموعة من الأنواع المحدّدة مسبقًا. في هذا المثال، يمكنك تغيير الكيلوغرام إلى نقاط، أو تغييره إلى قياسات خطية بدلاً من الوزن. تتيح لك هذه المرونة تخصيص متطلبات التحميل وحدودها لتلبية احتياجاتك المحدّدة.
مثال على الطلب
يوضّح المثال التالي بنية طلب optimizeTours
أساسي
مع loadDemands
في شحنة وloadLimits
في مركبة:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "loadDemands": { "MATCHING_LOAD_TYPE ": { "amount": "YOUR_LOAD_AMOUNT " } } } ], "vehicles": [ { "startLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "endLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "costPerKilometer": 1.0, "loadLimits": { "MATCHING_LOAD_TYPE ": { "maxLoad": "YOUR_MAX_LOAD " } } } ] } }
تذكَّر أنّ الشحنة قد تتضمّن متطلبات تحميل متعددة، ويمكن أن يكون للمركبة حدود تحميل متعددة، ما يتيح لك تقديم قيود معقدة يجب أخذها في الاعتبار عند تحسين مسارات أسطولك.