এই উদাহরণে, সাধারণ খরচ সংক্রান্ত প্যারামিটার সহ কোনও গাড়ির জন্য অ্যাসাইন করা স্টপের ক্রমের একটি সাধারণ অপ্টিমাইজেশন দেখানো হয়েছে। এটি নিশ্চিত করে যে সমস্ত স্টপ নির্দিষ্ট সময়সীমার মধ্যে সবচেয়ে সাশ্রয়ী ক্রমে পরিদর্শন করা হয়েছে।
অনুরোধের উদাহরণ
এই উদাহরণ অনুরোধে নিম্নলিখিত কী প্যারামিটার রয়েছে:
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অবজেক্টের মধ্যে ছোট পলিলাইন খুঁজে পেতে পারেন যা স্বতন্ত্র ভ্রমণ সেগমেন্টকে দেখায়। মনে রাখবেন: আপনি ইন্টার্যাক্টিভ পলাইন এনকোডার ইউটিলিটি ব্যবহার করে এগুলি ও অন্যান্য পললাইন ভিজ্যুয়ালাইজ করতে পারবেন।