Vi illustro il problema che devo risolvere:
Ho un DB access nel quale ho 3 tabelle (TraviMagazzino, TraviTemp e TraviOrdine).
In TraviMagazzino ho tutte le travi in legno disponibili in magazzino (quindi di sezioni differenti e lunghezze differenti)
In TraviTemp inserisco le travi che servono al cliente.
In TraviOrdine inserisco le travi che ho in magazzino e che sono compatibili con quelle del cliente.
Adesso, l'algoritmo che sto cercando dovrebbe prima di tutto fare un controllo nel TraviMagazzino per vedere se vi sono esattamente le travi singole (con un margine di +qualche cm, es.10cm) che il cliente chiede, diminuendole di numero se ci sono e scrivendo nel TraviOrdine il recordset selezionato e decrementando o eliminando da TraviTemp, se non vi sono passa alla trave successiva.
Successivamente dovrebbe fare in rapida successione la somma delle travi richieste (prima due, poi tre, poi quattro) e rifare il controllo nel magazzino...così facendo prende travi in TraviMagazzino più grandi e le divide (producendo naturalmente uno scarto).
alla fine dovrei arrivare ad avere TraviTemp vuoto...
come posso fare? ovviamente devo trovare l'ottimo, ossia avere meno scarti possibile...
Se avete qualche idea (riferita sia all'algoritmo intero, sia a come effettuare una ricerca nel DB per sezione e lunghezza+10cm, sia su come fare per effettuare la somma di 2,3..travi e fare il controllo per avere meno scarto possibile).
Edit: per il primo controllo, quello di Trave con Trave, pensavo di prendere le travi presenti in magazzino e vedere se quelle presenti nell'ordine del cliente ci stanno con uno scarto inferiore a circa 10-20cm...questo potrebbe essere un metodo, ossia guardare cosa c'è in magazzino e paragonarlo a quello richiesto...