public static Solucao VizinhoOneFlip(Solucao inicio){
        for(Coluna col : inicio.getColunas()){
            for(Integer colx : inicio.getLinhasX().keySet()){           
                if(col.getNome()!=inicio.getLinhasX().get(colx).getNome()){
                    Solucao testarsolucao = new Solucao(inicio);
                    removerLinhas(col, testarsolucao);
                    cobrirLinhas(col, testarsolucao);
                    ArrayList colunas = testarsolucao.getColunas();
                    colunas.remove(col);
                    testarsolucao.setColunas(colunas);
                    if(cobreTodas(inicio.getLinhasX().get(colx), testarsolucao)){
                        ArrayList novascolunas = testarsolucao.getColunas();
                        novascolunas.add(inicio.getLinhasX().get(colx));
                        testarsolucao.setColunas(novascolunas);
                        testarsolucao.setCustototal(testarsolucao.getCustototal()-col.getCusto()+inicio.getLinhasX().get(colx).getCusto());
                        String newstring = MOAVNS.transformaSolucao(testarsolucao);
                        //System.out.println(newstring);
                        if(!(MOAVNS.solucoes.contains(newstring))){
                            return testarsolucao;
                        }
                        else{
                            //System.out.println("repetido");
                        }
                    }
                }
                
            }
        }
        return inicio;
    }