अनुरोध में वह समाधान शामिल किया गया है जिसमें यह जानकारी शामिल है कि कौनसी विज़िट को सीमित करना चाहिए और उन्हें कैसे सीमित करना चाहिए.
जेएसओएन के काेड में दिखाना |
---|
{ "routes": [ { object ( |
फ़ील्ड | |
---|---|
routes[] |
इंजेक्ट करने के लिए सलूशन के रूट. हो सकता है कि मूल समाधान से कुछ रास्ते हटा दिए जाएं. जिन रास्तों और स्किप किए गए शिपमेंट को, |
skippedShipments[] |
इंजेक्ट करने के लिए, सलूशन के शिपमेंट को स्किप किया गया. इनमें से कुछ को मूल समाधान से हटाया जा सकता है. |
constraintRelaxations[] |
शून्य या उससे ज़्यादा गाड़ियों के ग्रुप के लिए, यह तय करें कि पाबंदियों को कब और कितनी बार कम करना है. अगर यह फ़ील्ड खाली है, तो वाहन के ऐसे सभी रास्ते पूरी तरह से प्रतिबंधित होंगे जो खाली नहीं हैं. |
ConstraintRelaxation
वाहनों के ग्रुप के लिए, इससे यह तय होता है कि विज़िट पर लगने वाले थ्रेशोल्ड(सीमाओं) में किस हद तक छूट दी जाएगी और किस लेवल तक की छूट दी जाएगी. skipped_shipment
फ़ील्ड में मौजूद शिपिंग को स्किप नहीं किया जा सकता; इसका मतलब है कि इन्हें पूरा नहीं किया जा सकता.
जेएसओएन के काेड में दिखाना |
---|
{
"relaxations": [
{
object ( |
फ़ील्ड | |
---|---|
relaxations[] |
|
vehicleIndices[] |
उन वाहन के इंडेक्स के बारे में बताता है जिन पर विज़िट की सीमा अगर |
सुकून देने वाले
अगर relaxations
खाली है, तो routes
पर सभी विज़िट के शुरू होने का समय और क्रम पूरी तरह से सीमित हो जाएगा. साथ ही, उन रास्तों में कोई नई विज़िट नहीं डाली जाएगी और न ही उन्हें जोड़ा जा सकेगा. साथ ही, routes
में वाहन के शुरू और खत्म होने का समय पूरी तरह सीमित होता है.ऐसा तब तक होता है, जब तक वाहन खाली न हो. इसका मतलब है कि वाहन में कोई विज़िट नहीं और मॉडल में usedIfRouteIsEmpty
को 'गलत' पर सेट किया गया है.
relaxations(i).level
उस विज़िट पर लागू किए गए कंस्ट्रेंट के आराम के लेवल के बारे में बताता है जो #j को पूरा करती है:
route.visits(j).start_time >= relaxations(i).threshold_time
औरj + 1 >= relaxations(i).threshold_visit_count
इसी तरह, वाहन के शुरू होने का समय relaxations(i).level
तक आरामदेह होता है, अगर वह यहां बताई गई शर्तों के मुताबिक है:
vehicleStartTime >= relaxations(i).threshold_time
औरrelaxations(i).threshold_visit_count == 0
और वाहन का सिराrelaxations(i).level
तक आरामदेह होगा, अगर:vehicleEndTime >= relaxations(i).threshold_time
औरroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
अगर किसी विज़िट के लिए, thresholdVisitCount
से मिलती है या thresholdTime
एक ही level
के साथ दो relaxations
जोड़ता है: एक में सिर्फ़ thresholdVisitCount
सेट होने पर और दूसरा सिर्फ़ thresholdTime
सेट करने पर. अगर कोई विज़िट एक से ज़्यादा relaxations
की शर्तों को पूरा करती है, तो सबसे ज़्यादा आरामदेह लेवल लागू होगा. इससे, वाहन शुरू होने से लेकर उसके आखिरी चरण तक जाने तक, आराम करने का लेवल और ज़्यादा आरामदेह हो जाता है. इसका मतलब है कि रास्ते के आगे बढ़ने के साथ-साथ आराम का लेवल कम नहीं होता.
उन मार्ग विज़िट का समय और अनुक्रम जो किसी भी relaxations
की थ्रेशोल्ड शर्तों को पूरा नहीं करते हैं, पूरी तरह से सीमित हैं और इन अनुक्रमों में कोई विज़िट शामिल नहीं की जा सकती. इसके अलावा, अगर कोई वाहन शुरू या खत्म होने पर, आराम करने की शर्तों को पूरा नहीं करता है, तो गाड़ी के खाली न होने तक, उसका समय तय हो जाता है.
जेएसओएन के काेड में दिखाना |
---|
{
"level": enum ( |
फ़ील्ड | |
---|---|
level |
|
thresholdTime |
वह समय या उसके बाद, RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: |
thresholdVisitCount |
विज़िट की वह संख्या जिस पर या बाद में अगर यह |
लेवल
कंस्ट्रेंट के अलग-अलग लेवल के बारे में बताता है. ये लेवल, विज़िट पर लागू होने वाले और थ्रेशोल्ड की शर्तों को पूरा करने के बाद लागू होते हैं.
नीचे दी गई सूची आपको सुकून देने के लिए दी गई है.
Enums | |
---|---|
LEVEL_UNSPECIFIED |
सुकून का डिफ़ॉल्ट लेवल: किसी भी सीमा में छूट नहीं मिलती, जैसे कि सभी विज़िट को पूरी तरह सीमित किया जाता है.
|
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
विज़िट के शुरू होने और खत्म होने के समय में छूट होगी. हालांकि, हर विज़िट एक ही वाहन में होगी. साथ ही, विज़िट का क्रम भी देखा जाना चाहिए. इन दोनों के बीच या इनसे पहले विज़िट को शामिल नहीं किया जा सकता. |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
RELAX_VISIT_TIMES_AFTER_THRESHOLD की तरह, लेकिन विज़िट का क्रम भी आरामदेह होता है: विज़िट सिर्फ़ उनके वाहन से ही जुड़ी रहती हैं. |
RELAX_ALL_AFTER_THRESHOLD |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD की तरह, लेकिन वाहन भी आरामदेह है: थ्रेशोल्ड समय पर या उसके बाद विज़िट पूरी तरह से मुफ़्त होती हैं और हो सकता है कि उनकी परफ़ॉर्मेंस बेहतर हो. |