If you are developing .NET (that is, not the Windows Store, Windows Phone or Silverlight), then I definitely recommend that you take a look at lpsolve , which is suitable for big problems with LP and / or MILP. Download the x86 or x64 development archives that contain the corresponding lpsolve DLL: s, and then download the .NET API archive containing the C # file with P / Invoke calls for all the corresponding functions in the lpsolve API.
Another alternative is to use the CLIN resolver COIN-OR , using CoinMP precompiled binaries. There is a C # DLL wrapper available here .
If you need purely managed code, ALGLIB is probably the best choice (as Mark Gravell suggested above), but keep in mind that the open source ALGLIB license uses the GPL. If you want to use ALGLIB in your own code without disclosing it to the open source community, you will need to purchase a commercial license from ALGLIB.
A quick search on the Internet also shows a clean C # implementation of the Simplex LP algorithm here . I cannot identify the author, and I have no idea whether this implementation is correct or of what quality. The code is really very portable, albeit in terms of the context of the Windows Store, Windows Phone, Silverlight, and Mono.
Anders gustafsson
source share