pyPESTO icon indicating copy to clipboard operation
pyPESTO copied to clipboard

Allow setting different boundaries for starting points sampling

Open plakrisenko opened this issue 4 years ago • 5 comments

Currently pypesto.problem.lb and pypesto.problem.ub are used as boundaries for generating starting points. I would like to be able to set narrower boundaries than those for optimization. So, optimization would start within a specified region, but optimizer would be allowed to cross it and will be bounded by pypesto.problem.lb and pypesto.problem.ub. This setting can be, for example, added to pypesto.OptimizeOptions. If starting points boundaries are not specified then pypesto.problem.lb and pypesto.problem.ub will be used. Any opinions on that?

plakrisenko avatar Jun 03 '20 16:06 plakrisenko

I think it makes sense to add these to the options. A problem (as always ...) is the parameter fixing, i.e .that we have "full" vectors vs. "free" indices. It would make sense to only provide the free vector here, i.e. without the fixed indices, and to hope users notice they have to change these vectors here when they decide to change what parameters are fixed.

yannikschaelte avatar Jun 03 '20 16:06 yannikschaelte

Shouldn't this be possible by simply providing a custom sampling routine that shrinks boundaries passed in https://github.com/ICB-DCM/pyPESTO/blob/f74b4d0b54b2f159260664284da5e49709a8245a/pypesto/startpoint/util.py#L50?

FFroehlich avatar Jun 04 '20 02:06 FFroehlich

It is definitely possible by providing an own sampling routine, I think the question was whether it makes sense to handle this common use case in pypesto directly.

yannikschaelte avatar Jun 04 '20 07:06 yannikschaelte

I was trying to imply that I believe that a good way to do this would be to provide more custom startpoint sampling methods. Should avoid any clashes with full vs reduced boundaries as long as the ub/lb from the arguments are used.

FFroehlich avatar Jun 04 '20 14:06 FFroehlich

makes sense. one thing to keep in mind is that the "new" bounds still need to be specified (on the reduced level ...), and that ideally we have this orthogonal to the uniform vs latin-hypercube vs etc. samplers, as one would for sure want to be able to combine re-defined bounds with any startpoint sampler of choice.

yannikschaelte avatar Jun 04 '20 15:06 yannikschaelte