def _generate_output_dictionary(optimal_params, min_value, good_params, optimizer_name, graph_type, p, weight_matrix,
                                problem):
    """Generates a dictionary that stores important fields extracted from a workflow output."""
    dic = {}
    dic["problem_name"] = problem
    dic["hamiltonian_matrix"] = []
    dic["weight_matrix"] = weight_matrix
    dic["optimal_params"] = optimal_params
    dic["min_value"] = min_value
    dic["most_likely_binary_solution"] = []
    dic["most_likely_solution_value"] = 1.0
    dic["classical_solution_value"] = 1.0
    dic["good_params"] = good_params
    dic["optimizer_name"] = optimizer_name
    dic["graph_type"] = graph_type
    dic["p"] = p

    return dic