Ai
1 Star 0 Fork 0

dl-study/Container-Loading-Problem

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.py 1.75 KB
一键复制 编辑 原始数据 按行查看 历史
Nivedha Ramesh 提交于 2024-03-17 08:33 +08:00 . Reorganising the code into specific classes
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)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/dl-study/Container-Loading-Problem.git
git@gitee.com:dl-study/Container-Loading-Problem.git
dl-study
Container-Loading-Problem
Container-Loading-Problem
master

搜索帮助