Ejemplo 1 – Operaciones con un solo vehículo
- Descripción del problema
- Parámetros utilizados
- Solicitud completa
- Resolver el problema logístico
- Respuesta completa
Descripción del problema
En este ejemplo, tenemos una solicitud para que la Planning API resuelva un problema logístico que implica 1 vehículo y 2 operaciones, partiendo del centro de distribución.
Parámetros utilizados
"optimizationProfile": "BRAZIL46"
– Para esta simulación se utilizó el perfil de optimización BRAZIL46. Para conocer los tipos disponibles, consulteoptimizationProfile
."tripsProfile": "MAPLINK"
– Utilizamos el perfil con el mapa más actualizado y lo configuramos para que utilizara el modo de cálculo para usar rutas más rápidas."startDate": 1513750219000
– Hora de inicio de referencia para el cálculo de la optimización logística."legislationProfiles"
– Parámetro con el nombre del perfil que se aplica al tiempo de conducción, a la duración de una jornada laboral o a la pausa. En este caso no hay características definidas."logisticConstraints"
– Restricciones logísticas utilizadas para determinar el tiempo fijo de carga y descarga de la mercancía. En este ejemplo, se utilizaron 900 segundos (15 minutos) para el tiempo de carga del camión y 600 segundos (10 minutos) para la descarga en la entrega."products"
– Nombre para referirse al producto."sites"
– Lugar donde se llevarán a cabo las actividades de entrega, con definición del nombre y la restricción logística con el tiempo de entrega."depots"
– Localización del centro de distribución, con definición del nombre y la restricción logística con el tiempo de carga del camión."vehicleTypes"
– En este parámetro especificamos la capacidad de carga de los vehículos de la flota, como volumen máximo y peso y tamaño dentro de un rango de 1 a 9, y el nombre del tipo."vehicles"
– Se han especificado los vehículos disponibles para realizar la ruta. En este ejemplo, un vehículo tipo VUC. También define el periodo de trabajo y el perfil legislativo aplicable al conductor. Se decidió que el vehículo saldría y regresaría al Centro de Distribución."operations"
– Son las características de las operaciones de entrega, que definen la ubicación, el peso y el volumen, el producto, el tipo de actividad, el centro de distribución del que procede el producto y el momento en que el cliente lo recibirá. En este ejemplo, hay 2 operaciones.
Solicitud completa
La solicitud completa puede verse a continuación:
{ "optimizationProfile": "BRAZIL46", "tripsProfile": "MAPLINK", "startDate": 1513750219000, "legislationProfiles": [ { "name": "DEFAULT" } ], "logisticConstraints": [ { "name": "P1Pickup", "siteLoadingFixedTime": 900 }, { "name": "P1Delivery", "siteUnloadingFixedTime": 600 } ], "products": [ { "name": "DEFAULT" } ], "sites": [ { "name": "Cliente1", "coordinates": { "latitude": -23.507608, "longitude": -46.587145 }, "logisticConstraints": "P1Delivery" }, { "name": "Cliente2", "coordinates": { "latitude": -23.621059, "longitude": -46.756193 }, "logisticConstraints": "P1Delivery" } ], "depots": [ { "name": "CD", "coordinates": { "latitude": -23.503939, "longitude": -46.498419 }, "logisticConstraints": "P1Pickup" } ], "vehicleTypes": [ { "name": "VUC", "maxVolume": 20, "maxWeight": 1200, "size": 1 } ], "vehicles": [ { "name": "VUC_1", "vehicleType": "VUC", "legislationProfile": "DEFAULT", "availablePeriods": [ { "departureSite": "CD", "arrivalSite": "CD", "timeWindow": { "start": 1513753200000, "end": 1513796400000 } } ] } ], "operations": [ { "id": "P1", "weight": 100, "volume": 2, "product": "DEFAULT", "type": "DELIVERY", "depotSite": "CD", "customerSite": "Cliente1", "customerTimeWindows": [ { "start": 1513756800000, "end": 1513771200000 } ] }, { "id": "P2", "weight": 250, "volume": 5, "product": "DEFAULT", "type": "DELIVERY", "depotSite": "CD", "customerSite": "Cliente2", "customerTimeWindows": [ { "start": 1513756800000, "end": 1513771200000 } ] } ] }
Resolver el problema logístico
La respuesta de la API se devolverá en formato json con la mejor secuencia de operaciones de entrega para cada vehículo.
Se devuelven los siguientes indicadores globales, así como la secuencia temporal de las actividades realizadas por el vehículo:
Indicador | Resultados |
Duración total del servicio: | 00:35:00 |
Tiempo total de entrega: | 00:20:00 |
Tiempo total de trabajo diurno: | 02:25:13 |
Tiempo total trabajado por la noche: | 00:00:00 |
Tiempo total de descarga: | 00:00:00 |
Tiempo total de trabajo: | 02:25:13 |
Tiempo total de recogida: | 00:00:00 |
Número de ventanas temporales: | 1 |
Tiempo total de conducción: | 01:50:13 |
Tiempo total de carga: | 00:15:00 |
Tiempo total: | 02:25:13 |
Distancia total: | 74,21 km |
Índice medio de ocupación en Volumen: | 35 |
Tasa de ocupación media en pesos: | 29.17 |
Número de rechazos: | 0 |
Tiempo total de espera: | 00:00:00 |
Tiempo total de descanso: | 00:00:00 |
Número de rutas: | 1 |
Respuesta completa
A continuación encontrará la respuesta completa:
{ "id": "60942de8d7cb173bfb2b78c7", "clientId": "0wfdGfgEOFpME1RcsrBj4U5yAAJjeqFG", "vehicleRoutes": [ { "routes": [ { "id": "NewRoute_1_1", "activities": [ { "activity": "ROUTE_START", "timeWindow": { "start": 1513754558000, "end": 1513754558000 }, "type": "SITE", "site": "CD", "operations": [] }, { "activity": "LOADING", "timeWindow": { "start": 1513754558000, "end": 1513755458000 }, "type": "SITE", "site": "CD", "fixedTimeSite": 900, "operations": [ "P2", "P1" ] }, { "activity": "DRIVING", "timeWindow": { "start": 1513755458000, "end": 1513756800000 }, "type": "DRIVING", "operations": [], "arrivalSite": "Cliente1", "departureSite": "CD", "distance": 13245, "nominalDuration": 1342 }, { "activity": "DELIVERY", "timeWindow": { "start": 1513756800000, "end": 1513757400000 }, "type": "SITE", "site": "Cliente1", "fixedTimeSite": 600, "operations": [ "P1" ] }, { "activity": "DRIVING", "timeWindow": { "start": 1513757400000, "end": 1513759758000 }, "type": "DRIVING", "operations": [], "arrivalSite": "Cliente2", "departureSite": "Cliente1", "distance": 27131, "nominalDuration": 2358 }, { "activity": "DELIVERY", "timeWindow": { "start": 1513759758000, "end": 1513760358000 }, "type": "SITE", "site": "Cliente2", "fixedTimeSite": 600, "operations": [ "P2" ] }, { "activity": "DRIVING", "timeWindow": { "start": 1513760358000, "end": 1513763263000 }, "type": "DRIVING", "operations": [], "arrivalSite": "CD", "departureSite": "Cliente2", "distance": 34920, "nominalDuration": 2905 }, { "activity": "ROUTE_END", "timeWindow": { "start": 1513763263000, "end": 1513763263000 }, "type": "SITE", "site": "CD", "operations": [] } ], "status": null, "violationConstraints": null, "compartmentConfiguration": null } ], "vehicle": "VUC_1", "period": { "timeWindow": { "start": 1513753200000, "end": 1513796400000 }, "departureSite": "CD", "arrivalSite": "CD", "maxRoutesNumber": null, "maxWorkingTime": null, "maxDrivingTime": null } } ], "rejectOperations": [], "indicators": { "totalServiceTime": 2100, "totalDeliveringTime": 1200, "dayWorkingTotalTime": 8705, "nightWorkingTotalTime": 0, "totalUnloadingTime": 0, "totalWorkingTime": 8705, "totalCollectingTime": 0, "timeWindowNumber": 1, "totalDrivingTime": 6605, "totalLoadingTime": 900, "totalTime": 8705, "totalDistance": 75296, "averageOccupancyRateVolume": 35.0, "averageOccupancyRateWeight": 29.17, "rejectOperationsNumber": 0, "totalWaitingTime": 0, "totalRestTime": 0, "routesNumber": 1 } }