我正在尝试最小化 MATLAB 中的非线性向量值函数。作为我的代码的测试用例,我尝试最小化一个我知道先验解决方案的函数。
问题是其中一种解决方案在规模上分布广泛。它们是 [175,164,854,3.7e5,6000];
如您所见,3.7e5 与解向量的其余部分在规模上存在很大差异。结果,尽管容差、算法等发生了变化,MATLAB 可以为我的 x(4) 解决方案找到的最佳值是 5.2e5
现在,我知道使用对角线(或接近对角线)缩放可以帮助找到最小化解决方案。但是,据我了解,需要 Hessian 矩阵来获得缩放因子,即理想情况下,我想缩放解决方案,以便目标函数的 Hessian 成为解决方案处/附近的单位矩阵。
但问题是,向量值函数的 Hessian 矩阵是张量而不是矩阵。
是否有解决方案或任何其他方法来处理此问题?