ShipmentModel সম্বলিত একটি OptimizeToursRequest পাঠায় এবং ShipmentRoute সম্বলিত একটি OptimizeToursResponse ফেরত দেয়, যা যানবাহন দ্বারা সম্পাদিত রুটের একটি সেট যা সামগ্রিক খরচ কমিয়ে দেয়।
একটি ShipmentModel মডেলে মূলত এমন Shipment থাকে যা বহন করতে হয় এবং Vehicle যা Shipment পরিবহনের জন্য ব্যবহার করা যেতে পারে। ShipmentRoute গুলি Vehicle Shipment নির্ধারণ করে। আরও স্পষ্টভাবে বলতে গেলে, তারা প্রতিটি যানবাহনে Visit s এর একটি সিরিজ বরাদ্দ করে, যেখানে একটি Visit একটি VisitRequest এর সাথে মিলে যায়, যা একটি Shipment জন্য একটি পিকআপ বা ডেলিভারি।
লক্ষ্য হল ShipmentRoute Vehicle একটি অ্যাসাইনমেন্ট প্রদান করা যা মোট খরচ কমিয়ে আনে যেখানে ShipmentModel এ cost-এর অনেক উপাদান সংজ্ঞায়িত করা হয়েছে।
HTTP অনুরোধ
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeTours
URL টি gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।
পথের পরামিতি
| পরামিতি | |
|---|---|
parent | প্রয়োজন। কল করার জন্য টার্গেট প্রজেক্ট বা লোকেশন। বিন্যাস:
যদি কোনও অবস্থান নির্দিষ্ট না করা থাকে, তাহলে একটি অঞ্চল স্বয়ংক্রিয়ভাবে নির্বাচিত হবে। |
অনুরোধের মূল অংশ
অনুরোধের মূল অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
| JSON উপস্থাপনা |
|---|
{ "timeout": string, "model": { object ( |
| ক্ষেত্র | |
|---|---|
timeout | যদি এই টাইমআউট সেট করা থাকে, তাহলে টাইমআউট পিরিয়ড শেষ হওয়ার আগে অথবা সিঙ্ক্রোনাস রিকোয়েস্টের জন্য সার্ভারের সময়সীমা পৌঁছানোর আগে, যেটি আগে হয়, সার্ভার একটি প্রতিক্রিয়া ফেরত পাঠায়। অ্যাসিঙ্ক্রোনাস অনুরোধের জন্য, সার্ভার সময়সীমা শেষ হওয়ার আগে একটি সমাধান (যদি সম্ভব হয়) তৈরি করবে। সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' |
model | সমাধানের জন্য চালানের মডেল। |
solvingMode | ডিফল্টরূপে, সমাধান মোড হল |
searchMode | অনুরোধটি সমাধান করতে ব্যবহৃত অনুসন্ধান মোড। |
injectedFirstSolutionRoutes[] | পূর্ববর্তী সমাধানের অনুরূপ একটি প্রথম সমাধান খুঁজে বের করার জন্য অপ্টিমাইজেশন অ্যালগরিদমকে নির্দেশ করুন। প্রথম সমাধান তৈরির সময় মডেলটি সীমাবদ্ধ থাকে। কোনও রুটে সম্পাদিত না হওয়া কোনও চালান প্রথম সমাধানে পরোক্ষভাবে এড়িয়ে যায়, তবে সেগুলি ধারাবাহিক সমাধানগুলিতে সম্পাদিত হতে পারে। সমাধানটি অবশ্যই কিছু মৌলিক বৈধতা অনুমান পূরণ করবে:
যদি ইনজেক্ট করা সমাধানটি সম্ভব না হয়, তাহলে একটি বৈধতা ত্রুটি অগত্যা ফেরত পাঠানো হবে না এবং পরিবর্তে অসম্ভাব্যতা নির্দেশ করে একটি ত্রুটি ফেরত পাঠানো হতে পারে। |
injectedSolutionConstraint | পূর্ববর্তী সমাধানের অনুরূপ একটি চূড়ান্ত সমাধান খুঁজে পেতে অপ্টিমাইজেশন অ্যালগরিদমকে সীমাবদ্ধ করুন। উদাহরণস্বরূপ, এটি এমন কিছু রুট হিমায়িত করতে ব্যবহার করা যেতে পারে যা ইতিমধ্যেই সম্পন্ন হয়েছে বা যা সম্পূর্ণ করতে হবে কিন্তু পরিবর্তন করা উচিত নয়। যদি ইনজেক্ট করা সমাধানটি সম্ভব না হয়, তাহলে একটি বৈধতা ত্রুটি অগত্যা ফেরত পাঠানো হবে না এবং পরিবর্তে অসম্ভাব্যতা নির্দেশ করে একটি ত্রুটি ফেরত পাঠানো হতে পারে। |
refreshDetailsRoutes[] | যদি খালি না থাকে, তাহলে প্রদত্ত রুটগুলি রিফ্রেশ করা হবে, তাদের পরিদর্শনের অন্তর্নিহিত ক্রম বা ভ্রমণের সময় পরিবর্তন না করে: শুধুমাত্র অন্যান্য বিবরণ আপডেট করা হবে। এটি মডেলটির সমাধান করে না। ২০২০/১১ সালের হিসাবে, এটি শুধুমাত্র খালি নয় এমন রুটের পলিলাইনগুলিকে পূরণ করে এবং পাস-ইন করা রুটের এই ক্ষেত্রটি |
interpretInjectedSolutionsUsingLabels | যদি সত্য হয়:
এই ব্যাখ্যাটি যদি সত্য হয়, তাহলে নিম্নলিখিত বিভাগগুলির লেবেলগুলিকে তাদের বিভাগে সর্বাধিক একবার উপস্থিত হতে হবে:
যদি ইনজেক্টেড সলিউশনে থাকা কোনও ইনজেক্টেড সলিউশন থেকে রুট ভিজিট বা সম্পূর্ণ রুট অপসারণ করলে অন্তর্নিহিত সীমাবদ্ধতার উপর প্রভাব পড়তে পারে, যার ফলে সমাধানে পরিবর্তন, বৈধতা ত্রুটি বা অসম্ভাব্যতা দেখা দিতে পারে। দ্রষ্টব্য: কলকারীকে নিশ্চিত করতে হবে যে প্রতিটি |
considerRoadTraffic | |
populatePolylines | যদি সত্য হয়, তাহলে |
populateTransitionPolylines | যদি সত্য হয়, তাহলে |
allowLargeDeadlineDespiteInterruptionRisk | যদি এটি সেট করা থাকে, তাহলে অনুরোধটির সময়সীমা ৬০ মিনিট পর্যন্ত হতে পারে ( https://grpc.io/blog/deadlines দেখুন)। অন্যথায়, সর্বোচ্চ সময়সীমা মাত্র ৩০ মিনিট। মনে রাখবেন যে দীর্ঘস্থায়ী অনুরোধগুলিতে বাধার ঝুঁকি উল্লেখযোগ্যভাবে বেশি (কিন্তু তবুও ছোট) থাকে। |
useGeodesicDistances | যদি সত্য হয়, তাহলে ভ্রমণের দূরত্ব Google Maps দূরত্বের পরিবর্তে জিওডেসিক দূরত্ব ব্যবহার করে গণনা করা হবে এবং ভ্রমণের সময় জিওডেসিক দূরত্ব ব্যবহার করে গণনা করা হবে যার গতি |
label | এই অনুরোধটি সনাক্ত করতে ব্যবহৃত হতে পারে এমন লেবেল, |
geodesicMetersPerSecond | যখন |
maxValidationErrors | ফিরে আসা বৈধতা ত্রুটির সংখ্যা ছোট করে। এই ত্রুটিগুলি সাধারণত একটি 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 রিসোর্সে নিম্নলিখিত IAM অনুমতি প্রয়োজন:
-
routeoptimization.locations.use
আরও তথ্যের জন্য, IAM ডকুমেন্টেশন দেখুন।