当使用fmincon可以给我一个变量约束的范围或零?

1视图(30天)
本质上我有一个变量可以5至20或者是0。我目前把它当我应用范围5 - 20我失去的能力解决工作在0。有另一个优化我可以使用吗?谢谢。
1评论
疯狂的酷
疯狂的酷 2017年7月25日
额外的评论:我有一系列的变量,需要在1和下20但不能选择使用,因此也可以是0,我怎么能这样做呢?

登录置评。

答案(1)

提多Edelhofer
提多Edelhofer 2017年7月25日
你好,
以编程方式:是的,你可以制定这样的非线性约束。但优化器(和背后的理论)不喜欢跳的变量。假设你有一个5的价值。优化器(有些简化:))看起来在附近当前点的一个更好的解决方案,但永远不会做跳转到零。
是你的问题非线性,因此你必须使用fmincon吗?如果它是线性的,那么intlinprog将适合处理这种情况下通过添加额外的变量(使用整数变量)。
提图斯
5个评论

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!