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 :

Algo pour choisir des effets pour avoir un minimum d'agios


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 55
    Par défaut Algo pour choisir des effets pour avoir un minimum d'agios
    Salut

    Voila, je suis en train de developper une application qui a partir d'un échéancier ou sont indiqués les futurs paiements a effectuer et d'un portefeuille d'effets, a connaitre les effets a mettre a l'escompte afin d'avoir le minimum d'agios et en respectant le plafond d'escompte.

    J'ai fait quelques recherches et pour l'instant, je prends la 1ere date, je fais toutes les combinaisons possible des effets qui permettent de payer cette 1ere échéance et je prends la combinaison ayant les agios les moins élevés.

    Et ainsi de suite pour les dates suivantes.

    Le probleme que j'ai constaté c'est que lorsque 2 paiements sont proches (2/3 jours), cette facon de faire n'est plus bonne ... car on aurait pu choisir un effet d'un montant suppérieur pour le 1er paiement ce qui fait qu'au 2nd, l'effet a choisir serait différent.

    Je cherche donc s'il n'y aurait pas un algorithme permettant de palier ce probleme.

    J'ai bien pensé aussi au lieu de prendre en compte que la 1ere date, de faire toutes les combinaisons possibles sur toutes les dates, mais je me dis qu'il doit bien avoir une autre solution ... donc si vous avez des idées, je suis preneur.

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Par défaut
    J'ai l'impression que cela ressemble a un problème de sac à dos puisque pour chaque "effet", on a l'option de prendre ou de ne pas prendre.

    Je n'y connais pas grand chose en finance mais j'ai l'impression que ce que tu dis ne se traduit pas par des équations linéaires. Existe-t-il des équations pour traduire tout cela, contraintes et fonction à minimiser (agios).

    Je dirais qu'il faut introduire pour chaque effet "i" une variable x[i] qui vaut 1 si l'effet est mis à l'escompte et 0 sinon. Il faut donc tout exprimer en fonction de ces x[i] à déterminer (à moins qu'il y ait d'autres choses à déterminer que je n'ai pas saisies).

  3. #3
    Membre averti
    Inscrit en
    Août 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 55
    Par défaut
    Citation Envoyé par FrancisSourd
    J'ai l'impression que cela ressemble a un problème de sac à dos puisque pour chaque "effet", on a l'option de prendre ou de ne pas prendre.
    Ca y ressemble en partie ... Je vais analyser le lien plus en détail.
    Par rapport au probleme du sac a dos, je dirais que le poids du sac serait le montant du 1er paiement ... et les effets avec leurs agios, les poids avec leur valeur.
    Sauf qu'au lieu d'avoir le minimum pour pas dépasser le poids max du sac, il faudrait le minimum pour dépasser le poids du sac.

    Mais le probleme, c'est aussi le 2eme paiement ...
    Ce qui fait qu'il y aurait un 2eme sac avec une valeur des poids différents ... et le remplissage du 1er sac impacte celui du 2nd.

    Citation Envoyé par FrancisSourd
    Je n'y connais pas grand chose en finance mais j'ai l'impression que ce que tu dis ne se traduit pas par des équations linéaires. Existe-t-il des équations pour traduire tout cela, contraintes et fonction à minimiser (agios).
    Je suis en train d'essayer de voir s'il y a moyen de mettre tout ca en équation.

    En tout cas, merci pour le lien, qui me fait avancer un peu plus sur mon alogorithme.

  4. #4
    Membre chevronné
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Par défaut
    Citation Envoyé par taupin
    Sauf qu'au lieu d'avoir le minimum pour pas dépasser le poids max du sac, il faudrait le minimum pour dépasser le poids du sac.
    On appelle cela des contraintes de couvertures.

    En reprenant les x[î] de mon précédent message cela donne des équations du style (b_i est le montant de l'effet)

    Puisqu'il semble qu'il faille distinguer les paiements, on peut dire que tout paiement j doit être couvert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \sum_i b_i x[i,j] ≥ B[j]  (pour tout j)
    Pour dire qu'un effet est utilisé au plus une seule fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \sum_j x[i,j]1 (pour tout i)]
    Si cela reste linéaire comme cela, le bon réflexe est de s'orienter vers la programmation linéaire en nombres entiers

  5. #5
    Membre chevronné
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Par défaut
    Ce que je n'ai pas bien compris, c'est le rôle du temps dans le modèle.

  6. #6
    Membre averti
    Inscrit en
    Août 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 55
    Par défaut
    Citation Envoyé par FrancisSourd
    Ce que je n'ai pas bien compris, c'est le rôle du temps dans le modèle.
    Euh, ou intervient le temps ?!

  7. #7
    Membre averti
    Inscrit en
    Août 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 55
    Par défaut
    Citation Envoyé par FrancisSourd
    On appelle cela des contraintes de couvertures.

    En reprenant les x[î] de mon précédent message cela donne des équations du style (b_i est le montant de l'effet)

    Puisqu'il semble qu'il faille distinguer les paiements, on peut dire que tout paiement j doit être couvert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \sum_i b_i x[i,j] ≥ B[j]  (pour tout j)
    Pour dire qu'un effet est utilisé au plus une seule fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \sum_j x[i,j]1 (pour tout i)]
    Si cela reste linéaire comme cela, le bon réflexe est de s'orienter vers la programmation linéaire en nombres entiers
    Effectivement il y a tes 2 équations et on cherche a minimiser la somme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \sum_i sum_j a[i,j] x[i,j] (pour tout i et j)
    avec a[i,j] le montant des agios des traites i lors du paiement j

  8. #8
    Membre chevronné
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Par défaut
    Citation Envoyé par taupin
    Effectivement il y a tes 2 équations et on cherche a minimiser la somme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \sum_i sum_j a[i,j] x[i,j] (pour tout i et j)
    avec a[i,j] le montant des agios des traites i lors du paiement j
    Si j'ai bien compris, les x[i,j] ne doivent valoir que 0 et 1. Dans ce cas, le mieux est certainement de résoudre le problème par un solveur de programmation linéaire en nombre entier (par exemple glpk). On peut tout de même facilement obtenir de bonnes solutions par des méthodes de recherche locale ou des méta-heuristiques. En gros, on part d'une solution pas trop mauvaise et on essaie de la modifier: si ca améliore, on garde, sinon on essaie autre chose...

Discussions similaires

  1. Choisir un dossier pour l´enregistrement des Fichier
    Par Mjama dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 11/10/2010, 11h06
  2. API Java pour faire des effets ?
    Par Tinkite82 dans le forum 2D
    Réponses: 2
    Dernier message: 13/07/2010, 10h00
  3. une liste deroulante pour choisir des requêtes
    Par blandinais dans le forum IHM
    Réponses: 2
    Dernier message: 11/03/2009, 08h26
  4. outil gratuit pour créer des effets de texte
    Par john123 dans le forum EDI/Outils
    Réponses: 0
    Dernier message: 06/06/2008, 00h13
  5. Creer une requéte access pour choisir des textes word
    Par mariekero dans le forum Access
    Réponses: 1
    Dernier message: 16/01/2006, 10h25

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