%This Example for using users m-function Optimization_subroutine.m was created automatically by PSG Toolbox. %Function description: %minimize %-11*avg(matrix_in) %+pm_pen_ni(parameter_alpha,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_1,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_2,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_3,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_4,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_5,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_6,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_7,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_8,matrix_in, matrix_budget) %+pm_pen_ni(parameter_alpha_9,matrix_in, matrix_budget) %Constraint: == parameter_bound %linear(matrix_budget) %Box: >= point_lowerbounds % %Input variables: % %Inputs PSG Type PSG Object Location in Problem Statement Class %matrix_in_data data matrix_in -11*avg(matrix_in) double % +pm_pen_ni(parameter_alpha,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_1,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_2,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_3,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_4,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_5,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_6,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_7,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_8,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_9,matrix_in, matrix_budget) %matrix_in_vars vars matrix_in -11*avg(matrix_in) cell % +pm_pen_ni(parameter_alpha,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_1,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_2,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_3,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_4,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_5,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_6,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_7,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_8,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_9,matrix_in, matrix_budget) %matrix_budget_data data matrix_budget +pm_pen_ni(parameter_alpha,matrix_in, matrix_budget) double % +pm_pen_ni(parameter_alpha_1,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_2,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_3,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_4,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_5,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_6,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_7,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_8,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_9,matrix_in, matrix_budget) % linear(matrix_budget) %matrix_budget_vars vars matrix_budget +pm_pen_ni(parameter_alpha,matrix_in, matrix_budget) cell % +pm_pen_ni(parameter_alpha_1,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_2,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_3,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_4,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_5,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_6,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_7,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_8,matrix_in, matrix_budget) % +pm_pen_ni(parameter_alpha_9,matrix_in, matrix_budget) % linear(matrix_budget) %point_lowerbounds_data data point_lowerbounds Box: >= point_lowerbounds double %point_lowerbounds_vars vars point_lowerbounds Box: >= point_lowerbounds cell %parameter_alpha_data data parameter_alpha +pm_pen_ni(parameter_alpha,matrix_in, matrix_budget) double %parameter_alpha_1_data data parameter_alpha_1 +pm_pen_ni(parameter_alpha_1,matrix_in, matrix_budget) double %parameter_alpha_2_data data parameter_alpha_2 +pm_pen_ni(parameter_alpha_2,matrix_in, matrix_budget) double %parameter_alpha_3_data data parameter_alpha_3 +pm_pen_ni(parameter_alpha_3,matrix_in, matrix_budget) double %parameter_alpha_4_data data parameter_alpha_4 +pm_pen_ni(parameter_alpha_4,matrix_in, matrix_budget) double %parameter_alpha_5_data data parameter_alpha_5 +pm_pen_ni(parameter_alpha_5,matrix_in, matrix_budget) double %parameter_alpha_6_data data parameter_alpha_6 +pm_pen_ni(parameter_alpha_6,matrix_in, matrix_budget) double %parameter_alpha_7_data data parameter_alpha_7 +pm_pen_ni(parameter_alpha_7,matrix_in, matrix_budget) double %parameter_alpha_8_data data parameter_alpha_8 +pm_pen_ni(parameter_alpha_8,matrix_in, matrix_budget) double %parameter_alpha_9_data data parameter_alpha_9 +pm_pen_ni(parameter_alpha_9,matrix_in, matrix_budget) double %parameter_bound_data data parameter_bound Constraint: == parameter_bound 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\Stochastic Utility Problem\problem_2_utility_exact_v500_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_in_data,matrix_in_vars,matrix_budget_data,matrix_budget_vars,point_lowerbounds_data,point_lowerbounds_vars,parameter_alpha_data,parameter_alpha_1_data,parameter_alpha_2_data,parameter_alpha_3_data,parameter_alpha_4_data,parameter_alpha_5_data,parameter_alpha_6_data,parameter_alpha_7_data,parameter_alpha_8_data,parameter_alpha_9_data,parameter_bound_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);