最优化理论学习心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最优化理论学习心得
本拟撰写以《考虑电力系统静态电压稳定的无功优化问题的建模与求解实验》为题的课程小论文,无奈问题复杂,数据有限(掌握的数据都是上千维变量空间,上千个约束方程的大问题,不便于初步研究),再加上撰写三个数值报告消耗了大量时间精力,实在无力在考试之前完成这篇论文,只能退而草草炮制这篇学习心得,论文留待假期或以后,涉及到专业研究方向,总是要写的。
下面谈七点心得体会:最优化问题的普遍性、实用性和趣味性,最优化问题的困难,数学的简单与复杂的辩证关系及其引发的对生活态度的思考,理论问题与数值问题的差异,最优化问题的信息论视角,最优化问题和解方程问题的关系,周老师的可贵精神。
最优化问题无处不在。只要存在选择,并涉及稀缺资源,就一定存在优化问题。可以很“高深”,比如前面提到的电力系统无功优化问题,比如导弹的轨迹优化问题;也可以很“生活”,比如有同学研究了在交大教室、图书馆、实验室和几个食堂之间的最优路径问题,比如我曾经写过一篇《恋爱中的博弈问题》,又比如有同学问周老师:“如何花费最少的时间获得相对较好的最优化课程分数?”但它们有着共同的特点,就是很实际,并且很有趣。可以说,作为一个普通的工学研究生,以往从没有接触过一门数学课程(除了那些最基本的算术、几何),如此地贴近现实问题,立足现实问题,而最终亦指向现实问题。在最优化理论系统中,除了可以感受到一般数学理论的那种纯粹、抽象、透彻、简洁,也能感受一种无处不在的实用主义价值观,“实用”、“好用”、“凑效”这些看起来不那么“数学”的评价标准在这个领域中也有着相当的地位。而在各种“数学”、“非数学”的标准之间的权衡取舍,本身就是一个多目标优化问题而体现出某种对系统性思维的诉求。思考、研究这样的问题,即有用,又有趣,令人快乐无穷。
这些可能与生活琐事紧紧相连的问题可能引发数学上极大的麻烦。比如现在大家都知道的背包问题,我看到这个问题的第一反应是:这应该是个很简单的问题!不错,模型是简单的,求解确实极富挑战的。又比如最速下降法的收敛性,从直觉上讲实在是让人感到不证自明的东西。然而,放到数学领域严谨考察,问题就不那么简单了,仅仅对一个正定二次函数就花费了近半节课的时间去证明。再比如对于“皮球下山法”的局部收敛问题。将一个皮球掷向一个可微的谷域曲面,最终能停止到极小值点周围,这是直觉必然,也是物理事实。为了让它能在理论上最终精确停在极小值点,需要取消摩擦力作用;为了让球的能量最终全部耗散,同时为了让连续运动问题变为离散的跳跃问题,必须让球在任何情况下都保持跳跃而不能滚动,且每次跳跃按一定规则衰减动能。然而,就是这一点点和实际物理过程的看起来不影响结果的改动,放到数学领域严格考察,就会发现收敛性恐怕是有条件的,因为速度的衰减太快,在某种具体的目标函数形态下,完全有可能使算法收敛到不是极小值点的地方。进而,要证明或给出收敛条件,就是很困难的工作了。由于最优化问题本身的多样性与复杂性,虽然在最优化理论课程上,我们学习了众多的算法,可是放到现实科学工程领域,真正全面有效的算法其实却不多,甚至限于我的认识,还没有任何一种对于高维的、有复杂约束的全局优化问题凑效的算法,而现实科学工程领域中,这样的问题并非少见,在我个人的领域中,更是随处都是。然而,正因为有困难,这个领域也才拥有无限的发展空间和蓬勃生机,从而散发出醉人的魅力。
数学近乎天下之至简,好比全局优化算法“穷其一生”也无法完全掌握的目标函数的全局信息,通过目标函数一个短短的解析式就能完整包括;一个二维的优化问题也许我们可以凭直观观察迅速获得全局最小值点,但对于大于更高维,多约束的问题,直观就无能为力,经过严格证明可行的数学方法确定解决这些问题;千差万别的现实世界信息似乎无穷无尽,然而全部的重要的核心数学理论(或物理理论的数学描述)——集中起来或许一张CD都装不满——就能描述其中大部分的运动变化规律,难怪有毕达哥拉斯者认为世界就是数学的实例。然而数学也近乎天下之至繁,一方面,数学是对现实某一方面的抽象,另一方面数学要求严格的逻辑必然性,掺不得半点沙子。而现实对象往往是具体的复杂的,要用数学准确描述一个具体对象的全部(或决定性方面)是不可能的(或很复杂的)。回到最优化问题上来,这就引发了一种对生活态度的思考:现实生活中,我们是否需要最优化结果和最优化方法?我想现实的考虑是,需奉中庸之道。如果我们面对生活中的任何问题,都追求用绝对严格的优化方法,追求获得绝对的最优解,那么,很可能什么事都做不了了。很多时候,在现有已掌握的方法和结果中选择最不差,比在一切可能的方法和结果中选择最好,要实际有效得多。比如对于社会改良问题,政策设计问题。而对于另一些问题,如果我们把注意压力集中在最优性的功利思维上,就有可能最终反而破坏结果的最优性,比如对于那个学习最优化课程的最优时间花费问题,周老师认为读书做学问不能采取这样的态度。
理论问题和数值问题的差异是在本学期两门相关数学课上才被真正当作一个问题摆在我们面前的。我想这本身就是我国数学基础教育的一个弊病:由于在研究生教育以前,很少接触数值计算及相关问题,学生无法对这个问题有充足的感知和眼界,而现实当中需要数学的时候,恰恰又都无法避免数值计算问题,于是,所学和所用之间多了一条裂痕。这是应当引起思考和重视的。在最优化理论课程的三次数值实验中,无处不是数值计算相对理论计算的差异。最典型的问题是局部优化算法的可靠性。对于一切基于一维搜索的方法,当一维搜索在理论上绝对可行的时候,在现实计算中出现理论外结果的情况几乎可说是大量存在的,特别对于某些专门的测试函数。目标函数的数量级太大,梯度函数的数量级太小,舍入误差等等,都可能使一维搜索失败、结果不可靠甚至异常退出,为防止这些不符合理论要求的情况出现(且不说有时是防不胜防),又需增加运算负责检查矫正,最终也很难完全避免。信赖域的方法同样存在着数值计算中的不可靠,甚至在小尺度时,实验中比基于一维搜索的方法有时更加不可靠。又比如特征值计算问题,当使用eigs()函数而Hessian阵数值的数量级太大时,就会发生异常返回。再比如,在各种出现数值大小比较的地方,都存在着数值计算带来的问题和隐患,比如判定Hessian阵正定,理论上只需最小特征值大于0,可是,万一由于数值的原因这个最小特征值在计算机中是负的,就会得出错误的结果。相等判断更是如此,一切“x==A”对double变量都因舍入误差的存在是不可靠的,只能是"||x-A|| 最优化问题到底是个什么问题?我认为,抽象地讲,解最优化问题的过程,就是获取目标函数一条全局信息的过程,这个需要获取的全局信息,就是某点的函数值最小。为什么说这是个全局信息?因为说某点函数值“最小”,其实是说某点函数值“比其它所有点的函数值都小”,包含了该点函数值对所有点函数值的大小比较关系,这当然是全局性的。而最优化问题的主要矛盾就是,问题的解所包含的信息是全局性的(并可能是无限的,因为包含了