लक्ष्य ऐसे पैरामीटर होते हैं जो ऑप्टिमाइज़ेशन के सामान्य लक्ष्यों को पहले से तय करते हैं. जैसे, यात्रा की सबसे कम दूरी या अवधि, समय पर डिलीवरी, और ड्राइवर के बीच लोड को बैलेंस करना. इसका मकसद, डेवलपर को 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भेजती है. इसके जवाब में, यह एपीआई एक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" } }