【小工具】lp_solve.exe求解线性规划

【小工具】lp_solve.exe求解线性规划

1.解线性规划的算法

参考资料<<算法导论>>第29章 线性规划 P473

单纯形算法

1.1单纯型算法的思想:

1.2单纯型算法的过程:先将线性规划转化为松弛型(关于如何转化可以参考29.1节);然后是一个制定主元的过程PIVOT;现在就可以对单纯型算法就行形式化了SIMPLEX。

1.3PIVOT

下面是制定主元的算法伪代码:

clip_image002clip_image004

1.4.Simplex的伪代码

clip_image006

网上有很多开算法库源代码,下面推荐OpenSAL

http://www.oschina.net/code/snippet_1259068_24335

可以处理很大规模的线性方程组。

但效率方面不是太好。

2.lp_solve.exe的使用

2.1程序介绍

http://www.statslab.cam.ac.uk/~rrw1/opt/lp_solve/

lp_solve was originally written for Unix machines. This port of

lp_solve version 2.0 to DOS was done by John P. Powers in September 1995.

Let me know if you have any problems getting this program to work for you.

It works successfully in a DOS window on my PC running Windows 95.

Richard Weber, 21 May 1996.

关于command参数的说明:http://lpsolve.sourceforge.net/5.5/lp_solve.htm

2.2下面是一个典型的例子:

A practical example

输入文件lp_input.txt:

clip_image008

然后输入命令:

clip_image010

也可以重定向到lp_output.txt等文件中,lp_solve -s3 lp_input.txt >lp_output.txt

lp_solve.exe程序的效率很高,也能很好地处理大规模线性规划。同时通过参数可以进行整数约束等等。仔细研究参数可以学到更多~~

你可能感兴趣的:(exe)