2017-10-02 3 views
0

J'ai un modèle OPL dans le studio CPLEX.Comment utiliser Excel comme interface utilisateur pour le modèle CPLEX OPL?

Je voudrais construire une interface utilisateur simple dans Excel permettant aux utilisateurs d'entrer des paramètres simples & données, puis cliquez sur un bouton, puis avoir la solution écrite sur une autre feuille dans la feuille de calcul.

J'ai besoin de la solution pour travailler sur Mac et Windows.

Apparemment, leur habitude d'être des exemples d'interface Excel fournis avec CPLEX sous CPLEX \ examples \ src \ Excel

CPLEX OPL and Excel VBA Integration

Toutefois, cela ne semble pas être livré plus que le dossier n'existe pas "CPLEX_Studio1271".

Une option ici est de lancer oplrun.exe via une commande shell:

Using OPL CPLEX in Excel VBA?

Cependant, cela exige une connaissance du chemin, qui dépend de l'O/S et peut-être la version. En outre, un avertissement "macros" méchant apparaît lorsque vous ouvrez la feuille de calcul. Ces deux problèmes pourraient être tolérés, mais j'espère qu'il y aura une meilleure solution. Quelle est la meilleure façon d'intégrer Excel avec OPL afin que la feuille de calcul puisse fournir les données d'entrée, déclencher la solution OPL, puis contenir les données de sortie? Ayant à l'esprit que cela devrait être déployé à différents utilisateurs sans alors avoir besoin d'installer des plugins supplémentaires, etc.

+0

Je aime vraiment [Solver Studio] (http://solverstudio.org/), puisque vous pouvez programmer dans presque tous les langages de modélisation célèbre d'optimisation, de sorte que vous pouvez utiliser AMPL (ou une autre langue) au programme un CPLEX. Cependant, puisque vous ne voulez utiliser aucun plugin, vous pouvez utiliser la fonction [solveur] d'Excel (https://msdn.microsoft.com/fr-fr/vba/excel-vba/articles/using-the-solver -vba-fonctions). Bare à l'esprit qu'Excel n'est [pas la meilleure façon de le faire] (https://stackoverflow.com/a/45685789/7690982), et les langages d'optimisation utilisés sur Solver Studio sont meilleurs, car ce sont des langages conçus pour des problèmes d'optimisation . – danieltakeshi

Répondre