Bonjour
SVP, je veux savoir comment écrire l'algorithmique d'une opération et j'ai besoin de votre aide.

On a un tableau exemple: 3 4 1 2 . On dit que 3 est dans la première position dans la séquence, 4 dans la 2 ème, etc

Pour chaque élément dans cette séquence, je dois déterminer une valeur noté det(i)=|C(i)-d(i)| avec C(i) une variable a déterminer et d(i) une donnée. J'ai pu calculer pour chaque élément de séquence sa valeur det(i) puis la somme de det(i) qui est mon objectif à minimiser. En fait si je change la position de l'élément 3 exemple vers la position 2 sa veleur det(i) peut etre modifié car la variable C(i) est déjà modifié. Maintenant, l'opération que je voudrai l'ajouter dans le souci de minimiser la somme de det(i) est de faire à chaque itération une permutation entre chaque deux adjacents éléments et puis on calcule les nouvelles valeurs de det(i) et det(i+1), si la somme des deux est minimisé par rapport aux anciennes valeurs alors on modifie les positions et sinon on garde les positions précédentes. Voila le code que j'ai proposé pour l'opération de permutation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
for i=1:n
for s=1:n
temp <- s
s <- s+1
s+1 <- temp
if |C(s)-d(s)|+|C(s+1)-d(s+1)|< |C(i)-d(i)|+|C(i+1)-d(i+1)|
temp <- i
i <- i+1
i+1 <- temp
Ici l'indice (i) est utilisé pour les valeurs intiales.
SVP, je veux que vous vérifiez ce code.

Merci beaucoup d'avance