IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithme pour établir un ordre de passage


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 14
    Points : 2
    Points
    2
    Par défaut Algorithme pour établir un ordre de passage
    Bonjour,

    Je cherche à développer sous excel un algorithme me permettant d'établir l'ordre de passage d'un concours d'équitation.
    Je souhaiterai premièrement avoir un algorithme en "français".

    J'ai essayé personnellement de le créer mais cependant je n'y parviens pas. En effet, les conditions pour créer cet ordre de passage sont assez complexes :
    -Un cavalier peut faire jusqu'à 3 passages avec des chevaux différents ; il ne peut donc pas passer 3 fois d'affilé (sauf si il est tout seul....), puisque celui ci doit s'échauffer avec son cheval à chaque fois.
    -Un cheval peut avoir jusqu'à trois cavaliers mais ne peut pas passer deux fois d'affilé (sauf si même cheval pour tous les cavaliers...), puisque celui-ci doit également pouvoir souffler entre deux cavaliers....

    Le nombre de participants et chevaux par épreuve peut être assez conséquent. De ce fait, j'aimerai automatisé ce casse tête dont j'ai à faire à chaque concours...

    Je vous remercie par avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 114
    Points : 9 519
    Points
    9 519
    Par défaut
    J'essaie d'évaluer la complexité.

    Imaginons 20 cavaliers, et 3 passages par cavalier.
    A priori, on a au moins 20 chevaux, parce que chaque cheval doit être monté par 3 cavaliers maximum.
    Donc les contraintes ne semblent pas trop pesantes.
    Et la difficulté, c'est plus de choisir une solution parmi toutes les solutions disponibles, et non pas trouver une disposition magique qui fonctionne.

    Et du coup, comme il y a plein de solutions, il faut aussi faire en sorte que la solution retenue soit 'équilibrée'. Le problème n'est pas qu'il y a trop de contraintes, mais qu'il n'y a pas assez de contraintes.

    Si on a 20 cavaliers et 20 chevaux, qui décide les 3 chevaux associés à chaque cavalier ? C'est déjà imposé avant de commencer notre travail de 'planification', ou c'est libre ?

  3. #3
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 435
    Points : 5 848
    Points
    5 848
    Par défaut
    salut

    une solution simple
    tu fait un tableau

    Nb max Cavalier =Max(A2:A255)
    1 2 3
    1 =($A3+B$2)-(QUOTIENT(($A3+B$2);$B$1+1)*$B$1) =($A3+C$2)-(QUOTIENT(($A3+C$2);$B$1+1)*$B$1) =($A3+D$2)-(QUOTIENT(($A3+D$2);$B$1+1)*$B$1)
    2 =($A4+B$2)-(QUOTIENT(($A4+B$2);$B$1+1)*$B$1) =($A4+C$2)-(QUOTIENT(($A4+C$2);$B$1+1)*$B$1) =($A4+D$2)-(QUOTIENT(($A4+D$2);$B$1+1)*$B$1)
    ...
    50 =($A52+B$2)-(QUOTIENT(($A52+B$2);$B$1+1)*$B$1) =($A52+C$2)-(QUOTIENT(($A52+C$2);$B$1+1)*$B$1) =($A52+D$2)-(QUOTIENT(($A52+D$2);$B$1+1)*$B$1)

    j'ai pris un exemple avec cinquante cavalier mais comme tu peut le constater la formule ne change pas beaucoup
    en fait il suffit de la recopier de cellule en cellule
    dans mon exemple le max est le nombre de cavalier j'ai supposé que le nombre de cavalier correspondait au nombre de cheval

  4. #4
    Membre éclairé
    Avatar de APL-AML
    Homme Profil pro
    Développeur Gestion (Retraité)
    Inscrit en
    Juin 2020
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur Gestion (Retraité)
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2020
    Messages : 50
    Points : 878
    Points
    878
    Billets dans le blog
    85
    Par défaut Précisions
    Citation Envoyé par maxime_nrgt Voir le message
    Un cavalier peut faire jusqu'à 3 passages avec des chevaux différents.
    Est-ce autant d’inscriptions ?
    Une inscription, c'est un cavalier et un cheval ?
    C'est quoi un passage ?

    Citation Envoyé par maxime_nrgt Voir le message
    Le nombre de participants et chevaux par épreuve peut être assez conséquent.
    L’ordre de passage doit être le même pour chaque épreuve, non ?

  5. #5
    Membre expérimenté
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Points : 1 380
    Points
    1 380
    Par défaut
    bonjour,
    un algo c'est bien ; ça permet de manipuler des données pour avoir un résultat …
    Mais ce qui est encore plus important est de bien définir les données que l'on va être amené à manipuler.
    Pour déterminer quelles données nous allons manipuler il faut être un peu plus précis sur ce que tu manipules (apparemment des chevaux, des jockeys, des passages, des créneaux horaires ?, …). Une fois que tout ça aura été dégagé on pourra passer aux algos.

    Par exemple, je suppose que tu as plusieurs créneaux qui vont te permettre de faire des passages (=jockey+cheval). Il y aura des contraintes à respecter, des associations à gérer (qui choisit le cheval lors d'un passage ? le jockey ? quelqu'un d'autre ?)



    Bref, il faut décrire plus précisément le déroulement d'un concours.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par anapurna Voir le message
    salut

    une solution simple
    tu fait un tableau

    Nb max Cavalier =Max(A2:A255)
    1 2 3
    1 =($A3+B$2)-(QUOTIENT(($A3+B$2);$B$1+1)*$B$1) =($A3+C$2)-(QUOTIENT(($A3+C$2);$B$1+1)*$B$1) =($A3+D$2)-(QUOTIENT(($A3+D$2);$B$1+1)*$B$1)
    2 =($A4+B$2)-(QUOTIENT(($A4+B$2);$B$1+1)*$B$1) =($A4+C$2)-(QUOTIENT(($A4+C$2);$B$1+1)*$B$1) =($A4+D$2)-(QUOTIENT(($A4+D$2);$B$1+1)*$B$1)
    ...
    50 =($A52+B$2)-(QUOTIENT(($A52+B$2);$B$1+1)*$B$1) =($A52+C$2)-(QUOTIENT(($A52+C$2);$B$1+1)*$B$1) =($A52+D$2)-(QUOTIENT(($A52+D$2);$B$1+1)*$B$1)

    j'ai pris un exemple avec cinquante cavalier mais comme tu peut le constater la formule ne change pas beaucoup
    en fait il suffit de la recopier de cellule en cellule
    dans mon exemple le max est le nombre de cavalier j'ai supposé que le nombre de cavalier correspondait au nombre de cheval
    Merci pour votre contribution, cependant un cavalier ne monte pas forcément 3 chevaux et il peut y avoir autant de chevaux que de cavaliers :/

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par WhiteCrow Voir le message
    bonjour,
    un algo c'est bien ; ça permet de manipuler des données pour avoir un résultat …
    Mais ce qui est encore plus important est de bien définir les données que l'on va être amené à manipuler.
    Pour déterminer quelles données nous allons manipuler il faut être un peu plus précis sur ce que tu manipules (apparemment des chevaux, des jockeys, des passages, des créneaux horaires ?, …). Une fois que tout ça aura été dégagé on pourra passer aux algos.

    Par exemple, je suppose que tu as plusieurs créneaux qui vont te permettre de faire des passages (=jockey+cheval). Il y aura des contraintes à respecter, des associations à gérer (qui choisit le cheval lors d'un passage ? le jockey ? quelqu'un d'autre ?)



    Bref, il faut décrire plus précisément le déroulement d'un concours.
    Il semblerait donc que je n'ai pas été assez précis dans mes explications. Pourtant, je le pensais !
    Je vais donc vous ré-expliquer les "règles de déroulement".

    Lors de concours équestres, il y'a plusieurs épreuves (telles qu'elles soient : des courses, des parcours de saut d'obstacles à différentes hauteurs.... etc)
    Les coachs engagent leurs cavaliers dans les différentes épreuves.

    Ainsi, il peut y avoir 1, 2, 50, 80, 100 inscriptions par épreuves. En sachant que : un cheval ne pourra faire que 3 tours maximum lors du concours et un cavalier 5 tours au maximum sur l'ensemble du concours. De plus, un même couple (cheval/cavalier) ne peut participer qu'une seule fois dans une épreuve. Par contre un cavalier peut concourir plusieurs fois dans une épreuves, et un cheval peut être monté par différents cavaliers dans une même épreuve.

    Je recherche donc un algorithme me permettant de "créer" l'ordre de passage d'une des ces épreuves en fonction des contraintes suivantes lorsque cela est possible :
    -On évite de faire passer un cavalier 2 fois d'affilé : celui-ci doit pouvoir s'échauffer avec des chevaux différents.
    -Idem pour le cheval; celui-ci devant pouvoir "souffler" entre deux épreuves

    Mais ces conditions ne peuvent s'appliquer que lorsqu'il y'a un nombre de participants assez conséquent.

    Il se peut que un même cavalier avec 2 chevaux différents participent à une épreuve. Dans ce cas, il sera numéro 1 avec un des chevaux et numéro 2 avec l'autre.... Mais dans le cas où un autre cavalier serait inscrit avec un cheval encore différents aux deux autres, alors celui-ci prendrait le numéro 2 et le premier cavalier aurait le numéro 1 & 3.

    J'ajoute que je ne recherche pas à faire un ordre sur l'ensemble du concours, mais bien sur une de ces épreuves du concours. La question du temps n'est pas concernée ici.

    J'espère avoir pu vous apporter quelques précisions pour m'aider...

    Je vous remercie pour votre aide et le temps que vous m'accordez!

  8. #8
    Membre expérimenté
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Points : 1 380
    Points
    1 380
    Par défaut
    de but en blanc :
    n'as-tu pas besoin de savoir si un cheval n'a pas participé à une autre épreuve avant de le faire concourir dans ton épreuve «pour qu'il puisse souffler» ? idem pour un cavalier ?

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par WhiteCrow Voir le message
    de but en blanc :
    n'as-tu pas besoin de savoir si un cheval n'a pas participé à une autre épreuve avant de le faire concourir dans ton épreuve «pour qu'il puisse souffler» ? idem pour un cavalier ?
    Je n'avais pas pris en compte ce détail en restant très focus sur une seule épreuve..... Logiquement si, du coup

  10. #10
    Membre expérimenté
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Points : 1 380
    Points
    1 380
    Par défaut
    Je ne suis pas un pro d'excel, mais à ce niveau ça mérite quelque chose de plus «complet» qu'une feuille de calcul je pense. Un petit développement pourra sans doute couvrir une majorité des besoins (s'ils sont clairement exprimés).

    Tu peux demander à un ami dèv ou sur un site de petits dèv ; ça ne devrait pas revenir trop cher je pense (enfin tout dépend de ce que tu veux ou si ton organisation veut quelque chose).

  11. #11
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 114
    Points : 9 519
    Points
    9 519
    Par défaut
    Il se peut que un même cavalier avec 2 chevaux différents participent à une épreuve. Dans ce cas, il sera numéro 1 avec un des chevaux et numéro 2 avec l'autre.... Mais dans le cas où un autre cavalier serait inscrit avec un cheval encore différents aux deux autres, alors celui-ci prendrait le numéro 2 et le premier cavalier aurait le numéro 1 & 3.
    Ca, c'est une phrase intéressante. Pourquoi nous dis-tu ça ?
    Pour tromper le lecteur ?
    Pour nous dire ...attention, je vous ai raconté n'importe quoi dans le reste du message... voici un indice pour trouver ?

    Un problème bien formulé est un problème à moitié résolu.
    Pour l'instant, on a des bribes d'information très mal organisées.

    Peut-être que c'est une énigme que tu nous poses, et dans ce cas, c'est normal que tu brouilles les pistes, c'est volontaire.
    Ou bien, tu essaies d'expliquer, et tu as des grosses difficultés.

    Je ne sais pas.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Points : 1 380
    Points
    1 380
    Par défaut
    Bah, accompagner un client dans l'expression de ses besoins ne réside pas tant à obtenir une description que de poser les bonnes questions …

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par WhiteCrow Voir le message
    Je ne suis pas un pro d'excel, mais à ce niveau ça mérite quelque chose de plus «complet» qu'une feuille de calcul je pense. Un petit développement pourra sans doute couvrir une majorité des besoins (s'ils sont clairement exprimés).

    Tu peux demander à un ami dèv ou sur un site de petits dèv ; ça ne devrait pas revenir trop cher je pense (enfin tout dépend de ce que tu veux ou si ton organisation veut quelque chose).
    En fait, je ne cherchais pas forcément à avoir le code "excel" prêt en main mais juste trouver un algorithme en bon langage français pour établir cet ordre. Merci pour tes conseils! je vais continuer mes recherches de mon côté, ce "projet" étant personnel, j'ai tout le temps que je veux

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Ca, c'est une phrase intéressante. Pourquoi nous dis-tu ça ?
    Pour tromper le lecteur ?
    Pour nous dire ...attention, je vous ai raconté n'importe quoi dans le reste du message... voici un indice pour trouver ?

    Un problème bien formulé est un problème à moitié résolu.
    Pour l'instant, on a des bribes d'information très mal organisées.

    Peut-être que c'est une énigme que tu nous poses, et dans ce cas, c'est normal que tu brouilles les pistes, c'est volontaire.
    Ou bien, tu essaies d'expliquer, et tu as des grosses difficultés.

    Je ne sais pas.
    Je ne comprends vraiment pas votre réponse. Je cherche tout simplement à vous répondre, en vous expliquant les "règles" d'un milieu bien particulier. Soyez donc plus clairs dans les informations que vous me demandez... ou plus précis peut-être. Il y'a peut être en effet des points qui vous paraissent flous, alors que pour ma part me semblent très clairs...
    Pour être honnête, je me sens "débile" à votre regard et je préférerais avoir aucune réponse plutôt que ce genre de messages...

    En tout cas, merci pour l’intérêt que vous portez à ma demande.

  15. #15
    Membre éclairé
    Avatar de APL-AML
    Homme Profil pro
    Développeur Gestion (Retraité)
    Inscrit en
    Juin 2020
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur Gestion (Retraité)
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2020
    Messages : 50
    Points : 878
    Points
    878
    Billets dans le blog
    85
    Par défaut Pas d'algorithme, juste 3 colonnes et 2 tris
    Citation Envoyé par maxime_nrgt Voir le message
    Un même couple (cheval/cavalier) ne peut participer qu'une seule fois dans une épreuve. Par contre un cavalier peut concourir plusieurs fois dans une épreuve, et un cheval peut être monté par différents cavaliers dans une même épreuve.

    J'ajoute que je ne recherche pas à faire un ordre sur l'ensemble du concours, mais bien sur une des épreuves du concours. La question du temps n'est pas concernée ici.
    C'est bien ce que j'avais compris. En fait, une épreuve est un concours avec classement dans le concours (terme générique dans le milieu équestre pour nommer l’évènement). Ce qui est jugé dans une épreuve, c’est la prestation du couple cavalier-cheval.

    Pour mes concours administratifs, j'avais été confronté à ce genre de situation. Je devais affecter un N° de place à tous les candidats en tenant compte des lieux d'examens et de leurs lieux d'habitation. J'avais un candidat qui habitait en face de l'un des lieux d'examen. Un ordre alphabétique l'aurait convoqué loin de chez lui, dans un département différent du sien.

    Ma démarche pour résoudre cette problématique m'a inspiré cette solution :

    1ère étape :

    • Affecter un numéro unique à chaque cavalier et à chaque cheval et le même N° ORDRE "1" à toutes les inscriptions.
    • trier le tableau sur CHEVAL, CAVALIER


    PASSAGE
    INSCRIPTION
    CAVALIER
    CHEVAL
    N° ORDRE
    AAAA
    1
    1
    1
    AAAA
    1
    2
    1
    AAAA
    1
    3
    1
    BBBB
    2
    4
    1
    CCCC
    3
    4
    1
    DDDD
    4
    4
    1
    EEEE
    5
    5
    1
    EEEE
    5
    6
    1
    FFFF
    6
    7
    1

    2ème étape :

    • Affecter un N° ORDRE croissant à chaque cavalier montant plusieurs chevaux différents.
    • Affecter un N° ORDRE croissant à chaque cheval monté par plusieurs cavaliers différents.


    PASSAGE
    INSCRIPTION
    CAVALIER
    CHEVAL
    N° ORDRE
    AAAA
    1
    1
    1
    AAAA
    1
    2
    2
    AAAA
    1
    3
    3
    BBBB
    2
    4
    1
    CCCC
    3
    4
    2
    DDDD
    4
    4
    3
    EEEE
    5
    5
    1
    EEEE
    5
    6
    2
    FFFF
    6
    7
    1

    3ème étape :

    • Trier sur N° ORDRE, CAVALIER


    PASSAGE
    INSCRIPTION
    CAVALIER
    CHEVAL
    N° ORDRE
    AAAA
    1
    1
    1
    BBBB
    2
    4
    1
    EEEE
    5
    5
    1
    FFFF
    6
    7
    1
    AAAA
    1
    2
    2
    CCCC
    3
    4
    2
    EEEE
    5
    6
    2
    AAAA
    1
    3
    3
    DDDD
    4
    4
    3

    4ème étape :

    • Numéroter les PASSAGES en ordre croissant de 1 à n.


    PASSAGE
    INSCRIPTION
    CAVALIER
    CHEVAL
    N° ORDRE
    1
    AAAA
    1
    1
    1
    2
    BBBB
    2
    4
    1
    3
    EEEE
    5
    5
    1
    4
    FFFF
    6
    7
    1
    5
    AAAA
    1
    2
    2
    6
    CCCC
    3
    4
    2
    7
    EEEE
    5
    6
    2
    8
    AAAA
    1
    3
    3
    9
    DDDD
    4
    4
    3

    Citation Envoyé par maxime_nrgt Voir le message
    Un cheval ne pourra faire que 3 tours maximum lors du concours et un cavalier 5 tours au maximum sur l'ensemble du concours.
    C’est un autre problème qui peut se résoudre au moment des inscriptions avec une feuille Excel spécifique au concours.

  16. #16
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 435
    Points : 5 848
    Points
    5 848
    Par défaut
    salut

    résumons

    dans un concourt :
    Tu as 1 a n épreuves
    Tu as 1 a n cavalier par épreuve
    1 cavalier monte 1 a n chevaux (les siens ?)
    1 couple cavalier-cheval participe a 1 et 1 seul épreuve
    1 épreuve peut être effectué de 1 a n fois par 1 cavalier
    1 cheval ne peut participer à 2 épreuves successives sans temps de repos
    1 cavalier ne peut participer a 2 épreuves successives sans temps d'échauffement
    1 cheval ne peut être monté que 3 fois maximum par concours
    1 cavalier ne peut monter que 5 fois par concours

    trouver l'ordre des cavaliers

    donc la première étapes est de créer les couples Cavalier-cheval-Num. occurrence Cavalier
    ensuite Trie par Num. occurrence Cavalier-Cavalier

    exemple
    CAV1-CH1-1
    CAV1-CH2-2
    CAV2-CH3-1
    le trie donneras
    1 CAV1-CH1-1
    2 CAV2-CH3-1
    3 CAV1-CH2-2

    ... il reste beaucoup de chose a voir mais c'est toi qui peut nous orienter sur le choix finale

  17. #17
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 114
    Points : 9 519
    Points
    9 519
    Par défaut
    Dans le premier message, tu disais :
    - Un cavalier s'inscrit à l'épreuve ... et on a par exemple 20 cavaliers inscrits.
    - On a une vingtaine de chevaux.
    - Il y a un parcours, disons un parcours d'obstacle.
    - Chaque cavalier devra faire le parcours 3 fois , avec 3 chevaux différents.
    En fait, si je me souviens bien de ce que j'avais compris quand j'avais assisté à des épreuves de ce type, chaque cavalier vient. Pour qu'il y ait suffisamment de chevaux, on demande aux participants d'amener un ou 2 chevaux, mais par souci de justice, chaque cavalier ne montera jamais son propre cheval, il montera forcément des chevaux qu'il n'a pas l'habitude de monter.

    Par esprit d'équité, on fait en sorte que les chevaux se reposent entre 2 parcours, et également les cavaliers.

    Il y a une question à laquelle tu n'as pas répondu : qui décide de la liste des 3 chevaux qui seront affectés à chaque cavalier. Est-ce que c'est un tirage au sort préalable, ou bien c'est à ton algorithme de le faire comme bon lui semble.

    Autrement dit, au moment où l'algorithme commence, on te donne quoi : Une liste avec 60 lignes (20 cavaliers, 3 lignes par cavalier , puisque un tirage au sort préalable a déjà affecté les chevaux à chaque cavalier)
    Ou bien on te dit simplement qu'il y a 20 cavaliers et qu'il y a 25 chevaux, et tu dois juste faire au mieux avec ça.

    Ca , c'était la question que je te posais après ton 1er message.
    Tu n'as pas répondu.

    Et dans le 2ème message, tu dis :
    Un cavalier peut s'inscrire 2 fois avec 2 chevaux différents.

    Et là, je ne comprends plus rien.
    S'il s'inscrit 2 fois, il fera 6 parcours ?

  18. #18
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par APL-AML Voir le message
    C'est bien ce que j'avais compris. En fait, une épreuve est un concours avec classement dans le concours (terme générique dans le milieu équestre pour nommer l’évènement). Ce qui est jugé dans une épreuve, c’est la prestation du couple cavalier-cheval.

    Pour mes concours administratifs, j'avais été confronté à ce genre de situation. Je devais affecter un N° de place à tous les candidats en tenant compte des lieux d'examens et de leurs lieux d'habitation. J'avais un candidat qui habitait en face de l'un des lieux d'examen. Un ordre alphabétique l'aurait convoqué loin de chez lui, dans un département différent du sien.

    Ma démarche pour résoudre cette problématique m'a inspiré cette solution :

    1ère étape :

    • Affecter un numéro unique à chaque cavalier et à chaque cheval et le même N° ORDRE "1" à toutes les inscriptions.
    • trier le tableau sur CHEVAL, CAVALIER


    PASSAGE
    INSCRIPTION
    CAVALIER
    CHEVAL
    N° ORDRE
    AAAA
    1
    1
    1
    AAAA
    1
    2
    1
    AAAA
    1
    3
    1
    BBBB
    2
    4
    1
    CCCC
    3
    4
    1
    DDDD
    4
    4
    1
    EEEE
    5
    5
    1
    EEEE
    5
    6
    1
    FFFF
    6
    7
    1

    2ème étape :

    • Affecter un N° ORDRE croissant à chaque cavalier montant plusieurs chevaux différents.
    • Affecter un N° ORDRE croissant à chaque cheval monté par plusieurs cavaliers différents.


    PASSAGE
    INSCRIPTION
    CAVALIER
    CHEVAL
    N° ORDRE
    AAAA
    1
    1
    1
    AAAA
    1
    2
    2
    AAAA
    1
    3
    3
    BBBB
    2
    4
    1
    CCCC
    3
    4
    2
    DDDD
    4
    4
    3
    EEEE
    5
    5
    1
    EEEE
    5
    6
    2
    FFFF
    6
    7
    1

    3ème étape :

    • Trier sur N° ORDRE, CAVALIER


    PASSAGE
    INSCRIPTION
    CAVALIER
    CHEVAL
    N° ORDRE
    AAAA
    1
    1
    1
    BBBB
    2
    4
    1
    EEEE
    5
    5
    1
    FFFF
    6
    7
    1
    AAAA
    1
    2
    2
    CCCC
    3
    4
    2
    EEEE
    5
    6
    2
    AAAA
    1
    3
    3
    DDDD
    4
    4
    3

    4ème étape :

    • Numéroter les PASSAGES en ordre croissant de 1 à n.


    PASSAGE
    INSCRIPTION
    CAVALIER
    CHEVAL
    N° ORDRE
    1
    AAAA
    1
    1
    1
    2
    BBBB
    2
    4
    1
    3
    EEEE
    5
    5
    1
    4
    FFFF
    6
    7
    1
    5
    AAAA
    1
    2
    2
    6
    CCCC
    3
    4
    2
    7
    EEEE
    5
    6
    2
    8
    AAAA
    1
    3
    3
    9
    DDDD
    4
    4
    3



    C’est un autre problème qui peut se résoudre au moment des inscriptions avec une feuille Excel spécifique au concours.
    Tu as résolu mon problème ! Merci ! J'avais également commencé une démarche avec des numéros, mais qui n'était pas vraiment au point... A moi de jouer avec excel...!

  19. #19
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par anapurna Voir le message
    salut

    résumons

    dans un concourt :
    Tu as 1 a n épreuves
    Tu as 1 a n cavalier par épreuve
    1 cavalier monte 1 a n chevaux (les siens ?)
    1 couple cavalier-cheval participe a 1 et 1 seul épreuve
    1 épreuve peut être effectué de 1 a n fois par 1 cavalier
    1 cheval ne peut participer à 2 épreuves successives sans temps de repos
    1 cavalier ne peut participer a 2 épreuves successives sans temps d'échauffement
    1 cheval ne peut être monté que 3 fois maximum par concours
    1 cavalier ne peut monter que 5 fois par concours

    trouver l'ordre des cavaliers

    donc la première étapes est de créer les couples Cavalier-cheval-Num. occurrence Cavalier
    ensuite Trie par Num. occurrence Cavalier-Cavalier

    exemple
    CAV1-CH1-1
    CAV1-CH2-2
    CAV2-CH3-1
    le trie donneras
    1 CAV1-CH1-1
    2 CAV2-CH3-1
    3 CAV1-CH2-2

    ... il reste beaucoup de chose a voir mais c'est toi qui peut nous orienter sur le choix finale
    C'est exactement ça.

  20. #20
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 388
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 388
    Points : 20 487
    Points
    20 487
    Par défaut
    Citation Envoyé par maxime_nrgt Voir le message
    Je cherche à développer sous excel un algorithme me permettant d'établir l'ordre de passage d'un concours d'équitation.
    -Un cavalier peut faire jusqu'à 3 passages avec des chevaux différents ; il ne peut donc pas passer 3 fois d'affilé (sauf si il est tout seul....), puisque celui ci doit s'échauffer avec son cheval à chaque fois.
    un simple compteur déclaré en variable global peut suffire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Global Compteur As Integer
    rem apres dans le code
    Compteur=Compteur+1
    If Compteur >=3 Then 
    FaireQuelqueChose
    End If
    -Un cheval peut avoir jusqu'à trois cavaliers mais ne peut pas passer deux fois d'affilé (sauf si même cheval pour tous les cavaliers...), puisque celui-ci doit également pouvoir souffler entre deux cavaliers....
    Déclarer une classe globale dans un module de classe et avec une variable de type integer pour mémoriser le type de cheval ou même mieux employer des "string" qui mémorise le nom du cheval
    Citation Envoyé par maxime_nrgt Voir le message
    Le nombre de participants et chevaux par épreuve peut être assez conséquent. De ce fait, j'aimerai automatisé ce casse tête dont j'ai à faire à chaque concours...
    ?? Il suffit de faire un tableau de string ou mieux une collection de strings.
    Après on peut adresser chaque cellule du feuillet actif et lire la valeur

Discussions similaires

  1. Quel algorithme pour classer des opérations par ordre de priorité
    Par verbose dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 16/06/2014, 11h11
  2. Quel algorithme pour insertion d'objets "triés" da
    Par phplive dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2005, 09h27
  3. Algorithme pour trier trois nombres
    Par legosam dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 17/01/2005, 21h47
  4. quelle balise pour établir un lien interne
    Par christopher dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 08/12/2004, 13h48
  5. Algorithme pour chiffres significatifs en Assembleur
    Par lutin2003 dans le forum Assembleur
    Réponses: 5
    Dernier message: 09/09/2004, 10h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo