本文整理匯總了Python中algorithm.Algorithm.simulated_annealing方法的典型用法代碼示例。如果您正苦於以下問題:Python Algorithm.simulated_annealing方法的具體用法?Python Algorithm.simulated_annealing怎麽用?Python Algorithm.simulated_annealing使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類algorithm.Algorithm
的用法示例。
在下文中一共展示了Algorithm.simulated_annealing方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: main
# 需要導入模塊: from algorithm import Algorithm [as 別名]
# 或者: from algorithm.Algorithm import simulated_annealing [as 別名]
def main():
parser = argparse.ArgumentParser(description='Highway builder.')
parser.add_argument('-a', required=True, type=float, help='Roads length factor.')
parser.add_argument('-b', required=True, type=float, help='Path length factor.')
parser.add_argument('-i', default=20, type=int, help='Number of iterations.')
args = parser.parse_args()
if args.a < 0:
print('Roads length factor should be greater or equal 0.')
exit()
if args.b < 0:
print('Path length factor should be greater or equal 0.')
exit()
if args.i < 1:
print('Number of iterations should be greater than 0.')
point_tuples = read_cities()
alg = Algorithm(point_tuples, roads_length_factor=args.a, paths_length_factor=args.b, iterations=args.i)
iters_ended = alg.simulated_annealing()
fitness = alg.fitness_function(alg.state)
file_name = "result"
millis = int(round(time.time() * 1000))
file_name += str(millis)
header = str(fitness) \
+ "\na = " + str(alg.roads_length_factor) \
+ "\nb = " + str(alg.paths_length_factor) \
+ "\niterations = " + str(alg.iterations) \
+ "\nended after = " + str(iters_ended) \
+ "\nsame_state = " + str(alg.max_same_state_iterations) \
+ "\n" + str(point_tuples)
save_result(alg.state, header, file_name)