এই পৃষ্ঠায় রুট অপটিমাইজেশন এপিআই (Route Optimization API) ব্যবহার করে একটি রুট প্ল্যানের জীবনচক্র বর্ণনা করা হয়েছে, যা আপনার রাউটিংয়ের প্রয়োজনীয়তা শনাক্ত করা থেকে শুরু করে আপনার সিস্টেমে একটি সমন্বিত রুট প্ল্যান অন্তর্ভুক্ত হওয়া পর্যন্ত বিস্তৃত।
পথ পরিকল্পনার পর্যায়গুলো অনুসরণ করলে আপনি নিম্নলিখিত উদ্দেশ্যগুলো অর্জন করতে পারবেন:
- আপনার ফ্লিট অপারেশন ম্যাপ করুন: আপনার বাস্তব ফ্লিট, জটিল সীমাবদ্ধতা এবং ব্যবসায়িক লক্ষ্যগুলিকে API-এর জন্য কোডে রূপান্তর করুন।
- আপনার ব্যবসার জন্য রুট পরিকল্পনা অপ্টিমাইজ করুন: আপনার রুট পরিকল্পনাকে কীভাবে আরও উন্নত করা যায় তা বুঝুন, যাতে এটি আপনার লক্ষ্য পূরণ করতে এবং আপনার দৈনন্দিন কার্যক্রম উন্নত করতে পারে।
- প্রোডাকশনে স্থাপন করুন: আপনার রুট প্ল্যানটি দৈনন্দিন কার্যক্রমে অন্তর্ভুক্ত করে বাস্তবায়ন করুন।
নিম্নোক্ত চিত্রটিতে একটি রুট প্ল্যানের জীবনকাল দেখানো হয়েছে।
একটি রুট প্ল্যানের বাস্তবায়ন পর্যায় শুরু হয় যখন আপনি প্রথমবার এপিআই (API) ইন্টিগ্রেট করেন অথবা যখন আপনার ব্যবসায়িক প্রয়োজনীয়তা উল্লেখযোগ্যভাবে পরিবর্তিত হয়। এটি ১ থেকে ৫ পর্যন্ত পর্যায়গুলো অন্তর্ভুক্ত করে।
দৈনন্দিন কার্যক্রম পর্যায়টি তুলনামূলকভাবে হালকা এবং এতে পরিমার্জনের প্রয়োজন খুব কম। এটি ২ থেকে ৪ পর্যন্ত পর্যায়গুলো অন্তর্ভুক্ত করে।
একটি রুটের জীবনচক্রের পর্যায়গুলো নিম্নরূপ:
- আপনার সমস্যার পরিধি নির্ধারণ করুন: এপিআই ব্যবহার শুরু করার আগে আপনার কার্যক্রমের একটি পূর্ণাঙ্গ চিত্র পেতে আপনার উদ্দেশ্য, সম্পদ, কাজ এবং সীমাবদ্ধতাগুলো চিহ্নিত ও সংগঠিত করুন।
- আপনার ডেটা ম্যাপ করুন: আপনার ব্যবসায়িক বাস্তবতাকে এপিআই প্যারামিটারে রূপান্তর করুন, যাতে রুট প্ল্যানটি আপনার ফ্লিট পরিচালনার প্রয়োজনীয়তাকে প্রতিফলিত করে।
- একটি অনুরোধ তৈরি করুন এবং রুট প্ল্যান পান: API-তে আপনার ডেটা প্রবেশ করান এবং আপনার জন্য অপ্টিমাইজ করা রুট প্ল্যানটি পেয়ে যান।
- আপনার পথ পরিকল্পনা পরিমার্জন করুন: আপনার পথ পরিকল্পনাটি পরীক্ষা করুন এবং আপনার সীমাবদ্ধতা ও উদ্দেশ্যগুলো সমন্বয় করে এটিকে বারবার উন্নত করুন, যাতে এটি আপনার সমস্ত প্রয়োজন পূরণ করে।
- রুট প্ল্যান সমন্বিত করুন: কার্যকর নেভিগেশন প্রদানের জন্য আপনার বিদ্যমান সিস্টেমগুলোর সাথে রুট প্ল্যানটি সংযুক্ত করুন।
আপনার সমস্যার পরিধি নির্ধারণ করুন
এপিআই ব্যবহার করার আগে, আপনাকে আপনার দৈনন্দিন কার্যক্রমের বিবরণগুলোকে সুস্পষ্ট ডেটা ক্যাটাগরিতে সাজিয়ে নিতে হবে। এর ফলে, আপনার বর্তমান রিসোর্স ও কাজগুলো কী, সেগুলোর সীমাবদ্ধতা কী এবং আপনার ফ্লিট দিয়ে আপনি কী কী উদ্দেশ্য অর্জন করতে চান, সে সম্পর্কে স্বচ্ছ ধারণা নিয়ে আপনি আপনার বাস্তবায়ন প্রক্রিয়া শুরু করতে পারবেন।
আপনার সম্পদ এবং কাজগুলো চিহ্নিত করুন
আপনার রুট পরিকল্পনা করার সময় একটি গুরুত্বপূর্ণ পদক্ষেপ হলো আপনার সম্পদ এবং কাজগুলো চিহ্নিত করা, যেগুলো হলো আপনার যানবাহন এবং পণ্য চালান।
| যানবাহনগুলো | চালানগুলি |
|---|---|
|
|
আপনার সীমাবদ্ধতাগুলো চিহ্নিত করুন
আপনার সীমাবদ্ধতা হলো আপনার যানবাহন ব্যবহারের পদ্ধতি এবং পণ্য চালান ব্যবস্থাপনার ক্ষেত্রে প্রযোজ্য সীমা ও বিধিনিষেধ। এগুলি আপনার অধিকাংশ কার্যক্রমকে নিয়ন্ত্রণ করে এবং একটি সর্বোত্তম পথ পরিকল্পনা তৈরির ক্ষেত্রে অপরিহার্য।
সীমাবদ্ধতাগুলো সাধারণত দুটি শ্রেণীতে বিভক্ত:
| কঠোর সীমাবদ্ধতা | নরম সীমাবদ্ধতা |
|---|---|
| এগুলো এমন সীমা যা লঙ্ঘন করা যায় না । উদাহরণস্বরূপ, একটি ট্রাক তার সর্বোচ্চ ধারণক্ষমতার চেয়ে বেশি ওজন বহন করতে পারে না এবং একজন চালক কোনো দোকান বন্ধ হয়ে যাওয়ার পর মালামাল সংগ্রহ করতে যেতে পারে না। | এগুলো হলো এমন কিছু পছন্দ যা প্রয়োজনে লঙ্ঘন করা যেতে পারে , সাধারণত জরিমানা সাপেক্ষে। উদাহরণস্বরূপ, আপনি হয়তো একটি ট্রাককে তার ধারণক্ষমতার ৮০% পর্যন্ত বোঝাই করতে বা নির্ধারিত সময়ের আগে ডেলিভারি দিতে পছন্দ করেন, কিন্তু আরও ভালো একটি পথ পাওয়ার জন্য এই সীমাগুলো অতিক্রম করতেও আপনার আপত্তি নেই। |
সাধারণ সীমাবদ্ধতাগুলোর মধ্যে রয়েছে:
- ধারণক্ষমতার সীমা: একটি যানবাহন সর্বোচ্চ যত ওজন, আয়তন বা জিনিসপত্র বহন করতে পারে।
- সময়সীমা: কোনো স্থান পরিদর্শনের জন্য খোলা থাকার নির্দিষ্ট সময়, অথবা কোনো চালকের নির্দিষ্ট কর্মঘন্টা।
- খরচ: যানবাহন চালানোর বা কোনো চালান বাদ দেওয়ার খরচ। এপিআই-এর অন্যতম প্রধান লক্ষ্য হলো একটি সাশ্রয়ী পথ পরিকল্পনা তৈরি করা।
- চালকের বিরতি: শ্রম আইন অনুযায়ী একটি নির্দিষ্ট সংখ্যক কর্মঘণ্টার পর চালকের জন্য প্রয়োজনীয় বিশ্রামের সময়।
আপনার ব্যবসায়িক উদ্দেশ্য নির্ধারণ করুন
একবার আপনি আপনার সম্পদ, কাজ এবং সেগুলোর সীমাবদ্ধতা নির্ধারণ করে ফেললে, আপনার ব্যবসার জন্য কোন পরিমাপকগুলো সবচেয়ে গুরুত্বপূর্ণ তা স্থির করার সময় আসে। এই উদ্দেশ্যগুলো সীমাবদ্ধতার সাথে ওতপ্রোতভাবে জড়িত, এবং একটি কর্মপন্থা পরিকল্পনা করার সময় কোনটি সবচেয়ে গুরুত্বপূর্ণ তা নির্ধারণ করতে এগুলো আপনাকে সাহায্য করে।
ব্যবসায়িক উদ্দেশ্যের কয়েকটি উদাহরণ নিচে দেওয়া হলো:
| ফ্লিটের আকার | দূরত্ব | সময় | খরচ |
|---|---|---|---|
| আপনি কি ব্যবহৃত যানবাহনের সংখ্যা কমাতে চান, নাকি দিনের কাজ আগে শেষ করার জন্য আপনার সমস্ত যানবাহন ব্যবহার করতে চান? | আপনি কি জ্বালানি সাশ্রয়ের জন্য সবচেয়ে ছোট পথটি চান, নাকি মহাসড়ক ব্যবহারের কারণে দীর্ঘতর হলেও দ্রুততর কোনো পথ পছন্দ করেন? | আপনি কি মোট কাজের সময় কমাতে চান, নাকি নির্দিষ্ট সময়ে পৌঁছানোকে অগ্রাধিকার দিতে চান, যা পথে ব্যয়িত সময়কে দীর্ঘায়িত করতে পারে? | আপনি কি মজুরি ও জ্বালানির মতো পরিচালন ব্যয় কমাতে চান, নাকি কঠোর সময়সীমা পূরণের জন্য বেশি খরচ মেনে নিতে চান? |
আপনার ডেটা ম্যাপ করুন
একবার আপনার ডেটা সংগ্রহ করা হয়ে গেলে, সেটিকে এপিআই-এর বৈশিষ্ট্যগুলোর সাথে মিলিয়ে ম্যাপ করুন। এটি অপটিমাইজারকে এমন একটি রুট প্ল্যান ফেরত দেওয়ার জন্য সমস্ত তথ্য দেয়, যা আপনার ব্যবসায়িক বাস্তবতাকে বিবেচনায় রাখে।
'আপনার সমস্যার পরিধি' বিভাগে আপনি যে সম্পদ, কাজ, সীমাবদ্ধতা এবং উদ্দেশ্যগুলো চিহ্নিত করেছিলেন, সেগুলোকে পরবর্তী সারণিগুলোর প্যারামিটারগুলো ব্যবহার করে চিহ্নিত করুন।
পরিবর্তনশীল ম্যাপিং
| বাস্তব জগতের ধারণা | এপিআই প্যারামিটার | বর্ণনা |
|---|---|---|
| চালক বা যানবাহন | model.vehicles[] | আপনার গাড়িবহরের একটিমাত্র যানবাহনকে প্রতিনিধিত্ব করে। |
| ডিপো অবস্থান | vehicles[].startWaypointvehicles[].endWaypoint | যে স্থান থেকে যানবাহনটি তার যাত্রা শুরু ও শেষ করে। |
| আপনার ব্যবসার সময় | model.globalStartTimemodel.globalEndTime | পুরো নৌবহরের কার্যক্রমের সর্বনিম্ন শুরুর সময় এবং সর্বোচ্চ শেষের সময়। |
| কাজ বা প্যাকেজ | model.shipments[] | এটি একটি কাজকে বোঝায়। এটি কোনো pickup , delivery বা উভয়ই হতে পারে। |
| কাজের অবস্থান | pickups[].arrivalWaypointdeliveries[].arrivalWaypoint | যে ভৌগোলিক স্থানে কাজটি সংঘটিত হয়। |
| পরিষেবার সময় | pickups[].durationdeliveries[].duration | যাতায়াতের সময় বাদে, নির্দিষ্ট স্থানে কাজটি (যেমন, মাল নামানো) সম্পন্ন করতে ব্যয়িত সময়। |
সীমাবদ্ধতা ম্যাপিং
| বাস্তব জগতের সীমাবদ্ধতা | এপিআই প্যারামিটার | বর্ণনা |
|---|---|---|
| যানবাহনের ধারণক্ষমতা | vehicles[].loadLimits | যানবাহনের ধারণক্ষমতার জন্য কঠোর বা নমনীয় সীমা নির্ধারণ করে। যদি কোনো চালানের loadDemand অবশিষ্ট সীমা অতিক্রম করে, তবে তা বরাদ্দ করা হয় না। |
| প্যাকেজের আকার | shipments[].loadDemands | একটি চালানের জন্য যানবাহনের ধারণক্ষমতার যে পরিমাণ প্রয়োজন হয়। |
| যানবাহন সীমাবদ্ধতা | shipments[].allowedVehicleIndices | কোনো চালানকে এমনভাবে সীমাবদ্ধ করে যাতে তা শুধুমাত্র নির্দিষ্ট যানবাহন বা চালক দ্বারাই সংগ্রহ বা বিতরণ করা যায়। |
| উপলব্ধ সময় | shipments[].pickups[].timeWindows অথবা shipments[].deliveries[].timeWindows | কোনো একটি স্থান পরিদর্শনের জন্য উপলব্ধ সময় নির্ধারণ করে। যদি কোনো যানবাহন এই সময়ের মধ্যে পৌঁছাতে না পারে, তবে চালানটি বাদ দেওয়া হয়। |
| স্থানান্তরের দৈর্ঘ্যের সীমা | vehicles[].routeDurationLimit | বৈশ্বিক শেষ সময় নির্বিশেষে, একটি নির্দিষ্ট ড্রাইভার কতক্ষণ কাজ করতে পারবে তার উপর একটি কঠোর বা শিথিল সীমা নির্ধারণ করে (উদাহরণস্বরূপ, সর্বোচ্চ ৮ ঘণ্টা)। |
| চালকের বিরতি | vehicles[].breakRule | নির্দিষ্ট বিশ্রাম বিধি প্রয়োগ করে, যেমন নির্দিষ্ট কর্মঘণ্টার পর বাধ্যতামূলক বিরতি। |
| সড়ক বিধিনিষেধ | vehicles[].travelMode | ভ্রমণের মাধ্যম নির্দিষ্ট করে (যেমন, DRIVE বা BICYCLE )। এটি পথকে বৈধ রাস্তায় সীমাবদ্ধ করে এবং ভ্রমণের সময় গণনার জন্য ব্যবহৃত গতি নির্ধারণ করে। |
উদ্দেশ্যমূলক ম্যাপিং
| বাস্তব জগতের উদ্দেশ্য | এপিআই প্যারামিটার | বর্ণনা |
|---|---|---|
| বহরের আকার কমানো | vehicles[].fixedCost | যানবাহন ব্যবহারের জন্য এককালীন খরচ প্রযোজ্য হয়। উচ্চ স্থির খরচের কারণে একটি রুটে মোট দূরত্ব বা কাজের সময় বাড়ানোর পরিবর্তে কম যানবাহন ব্যবহারকে অগ্রাধিকার দিতে হয়। |
| দূরত্ব কমানো | vehicles[].costPerKilometer | প্রতি কিলোমিটার ভ্রমণের জন্য খরচ ধার্য করে। জ্বালানি ও ক্ষয়ক্ষতি বাঁচাতে ছোট পথকে অগ্রাধিকার দেয়। |
| মোট সময় কমানো | vehicles[].costPerHour | যানবাহনটি সক্রিয় থাকার প্রতিটি ঘণ্টার জন্য (যাতায়াত এবং অপেক্ষার সময় সহ) একটি খরচ প্রযোজ্য হয়। দ্রুত কাজ সম্পন্ন করাকে অগ্রাধিকার দেয়। |
| গাড়িতে যাতায়াতের সময় কমান | vehicles[].costPerTraveledHour | বিশেষভাবে চলাচলে ব্যয়িত সময়ের জন্য একটি খরচ আরোপ করে। এটি ট্র্যাফিকের মধ্যে বসে থাকা (ব্যয়বহুল) এবং স্টপে অপেক্ষা করার (সম্ভাব্যভাবে সস্তা) মধ্যে পার্থক্য করে। |
| নির্দিষ্ট কাজগুলোকে অগ্রাধিকার দিন | shipments[].penaltyCost | কোনো নির্দিষ্ট চালান বাদ পড়লে একটি খরচ প্রযোজ্য হয়। এটি উচ্চ হারে সেট করলে ঐচ্ছিক কাজের চেয়ে গুরুত্বপূর্ণ কাজগুলো অগ্রাধিকার পায়। |
অনুরোধটি তৈরি করুন এবং একটি প্রতিক্রিয়া পান
রুট অপটিমাইজেশন এপিআই ব্যবহার করে একটি রুট প্ল্যান তৈরি করতে নিম্নলিখিত ধাপগুলো অনুসরণ করতে হয়:
- আপনার পরিবেশ কনফিগার করুন: আপনার গুগল ক্লাউড প্রজেক্ট সেট আপ করুন, এপিআই (API) সক্রিয় করুন এবং অথেনটিকেশন কনফিগার করুন। নির্দেশাবলীর জন্য, ‘শুরু করা’ (Getting started ) দেখুন। আপনাকে এই ধাপটি শুধুমাত্র একবার অনুসরণ করতে হবে।
- অনুরোধ পাঠান: পূর্ববর্তী বিভাগে সংজ্ঞায়িত ডেটা ম্যাপিং ব্যবহার করে অনুরোধের মূল অংশটি তৈরি করুন। এন্ডপয়েন্ট, হেডার এবং অনুরোধের বিন্যাস সম্পর্কে তথ্যের জন্য, "একটি এপিআই অনুরোধ করুন" দেখুন।
- প্রতিক্রিয়াটি বুঝুন: এপিআই থেকে প্রতিক্রিয়া পাওয়ার পর, রুট প্ল্যান এবং প্রতিটি প্যারামিটারের অর্থ বুঝুন। ‘একটি প্রতিক্রিয়া ব্যাখ্যা করুন ’ দেখুন।
আপনার রুট পরিকল্পনা পরিমার্জন করুন
বাস্তব লজিস্টিকসকে এপিআই (API) খরচ এবং সীমাবদ্ধতায় রূপান্তর করা একটি জটিল কাজ। আপনার প্রাথমিক রুট পরিকল্পনা আপনার ব্যবসায়িক উদ্দেশ্য বা চালকের প্রত্যাশার সাথে নাও মিলতে পারে। আপনার রুট পরিকল্পনা পরিমার্জন করা হলো একটি পুনরাবৃত্তিমূলক প্রক্রিয়া, যেখানে আপনি প্রাপ্ত রুটগুলো পরীক্ষা করেন এবং আপনার প্যারামিটারগুলো সামঞ্জস্য করতে থাকেন, যতক্ষণ না আপনি এমন একটি সেটআপ খুঁজে পান যা আপনার লক্ষ্যগুলো অর্জন করে।
উদ্দেশ্য এবং সীমাবদ্ধতা সমন্বয় করুন
তৈরি করা রুট প্ল্যানটি যদি আপনার প্রয়োজন মেটাতে না পারে, তবে ভিন্ন ফলাফল পাওয়ার জন্য আপনি নির্দিষ্ট কিছু প্যারামিটার পরিবর্তন করতে পারেন। প্যারামিটার কঠোর বা শিথিল করার মাধ্যমে রুট প্ল্যানে পরস্পরবিরোধী লক্ষ্যগুলো কীভাবে সমাধান করা হবে, তা পরিবর্তিত হয়। আপনার রুট প্ল্যানে কোন প্যারামিটারগুলো ত্রুটির কারণ হচ্ছে, তা খুঁজে বের করার একটি কার্যকর উপায় হলো প্যারামিটার শিথিল করা।
নিম্নলিখিত সারণিতে সাধারণ রাউটিং সমস্যা এবং সেগুলি সমাধানের জন্য আপনি যে প্যারামিটারগুলি পরিবর্তন করতে পারেন তার একটি তালিকা দেওয়া হলো।
| দৃশ্যকল্প | প্যারামিটার | সমন্বয় | বর্ণনা |
|---|---|---|---|
| একটি গুরুত্বপূর্ণ চালান বাদ পড়েছে | shipments[].penaltyCost | এর মূল্য বৃদ্ধি করুন, অথবা অন্যান্য চালানে জরিমানা খরচ যোগ করুন। | চালানটি ঐচ্ছিক হলে, সেটিকে অগ্রাধিকার দেওয়ার জন্য এর জরিমানা খরচ বাড়িয়ে দিন। চালানটি বাধ্যতামূলক হলে (যার কোনো জরিমানা খরচ নেই), অন্যান্য কম গুরুত্বপূর্ণ চালানের সাথে জরিমানা খরচ যোগ করুন। এতে সেগুলো ঐচ্ছিক হয়ে যায়, যা গুরুত্বপূর্ণ চালানটির জন্য গাড়ির সময় ও ধারণক্ষমতা বাঁচায়। |
| সময়ের কারণে চালানটি বাদ পড়েছে। | softStartTime / softEndTime | সফট টাইম উইন্ডো যোগ করুন | হার্ড টাইম উইন্ডো এক মিনিট দেরি হলেও কাজ বাতিল করে দেয়। সফট উইন্ডো ড্রাইভারকে কাজটি ব্যর্থ না করে, বরং একটি "মূল্য" প্রদানের মাধ্যমে নির্ধারিত সময়ের সামান্য পরে পৌঁছানোর সুযোগ দেয়। |
| ওজনের কারণে চালানটি বাতিল করা হয়েছে। | loadLimits[].softMaxLoad এবং costPerUnitAbove | সফট লোডের চাহিদা যোগ করুন | প্যাকেজ ফেলে আসার পরিবর্তে, একটি যানবাহনকে (জরিমানার বিনিময়ে) তার আদর্শ ধারণক্ষমতা সামান্য অতিক্রম করার অনুমতি দেওয়া হয়। |
| বহরে অতিরিক্ত কাজের চাপের কারণে চালানটি বাতিল করা হয়েছে। | model.vehicles[] or shipments[].timeWindows | যানবাহন যোগ করুন অথবা সময়সীমা শিথিল করুন | বর্তমান যানবাহনবহরের জন্য চালানের পরিমাণ খুব বেশি হয়ে গেলে, বিশেষ করে ব্যস্ততম সময়ে, কাজের চাপ ভাগ করে নেওয়ার জন্য আরও যানবাহন যোগ করুন অথবা ডেলিভারির সময়সীমা বাড়িয়ে দিন। |
| পথগুলো খুব দীর্ঘ বা অদক্ষ | vehicles[].costPerKilometer / costPerHour | খরচ যোগ করুন বা তাদের মূল্য বৃদ্ধি করুন | এপিআই-কে জানানো হয় যে ভ্রমণ ব্যয়বহুল, যা এটিকে দূরবর্তী ও বিচ্ছিন্ন স্টপগুলো বাদ দিয়ে ফ্লিটের জন্য আরও সংক্ষিপ্ত রুট তৈরি করতে উৎসাহিত করে। |
| ড্রাইভারের শিফটগুলো অনেক দীর্ঘ | vehicles[].routeDurationLimit অথবা model.vehicles[] | সময়সীমা যোগ করুন, অথবা যানবাহন ও সীমা যোগ করুন। | একজন চালক রাস্তায় মোট যত সময় কাটাবেন, তার উপর একটি কঠোর সীমা (যেমন, ৮ ঘণ্টা) আরোপ করে। শুধু যানবাহন যোগ করলেই রুটের দৈর্ঘ্য কমবে না, যদি না আপনি সময়সীমাও প্রয়োগ করেন, যা সলভারকে বৃহত্তর ফ্লিটের মধ্যে কাজের চাপ বন্টন করতে বাধ্য করে। |
রুট প্ল্যান আপডেট করুন
প্রায়শই মূল কাঠামো একই রেখে একটি রুট প্ল্যান আপডেট করার প্রয়োজন হয়, যেমন কোনো সক্রিয় ড্রাইভারের শিডিউলে একটি পিকআপ যোগ করা। এটি করার জন্য, ইনজেকশন প্যারামিটার ব্যবহার করুন, যা আপনার পূর্ববর্তী সমাধানের উপর ভিত্তি করে API-কে একটি সূচনা প্রদান করে, ফলে এটি একেবারে নতুন করে একটি প্ল্যান গণনা করার পরিবর্তে বিদ্যমান প্ল্যানটিই পরিবর্তন করতে পারে।
ইনজেকশন প্যারামিটার ব্যবহার করে একটি রুট প্ল্যান আপডেট করার বিভিন্ন উপায় নিচে দেওয়া হলো:
- পূর্ববর্তী প্রতিক্রিয়া থেকে রুটগুলি আপনার নতুন অনুরোধের '
injectedFirstSolutionRoutesফিল্ডে পাস করুন। এটি অপ্টিমাইজেশন অনুসন্ধানকে ত্বরান্বিত করে এবং দৈনন্দিন কার্যক্রম শুরু হওয়ার আগে পুনঃপরিকল্পনার জন্য উপযোগী, যেমন শেষ মুহূর্তের চালান একীভূত করা। -
injectedSolutionConstraintফিল্ডটি ব্যবহার করে পরিবর্তনের মাত্রা নিয়ন্ত্রণ করুন। অপারেশন ইতিমধ্যে চলমান থাকলে এটি কার্যকর, যা আপনাকে ড্রাইভারের বর্তমান ক্রম বজায় রাখতে অথবা পরিকল্পনার যে অংশগুলো ইতিমধ্যে সম্পাদিত হয়েছে তা সংশোধন করতে সাহায্য করে। - আপডেট করা রুটটি সঠিক যানবাহনের সাথে সংযুক্ত আছে কিনা তা নিশ্চিত করতে
interpretInjectedSolutionsUsingLabelstrueতে সেট করুন। চালান এবং যানবাহন যোগ বা অপসারণ করার সময় পরীক্ষামূলক কাজে এটি সহায়ক, কারণ এটি ইনডেক্সের পরিবর্তে লেবেল ব্যবহার করে রুট মেলায়। এর জন্য সমস্ত যানবাহন এবং চালানের লেবেল অনন্য হতে হবে।
আপনার রুট পরিকল্পনা একীভূত করুন
আপনার চূড়ান্ত রুট প্ল্যানটি একটি ডেটা অবজেক্ট, যা আপনার সীমাবদ্ধতা ও উদ্দেশ্যগুলো অনুসরণ করে আপনার সম্পদ এবং কাজগুলোর সর্বোত্তম ব্যবস্থাপনার প্রতিনিধিত্ব করে। এই রুট প্ল্যানটিকে আপনার সিস্টেমে একীভূত করে দৈনন্দিন কার্যক্রমে ব্যবহার করুন। এর মধ্যে সাধারণত ফ্লিট ম্যানেজারদের জন্য আপনার রুট প্ল্যানটি দৃশ্যমান করা এবং চালকদের ধাপে ধাপে নির্দেশনা পাঠানো অন্তর্ভুক্ত থাকে।
ভিজ্যুয়ালাইজেশন
ফ্লিট ম্যানেজারদের আপনার রুট প্ল্যান যাচাই ও নিরীক্ষণ করার সুযোগ দিতে, আপনি নিম্নলিখিত উপায়ে আপনার রুট প্ল্যানটি দেখতে পারেন:
ফ্লিট ম্যানেজারদের আপনার রুট প্ল্যান যাচাই ও নিরীক্ষণ করার সুযোগ দিতে, আপনি এটি একটি ড্যাশবোর্ড ম্যাপে প্রদর্শন করতে পারেন। আপনার বর্তমান উন্নয়ন পর্যায়ের উপর নির্ভর করে, আপনি নিম্নলিখিত উপায়ে আপনার রুট প্ল্যানটি দেখতে পারেন:
- কোড ছাড়াই অন্বেষণ করুন: এপিআই কীভাবে আপনার ডেটাকে মানচিত্রে বাস্তব পথে রূপান্তরিত করে, তা দেখতে আপনি ওপেন-সোর্স রুট অপটিমাইজেশন অ্যাপটি ব্যবহার করতে পারেন। এই ওয়েব অ্যাপ্লিকেশনটি একটি অন্বেষণমূলক টুল হিসেবে কাজ করে, যা আপনাকে কোনো কোড লেখার আগেই বিভিন্ন সিনারিও তৈরি করতে, সীমাবদ্ধতার প্যারামিটারগুলো সমন্বয় করতে এবং আপনার চূড়ান্ত রুট প্ল্যানগুলো দৃশ্যমানভাবে রেন্ডার করতে দেয়।
- ভিজিটের ক্রম প্রদর্শন করুন: আপনার নিজের সিস্টেমে অপটিমাইজেশন এবং ডিসপ্যাচ পরিকল্পনা মূল্যায়ন করার জন্য, আপনি একটি মানচিত্রে সংখ্যাযুক্ত বিন্দু হিসাবে ভিজিটগুলির ক্রম দেখাতে পারেন। এটি করার জন্য, API রেসপন্সের প্রতিটি রুটের মধ্যে '
visits' অ্যারেটি খুঁজুন। এই অ্যারের আইটেমগুলি ঠিক সেই ক্রমে সাজানো থাকে যেভাবে ড্রাইভারের সেগুলি সম্পাদন করা উচিত। আপনি এই তালিকার মধ্যে দিয়ে পুনরাবৃত্তি করতে পারেন, প্রতিটি স্টপের অবস্থানের স্থানাঙ্ক পুনরুদ্ধার করতেshipmentIndexব্যবহার করতে পারেন, এবং তালিকায় তাদের ক্রম অনুসারে মানচিত্রে সংখ্যাযুক্ত মার্কার রেন্ডার করতে আপনার ম্যাপিং লাইব্রেরি ব্যবহার করতে পারেন। - বাস্তব পথটি আঁকুন: অপটিমাইজার কেন একটি নির্দিষ্ট ক্রম বেছে নিয়েছে তা বোঝার জন্য আপনি একটি মানচিত্রে সুনির্দিষ্ট পরিকল্পিত পথটি দেখতে পারেন। এই পলিলাইনটি পরিকল্পনা এবং মূল্যায়নের জন্য উদ্দিষ্ট পথকে উপস্থাপন করে, কোনো চালকের নেওয়া বাস্তব সময়ের পথকে নয়। প্রতিটি রুটের জন্য একটি
encodedPolylineফিল্ড পেতে আপনার অনুরোধেpopulatePolylines: trueসেট করুন এবং Maps JavaScript API- এরgoogle.maps.geometry.encoding.decodePath()পদ্ধতি ব্যবহার করে এটিকে ডিকোড করুন।
ড্রাইভারদের কাছে প্রেরণ
আপনি নেভিগেশন এসডিকে ব্যবহার করে আপনার ড্রাইভার অ্যাপ্লিকেশনে টার্ন-বাই-টার্ন বৈশিষ্ট্যটি যুক্ত করতে পারেন, অথবা গুগল ম্যাপস কনজিউমার অ্যাপে ডিপ লিঙ্ক প্রদান করতে পারেন।
- নেভিগেশন SDK: আপনার যদি একটি কাস্টম ড্রাইভার অ্যাপ্লিকেশন থাকে, তাহলে আপনি অ্যাপের মধ্যেই ধাপে ধাপে দিকনির্দেশনার জন্য অ্যান্ড্রয়েড বা আইওএস- এর নেভিগেশন SDK ইন্টিগ্রেট করতে পারেন। আপনি এপিআই রেসপন্স থেকে টাস্কের তথ্য আপনার সিস্টেমে ইন্টিগ্রেট করতে পারেন এবং নেভিগেশনের জন্য SDK ব্যবহার করতে পারেন। এপিআই রেসপন্স থেকে রাউটগুলো SDK-তে পাঠানোর জন্য, আপনার রিকোয়েস্টে
populateTransitionPolylines: trueসেট করুন। এটি রেসপন্সের প্রতিটি ট্রানজিশনের জন্য একটিrouteTokenতৈরি করে। - ফ্লিট ইঞ্জিন : উন্নত ফ্লিট ব্যবস্থাপনার জন্য, আপনি এপিআই (API) দ্বারা তৈরি রুট প্ল্যানটি ফ্লিট ইঞ্জিনে ইম্পোর্ট করে রিয়েল টাইমে রুটের বাস্তবায়ন পর্যবেক্ষণ করতে পারেন। এপিআই মূল্যায়নের জন্য উদ্দিষ্ট পথের একটি পলিলাইন প্রদান করলেও, ফ্লিট ইঞ্জিন আপনার পরিকল্পিত পরিদর্শনের ক্রমকে লাইভ যানবাহন ট্র্যাকিংয়ের সাথে যুক্ত করে।