Route Optimization API-এর উদ্দেশ্য হল একাধিক গাড়ির জন্য রুট প্ল্যান করা যাতে
সেগুলি একাধিক লোকেশনে যেতে পারে। OptimizeToursRequest অবজেক্ট এইসব গাড়ি ও লোকেশনের বৈশিষ্ট্য বর্ণনা করে এবং এটি প্রতিটি এন্ডপয়েন্টের অনুরোধের বডির প্রাথমিক স্ট্রাকচার।
OptimizeToursRequest অবজেক্টের বেসিক স্ট্রাকচার নিচে দেওয়া হল:
modelফিল্ডেShipmentModelমেসেজ থাকে, এতে দুটি মূল ফিল্ড থাকে:
এই ডকুমেন্টে নিম্নলিখিত মেসেজের ধরন বর্ণনা করা হয়েছে:
ShipmentModel: শিপমেন্ট, উপলভ্য গাড়ি এবং অন্যান্য অবজেক্টের তালিকা সংরক্ষণ করে যা তাদের সম্পর্ক বর্ণনা করে।Shipment: কোনও গাড়ি যেসব লোকেশনে যাবে তার বিবরণ দেয়। এগুলি পিক-আপ ও ডেলিভার করার জন্য আসল প্যাকেজ বা এমন জায়গা দেখাতে পারে যেখানে গাড়ির ড্রাইভার পরিষেবা প্রদান করেন।Vehicle: শিপমেন্ট লোকেশনের মধ্যে পরিবহনের মাধ্যম বর্ণনা করে। প্রতিটি গাড়ি আসলে একটি গাড়ি বা হেঁটে ঘুরে বেড়ানো কোনও ব্যক্তিকে বোঝায়।
ShipmentModel
ShipmentModel-এ রুট অপ্টিমাইজেশন সমস্যার এলিমেন্ট থাকে। এতে
শিপমেন্টের একটি সেট থাকে যা যানবাহনের একটি সেট দ্বারা সম্পন্ন করা যেতে পারে, যেখানে
সীমাবদ্ধতা বিবেচনা করা হয় এবং সামগ্রিক খরচ কমানো হয়।
নিচের সারণীতে ShipmentModel-এর কিছু প্রাসঙ্গিক বৈশিষ্ট্য বর্ণনা করা হয়েছে:
| প্রপার্টি | বিবরণ |
|---|---|
shipments ও vehicles |
প্রয়োজনীয় অবজেক্ট যাতে এক বা একাধিক শিপমেন্ট ও গাড়ির বিবরণ থাকে। |
globalStartTime ও globalEndTime |
সময়সীমার শুরু ও শেষ নির্দেশ করে যার মধ্যে সবকটি গাড়িকে সব শিপমেন্ট সম্পূর্ণ করতে হবে। এইসব প্রপার্টি প্রয়োজন না হলেও, এগুলি অন্তর্ভুক্ত করার জন্য সাজেস্ট করা হয় কারণ সময়ের সীমাবদ্ধতা মেনে চললে অপ্টিমাইজার সবচেয়ে ভাল কাজ করে। |
ShipmentModel-এ প্রপার্টির সম্পূর্ণ তালিকা দেখতে রেফারেন্স ডকুমেন্টেশন দেখুন।
ShipmentModel-এর উদাহরণ
এই উদাহরণে, আপনার একটি ডগি ডে কেয়ার পরিষেবা আছে এবং আপনি অনুরোধ তৈরি করা শুরু করছেন। আপনি পরে শিপমেন্ট ও গাড়ি নির্ধারণ করছেন, কিন্তু আপনি ব্যবসার সময় ও প্রতি ঘণ্টার অপারেশনাল খরচ সেট করে শুরু করতে চান।
এই উদাহরণের জন্য, আপনার অনুরোধে ShipmentModel প্রপার্টির ভ্যালু হল
নিম্নলিখিত:
| প্রপার্টি | ভ্যালু | বিবরণ |
|---|---|---|
globalStartTime |
2024-02-13T00:00:00.000Z | ব্যবসার সময় শুরুর তারিখ ও সময়। |
globalEndTime |
2024-02-14T06:00:00.000Z | কর্মসময় শেষ হওয়ার তারিখ ও সময়। |
নিচে ShipmentModel মেসেজের একটি কোড স্যাম্পেল দেওয়া হল, যেখানে
উদাহরণমূলক পরিস্থিতির ভ্যালু অন্তর্ভুক্ত করা হয়েছে।
{ "model": { "shipments": [ ... ], "vehicles": [ ... ], "globalStartTime": "2024-02-13T00:00:00.000Z", "globalEndTime": "2024-02-14T06:00:00.000Z" } }
Shipment
Shipment মেসেজের ধরন কোনও শিপমেন্টের প্রপার্টি স্ট্রাকচারকে সংজ্ঞায়িত করে যা
কোনও রুটে ডেলিভার করা যেতে পারে বা পরিষেবা যা কোনও রুটে পারফর্ম করা যেতে পারে।
ডায়াগ্রামে যেমন দেখানো হয়েছে:
Shipmentমেসেজে বাস্তব জীবনের কোনও শিপমেন্ট বা পরিষেবা সম্পর্কিত সব তথ্য থাকে।- সব
Shipmentমেসেজshipmentsফিল্ডে উল্লেখ করা আছে। shipmentsফিল্ডে এক বা একাধিকShipmentমেসেজ থাকে।
Shipment মেসেজের জন্য অন্তত একটি pickups বা deliveries অবজেক্ট প্রয়োজন।
এইসব অবজেক্টের সংজ্ঞা নিচে দেওয়া হল:
pickupsশিপমেন্টের পিক-আপ লোকেশন নির্ধারণ করে।deliveriesশিপমেন্টের ডেলিভারি লোকেশন নির্ধারণ করে।pickupsএবংdeliveries, দুটিতেইVisitRequestমেসেজের ধরন থাকে যা লোকেশন এবং অন্যান্য বিবরণ নির্ধারণ করে।
Shipment মেসেজে pickups ও deliveries-এর কনফিগারেশনের উপর ভিত্তি করে
বিভিন্ন পরিস্থিতি নিচের সারণীতে বর্ণনা করা হয়েছে।
| পরিস্থিতি | বিবরণ |
|---|---|
শুধুমাত্র pickups |
এটি ধরে নেওয়া হয় যে আপনি শুধুমাত্র শিপমেন্ট সংগ্রহ করছেন। |
শুধুমাত্র deliveries |
এটি ধরে নেওয়া হয় যে আপনি শিপমেন্ট আগে থেকেই লোড করে রেখেছেন অথবা পরিষেবা প্রদান করছেন। |
pickups ও deliveries, দুটি ভাষাতেই |
অ্যাসাইন করা গাড়িকে অবশ্যই প্রথমে পিক-আপ, তারপর ডেলিভারি সম্পূর্ণ করতে হবে। যে গাড়িটি পিক-আপ করেছে সেটিই ডেলিভারি করতে পারবে। |
একাধিক pickups বা deliveries |
কোনও শিপমেন্টে pickups বা deliveries-এর জন্য একাধিক সম্ভাবনা থাকলে, অপ্টিমাইজার খরচ কমানো এবং সীমাবদ্ধতা পূরণের উপর ভিত্তি করে ব্যবহার করার জন্য একটি পিক-আপ বিকল্প এবং একটি ডেলিভারি বিকল্প বেছে নেয়। |
Shipment-এ প্রপার্টির সম্পূর্ণ তালিকা দেখতে রেফারেন্স ডকুমেন্টেশন দেখুন।
Shipment-এর উদাহরণ
এই উদাহরণে, আপনার একটি ডগি ডে-কেয়ার পরিষেবা আছে যেখানে আপনি কুকুরদের তাদের বাড়ি থেকে তুলে নেন এবং তাদের আপনার ডে-কেয়ারে পৌঁছে দেন। আপনি দুটি কুকুরের পিক-আপ লোকেশন সেট করতে চান এবং তাদের ডেলিভারি লোকেশন আপনার ব্যবসায় সেট করতে চান:
- প্রথম কুকুরের বাড়ি সান ফ্রান্সিসকোর কোইট টাওয়ারে। এই লোকেশনের স্থানাঙ্ক হল অক্ষাংশ 37.8024 এবং দ্রাঘিমাংশ -122.4058.
- দ্বিতীয় কুকুরের বাড়িটি সান ফ্রান্সিসকোর সাউথ সানসেট প্লেগ্রাউন্ড পার্কে অবস্থিত। এই লোকেশনের কোঅর্ডিনেট হল অক্ষাংশ ৩৭.৭৩৫৯ এবং দ্রাঘিমাংশ -১২২.৫০১১।
- আপনার ডগি ডে-কেয়ার মিশন ডলোরেস পার্ক, সান ফ্রান্সিসকোতে আছে। এই লোকেশনটির স্থানাঙ্ক হল অক্ষাংশ ৩৭.৭৫৯৭৭৩ এবং দ্রাঘিমাংশ -১২২.৪২৭০৬৩।
নিচে Shipment মেসেজের একটি কোড স্যাম্পেল দেওয়া হল, যেখানে shipments
অবজেক্টে উদাহরণ কোঅর্ডিনেট সহ দুটি Shipmentমেসেজের ধরন আছে।
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] }, { "pickups": [ { "arrivalLocation": { "latitude": 37.7359, "longitude": -122.5011 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] } ], "vehicles": [ ... ] } }
Vehicle
Vehicle মেসেজের ধরন কোনও রুটে শিপমেন্ট করতে পারে এমন গাড়ির প্রপার্টি স্ট্রাকচার
নির্দিষ্ট করে।
ডায়াগ্রামে যেমন দেখানো হয়েছে:
Vehicleমেসেজে বাস্তব জীবনের গাড়ির সব তথ্য থাকে।Vehicleমেসেজগুলিvehiclesফিল্ডে উল্লেখ করা আছে।vehiclesফিল্ডে একাধিকVehicleমেসেজ আছে।
নিম্নলিখিত সারণীতে Vehicle-এর কিছু প্রাসঙ্গিক বৈশিষ্ট্য বর্ণনা করা হয়েছে।
| প্রপার্টি | বিবরণ |
|---|---|
startLocation ও endLocation |
গাড়ির শুরু ও শেষের লোকেশন, যা চূড়ান্ত অপ্টিমাইজ করা রুটের অংশ। উল্লেখ করা না থাকলে, প্রথম শিপমেন্ট পিক-আপ ও শেষ শিপমেন্ট ডেলিভারি লোকেশন ডিফল্ট হিসেবে সেট করা হয়। |
costPerHour, costPerKilometer, costPerTraveledHour |
গাড়ি-নির্দিষ্ট খরচ সংক্রান্ত প্যারামিটার। API-এর জন্য আপনার অনুরোধে অন্তত একটি খরচের প্যারামিটার থাকলে ভালো হয় যাতে এটি একটি অপ্টিমাইজ করা রুট দেখাতে পারে। খরচ সম্পর্কে আরও জানতে খরচ মডেল মূল ধারণা দেখুন। |
startTimeWindows ও endTimeWindows |
কোনও রুটে গাড়ি চালানোর সময়সীমা নির্ধারণ করুন। এগুলি অবশ্যই ShipmentModel-এ সেট করা globalStartTime এবং globalEndTime টাইম উইন্ডোর মধ্যে হতে হবে। এই প্রপার্টি প্রয়োজন না হলেও, এটি যোগ করার জন্য সাজেস্ট করা হয় কারণ সময়ের সীমাবদ্ধতা মেনে চললে অপ্টিমাইজার সবচেয়ে ভাল কাজ করে। |
Vehicle-এর উদাহরণ
এই উদাহরণে, আপনার একটি ডগি ডে-কেয়ার পরিষেবা আছে এবং আপনি দিনের শুরুতে ও শেষে আপনার গাড়ির লোকেশন এবং এটি কতটা গ্যাস খরচ করে তা নির্ধারণ করতে চান। আপনাকে গাড়ির কাজের সময় উল্লেখ করতে হবে না কারণ সেগুলি ShipmentModel অবজেক্টের মধ্যে
globalStartTime এবং globalEndTime প্রপার্টিতে
আপনার উল্লেখ করা সময়ের সাথে মিলে যায়।
এই উদাহরণের জন্য, আপনার অনুরোধে Vehicle প্রপার্টির ভ্যালু হল
নিম্নলিখিত:
| প্রপার্টি | ভ্যালু | বিবরণ |
|---|---|---|
startLocation |
latitude: 37.759773, longitude: -122.427063 |
আপনার গাড়ির জন্য রুটের শুরুর কোঅর্ডিনেট। এগুলি আপনার ডগি ডে কেয়ারের লোকেশনের সাথে ম্যাচ করে, এটি সান ফ্রান্সিসকোর মিশন ডলোরেস পার্কে অবস্থিত। |
endLocation |
latitude: 37.759773, longitude: -122.427063 |
আপনার গাড়ির রুটের গন্তব্যের কোঅর্ডিনেট। এগুলি আপনার ডগি ডে কেয়ারের লোকেশনের সাথে ম্যাচ করে, এটি সান ফ্রান্সিসকোর মিশন ডলোরেস পার্কে অবস্থিত। |
costPerHour |
২৭ | ডগি ডে কেয়ারের গাড়ি চালানোর জন্য আপনি ড্রাইভারকে কত টাকা পেমেন্ট করেন। আপনি ড্রাইভারকে প্রতি ঘণ্টায় ২৭ ডলার পেমেন্ট করেন। |
নিচে Vehicle মেসেজের কোড স্যাম্পেল দেওয়া হল যেখানে উদাহরণ হিসেবে
পরিস্থিতির ভ্যালু অন্তর্ভুক্ত করা হয়েছে।
{ "model": { "shipments": [ ... ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "costPerHour": 27 } ] } }
Vehicle-এ
প্রপার্টির সম্পূর্ণ তালিকা দেখতে রেফারেন্স ডকুমেন্টেশন দেখুন।
অনুরোধের সম্পূর্ণ উদাহরণ
নিম্নলিখিত কোড স্যাম্পেল একটি সম্পূর্ণ অনুরোধের উদাহরণ প্রদান করে, যা এই ডকুমেন্টে দেখানো
ShipmentModel, Shipment এবং Vehicle উদাহরণগুলিকে
একত্রিত করে।
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] }, { "pickups": [ { "arrivalLocation": { "latitude": 37.7359, "longitude": -122.5011 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "costPerHour": 27 } ], "globalStartTime": "2024-02-13T00:00:00.000Z", "globalEndTime": "2024-02-14T06:00:00.000Z" } }