Bin Packing Problem Best Bins Last Gruppo 7 Claudio Graffone Giovanni Peditto Yary Ribero Best Bins Last
Valutazione dell'Ottimo Bin Packing Problem Valutazione dell'Ottimo Abbiamo definito uno scarto percentuale dall'ottimo Ed abbiamo calcolato media e varianza su tutte le istanze a meno dei tre risultati migliori e peggiori.
Bin Packing Problem Inizializzazione Dopo aver provato inizializzazioni basate sul volume, la migliore è risultata quella che prevede score crescenti in base alla posizione dell'oggetto nella soluzione.
Il codice d'inizializzazione Bin Packing Problem Il codice d'inizializzazione
La funzione di Short Term Update Bin Packing Problem La funzione di Short Term Update Il metodo Best Bins Last prevede di scegliere per ultimi i bins più promettenti e di decrementarne lo score di un valore alpha. Abbiamo deciso di provare anche altre combinazioni (bin peggiori e scores crescenti ...), fino a scoprire che, nel nostro caso la migliore è quella che corrisponde al metodo Worst Bin First.
Bin Packing Problem Il valore di k Abbiamo trovato che il metodo dà soluzioni ottimali per una finestra di ampiezza k compresa tra 3 ed un quinto dei bins disponibili per l’istanza del problema. Valori superiori cambiano gli scores di molti oggetti mescolando eccessivamente le carte in tavola.
Bin Packing Problem Il valore alfa (I) Con alfa statico o monotono non riuscivamo a scendere al di sotto di una soglia ragionevole (~1,51%).
Bin Packing Problem Il valore alfa (II) Imponendo alfa casuale tra 0,05 e 1 i risultati sono migliorati di molto.
Bin Packing Problem Il codice della Short Term Update
Bin Packing Problem La Long Term Update L'aggiornamento a lungo termine assegna scores tendezialmente migliori agli oggetti nei primi posti della soluzione attuale, a meno di una variabile casuale che aumenta le possibilità di trovare nuovi ottimi nel caso ci trovassimo in un buon intorno.
Reverse Simulated Annealing Bin Packing Problem Reverse Simulated Annealing L'inversione sta nel fatto che, nel nostro caso, la temperatura si alza ponendo rimedio al congelamento degli scores a lungo termine. Per introdurre un po' di varianza nelle reinizializzazioni, abbiamo fatto nostra la filosofia dell'algortimo simulated annealing.
La Temperatura del sistema Bin Packing Problem La Temperatura del sistema Abbiamo scoperto sperimentalmente che il valore iniziale da imporre è 0 e l’incremento ottimo è 0,2. Questo permette alla temperatura di non salire mai oltre il valore 20, soglia sopra il quale le soluzioni si allontanano dalla soluzione ottima
Il codice della Long Term Update Bin Packing Problem Il codice della Long Term Update
Bin Packing Problem Criteri di Stop (I) N. max di iterazioni: 10000 N. max di iterazioni non miglioranti: 2500 Temperatura massima: 20
Bin Packing Problem Criteri di Stop (II) Questi tre criteri, combinati assieme, riducono notevolmente il numero di iterazioni a vuoto e permettono di continuare a lungo l'analisi dei soli problemi che producono, di tanto in tanto, nuove soluzioni ottime.
Bin Packing Problem Risultati (I) Il nostro algoritmo tende ad essere particolarmente efficace con istanze del problema che hanno numerosi oggetti. 3 istanze non sono mai scese al di sotto del 5% dall'ottimo: 3_A_0_3, 3_A_0_4 e 3_A_0_5 e sono state sempre scelte per essere scartate dalla media finale.
Bin Packing Problem Risultati (II) ~1,65% Il programma, al netto della Long Term Update, ha una distanza dal LB pari a ~1,65% Valore dal quale ci siamo allontanati poco prima di introdurre l'algoritmo del Reverse Simulated Annealing.
Bin Packing Problem Risultati (III) 1,26-1,30% Aggiungendo l'algoritmo Reverse Simulated Annealing, abbiamo ottenuto ottimi oscillanti tra i valori 1,26-1,30% Con un minimo assoluto pari a 1,252% Con una varianza di circa 0,9
FINE