मकसद

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

    नीचे दिया गया कमांड, OptimizeToursRequest को Route Optimization API भेजता है. इसके जवाब में, OptimizeToursResponse मिलता है. इसमें ProcessedRequest फ़ील्ड सेट होता है.

    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"
      }
    }