Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 组合约束优化算法_Python_Algorithm_Mathematical Optimization_Combinatorics - Fatal编程技术网

Python 组合约束优化算法

Python 组合约束优化算法,python,algorithm,mathematical-optimization,combinatorics,Python,Algorithm,Mathematical Optimization,Combinatorics,我有一个带有组合约束的优化问题 我的问题是: 我有一堆数据,在这些数据的基础上,我训练了一个机器学习模型,这个模型会产生一个依赖于输入向量的模型f。x[i]都大于或等于零 我将这个模型的输出插入到一个不同的函数g,我希望通过一些边界和约束最小化该函数。 我知道如何使用我最喜欢的优化器以数字方式解决这个问题,我目前正在研究PySarms或EGO。这没问题 我的问题是: 我不希望x的所有值都大于零。例如,我们查看前4个值x[0]、x[1]、x[2]、x[3]。我知道我希望至少有一个大于零,但不超过3

我有一个带有组合约束的优化问题

我的问题是: 我有一堆数据,在这些数据的基础上,我训练了一个机器学习模型,这个模型会产生一个依赖于输入向量的模型
f
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优化器可以开箱即用

我不希望有一个完整的解决方案,但可能有一些指向正确方向的指针。这个问题并不觉得如此深奥以至于以前没有人考虑过,我想我只是缺少了要搜索的正确关键字


谢谢你的帮助

x
的前3个值上,您试图优化什么?举个例子可能会帮助其他人知道该建议什么。您试图在
x
的前3个值上优化什么?举个例子可以帮助其他人知道该建议什么。