Python 约束优化

Python 约束优化,python,scipy,minimize,Python,Scipy,Minimize,我需要编写一个受约束的优化器。我试图最小化接受变量rho的函数sub。Rho是一个需要满足约束0的n向量。如果不知道函数sub及其雅可比矩阵,很难正确地提供帮助。无论如何,在您的情况下不需要使用任何约束。提供最小化的变量边界就足够了。假设rho是一个numpy数组: bnds = [(0,1) for _ in range(len(rho))] def opt2(sub): res2 = minimize(sub, x0=your_starting_point, bounds=bnds

我需要编写一个受约束的优化器。我试图最小化接受变量rho的函数sub。Rho是一个需要满足约束0的n向量。如果不知道函数
sub
及其雅可比矩阵,很难正确地提供帮助。无论如何,在您的情况下不需要使用任何约束。提供
最小化的变量边界就足够了。假设
rho
是一个numpy数组:

bnds = [(0,1) for _ in range(len(rho))]

def opt2(sub):
    res2 = minimize(sub, x0=your_starting_point, bounds=bnds, jac=gradient_ext)
    return res2

optimize2 = opt2(subroutine_ext)
print(optimize2)

它们是长而疯狂的目标函数。Sub将rho作为参数输入并输出一个数字,而雅可比矩阵则输入相同的rho向量并输出一个n向量。当我尝试上面的方法时,我得到了一个错误,“初始化intent(inout)数组失败——预期elsize=8,但得到16——输入'D'与'D'不兼容”不太清楚这意味着什么。有什么见解吗?
bnds = [(0,1) for _ in range(len(rho))]

def opt2(sub):
    res2 = minimize(sub, x0=your_starting_point, bounds=bnds, jac=gradient_ext)
    return res2

optimize2 = opt2(subroutine_ext)
print(optimize2)