19 Jun

SolverStudio 0.08.01 available for Beta Testing

We now have a new version, SolverStudio 0.08.01, available for beta testing. This includes better support for Julia, the new pyCMPL language, and lots of bug fixes. Once we get enough downloads of this version without any problems, we’ll move it out of beta. All feedback welcome. Andrew

17 thoughts on “SolverStudio 0.08.01 available for Beta Testing

  1. Hello,
    trying to interact with Excel in Julia, I’ve found some problem reading (but not writing) data from Excel.

    I’ve defined some named cell (a,b,c) in Excel with numeric content (1.1), string content (“Hello.”) and boolean content (FALSE), but auto-generated SolverStudio.jl contains some syntax error:

    a = 1.1
    b = ‘Hello.’
    c = False

    Last two rows are syntactically wrong and should be:

    b = “Hello.”
    c = false

    (in Julai string must be enclosed in double quote and boolean must be lowercase)

    What can I do to read these two types of data? (I’ve noted this issue with stable version 0.06.14 and beta version 0.08.01)

    Many thanks in advance


    • Thanks for the bug report… it’s rather embarrassing that we got this wrong! The true/false may be harder to fix, but the string should be easy. (If you are keen, you can edit the RunJulia.py file to fix this.) I am at Euro 2015, and so a fix will take a little time before it appears. Please let us know of any other issues you find. Andrew

        • Pleased you got it going; I’ll make that fix in our next release.

          IronPython runs as part of the SolverStudio .Net code that interfaces between Excel and Julia. So, yes, we do interface to Julia via IronPython.

          Please keep sending us feedback; we appreciate it.


  2. Closing the “ticket”:

    Sorry but we just forgot to decoment the #include(solverstudio.jl) in the version used from within the Excel/SS window. Now phsheet is correctly printed in the matrix area of the spreadsheet, as expected.


  3. Hi Andrew,
    basically i did the following experiment first to get closer to my situation: took the knapsack example and reworked inserting a function (MyKnapsackCns) that declare the variables, formulates the problem, solves it and get back the model (MyMod). I added with absolute path the funciton file, all in all as follows

    using JuMP
    using Gurobi

    MyPath = “E:/CodiciSorgente/ProgrammiJulia/SolverStudio”

    MyMod = Model(solver=GurobiSolver())
    MyMod = MyKnapsackCns(MyMod)

    #get the variable back from model: New feature with trunck of JuMP
    x = getVar(MyMod,:x)
    # Write out solution to spreadsheet
    x_sheet = getValue(x)

    leaving the way x_sheet is set in the edit data of solverstudio, with its indices. In so doing everything works and the results are printed in the excel raw.

    Then i practically did the same thing with my scripts, including all the functions needed, taking the main and copied onto the SStudio windows.
    The structure of this main file is as the knapsack one:

    …several others

    several julia global variables

    #definition of a function
    function SolveMyProblem(…)
    …same as Myknapsackcns

    #call the function

    ph = getVar(MyMod,:ph)
    phsheet = getValue(ph)

    println(“Ph dim = “, size(phsheet))

    for i in 1:imax
    print_with_color(:blue, ” H Unit $i phsheet: ” )
    for h in 0:hmax
    @printf(“%.2f “, phsheet[i,h])

    what i displayed in the previous message is the log of the print, which tells me the ph variables have been correctly retrieved,
    the last thing does not work.
    phsheet is defined in the edit data with its raws and colums and if i see them from edit data panel i correctly see that they are pointed, but still the results
    are not written in the excel and the message

    ## Julia run completed. Reading results…
    ## No results were produced, and so no results were loaded into the sheet.
    ## Done

    is displayed, and the dict are => None as in the previous message.

    1) ph is outside a module, its basically as in the knapsack experiment. A variable at a global scope
    2) the only thing is a call of a function that solves the problem and get back the results

    Therefore i am missing something

    Does this explanation strikes some bell to you ? If you want i can send to you privately the whole script and the excel file



    • Thanls for this detail. Please look at the results file produced…. SolverStudio adds code in Julia to wrote this out and then simply reads this in using the RunJulia.py python code. There must be something different in this file between the two cases. And yes please email me your code. Andrew

  4. I succeed in adding absolute path for my include but after a successfully run from gurobi i get the following

    H 28 19 1138405.9215 1138422.45 0.00% 365 2s
    H 60 17 1138412.2323 1138419.01 0.00% 332 2s

    Cutting planes:
    Gomory: 9
    Implied bound: 1
    Flow cover: 5

    Explored 61 nodes (29596 simplex iterations) in 2.32 seconds
    Thread count was 6 (of 12 available processors)

    Optimal solution found (tolerance 1.00e-05)
    Best objective 1.138412232293e+06, best bound 1.138419014314e+06, gap 0.0006%
    Ph dim = (5,25)
    H Unit 1 ph: 13.06 33.85 33.85 8.46 -0.00 -0.00 -0.00 8.46 -0.00 8.46 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 8.46 18.53 33.85 33.85 33.85 33.85 33.85 8.46
    H Unit 2 ph: 9.95 21.73 5.43 -0.00 -0.00 -0.00 -0.00 5.43 -0.00 5.43 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 5.43 21.73 21.73 21.73 21.73 21.73 5.81
    H Unit 3 ph: 37.76 102.26 102.26 25.57 -0.00 -0.00 -0.00 25.57 -0.00 25.57 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 25.57 77.32 102.26 102.26 102.26 102.26 102.26 25.57
    H Unit 4 ph: 51.54 110.42 27.61 -0.00 -0.00 -0.00 -0.00 27.61 -0.00 27.61 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 27.61 92.58 110.42 110.42 110.42 110.42 110.42 27.61
    H Unit 5 ph: 114.69 233.52 58.38 -0.00 -0.00 -0.00 -0.00 58.38 58.38 233.52 58.38 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 -0.00 58.38 233.52 233.52 233.52 233.52 233.52 73.04

    ## Julia run completed. Reading results…
    ## No results were produced, and so no results were loaded into the sheet.
    ## Done

    the variable ph is retrieved as usual in JuMP

    phsheet = getValue(ph)

    and the variable phsheet is set in the “data item” dialog with a “new data item” with proper dimension

    the result matrix if not displayed in the excel and in fact the “view last adata file” display something like a None dict

    TimeStamps = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, ]
    HUnit = [1.0, 2.0, 3.0, 4.0, 5.0, ]
    phsheet = @compat Dict{Any,Any}((2.0, 24.0) => None, (4.0, 5.0) => None, (5.0, 2.0) => None, …..

    what am i missing to print the solution properly ?


    • I dont have a PC with me as I am travelling, so i cannot check your example. But the data items file you showed looks like the input file (going from SolverStudio to Julia). Can you show us the Julia result file? Also where is phsheet defined? It needs to be in the main code not a module. After running, try using the new Julia console to display phsheet (assuming you are running in a SolverStudio Julia console, as now happens by default). please let us know how you get on. Andrew

  5. For the moment being either the stable and the alpha release work fine. I am using the alpha since you mention that the julia support is enhanced. One question. I have a faily complex scripts in julia with a main that i use to run at command line and several includes called at the beginning of this main.jl How can i run such a model from within SolverStudio?
    Loading the main.jl is ok but shall i set the include(allMyPath\MyFunction.jl) to let it work?
    Additionally it seems that the main file to be run can only be modified withing the excel console, is there any other ways of using another tool? (for julia i just use lieclipse with some syntax support for julia)

    Thanks again


    • Fabrizio: SolverStudio expects the full model to be in one file. The long term plan is for multiple files and support for external editors. But in the mean time you have to manipulate paths to get files included. Thanks for all your feedback… Please keep it coming! Andrew

  6. Hi again, i tried with the stable release and everything went fine. I was also able to run the knapsack 🙂 Supporting Julia/JuMP is fantastic as in my option is currently the most interesting platform. Fast as AMPL (Pyomo is unfortunately much slower and memory demanding), not commercial and more importantly embedded in a complete scientific language.
    I will try some of my Unit Commitment (power optimization) scripts already coded in JuMP/Gurobi and let you have my insight



  7. I am getting the following manifest error when trying to install solver studio:

    ************** Exception Text **************
    System.Deployment.Application.InvalidDeploymentException: Exception reading manifest from file:///C:/Users/my_name/Desktop/SolverStudio_00_08_01_00%2020150616/SolverStudio/SolverStudio/SolverStudio.vsto: the manifest may not be valid or the file could not be opened. —> System.Deployment.Application.InvalidDeploymentException: Manifest XML signature is not valid. —> System.Security.Cryptography.CryptographicException: SignatureDescription could not be created for the signature algorithm supplied.
    at System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm key)
    at System.Security.Cryptography.Xml.SignedXml.CheckSignatureReturningKey(AsymmetricAlgorithm& signingKey)
    at System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags verifyFlags)
    at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)
    — End of inner exception stack trace —
    at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)
    at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
    — End of inner exception stack trace —
    at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.GetManifests(TimeSpan timeout)
    at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.InstallAddIn()

  8. Hi, i downloaded this beta testing for using with JuMP ut the installation gives to me an error

    System.Deployment.Application.InvalidDeploymentException: Eccezione durante la lettura del manifesto da file:///C:/Users/FabriNP/Desktop/SolverStudio/SolverStudio/SolverStudio.vsto: manifesto non valido o impossibile aprire il file. —> System.Deployment.Application.InvalidDeploymentException: Firma XML del manifesto non valida. —> System.Security.Cryptography.CryptographicException: Impossibile caricare SignatureDescription per l’algoritmo di firma fornito.
    in System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm key)
    in System.Security.Cryptography.Xml.SignedXml.CheckSignature(AsymmetricAlgorithm key)
    in System.Security.Cryptography.Xml.SignedXml.CheckSignatureReturningKey(AsymmetricAlgorithm& signingKey)
    in System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags verifyFlags)

    Basically from italian messages, it means that there is an error during the reading of the .vsto file since the XML signature is not valid…something like than

    I run the installer as administrator and as single user (with the same grant)

    Any hints on how to solve the issue ?


Leave a Reply

Your email address will not be published. Required fields are marked *