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

Reply via email to