اهداف پارامترهایی هستند که اهداف بهینهسازی مشترک را از پیش تعریف میکنند، مانند کوتاهترین مسافت یا مدت سفر، تحویل به موقع، متعادل کردن بارها بین رانندگان. هدف از این کار این است که توسعهدهندگان را قبل از یادگیری پیچیدگیها و سفارشیسازی کامل پارامترهای هزینه، به API بهینهسازی مسیر آسانتر کند. (برای اینکه چگونه به طور کامل طیف گسترده ای از اهداف خود را سفارشی کنید به " cost model " مراجعه کنید)
در صورت تنظیم، ShipmentModel.objectives مدل هزینه را به طور کامل بازنویسی می کنند، بنابراین با هزینه های قبلی ناسازگار هستند. هر Objective به تعدادی از هزینه های از پیش تعریف شده برای وسایل نقلیه، محموله ها یا ویژگی های انتقال نقشه می دهد.
هنگام تعیین حالت حل TRANSFORM_AND_RETURN_REQUEST ، درخواست حل نمی شود و فقط اعتبارسنجی می شود و با هزینه های مربوط به اهداف داده شده پر می شود. درخواست اصلاح شده به عنوان OptimizeToursResponse.processed_request برگردانده می شود. تمام حالت های حل دیگر درخواست حل شده را برمی گرداند.
حالت حل TRANSFORM_AND_RETURN_REQUEST فقط برای درخواستهای OptimizeTours معتبر است و برای سایر درخواستهای API بهینهسازی مسیر در دسترس نیست.
مثال: درخواست ShipmentModel.objectives را ارسال کنید
قبل از درخواست، مراحل زیر را انجام دهید:
- اطمینان حاصل کنید که اعتبارنامه پیشفرض برنامه را همانطور که در Use OAuth توضیح داده شده پیکربندی کردهاید.
PROJECT_NUMBER_OR_ID را روی شماره یا شناسه پروژه Cloud خود تنظیم کنید.
دستور زیر یک
OptimizeToursRequestرا به Route Optimization 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 کنید
قبل از درخواست، مراحل زیر را انجام دهید:
- اطمینان حاصل کنید که اعتبارنامه پیشفرض برنامه را همانطور که در Use 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" } }