public inbox for gsl-discuss@sourceware.org
 help / color / mirror / Atom feed
* nmsimplex iteration.
@ 2008-03-17 13:47 picca
  2008-03-27 11:06 ` Brian Gough
  0 siblings, 1 reply; 4+ messages in thread
From: picca @ 2008-03-17 13:47 UTC (permalink / raw)
  To: gsl-discuss

Hello

I am using the simplex minimisation to solve a problem of
crystallography. The function to minimize is :
f = f(euler_x, euler_y, euler_z, a, b, c, alpha, beta, gamma);

in fact a, b, c, alpha, beta, gamma are the parameters of a triedra,
a, b, c, are the length of the sides and alpha, beta, gamma the angles
of the triedra.

for some combinations of alpha, beta, gamma , f(blabla...) = GSL_NAN.
So the simplex can not converge. If I return a really big number as it
was suggested in a previous thread of the mailing list, the simplex
must be contracted around the better corner. But it is not always
possible to obtain a valid contraction in one guess.

To be clear this simplex algorithm only work for a convex space. And
my problem is not convex.

Nevertheless if we are close enough of the solution, the problem
become locally convex.

To achieve this, we must contraction the simplex till it becomes valid.

Is it possible to tune the simplex algorithm to solve also those
locally convex problems.

Another problem is that the initial guest of the simplex is not always
possible. Can I create by myself the starting points of the simplex ?

 Frederic

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: nmsimplex iteration.
  2008-03-17 13:47 nmsimplex iteration picca
@ 2008-03-27 11:06 ` Brian Gough
  2008-03-27 12:36   ` picca
  0 siblings, 1 reply; 4+ messages in thread
From: Brian Gough @ 2008-03-27 11:06 UTC (permalink / raw)
  To: picca; +Cc: gsl-discuss

At Mon, 17 Mar 2008 14:46:41 +0100,
picca wrote:
> To achieve this, we must contraction the simplex till it becomes valid.
> Is it possible to tune the simplex algorithm to solve also those
> locally convex problems.

I don't know but if you find a way I can add a patch for it.

> Another problem is that the initial guest of the simplex is not always
> possible. Can I create by myself the starting points of the simplex ?

The starting points are xi = x0+step_i e_i so it should be possible to
set them all to known values using the step_size vector argument of
gsl_multimin_fsolver_set.

-- 
Brian Gough

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: nmsimplex iteration.
  2008-03-27 11:06 ` Brian Gough
@ 2008-03-27 12:36   ` picca
  2008-04-10 17:42     ` Brian Gough
  0 siblings, 1 reply; 4+ messages in thread
From: picca @ 2008-03-27 12:36 UTC (permalink / raw)
  To: Brian Gough; +Cc: gsl-discuss

Hello

> > To achieve this, we must contraction the simplex till it becomes
> > valid. Is it possible to tune the simplex algorithm to solve also
> > those locally convex problems.
> 
> I don't know but if you find a way I can add a patch for it.

I already wrote such an algorithm, but it was in my kitchen so not
ready for a gsl path. It is no more "simplex" but "modified simplex".

In fact my modification was to ensure the validity of the next f(xi) by
contracting closer to the best vertex in case of non finit value of
f(xi).

what do you think about this ?

> The starting points are xi = x0+step_i e_i so it should be possible to
> set them all to known values using the step_size vector argument of
> gsl_multimin_fsolver_set.

I got the idea.

Thanks.

Frederic

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: nmsimplex iteration.
  2008-03-27 12:36   ` picca
@ 2008-04-10 17:42     ` Brian Gough
  0 siblings, 0 replies; 4+ messages in thread
From: Brian Gough @ 2008-04-10 17:42 UTC (permalink / raw)
  To: picca; +Cc: gsl-discuss

At Thu, 27 Mar 2008 13:35:34 +0100,
picca wrote:
> I already wrote such an algorithm, but it was in my kitchen so not
> ready for a gsl path. It is no more "simplex" but "modified simplex".
> 
> In fact my modification was to ensure the validity of the next f(xi) by
> contracting closer to the best vertex in case of non finit value of
> f(xi).
> 
> what do you think about this ?

It sounds plausible, maybe there are some papers dealing with this.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-04-10 17:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-17 13:47 nmsimplex iteration picca
2008-03-27 11:06 ` Brian Gough
2008-03-27 12:36   ` picca
2008-04-10 17:42     ` Brian Gough

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).