修改数据格式和双面板优化

This commit is contained in:
2025-12-09 09:29:10 +08:00
parent 96e4b3d856
commit d627cf9f6e
8 changed files with 125 additions and 118 deletions

View File

@@ -32,15 +32,17 @@ class TopBtmOpt(BaseOpt):
points_stat.loc[len(points_stat)] = [part, part_top_points[part], points - part_top_points[part], points]
for r, data in self.step_data.iterrows():
rows[r] = True if data.part in top_part and data.part in btm_part and part_points[data.part] > 7 else False
rows[r] = True if data.part in top_part and data.part in btm_part and part_points[data.part] >= 20 else False
dblayer_step_data = self.step_data[rows]
opt = self.optimizer(self.config, self.part_data, dblayer_step_data, self.feeder_data)
opt.optimize()
self.feeder_data = opt.feeder_data
for _, layer_step in self.step_data.groupby('layer'):
opt = self.optimizer(self.config, self.part_data, layer_step, self.feeder_data)
for layer, layer_step in self.step_data.groupby('layer'):
# if layer == 1:
# continue
opt = self.optimizer(self.config, self.part_data, layer_step, self.feeder_data, layer)
opt.optimize(hinter=hinter)
self.result = self.result + opt.result
@@ -51,8 +53,8 @@ class TopBtmOpt(BaseOpt):
def main():
# 参数解析
parser = argparse.ArgumentParser(description='assembly line optimizer implementation')
# parser.add_argument('--filename', default='PCB-1.txt', type=str, help='pcb data')
parser.add_argument('--filename', default='US2.259.0600-US7.820.51964-A1-B3-64T.txt', type=str, help='pcb data')
parser.add_argument('--filename', default='US2.659.1591-US7.820.48684-C2-G2-624T.txt', type=str, help='pcb data')
# parser.add_argument('--filename', default='US2.259.0600-US7.820.51964-A1-B3-64T.txt', type=str, help='pcb data')
params = parser.parse_args()
# 结果输出显示所有行和列
@@ -66,7 +68,7 @@ def main():
# opt = HyperHeuristicOpt(2, part_data, step_data)
# opt.optimize()
# for machine_index, result in enumerate(opt.result):
# print('-------- Machine: ' + str(machine_index) + '--------')
# print('-------- Machine: ' +ddd str(machine_index) + '--------')
# evaluation(config, part_data, step_data, result, hinter=True) # 估算贴装用时
# === 单机 ===