public static Solucao VizinhoTwoFlip(Solucao inicio){
        for(int a = 0; a<=inicio.getColunas().size()-2; a++){
            for(int b = a+1; b<=inicio.getColunas().size()-1;b++){
                for(Integer entrada1 : inicio.getLinhasX().keySet()){
                    for(Integer entrada2 : inicio.getLinhasX().keySet()){
                        if(!Objects.equals(entrada1, entrada2)){
                            Solucao newsolution = new Solucao(inicio);
                            removerLinhas(inicio.getColunas().get(a), newsolution);
                            removerLinhas(inicio.getColunas().get(b), newsolution);
                            newsolution.getColunas().remove(inicio.getColunas().get(a));
                            newsolution.getColunas().remove(inicio.getColunas().get(b));
                            cobrirLinhas(inicio.getColunas().get(a), newsolution);

                            if(cobreTodasTwoFlip( inicio.getLinhasX().get(entrada1), inicio.getLinhasX().get(entrada2), newsolution)){
                                newsolution.getColunas().remove(inicio.getColunas().get(a));
                                newsolution.getColunas().remove(inicio.getColunas().get(b));
                                newsolution.getColunas().add(inicio.getLinhasX().get(entrada1));
                                newsolution.getColunas().add(inicio.getLinhasX().get(entrada2));
                                newsolution.setCustototal(newsolution.getCustototal() - 
                                                                                        inicio.getColunas().get(a).getCusto() - 
                                                                                        inicio.getColunas().get(b).getCusto() + 
                                                                                        inicio.getLinhasX().get(entrada1).getCusto() + 
                                                                                        inicio.getLinhasX().get(entrada2).getCusto() );
                                String newstring = MOAVNS.transformaSolucao(newsolution);
                                if(!MOAVNS.solucoes.contains(newstring)){
                                    return newsolution;
                                }
                            }

                            
                        }
                    }
                }
                
            }
        }
        return inicio;
    }