public  Solucao InitialGreedySolution(){
        while (linhasCobertas.size()<qtdeLinhas){

            Iterator it = lista_de_linhas.keySet().iterator();
            Integer maiorValor = (Integer) it.next();
            
            Integer coluna_que_mais_cobre = (Integer) lista_de_linhas.asMap().get(maiorValor).iterator().next();
            //Integer coluna_que_mais_cobre = melhorEscolha(maiorValor);
            custoTotal += ColunasCusto.get(coluna_que_mais_cobre);
            
            ArrayList colunasqueCobrem = linhasX.get(coluna_que_mais_cobre).getCobertura();
            lista_de_colunas_gulosas.add(linhasX.get(coluna_que_mais_cobre));
            int valorReal = maiorValor * (-1);
         
            for(int c = 0; c<=colunasqueCobrem.size()-1;c++){
                if(!(linhasCobertas.contains((Integer) colunasqueCobrem.get(c)))){
                    linhasCobertas.add((Integer) colunasqueCobrem.get(c));
                    removerValorColunas((Integer) colunasqueCobrem.get(c));
                }
                
                
            }
            atualizarTreeMap();
        }
        return new Solucao(this.lista_de_colunas_gulosas, this.custoTotal, this.linhasX, this.linhasCobertas, this.qtdeLinhas, this.qtdeColunas);
    }