%This Example for using users m-function Optimization_subroutine.m was created automatically by PSG Toolbox. %Function description: %minimize %0.966736489*pm_pen_g(parameter_alpha, matrix_10000_1) %+0.903492046*pm_pen_g(parameter_alpha_1, matrix_10000_2) %+0.84438509*pm_pen_g(parameter_alpha_2, matrix_10000_3) %+0.789144944*pm_pen_g(parameter_alpha_3, matrix_10000_4) %+0.737518639*pm_pen_g(parameter_alpha_4, matrix_10000_5) %Constraint: <= parameter_bound %pr_pen(parameter_alpha_5, matrix_10000_1) %Constraint: <= parameter_bound_1 %prmulti_pen(parameter_alpha_6,matrix_10000_1,matrix_10000_2) %Constraint: <= parameter_bound_2 %prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) %Constraint: <= parameter_bound_3 %prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) %Constraint: <= parameter_bound_4 %prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %Box: >= parameter_bound_5, <= parameter_bound_6 % %Input variables: % %Inputs PSG Type PSG Object Location in Problem Statement Class %matrix_10000_1_benchmark bench matrix_10000_1 0.966736489*pm_pen_g(parameter_alpha, matrix_10000_1) double % pr_pen(parameter_alpha_5, matrix_10000_1) % prmulti_pen(parameter_alpha_6,matrix_10000_1,matrix_10000_2) % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_1_data data matrix_10000_1 0.966736489*pm_pen_g(parameter_alpha, matrix_10000_1) double % pr_pen(parameter_alpha_5, matrix_10000_1) % prmulti_pen(parameter_alpha_6,matrix_10000_1,matrix_10000_2) % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_1_vars vars matrix_10000_1 0.966736489*pm_pen_g(parameter_alpha, matrix_10000_1) cell % pr_pen(parameter_alpha_5, matrix_10000_1) % prmulti_pen(parameter_alpha_6,matrix_10000_1,matrix_10000_2) % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_2_benchmark bench matrix_10000_2 +0.903492046*pm_pen_g(parameter_alpha_1, matrix_10000_2) double % prmulti_pen(parameter_alpha_6,matrix_10000_1,matrix_10000_2) % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_2_data data matrix_10000_2 +0.903492046*pm_pen_g(parameter_alpha_1, matrix_10000_2) double % prmulti_pen(parameter_alpha_6,matrix_10000_1,matrix_10000_2) % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_2_vars vars matrix_10000_2 +0.903492046*pm_pen_g(parameter_alpha_1, matrix_10000_2) cell % prmulti_pen(parameter_alpha_6,matrix_10000_1,matrix_10000_2) % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_3_benchmark bench matrix_10000_3 +0.84438509*pm_pen_g(parameter_alpha_2, matrix_10000_3) double % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_3_data data matrix_10000_3 +0.84438509*pm_pen_g(parameter_alpha_2, matrix_10000_3) double % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_3_vars vars matrix_10000_3 +0.84438509*pm_pen_g(parameter_alpha_2, matrix_10000_3) cell % prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_4_benchmark bench matrix_10000_4 +0.789144944*pm_pen_g(parameter_alpha_3, matrix_10000_4) double % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_4_data data matrix_10000_4 +0.789144944*pm_pen_g(parameter_alpha_3, matrix_10000_4) double % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_4_vars vars matrix_10000_4 +0.789144944*pm_pen_g(parameter_alpha_3, matrix_10000_4) cell % prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_5_benchmark bench matrix_10000_5 +0.737518639*pm_pen_g(parameter_alpha_4, matrix_10000_5) double % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_5_data data matrix_10000_5 +0.737518639*pm_pen_g(parameter_alpha_4, matrix_10000_5) double % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %matrix_10000_5_vars vars matrix_10000_5 +0.737518639*pm_pen_g(parameter_alpha_4, matrix_10000_5) cell % prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) %parameter_alpha_data data parameter_alpha 0.966736489*pm_pen_g(parameter_alpha, matrix_10000_1) double %parameter_alpha_1_data data parameter_alpha_1 +0.903492046*pm_pen_g(parameter_alpha_1, matrix_10000_2) double %parameter_alpha_2_data data parameter_alpha_2 +0.84438509*pm_pen_g(parameter_alpha_2, matrix_10000_3) double %parameter_alpha_3_data data parameter_alpha_3 +0.789144944*pm_pen_g(parameter_alpha_3, matrix_10000_4) double %parameter_alpha_4_data data parameter_alpha_4 +0.737518639*pm_pen_g(parameter_alpha_4, matrix_10000_5) double %parameter_bound_data data parameter_bound Constraint: <= parameter_bound double %parameter_alpha_5_data data parameter_alpha_5 pr_pen(parameter_alpha_5, matrix_10000_1) double %parameter_bound_1_data data parameter_bound_1 Constraint: <= parameter_bound_1 double %parameter_alpha_6_data data parameter_alpha_6 prmulti_pen(parameter_alpha_6,matrix_10000_1,matrix_10000_2) double %parameter_bound_2_data data parameter_bound_2 Constraint: <= parameter_bound_2 double %parameter_alpha_7_data data parameter_alpha_7 prmulti_pen(parameter_alpha_7,matrix_10000_1,matrix_10000_2,matrix_10000_3) double %parameter_bound_3_data data parameter_bound_3 Constraint: <= parameter_bound_3 double %parameter_alpha_8_data data parameter_alpha_8 prmulti_pen(parameter_alpha_8,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4) double %parameter_bound_4_data data parameter_bound_4 Constraint: <= parameter_bound_4 double %parameter_alpha_9_data data parameter_alpha_9 prmulti_pen(parameter_alpha_9,matrix_10000_1,matrix_10000_2,matrix_10000_3,matrix_10000_4,matrix_10000_5) double %parameter_bound_5_data data parameter_bound_5 Box: >= parameter_bound_5, <= parameter_bound_6 double %parameter_bound_6_data data parameter_bound_6 Box: >= parameter_bound_5, <= parameter_bound_6 double % %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\Structuring step up CDO\data_problem_example_2_bbb_10_short\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_10000_1_benchmark,matrix_10000_1_data,matrix_10000_1_vars,matrix_10000_2_benchmark,matrix_10000_2_data,matrix_10000_2_vars,matrix_10000_3_benchmark,matrix_10000_3_data,matrix_10000_3_vars,matrix_10000_4_benchmark,matrix_10000_4_data,matrix_10000_4_vars,matrix_10000_5_benchmark,matrix_10000_5_data,matrix_10000_5_vars,parameter_alpha_data,parameter_alpha_1_data,parameter_alpha_2_data,parameter_alpha_3_data,parameter_alpha_4_data,parameter_bound_data,parameter_alpha_5_data,parameter_bound_1_data,parameter_alpha_6_data,parameter_bound_2_data,parameter_alpha_7_data,parameter_bound_3_data,parameter_alpha_8_data,parameter_bound_4_data,parameter_alpha_9_data,parameter_bound_5_data,parameter_bound_6_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);