bonjour je vous écrit parce que j'ai un souci de programmation sur le logiciel R. Je souhaite créer une fonction neldermead qui me permétré d'effectuer cet algorithme d'optimisation. Voici son principe:
x est une matrice représentant un simplexe, x(i) est le ième composant de x
on a une fonction ke l'on souhaite optimiser on calcule les f(x(i,)) et on les ordonne de sorte que f(x(1,))<f(x(2,))....
on calcule le centre de gravité des x(i) donc xmid=sum x(i)/p
on calcule le point de reflexion z1=xmid-(x(P+1,)-xmid)
si f(z1)<f(x(1)) on calcule z2 le point de reflection expansion:
z2= xmid- 2*(x(p+1,)-xmid)
si f(z2)<f(z1) on retourne z2 sinon on retourne z1
sinon
si f(z1)<f(x(p,)) on retourne z1
si f(z1)<f(x(p+1,)) on remplace x(p+1,)par z1
g juste un souci de programmer cet algorithme
merci pour votre aide
-----