लागत का मॉडल

लागत की प्रॉपर्टी, ShipmentModel.shipments.Shipment और ShipmentModel.vehicles.Vehicle के तहत तय की जाती हैं

Route Optimization API का मुख्य मकसद, कम लागत वाले रास्ते ढूंढना है. इसलिए, लागत मॉडल, रूट ऑप्टिमाइज़ेशन का मुख्य आधार है.

लागत मॉडल, प्रॉपर्टी का एक सेट है. इसमें ग्लोबल, वाहन, और शिपमेंट की लागत के बारे में बताया जाता है.

लागत मॉडल की प्रॉपर्टी, ऑप्टिमाइज़ेशन के इन लक्ष्यों के लिए काम करती हैं:

  • वाहनों और रास्तों को बेहतर तरीके से असाइन करना
  • पिकअप और डिलीवरी के लिए, लागत के हिसाब से बेहतर समय तय करना
  • ज़रूरी शिपमेंट को प्राथमिकता देना

स्ट्रक्चर

जैसा कि डायग्राम में दिखाया गया है, लागत मॉडल की प्रॉपर्टी को इस तरह से व्यवस्थित किया जाता है:

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

Essentials की चेकलिस्ट

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

प्रॉपर्टी

यहां दी गई टेबल में, लागत मॉडल की प्रॉपर्टी के बारे में बताया गया है.

Parent प्रॉपर्टी का नाम प्रॉपर्टी किस तरह की है लागत प्रति प्रॉपर्टी की जानकारी
Shipment penaltyCost संख्या शिपमेंट छोड़ना शिपमेंट छोड़ने पर लगने वाली लागत.
एपीआई, किसी शिपमेंट को तब छोड़ता है, जब उसे पूरा करने की लागत, उसकी पेनल्टी की लागत से ज़्यादा हो जाती है.
  • penaltyCost सेट करने से, ज़्यादा लागत वाले शिपमेंट की डिलीवरी को प्राथमिकता मिलती है.
  • किसी शिपमेंट के लिए penaltyCost सेट न करने पर, वह शिपमेंट ज़रूरी हो जाता है.
  • किसी शिपमेंट के लिए penaltyCost को साफ़ तौर पर शून्य पर सेट करने पर, एपीआई हमेशा उस शिपमेंट को छोड़ देगा. हालांकि, ऐसा तब तक होगा, जब तक अन्य पाबंदियों के तहत उस शिपमेंट को पूरा करना ज़रूरी न हो.
Vehicle fixedCost संख्या शिपमेंट अगर किसी शिपमेंट को हैंडल करने के लिए इस वाहन का इस्तेमाल किया जाता है, तो तय लागत लागू होती है.
costPerHour संख्या घंटा किसी वाहन को एक घंटे तक चलाने की लागत. इसमें ट्रांज़िट, इंतज़ार, विज़िट, और ब्रेक का समय शामिल है.
इस लागत के बढ़ने पर, ऑप्टिमाइज़र ऐसे रास्ते ढूंढने की कोशिश करता है जिनमें कम समय लगता हो. हालांकि, ये रास्ते सबसे छोटे नहीं हो सकते हैं.
यह प्रॉपर्टी, हर वाहन के लिए लागत का एक असरदार स्टैंडअलोन विकल्प हो सकती है. इसकी वजह यह है कि यह आसान है और इसमें पूरी जानकारी शामिल होती है.
costPerKilometer संख्या किलोमीटर वाहन से हर किलोमीटर की दूरी तय करने पर लगने वाली लागत . जैसे, ईंधन की लागत और वाहन के रखरखाव की लागत.
costPerTraveledHour संख्या घंटा **किसी वाहन को एक घंटे तक चलाने की लागत** . इसमें सिर्फ़ ट्रांज़िट का समय शामिल है. इसमें इंतज़ार, विज़िट, और ब्रेक का समय शामिल नहीं है. इससे, कम दूरी वाले रास्तों के बजाय, कम समय में पहुंचने वाले रास्तों को प्राथमिकता मिलती है.

उदाहरण

इस सेक्शन में, तीन तरह के उदाहरण दिए गए हैं:

  • कोड सैंपल . इनमें लागत मॉडल की प्रॉपर्टी के स्ट्रक्चर के बारे में बताया गया है.
  • उदाहरण के तौर पर एक स्थिति . इसमें बताया गया है कि कारोबार का लक्ष्य पाने के लिए, लागत मॉडल की प्रॉपर्टी का इस्तेमाल कैसे किया जा सकता है.
  • अनुरोध का एक उदाहरण . इसमें, उदाहरण के तौर पर दी गई स्थिति में सेट की गई वैल्यू शामिल हैं.

कोड सैंपल

यहां दिए गए कोड सैंपल में, लागत मॉडल की प्रॉपर्टी का स्ट्रक्चर दिखाया गया है Shipment:

{
  "model": {
    "shipments": [ ...
      {
        "penaltyCost": PENALTY_COST
      }
    ],
    "vehicles": [ ...
    ]
  }
}

