def siman_exp(): prepare_distance_matrix() # set up a trivial initial route */ print("# initial order of cities:\n") for city in cities: print city #print " # distance matrix is:" #print_distance_matrix(); mytsp = Tsp() mytsp.SetRoute(numx.arange(n_cities)) mytsp.SetNCities(n_cities) result = siman.solve(rng.rng(), mytsp) route = result.GetRoute() print("# final order of cities:\n") for i in route: print cities[i]
if t2 > 700: tmp = 0 else: tmp = numx.exp(-t2) return tmp*numx.sin(8*x) def Metric(self, outer): return numx.absolute(self._data - outher.GetData()) def Step(self, rng, step_size): old_x = self._data u = rng.uniform(); new_x = u * 2 * step_size - step_size + old_x; self._data = new_x def Print(self): print "%12g" % self._data, m = MySiman() m.SetData(15.5) r = rng.rng() result = siman.solve(r, m, do_print=0) #result = siman.solve(r, m, do_print=1, n_tries=N_TRIES, iters_fixed_T=ITERS_FIXED_T, # step_size=STEP_SIZE, k=K, t_initial=T_INITIAL, mu_t = MU_T, # t_min=T_MIN) print "# Found minimum at %f" % result.GetData()