首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
整理阅读的论文(二)
时间:
2015-06-30 21:56:46
阅读:
194
评论:
0
收藏:
0
[点我收藏+]
标签:
事实上,优化问题的分水岭不是线性和非线性,而是凸性和非凸性。[1]
----(美)R.T.Rockafeller
记得以前看过 Laplacian 优化算法介绍时,它的物理背景是一个弹簧的弹性能最小的模型(注1),好像里面还有一张配图(上网搜了一下,可惜没有搜到),当时自己弄不明白这两者是怎样联系在一起的。这篇文章 [2] ( 4 Laplacian smooth 一段)从优化的角度对两者之间的关系做了解释,这是我读这篇文章最大的收获。
网格(包括二维和三维网格)优化问题常常转化为迭代方式求解。涉及到数学的迭代问题,自然有以下问题需要回答:迭代收敛吗?这个问题掰碎了来说还有诸多细节需要考虑(不考虑数值累计误差):如优化问题有唯一解吗?如果有多组解,迭代收敛到哪一个解?初值的选取对迭代的影响呢?
下面具体到网格优化问题来讨论。先来解决第一个问题,什么时候优化问题有唯一解?由于凸目标函数有唯一的最优解,因此构造凸目标函数是一个常用的方法。幸运的是,Laplacian 优化的目标函数(连接内部节点长度的平方和或者是连接内部节点长度的平方和加上三角形面积之和)是一个凸函数。接着,该问题如何求解?迭代求解。针对Laplacian 优化的目标函数 f(x),有两种迭代实现方法。一种是直接从最值的必要条件出发,构造关于函数 f(x) 的梯度为0的方程组(该方程是一个非线性方程组),然后对节点坐标进行迭代,得到传统的Laplacian优化方案。二是利用梯度下降法进行迭代更新,不同于第一种方法每次对每个点的坐标进行更新,该方法是每次针对每个单元的三个节点进行更新。文中的结论是,采用梯度下降法构造的迭代格式能够很好地满足迭代的收敛性和初值选取的不敏感性。
评价网格质量常常使用三角形的面积与三角形边长的平方和之比来评价,而 Laplacian 优化的目标函数给出的目标函数没有涉及到这一项,怎么解释?让我们退一步来看,假设使用面积与边长的平方和来作为目标函数,至少存在两个难以解决的现实困难,一个是问题解的唯一性很难保证,二是即便唯一性得到保证,目标函数的梯度(不论是基于节点的还是基于单元的)的求解相当复杂,不利于数值算法的实现。回过头再来看 Laplacian 优化的目标函数,它将乘除问题近似(注2)转化成加减问题(注3),从而能够把该问题使用数值方法有效求解,这可以通过传统的 Laplacian 的优化结果中来佐证。
BTW:由于没有推导出文中的关于向量梯度的公式,只好以结论去对照理解记忆,这里就不解释了。还有,关于多边形的扩展形式的网格优化部分,自己看得也是一知半解。
注1:
熟悉fluent的童鞋可以参见以下链接,里面介绍了其关于Laplacian优化的部分理论和软件的实现结果:
http://blog.sina.com.cn/s/blog_599d8faa0100w3hn.html
http://blog.sina.com.cn/s/blog_599d8faa0100w3z8.html
注2:
这种转化显然将网格的尺寸的影响效应放大了,原来的两个比值相同的结果近似为加减的形式之后显然不同,尺寸大的网格质量比尺寸小的网格质量更差,这可以通过文中所述的加权方式(5.1 Introducing weights一小节)去解决。
注3:
将乘除问题转化为加减问题常使用的一种方法是取对数,它带来两个好处,一是可以利用对数函数的性质得到一些结论,另一个是对于数值很小变化趋势不明显的数值,取对数常常使得问题的变化趋势很明显,如弹性力学中的工程应变就是对真实应变取对数得到的 [3],它满足可加性。
参考文献:
[1] 《凸优化》 P14, Stephen Boyd, Lieven Vandengerghe著,王书宁等译,2013年,清华大学出版社
[2] Laplacian smoothing reviseited, Dimitris Vartziotis and Benjamin Himpel, 2014
下载链接:
http://arxiv.org/abs/1406.4333
[3]
http://blog.sina.com.cn/s/blog_588508f8010007d4.html
整理阅读的论文(二)
标签:
原文地址:http://www.cnblogs.com/liuyc/p/4611606.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!