软件名称:lpsolvehtml
解决问题:纯线性问题,混合的整型和二进制问题,半连续性与特殊命令集(SOS) 模型编程
应用平台:由ANSI C编写,可应用于Linux和WINDOWS等不一样平台。网络
解决下图所示的最大流问题(这幅图已经标注出求解结果了):编程语言
lpsolve IDE环境中只需输入以下的文本,是否是很是简单直观:工具
而后按一个运行按钮(红框标注),出现如下的求解结果,红框标注的是结果,蓝框标注的是求解信息,包括耗费时间等等:ui
关于lpsolve IDE环境的详细使用说明能够参考其使用手册(lpsolve下载主页上可自由下载),看到这里也许有人会问,上面的例子很简单,若是对于复杂的网络拓扑,本身手动输入这些表达式显然是不现实的, 那该怎么办,好在lpsolve能够集成在别的开发环境中,它提供了一整套API,可供调用,具体也请参考使用手册,上面提到的博客里对于matlab调用lpsolve有简单的说明,这里补充说一下,mxlpsolve('write_lp',lp,'a.lp')这个语句能够生成IDE环境里可直接执行的脚本文件(C,JAVA等接口也有相似语句),这样复杂的问题能够用高级编程语言建模,而后生成LP脚本文件单独在IDE中运行,是否是很方便。spa
以上这个Max Flow的例子直接用matlab自带的linprog工具箱求解,写出代码是:.net
1unix 2code 3 4 5 6 7 8 9 10 11 12 13 |
|
求解结果以下,能够看到虽然最大流的值是正确的,但其它边上的流却与lpsolve求解结果有很大差异:
详细使用请参阅peonyding的ChinaUnix博客>>