Ho una matrice M con dimensione NxN dove ogni posizione M (i, j) è un numero intero che rappresenta la relazione tra gli elementi i e j. Se io e j siamo la stessa voce allora le posizioni M (i, j) e M (j, i) sono 0.
Quello di cui ho bisogno è di raggruppare questi N elementi in sottogruppi di 5 elementi ciascuno. Il valore di ciascun gruppo sarebbe Σ (M (i, j) per ogni i, j nel gruppo).
E avrei bisogno di massimizzare il valore totale di tutti i gruppi.
Ho studiato molti algoritmi più di 15 anni fa e ne ho dimenticato la maggior parte, e al giorno d'oggi ci sono molti nuovi algoritmi, quindi sono un po 'perso nel cercare di trovare il migliore per questi casi.
Un amico mi ha detto di investigare sugli algoritmi di Clustering ma hanno un sacco di versioni e specializzazioni diverse, quindi non so quale dare un'occhiata in primo luogo.
E ancora una cosa, oltre a questo algoritmo per massimizzare ogni gruppo, avrei bisogno di un algoritmo per massimizzare il valore totale di tutti i gruppi, scartando le selezioni non ottimali? Ricordo algoritmi che hanno reso questo, ma non ricordo nemmeno il loro nome.