How to use Third-Party Solvers (lpsolve) from the Excel Solver Foundation Add-In ?

Unanswered How to use Third-Party Solvers (lpsolve) from the Excel Solver Foundation Add-In ?

  • Tuesday, November 22, 2011 5:58 PM
     
     

    Hello,

    I would like to try lpsolve from the Excel Solver Foundation Add-In, using OML.
    Is that possible?
    And eventually, how could I do that?
    I checked that transfering the   LpSolvePlugIn.dll   and   lpsolve55.dll   to the MSF Plugins folder is not enough.

    Thanks,

    Michel

     

All Replies

  • Thursday, November 24, 2011 7:26 AM
     
     

    Finally, it was not so difficult.
    For lpsolve, everything was already available on this site:

    http://www.peno.be/MSF/

    I first compiled the LpSolvePlugIn.dll  for  dotnet 4.0, using the sources from lp_solve_5.5_MSF_source.
    I then copied LpSolvePlugIn.dll   and the lpsolve55.dll  to  the MSF  Plugins  folder.
    I tested this installation on an SFS test project.

    To get the lpsolve directive available in Excel, I used the procedure described there:

    http://blogs.msdn.com/b/solverfoundation/archive/2011/09/15/using-plug-in-solvers-in-solver-foundation-3-1-for-excel.aspx

    For lpsolve, I simply created a   MicrosoftSolverFoundationForExcel.dll.config   file and dropped it in the MSFforExcel  folder.
    Here is the content of this file:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="MsfConfig"
                 type="Microsoft.SolverFoundation.Services.MsfConfigSection, Microsoft.Solver.Foundation, Version=3.0.2.10889, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                 allowLocation="true" allowDefinition="Everywhere" allowExeDefinition="MachineToApplication"
                 restartOnExternalChanges="true" requirePermission="true" />
      </configSections>
      <MsfConfig>
        <MsfPluginSolvers>
          <MsfPluginSolver name="lpsolve" capability="MILP" assembly="LpSolvePlugIn.dll"
                           solverclass="SolverFoundation.Plugin.LpSolve.LpSolveSolver"
                           directiveclass="SolverFoundation.Plugin.LpSolve.LpSolveDirective"
                           parameterclass="SolverFoundation.Plugin.LpSolve.LpSolveParams" />
        </MsfPluginSolvers>
      </MsfConfig>
    </configuration>

    Opening Excel confirmed that the lpsolve directive was then available in Excel in the MSF model pane, and it worked.

    Michel


    • Edited by Lalbatros Thursday, November 24, 2011 7:28 AM
    •