Tengo los datos de todos mis productos (altura-ancho-longitud) pero quiero encontrar el número óptimo de cajas N y el tamaño de cada N cajas (medidas como HWL). ¿Cómo puedo hacerlo?

Si los tamaños de las cajas son fijos, el problema como se indicó es más difícil que el problema de empaquetado de Bin, que se sabe que es NP-hard, lo que significa que es poco probable que exista un algoritmo eficiente (a menos que P = NP). Sin embargo, existen buenos algoritmos de aproximación para el problema del embalaje del contenedor (excediendo el número óptimo en menos del 20%). Mira el artículo de Wikipedia. Contiene una buena discusión. Sin embargo, tenga en cuenta que el problema no es equivalente al embalaje del contenedor. En el embalaje de contenedores solo tiene una dimensión. De hecho, se relaciona mejor con el problema de la mochila (mochila multidimensional) que también tiene NP completo y nuevamente su problema es más difícil que este también.

Si, como sugiere su pregunta, es libre de elegir los tamaños de las cajas, debe haber algunas restricciones adicionales, como HWL máximo. Con HWL máximo, el problema se convierte en la versión discutida en el párrafo anterior, ya que tendría sentido tener todas las cajas de tamaños máximos. Sin embargo, es probable que los valores de HWL sean pequeños. Por lo tanto, se puede derivar alguna solución. Puedo pasar algún tiempo proporcionándole una buena solución para esto, como consultoría pagada.

Pero creo que tendría mucho más sentido para usted usar un algoritmo simple: simplemente coloque cada producto en la primera casilla donde quepa (junto con el resto ya colocado en esa casilla). Muchos algoritmos de aproximación funcionan en esta idea. E incluso la solución óptima probablemente no mejorará este algoritmo ingenuo en un factor significativo por encima de 1/2.

El caso ideal es cuando el tamaño de los productos es exactamente igual al tamaño de la caja.

Probablemente usaría el volumen como el mejor caso.

1. Encuentre el volumen de los productos, luego encuentre los cuadros que coinciden con el volumen.

2. Suponiendo que tiene varias cajas de diferente tamaño pero el mismo volumen que los productos, encontrará la orientación de los productos que toman el valor mínimo.

Probablemente desee utilizar el volumen máximo del producto como elemento principal. Luego, el siguiente producto más grande, etc. Creo que simplemente habría apilado el más grande, luego el siguiente más grande, si el espacio encaja, empujarlo o apilarlo.

Esto sería realmente un algoritmo bastante complicado. Estoy un poco cansado, así que no puedo pensar en nada bueno.

3. Luego usaría el valor máximo de la orientación mínima de los productos. Puede ser altura, longitud o ancho de la orientación mínima. Luego, eliminaría todos los cuadros que tengan un valor máximo más bajo que podría ser el ancho del cuadro, el alto del cuadro o el largo del cuadro. Entonces, probablemente pueda verificar el siguiente valor más grande de la orientación mínima.

De lo contrario, si no hay caja,

crea una combinación de elementos e intenta ajustar nuevamente. Me refiero a que podría usar cuadros más grandes que la orientación mínima y verificar el espacio desperdiciado usando el volumen y establecer un umbral.

Esto realmente suena como el problema de la mochila.

Excepto por el volumen, sería el costo, y con la restricción de que la altura, el largo y el ancho serían importantes.

Hola.
Es un problema de optimización clásico, llamado problema de mochila. Pero con variaciones.
Entonces, en general, la tarea es encontrar el mínimo global. Buenas pretensiones son metaheurísticas como:
1. Recocido simulado
2. Algoritmo genético
Entonces, cómo trabajar con ellos.
1. Definir restricciones
2. Definir la función fitness
3. Ejecute uno de estos algoritmos para tratar de encontrar la mejor solución.
Las metaheurísticas no garantizan encontrar el mínimo global. Por lo general, saltan en el espacio del problema, tratando de encontrar la mejor solución.
Espero que esto ayude