تقاضاها و محدودیت های بار نوعی محدودیت هستند که می توانید برای مدیریت ظرفیت از آنها استفاده کنید. آنها ظرفیت مورد نیاز یک محموله و حداکثر ظرفیت یک وسیله نقلیه را مشخص می کنند که به شما امکان می دهد تعیین مسیر را بر اساس این محدودیت ها بهینه کنید.
تقاضاها و محدودیتهای بار میتوانند از اهدافی مانند:
- از بارگیری بیش از حد وسایل نقلیه جلوگیری کنید.
- نظارت کنید که چگونه بارهای وسیله نقلیه با تحویل و تحویل محموله ها تغییر می کند.
- تعداد دفعاتی که یک وسیله نقلیه می تواند از یک مکان خاص بازدید کند را محدود کنید.
تقاضاها و محدودیت های بار در این ویژگی ها مشخص می شوند:
-
loadDemands
مقدار ظرفیت مورد نیاز یک محموله خاص را مشخص می کند. -
loadLimits
حداکثر ظرفیت را برای یک وسیله نقلیه مشخص می کند.
ساختار
همانطور که در نمودار نشان داده شده است، تقاضاها و محدودیت های بار به صورت زیر ساختار یافته اند:
-
loadDemands
یک ویژگیShipment
است. یکShipment
می تواند چندین بار تقاضا داشته باشد. -
loadLimits
یکی از ویژگی هایVehicle
است. یکVehicle
می تواند محدودیت های بار متعددی داشته باشد.
خواص
این بخش ویژگی های تقاضا و محدودیت های بار را توضیح می دهد که به شرح زیر است:
- نوع بار: یک ویژگی مشترک بین تقاضاها و محدودیت های بار.
-
Load
وLoadLimit
: ویژگی های منحصر به فرد موجود در تقاضای بار و محدودیت های بار.
نوع بار
انواع بار کلیدهای رشته ای هستند که نوع تقاضای بار برای یک محموله و محدودیت های بار برای یک وسیله نقلیه را مشخص می کنند. انواع بار دارای این ویژگی های مهم هستند:
- تعریف شده توسط کاربر: انواع بارگذاری آنهایی هستند که شما تعریف می کنید. هیچ متغیر سیستمی از پیش تعریف شده برای انواع بار وجود ندارد.
- اشتراکگذاری شده: منظور از انواع بار بین محمولهها و وسایل نقلیه مشترک است. این بدان معنی است که یک محموله تنها زمانی ظرفیت یک وسیله نقلیه را تا حد مجاز مصرف می کند که نوع بار آنها مطابقت داشته باشد. اگر وسیله نقلیه محدودیتی برای یک نوع بار مشخص نکرده باشد، می تواند مقدار نامحدودی از آن نوع بار را حمل کند.
کلیدهای رشته ای که انواع بار را نشان می دهند از نحو نوع نقشه Protocol Buffers استفاده می کنند. برای جلوگیری از بروز مشکلات، این کلیدهای رشته ای نباید خالی باشند . هنگام نامگذاری یک نوع بار، توصیه می شود از شناسه هایی استفاده کنید که نوع بار و واحد آن را توصیف می کنند. به عنوان مثال: وزن کیلوگرم ، حجم_گالن ، تعداد پالت ، یا فرکانس روزانه .
Load
و LoadLimit
اشیاء Load
و LoadLimit
حاوی ویژگی های خاصی برای تعریف ظرفیت مورد نیاز برای محموله ها و وسایل نقلیه هستند، جدول زیر این ویژگی ها را توضیح می دهد:
شیء | پدر و مادر | اموال | نوع ملک | توضیحات ملک |
---|---|---|---|---|
Load | loadDemands | amount | رشته (فرمت int64) | ظرفیت مورد نیاز محموله را در نوع مشخص شده تعریف می کند. |
LoadLimit | loadLimits | maxLoad | رشته (فرمت int64) | حداکثر ظرفیت بار خودرو را در نوع مشخص شده مشخص می کند. |
نمونه ها
مثال زیر ساختار تقاضای بار را نشان میدهد که در آن میتوانید نوع loadDemands
را بهعنوان یک رشته و ویژگی amount
را بهعنوان رشته در قالب int64 تنظیم کنید:
"loadDemands": {
"MATCHING_LOAD_TYPE ": {
"amount": "YOUR_LOAD_AMOUNT "
}
}
مثال زیر ابتدایی ترین ساختار یک محدودیت بار را نشان می دهد، که در آن می توانید نوع loadLimits
را به عنوان یک رشته و ویژگی maxLoad
را به عنوان یک رشته در قالب int64 تنظیم کنید:
"loadLimits": {
"MATCHING_LOAD_TYPE ": {
"maxLoad": "YOUR_MAX_LOAD "
}
}
آن را امتحان کنید
از مثال های کد بالا برای ایجاد یک سناریوی تخیلی استفاده کنید. در این سناریو، شما یک محموله به وزن 10 کیلوگرم و یک وسیله نقلیه که می تواند 100 کیلوگرم را حمل کند، دارید:
در مثال
loadDemands
، نوع بار راweightKg
تعریف کنید.پس از انجام این کار، نوع بار در مثال
loadLimits
نیز پر می شود و نوع بار را به اشتراک می گذارد. به یاد داشته باشید که برای محموله برای مصرف محدودیت های وسیله نقلیه، انواعloadDemands
وloadLimits
باید مطابقت داشته باشند .در همان مثال
loadDemands
، ویژگیamount
را10
قرار دهید.این بدان معناست که وزن محموله 10 کیلوگرم است.
در مثال
loadLimits
، ویژگیmaxLoad
را روی100
تنظیم کنید.این بدان معناست که این وسیله نقلیه می تواند حداکثر 100 کیلوگرم وزن را حمل کند.
به یاد داشته باشید که هیچ مجموعه ای از انواع از پیش تعریف شده وجود ندارد . در این مثال، می توانید کیلوگرم را به نقطه تغییر دهید، یا آن را به جای وزن به اندازه گیری های خطی تغییر دهید. این انعطافپذیری به شما امکان میدهد تا تقاضاها و محدودیتهای بار را برای نیازهای خاص خود تنظیم کنید.
درخواست نمونه
مثال زیر ساختار یک درخواست اولیه optimizeTours
را با loadDemands
در یک محموله و loadLimits
در یک وسیله نقلیه نشان می دهد:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "loadDemands": { "MATCHING_LOAD_TYPE ": { "amount": "YOUR_LOAD_AMOUNT " } } } ], "vehicles": [ { "startLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "endLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "costPerKilometer": 1.0, "loadLimits": { "MATCHING_LOAD_TYPE ": { "maxLoad": "YOUR_MAX_LOAD " } } } ] } }
به یاد داشته باشید که یک محموله میتواند چندین بار تقاضا داشته باشد، و یک وسیله نقلیه میتواند محدودیتهای بار متعددی داشته باشد، که به شما امکان میدهد محدودیتهای پیچیدهای را برای بهینهسازی مسیرهای ناوگان خود در نظر بگیرید.