अनुरोध वाला मैसेज बनाएं

जैसा कि रूट ऑप्टिमाइज़ेशन की खास जानकारी में कम शब्दों में बताया गया है, यह एक बुनियादी अनुरोध है इसमें ज़रूरी इकाइयों के तौर पर मॉडल, शिप, और वाहन शामिल होते हैं:

  • मॉडल, पूरे अनुरोध के लिए सेटिंग और कंस्ट्रेंट को कैप्चर करता है, इसमें Shipments और Vehicles, दोनों शामिल हैं.
  • शिपमेंट, ऐसे टास्क या असल शिपमेंट दिखाते हैं जिनमें पिकअप और डिलीवरी VisitRequest. शिपमेंट की स्थानीय सेटिंग और सीमाएं होती हैं.
  • वाहन, वाहनों, ड्राइवर या कर्मचारियों के बारे में बताते हैं. वाहनों में ये भी हैं लोकल सेटिंग और कंस्ट्रेंट.

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

हर तरह के मैसेज से जुड़े पूरे दस्तावेज़ देखने के लिए, रेफ़रंस दस्तावेज़ देखें ShipmentModel (REST, gRPC), Shipment (REST, gRPC) के लिए और Vehicle (REST, gRPC) मैसेज दिखेंगे.

OptimizeToursRequest प्रॉपर्टी

टॉप-लेवल OptimizeToursRequest मैसेज की कुछ आम तौर पर इस्तेमाल की जाने वाली प्रॉपर्टी (REST, gRPC) में ये शामिल हैं:

  • searchMode बताता है कि खोज करने वाला पहला समाधान लौटाना है या नहीं तय की गई कंस्ट्रेंट को चुनें या किसी सेट में सबसे बेहतर समाधान खोजें आखिरी तारीख.
  • considerRoadTraffic तय करता है कि लाइव ट्रैफ़िक का इस्तेमाल किया गया है या नहीं रूटिंग और ETA का अनुमान लगाने के लिए.
  • populateTransitionPolylines तय करता है कि रूट पॉलीलाइन है या नहीं जवाब में लौटाया गया.

मॉडल के गुण

ShipmentModel मैसेज की कुछ आम तौर पर इस्तेमाल की जाने वाली प्रॉपर्टी (REST, gRPC) में ये शामिल हैं:

  • globalStartTime सभी रास्तों के शुरू होने का सबसे कम समय दिखाता है शिपिंग की जानकारी देते हैं. कोई भी वाहन अपना पहला ट्रांज़िशन शुरू नहीं कर सकता और से पहले के शिपमेंट.
  • globalEndTime सभी वाहनों के लिए, रास्तों के खत्म होने का सबसे हाल का समय दिखाता है शिपिंग शुल्क शामिल करना है. असाइन किए गए सभी शिपमेंट और ट्रांज़िशन पूरे होने चाहिए से पहले.

शिपमेंट प्रॉपर्टी

Shipment मैसेज की कुछ आम तौर पर इस्तेमाल की जाने वाली प्रॉपर्टी (REST, gRPC) शामिल करें:

  • pickups[] और deliveries[] से पता चलता है कि शिपमेंट कहां से पिक अप किया जा सकता है या बीच में छोड़ दिया. pickups[] और deliveries[] प्रॉपर्टी, दोनों प्रॉपर्टी VisitRequest मैसेज (REST, gRPC).
  • loadDemands वह लोड दिखाता है जो किसी वाहन को शिपमेंट. वाहन संबंधित load_limits (REST, gRPC) प्रॉपर्टी से पता चलता है कि वाहन एक बार में कितना लोड कर सकता है. लोड करने की शर्तों के बारे में ज़्यादा जानने के लिए, लोड की मांग और सीमाएं लेख पढ़ें.
  • penalty_cost से, शिपमेंट को स्किप करने पर होने वाले खर्च का पता चलता है. मैसेज पढ़ा गया ज़्यादा जानकारी के लिए, लागत मॉडल के पैरामीटर देखें.

वाहन से जुड़ी प्रॉपर्टी

Vehicle मैसेज की कुछ आम तौर पर इस्तेमाल की जाने वाली प्रॉपर्टी (REST, gRPC) शामिल करें:

  • startLocation से पता चलता है कि वाहन को अपना रास्ता कहां से शुरू करना चाहिए. यह प्रॉपर्टी ज़रूरी नहीं है. अगर बताया नहीं गया है, तो वाहन का रास्ता पहली बार असाइन किए गए शिपमेंट की जगह.
  • endLocation से पता चलता है कि वाहन को अपना रास्ता कहां खत्म करना चाहिए. यह प्रॉपर्टी वैकल्पिक है. अगर बताया नहीं गया है, तो वाहन का रास्ता इस जगह पर खत्म होता है इसे आखिरी बार असाइन किया गया था.
  • startTimeWindows[] से पता चलता है कि कोई वाहन कब अपना रास्ता शुरू कर सकता है. यह प्रॉपर्टी ज़रूरी नहीं है.
  • endTimeWindows[] से पता चलता है कि कोई वाहन कब अपना रास्ता शुरू और खत्म कर सकता है. दोनों प्रॉपर्टी ज़रूरी नहीं हैं.
  • loadLimits, वाहन की शिपिंग की क्षमता दिखाता है. लोड करने में मदद मिलती है. लोड की ज़रूरतों और सीमाओं के बारे में ज़्यादा जानने के लिए, लोड की मांग और सीमाएं.

JSON फ़ॉर्मैट में अनुरोध का पूरा उदाहरण इस तरह दिखता है:

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "costPerKilometer": 1.0
      }
    ],
   "globalStartTime": "2024-02-13T00:00:00.000Z",
   "globalEndTime": "2024-02-14T06:00:00.000Z"
  }
}

OptimizeTours और BatchOptimizeTours दोनों, अनुरोध वाले मैसेज का इस्तेमाल करते हैं, जैसे कि लेकिन अलग-अलग तरीकों से. रास्ते को ऑप्टिमाइज़ करने से पहले अनुरोध है, तो दोनों तरीकों के बीच के अंतर को समझना ज़रूरी है:

OptimizeTours और BatchOptimizeTours की तुलना करना