I am using fmincon in Matlab to minimize a smooth yet highly non-linear objective function. My problem is in n-dimension, with n>250 in some instances.
I have found that using different starting points improves dramatically the solution, as can be expected from an objective function with multiple local minima.
I have used haltonset to generate quasi random starting point in the n dimensional hypercube, which I then rescale into the n-dimensional hyperspace defined by the lower and upper bounds of my problem.
I am however unsure of whether I am covering the space of possible solutions (defined by lower and upper bounds) in a sufficiently uniform manner. It could come from 2 issues: 1) the initial generation of the quasi random points is not "dense" enough, 2) the rescaling could create holes in the hyperspace because of bounds that are highly different
Is there a way that I can ensure that my starting points cover my space adequately (maybe specify the maximum distance between my starting points in n-dimension).
Thank you for your help
See below code I am using:
objective_list = containers.Map('KeyType','int32','ValueType','any');
initial_pt_list = containers.Map('KeyType','int32','ValueType','any');
optimal_pt_list = containers.Map('KeyType','int32','ValueType','any');
p = scramble(p,'RR2');
X0 = net(p,net_size);
for net0 = 1:1:net_size
temp_initial_pt = lower_b + temp_unit_vector'.*(upper_b - lower_b);