As of 2015-03-26, SolverStudio includes beta support for the Julia language and the associated JuMP modelling framework. JuMP allows you to easily build optimisation models in Julia which run nearly as fast as the commercial AMPL system. For more information on JuMP, see juliaopt.org and this paper by Iain Dunning and Miles Lubin.
SolverStudio 0.08 (20150616) introduces a new Julia console which is launched once, and then used to run your model. This gives faster code development times, but is less safe as variables are not cleared between runs. Although this is now used by default, you can still run using a fresh julia.exe each time, but this will be slower. (See the Julia menu for controlling this option.) You can also send commands to the Julia console using an experimental (and rather primitive) console available from the Julia menu.
This version also fixes the interaction with Julia (and other executables) to better handle stdout redirecting, and so now works with all Julia versions. (Old versions used to fail.)
If you use the un-released 0.4 Julia version, then please be aware that dictionary syntax has been changed. SolverStudio’s internal code works fine on 0.3 and 0.4 versions of Julia, but your code (and some of the examples) will run with “deprecated” warnings in v0.4.
The SolverStudio “Julia Examples.xlsx” file is the best way to understand how data items on the spreadsheet are mapped to Julia variables. As well as data items, SolverStudio also defines and makes available the following items which contain a few values from the ActiveWorkbook and ActiveSheet VBA objects (with thanks to Leonardo for suggesting this):
JuMP v0.13 Changes in use of Capitals
Julia and JuMP is a moving target in the sense that the language is evolving rapidly. As an example, on 30 April 2016, Miles announced that JuMP (from v0.13) was adopting the new Julia conventions on camelCase (i.e. the use of capitals in macro names etc); please see this announcement for details. The SolverStudio examples will be updated.
9 thoughts on “SolverStudio and Julia/JuMP”