Ziele sind Parameter, mit denen gängige Optimierungsziele wie kürzeste Fahrstrecke oder ‑dauer, pünktliche Lieferungen oder die Verteilung der Lasten auf die Fahrer vordefiniert werden. Sie soll Entwicklern den Einstieg in die Route Optimization API erleichtern, bevor sie sich mit den Feinheiten und der vollständigen Anpassung von Kostenparametern vertraut machen.
Wenn sie festgelegt sind, überschreiben die ShipmentModel.objectives
das Kostenmodell vollständig. Sie sind daher nicht mit vorhandenen Kosten kompatibel. Jedes Objective
entspricht einer Reihe vordefinierter Kosten für Fahrzeuge, Sendungen oder Übergangsattribute.
Wenn Sie den Lösungsmodus TRANSFORM_AND_RETURN_REQUEST
angeben, wird die Anfrage nicht gelöst, sondern nur validiert und mit Kosten entsprechend den angegebenen Zielvorhaben gefüllt. Die geänderte Anfrage wird als OptimizeToursResponse.processed_request
zurückgegeben. Bei allen anderen Lösungsmodi wird die gelöste Anfrage zurückgegeben.
Der TRANSFORM_AND_RETURN_REQUEST
-Lösungsmodus ist nur für OptimizeTours
-Anfragen gültig und nicht für andere Route Optimization API-Anfragen verfügbar.
Beispiel: ShipmentModel.objectives
-Anfrage stellen
Führen Sie vor dem Stellen einer Anfrage die folgenden Schritte aus:
- Achten Sie darauf, dass Sie Standardanmeldedaten für Anwendungen wie unter OAuth verwenden beschrieben konfiguriert haben.
Legen Sie PROJECT_NUMBER_OR_ID auf Ihre Cloud-Projektnummer oder -ID fest.
Mit dem folgenden Befehl wird eine
OptimizeToursRequest
an die Route Optimization API gesendet, die eineOptimizeToursResponse
zurückgibt.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
Beispiel: TRANSFORM_AND_RETURN_REQUEST
-Anfrage stellen
Führen Sie vor dem Stellen einer Anfrage die folgenden Schritte aus:
- Achten Sie darauf, dass Sie Standardanmeldedaten für Anwendungen wie unter OAuth verwenden beschrieben konfiguriert haben.
Legen Sie PROJECT_NUMBER_OR_ID auf Ihre Cloud-Projektnummer oder -ID fest.
Mit dem folgenden Befehl wird eine
OptimizeToursRequest
an die Route Optimization API gesendet, die eineOptimizeToursResponse
mit dem FeldProcessedRequest
zurückgibt. Der vorherige Befehl gibt eine ähnliche Antwort wie die folgende zurück.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" } }