#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",
            'Paper Obj': dataset["obj"],
            'Our Time': "none",
            'Paper Time': dataset["time"],
            'GAP': "None"
        }
    else:
        solve_details = solution.solve_details
        new_value = {