Gli algoritmi genetici sono metodi di ottimizzazione basati sulla popolazione. Quindi hai una popolazione di soluzioni candidate in un dato momento.
Supponiamo che tu stia cercando di risolvere il problema one-max - un semplice problema in cui l'obiettivo è di massimizzare il numero di 1 bit in una stringa binaria di lunghezza L. Con L = 8, ogni soluzione candidata assomiglia
00101101 ==> fitness = 4
Per risolvere questo problema con un GA, è necessario creare una popolazione di tali individui a caso. Sia N = 10 la dimensione della popolazione. Quindi potresti ottenere i seguenti 10 individui (valori di fitness in [] dopo le stringhe di bit).
11011001 [5]
00100110 [3]
11010110 [5]
10010110 [4]
01010110 [4]
11101100 [5]
01001001 [3]
11001011 [4]
10111101 [6]
01001010 [3]
Questa è la "popolazione iniziale". La GA selezionerà quindi i genitori da questa popolazione, li allevierà, eventualmente muterà la prole, e produrrà una nuova popolazione dalla prole, eventualmente includendo anche la popolazione madre esistente. Questo processo viene quindi iterato fino a quando non si decide di interrompere l'algoritmo, in genere al numero massimo di valutazioni della funzione obiettivo o dopo un numero massimo di generazioni.
La miglior forma fisica si riferisce sia all'idoneità del miglior individuo della tua attuale popolazione sia all'idoneità del miglior individuo che hai trovato finora durante la corsa. A seconda del tipo di GA che stai utilizzando, questi potrebbero o meno essere la stessa cosa. Ad esempio, la miglior forma fisica per la mia popolazione di esempio sopra è di 6. Tuttavia, se la migliore prole che creo ha 5 fitness e non permetto ai genitori di sopravvivere più di una generazione, allora la migliore forma fisica nella prossima generazione potrebbe essere 5 o 6, a seconda di come interpretiamo la "miglior forma fisica". Non ho molta familiarità con gli strumenti GA di MATLAB per essere in grado di dirti quale dei due significa, ma suppongo che sia la miglior forma fisica che l'algoritmo abbia mai incontrato durante l'esecuzione in qualsiasi momento.
L'idoneità media è semplicemente la media dei valori di fitness in tutta la popolazione. Ogni generazione, la popolazione cambia e si ottiene una nuova idoneità media della popolazione. In generale, ti interessa di più la migliore forma fisica, poiché hai solo bisogno di una soluzione e ovviamente sceglierai la migliore. L'idoneità media tuttavia è utile per mostrare ciò che l'algoritmo sta facendo. Se la forma fisica media raggiunge la migliore forma fisica, probabilmente significa che la popolazione contiene N copie del miglior individuo e un'ulteriore ricerca potrebbe essere uno sforzo inutile senza un riavvio o un'operazione di mutazione su larga scala.
Quindi quello che vedi generalmente è che la miglior forma fisica tende a migliorare nel tempo, in un primo momento rapidamente, e poi a rallentare man mano che l'algoritmo trova soluzioni migliori e migliori che sono sempre più difficili da migliorare. La forma fisica media non sarà sempre migliore della migliore forma fisica, ed è in genere un po 'peggio, con la differenza tra i due che di solito diminuiscono nel tempo fino a quando l'algoritmo non converge completamente (la popolazione è uniforme, contenente N copie dello stesso " migliore "individuo).
Le domande [ub, lb] a cui non riesco veramente a rispondere. Immagino che sia l'intervallo consentito per le variabili di input, ma dovrai consultare la documentazione della toolbox che stai utilizzando per sapere con certezza cosa significano questi parametri.