%This Example for using users m-function Optimization_subroutine.m was created automatically by PSG Toolbox. %Function description: %minimize %linear(matrix_w) %Constraint: <= parameter_bound, linearize = 1 %cardn_neg(parameter_alpha, matrix_zcard) %Constraint: >= parameter_bound_1 %linearmulti(pmatrix_xab) %Constraint: >= parameter_bound_2 %linearmulti(pmatrix_xac) %Constraint: >= parameter_bound_3 %linearmulti(pmatrix_xba) %Constraint: >= parameter_bound_4 %linearmulti(pmatrix_xbc) %Constraint: >= parameter_bound_5 %linearmulti(pmatrix_xbd) %Constraint: >= parameter_bound_6 %linearmulti(pmatrix_xbe) %Constraint: >= parameter_bound_7 %linearmulti(pmatrix_xca) %Constraint: >= parameter_bound_8 %linearmulti(pmatrix_xcb) %Constraint: >= parameter_bound_9 %linearmulti(pmatrix_xcd) %Constraint: >= parameter_bound_10 %linearmulti(pmatrix_xdb) %Constraint: >= parameter_bound_11 %linearmulti(pmatrix_xdc) %Constraint: >= parameter_bound_12 %linearmulti(pmatrix_xde) %Constraint: >= parameter_bound_13 %linearmulti(pmatrix_xeb) %Constraint: >= parameter_bound_14 %linearmulti(pmatrix_xed) %Constraint: == parameter_bound_15 %linearmulti(pmatrix_zdab) %Constraint: == parameter_bound_16 %linearmulti(pmatrix_zdac) %Constraint: == parameter_bound_17 %linearmulti(pmatrix_zdad) %Constraint: == parameter_bound_18 %linearmulti(pmatrix_zdae) %Constraint: == parameter_bound_19 %linearmulti(pmatrix_zdba) %Constraint: == parameter_bound_20 %linearmulti(pmatrix_zdbc) %Constraint: == parameter_bound_21 %linearmulti(pmatrix_zdbd) %Constraint: == parameter_bound_22 %linearmulti(pmatrix_zdbe) %Constraint: == parameter_bound_23 %linearmulti(pmatrix_zdca) %Constraint: == parameter_bound_24 %linearmulti(pmatrix_zdcb) %Constraint: == parameter_bound_25 %linearmulti(pmatrix_zdcd) %Constraint: == parameter_bound_26 %linearmulti(pmatrix_zdce) %Constraint: == parameter_bound_27 %linearmulti(pmatrix_zdda) %Constraint: == parameter_bound_28 %linearmulti(pmatrix_zddb) %Constraint: == parameter_bound_29 %linearmulti(pmatrix_zddc) %Constraint: == parameter_bound_30 %linearmulti(pmatrix_zdde) %Constraint: == parameter_bound_31 %linearmulti(pmatrix_zdea) %Constraint: == parameter_bound_32 %linearmulti(pmatrix_zdeb) %Constraint: == parameter_bound_33 %linearmulti(pmatrix_zdec) %Constraint: == parameter_bound_34 %linearmulti(pmatrix_zded) %Box: >= parameter_bound_35 %Solver: parameter_solver % %Input variables: % %Inputs PSG Type PSG Object Location in Problem Statement Class %matrix_w_data data matrix_w linear(matrix_w) double %matrix_w_vars vars matrix_w linear(matrix_w) cell %matrix_zcard_benchmark bench matrix_zcard cardn_neg(parameter_alpha, matrix_zcard) double %matrix_zcard_data data matrix_zcard cardn_neg(parameter_alpha, matrix_zcard) double %matrix_zcard_vars vars matrix_zcard cardn_neg(parameter_alpha, matrix_zcard) cell %pmatrix_xab_data data pmatrix_xab linearmulti(pmatrix_xab) double %pmatrix_xab_vars vars pmatrix_xab linearmulti(pmatrix_xab) cell %pmatrix_xac_data data pmatrix_xac linearmulti(pmatrix_xac) double %pmatrix_xac_vars vars pmatrix_xac linearmulti(pmatrix_xac) cell %pmatrix_xba_data data pmatrix_xba linearmulti(pmatrix_xba) double %pmatrix_xba_vars vars pmatrix_xba linearmulti(pmatrix_xba) cell %pmatrix_xbc_data data pmatrix_xbc linearmulti(pmatrix_xbc) double %pmatrix_xbc_vars vars pmatrix_xbc linearmulti(pmatrix_xbc) cell %pmatrix_xbd_data data pmatrix_xbd linearmulti(pmatrix_xbd) double %pmatrix_xbd_vars vars pmatrix_xbd linearmulti(pmatrix_xbd) cell %pmatrix_xbe_data data pmatrix_xbe linearmulti(pmatrix_xbe) double %pmatrix_xbe_vars vars pmatrix_xbe linearmulti(pmatrix_xbe) cell %pmatrix_xca_data data pmatrix_xca linearmulti(pmatrix_xca) double %pmatrix_xca_vars vars pmatrix_xca linearmulti(pmatrix_xca) cell %pmatrix_xcb_data data pmatrix_xcb linearmulti(pmatrix_xcb) double %pmatrix_xcb_vars vars pmatrix_xcb linearmulti(pmatrix_xcb) cell %pmatrix_xcd_data data pmatrix_xcd linearmulti(pmatrix_xcd) double %pmatrix_xcd_vars vars pmatrix_xcd linearmulti(pmatrix_xcd) cell %pmatrix_xdb_data data pmatrix_xdb linearmulti(pmatrix_xdb) double %pmatrix_xdb_vars vars pmatrix_xdb linearmulti(pmatrix_xdb) cell %pmatrix_xdc_data data pmatrix_xdc linearmulti(pmatrix_xdc) double %pmatrix_xdc_vars vars pmatrix_xdc linearmulti(pmatrix_xdc) cell %pmatrix_xde_data data pmatrix_xde linearmulti(pmatrix_xde) double %pmatrix_xde_vars vars pmatrix_xde linearmulti(pmatrix_xde) cell %pmatrix_xeb_data data pmatrix_xeb linearmulti(pmatrix_xeb) double %pmatrix_xeb_vars vars pmatrix_xeb linearmulti(pmatrix_xeb) cell %pmatrix_xed_data data pmatrix_xed linearmulti(pmatrix_xed) double %pmatrix_xed_vars vars pmatrix_xed linearmulti(pmatrix_xed) cell %pmatrix_zdab_data data pmatrix_zdab linearmulti(pmatrix_zdab) double %pmatrix_zdab_vars vars pmatrix_zdab linearmulti(pmatrix_zdab) cell %pmatrix_zdac_data data pmatrix_zdac linearmulti(pmatrix_zdac) double %pmatrix_zdac_vars vars pmatrix_zdac linearmulti(pmatrix_zdac) cell %pmatrix_zdad_data data pmatrix_zdad linearmulti(pmatrix_zdad) double %pmatrix_zdad_vars vars pmatrix_zdad linearmulti(pmatrix_zdad) cell %pmatrix_zdae_data data pmatrix_zdae linearmulti(pmatrix_zdae) double %pmatrix_zdae_vars vars pmatrix_zdae linearmulti(pmatrix_zdae) cell %pmatrix_zdba_data data pmatrix_zdba linearmulti(pmatrix_zdba) double %pmatrix_zdba_vars vars pmatrix_zdba linearmulti(pmatrix_zdba) cell %pmatrix_zdbc_data data pmatrix_zdbc linearmulti(pmatrix_zdbc) double %pmatrix_zdbc_vars vars pmatrix_zdbc linearmulti(pmatrix_zdbc) cell %pmatrix_zdbd_data data pmatrix_zdbd linearmulti(pmatrix_zdbd) double %pmatrix_zdbd_vars vars pmatrix_zdbd linearmulti(pmatrix_zdbd) cell %pmatrix_zdbe_data data pmatrix_zdbe linearmulti(pmatrix_zdbe) double %pmatrix_zdbe_vars vars pmatrix_zdbe linearmulti(pmatrix_zdbe) cell %pmatrix_zdca_data data pmatrix_zdca linearmulti(pmatrix_zdca) double %pmatrix_zdca_vars vars pmatrix_zdca linearmulti(pmatrix_zdca) cell %pmatrix_zdcb_data data pmatrix_zdcb linearmulti(pmatrix_zdcb) double %pmatrix_zdcb_vars vars pmatrix_zdcb linearmulti(pmatrix_zdcb) cell %pmatrix_zdcd_data data pmatrix_zdcd linearmulti(pmatrix_zdcd) double %pmatrix_zdcd_vars vars pmatrix_zdcd linearmulti(pmatrix_zdcd) cell %pmatrix_zdce_data data pmatrix_zdce linearmulti(pmatrix_zdce) double %pmatrix_zdce_vars vars pmatrix_zdce linearmulti(pmatrix_zdce) cell %pmatrix_zdda_data data pmatrix_zdda linearmulti(pmatrix_zdda) double %pmatrix_zdda_vars vars pmatrix_zdda linearmulti(pmatrix_zdda) cell %pmatrix_zddb_data data pmatrix_zddb linearmulti(pmatrix_zddb) double %pmatrix_zddb_vars vars pmatrix_zddb linearmulti(pmatrix_zddb) cell %pmatrix_zddc_data data pmatrix_zddc linearmulti(pmatrix_zddc) double %pmatrix_zddc_vars vars pmatrix_zddc linearmulti(pmatrix_zddc) cell %pmatrix_zdde_data data pmatrix_zdde linearmulti(pmatrix_zdde) double %pmatrix_zdde_vars vars pmatrix_zdde linearmulti(pmatrix_zdde) cell %pmatrix_zdea_data data pmatrix_zdea linearmulti(pmatrix_zdea) double %pmatrix_zdea_vars vars pmatrix_zdea linearmulti(pmatrix_zdea) cell %pmatrix_zdeb_data data pmatrix_zdeb linearmulti(pmatrix_zdeb) double %pmatrix_zdeb_vars vars pmatrix_zdeb linearmulti(pmatrix_zdeb) cell %pmatrix_zdec_data data pmatrix_zdec linearmulti(pmatrix_zdec) double %pmatrix_zdec_vars vars pmatrix_zdec linearmulti(pmatrix_zdec) cell %pmatrix_zded_data data pmatrix_zded linearmulti(pmatrix_zded) double %pmatrix_zded_vars vars pmatrix_zded linearmulti(pmatrix_zded) cell %parameter_bound_data data parameter_bound Constraint: <= parameter_bound, linearize = 1 double %parameter_alpha_data data parameter_alpha cardn_neg(parameter_alpha, matrix_zcard) 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_bound_4_data data parameter_bound_4 Constraint: >= parameter_bound_4 double %parameter_bound_5_data data parameter_bound_5 Constraint: >= parameter_bound_5 double %parameter_bound_6_data data parameter_bound_6 Constraint: >= parameter_bound_6 double %parameter_bound_7_data data parameter_bound_7 Constraint: >= parameter_bound_7 double %parameter_bound_8_data data parameter_bound_8 Constraint: >= parameter_bound_8 double %parameter_bound_9_data data parameter_bound_9 Constraint: >= parameter_bound_9 double %parameter_bound_10_data data parameter_bound_10 Constraint: >= parameter_bound_10 double %parameter_bound_11_data data parameter_bound_11 Constraint: >= parameter_bound_11 double %parameter_bound_12_data data parameter_bound_12 Constraint: >= parameter_bound_12 double %parameter_bound_13_data data parameter_bound_13 Constraint: >= parameter_bound_13 double %parameter_bound_14_data data parameter_bound_14 Constraint: >= parameter_bound_14 double %parameter_bound_15_data data parameter_bound_15 Constraint: == parameter_bound_15 double %parameter_bound_16_data data parameter_bound_16 Constraint: == parameter_bound_16 double %parameter_bound_17_data data parameter_bound_17 Constraint: == parameter_bound_17 double %parameter_bound_18_data data parameter_bound_18 Constraint: == parameter_bound_18 double %parameter_bound_19_data data parameter_bound_19 Constraint: == parameter_bound_19 double %parameter_bound_20_data data parameter_bound_20 Constraint: == parameter_bound_20 double %parameter_bound_21_data data parameter_bound_21 Constraint: == parameter_bound_21 double %parameter_bound_22_data data parameter_bound_22 Constraint: == parameter_bound_22 double %parameter_bound_23_data data parameter_bound_23 Constraint: == parameter_bound_23 double %parameter_bound_24_data data parameter_bound_24 Constraint: == parameter_bound_24 double %parameter_bound_25_data data parameter_bound_25 Constraint: == parameter_bound_25 double %parameter_bound_26_data data parameter_bound_26 Constraint: == parameter_bound_26 double %parameter_bound_27_data data parameter_bound_27 Constraint: == parameter_bound_27 double %parameter_bound_28_data data parameter_bound_28 Constraint: == parameter_bound_28 double %parameter_bound_29_data data parameter_bound_29 Constraint: == parameter_bound_29 double %parameter_bound_30_data data parameter_bound_30 Constraint: == parameter_bound_30 double %parameter_bound_31_data data parameter_bound_31 Constraint: == parameter_bound_31 double %parameter_bound_32_data data parameter_bound_32 Constraint: == parameter_bound_32 double %parameter_bound_33_data data parameter_bound_33 Constraint: == parameter_bound_33 double %parameter_bound_34_data data parameter_bound_34 Constraint: == parameter_bound_34 double %parameter_bound_35_data data parameter_bound_35 Box: >= parameter_bound_35 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\Stochastic Multicommodity Network Flow Problem\data_problem_c_multicomm_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_w_data,matrix_w_vars,matrix_zcard_benchmark,matrix_zcard_data,matrix_zcard_vars,pmatrix_xab_data,pmatrix_xab_vars,pmatrix_xac_data,pmatrix_xac_vars,pmatrix_xba_data,pmatrix_xba_vars,pmatrix_xbc_data,pmatrix_xbc_vars,pmatrix_xbd_data,pmatrix_xbd_vars,pmatrix_xbe_data,pmatrix_xbe_vars,pmatrix_xca_data,pmatrix_xca_vars,pmatrix_xcb_data,pmatrix_xcb_vars,pmatrix_xcd_data,pmatrix_xcd_vars,pmatrix_xdb_data,pmatrix_xdb_vars,pmatrix_xdc_data,pmatrix_xdc_vars,pmatrix_xde_data,pmatrix_xde_vars,pmatrix_xeb_data,pmatrix_xeb_vars,pmatrix_xed_data,pmatrix_xed_vars,pmatrix_zdab_data,pmatrix_zdab_vars,pmatrix_zdac_data,pmatrix_zdac_vars,pmatrix_zdad_data,pmatrix_zdad_vars,pmatrix_zdae_data,pmatrix_zdae_vars,pmatrix_zdba_data,pmatrix_zdba_vars,pmatrix_zdbc_data,pmatrix_zdbc_vars,pmatrix_zdbd_data,pmatrix_zdbd_vars,pmatrix_zdbe_data,pmatrix_zdbe_vars,pmatrix_zdca_data,pmatrix_zdca_vars,pmatrix_zdcb_data,pmatrix_zdcb_vars,pmatrix_zdcd_data,pmatrix_zdcd_vars,pmatrix_zdce_data,pmatrix_zdce_vars,pmatrix_zdda_data,pmatrix_zdda_vars,pmatrix_zddb_data,pmatrix_zddb_vars,pmatrix_zddc_data,pmatrix_zddc_vars,pmatrix_zdde_data,pmatrix_zdde_vars,pmatrix_zdea_data,pmatrix_zdea_vars,pmatrix_zdeb_data,pmatrix_zdeb_vars,pmatrix_zdec_data,pmatrix_zdec_vars,pmatrix_zded_data,pmatrix_zded_vars,parameter_bound_data,parameter_alpha_data,parameter_bound_1_data,parameter_bound_2_data,parameter_bound_3_data,parameter_bound_4_data,parameter_bound_5_data,parameter_bound_6_data,parameter_bound_7_data,parameter_bound_8_data,parameter_bound_9_data,parameter_bound_10_data,parameter_bound_11_data,parameter_bound_12_data,parameter_bound_13_data,parameter_bound_14_data,parameter_bound_15_data,parameter_bound_16_data,parameter_bound_17_data,parameter_bound_18_data,parameter_bound_19_data,parameter_bound_20_data,parameter_bound_21_data,parameter_bound_22_data,parameter_bound_23_data,parameter_bound_24_data,parameter_bound_25_data,parameter_bound_26_data,parameter_bound_27_data,parameter_bound_28_data,parameter_bound_29_data,parameter_bound_30_data,parameter_bound_31_data,parameter_bound_32_data,parameter_bound_33_data,parameter_bound_34_data,parameter_bound_35_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);