कॉन्टेंट लोड करने की लागत के साथ अनुरोध करना

ऑप्टिमाइज़र को विज़िट के बीच आपके वाहनों के भार को ध्यान में रखने के लिए, लोड की लागत के साथ अनुरोध करें. खर्च की गई लागत, ट्रांज़िशन के लिए इस्तेमाल किए गए ShipmentRoute.VehicleLoad की संख्या और ट्रांज़िशन की दूरी या अवधि (cost_per_kilometer या cost_per_traveled_hour का इस्तेमाल करके) दोनों पर निर्भर करती है.

लोड लागत के साथ कम से कम अनुरोध का उदाहरण

यहां लोड लागत वाले अनुरोध का एक उदाहरण दिया गया है. इस उदाहरण में, एक वाहन में weightKg का कुल 1,000 कि॰ग्रा॰ से ज़्यादा लोड नहीं ले जाया जा सकता. अगर weightKg का लोड 500 कि॰ग्रा॰ से ज़्यादा है, तो हर किलोमीटर के लिए एक यूनिट शुल्क लिया जाता है.

  {
    "model": {
      "vehicles": [{
        "loadLimits": {
          "weightKg": {
            "maxLoad": "1000",
            "costPerKilometer": {
              "loadThreshold": "500",
              "costPerUnitAboveThreshold": 1
            }
          }
        }
      }]
    }
  }
  

इस उदाहरण में, लोड के लिए खरीदार से लिए जाने वाले शुल्क का हिसाब इस तरह लगाया गया है:

cost = max(carried load - load threshold, 0) * distance * cost per unit above threshold

इसलिए, अगर वाहन 10 किलोमीटर में 600 weightKg लोड ले जाता है, तो हिसाब यह होगा:

(600 - 500) * 10 * 1 = 1000 cost units

लोड की लागत का इस्तेमाल, कई तरह के कॉन्सेप्ट को मॉडल करने के लिए किया जा सकता है. जैसे, भारी लोड को ट्रांसपोर्ट करते समय वाहन की ऊर्जा का ज़्यादा इस्तेमाल या वाहन में ज़्यादा लोड करने की वजह से वाहन का खराब होना.

लोड करने की लागत के साथ अनुरोध का दूसरा उदाहरण

यहां लोड लागत का एक और उदाहरण दिया गया है, जिसमें थ्रेशोल्ड से ऊपर और नीचे, दोनों के लिए, ट्रैवल किए गए समय के हिसाब से लागत तय की जाती है:

  {
    "model": {
      "vehicles": [{
        "loadLimits": {
          "weightLbs": {
            "maxLoad": "1000",
            "costPerTraveledHour": {
              "loadThreshold": "900",
              "costPerUnitAboveThreshold": 10,
              "costPerUnitBelowThreshold": 1
            },
          },
        }
      }]
    }
  }
  

इस उदाहरण में, लोड के लिए खरीदार से लिए जाने वाले शुल्क का हिसाब इस तरह लगाया गया है:

cost = max(carried load - load threshold, 0) * time * cost per unit above threshold
  + min(carried load, load threshold) * time * cost per unit below threshold

इसलिए, अगर वाहन में 5 घंटे के लिए 950 का weightLbs लोड है, तो कैलकुलेशन इस तरह होगा:

max(950 - 900, 0) * 5 * 10 + min(950, 900) * 5 * 1 = 7000

इस उदाहरण में, weightLbs लोड की लागत के लिए load_threshold, max_load के करीब है. cost_per_unit_above_threshold, वाहन के भारी लोड होने पर, हर घंटे के हिसाब से ज़्यादा शुल्क लगाता है. साथ ही, उन रास्तों पर शुल्क बढ़ाता है जिनसे वाहन की परफ़ॉर्मेंस पर असर पड़ सकता है या ज़्यादा ईंधन खर्च हो सकता है. cost_per_unit_below_threshold, वाहन के वज़न की हर इकाई के लिए, थ्रेशोल्ड तक लागत जोड़ता है. इससे यह पता चलता है कि वाहन में ज़्यादा लोड होने पर ईंधन की खपत बढ़ जाती है.

अक्सर पूछे जाने वाले सवाल

लोड करने के लिए खरीदार से लिए जाने वाले शुल्क के बारे में अक्सर पूछे जाने वाले कुछ सवाल यहां दिए गए हैं:

