我有一个带有组合约束的优化问题
我的问题是:
我有一堆数据,在这些数据的基础上我训练了一个机器学习模型,这个模型依赖于一个输入向量。x[i]
都大于或等于零
我获取这个模型的输出并将其插入另一个函数g
,我希望通过一些边界和约束最小化该函数。
我知道如何使用我最喜欢的优化器以数字方式解决这个问题,我目前正在研究PySarms或EGO。这没问题
我的问题是:
我不希望x
的所有值都大于零。例如,我们查看前4个值x[0],x[1],x[2],x[3]
。我知道我希望至少有一个大于零,但不超过3。
这意味着:
x[0], x[1], x[2], x[3], allowed
2.1, 0, 0, 0, yes
1.5, 0, 1.1, 0, yes
1.5, 2.1, 2.1, 1.2, no (more than 3 values are bigger than zero)
我现在的最佳解决方案是暴力: 我接受所有允许的可能性,并对其进行优化
在本例中,我从四个第一个条目中选取了1、2和3个条目的所有组合,并为每个条目解决了一个优化问题
这种野蛮的强迫感觉并不优雅,而且在计算时间方面可以迅速爆发
你们中有谁知道如何更快地解决这个问题吗? 或者,如果允许我做梦,也许有一个python优化器可以开箱即用
我不希望有一个完整的解决方案,但可能有一些指向正确方向的指针。这个问题并不觉得如此深奥以至于以前没有人考虑过,我想我只是缺少了要搜索的正确关键字
谢谢你的帮助
目前没有回答
相关问题 更多 >
编程相关推荐