• # Un système multi-agent à enchères

    Posté par . En réponse au message Optimisation et Recherche opérationnelle : quel algo ?. Évalué à 2.

    J'avais réfléchi à un problème un peu similaire et j'avais imaginé un système original.. mais je ne l'ai pas testé (manque de temps) : écrire un système à agent enchérisseurs.

    Chaque étudiant est modélisé par un agent qui possède un certaine nombre de points qui dépend du nombre d'UV où il est inscrit (genre 100 points par UV). A chaque itération, chaque agent participe à des enchères pour "acheter sa place" à un certain horaire (ajouter ou enlever des points) en tentant de maximiser son contentement (louper un minimum de cours/TP/TD). Ainsi, à chaque itération, l'agent gagne des places à certains endroits, et pour cela en perd à d'autres...

    Je pense que cette approche est intéressante, même si elle ne garantie pas de trouver la solution optimale (de toute façon, on ne peut surement pas satisfaire tout le monde) : Chaque itération supplémentaire devrait avoir tendance à stabiliser le système (enfin, selon le comportement des agents...). En gros, tu ne peux pas te planter, mais juste avoir une solution moins optimale que les autres (mais j'en doute... ;-)

    Toute la finesse de la programmation, c'est l'algo de décision de l'agent. Rien n'empêche d'implémenter plusieurs agents et de tester le système selon diverses configurations (que des agents de type A, que des agents de type B, 50% de A et 50% de B, 25% de a et 75% de B)... Et coder un proto assez avançé avec cette solution, ça ne devrait pas prendre plus d'une trentaine d'heures ;-)

    Tu peux même "pousser le bouchon" en proposant à tes profs de modéliser ces agents selon une études (courte) sur le comportement qu'auraient des "étudiants représentatifs" si un système d'enchère était mis en place, pour obtenir des statistiques après simulations (avec des jolis graphiques y tout y tout). Je pense que ça serait très "smart" et il y a de quoi réellement s'éclater! Tes profs devraient aimer.