我正在尝试执行最小化,其中某些参数必须使用PyMinuit总和为一个。我想知道是否有实现这种事情的标准方法?
如果不满足约束,是否通常将函数设置为某个较大的值?例如
def f(params):
if params.sum() != 1:
return 1e6
else:
... compute actual value ...
对每一轮的参数进行标准化是一个非常糟糕的主意吗?例如
if params.sum() != 1:
for param in params:
param = param / params.sum()
谢谢!