এই উদাহরণে, বেসিক খরচ প্যারামিটার সহ কোনও গাড়ির জন্য অ্যাসাইন করা স্টপের ক্রমের বেসিক অপ্টিমাইজেশন দেখানো হয়েছে। এটি নিশ্চিত করে যে সমস্ত স্টপ নির্দিষ্ট সময়সীমার মধ্যে সবচেয়ে সাশ্রয়ী ক্রমে পরিদর্শন করা হয়েছে।
অনুরোধের উদাহরণ
এই উদাহরণ অনুরোধে নিম্নলিখিত কী প্যারামিটার রয়েছে:
populatePolylinesএবংpopulateTransitionPolylines: গাড়ির রুটের জন্য এনকোড করা পলিলাইন পাথ পেতে, এগুলিtrue-এ সেট করুন।globalStartTimeএবংglobalEndTime: ২৪ ঘণ্টার উইন্ডো নির্ধারণ করুন যার মধ্যে সব অ্যাক্টিভিটি সম্পূর্ণ করতে হবে। টাইম উইন্ডো মূল ধারণায় টাইম উইন্ডো সম্পর্কে আরও জানুন।shipments: তিনটি শিপমেন্ট নির্ধারণ করুন, যার প্রত্যেকটি একটি সাধারণ ডিপো লোকেশন থেকে পিক-আপ করা হবে এবং একটি অনন্য গন্তব্যে ডেলিভারি করা হবে। আপনিpenaltyCostসেট করেননি, তাই সব শিপমেন্ট বাধ্যতামূলক।vehicles: একই শুরু ও শেষ লোকেশন সহ একটি গাড়ি সংজ্ঞায়িত করুন। সবচেয়ে সস্তা রুট খুঁজে পেতে অপ্টিমাইজারকে গাইড করতেcostPerKilometerএবংcostPerHourপ্রদান করুন। খরচের মডেল কী কনসেপ্টে খরচ সম্পর্কে আরও জানুন।
অনুরোধের একটি উদাহরণ দেখুন
{ "populatePolylines": true, "populateTransitionPolylines": true, "model": { "globalStartTime": "2023-01-13T16:00:00-08:00", "globalEndTime": "2023-01-14T16:00:00-08:00", "shipments": [ { "deliveries": [ { "arrivalLocation": { "latitude": 37.789456, "longitude": -122.390192 }, "duration": "250s" } ], "pickups": [ { "arrivalLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "duration": "150s" } ] }, { "deliveries": [ { "arrivalLocation": { "latitude": 37.789116, "longitude": -122.395080 }, "duration": "250s" } ], "pickups": [ { "arrivalLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "duration": "150s" } ] }, { "deliveries": [ { "arrivalLocation": { "latitude": 37.795242, "longitude": -122.399347 }, "duration": "250s" } ], "pickups": [ { "arrivalLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "duration": "150s" } ] } ], "vehicles": [ { "endLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "startLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "costPerKilometer": 10.0, "costPerHour": 40.0 } ] } }
উত্তরের উদাহরণ
উত্তরে একটি টপ-লেভেল routes ফিল্ড অন্তর্ভুক্ত থাকে যা প্রস্তাবিত রুটগুলি দেখায়, প্রতিটি গাড়ির জন্য একটি করে রুট থাকে। এই গাইডে অনুরোধের উদাহরণে শুধুমাত্র একটি গাড়ির উল্লেখ করা হয়েছে, তাই routes-এ শুধুমাত্র একটি
ShipmentRoute মেসেজ অন্তর্ভুক্ত করা হয়েছে।
উদাহরণ অনুরোধের উত্তর দেখুন
{ "routes": [ { "vehicleStartTime": "2023-01-14T00:00:00Z", "vehicleEndTime": "2023-01-14T00:36:41Z", "visits": [ { "shipmentIndex": 2, "isPickup": true, "startTime": "2023-01-14T00:00:00Z", "detour": "0s" }, { "shipmentIndex": 1, "isPickup": true, "startTime": "2023-01-14T00:02:30Z", "detour": "150s" }, { "isPickup": true, "startTime": "2023-01-14T00:05:00Z", "detour": "300s" }, { "startTime": "2023-01-14T00:11:25Z", "detour": "0s" }, { "shipmentIndex": 1, "startTime": "2023-01-14T00:19:29Z", "detour": "503s" }, { "shipmentIndex": 2, "startTime": "2023-01-14T00:29:02Z", "detour": "1324s" } ], "transitions": [ { "travelDuration": "0s", "waitDuration": "0s", "totalDuration": "0s", "startTime": "2023-01-14T00:00:00Z", "routePolyline": {} }, { "travelDuration": "0s", "waitDuration": "0s", "totalDuration": "0s", "startTime": "2023-01-14T00:02:30Z", "routePolyline": {} }, { "travelDuration": "0s", "waitDuration": "0s", "totalDuration": "0s", "startTime": "2023-01-14T00:05:00Z", "routePolyline": {} }, { "travelDuration": "235s", "travelDistanceMeters": 795, "waitDuration": "0s", "totalDuration": "235s", "startTime": "2023-01-14T00:07:30Z", "routePolyline": { "points": "kvteFtfjVAA?C?C@C?A?C@AFMj@s@JKb@k@Zc@LSjA}ARWDGdAxAdAvAXa@@k@AsA\\c@FKp@_A\\c@Ze@fA{ALSFGd@o@rAgBB{BZc@" } }, { "travelDuration": "234s", "travelDistanceMeters": 793, "waitDuration": "0s", "totalDuration": "234s", "startTime": "2023-01-14T00:15:35Z", "routePolyline": { "points": "cwseFti_jVRWj@w@x@eAHLNRHJbApAHLX\\V^?@hA~AT\\PVFFDHDFJNp@~@NRLNNTFFUZIJY^Y^g@p@[`@KP{@fAEFSXe@l@c@h@WZY\\?BELk@v@MNa@l@" } }, { "travelDuration": "323s", "travelDistanceMeters": 1204, "waitDuration": "0s", "totalDuration": "323s", "startTime": "2023-01-14T00:23:39Z", "routePolyline": { "points": "cuseFhjVSTY`@Yb@GHEDIJEF]f@IJi@r@oAbBeCfDKLaApAKNQVIPKPCDQJIBIBM@iAJeALqBVC@C?A?QBYDI@C?_@Dc@FO@a@FDp@HfAHvABVDl@Dj@PpCQDiALsALAQASKwAOgBEe@COCYEa@Es@Eg@" } }, { "travelDuration": "209s", "travelDistanceMeters": 665, "waitDuration": "0s", "totalDuration": "209s", "startTime": "2023-01-14T00:33:12Z", "routePolyline": { "points": "{zteFxbajV?CAYEc@AMC_@AOAK?E?CCWAOAKCe@CY?WScDEm@d@EFA\\ENCB?XEVC^E`@EhBUVCNEB?@?\\Er@IMUe@k@k@w@AAMQa@i@SWQWMQi@u@AC?A" } } ], "routePolyline": { "points": "kvteFtfjVAA?C?C@C?A?C@AFMj@s@JKb@k@Zc@LSjA}ARWDGdAxAdAvAXa@@k@AsA\\c@FKp@_A\\c@Ze@fA{ALSFGd@o@rAgBB{BZc@RWj@w@x@eAHLNRHJbApAHLX\\V^?@hA~AT\\PVFFDHDFJNp@~@NRLNNTFFUZIJY^Y^g@p@[@KP{@fAEFSXe@l@c@h@WZY\\?BELk@v@MNa@l@STY@Yb@GHEDIJEF]f@IJi@r@oAbBeCfDKLaApAKNQVIPKPCDQJIBIBM@iAJeALqBVC@C?A?QBYDI@C?_@Dc@FO@a@FDp@HfAHvABVDl@Dj@PpCQDiALsALAQASKwAOgBEe@COCYEa@Es@Eg@?CAYEc@AMC_@AOAK?E?CCWAOAKCe@CY?WScDEm@d@EFA\\ENCB?XEVC^E`@EhBUVCNEB?@?\\Er@IMUe@k@k@w@AAMQa@i@SWQWMQi@u@AC?A" }, "metrics": { "performedShipmentCount": 3, "travelDuration": "1001s", "waitDuration": "0s", "delayDuration": "0s", "breakDuration": "0s", "visitDuration": "1200s", "totalDuration": "2201s", "travelDistanceMeters": 3457 }, "travelSteps": [ { "duration": "0s", "routePolyline": {} }, { "duration": "0s", "routePolyline": {} }, { "duration": "0s", "routePolyline": {} }, { "duration": "227s", "distanceMeters": 794, "routePolyline": { "points": "kvteFtfjVAA?C?C@C?A?C@AFMj@s@JKb@k@Zc@LSjA}ARWDGdAxAdAvAXa@@k@AsA\\c@FKp@_A\\c@Ze@fA{ALSFGd@o@rAgBB{BZc@" } }, { "duration": "233s", "distanceMeters": 791, "routePolyline": { "points": "cwseFti_jVRWj@w@x@eAHLNRHJbApAHLX\\V^?@hA~AT\\PVFFDHDFJNp@~@NRLNNTFFUZIJY^Y^g@p@[`@KP{@fAEFSXe@l@c@h@WZY\\?BELk@v@MNa@l@" } }, { "duration": "322s", "distanceMeters": 1205, "routePolyline": { "points": "cuseFhjVSTY`@Yb@GHEDIJEF]f@IJi@r@oAbBeCfDKLaApAKNQVIPKPCDQJIBIBM@iAJeALqBVC@C?A?QBYDI@C?_@Dc@FO@a@FDp@HfAHvABVDl@Dj@PpCQDiALsALAQASKwAOgBEe@COCYEa@Es@Eg@" } }, { "duration": "208s", "distanceMeters": 666, "routePolyline": { "points": "{zteFxbajV?CAYEc@AMC_@AOAK?E?CCWAOAKCe@CY?WScDEm@d@EFA\\ENCB?XEVC^E`@EhBUVCNEB?@?\\Er@IMUe@k@k@w@AAMQa@i@SWQWMQi@u@AC?A" } } ], "vehicleDetour": "2201s", "routeCosts": { "model.vehicles.cost_per_hour": 24.455555555555556, "model.vehicles.cost_per_kilometer": 34.57 }, "routeTotalCost": 59.025555555555556 } ], "totalCost": 59.025555555555556, "metrics": { "aggregatedRouteMetrics": { "performedShipmentCount": 3, "travelDuration": "1001s", "waitDuration": "0s", "delayDuration": "0s", "breakDuration": "0s", "visitDuration": "1200s", "totalDuration": "2201s", "travelDistanceMeters": 3457 }, "usedVehicleCount": 1, "earliestVehicleStartTime": "2023-01-14T00:00:00Z", "latestVehicleEndTime": "2023-01-14T00:36:41Z", "totalCost": 59.025555555555556, "costs": { "model.vehicles.cost_per_kilometer": 34.57, "model.vehicles.cost_per_hour": 24.455555555555556 } } }
গাড়ির সম্পূর্ণ রুট নিম্নলিখিত ফিল্ডের মাধ্যমে বর্ণনা করা হয়:
visits: এই অ্যারে অপ্টিমাইজ করা অর্ডারে সব পিক-আপ ও ডেলিভারির তালিকা দেখায়। এই উদাহরণে, অপ্টিমাইজার নির্ধারণ করেছে যে সবচেয়ে দক্ষ ক্রম হল প্রথমে ডিপো থেকে তিনটি শিপমেন্টই তুলে নেওয়া, এবং তারপর সেগুলি ডেলিভার করা।transitions: এই অ্যারে প্রতিটি ভিজিটের মধ্যে ভ্রমণ সেগমেন্টের তালিকা দেখায়। তিনটি পিক-আপই একই লোকেশনে হয় বলে, প্রথম তিনটি ট্রানজিশনেরtravelDuration"0s" হয়।routePolyline: টপ-লেভেল পলিলাইন, শুরু থেকে শেষ পর্যন্ত, গাড়ির সম্পূর্ণ পথ দেখায়। এছাড়াও, আপনি প্রতিটিtransitionঅবজেক্টের মধ্যে ছোট পলিলাইন খুঁজে পেতে পারেন যা ভ্রমণের স্বতন্ত্র সেগমেন্টকে দেখায়। মনে রাখবেন: আপনি ইন্টার্যাক্টিভ পলিলাইন এনকোডার ইউটিলিটি ব্যবহার করে এই এবং অন্য যেকোনও পলিলাইন দেখতে পারবেন।