Fairness - balance number of locations serviced per vehicle
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 28/100
Línea de trabajo
No se menciona ningún archivo ni prueba. Empieza localizando el modelo de enrutamiento de vehículos y su configuración de restricciones opcionales, y después inspecciona cómo el solver subyacente expone Distribute, Deviation y la minimización mediante finalizer. Se considera terminado cuando un flag opcional habilita conteos equilibrados de ubicaciones por vehículo y el solver minimiza su desviación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
We want to be able to balance the number of locations serviced by each vehicle to be as even as possible. The use-case is for example drivers who are getting paid (at least partially) by number of deliveries.
This constraint should be behind a flag and optional.
Implementation: use the underlying solver to
- Establish a vehicle vars <-> vehicle counts relationship via the
Distributeconstraint - Add a
Deviationconstraint for vehicle counts targeting thedeviationvar - Minimizing the
deviationvar
Roughly as follows:
std::vector<IntVar*> vehicleCounts;
for (auto vehicle = 0; vehicle < numVehicles; ++vehicle)
vehicleCounts.push_back(solver->MakeIntVar(0, numNodes));
solver->AddConstraint(solver->MakeDistribute(vehicleVars, vehicleCounts));
auto* deviationVar = solver->MakeIntVar(0, numNodes * numNodes);
solver->AddConstraint(solver->MakeDeviation(vehicleCounts, deviationVar, numNodes));
model.AddVariableMinimizedByFinalizer(deviationVar);
- Lenguaje dominante
- C++
- Estrellas
- 155
- Forks
- 47
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de mapbox/node-or-tools
-
why was dev taken private?Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
mapbox/node-or-tools#84 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
mapbox/node-or-tools#82 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
mapbox/node-or-tools#81 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
mapbox/node-or-tools#80 ·
-
Windows buildAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
mapbox/node-or-tools#77 · 5 reacciones ·
Todos los issues de mapbox/node-or-tools
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
objectionary/eo-graphs#80 ·
-
bug C/C++ code
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
webarkit/WebARKitLib#85 ·
Los mantenedores suelen responder en 1 día
-
SD Card Size correctionAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
[request] vsg/1.1.16Abiertoupstream update
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
conan-io/conan-center-index#31142 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100