इस दस्तावेज़ में, असल दुनिया के इस्तेमाल के उदाहरण का इस्तेमाल करके, Route Optimization API को पहला अनुरोध भेजने का तरीका बताया गया है.
उदाहरण को आसान बनाने के लिए, REST API को दिखाने के लिए एचटीटीपी और JSON का इस्तेमाल किया गया है. हालांकि, आपके प्रोडक्शन एनवायरमेंट के लिए, gRPC का इस्तेमाल करने का सुझाव दिया जाता है, क्योंकि इससे परफ़ॉर्मेंस बेहतर होती है. हालांकि, gRPC को इंस्टॉल करना पड़ता है. ज़्यादा जानकारी के लिए, Route Optimization API की क्लाइंट लाइब्रेरी देखें.
स्थिति
सैन फ़्रांसिस्को में, सुबह 7 बजे से शाम 7 बजे तक कुत्तों की देखभाल की सेवा दी जाती है. आज सुबह, आपको शहर में अलग-अलग जगहों से तीन कुत्तों को पिक करना है और उन्हें अपने डेकेयर सेंटर में लाना है.
बर्नीज़ माउंटेन डॉग और चिहुआहुआ, नियमित क्लाइंट हैं. उन्होंने पिछले हफ़्ते अपॉइंटमेंट बुक किए थे. जर्मन शेफ़र्ड की देखभाल करने का अनुरोध नया है और आखिरी समय पर किया गया है. आपको जर्मन शेफ़र्ड को भी शामिल करना है, लेकिन अपने नियमित क्लाइंट को खोए बिना.
आपके पास इस काम के लिए एक वैन है और आप ड्राइवर को हर घंटे के हिसाब से 27 डॉलर देते हैं. ड्राइवर और वैन, सुबह सात बजे डेकेयर सेंटर से निकलती है. दोपहर के खाने के ब्रेक के लिए, उन्हें दोपहर तक वापस आना होता है.
आज 13 फ़रवरी, 2024 है. इस उदाहरण में, सभी समय सैन फ़्रांसिस्को के स्थानीय समय के हिसाब से हैं. यह फ़रवरी में पैसिफ़िक स्टैंडर्ड टाइम (यूटीसी-8) होता है. ड्राइवर को ये काम करने होते हैं:
- कॉइट टावर के पास से बर्नीज़ माउंटेन डॉग को पिक अप करें. मालिक ने सुबह 8 बजे से 8:20 बजे के बीच, पिकअप के लिए कम समय का अनुरोध किया.
- साउथ सनसेट प्लेग्राउंड पार्क से चिहुआहुआ को पिक करें. मालिक ने सुबह 7:30 बजे से 9:30 बजे के बीच, पिकअप के लिए ज़्यादा सुविधाजनक समय दिया.
- लैंड्स एंड से जर्मन शेफ़र्ड को पिक करें. मालिक ने यह भी अनुरोध किया कि पिकअप का समय सुबह 8 बजे से 8:20 बजे के बीच हो.
- कुत्तों को मिशन डलोरेस पार्क में बने डेकेयर सेंटर में छोड़ें. डेकेयर में बच्चों को सुबह 9:30 बजे से 11:30 बजे के बीच छोड़ना होता है.
कुत्ते को पिकअप और ड्रॉपऑफ़ करने में पांच मिनट लगते हैं.
लैंड्स एंड, कॉइट टावर से काफ़ी दूर है और दोनों जगहों पर पिकअप का समय एक ही है. इसलिए, ड्राइवर तीनों पिकअप नहीं कर सकता. ऑप्टिमाइज़र को यह चुनना होगा कि किस कुत्ते को छोड़ना है, ताकि कुल लागत (ड्राइवर की मज़दूरी और कुत्ते को छोड़ने पर लगने वाला जुर्माना) कम से कम हो.
शुरू करने से पहले
इस उदाहरण में दिए गए कोड को चलाने के लिए, आपको पहले Route Optimization API सेट अप करें में दिए गए निर्देशों को पूरा करना होगा.
1. रास्ता ऑप्टिमाइज़ करने का तरीका चुनना
Route Optimization API में कई तरीके उपलब्ध हैं. इनमें से कोई भी तरीका चुना जा सकता है. यह इस बात पर निर्भर करता है कि ऑप्टिमाइज़ेशन से जुड़ी आपकी समस्या कितनी जटिल है.
कुत्तों की देखभाल करने वाली इस सेवा का अनुरोध छोटा और आसान है. इसलिए, optimizeTours जैसे ब्लॉकिंग तरीके का इस्तेमाल करें. इससे छोटे अनुरोधों के नतीजे तुरंत मिलते हैं. Route Optimization API के एंडपॉइंट के बारे में ज़्यादा जानने के लिए, कोई एंडपॉइंट चुनें लेख पढ़ें.
optimizeTours तरीके के लिए, एचटीटीपी पोस्ट अनुरोध करने के लिए, इस यूआरएल का इस्तेमाल करें:
https://routeoptimization.googleapis.com/v1/projects/PROJECT_OR_ID:optimizeTours
आपको टाइम आउट और समयसीमा की सेटिंग को कम समय के लिए सेट करना होगा, ताकि इंतज़ार करने में लगने वाले समय को कम किया जा सके. कुत्तों की देखभाल करने वाली इस सेवा के लिए, ऑप्टिमाइज़र को आपके अनुरोध का जवाब देने में ज़्यादा समय नहीं लगता. इसलिए, इन सेटिंग का इस्तेमाल करें:
timeoutपैरामीटर को दो सेकंड पर सेट करें.- समयसीमा की सेटिंग को डिफ़ॉल्ट पर रहने दें. REST अनुरोधों के लिए, यह समयसीमा 60 सेकंड होती है.
2. अनुरोध के मैसेज का मुख्य हिस्सा बनाना
ब्लॉक करने का तरीका optimizeTours चुनने और टाइम आउट और समयसीमा की सेटिंग तय करने के बाद, आपको अनुरोध वाले मैसेज का मुख्य हिस्सा बनाना होगा.
इस मामले में, अनुरोध एक OptimizeToursRequest मैसेज है, जिसे REST API में JSON के तौर पर कोड में बदला गया है.
अनुरोध का मैसेज बनाने के लिए, यह तरीका अपनाएं:
अनुरोध के बुनियादी स्ट्रक्चर से शुरू करें, जो इस तरह है:
{ "timeout": ..., "model": { "shipments": [...], "vehicles": [...], "globalStartTime": "...", "globalEndTime": "..." } }स्ट्रक्चर के बारे में ज़्यादा जानने के लिए, बुनियादी स्ट्रक्चर (ShipmentModel, Shipment, और Vehicle) के लिए मुख्य कॉन्सेप्ट की गाइड देखें.
शिपमेंट तय करें.
shipmentsफ़ील्ड में, हर उस कुत्ते के लिएShipmentमैसेज जोड़ें जिसे सुबह पिक और ड्रॉप करना है. यहां आपको कुत्ते के मालिक की पसंद के मुताबिक, कुत्ते को पिकअप करने की जगह और समय तय करना होगा. साथ ही, डेकेयर सेंटर की जगह और कुत्ते को छोड़ने का समय तय करना होगा.हर कुत्ते के लिए, पिकअप के लिए एक
VisitRequestऔर डिलीवरी के लिए दूसरा स्टॉप बनाएं. इस मामले में, डिलीवरी को डेकेयर ड्रॉपऑफ़ कहा जाता है.पिकअप में,
arrivalWaypointको कुत्ते की पिकअप लोकेशन पर सेट करें. जैसे, बर्नीज़ माउंटेन डॉग के लिए कॉइट टावर, चिहुआहुआ के लिए साउथ सनसेट प्लेग्राउंड पार्क या जर्मन शेफ़र्ड के लिए लैंड्स एंड.timeWindowsको मालिक के अनुरोध किए गए पिकअप समय पर सेट करें. जैसे, बर्नीज़ माउंटेन डॉग और जर्मन शेफ़र्ड के लिए सुबह 8 बजे से 8:20 बजे तक और चिहुआहुआ के लिए सुबह 7:30 बजे से 9:30 बजे तक.डिलीवरी के लिए,
arrivalWaypointको डेकेयर सेंटर पर सेट करें. साथ ही,timeWindowsको ड्रॉपऑफ़ के लिए ज़रूरी समय (सुबह 9:30 बजे से सुबह 11:30 बजे तक) पर सेट करें.सभी पिकअप और डिलीवरी के लिए,
durationको पांच मिनट (300s) पर सेट करें, ताकि कुत्तों को गाड़ी में चढ़ाने और उतारने में लगने वाले समय को ध्यान में रखा जा सके.
टाइम विंडो के बारे में ज़्यादा जानने के लिए, टाइम विंडो लेख पढ़ें.
नियमित ग्राहकों को प्राथमिकता देने के लिए, आपने बर्निस माउंटेन डॉग और चिहुआहुआ के लिए
penaltyCostको1000पर सेट किया है. साथ ही, जर्मन शेफ़र्ड के लिए100पर सेट किया है. जुर्माने की लागत सेट होने पर, ऑप्टिमाइज़र किसी भी कुत्ते को छोड़ सकता है. हालांकि, अगर पाबंदियों की वजह से सभी कुत्तों को पिक अप करना मुमकिन नहीं है, तो वह सबसे पहले जर्मन शेफ़र्ड (जिस पर कम जुर्माना लगता है) को छोड़ने पर विचार करता है.हर शिपमेंट के लिए आइडेंटिफ़ायर जोड़ने के लिए,
labelफ़ील्ड का इस्तेमाल किया जा सकता है. जैसे, "बर्नीज़ माउंटेन डॉग", "चिहुआहुआ", और "जर्मन शेफ़र्ड". इससे आपको जवाब में शिपमेंट की पहचान करने में मदद मिल सकती है.
शिपमेंट तय करने के बारे में ज़्यादा जानने के लिए, शिपमेंट देखें.
वाहन तय करें.
vehiclesफ़ील्ड में,Vehicleमैसेज जोड़ें. इसमें डेकेयर सेंटर को शुरुआती और आखिरी पॉइंट के तौर पर सेट करके, एक वैन के लिए मैसेज जोड़ें. साथ ही, ड्राइवर की सैलरी और वैन के कारोबार के खुले होने का समय जोड़ें.वैन के लिए, दिन की शुरुआत और खत्म होने की जगह के तौर पर,
startWaypointऔरendWaypointसेट करें. यह जगह, मिशन डलोरेस पार्क के पास मौजूद डेकेयर सेंटर है.ऑपरेशन की लागत को कम करने के लिए, आपको अपने कारोबार की लागत की सीमाओं को तय करना होगा. लागत पैरामीटर
costPerHourको27पर सेट करें. यह वह रकम है जो डॉगी डेकेयर वैन चलाने के लिए ड्राइवर को दी जाती है. लागत पैरामीटर के बारे में ज़्यादा जानकारी के लिए, लागत मॉडल देखें.ऑप्टिमाइज़र, वैन के काम करने के घंटों के दौरान ही रास्ता बनाए, इसके लिए वाहन के काम करने का समय तय करें. इस विंडो में, रूट के शुरू और खत्म होने के समय की पाबंदियां सेट की जाती हैं. हर टाइम विंडो का सिर्फ़ आधा हिस्सा तय करके, ऑप्टिमाइज़र को रूट को बाद में शुरू करने या पहले खत्म करने की सुविधा दी जा सकती है:
startTimeWindowsमेंstartTimeको सुबह 7 बजे पर सेट करने का मतलब है कि ड्राइवर सुबह 7 बजे से अपनी शिफ़्ट शुरू कर सकता है. अगर सुबह-सुबह कोई पिकअप नहीं है, तो वह बाद में भी शिफ़्ट शुरू कर सकता है.endTimeWindowsमेंendTimeको दोपहर पर सेट करने का मतलब है कि ड्राइवर को दोपहर तक अपनी शिफ़्ट खत्म करनी होगी. आखिरी डिलीवरी पूरी करने के बाद, वे अपनी शिफ़्ट भी खत्म कर सकते हैं.
विंडो के दूसरे हिस्से को छोड़ने से, ड्राइवर को इंतज़ार नहीं करना पड़ता और उसे रास्ता भी नहीं बदलना पड़ता. टाइम विंडो के बारे में ज़्यादा जानने के लिए, टाइम विंडो लेख पढ़ें.
वाहन के बारे में जानकारी देने के लिए, वाहन देखें.
ग्लोबल टाइम विंडो सेट करें. ग्लोबल टाइम विंडो से पता चलता है कि वैन, पूरे दिन में किस समयावधि के दौरान आपके डेकेयर के लिए पिकअप और ड्रॉपऑफ़ कर सकती है. इस स्थिति के लिए, 13 फ़रवरी, 2024 को
globalStartTimeको सुबह 7 बजे औरglobalEndTimeको शाम 7 बजे पर सेट करें. इससे, आपके डॉगी डेकेयर के कारोबार के खुले होने का समय दिखेगा.
3. अनुरोध भेजें
यहां कुत्ते की देखभाल करने वाली सेवा के उदाहरण के आधार पर, curl का एक आसान अनुरोध दिया गया है. इसमें, ब्लॉक करने वाले optimizeTours तरीके का इस्तेमाल किया गया है.
अनुरोध भेजने से पहले, सैंपल कोड में मौजूद PROJECT_NUMBER_OR_ID को अपने Google Cloud प्रोजेक्ट आईडी से बदलें.
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
{
"timeout": "2s",
"model": {
"shipments": [
{
"pickups": [
{
"arrivalWaypoint": {
"location": {
"latLng": {
"latitude": 37.802395,
"longitude": -122.405822
}
}
},
"timeWindows": [
{
"startTime": "2024-02-13T08:00:00-08:00",
"endTime": "2024-02-13T08:20:00-08:00"
}
],
"duration": "300s"
}
],
"deliveries": [
{
"arrivalWaypoint": {
"location": {
"latLng": {
"latitude": 37.759719,
"longitude": -122.42798
}
}
},
"timeWindows": [
{
"startTime": "2024-02-13T09:30:00-08:00",
"endTime": "2024-02-13T11:30:00-08:00"
}
],
"duration": "300s"
}
],
"label": "Bernese mountain dog",
"penaltyCost": 1000
},
{
"pickups": [
{
"arrivalWaypoint": {
"location": {
"latLng": {
"latitude": 37.738067,
"longitude": -122.498593
}
}
},
"timeWindows": [
{
"startTime": "2024-02-13T07:30:00-08:00",
"endTime": "2024-02-13T09:30:00-08:00"
}
],
"duration": "300s"
}
],
"deliveries": [
{
"arrivalWaypoint": {
"location": {
"latLng": {
"latitude": 37.759719,
"longitude": -122.42798
}
}
},
"timeWindows": [
{
"startTime": "2024-02-13T09:30:00-08:00",
"endTime": "2024-02-13T11:30:00-08:00"
}
],
"duration": "300s"
}
],
"label": "Chihuahua",
"penaltyCost": 1000
},
{
"pickups": [
{
"arrivalWaypoint": {
"location": {
"latLng": {
"latitude": 37.78018,
"longitude": -122.51194
}
}
},
"timeWindows": [
{
"startTime": "2024-02-13T08:00:00-08:00",
"endTime": "2024-02-13T08:20:00-08:00"
}
],
"duration": "300s"
}
],
"deliveries": [
{
"arrivalWaypoint": {
"location": {
"latLng": {
"latitude": 37.759719,
"longitude": -122.42798
}
}
},
"timeWindows": [
{
"startTime": "2024-02-13T09:30:00-08:00",
"endTime": "2024-02-13T11:30:00-08:00"
}
],
"duration": "300s"
}
],
"label": "German shepherd",
"penaltyCost": 100
}
],
"vehicles": [
{
"startWaypoint": {
"location": {
"latLng": {
"latitude": 37.759719,
"longitude": -122.42798
}
}
},
"endWaypoint": {
"location": {
"latLng": {
"latitude": 37.759719,
"longitude": -122.42798
}
}
},
"costPerHour": 27,
"startTimeWindows": [
{
"startTime": "2024-02-13T07:00:00-08:00"
}
],
"endTimeWindows": [
{
"endTime": "2024-02-13T12:00:00-08:00"
}
]
}
],
"globalStartTime": "2024-02-13T07:00:00-08:00",
"globalEndTime": "2024-02-13T19:00:00-08:00"
}
}
EOM
अनुरोध में इस्तेमाल किए गए पैरामीटर
नीचे दी गई टेबल में, उदाहरण के तौर पर दिए गए अनुरोध के मुख्य हिस्से में इस्तेमाल किए गए पैरामीटर के बारे में बताया गया है. कॉन्टेंट को पैरंट या टेक्स्ट से खोजकर फ़िल्टर किया जा सकता है.
| Parent | पैरामीटर | प्रॉपर्टी का टाइप | ब्यौरा |
|---|---|---|---|
OptimizeToursRequest |
model |
ऑब्जेक्ट (ShipmentModel) |
यह आपके अनुरोध का मुख्य हिस्सा है. यह एक ऑब्जेक्ट है, जिसमें आपको अपनी पूरी समस्या को तय करना होता है. इसमें, आपको पिक अप और ड्रॉप ऑफ़ किए जाने वाले सभी कुत्तों (shipments) और आपके फ़्लीट में मौजूद वैन (vehicles) की जानकारी शामिल करनी होती है. इसे उस समस्या का पूरा ब्लूप्रिंट मानें जिसे आपको ऑप्टिमाइज़ करना है. |
timeout |
कुल समय | यह पैरामीटर बताता है कि जवाब देने से पहले, सर्वर किसी अनुरोध पर ज़्यादा से ज़्यादा कितने समय तक काम करता है. इंतज़ार का समय कम करने के लिए, इस पैरामीटर का इस्तेमाल करें. छोटे और तुरंत जवाब देने वाले अनुरोधों के लिए, इस वैल्यू को दो सेकंड पर सेट करें. जैसे, कुत्ते की देखभाल करने वाली सेवा के इस उदाहरण में. | |
ShipmentModel |
shipments[] |
ऑब्जेक्ट का कलेक्शन (Shipment) |
यह ऑब्जेक्ट का एक कलेक्शन है. इसमें हर ऑब्जेक्ट, उस कुत्ते को दिखाता है जिसे पिक अप या ड्रॉप ऑफ़ करना है. |
vehicles[] |
ऑब्जेक्ट का कलेक्शन (Vehicle) |
यह ऑब्जेक्ट का एक कलेक्शन है, जिसमें हर ऑब्जेक्ट आपके फ़्लीट में मौजूद किसी वाहन के बारे में बताता है. यहां आपको अपने संसाधनों के बारे में बताना होता है. जैसे, पिकअप और ड्रॉपऑफ़ करने वाली वैन. ऑप्टिमाइज़ किया गया रूट पाने के लिए, आपको कम से कम एक वाहन की जानकारी देनी होगी. | |
globalStartTime |
टाइमस्टैम्प | यह आपके पूरे मॉडल में किसी भी इवेंट के होने का सबसे शुरुआती समय है. यह पैरामीटर, ऑप्टिमाइज़ेशन की समस्या को समय के हिसाब से कम करता है. यह ट्रैफ़िक और रूटिंग के सटीक हिसाब के लिए ज़रूरी है. कुत्तों की देखभाल करने वाली इस सेवा के लिए, इसे उस शुरुआती समय पर सेट करें जब ड्राइवर, दिन के लिए वैन चला सकता है. यह समय 13 फ़रवरी, 2024 को सुबह 7 बजे है. | |
globalEndTime |
टाइमस्टैम्प | यह आपके पूरे मॉडल में किसी भी इवेंट के होने का सबसे आखिरी समय है. कुत्तों की देखभाल करने वाली इस सेवा के लिए, इसे उस समय पर सेट करें जब वैन का काम खत्म होने की उम्मीद हो. जैसे, 13 फ़रवरी, 2024 को शाम 7 बजे. | |
Shipment |
pickups[] |
ऑब्जेक्ट का कलेक्शन (VisitRequest) |
यह शिपमेंट के लिए, पिकअप के सभी संभावित विकल्पों की सूची है. ऑप्टिमाइज़र, आपकी समस्या को हल करने के लिए सबसे सही विकल्प चुनता है. कुत्तों की देखभाल करने वाली इस सुविधा के लिए, पिकअप की जगहों और समयसीमाओं की सूची बनाएं. ये जगहें और समयसीमाएं, हर मालिक ने अपने कुत्ते के लिए उपलब्ध कराई हैं. |
deliveries[] |
ऑब्जेक्ट का कलेक्शन (VisitRequest) |
यह शिपमेंट के लिए, ड्रॉपऑफ़ के सभी संभावित विकल्पों की सूची है. ऑप्टिमाइज़र, आपकी समस्या को हल करने के लिए सबसे सही विकल्प चुनता है. कुत्तों की देखभाल करने वाली इस सुविधा के लिए, उसकी जगह की जानकारी दें. साथ ही, वह समय बताएं जब ड्राइवर को हर कुत्ते के लिए, दोपहर के खाने के लिए वापस आना होगा. | |
label |
स्ट्रिंग | यह आपके अनुरोध में मौजूद किसी खास शिपमेंट का आइडेंटिफ़ायर है. जवाब को आसानी से पढ़ने के लिए, अपने अनुरोध में लेबल तय किए जा सकते हैं. कुत्तों की देखभाल करने वाली इस सेवा के लिए, "चिहुआहुआ", "बर्नीज़ माउंटेन डॉग" या कुत्ते के नाम जैसी जानकारी वाली स्ट्रिंग का इस्तेमाल करें. इससे, एपीआई से मिली जानकारी मिलने पर, समाधान को आपके इनपुट से मैच किया जा सकेगा. | |
penaltyCost |
दोगुनी | अगर ऑप्टिमाइज़र इस शिपमेंट को छोड़ देता है, तो यह जुर्माना लगाया जाता है. डिफ़ॉल्ट रूप से, शिपमेंट ज़रूरी होते हैं. ऑप्टिमाइज़र, ज़रूरी शिपमेंट को छोड़ने की संख्या को कम करने को प्राथमिकता देता है. वह उन्हें सिर्फ़ तब छोड़ता है, जब कोई दूसरा विकल्प न हो. जुर्माने की लागत सेट करने से, ऑप्टिमाइज़र किसी शिपमेंट को छोड़ सकता है. ऐसा तब होता है, जब शिपमेंट को पूरा करना मुमकिन न हो या उसमें बहुत ज़्यादा खर्च हो. इससे आपको शिपमेंट के बीच प्राथमिकताओं को तय करने में मदद मिलती है. इस मामले में, आपने अपने नियमित क्लाइंट (बर्नीज़ माउंटेन डॉग और चिहुआहुआ) के लिए ज़्यादा पेनल्टी कॉस्ट (1000) और आखिरी समय में जर्मन शेफ़र्ड के अनुरोध के लिए कम पेनल्टी कॉस्ट (100) सेट की है. इससे ऑप्टिमाइज़र को पता चलता है कि नियमित क्लाइंट को प्राथमिकता देनी है. इसलिए, जब वह सभी पिकअप नहीं कर पाता, तो वह सबसे पहले जर्मन शेफ़र्ड को छोड़ने पर विचार करता है. |
|
VisitRequest |
arrivalWaypoint |
ऑब्जेक्ट (Waypoint) |
यह रास्ते में मौजूद किसी खास जगह की जानकारी है. इसे अक्षांश और देशांतर निर्देशांक, जगह के आईडी या हेडिंग का इस्तेमाल करके तय किया जा सकता है. कुत्ते की देखभाल करने वाले इस डेकेयर सेंटर के मामले में, pickups के लिए मालिक की दी गई जगह की जानकारी और deliveries के लिए डेकेयर सेंटर का पता सेट करें. |
timeWindows[] |
ऑब्जेक्ट का कलेक्शन (TimeWindow) |
यह ऑब्जेक्ट का एक कलेक्शन है, जो पिकअप या डिलीवरी के लिए समय की पाबंदियों को तय करता है. इस स्थिति में, हर कुत्ते को पिकअप करने की विंडो और डेकेयर सेंटर में कुत्तों को छोड़ने की स्वीकार्य विंडो तय करने के लिए, इसका इस्तेमाल करें. | |
duration |
कुल समय | इस पैरामीटर से, विज़िट की अवधि का पता चलता है. जैसे, लोड या अनलोड होने में लगने वाला समय. इस मामले में, आपने सभी पिकअप और डिलीवरी के लिए पांच मिनट का बफ़र (300s) सेट किया है. इससे ड्राइवर को कुत्तों को गाड़ी में चढ़ाने और उतारने के लिए समय मिल जाता है. |
|
Vehicle |
startWaypoint |
ऑब्जेक्ट (Waypoint) |
यह वाहन के रूट की शुरुआती जगह होती है. इसे अक्षांश और देशांतर निर्देशांक या जगह के आईडी से तय किया जाता है. यह पैरामीटर, ऑप्टिमाइज़र को बताता है कि वाहन को रूट कहां से शुरू करना चाहिए. अगर आपने इस वेपॉइंट को तय नहीं किया है, तो ऑप्टिमाइज़र, पिकअप या डिलीवरी में से किसी एक को शुरुआती जगह के तौर पर चुनता है. कुत्तों की देखभाल करने वाली इस सुविधा के लिए, ड्राइवर अपना दिन इसी सुविधा से शुरू करता है. इसलिए, मिशन डोलोरेस पार्क के निर्देशांकों का इस्तेमाल करें. |
endWaypoint |
ऑब्जेक्ट (Waypoint) |
यह वाहन के रास्ते की आखिरी मंज़िल है. इसे अक्षांश और देशांतर निर्देशांक या जगह के आईडी से तय किया जाता है. यह पैरामीटर, ऑप्टिमाइज़र को बताता है कि वाहन को अपना रास्ता कहां खत्म करना चाहिए. अगर आपने यह वेपॉइंट तय नहीं किया है, तो ऑप्टिमाइज़र, पिकअप या डिलीवरी में से किसी एक को रूट के आखिरी पॉइंट के तौर पर चुनता है. कुत्तों की देखभाल करने वाली इस सुविधा के लिए, ड्राइवर को दिन के आखिर में देखभाल करने वाली सुविधा पर पहुंचना होगा. इसके लिए, मिशन डोलोरेस पार्क के निर्देशांकों का इस्तेमाल करें. | |
costPerHour |
संख्या | यह वाहन के इस्तेमाल के हर घंटे के लिए लगने वाली लागत है. इससे कोई फ़र्क़ नहीं पड़ता कि वाहन चल रहा है या रुका हुआ है. कुत्तों की देखभाल करने वाली इस कंपनी के लिए, ड्राइवर की हर घंटे की कमाई का मॉडल बनाने के लिए, इसका इस्तेमाल करें. | |
startTimeWindows[] |
ऑब्जेक्ट का कलेक्शन (TimeWindow) |
यह वह समय है जब ड्राइवर अपनी शिफ़्ट शुरू कर सकता है. कुत्तों की देखभाल करने वाले इस कारोबार के लिए, startTime को सुबह 7 बजे के तौर पर तय करें, लेकिन endTime को शामिल न करें. इससे ऑप्टिमाइज़र को, पहली पिकअप सुबह देर से होने पर,
शिफ़्ट की शुरुआत में देरी करने की अनुमति मिलती है. ध्यान दें कि startTimeWindows के लिए endTime न देने पर भी, शुरू होने का समय endTimeWindows के हिसाब से तय होता है. वाहन को रास्ता खत्म होने से पहले, रास्ते पर चलना शुरू करना होगा. |
|
endTimeWindows[] |
ऑब्जेक्ट का कलेक्शन (TimeWindow) |
यह वह समयसीमा है जिसमें ड्राइवर को रूट पूरा करना होता है.
कुत्तों की देखभाल करने वाले इस कारोबार के लिए, endTime को दोपहर के तौर पर तय करें. हालांकि, startTime को शामिल न करें. इससे ड्राइवर, आखिरी ड्रॉपऑफ़ के तुरंत बाद डेकेयर सेंटर पर वापस आ सकता है. |