5.18
今天进行了上机实验,通过本次黄金分割法(0.618 法)的 Python 编程实现实验,我系统学习了一维寻优的核心算法,从理论原理到代码实践完成了完整闭环,不仅加深了对数值优化方法的理解,也提升了编程与问题解决能力,收获颇丰。
在理论认知上,我彻底掌握了黄金分割法的核心思想:利用固定黄金分割比例等比例收缩搜索区间,在保证搜索精度的同时,大幅减少函数计算次数,高效逼近函数极小点。实验中我也深刻认识到,初始搜索区间的确定是算法成功的关键,只有满足高 - 低 - 高特性的区间,才能保证找到有效极小点,而进退法通过前进、步长加倍、反向搜索的策略,自动完成初始区间的确定,完美解决了人工指定区间的盲目性,让我理解了优化算法中 “前期准备” 与 “核心寻优” 相辅相成的关系。
在编程实践中,我将抽象的算法步骤转化为可运行的 Python 代码,进一步巩固了函数封装、循环控制、数学计算、格式化输出等基础语法。我学会了将复杂算法拆解为独立功能模块:把进退法和黄金分割法分别封装为函数,让代码结构清晰、可读性强、易于调试。在实现过程中,我也遇到了浮点数精度处理、迭代条件判断、内点变量复用等问题,通过逐步调试与优化,最终解决了这些难点,这让我明白,编程实现数值算法不仅需要严谨的逻辑,更需要细致的细节处理。
实验过程中,程序逐次输出迭代的区间端点、内点数值,让我直观看到搜索区间不断收缩、逐步逼近理论极小点的全过程,清晰验证了黄金分割法每次区间收缩比例约为 0.618 的特性,也直观感受到算法的收敛速度与精度、迭代次数之间的关系。最终计算结果与理论值误差远小于要求精度,充分证明了算法的有效性和程序的正确性。
此外,本次实验为我后续学习多维无约束优化方法奠定了坚实基础。黄金分割法作为一维优化的基础算法,是梯度下降法、牛顿法等复杂优化算法的重要组成部分。通过本次实践,我不仅掌握了一维寻优方法,更建立了数值优化算法的基本思维方式,理解了 “区间收缩、迭代寻优、精度控制” 的核心逻辑。
总而言之,这次实验让我实现了从理论到实践的跨越,既提升了数值优化专业知识,又锻炼了 Python 编程能力,培养了严谨的科学思维和动手解决问题的能力。我深刻体会到数值优化算法在科学计算、工程实践中的重要价值,也为后续更深入的优化算法学习做好了充分准备。
浙公网安备 33010602011771号