Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upDimension elimination for CRS2_LM #13
Comments
This comment has been minimized.
This comment has been minimized.
My recollection is that it wasn't actually necessary for CRS. The |
This comment has been minimized.
This comment has been minimized.
First issue is that the selection of default population is made based on the dimensions. Thus you have to do more steps than in the case where the truncation of dimensions is carried out. Thus if you initially have 20 dimensions and only 2 are not ub==lb then you have to do more steps. But a more important issue that we think might influence algorithm in a bad way is the calculation of centroid. Again for the same case if you have 20 dimensions and two aro nout bound with ub==lb, then the centroid will still be calculated using 20 points. Thus if you now mirror one point the centroid will probably not move at all. Thus the sampling might occur only around the centroid that does not move. Some tests that we tried did not converge without truncation than when the truncation was applied. Sorry for the bad english. |
stevengj
closed this
in
e7f9539
Feb 20, 2014
This comment has been minimized.
This comment has been minimized.
Fair enough. It seems painful enough to change the CRS algorithm to detect this case that it's better to just use the |
artuuuro commentedFeb 20, 2014
Is there a reason why the dimension with the boundary conditions ub==lb are not truncated for CRS algorithm.
Simple fix would be to add
case NLOPT_GN_CRS2_LM:
into elimdim_wrapcheck function in api/optimize.c