Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.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中带约束的Nelder-Mead优化_Python_Optimization_Scipy Optimize_Scipy Optimize Minimize - Fatal编程技术网

python中带约束的Nelder-Mead优化

python中带约束的Nelder-Mead优化,python,optimization,scipy-optimize,scipy-optimize-minimize,Python,Optimization,Scipy Optimize,Scipy Optimize Minimize,目前,我正在寻找python中的Nelder Mead优化器,它也接受变量的边界和约束。 Scipy有一个Nelder Mead优化器,但它不允许任何约束 在我的搜索过程中,我发现了这个包,这应该使这成为可能 下面是一个如何使用constrNMPy的示例: # Define initial guess x0=[2.5,2.5] # Define lower and upper bounds (None indicates no bound) LB=[2,2] UB=[None,3] # Ca

目前,我正在寻找python中的Nelder Mead优化器,它也接受变量的边界和约束。 Scipy有一个Nelder Mead优化器,但它不允许任何约束

在我的搜索过程中,我发现了这个包,这应该使这成为可能

下面是一个如何使用constrNMPy的示例:

# Define initial guess
x0=[2.5,2.5]

# Define lower and upper bounds (None indicates no bound)
LB=[2,2]
UB=[None,3]

# Call optimizer
import constrNMPy as cNM 
res=cNM.constrNM(cNM.test_funcs.rosenbrock,x0,LB,UB,full_output=True)

# Print results
cNM.printDict(res)
但是,此示例仅说明如何定义边界,而不能定义约束。在上面的示例中,我希望有以下约束,以便变量只接受总和为5的值:

cons = {'type':'eq', 'fun':lambda x0: 5 - sum(x0)}
如何将此约束传递给
constrNM
调用


或者是否有其他带有约束的Nelder-Mead优化器软件包?

我不知道有任何Nelder-Mead算法可以处理一般约束。您可能想看看其他算法,如SLSQP或COBYLA。我想你会处理一些小问题。