Bonjour à tous,

Le titre est un peu minimaliste, mais j'avoue que je ne savais pas comment le tourner pour attirer un peu de monde à la vue de mes précédentes demandes restée sans suite.

J'ai besoin de créer un solver, enfin plusieurs. Actuellement utilisé sous Excel par le client (pour faire ces vérifications), j'ai besoin de créer la même chose dans mon logiciel qui automatise tout cela. Je parle au présent, car il est déjà fonctionnel, mais sur une partie seulement.

Dans le fichier Excel j'ai plusieurs onglets avec un solver à chaque fois, le calcule de chaque solver comporte une quantité de formule très nombreuse entre le résultat à chercher et les inconnus.

Travaillant sous C# j'ai naturellement commencé à utiliser le solver de Microsoft, mais malheureusement plus maintenu depuis longtemps, mais j'ai réussi à avoir des solutions proches voir meilleur qu'Excel avec 5 solver au calcul relativement proche, mais le 6 eme qui est vraiment différente dans les calculs bloque littéralement.

Pour le moment le client n'a pas besoin de ce 6eme résultat, mais il va falloir le lui faire quand même. J'ai cherché des alternatives, mais je ne suis tombé que sur des systèmes payant "annuellement".

Puis je pensais éventuellement faire une interface avec un autre langage comme du python ou autre.

Avez-vous des informations à ce sujet. Des informations qui pourraient me guider. Une API éventuellement payante, mais pas annuellement, c'est notre seul logiciel qui va utiliser cela. Ou un moyen de le faire avec un autre langage.

J'ai pensé aussi à interfacé le fichier Excel puis lancer les macros déjà présentes, mais naviguer dans Excel depuis C# n'est vraiment pas rapide et vu la quantité d'informations que j'ai à lui envoyer, c'est la dernière solution envisager.


Dans mon programme j'ai simulé les cellules qu'il y a dans Excel, une cellule avec une formule = une méthode. Pour le calcul chaque méthode retourne un double, pour le solver chaque méthode contenant les inconnus retournent un Term. J'exécute le solver et une fois les inconnues trouvées j'exécute le calcul pour trouver mon résultat final.
Comme je le disais, cela fonctionne pour les 5 solvers qui ont des formules proches ou du moins la même architecture, le 6eme est complètement différente et lorsque j'exécute le solver il bloque dedans sans me redonner la main.
Vu la quantité de formule j'ai vérifié des 10 éne de fois si je n'avais pas fait une erreur, de signe au autre, mais en prenant les inconnue trouvé dans Excel et les forçant dans mon logiciel le résultat est bon, les méthodes classiques (double) et du solver (Term) étant juste l'une au-dessus de l'autre, c'est long, mais facile à les vérifier.

Si quelqu'un peu m'aider me donner des pistes, car je suis bloqué.

Merci