सवाल जवाब
मैं लोड करने की लागत की जानकारी कहां दूं? Vehicle.LoadLimit में लोड करने के लिए खरीदार से लिए जाने वाले शुल्क की जानकारी दें.
लोड की लागत को शिपमेंट से कैसे मैच किया जाता है? लोड के लिए खरीदार से लिया जाने वाला शुल्क उन शिपमेंट पर लागू होता है जिनके लोड की मांग का टाइप, वाहन के लोड की सीमा के टाइप से मैच होता है. जैसे, वज़न या वॉल्यूम (आयतन). लोड टाइप, मनमुताबिक स्ट्रिंग होती हैं, जैसा कि लोड की मांग और सीमाओं में बताया गया है.
लोड करने की लागत कैसे बताई जाती है? लोड करने की लागत, ट्रांज़िशन की दूरी या अवधि के हिसाब से बताई जाती है. दूरी के हिसाब से कीमत बताने के लिए cost_per_kilometer और समय के हिसाब से कीमत बताने के लिए cost_per_traveled_hour का इस्तेमाल करें.
लोडिंग के लिए शुल्क कब लागू होता है? वाहन के लोड की तुलना, लोड की लागत के load_threshold से की जाती है. अगर cost_per_unit_above_threshold की वैल्यू दी गई है, तो max(0, load - load_threshold) फ़ॉर्मूला का इस्तेमाल करके, वाहन के load_threshold से ज़्यादा लोड के हिसाब से, लागत को जोड़ा जाता है. अगर cost_per_unit_below_threshold की वैल्यू दी गई है, तो load_threshold के नीचे, वाहन के लोड के हिसाब से min(load, load_threshold) फ़ॉर्मूला का इस्तेमाल करके, कीमत जोड़ी जाती है.
लोड के लिए खरीदार से लिए जाने वाले शुल्क के पैरामीटर की डिफ़ॉल्ट वैल्यू क्या हैं? load_threshold, cost_per_unit_above_threshold, और cost_per_unit_below_threshold, डिफ़ॉल्ट रूप से शून्य होते हैं.
लोड की लागत किस इकाई में बताई जाती है? लोड की लागत, डाइमेंशन के बिना वाली उन यूनिट में दिखाई जाती है जिनमें लागत के अन्य सभी पैरामीटर, जैसे कि global_duration_cost_per_hour या Shipment.penalty_cost दिखाए जाते हैं.
मुझे जवाब में लोड के लिए खरीदार से लिए जाने वाले शुल्क की जानकारी कहां मिलेगी? लोड करने में हुई लागत, जवाब वाले मैसेज की metrics और route_metrics प्रॉपर्टी में दिखती है. उदाहरण के लिए, cost_per_kilometer के तौर पर दिखने वाला खर्च, model.vehicles.load_limits.cost_per_kilometer के तौर पर दिखेगा.

लोड लागत के बारे में पूरी जानकारी के लिए, रेफ़रंस दस्तावेज़ (REST, gRPC) देखें.

उदाहरण: OptimizeTours अनुरोध करें

OptimizeTours अनुरोध, REST या gRPC का इस्तेमाल करके भी किए जा सकते हैं.

अनुरोध करने से पहले, इन पैरामीटर को अपने एनवायरमेंट के हिसाब से वैल्यू से बदलें:

  • पक्का करें कि आपने ऐप्लिकेशन के लिए डिफ़ॉल्ट क्रेडेंशियल को OAuth का इस्तेमाल करें में बताए गए तरीके के मुताबिक कॉन्फ़िगर किया हो.
  • PROJECT_NUMBER_OR_ID को अपने Cloud प्रोजेक्ट नंबर या आईडी पर सेट करें.

    यह कमांड, Route Optimization API को OptimizeTours अनुरोध भेजता है और एक साथ जवाब पाता है.

    curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    --data @- << EOM
    {
      "model": {
        "shipments": [
          {
            "deliveries": [
              {
                "arrivalLocation": {
                  "latitude": 37.789456,
                  "longitude": -122.390192
                },
                "duration": "250s"
              }
            ],
            "penaltyCost": 100.0,
            "loadDemands": {
              "weightKg": {
                "amount": 50
              }
            }
          },
          {
            "deliveries": [
              {
                "arrivalLocation": {
                  "latitude": 37.789116,
                  "longitude": -122.395080
                },
                "duration": "250s"
              }
            ],
            "penaltyCost": 30.0,
            "loadDemands": {
              "weightKg": {
                "amount": 10
              }
            }
          },
          {
            "deliveries": [
              {
                "arrivalLocation": {
                  "latitude": 37.795242,
                  "longitude": -122.399347
                },
                "duration": "250s"
              }
            ],
            "penaltyCost": 50.0,
            "loadDemands": {
              "weightKg": {
                "amount": 80
              }
            }
          }
        ],
        "vehicles": [
          {
            "endLocation": {
              "latitude": 37.794465,
              "longitude": -122.394839
            },
            "startLocation": {
              "latitude": 37.794465,
              "longitude": -122.394839
            },
            "costPerHour": 40.0,
            "costPerKilometer": 10.0,
            "loadLimits": {
              "weightKg": {
                "maxLoad": "100",
                "costPerKilometer": {
                  "loadThreshold": "15",
                  "costPerUnitAboveThreshold": 1
                }
              }
            }
          }
        ]
      }
    }
    EOM
    किसी फ़ाइल को पढ़ें.

अनुरोध पूरा होने के बाद, आपको जवाब वाला मैसेज मिलेगा.