लोड की मांग और सीमाएं एक तरह की पाबंदी होती हैं. इनका इस्तेमाल, क्षमता को मैनेज करने के लिए किया जा सकता है. इनसे शिपमेंट की ज़रूरी क्षमता और वाहन की ज़्यादा से ज़्यादा क्षमता के बारे में पता चलता है. इन सीमाओं के आधार पर, आपको रास्ते के असाइनमेंट को ऑप्टिमाइज़ करने में मदद मिलती है.
लोड की मांग और सीमाओं से इन लक्ष्यों को पूरा करने में मदद मिल सकती है:
- वाहनों में सामान का ओवरलोड होने से रोकना.
- देखें कि शिपमेंट को पिक अप और डिलीवर करने पर, वाहन के लोड में क्या बदलाव होता है.
- यह तय करना कि कोई वाहन किसी खास जगह पर कितनी बार जा सकता है.
लोड की मांग और सीमाएं इन प्रॉपर्टी में बताई गई हैं:
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 फ़ॉर्मैट में स्ट्रिंग के तौर पर सेट किया जा सकता है:
"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 किलोग्राम का सामान ले जाया जा सकता है.
याद रखें कि पहले से तय किए गए टाइप का कोई सेट नहीं है. इस उदाहरण में, आपके पास किलोग्राम को पॉइंट में बदलने का विकल्प है. इसके अलावा, वज़न के बजाय, इसे लीनियर मेज़रमेंट में भी बदला जा सकता है. इस सुविधा की मदद से, अपनी ज़रूरतों के हिसाब से लोड की मांग और सीमाएं तय की जा सकती हैं.
अनुरोध का उदाहरण
यहां दिए गए उदाहरण में, शिपमेंट में loadDemands
और वाहन में loadLimits
के साथ बुनियादी optimizeTours
अनुरोध का स्ट्रक्चर दिखाया गया है:
{ "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 " } } } ] } }
ध्यान रखें कि किसी शिपमेंट में एक से ज़्यादा लोड की मांग हो सकती है. साथ ही, किसी वाहन में एक से ज़्यादा लोड की सीमाएं हो सकती हैं. इससे आपको अपने फ़्लीट के रास्तों को ऑप्टिमाइज़ करते समय, मुश्किल शर्तें देने की सुविधा मिलती है.