Hola estoy trabajando para una empresa de fabricación cuya operación funciona de esta manera
Recibimos rollos de un material en un tamaño determinado de nuestro proveedor, digamos 8000 metros por rollo. Luego recibimos pedidos de diferentes clientes de tamaños más pequeños, como 2000 metros, 3000 metros, etc. Estoy tratando de desarrollar un software para esto y me preguntaba si hay alguna técnica matemática en la que simplemente introduzcan su tamaño de rollo actual y los diferentes pedidos que tenemos en ese momento, y que pueda generar la mejor manera de cortar los diferentes rollos para minimizar el desperdicio.
Por ejemplo, en un momento dado podemos tener los siguientes pedidos 2 piezas de 3000 metros 2 piezas de 4000 metros 6 piezas de 1500 metros
Entonces todo lo que tenemos que introducir son los pedidos anteriores junto con el tamaño del rollo que nuestro proveedor nos proporciona, para este ejemplo asumimos que son 8000 metros.
A continuación, el software debería generar resultados como Rollo 1 - Dos piezas de 4000 metros Rollo desperdiciado 0 Rollo 2 - Dos piezas de 3000 metros y 1 pieza de 1500 (Rollo desperdiciado 500) Rollo 3 - Cinco piezas de 15000 (Rollo desperdiciado 500)
El script debe ser optimizado ya que el ejemplo anterior es bastante pequeño. Normalmente tendremos pedidos de unas 200 piezas a la vez
Sé que podemos hacerlo por fuerza bruta probando cada combinación. Pero, ¿existen otros algoritmos y técnicas de ordenación que puedan ayudar en este caso a reducir la carga del ordenador?