Applying a change of variables inside fmincon
1 回表示 (過去 30 日間)
古いコメントを表示
I want to minimize a very well-behaved objective function over the convex hull of a finite set of points .
I am only interested in finding the point where f is maximized, and do not care about the weights that allow me to write .
Of course, I could simply write this as:
popt = fmincon(@(p) f(x'*p),[],[],ones(1,N),1,zeros(N,1),[]);
y = x'*popt;
However, if the points that span the convex hull are nearly multicollinear, then this compound function (as a function of p) is very flat around the optimum. I suspect that this is slowing down fmincon a lot, and would help it "solve the problem" in the space rather than over . What steps could I take to achieve this?
0 件のコメント
採用された回答
その他の回答 (1 件)
Matt J
2019 年 10 月 18 日
You could add a regularizing penalty to better specify the solution p_i in the cases where it is ambiguous. Maybe an L1 penalty to enourage sparseness, or an L2 roughness penalty.
2 件のコメント
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!