%This Example for using users m-function Optimization_subroutine.m was created automatically by PSG Toolbox. %Function description: %minimize %linearize = 1 %meanabs_pen(matrix_scenarios) %constraint: <= parameter_bound, linearize = 1 %polynom_abs(matrix_constraint_budget) %constraint: <=parameter_bound_1 %linear_sum_bool(matrix_bools) %constraint: <=parameter_bound_2 %linearmulti_ubounds(pmatrix_upperbounds) %constraint: >=parameter_bound_3 %linearmulti_lbounds(pmatrix_lowerbounds) %box: types = point_bools %solver: parameter_solver % %Input variables: % %Inputs PSG Type PSG Object Location in Problem Statement Class %matrix_bools_data data matrix_bools linear_sum_bool(matrix_bools) double %matrix_bools_vars vars matrix_bools linear_sum_bool(matrix_bools) cell %matrix_scenarios_benchmark bench matrix_scenarios meanabs_pen(matrix_scenarios) double %matrix_scenarios_data data matrix_scenarios meanabs_pen(matrix_scenarios) double %matrix_scenarios_vars vars matrix_scenarios meanabs_pen(matrix_scenarios) cell %matrix_constraint_budget_data data matrix_constraint_budget polynom_abs(matrix_constraint_budget) double %matrix_constraint_budget_vars vars matrix_constraint_budget polynom_abs(matrix_constraint_budget) cell %pmatrix_lowerbounds_data data pmatrix_lowerbounds linearmulti_lbounds(pmatrix_lowerbounds) double %pmatrix_lowerbounds_vars vars pmatrix_lowerbounds linearmulti_lbounds(pmatrix_lowerbounds) cell %pmatrix_upperbounds_data data pmatrix_upperbounds linearmulti_ubounds(pmatrix_upperbounds) double %pmatrix_upperbounds_vars vars pmatrix_upperbounds linearmulti_ubounds(pmatrix_upperbounds) cell %point_bools_data data point_bools box: types = point_bools double %point_bools_vars vars point_bools box: types = point_bools cell %parameter_bound_data data parameter_bound constraint: <= parameter_bound, linearize = 1 double %parameter_bound_1_data data parameter_bound_1 constraint: <=parameter_bound_1 double %parameter_bound_2_data data parameter_bound_2 constraint: <=parameter_bound_2 double %parameter_bound_3_data data parameter_bound_3 constraint: >=parameter_bound_3 double %parameter_solver_data data parameter_solver solver: parameter_solver char % %Output variables: % %solution_str = string with solution of problem; %outargstruc_arr = array of output PSG data structures; %Load data from mat-file: load('D:\American Optimal Decisions\PSG\MATLAB_Stan\All\Optimal Hedging of CDO Book\data_problem_cdohedge_1a_MIP\Optimization_subroutine_data.mat') %Save variables from mat-file to Workspace: tbpsg_export_to_workspace(toolboxstruc_arr) %Run users m-function Optimization_subroutine: [solution_str,outargstruc_arr] = Optimization_subroutine(matrix_bools_data,matrix_bools_vars,matrix_scenarios_benchmark,matrix_scenarios_data,matrix_scenarios_vars,matrix_constraint_budget_data,matrix_constraint_budget_vars,pmatrix_lowerbounds_data,pmatrix_lowerbounds_vars,pmatrix_upperbounds_data,pmatrix_upperbounds_vars,point_bools_data,point_bools_vars,parameter_bound_data,parameter_bound_1_data,parameter_bound_2_data,parameter_bound_3_data,parameter_solver_data); %Extract Objective: val_obj = tbpsg_objective(solution_str, outargstruc_arr); disp(' '); disp('Objective = '); disp(val_obj); %Extract optimal solution: point_data = tbpsg_optimal_point_data(solution_str, outargstruc_arr); disp(' '); disp('Optimal point = '); disp(point_data); %Extract structure containing PSG solution reports: output_structure = tbpsg_solution_struct(solution_str, outargstruc_arr); disp(' '); disp('Structure with PSG solution = '); disp(output_structure); %Uncomment the following lines to extract solutions details: %output = tbpsg_isoptimal(solution_str, outargstruc_arr); %output = tbpsg_function_data(solution_str, outargstruc_arr); %output = tbpsg_function_names(solution_str, outargstruc_arr); %output = tbpsg_time(solution_str, outargstruc_arr); %output = tbpsg_optimal_point_vars(solution_str, outargstruc_arr); %output = tbpsg_constraints_vars(solution_str, outargstruc_arr); %output = tbpsg_slack_data(solution_str, outargstruc_arr); %output = tbpsg_dual_data(solution_str, outargstruc_arr); %output = tbpsg_vector_constraint_data(solution_str, outargstruc_arr); %output = tbpsg_vector_dual_data(solution_str, outargstruc_arr); %output = tbpsg_vector_slack_data(solution_str, outargstruc_arr); %output = tbpsg_matrix_data(solution_str, outargstruc_arr); %output = tbpsg_matrix_vars(solution_str, outargstruc_arr); %output = tbpsg_vector_data(solution_str, outargstruc_arr);