Route Optimization API-এর মূল লক্ষ্য হল সবচেয়ে কম খরচে রুট খুঁজে বের করা। সেই কারণে, রুট অপ্টিমাইজেশনের জন্য খরচ মডেল হল প্রধান চালক।
কস্ট মডেল হল প্রপার্টির একটি সেট যা গ্লোবাল, গাড়ি ও শিপমেন্টের খরচ নির্দিষ্ট করে।
খরচের মডেল প্রপার্টি নিম্নলিখিত ধরনের অপ্টিমাইজেশন উদ্দেশ্যকে সমর্থন করে:
- দক্ষতার সাথে গাড়ি অ্যাসাইন করা ও রুট বেছে নেওয়া
- পিক-আপ ও ডেলিভারির জন্য সাশ্রয়ী সময়
- গুরুত্বপূর্ণ শিপমেন্টকে অগ্রাধিকার দেওয়া
স্ট্রাকচার
ডায়াগ্রামে যেমন দেখানো হয়েছে, খরচ মডেলের প্রপার্টি এইভাবে সাজানো থাকে:
Shipment-এpenaltyCostপ্রপার্টি আছে।Vehicle-এ নিম্নলিখিত প্রপার্টি আছে:
এই ডকুমেন্ট শুধুমাত্র প্রয়োজনীয় কস্ট মডেল প্যারামিটার হাইলাইট করে। খরচের প্যারামিটারের সম্পূর্ণ সেট দেখতে রেফারেন্স ডকুমেন্টেশন দেখুন।
প্রয়োজনীয় চেকলিস্ট
নিম্নলিখিত চেকলিস্টে প্রয়োজনীয় তথ্য বর্ণনা করা হয়েছে যা খরচ-সম্পর্কিত সম্ভাব্য ভুল এড়াতে সাহায্য করে। এই তালিকা আপনাকে অনুরোধ যাচাই করতে এবং আপনার উত্তর সংক্রান্ত সমস্যার সমাধান করতে সাহায্য করতে পারে।
প্রপার্টি
নিম্নলিখিত সারণীতে খরচ মডেলের প্রপার্টি তালিকাভুক্ত ও বর্ণনা করা হয়েছে।
| মা বাবা | প্রপার্টির নাম | প্রপার্টির ধরন | প্রতিটির খরচ | প্রপার্টির বিবরণ |
|---|---|---|---|---|
Shipment |
penaltyCost |
নম্বর | শিপিংয়ের সুবিধা বাদ দেওয়া হয়েছে | শিপমেন্ট বাদ দেওয়ার জন্য যে খরচ হয়েছে। কোনও শিপমেন্ট সম্পূর্ণ করার খরচ তার পেনাল্টি খরচের চেয়ে বেশি হলে API সেটি এড়িয়ে যায়।
|
Vehicle |
fixedCost |
নম্বর | শিপমেন্ট | এই গাড়িটি কোনও শিপমেন্ট হ্যান্ডেল করার জন্য ব্যবহার করা হলে নির্দিষ্ট খরচ প্রযোজ্য হবে। |
costPerHour |
নম্বর | ঘণ্টা | ট্রানজিট, অপেক্ষা, ভিজিট ও বিরতির সময় সহ প্রতি ঘণ্টায় গাড়ি চালানোর খরচ। এই খরচ বাড়লে, অপ্টিমাইজার দ্রুততম রুট খোঁজার চেষ্টা করে, যা সবচেয়ে ছোট রুট নাও হতে পারে। এই প্রপার্টিটি সহজ এবং সম্পূর্ণ হওয়ার কারণে, এটি গাড়ি প্রতি কার্যকর স্বতন্ত্র খরচ হতে পারে। |
|
costPerKilometer |
নম্বর | কিলোমিটার | গাড়ির প্রতি কিলোমিটার ভ্রমণের খরচ, যা জ্বালানি খরচ বা গাড়ির রক্ষণাবেক্ষণের খরচকে বোঝাতে পারে। | |
costPerTraveledHour |
নম্বর | ঘণ্টা | অপেক্ষা, ভিজিট ও বিরতির সময় বাদ দিয়ে, শুধুমাত্র ট্রানজিটে থাকাকালীন প্রতি ঘণ্টায় গাড়ি চালানোর খরচ। এটি ছোট রুটের চেয়ে দ্রুততম রুটে ভ্রমণের উপর বেশি জোর দেয়। |
উদাহরণ
এই বিভাগে তিন ধরনের উদাহরণ কভার করা হয়েছে:
- কোডের নমুনা যা খরচ মডেলের প্রপার্টির গঠন ব্যাখ্যা করে।
- একটি উদাহরণ যা ব্যবসার উদ্দেশ্য পূরণ করার জন্য খরচ মডেল প্রপার্টি ব্যবহার করার একটি উপায় দেখায়।
- একটি অনুরোধের উদাহরণ যাতে উদাহরণ পরিস্থিতিতে সেট করা মানগুলি অন্তর্ভুক্ত থাকে।
কোডের নমুনা
নিম্নলিখিত কোড স্যাম্পেল থেকে
Shipment-এ খরচ মডেল প্রপার্টির গঠন সম্পর্কে জানা যায়:
{ "model": { "shipments": [ ... { "penaltyCost": PENALTY_COST } ], "vehicles": [ ... ] } }
নিম্নলিখিত কোড স্যাম্পেল থেকে
Vehicle-এ খরচ মডেল প্রপার্টির গঠন সম্পর্কে জানা যায়:
{ "model": { "shipments": [ ... ], "vehicles": [ ... { "fixedCost": FIXED_COST, "costPerKilometer": KILOMETER_COST, "costPerHour": HOUR_COST, "costPerTraveledHour": TRAVELED_HOUR_COST } ] } }
পরিস্থিতির উদাহরণ
এই বিভাগে এমন একটি পরিস্থিতি বর্ণনা করা হয়েছে যেখানে আপনার একটি ডগি ডে-কেয়ার ব্যবসা আছে। আপনি কুকুরদের বাড়ি থেকে তুলে আনার জন্য যে ট্রাক ব্যবহার করেন, সেটির জন্য রুট অপ্টিমাইজ করছেন। এই পরিস্থিতিতে, আপনি চান যে অপ্টিমাইজার রুট প্রদান করার সময় কুকুর এবং যানবাহন অপারেশন পিক আপ করার সাথে সম্পর্কিত খরচ বিবেচনা করুক।
এই উদাহরণের জন্য, একটি খরচ ইউনিট ১ ডলারকে উপস্থাপন করে। এর অর্থ হল, আপনার অনুরোধে কস্ট মডেল প্রপার্টি ভ্যালু নিম্নলিখিত:
| প্রপার্টি | ভ্যালু | পরিস্থিতি |
|---|---|---|
penaltyCost |
10 | শিডিউল করা দিনে কুকুর না নিয়ে যাওয়ার জন্য গ্রাহককে যে জরিমানা করা হয় তা দেখায়। আপনি শিডিউল করা দিনে কুকুরটিকে না তুললে, গ্রাহক তার পরিষেবার মোট খরচ থেকে ৪০ ডলার ছাড় পাবেন। |
fixedCost |
৩০ | আপনার গাড়ির লোনের পেমেন্টের দৈনিক খরচ দেখায়, যা প্রতিদিন ৩০ ডলার। |
costPerKilometer |
০.০৮ | আপনার গাড়ি প্রতি কিলোমিটারে কতটা গ্যাসোলিন খরচ করে তা দেখায়। আপনার গাড়ি চালাতে প্রতি কিলোমিটারে ০.০৪ গ্যালন জ্বালানি লাগে এবং আপনার অঞ্চলে প্রতি গ্যালন জ্বালানির দাম ২ ডলার। |
costPerHour |
২৭ | আপনার গাড়ি চালানোর জন্য ড্রাইভারকে কত টাকা পেমেন্ট করেন তা দেখায়। আপনি ড্রাইভারকে প্রতি ঘণ্টায় ২৭ ডলার পেমেন্ট করেন। |
costPerTraveledHour |
২.৫ | রাস্তায় থাকাকালীন কুকুরের জন্য গাড়ির এয়ার কন্ডিশনিংয়ের জন্য আপনাকে প্রতি ঘণ্টায় কত পেমেন্ট করতে হবে তা দেখায়। গাড়ি যখন চলছে না, তখন চালক পিছনের দরজা খুলতে এবং এয়ার কন্ডিশনিং বন্ধ করতে পারেন। |
খরচের প্যারামিটারের উপর ভিত্তি করে, অপ্টিমাইজার এমন ট্রেড-অফ করতে পারে যা ব্যবহারকারীর কাছে স্পষ্ট নয়, তবে অপ্টিমাইজেশনের মাধ্যমে খুঁজে পাওয়া যেতে পারে।
নিচের ডায়াগ্রামে এমন একটি উদাহরণ দেখানো হয়েছে যেখানে অপ্টিমাইজার লাল ডটেড লাইনে ট্রাফিক এড়াতে সবুজ ড্যাশড লাইনের মাধ্যমে দীর্ঘতর কিন্তু দ্রুততর রুট বেছে নিতে পারে।

