Non è un problema banale da risolvere, bisogna elaborare un algoritmo che valuti le varie combinazioni di tagli relative all'ordine ricevuto, che alla fine di ogni tentativo si ricordi la combinazione migliore e la restituisca alla fine.
Un metodo becero sarebbe quello di provare tutte le combinazioni in sequenza su tutti i pezzi richiesti, per esempio ti si chiedono
2 pezzi da 2600
2 pezzi da 1800
1 pezzo da 900
combinazione 1:
2600 + 2600 -> 5200 -> 1 verga, scarto 600
1800 + 1800 + 900 -> 4500 -> 1 verga, scarto 1300
scarto totale 1900 -> miglior risultato corrente
combinazione 2:
2600 + 1800 + 900 -> 5300 -> 1 verga, scarto 500
2600 + 1800 -> 4400 -> 1 verga, scarto 1400
scarto totale 1900 -> come il precedente
in pratica un sacco di cicli, che puoi ottimizzare fermandoli quando si sfora la lunghezza di una verga e tenendo sempre aggiornato lo scarto totale della combinazione corrente in modo da confrontarlo con il migliore ottenuto in precedenza e passare subito alla combinazione successiva se diventa maggiore o uguale, sarebbe inutile insistere su una combinazione se già in un punto intermedio risulta uno scarto maggiore.
Insomma, c'è da perderci del tempo per scrivere un buon algoritmo che faccia ciò che ti serve.