Bonjour
j'ai un algorithme d'optimisation qui explore l'espace de recherche en 2 phase (deux boucle While);
dans la 2eme phase je veux changer la fonction rand ( random générateur de nombre pseudo aléa ) par une fonction ou par un autre générateur
par exemple ci vous pouvez la fonction u_{n+1}= 3. u_n(1-u_n)
je reste a votre dispo pour autre info
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 while k<(m1) 1ere phase end while k<(m1+m2) if rand<.5 x1=xbest+landa*z(1,1)*abs(high(1,1)-xbest); else x1=xbest-landa*z(1,1)*abs(xbest-low(1,1)); end if rand<.5 x2=ybest+landa*z(1,2)*abs(high(1,2)-ybest); else x2=ybest-landa*z(1,2)*abs(ybest-low(1,2)); end fit=-exp(-0.4*(sqrt(x1^2+x2^2))+3*(cos(2*x1)+sin(2*x2))); if fit<best_fit xbest=x1;ybest=x2; best_fit=fit; end k=k+1; plot(k,best_fit); end
Partager