LCP的来历。名称英语Linear Complementarity Problem,中文称为线性互补问题。20世纪80年代由Cottle(是Danzig的学生,Danzig是线性规划的提出者)在其博士论文中提出。线性规划是二次规划的特例,二次规划可以通过LCP的求解,因此这个更一般化的问题给了数学家们研究的动力和方向,在经过几十年的发展后,广泛运用到各个行业中,如经济学、博弈、数学规划,力学、润滑中。大家熟悉的纳什均衡(电影美丽心灵《A Beautiful Mind》的主角提出的一个问题,论文名称《Non-Cooperative Games》,请自行百度)与之有相当大的关系。
2)LCP问题的简单的数学描述。已知一个矩阵M和一个向量q(此向量任意),寻找一个向量z, z≥0(向量的每个元素都大于等于0),此向量满足〖 (Mz+q)〗^T z=0。使用语言描述就是已知一个矩阵M和向量q,寻找一个向量z,此向量z经过线性变换后(Mz)加上另一个向量后(Mz+q)与自身正交,即〖 (Mz+q)〗^T z=0。数学上描述成已知矩阵M∈R(n×n),向量q∈Rn,待求另一个向量z∈R^n,z≥0,这些向量满足以下关系:〖 (Mz+q)〗^T z=0,简单记为LCP(M, q)。正是因为这个式子相对线性方程组有了不等式,增加了难度,因此需要专门的数学方法。LCP属于最优化领域的研究内容,有关LCP更严格的定义见论文或教科书。此外还有非线性互补问题,不在讨论范围。
3)LCP的研究内容。在理论上,就是要证明,矩阵M和向量q满足何种条件下,才有解,哪些条件才能使解唯一。在数值上(计算机能实现的算法),找到一种好的算法(就是占内存小,计算快,稳定性高)。
4)LCP的直观理解。为了方便理解,用两个例子表格来展示两个向量之间的关系。其中待求的向量为z(分别在表1的5列,表2的7列),满足Mz+q>0,且(Mz+q)*qT=0,且z>0。其中M是矩阵,q是向量。注意,以上向量大于0表示向量中的每个元素都大于0,但不要求q>0。结合下表中,说明如下,其中M是已知矩阵,q是常数向量,z是待求向量。第一行的变量说明了变量的功能,例如,M*q表示M乘以q,w=M*z+q表示M乘以z加q保存到w,最后的(M*z+q)*zT用于计算w与z的点乘。从上表中最后一列看出,w和z的每个对应元素乘积都为0。实际上z>0,w>0也就要求元素中一个为0,一个则不为0。以下的表格可以粘贴回excel来进行数值验证。
线性互补的PGS算法
最新推荐文章于 2025-03-11 11:28:52 发布