我需要编写一个约束优化器。我正在尝试最小化函数sub,该函数接受变量def inequality(rho):
return np.sum(np.logical_or((rho < 0), (rho > 1)))
cons = [{'type':'eq', 'fun': inequality}]
def opt2(sub):
res2 = minimize(sub, rho(9), method='SLSQP', jac=gradient_ext, constraints=cons)
return res2
optimize2 = opt2(subroutine_ext)
print(optimize2)
我需要编写一个约束优化器。我正在尝试最小化将变量rho占用的子函数。 Rho是一个n矢量,需要满足约束0 <= rho <=1。下面...
无论如何,在不了解函数sub
及其雅可比性的情况下,很难提供适当的帮助,因此在您的情况下无需使用任何约束。提供minimize
的变量范围就足够了。假设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)