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