%$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Option to Load Each Grouping's Workspace to Reconstruct Each Trial's Data%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright 2009, 2010, 2011 George I. Evers.
%Use this to reconstruct the data after all groupings
%per trial have concluded. The combined data will then be saved per trial to
%combine over all trials.
if OnOff_ghist
ghist_current_trial = [];
end
if OnOff_fghist
fghist_current_trial = [];
end
if OnOff_lbest
if OnOff_lhist
lhist_current_trial = [];
end
end
if OnOff_fphist
fphist_current_trial = [];
end
if OnOff_phist
phist_current_trial = [];
end
if OnOff_fhist
fhist_current_trial = [];
end
if OnOff_xhist
xhist_current_trial = [];
end
if OnOff_vhist
vhist_current_trial = [];
end
%Clear variables to be created to ensure that no data carries
%over from the last trial.
if OnOff_k_after_each_grouping
if OnOff_MPSO
MPSO_k_after_each_grouping = []; %The four variables
%below with names similar to this are so named to reflect that
%they store data at the end of each grouping over an entire
%MPSO trial (i.e. over multiple starts of the core algorithm
%selected). Note that MPSO as used in this toolbox may
%be used to restart any algorithm (i.e. it is not restricted
%to GCPSO only, though it was presented using GCPSO).
else
RegPSO_k_after_each_grouping = [];%The four variables
%below with names similar to this are so named to reflect that
%they store data at the end of each grouping over one trial
%of RegPSO without MPSO restarting RegPSO multiple times.
end
end
if OnOff_fg_after_each_grouping
if OnOff_MPSO
MPSO_fg_after_each_grouping = [];
else
RegPSO_fg_after_each_grouping = [];
end
end
if OnOff_g_after_each_grouping
if OnOff_MPSO
MPSO_g_after_each_grouping = [];
else
RegPSO_g_after_each_grouping = [];
end
end
if OnOff_range_IS_per_grouping
if OnOff_MPSO
MPSO_range_IS_per_grouping = [];
else
RegPSO_range_IS_per_grouping = [];
end
end
if OnOff_MPSO
for Internal_i = 1:MPSO_grouping_counter
DateString = Internal_date_string_array(Internal_i, :); %Restore DateString used to save.
if OnOff_num_gs_identical_b4_refinement %If "reg_fact" can change, keep an array of values...
reg_fact = reg_fact_array(Internal_i); %used to load files.
end
fg = fg_array(Internal_i);
Rand_seq_start_point = Rand_seq_start_point_array(Internal_i);
if OnOff_func_evals
if Reg_Method == 1 %which implies for now that OnOff_NormR_stag_det == 1
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
else %(i.e. Reg_Method == 2)
if OnOff_NormR_stag_det
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
else %(i.e. OnOff_NormR_stag_det ~=1 and presumably == 0, in which case "stag_thresh" is removed from the filename)
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
end
end
else %i.e. if iterations are to be used instead of function evaluations
if Reg_Method == 1 %which implies for now that OnOff_NormR_stag_det == 1
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
else %(i.e. Reg_Method == 2)
if OnOff_NormR_stag_det
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
else %(i.e. OnOff_NormR_stag_det ~=1 and presumably == 0, in which case "stag_thresh" is removed from the filename)
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/MPSORM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
end
end
end
if OnOff_ghist
ghist_current_trial = [ghist_current_trial; GroupingDataCarrier.ghist];
end
if OnOff_fghist
fghist_current_trial = [fghist_current_trial, GroupingDataCarrier.fghist];
end
if OnOff_lbest
if OnOff_lhist
lhist_current_trial = [lhist_current_trial, GroupingDataCarrier.lhist];
end
end
if OnOff_fphist
fphist_current_trial = [fphist_current_trial, GroupingDataCarrier.fphist];
end
if OnOff_phist
phist_current_trial = [phist_current_trial, GroupingDataCarrier.phist];
end
if OnOff_fhist
fhist_current_trial = [fhist_current_trial, GroupingDataCarrier.fhist];
end
if OnOff_xhist
xhist_current_trial = [xhist_current_trial, GroupingDataCarrier.xhist];
end
if OnOff_vhist
vhist_current_trial = [vhist_current_trial, GroupingDataCarrier.vhist];
end
if OnOff_k_after_each_grouping
if Internal_i ~= 1
MPSO_k_after_each_grouping = [MPSO_k_after_each_grouping, MPSO_k + GroupingDataCarrier.RegPSO_k];
end
end
if OnOff_fg_after_each_grouping
MPSO_fg_after_each_grouping = [MPSO_fg_after_each_grouping, GroupingDataCarrier.fg];
end
if OnOff_g_after_each_grouping
MPSO_g_after_each_grouping = [MPSO_g_after_each_grouping; GroupingDataCarrier.g(1, :)];
end
if OnOff_range_IS_per_grouping
MPSO_range_IS_per_grouping = [MPSO_range_IS_per_grouping; GroupingDataCarrier.range_IS(1, :)];
end
end
else %i.e. no multi-start of the core algorithm
for Internal_i = 1:RegPSO_grouping_counter
DateString = Internal_date_string_array(Internal_i, :); %Restore DateString used to save.
if OnOff_num_gs_identical_b4_refinement %If "reg_fact" can change, keep an array of values...
reg_fact = reg_fact_array(Internal_i); %used to load files.
end
fg = fg_array(Internal_i);
if OnOff_func_evals
if Reg_Method == 1 %which implies for now that OnOff_NormR_stag_det == 1
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
else %(i.e. Reg_Method == 2)
if OnOff_NormR_stag_det
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
else %(i.e. OnOff_NormR_stag_det ~=1 and presumably == 0, in which case "stag_thresh" is removed from the filename)
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_FEs_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
end
end
else %i.e. if iterations are to be used instead of function evaluations
if Reg_Method == 1 %which implies for now that OnOff_NormR_stag_det == 1
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(reg_fact),...
',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
else %(i.e. Reg_Method == 2)
if OnOff_NormR_stag_det
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(stag_thresh), ',', num2str(num_runs_b4_reduction), ',', ...
num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
else %(i.e. OnOff_NormR_stag_det ~=1 and presumably == 0, in which case "stag_thresh" is removed from the filename)
if OnOff_w_linear == 0
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',', num2str(OnOff_w_linear), ',', num2str(w),...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
else
GroupingDataCarrier = load(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat']);
if OnOff_Autodelete_Grouping_Data
delete(['Data/', DateString_dir, '/WS/RM', num2str(Reg_Method), ',Gr', num2str(Internal_i), ',', objective(1:2), ',', num2str(dim), ',', num2str(np), ',',...
num2str(num_runs_b4_reduction), ',', num2str(vmax_perc), ',', num2str(OnOff_v_clamp), ',', num2str(OnOff_v_reset), ',',...
num2str(c1), ',', num2str(c2), ',',...
num2str(OnOff_w_linear), ',', num2str(w_i), ',', num2str(w_f)...
',', num2str(Rand_seq_start_point), ',', num2str(max_num_groupings), ',',...
num2str(num_trials), ',Fm', num2str(max_iter_per_grouping), ',', num2str(fg), ',',...
DateString, '.mat'])
end
end
end
end
end
if OnOff_ghist
ghist_current_trial = [ghist_current_trial; GroupingDataCarrier.ghist];
end
if OnOff_fghist
fghist_current_trial = [fghist_current_trial, GroupingDataCarrier.fghist];
end
if OnOff_lbest
if OnOff_lhist
lhist_current_trial = [lhist_current_trial, GroupingDataCarrier.lhist];
end
end
if OnOff_fphist
fphist_current_trial = [fphist_current_trial, GroupingDataCarrier.fphist];
end
if OnOff_phist
phist_current_trial = [phist_current_trial, GroupingDataCarrier.phist];
end
if OnOff_fhist
fhist_current_trial = [fhist_current_trial, GroupingDataCarrier.fhist];
end
if OnOff_xhist
xhist_current_trial = [xhist_current_trial, GroupingDataCarrier.xhist];
end
if OnOff_vhist
vhist_current_trial = [vhist_current_trial, GroupingDataCarrier.vhist];
end
if OnOff_k_after_each_grouping
if Internal_i ~= 1
RegPSO_k_after_each_grouping = [RegPSO_k_after_each_grouping, GroupingDataCarrier.RegPSO_k];
end
end
if OnOff_fg_after_each_grouping
RegPSO_fg_after_each_grouping = [RegPSO_fg_after_each_grouping, GroupingDataCarrier.fg];
end
if OnOff_g_after_each_grouping
RegPSO_g_after_each_grouping = [RegPSO_g_after_each_grouping; GroupingDataCarrier.g(1, :)];
end
if OnOff_range_IS_per_grouping
RegPSO_range_IS_per_grouping = [RegPSO_range_IS_per_grouping; GroupingDataCarrier.range_IS(1, :)];
end
end
end
Internal_date_string_array = [];
clear DateString GroupingDataCarrier %Reduce workspace clutter by clearing this internally used variable once it has been used.