Ni... Dipende da cosa per te è "minor sfrido":
1) Saturare il minutaggio di una risorsa e poi, una volta "quasi" piena, passare ad un'altra (ossia assegni i task al meglio per la prima persona, poi valuti i restanti task organizzandoli al meglio sulla seconda e così via);
2) Avere sempre il massimo di risorse libere nello stesso lasso temporale (quindi la valutazione dei task va fatta su tutte le persone disponibili e l'assegnazione fa in modo che ciascuna persona abbia sempre il massimo dei minuti liberi restanti").
Nel primo caso hai uno "zaino" per ciascuna persona, nel secondo lo "zaino" son tutti i minutaggi di tutte le persone. A seconda di questa scelta dello "zaino" dipende l'implementazione dell'algoritmo, ma non è riducibile ad un: assegno il task al primo che si libera. Bisogna calcolare bene chi sia che si libera prima effettivamente, soprattutto se ti poni come obiettivo l'eseguire il maggior numero di task nel più breve tempo possibile. Questo potrebbe richiedere la distribuzione di task di durata breve/lunga in maniera oculata.