I like your first suggested interpretation - bounds are a known region
within which the minimum lies (otherwise IMO they belong as constraints).
The Matlab approach of clipping solutions to the bounds sounds pragmatic.
Did you want to have a go at implementing that in the addon?


On Thu, Oct 17, 2013 at 2:35 AM, Thomas Costigliola <[email protected]>wrote:

> Thanks Ric. Using a constraint function worked, but with noticeable
> slowdown.
>
> I was looking at the page describing the algorithm that was linked in the
> description of the add on. Without trying to get into too much detail and
> unless I am misunderstanding it, it seems like if you have an existing
> solution on the boundary that gets selected as the base vector then adding,
> an essentially random, vector to it could cause it to go outside the
> boundary. If a global minimum lies outside the given bounds then it can get
> brought into the population.
>
> Indeed this very simple example will show this:
>    myf=:*:
>    deoptim 'myf';_10 ,: _5
>
> I tried to look at some of the other code to see how it was handled. It
> looked like the C++ code did not check boundary conditions for the new
> candidates but the Matlab code clipped the new candidates to the bounds.
>
> Perhaps it is a matter of interpretation. Are the bounds a known region for
> which the minimum lies (hence values outside should have worse utility)  or
> part of the  definition of the feasible set of solutions?
>
>
>
> On Thu, Oct 10, 2013 at 4:53 PM, Ric Sherlock <[email protected]> wrote:
>
> > No I don't think so. My vague memory is that because the generation of
> new
> > solutions is essentially done by generating differences between existing
> > legal solutions, the phenomena you describe should be unlikely.
> > A workaround (that wouldn't involve modifying the addon) would be to
> build
> > bounds checking into your constraint function.
> >
> > Alternatively if you felt so inclined you could look at adding similar
> > bounds checking to the main DE loop as occurs in the initial population
> > generation. If the performance if fine then we could update the addon.
> >
> >
> >
> >
> > On Fri, Oct 11, 2013 at 7:37 AM, Thomas Costigliola <[email protected]
> > >wrote:
> >
> > > When using deoptim I am getting solutions outside of the bounds I am
> > > providing.
> > >
> > > From looking at the code it looks like new populations are generated
> > within
> > > the bounds but the evolution step doesn't ensure the boundary
> conditions.
> > > Is that the intended behavior?
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> > >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to