コード例 #1
0
ファイル: tasks.py プロジェクト: apolcyn/darkroast_pubsub
def run_simulated_annealing_for_epsilon(initial_epsilon, num_steps, max_epsilon_jump):
    all_raw_point_lists = get_normalized_datastore_trajectories()
    initial_state = TraclusSimulatedAnnealingState(input_trajectories=all_raw_point_lists, \
                                                epsilon=initial_epsilon)
    traclus_sim_anneal = TraclusSimulatedAnnealer(initial_state=initial_state, \
                                                      max_epsilon_step_change=max_epsilon_jump)
    traclus_sim_anneal.updates = max(10, num_steps)
    traclus_sim_anneal.steps = num_steps
    best_state, best_energy = traclus_sim_anneal.anneal()
    return best_state.get_epsilon()
コード例 #2
0
 def test_simulated_annealing_finds_good_solution_quickly(self):
     input_trajectories = [[Point(0, 0), Point(0, 1)], \
                           [Point(2, 0), Point(2, 1)], \
                           [Point(3, 0), Point(3, 1)]]
     initial_state = TraclusSimulatedAnnealingState(input_trajectories=input_trajectories, \
                                                    epsilon=0.7)
     traclus_sim_anneal = TraclusSimulatedAnnealer(initial_state=initial_state, \
                                                   max_epsilon_step_change=0.3)
     traclus_sim_anneal.updates = 0
     traclus_sim_anneal.steps = 50
     best_state, best_energy = traclus_sim_anneal.anneal()
     self.assertAlmostEqual(best_state.get_epsilon(), 1.0, delta=0.5)
コード例 #3
0
 def test_simulated_annealing_finds_good_solution_quickly(self):
     input_trajectories = [[Point(0, 0), Point(0, 1)], \
                           [Point(2, 0), Point(2, 1)], \
                           [Point(3, 0), Point(3, 1)]]
     initial_state = TraclusSimulatedAnnealingState(input_trajectories=input_trajectories, \
                                                    epsilon=0.7)
     traclus_sim_anneal = TraclusSimulatedAnnealer(initial_state=initial_state, \
                                                   max_epsilon_step_change=0.3)
     traclus_sim_anneal.updates = 0
     traclus_sim_anneal.steps = 50
     best_state, best_energy = traclus_sim_anneal.anneal()
     self.assertAlmostEqual(best_state.get_epsilon(), 1.0, delta=0.5)
コード例 #4
0
ファイル: canstand.py プロジェクト: dai00067/Traj_Cluster
#step5
#tuning parameters
#adjust epsilon
#parsed_patition = parsed_patition[:1000]   #here to reduce calculated time, slice the patition
input_trajectories = []
for traj in traj_line_segs:
    input_linesegment = []
    start = traj.values()[0]
    end = traj.values()[1]
    start_p = Point(start.values()[0], start.values()[1])
    end_p = Point(end.values()[0], end.values()[1])
    input_linesegment = [start_p, end_p]
    input_trajectories.append(input_linesegment)

initial_state = TraclusSimulatedAnnealingState(input_trajectories=input_trajectories, \
                                                       epsilon=0.002898)
traclus_sim_anneal = TraclusSimulatedAnnealer(initial_state=initial_state, \
                                                      max_epsilon_step_change=0.1)
traclus_sim_anneal.updates = 0
traclus_sim_anneal.steps = 100
best_state, best_energy = traclus_sim_anneal.anneal()
epsil = best_state.epsilon

#adjust MinLns
count = 0
sum_n = 0
for clust in parsed_cluster:
    if len(clust) > 1:
        count += 1
        sum_n = sum_n + len(clust)
avg_n = sum_n / count