Programme d'évaluation du recuit simulé
bonjour,
je suis entrain de programmer problème d'optimisation de la maintenance préventive avec la technique du recuit simulé ,je veux parcourir cette matrice
Code:
1 2 3 4 5 6 7
| D=[555 1 20 7 10 10 5 5 5 5 3
555 10 20 5 10 10 10 5 5 zeros(1,2)
180 1 20 2 15 15 zeros(1,5)
.
.
.
21 ] |
je dois prendre une valeur aléatoire entre [1 20](colonne 2 et3) et ajouter le 7(colonne 4) à cette valeur ensuite soustraire 555 (colonne 1)de la somme totale de la première ligne(D1=sum(D(:,1))), ainsi de suite pour toute la matrice ,pour cela j'ai fait une boucle for pour la création d'une valeur aléatoire .
Code:
1 2 3 4 5
| for i=1:Nsol
for j=1:Nu;%Nu=21 et Nsol=1 nombre de solutions initiales pour recuit simulé
Sol(i,j)=randi([EDR(1,j) EDR(2,j)],1);
end
end |
et pour avoir la valeur souhaité j'ai fait
Code:
1 2
| idice=Sol(i,j):Sol(i,j)+D(:,4)-1
N(i,j)=N(i,j)-D(j,1); |
sachant que N(i,j) est une matrice ligne contient 20 colonnes N=D1*ones(1,20).
mais le programme ne marche pas
comment dois je introduire l'indice dans la valeur souhaitée ?
merci
:merci: