function [best_scn, best_scn_info_per, best_scn_train_nodes, best_scn_test_nodes] = SCN_Super_Parameter_Opt_INFO(iter_num, L_max,T_max, r,tol, data_X, data_y, test_X, test_y,Test_Nodes) % Parameters MaxIt = iter_num; nB = 1; len_lambdas = 10; nP = 30; [~,len_r] = size(r); dim = len_lambdas + len_r + 2; ub = []; lb = []; for i=1:len_lambdas ub = [ub 200];%[ub 5];%[ub 200]; lb = [lb 100];%[lb 1];%[lb 100]; end ub_r = linspace(0.9999999999,0.9999999999,len_r); lb_r = linspace(0.9,0.9,len_r); ub = [ub ub_r]; lb = [lb lb_r]; ub = [ub 2^40]; lb = [lb 0]; ub = [ub 10^9]; lb = [lb 10^5]; %% Initialization Cost=zeros(nP,1); M=zeros(nP,1); X = rand(nP, dim).*(ub - lb) + lb; Best_Cost = inf; best_scn_info_per = []; for i=1:nP Lambdas = X(i,1:len_lambdas); scn_r = X(i,len_lambdas + 1:len_lambdas+len_r); eta = X(i, end - 1); gamma = X(i,end); scn = SCN_Reg(L_max, T_max, tol, Lambdas, scn_r , eta, gamma, nB); [scn, Train_Nodes_RMSEs, Test_Nodes_RMSEs] = scn.Regression_Nodes(data_X, data_y, test_X, test_y,Test_Nodes); [rmse, ~, ~,~] = scn.GetResult(data_X, data_y); Cost(i) = rmse; M(i)=Cost(i); if Cost(i)ub; Flag4lb=X