Estoy tratando de llevar la lógica y la programación a un proceso actualmente controlado manualmente.
Tomamos los pesos de 16 martillos trituradores diferentes, los organizamos en conjuntos de 4 en función de qué tan cerca está el peso de cada conjunto de los demás. Estamos buscando tener menos de 1 libra de diferencia entre los 4 juegos. Se conocen los pesos, pero lógicamente no puedo programar un método para hacer esto sin lápiz y papel.
Ejemplo a continuación.
| Conjunto A | Conjunto B | Conjunto C | Juego D | |
|---|---|---|---|---|
| 39.1 | 40.1 | 42.0 | 41.5 | |
| 40.05 | 41.0 | 40.05 | 38.90 | |
| 41.2 | 42.1 | 41.3 | 43.1 | |
| 38.5 | 43.60 | 42.1 | 41.5 | |
| Totales | 158.85 | 166.80 | 165.45 | 165 |
Como puede ver en el primer ejemplo, los conjuntos C y D están lo suficientemente cerca. Los conjuntos A y B están demasiado separados y necesitan reajustarse, pero debido a la gran diferencia, lo más probable es que tenga que reorganizar los 4 conjuntos para obtener una diferencia de 1 libra para los 4 conjuntos. Ahora fíjese, todo esto se hace en papel, y estoy buscando una manera de conectar todos los números y hacer que escupa la mejor configuración dados los pesos de los martillos, no más papel.
| Conjunto A | Conjunto B | Conjunto C | Juego D | |
|---|---|---|---|---|
| 42.1 | 39.1 | 42.0 | 41.5 | |
| 40.05 | 41.0 | 40.05 | 38.90 | |
| 43.60 | 43.1 | 41.3 | 42.1 | |
| 38.5 | 41.20 | 40.1 | 41.5 | |
| Totales | 164.25 | 164.40 | 163.45 | 164 |
Podría hacer esto todo el día, dividir los pelos para acercarme lo más posible. Cuanto más nos acercamos a los pesos, menos vibraciones experimentamos y nuestros equipos duran mucho más. ¿Alguien tiene alguna idea para lograr esto?
No soy un buen tipo de matemáticas, pero creo que para organizar TODOS LOS 4 JUEGOS dentro de la tolerancia de 1 libra, los 16 martillos deben tener un peso constante que esté un poco alejado del peso objetivo.
La forma más sencilla que se me ocurre es clasificarlos todos en orden y asignar el índice 0~3 a cada grupo hasta que se asignen los 16.