Un enfoque es utilizar el complemento Solver en Excel. Devolverá la combinación de valores más cercana al objetivo. Tenga en cuenta que esa combinación puede incluir más de dos números.
Configure el problema con una tabla de 3 columnas. La primera columna contiene sus números, la segunda es un valor entre 0 y 1 que inicialicé con 0, y la tercera contiene una fórmula que multiplica el valor de la primera columna por la segunda.
Luego agregue una celda con el valor objetivo y otra con la suma de los valores de la tercera columna. Finalmente, agregue una celda Objetivo con la fórmula que sea la suma objetivo menos la suma real. Luego devolví la combinación de valores como un grupo separado usando una fórmula ingresada en una matriz (requiere Excel 2016 con suscripción a Office 365 para la función TEXTJOIN):
= “{” & TEXTJOIN (“,”, TRUE, IF (C2: C7 = 0, “”, C2: C7)) & “}”
- ¿Cuál es el significado y la aplicación de la función de Ackermann?
- ¿Por qué cualquier gráfico conectado con exactamente dos vértices impares es transitable o euleriano?
- Cómo crear un algoritmo que pueda determinar si un punto está contenido en un polígono irregular definido por los puntos de sus esquinas
- ¿Cómo resolverías 1,3,6 y 10 usando las fórmulas recursivas y explícitas?
- Si [matemáticas] | A \ copa B | = K [/ math], entonces, ¿cuál es el número de elementos en [math] A \ cap B [/ math] + el número de elementos en [math] B \ cap A [/ math]?
Finalmente, cargué el complemento Solver y le pedí que minimizara el valor de la celda Meta, sujeto a las restricciones de que los valores de la segunda columna sean binarios (0 o 1) y que la celda Meta sea mayor o igual a 0.
Si fuera a programar la solución, primero ordenaría los números en orden ascendente. Si solo buscara pares de valores, comenzaría con el número más grande que era menor que el objetivo y buscaría el otro número más grande que sea menor o igual a la diferencia entre el objetivo y el primer número. El resultado es un grupo separado, que almacenaría en una colección con su suma. Repita el proceso con números más pequeños. No es necesario probar ningún primer número que sea inferior a la mitad del objetivo. Ordenar la colección por los valores de suma asociados. Liste los resultados.