}] uncertainty_sets = ['ellipsoidal'] # Loading pof results gamma = {} gamma['solutions'] = {} for i in range(nGammas): for j in range(len(methods)): for k in range((len(uncertainty_sets))): gamma['solutions'][gammas[i], methods[j]['name'], uncertainty_sets[k]] = pickle.load( open( "gammaResults\\" + str( (gammas[i], methods[j]['name'], uncertainty_sets[k])), 'rb')) gamma['solve_times'] = load_obj('gammasolve_times', 'gammaResults') gamma['simulation_results'] = load_obj('gammasimulation_results', 'gammaResults') gamma['number_of_constraints'] = load_obj('gammanumber_of_constraints', 'gammaResults') # Loading directly_uncertain_vars_subs try: pickle_in = open('directly_uncertain_dict.pickle', 'rb') directly_uncertain_vars_subs = pickle.load(pickle_in) pickle_in.close() except: print( 'Warning: Please run pof_simulate first for consistent MC results.' )
min_num_of_linear_sections, max_num_of_linear_sections, verbosity, linearization_tolerance, number_of_time_average_solves, uncertainty_sets, nominal_solution, directly_uncertain_vars_subs, parallel, nominal_number_of_constraints, nominal_solve_time ] = pof_parameters() # # Loading margins results margin = {} nmargins = len(gammas) margins = np.linspace(0., 1., nmargins) margin['solutions'] = {} for i in range(nmargins): margin['solutions'][margins[i]] = pickle.load( open("marginResults/" + str(margins[i]), 'rb')) margin['number_of_constraints'] = load_obj('marginnumber_of_constraints', 'marginResults') margin['simulation_results'] = load_obj('marginsimulation_results', 'marginResults') # Plotting of cost and probability of failure objective_name = 'Total fuel weight' objective_units = 'N' title = '' filteredResult = margin['solutions'] filteredSimulations = margin['simulation_results'] objective_varkey = 'W_{f_m}' objective_costs = [] pofs = [] objective_stddev = [] for i in sorted(filteredResult.keys()):
uncertainty_sets, nominal_solution, directly_uncertain_vars_subs, parallel, nominal_number_of_constraints, nominal_solve_time ] = pof_parameters() # Restricting method and uncertainty set to Best Pairs, ellipsoidal for demonstration methods = [{ 'name': 'Best Pairs', 'twoTerm': True, 'boyd': False, 'simpleModel': False }] uncertainty_sets = ['ellipsoidal'] # # Loading goal programming results delta = {} deltas = load_obj('deltas' + uncertainty_sets[0], 'goalResults') ndeltas = len(deltas) delta['solutions'] = {} for i in range(ndeltas): delta['solutions'][deltas[i], methods[0]['name'], uncertainty_sets[0]] = pickle.load( open( "goalResults/" + str( (deltas[i], methods[0]['name'], uncertainty_sets[0])), 'rb')) delta['solve_times'] = load_obj('deltasolve_times' + uncertainty_sets[0], 'goalResults') delta['simulation_results'] = load_obj( 'deltasimulation_results' + uncertainty_sets[0], 'goalResults') delta['number_of_constraints'] = load_obj( 'deltanumber_of_constraints' + uncertainty_sets[0], 'goalResults')