Hola. No te puedo ayudar, pero te comento:
Hace muchos años (hacia 1983) hice un programita de ordenador, en la oficina técnica de una casa de forjados de Asturias, donde trabajaba, que incluía una parte para algo muy parecido: optimizar la distribución, sobre un papel de ancho fijo (el ancho del rollo de papel que usaba el plotter) de los planos de los despieces de ferralla de las vigas de hormigón de la estructura de un edificio.
En la casa de forjados hacíamos, para los arquitectos, como un servicio añadido, el cálculo de la estructura del edificio cuyo forjado iban a contratar con nosotros. Entre los planos de estructura estaban los de despiece de la ferralla de las vigas, que sacaba el programa por el plotter (una especie de impresora con plumas de tinta china).
Cada uno de los tramos de vigas, en cuanto a tamaño sobre el plano, ocupaba una franja de altura fija y cuya longitud horizontal era la de la viga más un margen entre cada dos despieces. La idea era la misma: distribuir todos los despieces en el menor número de franjas horizontales del plano, agrupando unas con otras de la mejor forma, buscando el menor desperdicio.
La distribución óptima da lugar a un algoritmo "de fuerza bruta" de los considerados NP (no polinómicos) que son inviables en el uso real, porque el tiempo de cálculo necesario crece de forma exponencial con el tamaño de los datos (el número de tramos a incluir en un plano), requiriendo enseguida un tiempo muy superior al razonable.
Pero di con un algoritmo que, sin ser óptimo, daba resultados muy buenos en un tiempo de cálculo suficientemente breve. Y el problema es, en esencia, el mismo que el de distribución de piezas de barra en un número mínimo de barras de longitud fija.
La pena es que no conservo los listados de los programas que hice entonces. Y no conozco ningún programa real o página web que resuelvan el problema.
Que tengas suerte.