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

Mathématiques Discussion :

Recherche d'un algorithme


Sujet :

Mathématiques

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Recherche d'un algorithme
    Bonjour à tous je suis nouveau sur ce forum et je dois avouer que je suis totalement novice en la matière d'algorithme ou autre langage de programmation mais je ne demande qu'à apprendre.

    pour se faire je vais présenter un cas pratique qui sera peut-être plus simple à comprendre pour vous et plus simple à expliquer pour moi.

    Dans le cadre professionnel (gestion des remboursements de mutuelle complémentaire) je suis amené a effectuer des remboursements à partir des bases de remboursement de la sécurité sociale par exemple.


    Cependant ma problématique est la suivante.

    Il arrive (surtout en ce qui concerne les dépenses optiques) que les montants des bases de remboursement sur les décomptes sécu soient globalisés sur un seul montant.

    Je voudrais créer un logiciel perso qui me permette à partir de ce montant globalisé de retrouver les possibilités parmi une liste des différentes bases de remboursement que j'aurais paramétré.

    Cela ressemble un peu au principe du rapprochement bancaire pour ceux qui sont familiés avec la comptabilité.

    Je dois dire que je ne sais vraiment pas par quel bout commencer. Merci de votre aide dans tous les cas.

    Je sais que ce genre de logiciels existent mais je voudrais bien pouvoir développer le mien. Voyez ça comme un défi personnel ^^.

    Je ne sais pas si je poste dans la bonne section en fonction de ma demande merci de me le faire savoir.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    As-tu une idée du langage que tu voudrais utiliser ?

    Tu veux partir d'un montant de remboursement donné par la sécu (montant globalisé) que ton application te donne une liste des différentes bases de remboursement ?

    Christophe

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par christophe_halgand Voir le message
    As-tu une idée du langage que tu voudrais utiliser ?

    Tu veux partir d'un montant de remboursement donné par la sécu (montant globalisé) que ton application te donne une liste des différentes bases de remboursement ?

    Christophe
    je connais déjà la liste des différentes bases de remboursement de la sécu. Mais je voudrais que le logiciel "pioche" dans cette liste pour me trouver toutes les possibilités de trouver X (le montant globalisé).

    Pour le langage je n'en n'ai aucune idée je suis totalement novice. Je ne pense pas que le logiciel soit compliqué en soit (enfin je pense) étant donné qu'au final il n'y a rarement plus de 3 valeurs (une monture et deux verres) pour trouver la base de remboursement globalisée. De plus seule l'addition des valeurs est utilisée au final.

    C'est pour ça que je pense qu'un langage assez simple suffit. Je suis persuadé qu'avec des fonction excel il est possible de le faire. Cependant je recherche avant tout un logiciel "stand alone" qui automatise le tout.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Désolé mais j'ai du mal à te suivre...

    Quelle est ton entrée ? (ou à partir de quoi tu vas faire une recherche)

    Quelle est ta sortie ? (ou ce que tu cherches à obtenir)

    De ce que j'ai compris, tu pars d'un montant X (montant globalisé) et tu veux la liste de base de remboursement correspondante ?

    Christophe

    PS : on va y arriver...

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par christophe_halgand Voir le message
    Désolé mais j'ai du mal à te suivre...

    Quelle est ton entrée ? (ou à partir de quoi tu vas faire une recherche)

    Quelle est ta sortie ? (ou ce que tu cherches à obtenir)

    De ce que j'ai compris, tu pars d'un montant X (montant globalisé) et tu veux la liste de base de remboursement correspondante ?

    Christophe

    PS : on va y arriver...

    le montant globalisé (MG) est La somme de :

    x+y+z=MG

    Je veux que le programme me sorte toutes les possibilités de trouver le MG parmi une liste de base de remboursement connues. Le logiciel va donc faire en sorte de trouver x y et z.

    Est-ce plus simple?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Tu as trois listes (x,y et z) et tu sais que "MG = x + y + z"...

    Donc quand tu vas entrer la valeur de "MG", le programme va te sortir tous les triplets (x,y et z) qui vérifient l'équation du dessus.

    C'est çà ?

    Christophe

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par christophe_halgand Voir le message
    Tu as trois listes (x,y et z) et tu sais que "MG = x + y + z"...

    Donc quand tu vas entrer la valeur de "MG", le programme va te sortir tous les triplets (x,y et z) qui vérifient l'équation du dessus.

    C'est çà ?

    Christophe
    exactement

    Juste une petite précision il n'y a qu'une seule liste. X Y Z sont 3 valeurs au sein de cette liste qui vérifie MG=x+y+z

  8. #8
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Une seule liste signifie quoi?

    Et quelle est la taille de tes possibilités x,y,z?

    Si c'est petit, tu fais 3 boucles débiles imbriquées...

    Sinon tu te fais une préliste des y+z, tu parcours x et tu recherches MG-x dans cette liste: si ok, t'as trouvé un/des candidats, et tu parcours y et z...

  9. #9
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Je pense qu'en pseudo langage on peux faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    X, Y, Z, MG.
     
    Pour tout les X Faire :
     Pour tout les Y Faire :
      Pour tout les Z Faire :
       Si X+Y+Z = MG
        [Couple OK]
       FIN SI
      FIN POUR
     FIN POUR
    FIN POUR
    Mais le plus dur si tu ne connais pas du tout la prog ça va d'extraire ta liste.. elle est ou ta liste de valeur, dans une base de donnée ?

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Nemerle Voir le message
    Une seule liste signifie quoi?

    Et quelle est la taille de tes possibilités x,y,z?

    Si c'est petit, tu fais 3 boucles débiles imbriquées...

    Sinon tu te fais une préliste des y+z, tu parcours x et tu recherches MG-x dans cette liste: si ok, t'as trouvé un/des candidats, et tu parcours y et z...
    en gros la liste c'est quoi c'est une liste de 20-25 valeurs numériques connues (2.18€, 3.22€, 5.44€, 10.36€, ... par exemple)

    et donc dans cette liste je veux sortir les possibilités(rarement plus d'une par expérience) de trouver le MG (montant globalisé).

    Sinon oui sur le papier c'est vraiment tout simple peut-être que les fameuses boucles dont tu parles peuvent faire l'affaire.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Golgotha Voir le message
    Je pense qu'en pseudo langage on peux faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    X, Y, Z, MG.
     
    Pour tout les X Faire :
     Pour tout les Y Faire :
      Pour tout les Z Faire :
       Si X+Y+Z = MG
        [Couple OK]
       FIN SI
      FIN POUR
     FIN POUR
    FIN POUR
    Mais le plus dur si tu ne connais pas du tout la prog ça va d'extraire ta liste.. elle est ou ta liste de valeur, dans une base de donnée ?
    Je voudrais que cette liste soit directement intégrée dans le "logiciel" crée vu qu'elle est fixe. je voudrais donc pour éviter d'avoir à trimballer le "logiciel" et la base de donnée.

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Pour illustrer ce que je recherche regarder du côté de ce logiciel je voudrais à peu de chose le même. (sans que la partie de gauche, "saisie des montants", soit visible car ma liste est déjà prédéfinie)

    Xmump.


  13. #13
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par shaenoide Voir le message
    en gros la liste c'est quoi c'est une liste de 20-25 valeurs numériques connues (2.18€, 3.22€, 5.44€, 10.36€, ... par exemple)

    et donc dans cette liste je veux sortir les possibilités(rarement plus d'une par expérience) de trouver le MG (montant globalisé).
    C'est le "Subset Sum Problem" ([ame]http://en.wikipedia.org/wiki/Subset_sum_problem[/ame]), qui a l'inconvenient d'être NP-Complet.

    Il faut donc tester toutes les solutions possibles (par exemple avec une recherche taboo ou du backtracking)

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/11/2009, 20h28
  2. Recherche d'un algorithme de Stemming(Racinisation)
    Par samorra dans le forum Mathématiques
    Réponses: 0
    Dernier message: 08/10/2009, 18h20
  3. Recherche de deux algorithmes "conv2" et "filter2"
    Par The-msx dans le forum Traitement d'images
    Réponses: 10
    Dernier message: 21/07/2008, 13h46
  4. Réponses: 8
    Dernier message: 25/01/2008, 19h25
  5. Recherche d'un algorithme pour calculer un Checksum
    Par noune40 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/11/2006, 10h46

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