有限元方法从最小势能原理出发(假定体系势能最小的时候,系统处于稳定状态),把网格节点位移作为自变量,求取在外界激励作用下使得系统势能最小的一组最优节点位移。然而,使用有限元软件(ANSYS、ABAQUS等)求解具体工程问题时,你是否想过为何求解过程(大多数情况)能够收敛,计算得到的结果又是否唯一呢?
类比生活中的现象,例如:自然界中生长的植物通过改变自身形状(树木分叉现象),进而能够接受更多的太阳能,直观上可以表征为,树木生长过程中新分裂的细胞在空间中如何分布能够获得最大收益,我们能否从数学上进行证明?
查找相关资料,了解到相关学者通过不动点定理对该问题进行了回答,例如:多位诺贝尔经济学奖获得者运用不动点定理(1972、1983、1994年),严格地证明一个方程式系统解的存在性,进而表征了特定均衡状态的存在性。
No.1
不动点定理的应用
不动点理论在动力学方程、运筹学、博弈论(Nash均衡)、控制论、优化论、经济学(Walrasian平衡点)等领域具有广泛的应用,能够分析非线性微分方程、非线性积分方程以及泛函微分方程其解的存在性和唯一性。数学上证明涉及较多的理论基础,本推文定性的描述不动点在生活中的应用。
场景一:一张圆形垫纸铺在圆形蛋糕底部,现把垫纸拿出来揉成一团,再扔进礼盒,则至少存在一点,折叠后(x,y)坐标没有变化;
场景二:咖啡搅动过程中,总有一点是不动的(如下图所示);
场景三:把地图扔到地上,地图上总有一点位于真实地点的正上方。
纵使从数学上能够证明稳定状态肯定存在,要如何求得这种状态呢,本推文从最简单的例子出发,利用直接迭代的方式,采用数值方法的到最优解。
function [y] = FixedPointIter(x0,func,tol,MaxIter)
xn = x0;
fprintf('Iter 0: %16.14f\n',x0);
xnp1 = func(xn);
fprintf('Iter 1: %16.14f\n',xnp1);
criterion = abs(xnp1-xn);
xn = xnp1;
Iter = 1;
while(criterion>tol)
xnp1 = func(xn);
criterion = abs(xnp1-xn);
xn = xnp1;
Iter = Iter + 1;
fprintf('Iter %2.0d: %16.14f\n',Iter,xnp1);
if Iter>=MaxIter
break;
end
end
y = xnp1;
end
附录一:不动点定理的数学语言表述及证明
定理一:(介质定理)(绳子折叠)
一维度布劳威尔(Brouwer)定理:设[a,b]为R的有界闭区间,f(x)是从[a,b]射到[a,b]内的连续映射,则至少有一点为之不动点(即至少存在一点,使得f(m)=m,m属于[a,b])
定理二:(有限维、凸集)
多维时候f(m)=m依然满足,不过需要添加约束为二范数小于等于1(备注:无穷维不动点定理一般不存在)。
定理三:压缩映像定理:(有且仅有一个不动点)
压缩映射定理定义:设(X,d)是一度量空间,A:X➡X是一映射,若存在正常数K<1,使得d(Ax,Ay)小于等于kd(x,y),则称A是压缩映射
定理四:Banach压缩映射定理:
设A为完备的度量空间(X,d)的压缩映射,则在X中存在A的唯一的不动点;
附录二:纳什均衡的理解
均衡表明事物处于平衡或稳定状态,在自然界中具有重要的意义,例如:生物系统、化学和物理系统,甚至是社会系统,无不在寻求稳态,可以掌握事物的发展趋势。
“均衡点”,意味着其它玩家不改变策略时,均衡点为最优解。
摘自:纳什均衡与博弈论