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