From 369e439a97fdfc2e2de419352ec0cee0a5f0ad1f Mon Sep 17 00:00:00 2001 From: hit-lu Date: Mon, 24 Nov 2025 23:01:46 +0800 Subject: [PATCH] fixed of lineopt_heuristic.py --- lineopt_heuristic.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lineopt_heuristic.py b/lineopt_heuristic.py index d597998..c4ef28f 100644 --- a/lineopt_heuristic.py +++ b/lineopt_heuristic.py @@ -214,16 +214,14 @@ def line_optimizer_heuristic(component_data, machine_number): for _, data in component_data.iterrows(): nozzle = data['nz'] nozzle_points[nozzle] += data['points'] - total_points += data['point'] + total_points += data['points'] # first step: generate the initial solution with equalized workload assignment_result = [[0 for _ in range(component_number)] for _ in range(machine_number)] assignment_points = [0 for _ in range(machine_number)] average_points = total_points // machine_number - - weighted_points = list( - map(lambda _, data: data['points'] + 1e-5 * nozzle_points[data['nz']], component_data.iterrows())) - + weighted_points = list(map(lambda row: row[1]['points'] + 1e-5 * nozzle_points[row[1]['nz']], + component_data.iterrows())) # for part_index in np.argsort(weighted_points)[::-1]: for part_index in np.argsort(weighted_points)[::-1]: if (total_points := component_data.iloc[part_index]['points']) == 0: # total placements for each component type