示例#1
0
def validate_output(input_file, output_file, params=[]):

    input_data = utils.read_file(input_file)
    output_data = utils.read_file(output_file)

    num_of_locations, num_houses, list_locations, list_houses, starting_car_location, adjacency_matrix = data_parser(input_data)
    adjacency_matrix = np.array(adjacency_matrix)
    adjacency_matrix = np.where(adjacency_matrix == 'x', np.inf, adjacency_matrix)
    adjacency_matrix = np.array(adjacency_matrix, dtype=float)
    homes = convert_to_index(np.array(list_houses), np.array(list_locations))
    s = list_locations.index(starting_car_location)
    dist_matrix = all_pair_distance(np.array(adjacency_matrix))
    stupidcost = 0
    for i in range(len(list_locations)):
        if np.isin(i, homes):
            stupidcost += dist_matrix[s][i]

    input_message, input_error = input_validator.tests(input_file)
    cost, message = tests(input_data, output_data, params=params)
    message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message

    if cost/stupidcost > 0.45:
        print("Warning:", input_file, output_file, cost, cost/stupidcost)
    else:
        print(input_file, output_file, cost/stupidcost)
    return input_error, cost, message
def validate_output_nm(input_file, output_file, params=[]):
    input_data = utils.read_file(input_file)
    output_data = utils.read_file(output_file)

    input_message, input_error = input_validator.tests(input_file)
    cost, message = tests(input_data, output_data, params=params)

    return cost
def validate_output(input_file, output_file, params=[]):
    print('Processing', input_file)

    input_data = utils.read_file(input_file)
    output_data = utils.read_file(output_file)

    input_message, input_error = input_validator.tests(input_file)
    cost, message = tests(input_data, output_data, params=params)
    message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message

    print(message)
    return input_error, cost, message
示例#4
0
def validate_output(input_file, output_file, params=[]):
    print('Processing', input_file)

    input_data = utils.read_file(input_file)
    output_data = utils.read_file(output_file)

    input_message, input_error = input_validator.tests(input_file)
    cost, message = tests(input_data, output_data, params=params)
    message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message

    print(message)
    if input_error:
        return input_error, 'infinite', input_message + 'Since this input is invalid, you will not receive a score for its output.\n'
    return input_error, cost, message
示例#5
0
def validate_output(input_file, output_file, params=[]):
    print('Processing', input_file)

    input_data = utils.read_file(input_file)
    output_data = utils.read_file(output_file)

    input_message, input_error = input_validator.tests(input_file)
    cost, message = tests(input_data, output_data, params=params)
    message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message
    # if cost == 'infinite':
    #     with open('failed.log', 'a+') as f:
    #         f.write(input_file +  "  "+ message + "\n")
    # print(message)
    if input_error:
        return input_error, 'infinite', input_message + 'Since this input is invalid, you will not receive a score for its output.\n'
    return input_error, cost, message
示例#6
0
def validate_output(input_file, output_file, params=[]):
    # print('\n Processing Validate_output', input_file)

    input_data = utils.read_file(input_file)
    output_data = utils.read_file(output_file)

    input_message, input_error = input_validator.tests(input_file)
    # print(" input_error = " + str(input_error))
    cost, output_message = tests(input_data, output_data, params=params)
    message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + output_message

    # print(message)
    # if input_error:
    # return input_error, 'infinite', input_message + 'Since this input is invalid, you will not receive a score for its output.\n'

    return {0: input_error, 1: cost, 2: message, 3: output_message}
def validate_output(input_file, output_file, params=[], verbose=False):
    print('Processing', input_file, output_file) if verbose else ""

    input_data = utils.read_file(input_file)
    output_data = utils.read_file(output_file)

    input_message, input_error = input_validator.tests(input_file)
    cost, message = tests(input_data, output_data, params=params)
    message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message

    print(message) if verbose else ""
    # Let's ignore input errors.
    #if input_error:
    #    return input_error, 'infinite', input_message + 'Since this input is invalid, you will not receive a score for its output.\n'
    if type(cost) is str:
        print("ERROR: COST IS: ", cost)
    return input_error, cost, message