57    std::size_t 
leastContributor( ParetoFrontType 
const& front, ParetoArchive 
const& )
const{
 
   58        std::size_t leastIndex = 0;
 
   59        double leastValue = std::numeric_limits<double>::max();
 
   60        for( std::size_t i = 0; i != front.size(); i++ ) {
 
   62            double result = std::numeric_limits<double>::max();
 
   63            for(std::size_t j = 0; j != front.size(); ++j){
 
   65                result = std::min(result,max(front[j]-front[i])); 
 
   67            if(result < leastValue){
 
 
   77    std::vector<std::size_t> 
leastContributors( ParetoFrontType 
const& front, ParetoArchive 
const& archive, std::size_t K)
const{
 
   78        std::vector<std::size_t> indices;
 
   79        std::vector<RealVector> points(front.begin(),front.end());
 
   80        std::vector<std::size_t> activeIndices(points.size());
 
   81        std::iota(activeIndices.begin(),activeIndices.end(),0);
 
   82        for(std::size_t k=0; k != K; ++k){
 
   85            points.erase(points.begin()+index);
 
   86            indices.push_back(activeIndices[index]);
 
   87            activeIndices.erase(activeIndices.begin()+index);