Our PhD student, and JuMP coder extraordinaire, Oscar Dowson, presented on SolverStudio, Julia and JuMP at the JuliaOpt/JuMP Developers conference, June 12-16, 2017, at the Sloan School of Business, Massachusetts Institute of Technology. Watch Oscar’s presentation on YouTube.
There’s a nice article “IP in the i” by Martin J. Chlond in “INFORMS Transactions on Education 16(1), pp. 39–41” about using SolverStudio to solve the new Wijuko and ABC Logic puzzles, including a SolverStudio implementation.
If you speak German, you may be interested in the recently published book:
Mike Steglich, Dieter Feige und Peter Klaus: Logistik-Entscheidungen: Modellbasierte Entscheidungsunterstützung in der Logistik mit LogisticsLab, 2. aktualisierte und komplett überarbeitete Auflage, De Gruyter, Berlin und Boston 2016.
This covers using SolverStudio and the CMPL modelling language. Mike Steglich has done a great job of adding CMPL support to SolverStudio; it is great to have SolverStudio as a core part of his new book.
For more information, including CMPL examples, see the Logistics Lab.
Check out this webinar on 20 May on using AMPL with the Gurobi solver. Looks very interesting. Andrew
You may find that SolverStudio (v 0.09.02 or earlier) is not working with NEOS. NEOS have recently tweaked their systems, and so you need to edit RunGAMSNEOS.py or RunAMPLNEOS.py and change all lines with “time.sleep(1)” into “time.sleep(5)”. This will be fixed in the next release. Andrew
SolverStudio is pleased to be part of the IFORS initiative to support operations research activities in developing countries, where access to specialist commercial software is often prohibited by licensing costs. For more on this initiative, see the IFORS Developing Countries OR Resources Website.
There is a nice article by Martin J. Chlond (Lancashire Business School) in Informs Transactions on Education about using SolverStudio & GMPL to solve chess problems:
Martin J. Chlond (2015) Puzzle—Chess Avoidance Puzzles. INFORMS Transactions on Education 15(3):254-256. http://dx.doi.org/10.1287/ited.2015.0141
As part of adding Julia, we’ve been looking at making an interactive console, i.e. capturing the output produced by a program, and letting us send commands to it. Making this work has a surprising number of traps.
Firstly, our current approach to running an external process was slightly flawed; the site CSharpTest.Net has sample code that shows how it should be done (which is not the way Microsoft do it in their sample!). Our code suffered from several of the common mistakes they list. The next release will do this better (which allows Julia 0.3.3 to work, for example, which it did not before).
As part of this exploring, we have also worked out how to run Julia and Python in a C# console so that we can send them commands interactively. This did not work “out of the box” in the way we’d expected. We now know why. When run from C#, these programs no longer think they are connected to a TTY (i.e. an interactive) terminal, and so they change their behaviour to act as if a file was passed to them (which means they just seem to hang, with no output being produced).
This is good description of why re-directing input (stdin) and output (stdout) fails for these programs. One solution is to use an intermediate program that really is a TTY terminal. Another trick is to force Python and Julia to run in interactive mode even though they are no longer connected to the “right sort” of input/output. The “-i” (interactive) flag makes them do this.
Hopefully this will all result, one day soon, in (1) faster running Julia code as a result of re-using a single Julia instance for each run, and (2) a truly interactive console in SolverStudio.