Se si ha familiarità con gli algoritmi , si può intuire che gli algoritmi multi-obiettivo sono semplicemente algoritmi che intendono ottimizzare più di una funzione in una sola volta . In un certo senso , algoritmi multi-obiettivo sono espansioni di problemi di programmazione lineare , in cui una funzione deve essere ottimizzata con una serie di vincoli. Spesso è utile confrontare algoritmi multi-obiettivo che pretendono di risolvere la stessa serie di problemi , come alcuni algoritmi potrebbero svolgere meglio di altri . L’unica domanda che rimane su algoritmi di confronto è determinare quali standard da utilizzare per valutare le comparazioni . Istruzioni

1

Confronta i tempi di esecuzione degli algoritmi ” in teoria. Ci sono due modi efficaci per confrontare i tempi di esecuzione degli algoritmi . In primo luogo , è possibile utilizzare la notazione ” O grande ” . In questo metodo , si guarda alla struttura del codice di un algoritmo , calcolare quanto tempo ci vorrà il codice per completare l’esecuzione . Il risultato sarà una funzione matematica ( in numero di passi ) , che possono poi essere confrontato con altre funzioni . La funzione che è più piccola quando un gran numero di passi viene messa in funzione è più veloce; cioè , scegliere un grande valore per la variabile , ad esempio n = 9999 e la valutazione delle funzioni – la funzione che fornisce il numero più piccolo è il più veloce. Se non si ha familiarità con la notazione ” O grande ” , è possibile saltare questa parte e confrontare i tempi di esecuzione solo in pratica .

2

Confronto tempi di esecuzione degli algoritmi ” in pratica . Questo passo dovrebbe essere fatto a prescindere dal fatto che avete già usato la notazione ” O grande “, per confrontare gli algoritmi . Eseguire ogni algoritmo sullo stesso computer . Ora gli algoritmi e confrontare i conseguenti tempi di esecuzione . Prova questo con più set di circostanze carico, come quello di avere diversi programmi in esecuzione in background , come l’algoritmo esegue . In questa circostanza , il computer ha meno RAM disponibile , in modo da essere in grado di vedere come gli algoritmi confronta in risorse limitate .

3

confrontare l’output degli algoritmi . Sebbene algoritmi multiobiettivo corretti dovrebbero convergere sullo stesso insieme di soluzioni , a causa di piccoli errori nel codice , è spesso il caso che le soluzioni differiscono di una certa quantità . Confrontare le differenze calcolando la distanza euclidea tra le soluzioni . La maggior parte dei programmi software offrono una funzione di distanza euclidea per l’uscita vettore ( l’uscita di algoritmi multi- obiettivo ) . Se siete senza tale funzione , utilizzare la seguente formula : sqrt ( sum ( [ soli1 – soli2 ] ^ 2) ) , dove ” sqrt ” è la funzione radice quadrata , “somma” è la somma di notazione sigma che aggiunge tutte le I valori all’interno della funzione , ” soli1 ” è la soluzione ” esima ” per il primo algoritmo e ” soli2 ” è la soluzione ” esima ” per il secondo algoritmo .