Hello tout le monde!

Je désire écrire un logiciel de simulation, mais je ne sais pas comment m'y prendre. Mon problème n'est pas lié à l'outil de développement : Je développe depuis 15 ans, sous plusieurs langages (C, C++, Perl, Python, PHP, C#,...). Mon problème est que je ne sais pas qu'elle est la meilleure façon pour réaliser mon projet.

Voici le problème:
  • Imaginez une matrice à 2 ou 3 dimensions.
  • Imaginez que chaque élément de la matrice est un objet. Cet objet présente des propriétés qui déterminent ses interactions avec d'autres objets.
  • Imaginez que les objets, placés dans les cases de la matrice, interagissent avec leurs voisins immédiats. Note : Si la matrice a deux dimensions, alors un objet possède 8 voisins immédiats. Si la matrice a 3 dimensions, un objet possède 26 voisins immédiats.
  • On suppose que les objets ne sont pas tous identiques.
  • On suppose aussi que l'interaction entre deux objets dépend du couple composé des deux objets. Deux couples distincts interagissent de façons différentes.
  • Imaginez que je "pose" des objets dans la matrice, et que je lance le logiciel afin de calculer l'évolution de chaque case de ma matrice.

Question :

Quelle méthode faut-il utiliser pour simuler l'évolution de ce genre de système dans le temps?
Connaissez-vous des libraires de développement conçu pour résoudre ce genre de problème?

Merci,

Denis