help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Optimisation based on index of data


From: Allen.Windhorn
Subject: RE: Optimisation based on index of data
Date: Wed, 20 Jan 2016 17:13:58 +0000

Ingo,

> On Wed, Jan 20, 2016 at 03:18:01AM -0800, inor0627 wrote:
> > Hello list,
> >
> > I have some 1D measuring data and try to find the subset with best
> > linearity. The following approach
> >
> > lin_error = @(start_idx) range( detrend(
> > data(round(start_idx):round(start_idx)+interesting_length) ) );
> > start_opt = round(fminsearch(lin_error,guess));
> >
> > works fine for some measurements, but in most cases fminsearch
> > violates the bounds of 'data' ('index out of bound') as the optimal
> > subset is near the end of 'data'.
> >
> > So there are 2 questions:
> > Is fminsearch the right choice for this integer-type optimisation? I
> > have a bad feeling due to the resulting discontinuities in 'lin_error'
> > when rounding 'start_idx'. A google search for 'octave integer
> optimization'
> > didn't answer this question to me.
> > If fminsearch is ok for this task, how can I handle the bounds of 'data'?
> 
> Hi Ingo,
> 
> AFAIK Octave has no function for integer optimization ...

Genetic algorithms are well suited to integer optimization.  The ga
toolbox available from Sourceforge may work -- I'm not familiar with
how it works.  There is also a genetic algorithm toolbox for Matlab by
University of Sheffield that may work in Octave -- it is GPL so should be
OK to use if it does.

You write your own fitness function so as to reject any individuals with
out-of-bounds values, or avoid creating them in the mutation function.

Regards,
Allen.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]