def test_abs_weight_restrictions_multiplier_model(data): base_model = MultiplierModelBase(data, 0, MultiplierInputOrientedModel()) bounds = {'I2': (0.01, 0.5)} model = MultiplierModelWithAbsoluteWeightRestrictions(base_model, bounds) start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() utils_for_tests.check_if_category_is_within_abs_limits( model_solution, bounds) work_book = Workbook() writer = XLSWriter(Parameters(), work_book, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book.save('tests/test_abs_weights_multi_output.xls') bounds = {'I2': (None, 0.05)} model = MultiplierModelWithAbsoluteWeightRestrictions(base_model, bounds) start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() utils_for_tests.check_if_category_is_within_abs_limits( model_solution, bounds) work_book2 = Workbook() writer = XLSWriter(Parameters(), work_book2, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book2.save('tests/test_abs_weights_upper_bound_multi_output.xls')
def test_all_constraints_multiplier_model(data): model = MultiplierModelBase(data, 0, MultiplierInputOrientedModel()) bounds = {'I1': (None, 0.4)} model = MultiplierModelWithVirtualWeightRestrictions(model, bounds) abs_bounds = {'I2': (None, 0.2)} model = MultiplierModelWithAbsoluteWeightRestrictions(model, abs_bounds) ratio_bounds = {('I1', 'I2'): (None, 0.4), ('O1', 'O2'): (0.01, None)} model = MultiplierModelWithPriceRatioConstraints(model, ratio_bounds) start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() utils_for_tests.check_if_category_is_within_abs_limits( model_solution, abs_bounds) utils_for_tests.check_if_category_is_within_virtual_limits( model_solution, bounds) utils_for_tests.check_if_category_is_within_price_ratio_constraints( model_solution, ratio_bounds) work_book = Workbook() writer = XLSWriter(Parameters(), work_book, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book.save('tests/test_all_constraints_multi_output.xls')
def test_abs_weight_restrictions_multiplier_model(data): base_model = MultiplierModelBase(data, 0, MultiplierInputOrientedModel()) bounds = {'I2': (0.01, 0.5)} model = MultiplierModelWithAbsoluteWeightRestrictions(base_model, bounds) start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() utils_for_tests.check_if_category_is_within_abs_limits( model_solution, bounds) work_book = xlwt.Workbook() writer = XLSWriter(Parameters(), work_book, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book.save('tests/test_abs_weights_multi_output.xls') bounds = {'I2': (None, 0.05)} model = MultiplierModelWithAbsoluteWeightRestrictions(base_model, bounds) start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() utils_for_tests.check_if_category_is_within_abs_limits( model_solution, bounds) work_book2 = xlwt.Workbook() writer = XLSWriter(Parameters(), work_book2, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book2.save('tests/test_abs_weights_upper_bound_multi_output.xls')
def test_all_constraints_multiplier_model(data): model = MultiplierModelBase(data, 0, MultiplierInputOrientedModel()) bounds = {'I1': (None, 0.4)} model = MultiplierModelWithVirtualWeightRestrictions(model, bounds) abs_bounds = {'I2': (None, 0.2)} model = MultiplierModelWithAbsoluteWeightRestrictions(model, abs_bounds) ratio_bounds = {('I1', 'I2'): (None, 0.4), ('O1', 'O2'): (0.01, None)} model = MultiplierModelWithPriceRatioConstraints(model, ratio_bounds) start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() utils_for_tests.check_if_category_is_within_abs_limits( model_solution, abs_bounds) utils_for_tests.check_if_category_is_within_virtual_limits( model_solution, bounds) utils_for_tests.check_if_category_is_within_price_ratio_constraints( model_solution, ratio_bounds) work_book = xlwt.Workbook() writer = XLSWriter(Parameters(), work_book, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book.save('tests/test_all_constraints_multi_output.xls')
def test_abs_restrictions_env_model(data): model = EnvelopmentModelBase(data, EnvelopmentModelInputOriented( generate_upper_bound_for_efficiency_score), DefaultConstraintCreator()) bounds = {'I2': (0.01, 0.5)} model = EnvelopmentModelWithAbsoluteWeightRestrictions(model, bounds) start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() utils_for_tests.check_if_category_is_within_abs_limits( model_solution, bounds) work_book = xlwt.Workbook() writer = XLSWriter(Parameters(), work_book, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book.save('tests/test_abs_constraints_env_output.xls')
def test_abs_restrictions_env_model(data): model = EnvelopmentModelBase( data, EnvelopmentModelInputOriented( generate_upper_bound_for_efficiency_score), DefaultConstraintCreator()) bounds = {'I2': (0.01, 0.5)} model = EnvelopmentModelWithAbsoluteWeightRestrictions(model, bounds) start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() utils_for_tests.check_if_category_is_within_abs_limits( model_solution, bounds) work_book = Workbook() writer = XLSWriter(Parameters(), work_book, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book.save('tests/test_abs_constraints_env_output.xls')
def test_abs_restrictions_env_model_output(data): filename = 'tests/DEA_Harish_parameters.txt' params = parse_parameters_from_file(filename) categories, data, dmu_name, sheet_name = read_data( params.get_parameter_value('DATA_FILE')) coefficients, has_same_dmus = convert_to_dictionary(data) model_input = construct_input_data_instance(categories, coefficients) models, all_params = build_models(params, model_input) assert len(models) == 1 and len(all_params) == 1 model = models[0] start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() bounds = {'Urban Roads (%)': (None, 0.003)} utils_for_tests.check_if_category_is_within_abs_limits( model_solution, bounds) work_book = Workbook() writer = XLSWriter(Parameters(), work_book, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book.save('tests/test_abs_constraints_env_outoriented_output.xls')
def test_abs_restrictions_env_model_output(data): filename = 'tests/DEA_Harish_parameters.txt' params = parse_parameters_from_file(filename) categories, data, dmu_name, sheet_name = read_data( params.get_parameter_value('DATA_FILE')) coefficients, has_same_dmus = convert_to_dictionary(data) model_input = construct_input_data_instance(categories, coefficients) models, all_params = build_models(params, model_input) assert len(models) == 1 and len(all_params) == 1 model = models[0] start_time = datetime.datetime.now() model_solution = model.run() end_time = datetime.datetime.now() bounds = {'Urban Roads (%)': (None, 0.003)} utils_for_tests.check_if_category_is_within_abs_limits( model_solution, bounds) work_book = xlwt.Workbook() writer = XLSWriter(Parameters(), work_book, datetime.datetime.today(), (end_time - start_time).total_seconds()) writer.write_data(model_solution) work_book.save('tests/test_abs_constraints_env_outoriented_output.xls')