数值非线性全局最优化示例
寻找多个最优点,方法 1
这里我们介绍一个取得多个极小点的方法,即: 使用不同的随机种子来多次调用 NMinimize,从而导致采用不同的优化路径.
寻找多个最优点,方法 2
这里我们介绍另一种取得多个极小点的方法. 即: 用以下方式写下目标函数,以使得访问过的所有点成为一个列表,然后选择具有接近最终解的目标函数值的点.
寻找数据的非线性拟合
这里画出从 FindFit 得到的解和相应的点. 根据三角函数的性质,我们的解由一个局部最小值捕捉:
这里从数据产生一个平方和,并且使用 NMinimize 来找到最小值.
这里画出从 NMinimize 得到的解以及相应的点:
Solve 示例
Solve 不能解决这个方程组,因为它们是高度非代数化的.
给 NMinimize 提供一个常数目标函数,并以我们所要求解的方程作为约束条件. 这样就能找到问题的解:
棋盘上的皇后问题
使用 DifferentialEvolution 来拟合棋盘上的所有皇后,以避免任何皇后攻击其他皇后. 我们关闭了后处理,因为鉴于问题的离散性质,后处理的使用不大会给我们带来任何帮助: