network = Network(source, c, Q) network.add_nodes(nodes) routes, total_cost = network.build_route() print([node.id for route in routes for node in route]) # the route found by the heuristic should have less or equal number of vehicle #assert len(routes[0]) <= m m = len(routes) # cplex solution f = Formulation(A, V, N, q, Q, c, m, n, 3) f.set_formulation() f.add_formulation_constraints() # save initial solution as CPLEX file value_map = utils.write_cplex_solution(routes, n) solve_solution = SolveSolution(model=f.formulation, var_value_map=value_map, obj=total_cost) solution, routes_solution = f.run_formulation(solve_solution, True) utils.print_routes(routes_solution) if solution is None: new_value = { 'Instance': dataset["instance"], 'Our obj': "None",