27 Apr

Quick patch for NEOS Incompatibility

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

17 Nov

SolverStudio 0.09.01 20150813 d – minor update

SolverStudio_00_09_01_00 20150813d has been released. This contains an IronPython patch to work around an IronPython 2.7.4 and 2.7.5 bug. This bug causes the error “SystemError: Handle is not initialized” in “_weakrefset.py”, line 73, within __contains__().
For more information, see https://mail.python.org/pipermail/ironpython-users/2015-April/017448.html and https://github.com/IronLanguages/main/issues/1187
Many thanks to SolverStudio user Andres Sommerhoff for following this up and suggesting this patch.

If you have not encountered this error, then there is no advantage in upgrading.

SolverStudio_00_09_01_00 20150813d.zip (6680 downloads) 32 MB

Note: The download file is named “SolverStudio_00_09_01_00 20150813d.zip”, with the “d” indicating the change to the IronPython “_weakrefset.py” file.

03 Sep

SolverStudio 0.09.01 (20150813) now with MOSEK examples

We have just (on 20150903) updated the latest SolverStudio download to the following file:

SolverStudio_00_09_01_00 20150813c.zip (10122 downloads) 32 MB

This is still the same underlying SolverStudio 09.01 release, but the download now includes a new example spreadsheet showing how the MOSEK solver can be used from SolverStudio. More information is available on the MOSEK language page.

Many thanks to Andrea Cassioli from MOSEK for working with us to explore how best to integrate MOSEK with SolverStudio, and creating the new examples and information page.

17 Aug

SolverStudio 0.09.01 (20150813) released

We have just released a new version of SolverStudio:

SolverStudio_00_09_01_00 20150813b.zip (16498 downloads) 32 MB

This fixes issues with SolverStudio & GAMS on 64 bit systems through a significant update to the handling GDX files (thanks Eduardo), and includes fixes for display and import of  these files. We have also added a VBA example showing how to run a SolverStudio model using VBA calls, updated PuLP to v1.6.0, and fixed an AMPL data import bug. The Advanced Installers folder now contains batch files for enabling and disabling VSTO error reporting (which can be useful when debugging installation problems). All feedback welcome.

Note: The download file is named “SolverStudio_00_09_01_00 20150813b.zip”, with the “b” being a revised version in which an unused PuLP directory has been deleted, thereby making the download smaller (but having no other effect).

03 Aug

SolverStudio 0.08.02 (20150803) released

We have released SolverStudio_00_08_02_00 20150803:

SolverStudio_00_08_02_00 20150803.zip (1825 downloads) 33 MB

This includes bug fixes for CMPL/pyCMPL, and for Julia (including handling of data items containing booleans & strings, which failed in previous versions). Thanks to Mike Steglich for the CMPL fixes, and for Leonardo for reporting the Julia issues.

This is our first version compiled with Visual Studio 2013. This still targets .Net 4, but requires a newer version of the Windows installer (which most machines should have). Thanks to changes made by Microsoft, this should fix the problem when installing on machines with .Net 4 only (and no more recent version) with manifest reading errors.

10 Apr

The Joys of Running External Programs

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.