使用fmincon优化变量的离散值。
27日视图(30天)
显示旧的评论
我试图解决非线性约束优化问题的非线性模型预测控制。
我用的是fmincon优化功能。
系统是一个火车,我试图找到最优轨迹受限制的最大允许速度变量在不同的空间瞬间和最大的旅行时间,必须实现。
fmincon效果很好,但我需要找到离散值,这意味着我的fminon应该可以把值从这组(1 0、0.5、0.75,1]。
在这点上我知道fmincon是有限的,但是有什么办法可以让我fmincon优化中只选择这些值?
现在选择1和1之间的任何值,使控制器非常缓慢。
其次我的输入不能假设值0.001,0.003,0.75666,他们需要在上述价值观?
任何帮助将非常感激在这方面,我一直在这个问题上停留太久。
谢谢你!
接受的答案
答案(1)
约翰D 'Errico
2016年2月5日
编辑:约翰D 'Errico
2016年2月5日
Fmincon不能处理离散变量。它假设函数是一个连续的,处处可微函数的变量。如果你的变量是离散的,这个假设失败。时期。
你最佳选择最简单的例子是,这样简单地用一个循环遍历每个可能值的变量,而另一个使用fmincon解决连续变量。然后将最好的解决方案。因为只有5变量可能的情况下,没有问题。
它更复杂,更担心可能的情况下,您可以使用文件交换的工具,允许一个混合的问题,一些离散和连续变量。
如果你所有的变量是离散的,再说,你有两个选择。只使用一个完整的抽样的所有可能的情况下,或使用一个工具,可以处理离散变量。Fmincon不是一个选择。