लोड की मांग और सीमाएं एक तरह की पाबंदी होती हैं. इनका इस्तेमाल, क्षमता को मैनेज करने के लिए किया जा सकता है. इस शर्त से, शिपमेंट की ज़रूरी क्षमता और वाहन की ज़्यादा से ज़्यादा क्षमता के बारे में पता चलता है. इन शर्तों के आधार पर, आपको रास्ते के असाइनमेंट ऑप्टिमाइज़ करने में मदद मिलती है.
लोड की मांग और सीमाओं से इन लक्ष्यों को पूरा करने में मदद मिल सकती है:
- वाहनों में सामान का ओवरलोड होने से रोकना.
- देखें कि शिपमेंट को पिक अप और डिलीवर करने पर, वाहन के लोड में क्या बदलाव होता है.
- भारी लोड वाली शिपमेंट के लिए, हेवी ड्यूटी वाहनों को प्राथमिकता दें.
लोड की मांग और सीमाएं इन प्रॉपर्टी में बताई गई हैं:
loadDemands
से पता चलता है कि किसी शिपमेंट के लिए कितनी क्षमता की ज़रूरत है.loadLimits
से किसी वाहन की ज़्यादा से ज़्यादा क्षमता के बारे में पता चलता है.
बनावट
डायग्राम में दिखाए गए तरीके से, लोड की मांग और सीमाएं तय की जाती हैं:
loadDemands
,Shipment
की प्रॉपर्टी है.Shipment
के लिए, एक से ज़्यादा लोड डिमांड हो सकती हैं.loadLimits
,Vehicle
की प्रॉपर्टी है.Vehicle
के लिए, एक से ज़्यादा लोड सीमाएं हो सकती हैं.
ज़रूरी शर्तों की चेकलिस्ट
नीचे दी गई चेकलिस्ट में, लोड से जुड़ी संभावित गड़बड़ियों से बचने के लिए ज़रूरी जानकारी दी गई है. इस सूची से, आपको अपने अनुरोध की पुष्टि करने और जवाब से जुड़ी समस्या हल करने में मदद मिल सकती है.
प्रॉपर्टी
इस सेक्शन में, लोड की मांग और सीमाओं के लिए प्रॉपर्टी के बारे में बताया गया है. ये प्रॉपर्टी ये हैं:
- लोड टाइप: लोड की मांग और सीमाओं के बीच शेयर की गई प्रॉपर्टी.
Load
औरLoadLimit
: ये यूनीक प्रॉपर्टी हैं. ये लोड डिमांड और लोड सीमाओं में मौजूद होती हैं.
लोड टाइप
लोड टाइप एक स्ट्रिंग पासकोड है, जिसे शिपमेंट और वाहनों पर एक जैसा लागू किया जाता है. एक तरह का लोड, शिपमेंट के लोड की मांग के साथ-साथ वाहन के लोड की सीमा पर भी लागू होता है.
लोड टाइप, प्रोटोकॉल बफ़र मैप टाइप सिंटैक्स का इस्तेमाल करते हैं. लोड टाइप का नाम देते समय, लोड के टाइप और उसकी यूनिट के बारे में बताने वाले आइडेंटिफ़ायर का इस्तेमाल करें. उदाहरण के लिए: weightKg, volume_gallons, palletcount या frequencyDaily.
Load
और LoadLimit
Load
और LoadLimit
ऑब्जेक्ट में, शिपमेंट और वाहनों के लिए क्षमता की ज़रूरी शर्तों को तय करने के लिए खास प्रॉपर्टी होती हैं. यहां दी गई टेबल में इन प्रॉपर्टी के बारे में बताया गया है:
ऑब्जेक्ट | Parent | प्रॉपर्टी | प्रॉपर्टी किस तरह की है | प्रॉपर्टी की जानकारी |
---|---|---|---|---|
Load |
loadDemands |
amount |
स्ट्रिंग (int64 फ़ॉर्मैट) | तय किए गए टाइप में, शिपमेंट की क्षमता की ज़रूरत तय करता है. |
LoadLimit |
loadLimits |
maxLoad |
स्ट्रिंग (int64 फ़ॉर्मैट) | यह तय टाइप के वाहन की ज़्यादा से ज़्यादा लोड क्षमता बताता है. |
उदाहरण
इस सेक्शन में तीन तरह के उदाहरण दिए गए हैं:
- कोड के सैंपल, जो लोड डिमांड और सीमाओं की प्रॉपर्टी के स्ट्रक्चर को दिखाते हैं.
- स्थिति का उदाहरण, जिसमें एपीआई अनुरोध में लोड डिमांड और सीमाओं का इस्तेमाल करने का एक तरीका दिखाया गया है.
- अनुरोध का उदाहरण, जिसमें उदाहरण के तौर पर बताई गई स्थिति में सेट की गई वैल्यू शामिल हैं.
कोड सैंपल
नीचे दिए गए उदाहरण में, लोड डिमांड का स्ट्रक्चर दिखाया गया है. इसमें loadDemands
टाइप को स्ट्रिंग के तौर पर और amount
प्रॉपर्टी को int64 फ़ॉर्मैट में स्ट्रिंग के तौर पर सेट किया जा सकता है:
{ "model": { "shipments": [ ... { "loadDemands": { "MATCHING_LOAD_TYPE": { "amount": "YOUR_LOAD_AMOUNT" } } } ], "vehicles": [ ... ] } }
नीचे दिए गए उदाहरण में, लोड सीमा का सबसे बुनियादी स्ट्रक्चर दिखाया गया है. इसमें loadLimits
टाइप को स्ट्रिंग के तौर पर और maxLoad
प्रॉपर्टी को int64 फ़ॉर्मैट में स्ट्रिंग के तौर पर सेट किया जा सकता है:
{ "model": { "shipments": [ ... ], "vehicles": [ ... { "loadLimits": { "MATCHING_LOAD_TYPE": { "maxLoad": "YOUR_MAX_LOAD" } } } ] } }
उदाहरण के तौर पर
इस सेक्शन में एक उदाहरण दिया गया है. इसमें बताया गया है कि आपके पास डॉग डे केयर का कारोबार है और आपको कुछ कुत्तों को एक वाहन में ले जाने के लिए, रास्ता ऑप्टिमाइज़ करना है. हालांकि, वाहन में सीमित संख्या में क्रेट हैं.
हर शिपमेंट एक स्टॉप को दिखाता है, जहां आपको कुछ कुत्ते लेने हैं. इस उदाहरण में, हर शिपमेंट के लिए पिकअप की जगह अलग-अलग है. यह जगह, उन कुत्तों का घर है जिनकी देखभाल की जाती है. साथ ही, सभी शिपमेंट के लिए डिलीवरी की जगह एक ही है. यह जगह, कुत्तों के डे-केयर की इमारत है.
इस उदाहरण के लिए, आपके अनुरोध में प्रॉपर्टी की वैल्यू ये हैं:
Parent | प्रॉपर्टी | टाइप | मान | स्थिति |
---|---|---|---|---|
loadDemands |
लोड टाइप | स्ट्रिंग | dogUnit |
शिपमेंट के लिए लोड का टाइप तय करता है. इस उदाहरण में dogUnit का इस्तेमाल किया गया है, जहां हर dogUnit एक कुत्ते को दिखाता है. |
loadDemands |
amount |
संख्या | पहला शिपमेंट: 1 दूसरा शिपमेंट: 3 |
तय किए गए लोड टाइप की संख्या बताता है. इस उदाहरण में, दो शिपमेंट तय किए जा रहे हैं. पहले शिपमेंट में एक कुत्ता और दूसरे शिपमेंट में तीन कुत्ते चुने जा रहे हैं. |
loadLimits |
लोड टाइप | स्ट्रिंग | dogUnit |
इससे पता चलता है कि वाहन पर किस तरह की लोड लिमिट लागू होती है. यह सीमा काम की हो, इसके लिए यह शिपमेंट के लोड टाइप से मेल खानी चाहिए. |
loadLimits |
maxLoad |
संख्या | 6 |
इससे पता चलता है कि वाहन में किस तरह के ज़्यादा से ज़्यादा लोड को ले जाया जा सकता है. इस उदाहरण में, आपके पास सिर्फ़ एक वाहन है, जिसमें ज़्यादा से ज़्यादा छह dogUnit ले जाए जा सकते हैं. यहां हर dogUnit , कुत्ते के एक पिंजरे को दिखाता है. |
इस डायग्राम में, वाहन के लोड की सीमाएं, हर शिपमेंट के लोड की मांग, और हर शिपमेंट के लोड की वजह से वाहन के लोड की सीमाओं में होने वाले बदलाव के बारे में बताया गया है:
इस उदाहरण में, हर शिपमेंट के लोड की मांग और वाहन के लोड की सीमाओं का असर इन पर पड़ता है:
ऑप्टिमाइज़र को, कुत्तों को लाने-ले जाने के लिए वाहन का रास्ता जनरेट करने में कोई समस्या नहीं होगी. ऐसा इसलिए, क्योंकि वाहन में ज़्यादा से ज़्यादा छह कुत्ते ले जाए जा सकते हैं और आपको सिर्फ़ चार कुत्ते लेने हैं.
अगर वाहन पर 6
dogUnit
लोड की सीमा है, तो इसका मतलब है कि इस वाहन में सिर्फ़ दो और कुत्ते ले जाए जा सकते हैं.अगर कुत्तों की संख्या, लोड करने की सीमा से ज़्यादा थी, तो ऑप्टिमाइज़र पिक अप करने की किसी एक प्रक्रिया को छोड़ देगा या उसे किसी सही वाहन को असाइन कर देगा.
याद रखें कि पहले से तय किए गए टाइप का कोई सेट नहीं है. इस उदाहरण में, कुत्तों के वज़न को सीमित करने के लिए, लोड टाइप को कुत्तों की यूनिट से वज़न की यूनिट में बदला जा सकता है. इसके अलावा, कुत्तों की चौड़ाई या ऊंचाई को सीमित करने के लिए, इसे लीनियर मेज़रमेंट में बदला जा सकता है. इस सुविधा की मदद से, अपनी ज़रूरतों के हिसाब से लोड की मांग और सीमाएं तय की जा सकती हैं.
अनुरोध का उदाहरण
इस उदाहरण में, उदाहरण के तौर पर दी गई स्थितियों की वैल्यू को शामिल करते हुए, किसी बुनियादी optimizeTours
अनुरोध का स्ट्रक्चर दिखाया गया है:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ], "label": "One bernese mountain dog", "loadDemands": { "dogUnit": { "amount": "1" } } }, { "pickups": [ { "arrivalLocation": { "latitude": 37.7359, "longitude": -122.5011 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ], "label": "Three chihuahuas", "loadDemands": { "dogUnit": { "amount": "3" } } } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "loadLimits": { "dogUnit": { "maxLoad": "6" } }, "costPerKilometer": 1.0 } ] } }
ध्यान रखें कि इस उदाहरण के मामले के उलट, किसी शिपमेंट में कई तरह के सामान लोड करने की ज़रूरत हो सकती है. साथ ही, किसी वाहन में कई तरह के सामान लोड करने की सीमा हो सकती है. इससे, फ़्लीट के रास्तों को ऑप्टिमाइज़ करते समय, जटिल शर्तें दी जा सकती हैं.