首页 > 解决方案 > 在 fmincon 中应用变量的变化

问题描述

(免责声明:我也发帖到mathworks上,希望能尽快得到答复。我希望这不会被反对。)

我想从 R^I 中最小化一个表现良好的实值目标函数 $f$。可行点位于一组有限点 x^1 到 x^n 的凸包内。我只对找到 f(y) 最大化的点 y 感兴趣,而不关心允许我将 y 写为 x^i 的凸组合的 N 个权重(在 N 维单纯形中)。

当然,我可以简单地将优化写为:

popt = fmincon(@(p) f(x'*p),[],[],ones(1,N),1,zeros(N,1),[]);
y = x'*popt;

然而,如果跨越凸包的点几乎是多重共线的,那么这个复合函数(作为 p 的函数)在最优值附近非常平坦。我怀疑这会大大降低 fmincon 的速度,并且会帮助它在 R^I 空间而不是 N 维单纯形上“解决问题”。我可以采取哪些步骤来实现这一目标?

标签: matlaboptimizationconvergencefminsearch

解决方案


推荐阅读