Remplissage d’une grille pseudo-aléatoire sous contraintes type sudoku

re, il y avait une faute dans les formules W7:Z7, il utilisait la ligne 20 "module école" au lieu de 19 "musique".

Je l'ai relancé et après 1,5 heures, j'ai 90 solutions, voir PJ colonnes Bk:BP et feuille solutions, cela est à peu prêt 88% des branches.

Bloc4 = 4 possibilités, 24 ????

8nonoparadox2-2.zip (969.27 Ko)

Bon encore un oubli (l'âge ?). Dernière tentative avec 4 solutions max. Je ne sais pas si ce sera suffisant.

11planning.xlsm (43.38 Ko)

#BsAlv

Ta démarche en force brute me semble la meilleure. Tu trouveras ci-joint un outil de vérification. En cliquant sur le bouton "Macro1" les conditions non respectées se mettront en rouge. A part la condition C17/C20 qui était optionnelle, seule la condition C2<>C6<>C10 pose problème. Tout le reste est bon, ce qui laisse tout de même 72 solutions.

6verif.xlsm (70.92 Ko)

re,

bien vu, faute dans les formules W16:Z16, un "=" au lieu de ";", négligence

faute : =(C2=C6)*(NB(C2=C6)=2)+(C2=C10)*(NB(C2;C10)=2)+(C6=C10)*(NB(C6;C10)=2)

correct =(C2=C6)*(NB(C2;C6)=2)+(C2=C10)*(NB(C2;C10)=2)+(C6=C10)*(NB(C6;C10)=2)

à midi, je relance la macro, parce que cela donnera d'autres résultats ...

Salut à tous les deux

les notif sont arrivées dans mes spams, super.... du coup je ne savais pas que vous aviez écrit, désolé donc pour mon délai de réponse.

Je regarde dans l'ordre...

@optimix : j'ai fait tourner le dernier fichier "planning". Ca semble effectivement donner 3 autres bonnes grilles à partir de celle déjà trouvée. (Celle dans l'onglet "planning" n'est pas correcte). Bravo à vous. Mais par contre, ça laisse l'égalité entre svt et musique (lignes 17 et 20) sur les deux premières périodes.

@BsAlv : je vais regarder vos différents fichiers et je vous dis ! Merci !!

@BsAlv : J'ai corrigé l'erreur que vous avez signalée dans votre post précédent. Est ce qu'à chaque fois que je fais ctrl+shift+N, les grilles de l'onglet solutions se renouvellent ?

En tout cas, les grilles m'ont l'air très bonnes, et ça semble effectivement donner plein de permutations possibles !! Bravo !

Par contre, comme pour le programme de Optimix, l'égalité entre les lignes 17 et 20 sur les deux premières colonnes reste là pour toutes les grilles solutions. Pourquoi n'y a-t-il pas de permutations qui n'ont pas cette égalité ? Elle n'a pourtant pas été écrite dans les contraintes...

Encore merci et bravo à tous les deux pour tout ce boulot !

Je crois que vous pouvez définitivement oublier ce 17-20, car s'il ne passe pas en force, il ne passera jamais. De plus, il était en option, ne l'oublions pas.

@optimix : oui, ce n'est pas une contrainte importante, en effet. Du coup on est bien d'accord que les 3 nouvelles grilles qu'on obtient par votre programme sont équivalentes de la mienne de départ, par rapport aux contraintes ?

Oui, ne tenez compte que des solutions P1 à P4.

re,

je n'ai pas suivi ces dernières conversations, ici, pendant la pause, la macro s'est exécuté, il y a 112 solutions, dont 32 parfait (avec ces conditions secondaires) dans la feuille "solutions" !

10nonoparadox3.xlsb (106.84 Ko)

Passage en force amélioré, bien joué. Je quitte.

@Optimix, avec votre macro, j'ai trouvé les dernières fautes dans mes formules qui servent à trouver ces solutions, donc vous avez votre rôle dans la solution.

Je quitte la fréquence parce que nonoparadox a maintenant tout ce qu'il faut pour automatiser le truc.

Content d'avoir fait ce bout de chemin avec vous deux.

Bonsoir,

grand merci à tous les deux.

@BsAlv : j'ai l'impression que le programme est parfait ! Je vais regarder ça en détail !

Par contre, pourquoi la grosse cellule jaune est à 0,2 ? Alors que j'ai l'impression que toutes les contraintes ont été respectées ?

Merci encore ...

EDIT : ah je pense avoir compris, c'est la grille qui est dans l'onglet Feuille 1 qui en effet a la contrainte optionnelle non respectée sur deux périodes, mais si j'ai bien compris les grilles affichées dans l'onglet solutions respectent toutes les contraintes, même les moins importantes ? Je ne pensais pas qu'il y en aurait autant !!

Et du coup, question importante : pour l'année prochaine il me suffit de modifier la grille dans l'onglet Feuille 1, et les contraintes, et je relance la macro ? Ou bien faudra-t-il que je touche à la macro ?

Re,

en effet les grilles sont super, elles respectent vraiment toutes les contraintes !! C'est top, j'ai l'embarras du choix, je peux me rajouter quelques critères "de luxe"

Par contre, désolé de vous embêter encore, mais lorsque j'exécute la macro moi-même (sur pc), j'ai une réponse : erreur d'exécution 9 - l'indice n'appartient pas à la sélection.

re,

10nonoparadox3.xlsb (115.37 Ko)

merci pour ces complèments.

Concernant l'erreur, pouvez-vous dire où (la ligne sera en jaune) vous avez eu cette problème ?

Pour l'année prochaine, vous pouvez ajouter/modifier/supprimer des conditions. Dans les colonnes V:Y, ce sont de formules en texte, pour votre visualisation, mais qui ne servent pas pour la macro, puis en colonnes AB:AE, vous aurez les mêmes formules mais plus élaborées, avec la condition que les 2 cellules ne sont pas vide. En colonne AF, pour distinguer les contraintes primaires et secondaires, on leur donne un "poids" de 1 ou de 0,1. Si vous regardez au cage AF8, c'est 1, faute, cela doit être 0,1, parce que ce n'est pas une contrainte importante !!! Et alors, le but est de combiner toutes les grilles et d'arriver à un score < 1 dans la cage AA1. Si cela est le cas, cette solution s'inscrit dans les colonnes AI:AO (le chiffre correspond avec la grille (ligne 6) de la feuille "blad2"). Sur mon ordinateur, cette macro prend environ 90 minutes (75 à 105 minutes) et on voit son progrès sur le statusbar.

Si vous voulez tester une solution, vous pouvez modifier ces cages jaunes en colonne G et lancer la macro "Manuel_Jaune" (si une cage est vide, la grille à gauche ne changera pas).

Concernant rajouter quelques critères "de luxe", c'est peut-être plus facile de donner des points aux solutions de la feuille "solutions". A partir de la ligne 31, vous pouvez ajouter des formules pour valoriser vos critères de luxe. Pour le moment vous avez 32 solutions parfaits, celle avec le max des points est gagnante.

Re,

Je viens d'essayer le dernier fichier que vous venez de joindre, mais le raccourci ctrl+shift+N ne fait plus rien ... ça ne réagit pas.

Auriez-vous la possibilité de remettre un bouton lié à la macro svp ? (c'était sur le mac que ça ne fonctionnait pas, mais sur le pc portable ça marchera sans doute)

Merci beaucoup !!

J'ai essayé la macro en la lançant directement par le menu Afficher les macros, puis "exécuter" sur la macro "complet". Je voudrais voir ce que ça donne si je change par exemple les numéros des cases fixées, ou si je change des contraintes...

Au fait, est-ce que ce qu'il y a dans l'onglet solutions est écrasé pour laisser place aux nouvelles grilles, ou je dois l'effacer à la main ?

Par contre, "Manuel_Jaune" ne semble rien faire...

bonjour,

les raccourcis expliqués en A31:A34

Si vous changez les contenus des cellules jaunes par un chiffre entre 0-575 (ou vide) et vous faites le raccouric CTRL+SHIFT+J, le contenu des grilles à gauche sera échangé par une grille de la feuille "Blad2" (qu j'ai caché pour sécurité maintenant). Si vous remplacer ces 5 cellules par le contenu d'une ligne des colonnes AI:AM et vous faites ce raccourci, le résultat en AA1 sera <1 et 0 pour les lignes vertes. Les cages oranges des colonnes AB:AE vous montrent les contraintes violées.

Si vous faites le raccourci CTRL+SHIFT+N, pour des nouvelles solutions, la macro supprime les anciennes valeurs dans les colonnes AI:AO. A midi, j'ai relancé cette macro et après 65 minutes me donnait les mêmes 32 solutions parfaites et 384 solutions en total.

Avec le raccourci CTRL+SHIFT+S, ces 32 solutions sont copiées et collées dans la feuille "Solutions". En lignes 31:35, on voit l'index de la grille4x4 de la feuille "Blad2" (cachée). Peut-être ces chiffres vous aideront pour donner des points aux solutions.

La macro (actuelle) ne touche jamais aux cellules des blocs 6&7 !!!!

Si vous ajoutez des contraintes, vérifiez que la cellule AA1 fait la somme des toutes les lignes (maintenant c'est jusqu'à la ligne 29)

4nonoparadox3.xlsb (129.96 Ko)

re,

fonction ajoutée, si vous clicquez avec le souris droite sur une formule des colonnes AB:AE, excel montre des fleches vers les cellules "précédentes". Si vous clicquez sur une autre cellule de ces colonnes sans formule, ces flèches disparaissent.

7nonoparadox3.xlsb (124.21 Ko)
Rechercher des sujets similaires à "remplissage grille pseudo aleatoire contraintes type sudoku"