探索线性定义空间中的可行点

计算科学 线性代数 线性规划
2021-12-14 20:13:27

在线性可行空间内找到一个点的最快方法是什么?(由几个超平面和半空间的交集定义)。我希望能够在原始凸空间中选择一个初始点,使用一个依赖于在我有的点上,然后我需要在原始空间中选择另一个点,而不是在已经探索过的邻域中。我需要继续这样做,直到空间用尽(最终应该用尽)。基本上,我有一个凸空间,我需要循环直到同时执行以下操作:选择,查找SS=ϕxSN围绕,然后 任何帮助表示赞赏。xSSN

2个回答

寻找单个可行点传统上由单纯形算法的阶段 1 完成。

http://en.wikipedia.org/wiki/Simplex_algorithm#Finding_an_initial_canonical_tableau

这意味着您可以通过调用任何线性规划例程来完成,只需将目标函数设置为零即可。

的球覆盖可行域要困难得多,因为排除球构成了非凸域。有一些算法可以枚举由方程和不等式给出的有界多面体的所有顶点(尽管它们的数量通常随着维度呈指数增长)。在拥有所有顶点之后,可行集仅由它们的凸组合组成,因此可以用于内部采样。但除非多面体是单纯形,否则不同的凸组合可能会给出相同的点,因此在生成最小覆盖时需要添加拒绝设施。r

有一个软件叫PORTA,可以枚举出一组线性不等式和等式中所有可行的点。

http://www.iwr.uni-heidelberg.de/groups/comopt/software/PORTA/

好好享受!