मांग और सीमाएं लोड करें

loadDemands प्रॉपर्टी की जानकारी, ShipmentModel.shipments.Shipment में दी गई है. वहीं, loadLimits प्रॉपर्टी की जानकारी ShipmentModel.vehicles.Vehicle में दी गई है.

लोड की मांग और सीमाएं एक तरह की पाबंदी होती हैं. इनका इस्तेमाल, क्षमता को मैनेज करने के लिए किया जा सकता है. इनसे शिपमेंट की ज़रूरी क्षमता और वाहन की ज़्यादा से ज़्यादा क्षमता के बारे में पता चलता है. इन सीमाओं के आधार पर, आपको रास्ते के असाइनमेंट को ऑप्टिमाइज़ करने में मदद मिलती है.

लोड की मांग और सीमाओं से इन लक्ष्यों को पूरा करने में मदद मिल सकती है:

  • वाहनों में सामान का ओवरलोड होने से रोकना.
  • देखें कि शिपमेंट को पिक अप और डिलीवर करने पर, वाहन के लोड में क्या बदलाव होता है.
  • यह तय करना कि कोई वाहन किसी खास जगह पर कितनी बार जा सकता है.

लोड की मांग और सीमाएं इन प्रॉपर्टी में बताई गई हैं:

  • 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 किलोग्राम का वज़न ले सकता है:

  1. loadDemands उदाहरण में, लोड टाइप को weightKg के तौर पर तय करें.

    ऐसा करने के बाद, loadLimits उदाहरण में लोड टाइप भी भर जाएगा, जिसमें लोड टाइप शेयर किया जाएगा. ध्यान रखें कि वाहन की सीमाओं का इस्तेमाल करने के लिए, शिपमेंट में loadDemands और loadLimits के टाइप मैच होने चाहिए.

  2. loadDemands के उसी उदाहरण में, amount प्रॉपर्टी को 10 पर सेट करें.

    इसका मतलब है कि शिपमेंट का वज़न 10 किलोग्राम है.

  3. 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"
          }
        }
      }
    ]
  }
}

ध्यान रखें कि किसी शिपमेंट में एक से ज़्यादा लोड की मांग हो सकती है. साथ ही, किसी वाहन में एक से ज़्यादा लोड की सीमाएं हो सकती हैं. इससे आपको अपने फ़्लीट के रास्तों को ऑप्टिमाइज़ करते समय, मुश्किल शर्तें देने की सुविधा मिलती है.