My student, Matthew, has just succeeded in getting OpenSolver running with the NOMAD non-linear solver from the Gerad group. Many thanks to Jonathon Currie & David Wilson, creators of the OPTI Matlab toolbox (which also includes NOMAD), for letting us learn from your experiences in compiling this (and the COIN-OR code) under Visual Studio.
Matthew’s code is very much beta, but it shows that we can make it all work to get a powerful non-linear solver working with Excel. The challenge has been getting our VBA code to call the NOMAD C++ code which then has to call back into a thin C++ layer which runs our VBA code which re-calculates the spreadsheet for each new set of variable values; trivial, really! We initially created an XLL Excel add-in to help with this, but it turns out any DLL can do this using the Microsoft XLL interface libraries, so we now simply create a DLL that is linked into our OpenSolver VBA add-in.
Well done, Matthew, in getting this all to work, given minimal previous experience in C (and none in C++)! It’s a real privilege to work with such excellent Engineering Science students.
This will be released in the next beta version, coming soon….