টাইম উইন্ডো একটি রুটে ইভেন্টের সময় নির্দিষ্ট করে। এই ইভেন্টগুলির মধ্যে একটি ড্রাইভারের রুটের শুরু এবং শেষ, নির্ধারিত পিকআপ এবং ডেলিভারির সময়, বা একটি সম্পূর্ণ রুটের সময়কাল অন্তর্ভুক্ত থাকতে পারে।
টাইম উইন্ডোগুলি উদ্দেশ্যগুলিকে সমর্থন করতে পারে যেমন:
- নির্দিষ্ট সময়সীমার মধ্যে পিকআপ এবং ডেলিভারি সম্পন্ন করাকে অগ্রাধিকার দিন ।
- সামগ্রিক ব্যবসায়িক সময়ের মধ্যে কাজ করার জন্য রুট পরিকল্পনা করুন ।
- নির্দিষ্ট সময়সীমার মধ্যে যানবাহন শুরু এবং শেষ রুট নিশ্চিত করুন ।
গঠন
ডায়াগ্রামে দেখানো হয়েছে, টাইম উইন্ডোগুলি নিম্নরূপ গঠন করা হয়েছে:
-
globalStartTime
এবংglobalEndTime
হলShipmentModel
মডেলের বৈশিষ্ট্য -
timeWindows
এর বৈশিষ্ট্য:-
Shipment
ভিতরেpickups
-
Shipment
ভিতরেdeliveries
-
-
startTimeWindows
এবংendTimeWindows
হলVehicle
বৈশিষ্ট্য।
প্রয়োজনীয় চেকলিস্ট
বৈশিষ্ট্য
নিম্নোক্ত সারণী গ্লোবাল টাইম উইন্ডো বৈশিষ্ট্য বর্ণনা করে।
সম্পত্তি | বিন্যাস | বর্ণনা |
---|---|---|
globalStartTime | Timestamp | যে কোনো অনুষ্ঠানের প্রথমতম সময়। |
globalEndTime | Timestamp | যেকোনো ইভেন্টের জন্য সর্বশেষ সময়। |
নিম্নলিখিত টেবিলটি চালান এবং যানবাহনের সময় উইন্ডো বৈশিষ্ট্য বর্ণনা করে।
অভিভাবক | সম্পত্তি | বিন্যাস | বর্ণনা |
---|---|---|---|
Shipment.pickups | timeWindows | TimeWindow বার্তা প্রকারের অ্যারে। | একটি চালান পিকআপের জন্য সময়ের ব্যবধান নির্দিষ্ট করে। |
Shipment.deliveries | timeWindows | একটি চালান ডেলিভারির জন্য সময় অন্তর নির্দিষ্ট করে। | |
Vehicle | startTimeWindows | একটি গাড়ির অপারেটিং সময়সূচীর জন্য শুরুর সময় নির্দিষ্ট করে। | |
endTimeWindows | একটি গাড়ির অপারেটিং সময়সূচীর জন্য শেষ সময় নির্দিষ্ট করে। |
নিম্নলিখিত সারণী একটি TimeWindow
বার্তা প্রকারের বৈশিষ্ট্য বর্ণনা করে।
সম্পত্তি | বিন্যাস | বর্ণনা |
---|---|---|
startTime | স্ট্রিং (RFC3339 UTC "জুলু" ফর্ম্যাট) | একটি সময় উইন্ডোর শুরু. |
endTime | স্ট্রিং (RFC3339 UTC "জুলু" ফর্ম্যাট) | একটা সময় জানালার শেষ। |
উদাহরণ
এই বিভাগে তিন ধরনের উদাহরণ কভার করে:
- কোড নমুনা যা সময় উইন্ডোর গঠন চিত্রিত করে।
- একটি উদাহরণ দৃশ্যকল্প যা ব্যবসার উদ্দেশ্য অর্জনের জন্য সময় উইন্ডো ব্যবহার করার একটি উপায় দেখায়।
- একটি অনুরোধের উদাহরণ যা উদাহরণের দৃশ্যে সেট করা মানগুলিকে অন্তর্ভুক্ত করে।
কোড নমুনা
নিম্নলিখিত বিভাগগুলি বিভিন্ন ধরণের টাইম উইন্ডোর কোড নমুনা দেখায়।
গ্লোবাল টাইম উইন্ডোজ
নিম্নলিখিত কোড নমুনা গ্লোবাল টাইম উইন্ডোর গঠন দেখায়:
{ "model": { "globalStartTime": "YYYY-MM-DDTHH:MM:SSZ", "globalEndTime": "YYYY-MM-DDTHH:MM:SSZ", "shipments": [ ... ], "vehicles": [ ... ] } }
পিকআপ এবং ডেলিভারি সময় উইন্ডোজ
নিম্নলিখিত কোড নমুনা একটি চালানের পিকআপ এবং ডেলিভারির সময় উইন্ডোগুলির গঠন দেখায়:
{ "model": { "shipments": [ { "pickups": [ { "timeWindows": [ { "startTime": "YYYY-MM-DDTHH:MM:SSZ", "endTime": "YYYY-MM-DDTHH:MM:SSZ" } ] } ], "deliveries": [ { "timeWindows": [ { "startTime": "YYYY-MM-DDTHH:MM:SSZ", "endTime": "YYYY-MM-DDTHH:MM:SSZ" } ] } ] } ], "vehicles": [ ... ] } }
গাড়ির সময় জানালা
নিম্নলিখিত কোড নমুনা একটি গাড়ির সময় জানালার গঠন দেখায়:
{ "model": { "shipments": [ ... ], "vehicles": [ { "startTimeWindows": [ { "startTime": "YYYY-MM-DDTHH:MM:SSZ", "endTime": "YYYY-MM-DDTHH:MM:SSZ" } ], "endTimeWindows": [ { "startTime": "YYYY-MM-DDTHH:MM:SSZ", "endTime": "YYYY-MM-DDTHH:MM:SSZ" } ] } ] } }
উদাহরণ দৃশ্যকল্প
এই বিভাগে একটি কুকুর ডে কেয়ার ব্যবসা দৃশ্যকল্প ব্যবহার করে. উদাহরণটি দুটি ভিন্ন বাড়ি থেকে কুকুরকে তুলে নেওয়া এবং নামানোর রুটগুলিকে অপ্টিমাইজ করে এবং মালিকদের কাছে একই পিকআপ এবং ড্রপ অফ টাইম উইন্ডো রয়েছে৷ অপ্টিমাইজারকে ডে-কেয়ারের অপারেটিং ঘন্টা, গ্রাহকদের জন্য নির্দিষ্ট পিকআপ এবং ড্রপ-অফ উইন্ডো এবং ড্রাইভারের কাজের সময়কে সম্মান করা উচিত।
এই উদাহরণের জন্য, অনুরোধে সম্পত্তির মানগুলি নিম্নরূপ:
অভিভাবক | সম্পত্তি | মান | দৃশ্যকল্প |
---|---|---|---|
ShipmentModel | globalStartTime | 2023-01-13T07:00:00Z | আপনার কুকুরের ডে কেয়ারের খোলার সময়কে প্রতিনিধিত্ব করে। এই সময়ের আগে কোনো পিকআপ বা ডেলিভারি ঘটতে পারে না। |
ShipmentModel | globalEndTime | 2023-01-13T19:00:00Z | আপনার কুকুরের ডে-কেয়ারের বন্ধের সময়কে প্রতিনিধিত্ব করে। সমস্ত পিকআপ এবং ডেলিভারি এই সময়ের মধ্যে সম্পন্ন করতে হবে। |
Shipment.pickups | timeWindows | startTime :2023-01-13T07:30:00Z | একটি গ্রাহকের বাড়ি থেকে একটি কুকুর বাছাই করার জন্য গ্রহণযোগ্য উইন্ডো সংজ্ঞায়িত করে৷ এই উদাহরণে, আপনি উভয় গ্রাহককে সকাল 7:30 থেকে সকাল 9:00 এর মধ্যে পিকআপের জন্য উপলব্ধ থাকতে বলেছেন। |
endTime :2023-01-13T09:00:00Z | |||
Shipment.deliveries | timeWindows | startTime :2023-01-13T17:00:00Z | একটি গ্রাহকের বাড়িতে একটি কুকুর ছেড়ে দেওয়ার জন্য গ্রহণযোগ্য উইন্ডো সংজ্ঞায়িত করে৷ এই উদাহরণে, আপনি উভয় গ্রাহককে বলেছেন যে তাদের কুকুরকে বিকেল 5:00 PM থেকে 6:30 PM এর মধ্যে ছেড়ে দেওয়া হবে। |
endTime :2023-01-13T18:30:00Z | |||
Vehicle | startTimeWindows | startTime :2023-01-13T07:00:00Z endTime :2023-01-13T07:15:00Z | গাড়ির শুরু (7:00 AM থেকে 7:15 AM) এবং শেষ (5:00 PM থেকে 5:15 PM) করার জন্য গ্রহণযোগ্য উইন্ডো নির্ধারণ করে। |
endTimeWindows | startTime :2023-01-13T18:45:00Z endTime :2023-01-13T19:00:00Z |
নিম্নলিখিত চিত্রটি এই রুটকে প্রভাবিত করার সময় উইন্ডোগুলিকে চিত্রিত করে৷
এই দৃশ্যে, চিত্র দ্বারা চিত্রিত হিসাবে, সময় উইন্ডোগুলি নিম্নরূপ কাজ করে:
- গ্লোবাল টাইম উইন্ডো ডগি ডে-কেয়ার ব্যবসার সময়কে প্রতিনিধিত্ব করে এবং অন্য সব সময় জানালা অবশ্যই এই টাইম উইন্ডোর ভিতরে পড়তে হবে।
- পিকআপ এবং ডেলিভারির নিজস্ব
timeWindows
থাকে যথাক্রমে দিনের শুরুতে এবং শেষে উইন্ডোজের। - গাড়ির
startTimeWindows
যানবাহন অপারেটরকে একটি সময়সীমা দেয় যেখানে তাদের কাজ শুরু করতে হবে এবংendTimeWindows
আরেকটি সময়সীমা প্রদান করে যেখানে তাদের তাদের দিন শেষ করতে হবে। - প্রথম
startTimeWindow
এর শুরুর সময় এবং শেষendTimeWindow
এর শেষ সময় গাড়ির অপারেটিং ঘন্টাকে সংজ্ঞায়িত করে, যা এই ক্ষেত্রে, গ্লোবাল টাইম উইন্ডোর মতোই৷
অনুরোধ উদাহরণ
নিম্নলিখিত উদাহরণটি একটি optimizeTours
অনুরোধের কাঠামো দেখায় যা উদাহরণের দৃশ্যের সময় উইন্ডোর মানগুলিকে অন্তর্ভুক্ত করে৷
{ "model": { "globalStartTime": "2023-01-13T07:00:00Z", "globalEndTime": "2023-01-13T19:00:00Z", "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 }, "timeWindows": [ { "startTime": "2023-01-13T07:30:00Z", "endTime": "2023-01-13T09:00:00Z" } ] } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "timeWindows": [ { "startTime": "2023-01-13T17:00:00Z", "endTime": "2023-01-13T18:30:00Z" } ] } ] }, { "pickups": [ { "arrivalLocation": { "latitude": 37.7359, "longitude": -122.5011 }, "timeWindows": [ { "startTime": "2023-01-13T07:30:00Z", "endTime": "2023-01-13T09:00:00Z" } ] } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "timeWindows": [ { "startTime": "2023-01-13T17:00:00Z", "endTime": "2023-01-13T18:30:00Z" } ] } ] } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "costPerHour": 27, "startTimeWindows": [ { "startTime": "2023-01-13T07:00:00Z", "endTime": "2023-01-13T07:15:00Z" } ], "endTimeWindows": [ { "startTime": "2023-01-13T18:45:00Z", "endTime": "2023-01-13T19:00:00Z" } ] } ] } }
নরম সময় জানালা
একটি TimeWindow
বার্তার ধরনে softStartTime
এবং softEndTime
সংজ্ঞায়িত করে টাইম উইন্ডোগুলি নরম সীমাবদ্ধতা হিসাবে ব্যবহার করা যেতে পারে। এটি অপ্টিমাইজারকে একটি নির্দিষ্ট খরচে নির্দিষ্ট সময় উইন্ডো থেকে বিচ্যুত করার অনুমতি দেয়, যখন উপকারী হয় তখন সময়সীমার কঠোর আনুগত্যের উপর সামগ্রিক অপ্টিমাইজেশনকে অগ্রাধিকার দেয়।
সফ্ট টাইম উইন্ডোগুলির নিম্নলিখিত ব্যবহারের সীমাবদ্ধতা রয়েছে:
- এগুলি
globalStartTime
এবংglobalEndTime
এ প্রয়োগ করা যাবে না কারণ তারাTimeWindow
বার্তা টাইপ ব্যবহার করে না। - একটি তালিকায় একটি একক
TimeWindow
থাকলেই এগুলি প্রযোজ্য৷
বৈশিষ্ট্য
তিনি নিম্নলিখিত সারণি সময় উইন্ডোর জন্য নরম সীমাবদ্ধতা বৈশিষ্ট্য বর্ণনা করে.
সম্পত্তির নাম | বিন্যাস | সম্পত্তির বিবরণ |
---|---|---|
softStartTime | টাইমস্ট্যাম্প | নরম সময় উইন্ডোর শুরু নির্দিষ্ট করে। এই সময়ের আগে একটি ঘটনা ঘটলে, একটি খরচ খরচ করা হয়. |
softEndTime | টাইমস্ট্যাম্প | নরম সময় উইন্ডোর শেষ নির্দিষ্ট করে। এই সময়ের পরে কোনো ঘটনা ঘটলে, একটি খরচ বহন করা হয়। |
costPerHourBeforeSoftStartTime | সংখ্যা | softStartTime এর আগে একটি ইভেন্ট শুরু হলে প্রতি ঘন্টার খরচ। softStartTime ব্যবহার করার সময় এই বৈশিষ্ট্যটি প্রয়োজন। খরচ কিভাবে বাস্তবায়ন করতে হয় সে সম্পর্কে আরও জানতে খরচ মডেল কী ধারণাটি দেখুন। |
costPerHourAfterSoftEndTime | সংখ্যা | softEndTime এর পরে কোনো ইভেন্ট শেষ হলে প্রতি ঘণ্টার খরচ। softEndTime ব্যবহার করার সময় এই সম্পত্তির প্রয়োজন হয়। খরচ কিভাবে বাস্তবায়ন করতে হয় সে সম্পর্কে আরও জানতে খরচ মডেল কী ধারণাটি দেখুন। |
কোড নমুনা
নিম্নলিখিত উদাহরণটি একটি TimeWindow
বার্তা প্রকারের নরম সীমাবদ্ধতার বৈশিষ্ট্যগুলির গঠন দেখায়:
{ "softStartTime": "SOFT_START_TIME", "softEndTime": "SOFT_END_TIME", "costPerHourBeforeSoftStartTime": COST_BEFORE_START_TIME, "costPerHourAfterSoftEndTime": COST_AFTER_END_TIME }