Hedefler

Hedefler, en kısa seyahat mesafesi veya süresi, zamanında teslimatlar, sürücüler arasında yük dengeleme gibi yaygın optimizasyon hedeflerini önceden tanımlayan parametrelerdir. Bu, geliştiricilerin karmaşık özellikleri ve maliyet parametrelerinin tam özelleştirilmesini öğrenmeden önce Route Optimization API'ye katılımını kolaylaştırmak için tasarlanmıştır.

Ayarlanmışsa ShipmentModel.objectives, maliyet modelini tamamen geçersiz kılar. Bu nedenle, önceden var olan maliyetlerle uyumlu değildir. Her Objective, araçlar, gönderiler veya geçiş özellikleri için önceden tanımlanmış bir dizi maliyetle eşlenir.

TRANSFORM_AND_RETURN_REQUEST çözüm modu belirtildiğinde istek çözülmez, yalnızca doğrulanır ve verilen hedeflere karşılık gelen maliyetlerle doldurulur. Değiştirilen istek, OptimizeToursResponse.processed_request olarak döndürülür. Diğer tüm çözüm modları, çözülen isteği döndürür.

TRANSFORM_AND_RETURN_REQUEST çözüm modu yalnızca OptimizeTours istekleri için geçerlidir ve diğer Rota Optimizasyonu API istekleri için kullanılamaz.

Örnek: ShipmentModel.objectives isteğinde bulunma

İstek göndermeden önce aşağıdaki adımları tamamlayın:

  • Uygulama Varsayılan Kimlik Bilgileri'nin OAuth Kullanma bölümünde açıklandığı şekilde yapılandırıldığından emin olun.
  • PROJECT_NUMBER_OR_ID değerini Cloud proje numaranız veya kimliğiniz olarak ayarlayın.

    Aşağıdaki komut, OptimizeToursRequest döndüren Rota Optimizasyonu API'sine OptimizeToursResponse gönderir.

    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

Örnek: TRANSFORM_AND_RETURN_REQUEST isteğinde bulunma

İstek göndermeden önce aşağıdaki adımları tamamlayın:

  • Uygulama Varsayılan Kimlik Bilgileri'nin OAuth Kullanma bölümünde açıklandığı şekilde yapılandırıldığından emin olun.
  • PROJECT_NUMBER_OR_ID değerini Cloud proje numaranız veya kimliğiniz olarak ayarlayın.

    Aşağıdaki komut, Route Optimization API'ye bir OptimizeToursRequest gönderir. Bu API, ProcessedRequest alanı ayarlanmış bir OptimizeToursResponse döndürür.

    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
    Önceki komut, aşağıdakine benzer bir yanıt oluşturur.
    {
      "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"
      }
    }