首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用多参数的fminsearch约束

使用多参数的fminsearch约束
EN

Stack Overflow用户
提问于 2014-04-06 04:34:47
回答 1查看 3.4K关注 0票数 0

如果我不理解fminsearch或者只是屠杀行话,可以随意地关闭它,但是我的问题是。

我可以一起使用带有多个参数约束的fminsearch吗?

代码语言:javascript
复制
fminsearch(@(x) func(x(1), x(2)), [2,2], such that x(1) * x(2) = 4 or something like that)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-06 05:52:43

非线性优化是一个非常困难的问题,因此没有一种方法能保证对每一种情况都有效。对于您的情况,您可以从x(1)解析解x(2)。所以你可以把它变成一个无约束的优化问题。

代码语言:javascript
复制
func_cstr = @(x) func(x, 4/x);
fminsearch(func_cstr, initial_x1)

如果不能在x(1)和x(2)之间建立明确的关系,那么可以尝试一种惩罚方法:

代码语言:javascript
复制
pen = 1e5;
constraint = @(x) (x(1)*x(2)-4)
func_cstr = @(x) func(x)+pen*constraint(x)^2;
[x,fval] = fminsearch(func_cstr, initial_x1_and_x2);

还有一个约束优化求解器fmincon由MATLAB提供。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22890026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档