public void executaMutacao() {
        for (int i = 1; i < cromossomos.size(); i++) {
            int rand1 = 0 + (int) (Math.random() * (cromossomos.size() - 0));
            if (cromossomos.get(rand1).best) {
                continue;
            }
            int pontoMutacao = 0 + (int) (Math.random() * (1000 - 0));
             Mutacao.MutacaoPresente(cromossomos.get(i).getGenesPresente(), pontoMutacao, deslocamento);

        }
        List<Future> futures = new ArrayList<>();
        ExecutorService pool = Executors.newFixedThreadPool(cromossomos.size());
        //int pronto = 0;
        for (Cromossomo cromossomo : cromossomos) {
            //cromossomo.atualizaFitness();
            if (cromossomo.best && count > 0) {
                continue;
            }
            Future f = pool.submit(cromossomo);
            futures.add(f);
        }
        Instant inicio = Instant.now();
        for (Future future : futures) {
            try {
                future.get();
            } catch (InterruptedException | ExecutionException ex) {
                Logger.getLogger(AlgoritmoGenetico.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        Instant fim = Instant.now();
        Duration duracao = Duration.between(inicio, fim);
        long duracaoEmMilissegundos = duracao.toMillis();
        System.out.println(duracaoEmMilissegundos);
    }