تُرسِل طلبًا من النوع OptimizeToursRequest
يحتوي على ShipmentModel
وتُعرِض ردًا من النوع OptimizeToursResponse
يحتوي على ShipmentRoute
، وهي مجموعة من المسارات التي ستقطعها المركبات مع تقليل التكلفة الإجمالية إلى أدنى حدّ.
يتألّف نموذج ShipmentModel
بشكل أساسي من Shipment
التي يجب تنفيذها وVehicle
التي يمكن استخدامها لنقل Shipment
. تُسنِد ShipmentRoute
Shipment
إلى Vehicle
. على وجه التحديد، يتم تخصيص سلسلة من Visit
لكل مركبة، حيث يتوافق Visit
مع VisitRequest
، وهو عملية استلام أو تسليم Shipment
.
والهدف هو توفير عملية تخصيص ShipmentRoute
إلى Vehicle
تعمل على تقليل التكلفة الإجمالية حيث تتضمّن التكلفة العديد من المكوّنات المحدّدة في ShipmentModel
.
طلب HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeTours
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
مَعلمات المسار
المعلمات | |
---|---|
parent |
مطلوب. استهدِف المشروع أو الموقع الجغرافي لإجراء مكالمة. التنسيق: * في حال عدم تحديد موقع جغرافي، سيتم اختيار منطقة تلقائيًا. |
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "timeout": string, "model": { object ( |
الحقول | |
---|---|
timeout |
في حال ضبط هذه المهلة، يعرض الخادم استجابة قبل انقضاء فترة المهلة أو بلوغ الموعد النهائي للخادم للطلبات المتزامنة، أيهما أقرب. بالنسبة إلى الطلبات غير المتزامنة، سينشئ الخادم حلًا (إن أمكن) قبل انتهاء المهلة. المدة بالثواني مع ما يصل إلى تسعة أرقام كسور، وتنتهي بـ " |
model |
نموذج الشحن لحلّ المشكلة |
solving |
يكون وضع الحل تلقائيًا هو |
search |
وضع البحث المستخدَم لحلّ الطلب |
injected |
توجيه خوارزمية التحسين في العثور على حلّ أوّل مشابه لحلّ سابق يتم تقييد النموذج عند إنشاء الحلّ الأول. يتمّ تخطّي أيّ شحنات لم يتمّ تنفيذها على مسار معيّن بشكل ضمني في الحلّ الأول، ولكن قد يتمّ تنفيذها في الحلول اللاحقة. يجب أن يستوفي الحلّ بعض الافتراضات الأساسية للصلاحية:
إذا لم يكن الحلّ المُدرَج قابلاً للتطبيق، لا يعني ذلك بالضرورة ظهور خطأ في عملية التحقّق، بل قد يظهر خطأ يشير إلى عدم قابلية الحلّ للتطبيق. |
injected |
تقييد خوارزمية التحسين للعثور على حل نهائي مشابه لحلّ سابق على سبيل المثال، يمكن استخدام هذا الإجراء لتجميد أجزاء من المسارات التي سبق إكمالها أو التي سيتم إكمالها ولكن يجب عدم تعديلها. إذا لم يكن الحلّ المُدرَج قابلاً للتطبيق، لا يعني ذلك بالضرورة ظهور خطأ في عملية التحقّق، بل قد يظهر خطأ يشير إلى عدم قابلية الحلّ للتطبيق. |
refresh |
إذا لم تكن فارغة، سيتمّ تعديل المسارات المحدّدة بدون تعديل تسلسل الزيارات أو أوقات التنقّل الأساسية: سيتمّ تعديل التفاصيل الأخرى فقط. لا يؤدي ذلك إلى حلّ المشكلة في النموذج. اعتبارًا من تشرين الثاني (نوفمبر) 2020، لا يتمّ ملء خطوط البوليجون إلا للمسارات غير الفارغة، ويتطلّب ذلك ضبط قد تكون حقول يجب عدم استخدام هذا الحقل مع لا يؤثّر الخياران |
interpret |
إذا كان صحيحًا:
ينطبق هذا التفسير على الحقول إذا كانت القيمة هي true، يجب أن تظهر التصنيفات في الفئات التالية مرة واحدة فقط في فئتها:
إذا لم يكن قد تؤدي إزالة زيارات المسار أو مسارات كاملة من حلّ تمّت حقنه إلى التأثير في القيود الضمنية، ما قد يؤدي إلى تغيير في الحلّ أو أخطاء في التحقّق أو عدم القابلية للتنفيذ. ملاحظة: على المتصل التأكّد من أنّ كل |
consider |
ننصحك بالأخذ في الاعتبار تقدير عدد الزيارات عند احتساب حقول |
populate |
إذا كان صحيحًا، ستتم تعبئة الخطوط المتعددة في |
populate |
إذا كانت القيمة "صحيح"، سيتم تعبئة الخطوط المتعددة ورموز المسارات في الاستجابة |
allow |
في حال ضبط هذا الخيار، يمكن أن يكون للطلب مهلة (راجِع https://grpc.io/blog/deadlines) تصل إلى 60 دقيقة. بخلاف ذلك، تكون المهلة القصوى 30 دقيقة فقط. يُرجى العِلم أنّ الطلبات التي تستمر لفترة طويلة تكون أكثر عرضة للانقطاع (ولكن بنسبة صغيرة). |
use |
إذا كان صحيحًا، سيتم احتساب مسافات التنقّل باستخدام المسافات الجيوديسية بدلاً من مسافات "خرائط Google"، وسيتم احتساب أوقات التنقّل باستخدام المسافات الجيوديسية بسرعة محدّدة بواسطة |
label |
التصنيف الذي يمكن استخدامه لتحديد هذا الطلب، والذي تم الإبلاغ عنه في |
geodesic |
عندما تكون قيمة |
max |
تقتطع عدد أخطاء التحقّق التي يتم عرضها. يتم عادةً إرفاق هذه الأخطاء بحمولة خطأ INVALID_ARGUMENT كتفاصيل خطأ BadRequest (https://cloud.google.com/apis/design/errors#error_details)، ما لم يكن solvingMode=VALIDATE_ONLY: راجِع الحقل |
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال OptimizeToursResponse
.
نطاقات التفويض
يجب توفير نطاق OAuth التالي:
https://www.googleapis.com/auth/cloud-platform
أذونات إدارة الهوية والوصول
يتطلب الحصول على إذن IAM التالي في مورد parent
:
routeoptimization.locations.use
لمزيد من المعلومات، يُرجى الاطّلاع على مستندات إدارة الهوية وإمكانية الوصول.