gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r14776 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r14776 - gnunet/src/transport
Date: Wed, 30 Mar 2011 10:29:05 +0200

Author: wachs
Date: 2011-03-30 10:29:05 +0200 (Wed, 30 Mar 2011)
New Revision: 14776

Modified:
   gnunet/src/transport/gnunet-service-transport.c
Log:
more ats


Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2011-03-29 22:12:13 UTC 
(rev 14775)
+++ gnunet/src/transport/gnunet-service-transport.c     2011-03-30 08:29:05 UTC 
(rev 14776)
@@ -5593,6 +5593,7 @@
        int c_peers = 0;
        int c_mechs = 0;
        int result;
+       int solution;
 
        int c_c_ressources = 0;
        int c_q_metrics = 0;
@@ -5856,23 +5857,21 @@
 
        glp_load_matrix(prob, array_index-1, ia, ja, ar);
 
-       /* Solve the LP problem */
-       glp_smcp opt ;
-       glp_init_smcp(&opt);
+       glp_iocp opt;
+       glp_init_iocp(&opt);
 
-       /* maximum iterations */
-       opt.it_lim = max_it;
+       /* Use LP presolver (if not, valid LP solution has to be provided)*/
+       opt.presolve =GLP_ON;
        /* maximum duration */
        opt.tm_lim = max_dur;
-       opt.presolve = GLP_ON;
        /* output level */
-       if (DEBUG_ATS)
+       if (VERBOSE_ATS)
                opt.msg_lev = GLP_MSG_ALL;
        else
                opt.msg_lev = GLP_MSG_OFF;
+       result = glp_intopt (prob, &opt);
+       solution =  glp_mip_status (prob);
 
-       result = glp_simplex(prob, &opt);
-
        switch (result) {
        case GLP_ESTOP  :    /* search terminated by application */
                GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Search terminated by 
application ");
@@ -5908,10 +5907,28 @@
 
        break;
                default:
-                       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Optimal 
solution\n");
+                       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Problem has been 
solved\n");
        break;
        }
 
+       switch (solution) {
+               case GLP_UNDEF:
+                       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "MIP solution is 
undeļ¬ned\n");
+                       break;
+               case GLP_OPT:
+                       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "MIP solution is 
integer optimal\n");
+                       break;
+               case GLP_FEAS:
+                       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "MIP solution is 
integer feasible, however, its optimality (or non-optimality) has not been 
proven, \n");
+                       break;
+               case GLP_NOFEAS:
+                       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "MI problem has no 
integer feasible solution\n");
+                       break;
+                       break;
+               default:
+                       break;
+       }
+
        char * debug_solution = NULL;
        char * old = NULL;
        for (c=1; c<= 2*c_mechs; c++ )




reply via email to

[Prev in Thread] Current Thread [Next in Thread]