Панель инструментов оптимизации Matlab, оптимизация гессиана - PullRequest
0 голосов
/ 24 августа 2018

Никогда ранее не использовал этот набор инструментов, у меня есть очень большая проблема (то есть количество переменных), которую нужно оптимизировать. Я знаю, что можно оптимизировать гессенские вычисления, что является моей проблемой при ошибке:

Error using eye
Requested 254016x254016 (480.7GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may
take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information.

Но, согласно этой цитате (с форума), должна быть возможность оптимизировать гессенские вычисления:

Если вы собираетесь использовать алгоритм области доверия, вам необходимо выберите некоторую комбинацию опций 'Hessian', 'HessMult' и 'HessPattern', чтобы избежать полного, явного вычисления гессиана.

Я изо всех сил пытаюсь найти примеры этих настроек, кто-нибудь знает?

Моя проблема редкая, если такая информация необходима.

По сути, я уверен, что есть несколько дополнительных опций, которые можно поместить в строку, например:

option = optimoptions(@fminunc,...
    'Display','iter','GradObj','on','MaxIter',30,...
    'ObjectiveLimit',10e-10,'Algorithm','quasi-newton');

1 Ответ

0 голосов
/ 25 августа 2018

Возможно, вам нужно добавить 'HessPattern',Hstr к optimoptions.Здесь приведен пример здесь (в этом примере Hstr определено в brownhstr.mat; вам необходимо вычислить собственную матрицу шаблонов разреженности по гессиану Hstr).

...