यहां दिए गए कोड सैंपल में, लागत मॉडल की प्रॉपर्टी का स्ट्रक्चर दिखाया गया है Vehicle:

{
  "model": {
    "shipments": [ ...
    ],
    "vehicles": [ ...
      {
        "fixedCost": FIXED_COST,
        "costPerKilometer": KILOMETER_COST,
        "costPerHour": HOUR_COST,
        "costPerTraveledHour": TRAVELED_HOUR_COST
      }
    ]
  }
}

उदाहरण के तौर पर

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

इस उदाहरण के लिए, लागत की एक यूनिट का मतलब एक डॉलर है. इसका मतलब है कि आपके अनुरोध में, लागत मॉडल की प्रॉपर्टी की वैल्यू ये हैं:

प्रॉपर्टी मान स्थिति
penaltyCost 10 इससे, उस पेनल्टी के बारे में पता चलता है जो आपने अपने ग्राहकों को, तय किए गए दिन उनके कुत्ते को पिक अप न करने पर दी है. अगर तय किए गए दिन कुत्ते को पिक अप नहीं किया जाता है, तो ग्राहक को सेवा के कुल शुल्क में 40 डॉलर की छूट मिलती है.
fixedCost 30 इससे, वाहन के लोन की रोज़ाना की किस्तों की लागत के बारे में पता चलता है. यह लागत, हर दिन 30 डॉलर है.
costPerKilometer 0.08 इससे पता चलता है कि आपका वाहन, हर किलोमीटर में कितना पेट्रोल खर्च करता है. आपके वाहन को एक किलोमीटर चलने के लिए 0.04 गैलन पेट्रोल की ज़रूरत होती है. साथ ही, आपके इलाके में एक गैलन की लागत दो डॉलर है.
costPerHour 27 इससे पता चलता है कि वाहन चलाने के लिए, ड्राइवर को कितना भुगतान किया जाता है. ड्राइवर को हर घंटे के लिए 27 डॉलर का भुगतान किया जाता है.
costPerTraveledHour 2.5 इससे पता चलता है कि रास्ते में कुत्तों के लिए, वाहन के एयर कंडिशनर के लिए हर घंटे कितना भुगतान करना पड़ता है. जब वाहन नहीं चल रहा होता है, तब ड्राइवर पीछे के दरवाज़े खोल सकता है और एयर कंडिशनर बंद कर सकता है.

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

यहां दिए गए डायग्राम में एक उदाहरण दिखाया गया है. इसमें ऑप्टिमाइज़र, बिंदी वाली लाल लाइन पर ट्रैफ़िक से बचने के लिए, हरी डैश वाली लाइन के ज़रिए लंबा, लेकिन कम समय में पहुंचने वाला रास्ता चुन सकता है.

वाहन के लिए दो संभावित रास्ते दिखाए गए हैं. एक रास्ते को हरी डैश वाली लाइन से दिखाया गया है. यह रास्ता लंबा है, लेकिन इस पर कोई घटना नहीं हुई है. दूसरे रास्ते को लाल बिंदुओं वाली लाइन से दिखाया गया है. यह रास्ता छोटा है, लेकिन इसके बीच में कार दुर्घटना हुई है.

इस स्थिति में, दोनों रास्तों की लागत का बैलेंस यह है:

  • हरी डैश वाली लाइन की costPerHour और costPerTraveledHour कम है, क्योंकि यह कम समय में पहुंचने वाला रास्ता है और इस पर ट्रैफ़िक नहीं होता. इसलिए, यह रास्ता लागत के हिसाब से ज़्यादा बेहतर है. भले ही, costPerKilometer ज़्यादा हो.

  • बिंदी वाली लाल लाइन की costPerKilometer कम है, क्योंकि यह सीधा रास्ता है. हालांकि, ट्रैफ़िक में इंतज़ार के समय की वजह से, costPerHour और costPerTraveledHour बहुत ज़्यादा है. इसलिए, यह रास्ता सबसे महंगा है.

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

अनुरोध का उदाहरण

यहां दिए गए उदाहरण में, optimizeTours अनुरोध का स्ट्रक्चर दिखाया गया है. इसमें, उदाहरण के तौर पर दी गई स्थिति में सेट की गई वैल्यू शामिल हैं:

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.8024,
              "longitude": -122.4058
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ]
        "penaltyCost": 40
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "endLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "fixedCost": 30,
        "costPerKilometer": 0.08,
        "costPerHour": 27,
        "costPerTraveledHour": 2.5
      }
    ]
  }
}

जवाब की प्रॉपर्टी

OptimizeToursResponse मैसेज में, लागत की प्रॉपर्टी शामिल होती हैं. इनमें, किसी रास्ते को पूरा करने की प्रोसेस में लगने वाली लागतों के बारे में बताया जाता है:

  • metrics.costs: लागत से जुड़े अनुरोध के फ़ील्ड के हिसाब से, सभी रास्तों की कुल लागत.
  • metrics.totalCost: सभी रास्तों की कुल लागत.