Cele to parametry, które wstępnie definiują typowe cele optymalizacji, takie jak najkrótsza odległość lub czas podróży, dostawy na czas czy równoważenie obciążenia między kierowcami. Ułatwiają one deweloperom rozpoczęcie korzystania z interfejsu Route Optimization API przed zapoznaniem się z bardziej złożonymi kwestiami i pełnym dostosowaniem parametrów kosztów. (Informacje o pełnym dostosowaniu różnych celów znajdziesz w sekcji „cost model ”).
Gdy ustawisz ShipmentModel.objectives, zastąpią one całkowicie model kosztów, dlatego są niezgodne z dotychczasowymi kosztami. Każdy
Objective jest powiązany z liczbą predefiniowanych kosztów dotyczących pojazdów, dostaw lub
atrybutów przejścia.
Gdy określisz tryb rozwiązywania TRANSFORM_AND_RETURN_REQUEST,
żądanie nie zostanie rozwiązane, a jedynie zweryfikowane i wypełnione kosztami
odpowiadającymi podanym celom. Zmodyfikowane żądanie zostanie zwrócone jako
OptimizeToursResponse.processed_request. Wszystkie inne tryby rozwiązywania zwrócą rozwiązane żądanie.
Tryb rozwiązywania TRANSFORM_AND_RETURN_REQUEST jest prawidłowy tylko w przypadku żądań OptimizeTours i nie jest dostępny w przypadku innych żądań interfejsu Route Optimization API.
Przykład: wysyłanie żądania ShipmentModel.objectives
Zanim wyślesz żądanie, wykonaj te czynności:
- Upewnij się, że masz skonfigurowane domyślne uwierzytelnianie aplikacji zgodnie z opisem w sekcji Korzystanie z OAuth.
Ustaw PROJECT_NUMBER_OR_ID na numer lub identyfikator projektu w chmurze.
To polecenie wysyła
OptimizeToursRequestdo interfejsu Route Optimization API, który zwracaOptimizeToursResponse.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
Przykład: wysyłanie żądania TRANSFORM_AND_RETURN_REQUEST
Zanim wyślesz żądanie, wykonaj te czynności:
- Upewnij się, że masz skonfigurowane domyślne uwierzytelnianie aplikacji zgodnie z opisem w sekcji Korzystanie z OAuth.
Ustaw PROJECT_NUMBER_OR_ID na numer lub identyfikator projektu w chmurze.
To polecenie wysyła
OptimizeToursRequestdo interfejsu Route Optimization API, który zwracaOptimizeToursResponsez ustawionym polemProcessedRequest. Poprzednie polecenie wygeneruje odpowiedź podobną do tej poniżej.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" } }