génération des permutations seulement qui respectent des contraintes entre tout couple d'éléments des lignes
Bonjour, SVP j'ai un petit problème et j'ai besoin de votre aide.
en faite je veux générer des lignes qui sont des permutations différentes de 1 à n dont il ya trois contraintes à respecter qui doivent existent entre tout couple d'éléments de chaque ligne.
alors j'ai fait le code suivant:
Code:
1 2 3 4 5 6 7 8 9
| n=5;
b=perms(1:n);
for i=size(b,1):-1:1
for j=size(n-1,1):-1:1
if (E(b(i,j))>=a(b(i,j+1))|(d(b(i,j)>=d(b(i,j+1))))|(B(b(i,j))>=B(b(i,j+1))))
b(i,:)=[];
end
end
end |
avec E, a, d, et B sont des matrices déjà connu d'avance.
j'ai crée toutes les permutations possibles de 1 à n, puis on a supprimé les lignes qui ne respectent pas les trois contraintes.
il est connu que la fonction "perms" est couteuse en temps de calcul surtout avec n grande.
SVP ya t-il une autre méthode où on peut générer directement et seulement les lignes qui respectent les contraintes