限制在一个特定的值最优化

5视图(30天)
arminass
arminass 2016年1月19日
评论道: Torsten 2016年1月19日
你好,
我有一些代码使用PatternSearch函数最小化系统有大量的变量。
我现在有指定的上下界,是伟大的但我想超越这并指定一组特定的值来限制我的系统。
我想知道是什么,例如,而不是边界:
0 < = x < = 10
我可以代替,
x∈{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}有效限制x是整数。
你将如何实现这个?
(EDIT2)
我不一定想要约束整数,我想指定设置的独立变量可以存在,为了减少我的解空间。
另一个例子:
如果我有一个角θ,我知道可能的角度可能需要
θ∈{0,30,60.5,89.9995}
优化器如何迫使我只考虑这些值θ?
或另一个例子
θ∈{0,2.5,7.5,…,87.5,90}
我设法实现一个解决方案,这个问题我约束优化器由国防部(θ,2.5),但这慢下来时,我希望我的代码,减少可能值的数量我的独立变量会加速优化器。
[编辑]我一直考虑设置约束等
0 =国防部(x, 1)。是这样一个约束可能吗?
谢谢你!

答案(2)

Torsten
Torsten 2016年1月19日
1评论
arminass
arminass 2016年1月19日
编辑:arminass 2016年1月19日
嗨Torsten,
我不太确定这就是我寻找的。我试图解决的系统是一个非线性问题,需要全球优化工具箱来找到最优解。
另外,如果我想限制我的解决方案,例如,价值观的角度找到必须2度增量?金宝搏官方网站在这一点上,我约束系统的角度必须有剩余时零除以2。
谢谢你!

登录置评。


艾伦·韦斯
艾伦·韦斯 2016年1月19日
它是几乎不可能的,您可以使用选项的组合来做你想做的事情。我假设你没有约束边界以外,你对每个组件有有限的范围。
  • 设置ScaleMesh选项“关闭”
  • 设置MeshTolerance选择一个小于1的数,但超过1/2,等0.75
  • 使用“GPSPositiveBasis2N”调查(这是默认值PollMethod)
  • 我也推荐设置CompletePoll“上”
  • 设置所有条目在初始点x0整数范围内,为每个组件设置有限的范围。
在这种情况下,我相信所有访问点将整数值。我可能是错的 MeshTolerance 设置,也许应该是1,但试一试,你就会看到。
艾伦·韦斯
MATLAB数学工具箱文档
2的评论
Torsten
Torsten 2016年1月19日
θ的例子:
用θ= 12.2优化如果解算器返回整数= 1,θ= 40如果整数= 2等等约束整数< = 4。
或者,如果θ的可能值并不大,使4模拟,θ= 12.2,接下来θ= 40等等。
最好的祝愿
Torsten。

登录置评。

类别

找到更多的在直接搜索帮助中心文件交换

社区寻宝

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

开始狩猎!