public void eleccionTabu()
    {
    String url = "jdbc:derby://localhost:1527/PDPIVP";
    String selectdatos="SELECT * FROM Balam.Tiempo";
    int cambios_var=0;
    int indice_var=0;
    int soluciontabu=0;
    int valor_min=0;
    int resultado=0;
    int tabu_var=0;
    PDPTabu obj=new PDPTabu();
    try{
    Class.forName("org.apache.derby.jdbc.ClientDriver");
    //catch SQLException
    Connection con = DriverManager.getConnection(url, "Balam", "Balam");
    Statement stmt = con.createStatement();
    Connection con2 = DriverManager.getConnection(url, "Balam", "Balam");
    Statement stmt2 = con2.createStatement();
    Connection con1 = DriverManager.getConnection(url, "Balam", "Balam");
    ResultSet rs = stmt.executeQuery(selectdatos);
    ResultSet rs1 = stmt2.executeQuery("SELECT * FROM Balam.Resultados");
    Statement stmt1 = con1.createStatement();
    rs.next();
    rs1.next();
    resultado=rs1.getInt("ResultadoFinal");
    indice_var=rs.getInt("Indice");
    rs.next();
        indice_var=rs.getInt("Indice");
        tabu_var=rs.getInt("Tabu");
        cambios_var=rs.getInt("Cambios");
        soluciontabu=rs.getInt("ResultadoTabu");
        valor_min=cambios_var;

    for (int i=3; i<31;i++){
        rs.next();
        tabu_var=rs.getInt("Tabu");
        cambios_var=rs.getInt("Cambios");
        soluciontabu=rs.getInt("ResultadoTabu");
        if(tabu_var<1){
            if(cambios_var<valor_min){
            valor_min=cambios_var;
            indice_var=i;
            }
        }
        else if(soluciontabu<resultado){
            if(cambios_var<valor_min){
            valor_min=cambios_var;
            indice_var=i;
                }
            }
        }
        stmt1.executeUpdate("UPDATE Balam.Tiempo SET Solucion = 0"+
                " WHERE Indice = "+indice_var);
        stmt1.executeUpdate("UPDATE Balam.Resultados SET ResultadoTabu = "+
                soluciontabu+" WHERE Indice = 1");
        stmt1.executeUpdate("UPDATE Balam.Tiempo SET Tabu = 4"+
                " WHERE Indice = "+indice_var);
        System.out.println("iteracion");
        obj.restriccionTabu();
        ///////////////////////////////////////////
        if(soluciontabu<resultado){
            //System.out.println("entre al if");
            stmt1.executeUpdate("UPDATE Balam.Resultados SET ResultadoFinal = "+
                soluciontabu+" WHERE Indice = 1");
            obj.Solfinal();
            
        }
        obj.cerrarDB(con);
        obj.cerrarDB(con1);
        obj.cerrarDB(con2);
    }
    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());
    }
   }