%This Example for using users m-function Optimization_subroutine.m was created automatically by PSG Toolbox. %Function description: %minimize %variable(xvar) %+1000 * avg_pm_pen_ni(parameter_alpha, matrix_cp_mean_xvar, matrix_cp_var_xvar) %Constraint: == parameter_bound %linear(matrix_cp_budget) %Constraint: >= parameter_bound_1 %linear(matrix_cp_return) %Box: >= parameter_bound_2, <= point_2x0 %Solver: parameter_solver, precision = parameter_precision, init_point = point_x0 % %Input variables: % %Inputs PSG Type PSG Object Location in Problem Statement Class %matrix_cp_mean_xvar_data data matrix_cp_mean_xvar +1000 * avg_pm_pen_ni(parameter_alpha, matrix_cp_mean_xvar, matrix_cp_var_xvar) double %matrix_cp_mean_xvar_vars vars matrix_cp_mean_xvar +1000 * avg_pm_pen_ni(parameter_alpha, matrix_cp_mean_xvar, matrix_cp_var_xvar) cell %matrix_cp_var_xvar_data data matrix_cp_var_xvar +1000 * avg_pm_pen_ni(parameter_alpha, matrix_cp_mean_xvar, matrix_cp_var_xvar) double %matrix_cp_var_xvar_vars vars matrix_cp_var_xvar +1000 * avg_pm_pen_ni(parameter_alpha, matrix_cp_mean_xvar, matrix_cp_var_xvar) cell %matrix_cp_budget_data data matrix_cp_budget linear(matrix_cp_budget) double %matrix_cp_budget_vars vars matrix_cp_budget linear(matrix_cp_budget) cell %matrix_cp_return_data data matrix_cp_return linear(matrix_cp_return) double %matrix_cp_return_vars vars matrix_cp_return linear(matrix_cp_return) cell %point_2x0_data data point_2x0 Box: >= parameter_bound_2, <= point_2x0 double %point_2x0_vars vars point_2x0 Box: >= parameter_bound_2, <= point_2x0 cell %point_x0_data data point_x0 Solver: parameter_solver, precision = parameter_precision, init_point = point_x0 double %point_x0_vars vars point_x0 Solver: parameter_solver, precision = parameter_precision, init_point = point_x0 cell %parameter_alpha_data data parameter_alpha +1000 * avg_pm_pen_ni(parameter_alpha, matrix_cp_mean_xvar, matrix_cp_var_xvar) double %parameter_bound_data data parameter_bound Constraint: == parameter_bound double %parameter_bound_1_data data parameter_bound_1 Constraint: >= parameter_bound_1 double %parameter_bound_2_data data parameter_bound_2 Box: >= parameter_bound_2, <= point_2x0 double %parameter_solver_data data parameter_solver Solver: parameter_solver, precision = parameter_precision, init_point = point_x0 char %parameter_precision_data data parameter_precision Solver: parameter_solver, precision = parameter_precision, init_point = point_x0 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\ready\Portfolio Credit-Risk\data_problems_6\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_cp_mean_xvar_data,matrix_cp_mean_xvar_vars,matrix_cp_var_xvar_data,matrix_cp_var_xvar_vars,matrix_cp_budget_data,matrix_cp_budget_vars,matrix_cp_return_data,matrix_cp_return_vars,point_2x0_data,point_2x0_vars,point_x0_data,point_x0_vars,parameter_alpha_data,parameter_bound_data,parameter_bound_1_data,parameter_bound_2_data,parameter_solver_data,parameter_precision_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);