public void elSuapDefinitivo(int arr)
    {
    IVPTabu obj = new IVPTabu();
    String url = "jdbc:derby://localhost:1527/PDPIVP";
    String selectdatos="SELECT * FROM MatrizSolucion";
    int tabu=0;
    int notabu=0;
    double cambio=0;
    int indice1=0;
    int indice2=0;
    double losmejores[]=new double[5];
    int losindices1[]=new int[5];
    int losindices2[]=new int[5];
    for (int i=0;i<5;i++){
        losmejores[i]=0;
        losindices1[i]=0;
        losindices2[i]=0;
    }
    try{
    Class.forName("org.apache.derby.jdbc.ClientDriver");
    //catch SQLException
    Connection con = DriverManager.getConnection(url, "Balam", "Balam");
    Statement stmt=con.createStatement();
    ResultSet rs = stmt.executeQuery(selectdatos);

    rs.next();
    
    cambio=Double.parseDouble(rs.getString("Cambio"));
    indice1=rs.getInt("Indice1");
    indice2=rs.getInt("Indice2");
    losmejores[0]=cambio;
    losindices1[0]=indice1;
    losindices2[0]=indice2;
    rs.next();
    do{
        cambio=Double.parseDouble(rs.getString("Cambio"));
        indice1=rs.getInt("Indice1");
        indice2=rs.getInt("Indice2");
        if(cambio<losmejores[0]){
            System.out.println("dentro del if de los mejores");
            losmejores[4]=losmejores[3];
            losmejores[3]=losmejores[2];
            losmejores[2]=losmejores[1];
            losmejores[1]=losmejores[0];
            losmejores[0]=cambio;
            losindices1[4]=losindices1[3];
            losindices2[4]=losindices2[3];
            losindices1[3]=losindices1[2];
            losindices2[3]=losindices2[2];
            losindices1[2]=losindices1[1];
            losindices2[2]=losindices2[1];
            losindices1[1]=losindices1[0];
            losindices2[1]=losindices2[0];
            losindices1[0]=indice1;
            losindices2[0]=indice2;
            System.out.println("elSuapDefinitivo: de los 5 el num "+
                    losmejores[0]+" "+losindices1[0]+" "+
                    losindices2[0]+"dentrodelif");
        }
      }while(rs.next()!=false);
    
    do{
     tabu=obj.restriccionTabu(losmejores[notabu], losindices1[notabu], losindices2[notabu]);
     notabu++;
    }while(tabu!=0||notabu==5);
    notabu--;
    System.out.println("de los 5 mejores fue el: "+notabu);
    System.out.println(losindices1[notabu]+" "+losindices2[notabu]);
    obj.elSuap1(losindices1[notabu], losindices2[notabu], arr);
    obj.registrarCambio(losindices1[notabu], losindices2[notabu]);
    }
    catch(ClassNotFoundException e){
        System.out.println("no se encontro la clase \n"+
                "error ClassNotFoundException");
        System.out.println(e.toString());
    }
    catch(SQLException e){
        System.out.println("error de conexion \n"+
                "error SQLException");
        System.out.println(e.toString());
    }
   }