Sto lavorando a un progetto di autoapprendimento ma non riesco a trovare una risposta affidabile.
Ecco l'offerta:
Comincio con bastoncini da 500 cm. Ho ordini da clienti che vogliono bastoncini più piccoli. Sono disposto a tagliare il mio stick da 500 cm in ben 7 pezzi.
Come posso determinare quale combinazione di ordini dei clienti utilizzare per ciascuna levetta per ridurre al minimo gli sprechi?
Ecco alcuni esempi di dati dell'ordine cliente:
+-----------+--------+
| Firm Name | Length |
+-----------+--------+
| "firm1", | 34, |
| "firm2", | 43, |
| "firm3", | 52, |
| "firm4", | 61, |
| "firm5", | 62, |
...
| "firm26", | 102, |
| "firm27", | 152, |
| "firm28", | 153, |
| "firm29", | 163, |
| "firm30", | 202, |
+-----------+--------+
La parte importante è che l'algoritmo dovrebbe ridurre al minimo lo scarto.
Ho pensato che potevo usare un algoritmo genetico ma non restituisce ogni volta la soluzione corretta.
L'importante è che tutti gli ordini di lavoro su pezzi devono essere di 500 cm in totale. O dovrebbe essere vicino a quella lunghezza in base alla lunghezza del rifiuto dato. La quantità potrebbe essere superiore all'ordine e può essere messa in stock.