[VBA]Optimisation quadratique

Signaler
-
 GiantMike -
Bonjour à tous,

je recherche un moyen de programmer un solver sous VBA dont les résultats seront plus satisfaisants qu'en prenant le solver d'Excel.

Le but de cette optimisation étant de réaliser une optimisation sous contrainte classique appliquée à la gestion de protefeuille (Markowitz, minimisation de la variance sous contrainte de rentabilité)

En réalisant plusieurs simulations, je me suis aperçus que le solver d'Excel ne convergeait pas toujours vers un optimum globale mais parfois vers un optimum locale.

Mon but étant de réaliser une optimisation quadratique similaire à ce que l'on peut trouver sur matlab ou scilab...

Il faut (hélas!) que j'utilise absolument VBA ...

En espérant ne pas faire de double sujet, je remercie d'avance toute personne voulant bien m'apporter de l'aide !

à Bientôt,

GM

8 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
Bonjour,
C'est bien, de chercher. Mais :
1) qu'as-tu commencé toi-même ?
Ce forum est fait (nous te le rappelons) pour t'aider à surmonter une difficulté technique, parfaitement isolée, pas pour t'aider à faire une appli que tu n'as pas commencée et dont tu n'as apparemment pas arrêté l'algorithme.
Surtout si, à toi seul, tu as l'ambition de concurrencer l'équipe de MicroSoft.
2) il est dommage que, devant développer sous VBA, tu ouvres ta discussion dans la section
Forum > Visual Basic 6



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Hello,

merci de ta prompte réponse, dois-je ouvrir directement le sujet dans le forum VBA?, puis-je transférer le sujet ?

Concernant le code, je commence tout juste, j'ai déjà programmé un certain nombre d'outils de calcul matriciel. Pour l'algorithme, on m'a parlé d'un double algorithme du simplex ()...

Avant de me lancer dans la pratique, j'aurais aimé savoir si un tel travail est possible sous VBA et si des librairies ne sont pas déjà disponibles... je ne suis pas non plus un petit génie des maths

Enfin, je ne cherche pas à supplanter Microsoft (Frontline plus précisément) mais j'ai vraiment l'impression que leur solver est une boite noire et dont les calculs ne me semblent pas vraiment fiables.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
Avec de la bonne volonté, de la patience, etc ... on peut tout faire (même une usine à gaz).
j'ai vraiment l'impression que leur solver est une boite noire et dont les calculs ne me semblent pas vraiment fiables.

C'est ton impression.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Pour être plus précis, le solver trouve une solution locale et non globale.

Aurais-tu une solution pour contourner ce problème ??

Bonjour,


Pour être plus précis, c'est quoi la différence entre une solution globale et une solution locale ?

Tu peux toujours aller voir l'Alma Mater du Solver. Si ton patron consent à te fournir les bidous, tu peux même commander "le gros solver".

Ils ont même une version d'essai du "RiskPlatformSolver.
Hello,

une solution locale représente un col, une solution globale représente un pic de ta fonction à maximiser.

Autrement dit, une solution locale va saturer tes contraintes mais ne sera pas la meilleur solution.

C'est quoi les bidous :D ?

Bonsoir


C'est quoi les bidous :D ?


De l'argent.
Bonjour, quelqu'un aurait-il eu ce même problème avec le solver excel ?

@Cmarotte : il n'y a ni boss, ni "bidous",aurais-tu une solution constructive ?