I am trying to minimize a non-linear vector-valued function in MATLAB. As a test case for my code, I try to minimize a function whose solution I know apriori.
The problem is that one of the solutions is widely distributed in scale. They are [175,164,854,3.7e5,6000];
As you can see, the 3.7e5 has a wide difference in scale with the rest of the solution vector. As a result, despite changing tolerances, algorithms etc., the best that MATLAB can find for my x(4) solution is 5.2e5
Now, I know that using a diagonal (or close to diagonal) scaling can help in finding the minimizing solution. However, from my understanding, the Hessian matrix is needed to obtain the scaling factor, i.e. Ideally I would like to scale the solutions so that the Hessian of the objective function becomes the identity matrix at/near the solution.
But the problem is, the Hessian of a vector-valued function is a Tensor and not a matrix.
Is there a solution, or any other method for handling this problem ?