-
Notifications
You must be signed in to change notification settings - Fork 181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimizing a 7-parameter black-box function #282
Comments
I'll answer a couple of your questions from my own experience because if I am mistaken the BBOBies can hopefully correct my mistakes and false assumptions!. :) Scaling the parameter limits means that all parameters will, in a sense, be treated more equally by CMA-ES. One termination condition you should consider is a small minimum value for sigma, e.g. 10^-12. If sigma exceeds some large maximum value that you have chosen, that could be an indication that CMA-ES is producing a sequence of covariance matrices that are not converging, or are unstable in some sense. You should probably also restart in that case. (I don't actually use pycma, and I am using use a type of matrix adaptation that doesn't need the covariance matrix, so I apologize if my advice and terminology is incorrect). |
re. 1: maybe have a look at these practical hints |
Thank you for your reply. Questions 1 to 4 are answered satisfactorily for me. However, I believe I can provide more information regarding question 5.
|
You may want to use a larger import cma
cma.CMAOptions('max') {'maxfevals': 'inf #v maximum number of function evaluations',
'maxiter': '100 + 150 * (N+3)**2 [//](/~https://github.com/CMA-ES/pycma/issues/282) popsize**0.5 #v maximum number of iterations',
'maxstd': 'None #v maximal std (scalar or vector) in any coordinate direction',
'maxstd_boundrange': '1/3 # maximal std relative to bound_range per coordinate, overruled by maxstd',
'tolupsigma': '1e20 #v sigma/sigma0 > tolupsigma * max(eivenvals(C)**0.5) indicates "creeping behavior" with usually minor improvements',
'verbose': '3 #v verbosity e.g. of initial/final message, -1 is very quiet, -9 maximally quiet, may not be fully implemented'} |
Hi,
I am working on optimizing a 7-parameter black-box function and have some questions that I would really appreciate if you could help me with. I have listed them below:
Parameter Scaling
StandardScaler()
?Population Size
popsize
) greater than the number of parameters, and hence I had chosenpopsize = 8
.popsize
be?Parallel Population Search
popsize
searches over a different area (independent from each other). Can each population search be performed in a separate thread in parallel using themultiprocessing
python module?Relationship between
popsize
andsigma0
popsize
also requires me to lowersigma0
for my 7-parameter function to avoid crashing.popsize
andsigma0
?Finding Multiple Local Minima
tolupsigma
, but it never terminated optimization except when set to 1. When set to 1, the algorithm was terminated within 2-3 iterations.tolstagnation = 2
and still facing the same problem.Thank you in advance for your assistance.
The text was updated successfully, but these errors were encountered: