(Отказ от ответственности: я также написал в mathworks в надежде на быстрый ответ. Я надеюсь, что это не осуждается.)
Я хочу минимизировать очень хорошо себя ведущий реальныйцелевая функция $ f $ из R ^ I. Возможные точки находятся внутри выпуклой оболочки конечного набора точек от x ^ 1 до x ^ n. Меня интересует только нахождение точки y, где f (y) максимизировано, и мне нет дела до N весов (в N-мерном симплексе), которые позволяют мне записать y как выпуклую комбинацию x ^ i.
Конечно, я мог бы просто написать оптимизацию как:
popt = fmincon(@(p) f(x'*p),[],[],ones(1,N),1,zeros(N,1),[]);
y = x'*popt;
Однако, если точки, которые охватывают выпуклую оболочку, почти мультиколлинеарны, то эта составная функция (как функция от p)очень плоский вокруг оптимального. Я подозреваю, что это сильно замедляет fmincon и поможет ему «решить проблему» в пространстве R ^ I, а не в N-мерном симплексе. Какие шаги я могу предпринять, чтобы достичь этого?