الردّ بعد حلّ مشكلة تحسين الجولة التي تحتوي على المسارات التي تتبعها كل مركبة والشحنات التي تم تخطّيها والتكلفة الإجمالية للحلّ
| تمثيل JSON |
|---|
{ "routes": [ { object ( |
| الحقول | |
|---|---|
routes[] |
المسارات المحسوبة لكل مركبة، ويتطابق المسار رقم i مع المركبة رقم i في النموذج. |
requestLabel |
نسخة من |
skippedShipments[] |
قائمة بجميع الشحنات التي تم تخطّيها |
validationErrors[] |
قائمة بجميع أخطاء التحقّق التي تمكّنا من رصدها بشكل مستقل راجِع شرح "أخطاء متعدّدة" للرسالة |
processedRequest |
في بعض الحالات، نعدّل الطلب الوارد قبل حلّه، أي نضيف تكاليف. إذا كانت قيمة solvingMode هي TRANSFORM_AND_RETURN_REQUEST، يتم عرض الطلب المعدَّل هنا. تجريبي: يمكنك الاطّلاع على https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request لمزيد من التفاصيل. |
metrics |
مقاييس المدة والمسافة والاستخدام لهذا الحلّ |
OptimizeToursValidationError
تصف هذه السمة خطأً أو تحذيرًا حدث أثناء التحقّق من صحة OptimizeToursRequest.
| تمثيل JSON |
|---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
| الحقول | |
|---|---|
code |
يتم تحديد خطأ التحقّق من الصحة من خلال الزوج ( تقدّم الحقول التالية لهذا القسم مزيدًا من السياق حول الخطأ. أخطاء متعددة: عند حدوث أخطاء متعددة، تحاول عملية التحقّق عرض عدة أخطاء. وكما هو الحال مع المترجم، هذه عملية غير مثالية. ستكون بعض أخطاء التحقّق "خطيرة"، ما يعني أنّها ستوقف عملية التحقّق بأكملها. وينطبق ذلك على أخطاء الثبات: يجب أن يكون |
displayName |
الاسم المعروض للخطأ. |
fields[] |
قد يتضمّن سياق الخطأ 0 أو 1 (في معظم الأحيان) أو أكثر من الحقول. على سبيل المثال، يمكن الإشارة إلى عملية الاستلام الأولى للمركبة رقم 4 والشحنة رقم 2 على النحو التالي: يُرجى العِلم، مع ذلك، بأنّ عدد العناصر في |
errorMessage |
سلسلة يمكن لشخص عادي قراءتها تصف الخطأ. هناك تطابق بنسبة 1:1 بين الثبات: غير ثابتة: قد تتغيّر رسالة الخطأ المرتبطة برمز |
offendingValues |
قد يحتوي على قيم الحقول. هذا الخيار غير متاح دائمًا. يجب عدم الاعتماد عليه إطلاقًا واستخدامه فقط لتصحيح أخطاء النموذج يدويًا. |
FieldReference
تحدّد هذه السمة سياقًا لخطأ التحقّق. يشير FieldReference دائمًا إلى حقل معيّن في هذا الملف ويتّبع البنية الهرمية نفسها. على سبيل المثال، يمكننا تحديد العنصر رقم 2 من startTimeWindows للمركبة رقم 5 باستخدام:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
ومع ذلك، نحذف الكيانات ذات المستوى الأعلى، مثل OptimizeToursRequest أو ShipmentModel، لتجنُّب الازدحام في الرسالة.
| تمثيل JSON |
|---|
{ "name": string, "subField": { object ( |
| الحقول | |
|---|---|
name |
اسم الحقل، مثل "vehicles". |
subField |
حقل فرعي متداخل بشكل متكرر، إذا لزم الأمر |
حقل الدمج يمكن أن تكون |
|
index |
فهرس الحقل إذا كان متكرّرًا |
key |
مفتاح إذا كان الحقل خريطة |
المقاييس
مقاييس عامة، مجمّعة على مستوى جميع المسارات
| تمثيل JSON |
|---|
{
"aggregatedRouteMetrics": {
object ( |
| الحقول | |
|---|---|
aggregatedRouteMetrics |
يتم احتساب هذه النسبة بشكل مجمّع على مستوى المسارات. كل مقياس هو مجموع (أو الحد الأقصى، بالنسبة إلى عمليات التحميل) جميع حقول |
skippedMandatoryShipmentCount |
عدد الشحنات الإلزامية التي تم تخطّيها |
usedVehicleCount |
عدد المركبات المستخدَمة ملاحظة: إذا كان مسار المركبة فارغًا وكانت قيمة |
earliestVehicleStartTime |
تمثّل هذه السمة أقرب وقت بدء لمركبة مستعمَلة، ويتم احتسابها كحدّ أدنى لجميع المركبات المستعمَلة من يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
latestVehicleEndTime |
تمثّل هذه السمة آخر وقت انتهاء لمركبة مستعمَلة، ويتم احتسابها كحدّ أقصى لجميع المركبات المستعمَلة من يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
costs |
تكلفة الحلّ، مقسّمة حسب حقول الطلبات ذات الصلة بالتكلفة المفاتيح هي مسارات أولية، بالنسبة إلى OptimizeToursRequest للإدخال، مثل "model.shipments.pickups.cost"، والقيم هي التكلفة الإجمالية التي تم إنشاؤها بواسطة حقل التكلفة المقابل، ويتم تجميعها على مستوى الحلّ بأكمله. بعبارة أخرى، costs["model.shipments.pickups.cost"] هو مجموع كل تكاليف عمليات الاستلام في الحلّ. يتم هنا عرض جميع التكاليف المحدّدة في النموذج بالتفصيل، باستثناء التكاليف المتعلّقة بسمات الانتقال التي يتم عرضها بشكل مجمّع فقط اعتبارًا من 2022/01. |
totalCost |
التكلفة الإجمالية للحلّ مجموع كل القيم في خريطة التكاليف |