একটি ট্যুর অপ্টিমাইজেশান সমস্যার সমাধান করার পরে প্রতিক্রিয়া যা প্রতিটি গাড়ির দ্বারা অনুসরণ করা রুটগুলি, শিপমেন্টগুলি যা এড়িয়ে গেছে এবং সমাধানের সামগ্রিক খরচ।
JSON প্রতিনিধিত্ব |
---|
{ "routes": [ { object ( |
ক্ষেত্র | |
---|---|
routes[] | প্রতিটি গাড়ির জন্য গণনা করা রুট; i-th রুট মডেলের i-th যানের সাথে মিলে যায়। |
requestLabel | |
skippedShipments[] | সমস্ত চালানের তালিকা এড়িয়ে গেছে। |
validationErrors[] | সমস্ত বৈধতা ত্রুটির তালিকা যা আমরা স্বাধীনভাবে সনাক্ত করতে সক্ষম হয়েছি। |
metrics | এই সমাধানের জন্য সময়কাল, দূরত্ব এবং ব্যবহারের মেট্রিক্স। |
OptimizeToursValidationError
একটি OptimizeToursRequest
যাচাই করার সময় একটি ত্রুটি বা সতর্কতা দেখা দেয়।
JSON প্রতিনিধিত্ব |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
ক্ষেত্র | |
---|---|
code | একটি বৈধতা ত্রুটি জোড়া ( অন্যান্য ক্ষেত্র (নীচে) ত্রুটি সম্পর্কে আরও প্রসঙ্গ প্রদান করে। একাধিক ত্রুটি : যখন একাধিক ত্রুটি থাকে, তখন যাচাইকরণ প্রক্রিয়া তাদের মধ্যে কয়েকটি আউটপুট করার চেষ্টা করে। অনেকটা কম্পাইলারের মতো, এটি একটি অপূর্ণ প্রক্রিয়া। কিছু বৈধতা ত্রুটি "মারাত্মক" হবে, যার অর্থ তারা পুরো বৈধতা প্রক্রিয়া বন্ধ করে দেয়। অন্যদের মধ্যে স্থিতিশীলতা : রেফারেন্স : সমস্ত (কোড, নাম) জোড়ার একটি তালিকা:
|
displayName | ত্রুটি প্রদর্শন নাম. |
fields[] | একটি ত্রুটি প্রসঙ্গে 0, 1 (বেশিরভাগ সময়) বা আরও ক্ষেত্র জড়িত হতে পারে। উদাহরণস্বরূপ, যানবাহন # 4 এবং চালান # 2 এর প্রথম পিকআপকে উল্লেখ করা নিম্নরূপ করা যেতে পারে:
উল্লেখ্য, যাইহোক, প্রদত্ত ত্রুটি কোডের জন্য |
errorMessage | মানব-পাঠযোগ্য স্ট্রিং ত্রুটি বর্ণনা করে। স্থিতিশীলতা : স্থিতিশীল নয়: একটি প্রদত্ত |
offendingValues | ক্ষেত্র(গুলি) এর মান(গুলি) থাকতে পারে৷ এটি সবসময় পাওয়া যায় না। আপনার এটির উপর একেবারেই নির্ভর করা উচিত নয় এবং এটি শুধুমাত্র ম্যানুয়াল মডেল ডিবাগিংয়ের জন্য ব্যবহার করা উচিত। |
ফিল্ড রেফারেন্স
বৈধতা ত্রুটির জন্য একটি প্রসঙ্গ নির্দিষ্ট করে। একটি FieldReference
সর্বদা এই ফাইলের একটি প্রদত্ত ক্ষেত্রকে নির্দেশ করে এবং একই শ্রেণিবদ্ধ কাঠামো অনুসরণ করে। উদাহরণস্বরূপ, আমরা ব্যবহার করে যানবাহন #5 এর startTimeWindows
এর উপাদান #2 নির্দিষ্ট করতে পারি:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
তবে আমরা বার্তার ভিড় এড়াতে OptimizeToursRequest
বা ShipmentModel
এর মতো শীর্ষ-স্তরের সত্তা বাদ দিই।
JSON প্রতিনিধিত্ব |
---|
{ "name": string, "subField": { object ( |
ক্ষেত্র | |
---|---|
name | ক্ষেত্রের নাম, যেমন, "যান"। |
subField | প্রয়োজনে বারবার নেস্টেড সাব-ফিল্ড। |
ইউনিয়ন ক্ষেত্র | |
index | বারবার হলে ক্ষেত্রের সূচক। |
key | ক্ষেত্রটি একটি মানচিত্র হলে কী। |
মেট্রিক্স
সামগ্রিক মেট্রিক্স, সমস্ত রুটে একত্রিত।
JSON প্রতিনিধিত্ব |
---|
{
"aggregatedRouteMetrics": {
object ( |
ক্ষেত্র | |
---|---|
aggregatedRouteMetrics | রুট উপর একত্রিত. প্রতিটি মেট্রিক হল একই নামের সমস্ত |
skippedMandatoryShipmentCount | এড়িয়ে যাওয়া বাধ্যতামূলক চালানের সংখ্যা। |
usedVehicleCount | ব্যবহৃত যানবাহনের সংখ্যা। দ্রষ্টব্য: যদি একটি যানবাহনের রুট খালি থাকে এবং |
earliestVehicleStartTime | একটি ব্যবহৃত গাড়ির জন্য প্রথম দিকের শুরুর সময়, RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: |
latestVehicleEndTime | একটি ব্যবহৃত গাড়ির সর্বশেষ শেষ সময়, RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: |
costs | সমাধানের খরচ, খরচ-সম্পর্কিত অনুরোধ ক্ষেত্র দ্বারা বিভক্ত। কীগুলি হল প্রোটো পাথ, ইনপুট OptimizeToursRequest-এর সাপেক্ষে, যেমন "model.shipments.pickups.cost", এবং মানগুলি হল সংশ্লিষ্ট খরচ ক্ষেত্রের দ্বারা উত্পন্ন মোট খরচ, সমগ্র সমাধানের উপর একত্রিত৷ অন্য কথায়, খরচ ["model.shipments.pickups.cost"] হল সমাধানের সমস্ত পিকআপ খরচের সমষ্টি। মডেলে সংজ্ঞায়িত সমস্ত খরচ এখানে বিস্তারিতভাবে রিপোর্ট করা হয়েছে ট্রানজিশন অ্যাট্রিবিউটের সাথে সম্পর্কিত খরচগুলি বাদ দিয়ে যেগুলি শুধুমাত্র 2022/01 হিসাবে সমষ্টিগতভাবে রিপোর্ট করা হয়েছে। |
totalCost | সমাধানের মোট খরচ। খরচ ম্যাপে সমস্ত মানের সমষ্টি। |