রুট অপ্টিমাইজেশন API-এর উদ্দেশ্য হল যানবাহনের একটি বহরকে নির্দিষ্ট স্থানে পরিদর্শনের জন্য রুট পরিকল্পনা করা। OptimizeToursRequest অবজেক্ট এই যানবাহন এবং অবস্থানগুলির বৈশিষ্ট্য বর্ণনা করে এবং প্রতিটি এন্ডপয়েন্টের অনুরোধ বডির প্রাথমিক কাঠামো।
OptimizeToursRequest অবজেক্টের বেস স্ট্রাকচার নিম্নরূপ:
-
modelফিল্ডটিতে একটিShipmentModelবার্তা রয়েছে যার মধ্যে দুটি মূল ফিল্ড রয়েছে:
এই নথিতে নিম্নলিখিত বার্তার ধরণগুলি বর্ণনা করা হয়েছে:
-
ShipmentModel: চালানের তালিকা, উপলব্ধ যানবাহন এবং অন্যান্য বস্তু ধারণ করে যা তাদের সম্পর্ক বর্ণনা করে। -
Shipment: একটি যানবাহন যে স্থানগুলিতে যাবে তার বর্ণনা দেয়। এগুলি প্রকৃত প্যাকেজগুলি তুলে নেওয়ার এবং পৌঁছে দেওয়ার জন্য বা গাড়ির চালক যে স্থানগুলিতে পরিষেবা প্রদান করেন সেগুলি উপস্থাপন করতে পারে। -
Vehicle: চালানের স্থানগুলির মধ্যে পরিবহনের মাধ্যম বর্ণনা করে। প্রতিটি যানবাহন একটি প্রকৃত যানবাহন বা পায়ে হেঁটে চলাচলকারী ব্যক্তির সাথে মিলে যায়।
ShipmentModel
ShipmentModel রুট অপ্টিমাইজেশন সমস্যার উপাদানগুলিকে ধারণ করে। এতে কিছু যানবাহন দ্বারা পরিচালিত শিপমেন্টের একটি সেট রয়েছে, একই সাথে সীমাবদ্ধতা বিবেচনা করে এবং সামগ্রিক খরচ কমিয়ে আনা যায়।
নীচের টেবিলে ShipmentModel এর কিছু প্রাসঙ্গিক বৈশিষ্ট্য বর্ণনা করা হয়েছে:
| বৈশিষ্ট্য | বিবরণ |
|---|---|
shipments এবং vehicles | এক বা একাধিক চালান এবং যানবাহনের বিবরণ ধারণকারী প্রয়োজনীয় জিনিসপত্র। |
globalStartTime এবং globalEndTime | সময়সীমার শুরু এবং শেষ নির্দেশ করে যেখানে সমস্ত যানবাহনকে সমস্ত চালান সম্পন্ন করতে হবে। যদিও এই বৈশিষ্ট্যগুলি প্রয়োজনীয় নয়, তবে এগুলি অন্তর্ভুক্ত করার পরামর্শ দেওয়া হচ্ছে কারণ সময় সীমাবদ্ধতা মেনে চলার সময় অপ্টিমাইজার সবচেয়ে ভাল কাজ করে। |
ShipmentModel এর সম্পত্তির সম্পূর্ণ তালিকার জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।
ShipmentModel উদাহরণ
এই উদাহরণে, আপনার একটি ডগি ডে-কেয়ার পরিষেবা আছে এবং আপনি আপনার অনুরোধ তৈরি শুরু করছেন। আপনি শিপমেন্ট এবং যানবাহন পরে সংজ্ঞায়িত করছেন, তবে আপনি আপনার ব্যবসায়িক সময় এবং ঘন্টার পর ঘন্টা পরিচালনার খরচ নির্ধারণ করে শুরু করতে চান।
এই উদাহরণের জন্য, আপনার অনুরোধে ShipmentModel সম্পত্তির মানগুলি নিম্নরূপ:
| সম্পত্তি | মূল্য | বিবরণ |
|---|---|---|
globalStartTime | ২০২৪-০২-১৩T০০:০০:০০.০০০Z | ব্যবসার সময়ের শুরুর তারিখ এবং সময়। |
globalEndTime | ২০২৪-০২-১৪T০৬:০০:০০.০০০Z | ব্যবসার সময়ের শেষ তারিখ এবং সময়। |
নিচে 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 উদাহরণ
এই উদাহরণে, আপনার একটি ডগি ডে-কেয়ার পরিষেবা আছে যেখানে আপনি তাদের বাড়ি থেকে কুকুর তুলে আপনার ডে-কেয়ারে পৌঁছে দেন। আপনি দুটি কুকুরের পিক আপ লোকেশন সেট করতে চান এবং আপনার ব্যবসার জন্য তাদের ডেলিভারি লোকেশন সেট করতে চান:
- প্রথম কুকুরের আবাসস্থল সান ফ্রান্সিসকোর কোইট টাওয়ারে। এই অবস্থানের স্থানাঙ্ক হল অক্ষাংশ ৩৭.৮০২৪ এবং দ্রাঘিমাংশ -১২২.৪০৫৮।
- দ্বিতীয় কুকুরটির বাসা সান ফ্রান্সিসকোর সাউথ সানসেট প্লেগ্রাউন্ড পার্কে। এই অবস্থানের স্থানাঙ্ক হল অক্ষাংশ ৩৭.৭৩৫৯ এবং দ্রাঘিমাংশ -১২২.৫০১১।
- তোমার ডগি ডে কেয়ার সান ফ্রান্সিসকোর মিশন ডোলোরেস পার্কে। এই অবস্থানের স্থানাঙ্ক হল অক্ষাংশ ৩৭.৭৫৯৭৭৩ এবং দ্রাঘিমাংশ -১২২.৪২৭০৬৩।
নিচে একটি 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 : ৩৭.৭৫৯৭৭৩, longitude : -১২২.৪২৭০৬৩ | আপনার গাড়ির রুটের শুরুর স্থানাঙ্ক। এগুলি সান ফ্রান্সিসকোর মিশন ডোলোরেস পার্কে অবস্থিত আপনার ডগি ডে কেয়ারের অবস্থানের সাথে মিলে যায়। |
endLocation | latitude : ৩৭.৭৫৯৭৭৩, longitude : -১২২.৪২৭০৬৩ | আপনার গাড়ির রুটের শেষ স্থানাঙ্ক। এগুলি সান ফ্রান্সিসকোর মিশন ডোলোরেস পার্কে অবস্থিত আপনার ডগি ডে কেয়ারের অবস্থানের সাথে মিলে যায়। |
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" } }