এই পরিস্থিতিতে, দুটি রুটের খরচের ব্যালেন্স নিম্নলিখিত:
সবুজ ড্যাশ লাইনে
costPerHourওcostPerTraveledHourকম থাকে কারণ এটি ট্রাফিক এড়িয়ে যাওয়ার দ্রুত রুট, যাcostPerKilometerবেশি হলেও আরও সাশ্রয়ী।লাল ডটেড লাইনের
costPerKilometerকম, কারণ এটি সরাসরি রুট, কিন্তু ট্রাফিকে অপেক্ষা করার সময়ের কারণেcostPerHourএবংcostPerTraveledHourঅনেক বেশি, তাই এটি সবচেয়ে ব্যয়বহুল রুট।
খরচ-সাশ্রয়ী রুট প্রদান করার পাশাপাশি, অপ্টিমাইজার রেসপন্স প্রপার্টি-তে ডেলিভারি রুটের মোট খরচের যোগফলও প্রদান করে।
অনুরোধের উদাহরণ
নিম্নলিখিত উদাহরণে, উদাহরণ হিসেবে দেখানো পরিস্থিতিতে সেট করা ভ্যালু সহ একটি সাধারণ optimizeTours
অনুরোধের স্ট্রাকচার দেখানো হয়েছে:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] "penaltyCost": 40 } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "fixedCost": 30, "costPerKilometer": 0.08, "costPerHour": 27, "costPerTraveledHour": 2.5 } ] } }
রেসপন্স প্রপার্টি
OptimizeToursResponse মেসেজে খরচ সংক্রান্ত প্রপার্টি আছে
যা কোনও রুট সম্পূর্ণ করার প্রসেসে হওয়া খরচ বর্ণনা করে:
metrics.costs: খরচ-সম্পর্কিত অনুরোধ ফিল্ড অনুযায়ী সব রুটের মোট খরচ।metrics.totalCost: সব রুটের মোট খরচ যোগ করা হয়েছে।