<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
Hi, <br>
<br>
Here are some explainations about simplex algorithm.<br>
<br>
At each iteration, the simplex algorithm evaluates the cost function at
every vertex of a simplex. A simplex is the smallest convex set created
with <br>
n + 1 points in a space of dimension n. At each iteration of the
algorithm, a new simplex is created with the obtained simplex at the
previous iteration.<br>
<br>
So, if you funcion is defined in a n-dimensional space, the algorithm
needs at each iteration n + 1 points, which are the vertices given by
the previous iteration. In your exemple, the cost function has 2 real
variables, then the algorithm need at every iteration 3 points.<br>
<br>
<br>
Your second question is how the new simplex is calcutated?<br>
<br>
At every iteration, the cost function is calculated at every vertex of
the simplex. Let's imagine we want to minimize the cost funtion. At
every iteration, the algorithm eliminates the worst value of the cost
function, i.e. in this case the greatest value of the n + 1 values
calculated at every vertex. This eliminated point is now to replace
with an other. The simplext way to create a new point is to take the
simmetric point of the eliminated point by the affine space generated
with the n other points.<br>
<br>
Therefore, the simplex algorithm is a quite simple algorithm, so it is
a robust algorithm. We just have to compare n + 1 values at each
iteration. Any derivative of the cost function (like for example in
fmincon) need to be calculated. The simplex algorithm will just explore
the definition space of the cost function  with simplexes.<br>
<br>
<br>
Best regards<br>
<br>
Jérôme<br>
<br>
<br>
Sébastien Bihorel wrote:
<blockquote
 cite="mid:ecd262690910131940g73ef6f06q7b9d81daf827bb04@mail.gmail.com"
 type="cite">Hi Yann,<br>
  <br>
The installation worked just fine. I thank you again for your
explanations.<br>
  <br>
Now, I would like to ask you a couple of more theoretical questions on
the algorithm implemented in the nm_init, step_nelder_mead or
optim_nelder_mead. I am not a mathematician and don't know much about
the theories, and the nuts and bolts of the Nelder-Mead algorithm (this
is probably a mistake!). My only concern, until recently, was only to
know how to use it in Matlab using the fminsearch function... This
function is nice for lay users because one doesn't have to care about
dealing with simplex objects.<br>
The simplex toolbox seem to require such objects to be created and
passed from one iteration to the other. From your documentation and
examples, it is my understanding that the simplex contain realizations
of the objective function at different places of the search space. Am I
correct here?<br>
  <br>
Another thing I am not clear about is whether or not the dimensions of
the simplex should be adapted to a specific problem. In the examples
you provide, the simplex f_init and f_current have a 3x1 dimension for
optimizing 2 parameters. Is that 3x1 dimension independent of the
number of parameters to optimize? Let's say my objective function is a
'maximum likelihood function' of observations (n states observed at t
times) given a model dependent on m parameters and a residual
variability dependent on v parameters, what should be the size of the
simplex and how should it be calculated?<br>
  <br>
Thanks in advance for your time and help.<br>
  <br>
Sebastien<br>
  <br>
  <br>
  <br>
  <div class="gmail_quote">On Tue, Oct 13, 2009 at 10:11 AM, Yann
Collette <span dir="ltr"><<a moz-do-not-send="true"
 href="mailto:yann.collette@scilab.org">yann.collette@scilab.org</a>></span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I
will try to update the licence of simplex. I forgot to fill this one.
The licence will be GPL.
    <div class="im"><br>
    <br>
YC<br>
    <br>
Sébastien Bihorel a écrit :<br>
    </div>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Thank
a lot for all this info... I will try that tonight when I go back home.
      <div class="im"><br>
      <br>
One last question though about re-distribution of simplex-2.0. I had
look at the license.txt file but it did not seem to contain any
licensing terms related to simplex-2.0. In case I would like to include
this toolbox in the distribution of one of my code/application, what
would be the requirements in terms of licensing? I intend to distribute
my piece of software under a GPL license... would this be compatible
with your license terms?<br>
      <br>
Sebastien<br>
      <br>
      <br>
      </div>
    </blockquote>
    <br>
    <div>
    <div class="h5"><br>
-- <br>
-----------------------------<br>
Yann COLLETTE<br>
Software Development Engineer<br>
-----------------------------<br>
The Scilab Consortium<br>
Digiteo Foundation<br>
Domaine de Voluceau<br>
Rocquencourt - B.P. 105<br>
78153 Le Chesnay France<br>
Phone: +33.1.39.63.57.82<br>
    <br>
    </div>
    </div>
  </blockquote>
  </div>
  <br>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
Jérôme Picard
Ingénieur de développement
-------------------------
Consortium Scilab
Digiteo
Domaine de Voluceau
Rocquencourt - B.P. 105 
78153 Le Chesnay Cedex
Tél. : 01.39.63.55.91
</pre>
</body>
</html>