लक्ष्य ऐसे पैरामीटर होते हैं जो ऑप्टिमाइज़ेशन के सामान्य लक्ष्यों को पहले से तय करते हैं. जैसे, यात्रा की सबसे कम दूरी या अवधि, समय पर डिलीवरी, और ड्राइवर के बीच लोड को बैलेंस करना. इसका मकसद, डेवलपर को Route Optimization API का इस्तेमाल शुरू करने में मदद करना है. इससे वे लागत के पैरामीटर की बारीकियों और पूरी तरह से कस्टम बनाने के बारे में जानने से पहले, इसका इस्तेमाल शुरू कर सकते हैं. (अपने अलग-अलग लक्ष्यों को पूरी तरह से पसंद के मुताबिक बनाने के लिए, "cost model
" देखें)
सेट किए जाने पर, ShipmentModel.objectives
, लागत मॉडल को पूरी तरह से बदल देते हैं. इसलिए, ये पहले से मौजूद लागत के साथ काम नहीं करते. हर Objective
, वाहनों, शिपमेंट या ट्रांज़िशन एट्रिब्यूट के लिए पहले से तय की गई कई लागतों से मैप होता है.
TRANSFORM_AND_RETURN_REQUEST
हल करने का मोड तय करते समय, अनुरोध को हल नहीं किया जाता है. साथ ही, इसकी पुष्टि की जाती है और दिए गए लक्ष्यों के हिसाब से लागत भरी जाती है. बदलाव किए गए अनुरोध को OptimizeToursResponse.processed_request
के तौर पर दिखाया जाता है. हल करने के अन्य सभी मोड, हल किए गए अनुरोध को दिखाएंगे.
TRANSFORM_AND_RETURN_REQUEST
मोड सिर्फ़ OptimizeTours
अनुरोधों के लिए मान्य है. यह Route Optimization API के अन्य अनुरोधों के लिए उपलब्ध नहीं है.
उदाहरण: ShipmentModel.objectives
का अनुरोध करो
अनुरोध करने से पहले, यह तरीका अपनाएं:
- पक्का करें कि आपने ऐप्लिकेशन के लिए डिफ़ॉल्ट क्रेडेंशियल कॉन्फ़िगर किए हों. इसके बारे में OAuth का इस्तेमाल करना लेख में बताया गया है.
PROJECT_NUMBER_OR_ID को अपने Cloud प्रोजेक्ट नंबर या आईडी पर सेट करें.
नीचे दी गई कमांड, Route Optimization API को एक
OptimizeToursRequest
भेजती है. इसके जवाब में, यह API एकOptimizeToursResponse
दिखाता है.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": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ], } } EOM
उदाहरण: TRANSFORM_AND_RETURN_REQUEST
का अनुरोध करो
अनुरोध करने से पहले, यह तरीका अपनाएं:
- पक्का करें कि आपने ऐप्लिकेशन के लिए डिफ़ॉल्ट क्रेडेंशियल कॉन्फ़िगर किए हों. इसके बारे में OAuth का इस्तेमाल करना लेख में बताया गया है.
PROJECT_NUMBER_OR_ID को अपने Cloud प्रोजेक्ट नंबर या आईडी पर सेट करें.
नीचे दी गई कमांड, Route Optimization API को एक
OptimizeToursRequest
भेजती है. यहOptimizeToursRequest
,ProcessedRequest
फ़ील्ड सेट के साथ एकOptimizeToursRequest
दिखाता है.OptimizeToursResponse
पिछली कमांड से, इस तरह का जवाब मिलेगा.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": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } EOM
{ "processedRequest": { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.425062610009959, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.424215032060211, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerHour": 30, "costPerTraveledHour": 330, "costPerKilometer": 0.2 } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } }