هذا النوع هو أحد أشكال طريقة projects.optimizeTours المصمّمة لعمليات التحسين التي تتضمّن قيم مهلة كبيرة. يجب تفضيل هذه الطريقة على طريقة projects.optimizeTours لإجراء عمليات التحسين التي تستغرق أكثر من بضع دقائق.
سيكون للعملية long-running operation التي تم إرجاعها (LRO) اسم بالتنسيق <parent>/operations/<operation_id> ويمكن استخدامها لتتبُّع تقدّم عملية الحساب. نوع الحقل metadata هو OptimizeToursLongRunningMetadata. يكون نوع الحقل response هو OptimizeToursResponse، في حال نجاح العملية.
طلب HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeToursLongRunning
يستخدم عنوان URL بنية تحويل الترميز إلى gRPC.
مَعلمات المسار
| المعلمات | |
|---|---|
parent |
الحقل مطلوب. استهداف مشروع أو موقع جغرافي لإجراء مكالمة التنسيق:
إذا لم يتم تحديد موقع جغرافي، سيتم اختيار منطقة تلقائيًا. |
نص الطلب
يتضمن نص الطلب بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "timeout": string, "model": { object ( |
| الحقول | |
|---|---|
timeout |
في حال ضبط مهلة الاستجابة هذه، يعرض الخادم استجابة قبل انقضاء مدة المهلة أو قبل بلوغ الموعد النهائي الذي حدّده الخادم للطلبات المتزامنة، أيهما أقرب. بالنسبة إلى الطلبات غير المتزامنة، سينشئ الخادم حلاً (إذا أمكن) قبل انقضاء المهلة. |
model |
نموذج الشحن المطلوب حله |
solvingMode |
يكون وضع الحلّ تلقائيًا |
searchMode |
وضع البحث المستخدَم لحلّ الطلب |
injectedFirstSolutionRoutes[] |
توجيه خوارزمية التحسين للعثور على حلّ أوّلي مشابه لحلّ سابق يتم تقييد النموذج عند إنشاء الحل الأول. يتم تخطّي أي شحنات لم يتم تنفيذها على مسار معيّن ضمنيًا في الحلّ الأول، ولكن يمكن تنفيذها في الحلول اللاحقة. يجب أن يستوفي الحل بعض افتراضات الصلاحية الأساسية:
إذا لم يكن الحلّ الذي تم إدخاله ممكنًا، لن يتم بالضرورة عرض رسالة خطأ في التحقّق من الصحة، بل قد يتم عرض رسالة خطأ تشير إلى عدم إمكانية التنفيذ. |
injectedSolutionConstraint |
تقييد خوارزمية التحسين للعثور على حل نهائي مشابه لحل سابق على سبيل المثال، يمكن استخدام هذه السمة لتجميد أجزاء من المسارات التي تم إكمالها أو التي سيتم إكمالها ولكن يجب عدم تعديلها. إذا لم يكن الحلّ الذي تم إدخاله ممكنًا، لن يتم بالضرورة عرض رسالة خطأ في التحقّق من الصحة، بل قد يتم عرض رسالة خطأ تشير إلى عدم إمكانية التنفيذ. |
refreshDetailsRoutes[] |
إذا لم يكن الحقل فارغًا، سيتم إعادة تحميل المسارات المحدّدة بدون تعديل تسلسل الزيارات أو أوقات السفر الأساسية، وسيتم تعديل التفاصيل الأخرى فقط. لا يحلّ هذا الإجراء المشكلة في النموذج. اعتبارًا من 11/2020، لا يتم ملء خطوط متعدّدة الأضلاع إلا للمسارات غير الفارغة، ويجب أن تكون قيمة قد تكون حقول يجب عدم استخدام هذا الحقل مع ليس للقيمتَين |
interpretInjectedSolutionsUsingLabels |
إذا كانت القيمة صحيحة:
ينطبق هذا التفسير على الحقول إذا كانت القيمة هي true، يجب ألا تظهر التصنيفات في الفئات التالية أكثر من مرة في فئتها:
إذا لم يتطابق قد تؤثر إزالة زيارات مسار أو مسارات كاملة من حلّ تم إدخاله في القيود الضمنية، ما قد يؤدي إلى تغيير في الحلّ أو حدوث أخطاء في التحقّق من الصحة أو عدم إمكانية التنفيذ. ملاحظة: على المتصل التأكّد من أنّ كل |
considerRoadTraffic |
ضَع في اعتبارك تقدير عدد الزيارات عند حساب الحقول |
populatePolylines |
في حال ضبطها على "صحيح"، سيتم ملء الخطوط المتعددة في الردود |
populateTransitionPolylines |
في حال ضبطها على "صحيح"، سيتم ملء الخطوط المتعددة ورموز المسار المميزة في الرد |
allowLargeDeadlineDespiteInterruptionRisk |
في حال ضبط هذا الخيار، يمكن أن يكون للطلب موعد نهائي (راجِع https://grpc.io/blog/deadlines) يصل إلى 60 دقيقة. وفي ما عدا ذلك، يكون الحد الأقصى للموعد النهائي 30 دقيقة فقط. يُرجى العِلم أنّ الطلبات التي تستغرق وقتًا طويلاً تكون أكثر عرضة للانقطاع (وإن كان احتمال حدوث ذلك ضئيلاً). |
useGeodesicDistances |
في حال ضبط القيمة على "صحيح"، سيتم احتساب مسافات التنقّل باستخدام المسافات الجيوديسية بدلاً من مسافات "خرائط Google"، وسيتم احتساب مُدد التنقّل باستخدام المسافات الجيوديسية مع سرعة يحدّدها |
label |
تصنيف يمكن استخدامه لتحديد هذا الطلب، ويتم إرجاعه في |
geodesicMetersPerSecond |
عندما تكون قيمة |
maxValidationErrors |
يتم اقتطاع عدد أخطاء التحقّق من الصحة التي يتم عرضها. عادةً ما تكون هذه الأخطاء مرفقة بحِزمة بيانات خطأ INVALID_ARGUMENT كتفاصيل خطأ BadRequest (https://cloud.google.com/apis/design/errors#error_details)، ما لم يكن solvingMode=VALIDATE_ONLY: راجِع الحقل |
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيحتوي نصها على مثال Operation.
نطاقات الأذونات
يجب توفير نطاق OAuth التالي:
https://www.googleapis.com/auth/cloud-platform
أذونات "إدارة الهوية وإمكانية الوصول"
يجب توفُّر إذن إدارة الهوية وإمكانية الوصول التالي على مورد parent:
routeoptimization.operations.create
لمزيد من المعلومات، يُرجى الاطّلاع على مستندات "إدارة الهوية وإمكانية الوصول".