اهداف پارامترهایی هستند که اهداف بهینهسازی مشترک را از پیش تعریف میکنند، مانند کوتاهترین مسافت یا مدت سفر، تحویل به موقع، متعادل کردن بارها بین رانندگان. هدف از این کار این است که توسعهدهندگان را قبل از یادگیری پیچیدگیها و سفارشیسازی کامل پارامترهای هزینه، به API بهینهسازی مسیر آسانتر کند.
در صورت تنظیم، 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" } }