代码拉取完成,页面将自动刷新
import json
from tabulate import tabulate
from PackingAlgorithm import PackingAlgorithm
from Visualization import Visualization
NUM_OF_INDIVIDUALS = 40
NUM_OF_GENERATIONS = 600
PC = 0.8
PM1 = 0.5
PM2 = 0.2
K = 4
ROTATIONS = 6
if __name__ == "__main__":
with open('input.json', 'r') as outfile:
data = json.load(outfile)
problem_indices = list(data.keys())
for p_ind in problem_indices:
visualization = Visualization(p_ind)
print("Running Problem Set {}".format(p_ind))
print(tabulate([['Generations', NUM_OF_GENERATIONS], ['Individuals', NUM_OF_INDIVIDUALS],
['Rotations', ROTATIONS], ['Crossover Prob.', PC], ['Mutation Prob1', PM1],
['Mutation Prob2', PM2], ['Tournament Size', K]], headers=['Parameter', 'Value'],
tablefmt="github"))
print()
truck_dimension = data[p_ind]['truck dimension']
boxes = data[p_ind]['boxes']
total_value = data[p_ind]['total value']
boxParams = {}
for i, params in enumerate(boxes):
boxParams[i] = params
pa = PackingAlgorithm(box_params=boxParams, truck_dimension=truck_dimension, total_value=total_value, population_size=NUM_OF_INDIVIDUALS, generations=NUM_OF_GENERATIONS,
k=K, pc=PC, pm1=PM1, pm2=PM2, rotation=ROTATIONS)
pa.optimize()
visualization.plot_average_fitness(pa.avg_fitness)
true_solution = data[p_ind]['solution']
visualization.draw_final_rank1_solutions(pa.population)
visualization.draw_plotly_final_rank1_solutions(pa.population)
visualization.draw_plotly_true_solution(true_solution)
visualization.draw_pareto(pa.population)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。