用于查找线性程序解的单纯形算法的上限是多少?
我将如何寻找这种情况的证据?似乎最坏的情况是是否必须访问每个顶点,所以它就是。但是实际上,对于更标准的问题,单纯形算法的运行速度明显快于此算法。
如何使用这种方法解决问题的平均复杂度?
任何信息或参考,不胜感激!
用于查找线性程序解的单纯形算法的上限是多少?
我将如何寻找这种情况的证据?似乎最坏的情况是是否必须访问每个顶点,所以它就是。但是实际上,对于更标准的问题,单纯形算法的运行速度明显快于此算法。
如何使用这种方法解决问题的平均复杂度?
任何信息或参考,不胜感激!
Answers:
单纯形算法确实在最坏的情况下访问所有个顶点(Klee&Minty 1972),事实证明对于任何确定性枢轴规则都是如此。但是,在使用平滑分析的地标性论文中,Spielman和Teng(2001)证明,当对该算法的输入进行轻微随机扰动时,对于任何输入,单纯形算法的预期运行时间都是多项式-这基本上表示任何问题都有一个“附近”的问题,单纯形方法将有效解决这个问题,它几乎涵盖了您想解决的每个现实世界中的线性程序。之后,Kelner和Spielman(2006)介绍了 一种truley可以在任何输入上工作的多项式时间随机单纯形算法,甚至对于原始单纯形算法来说也很糟糕。
若要深入了解单纯形方法的最坏情况和平均情况分析,您应该阅读“平滑分析:为什么单纯形算法通常需要多项式时间”。斯皮尔曼和滕。
GLPK Simplex Optimizer, v4.65
200 rows, 200 columns, 20100 non-zeros
Preprocessing...
199 rows, 200 columns, 20099 non-zeros
Scaling...
A: min|aij| = 1.000e+00 max|aij| = 1.607e+60 ratio = 1.607e+60
...
Constructing initial basis...
Size of triangular part is 199
* 0: obj = 0.000000000e+00 inf = 0.000e+00 (200)
* 1: obj = -6.223015278e+139 inf = 0.000e+00 (0)
OPTIMAL LP SOLUTION FOUND
Time used: 0.0 secs
Memory used: 3.4 Mb
任何人都可以建议其他方法来为单纯形方法构造困难的问题,缓慢但不受内存限制吗?
补充:拉丁方又名3D置换矩阵似乎有很多顶点-多少?
理论和实践在理论上比在实践上更接近。