Python 具有非平凡约束的多元优化?
在我当前的项目中,我必须最小化以下目标函数: 1/2 xa.tx(a.txa)xa-c.tx日志(Bxa) 其中,A是n×m矩阵,B是不同的n×m矩阵,c是n×1向量,A是参数值的期望m×1向量,.T表示转置。除了a之外的一切都可以假定为已知 如果不是第二个带有对数的项,优化这一点将非常简单。因为对数存在,我们必须施加一个约束,以确保Bxa>0Python 具有非平凡约束的多元优化?,python,python-3.x,optimization,scipy,scipy-optimize,Python,Python 3.x,Optimization,Scipy,Scipy Optimize,在我当前的项目中,我必须最小化以下目标函数: 1/2 xa.tx(a.txa)xa-c.tx日志(Bxa) 其中,A是n×m矩阵,B是不同的n×m矩阵,c是n×1向量,A是参数值的期望m×1向量,.T表示转置。除了a之外的一切都可以假定为已知 如果不是第二个带有对数的项,优化这一点将非常简单。因为对数存在,我们必须施加一个约束,以确保Bxa>0 在Python中有没有一种简单的方法来实现这一点?使用支持约束的一个解算器(您将只找到非严格的INEQ或严格的EQ),选择一个ε,并发布约束B*a>=e
在Python中有没有一种简单的方法来实现这一点?使用支持约束的一个解算器(您将只找到非严格的INEQ或严格的EQ),选择一个ε,并发布约束
B*a>=eps
。您可以将此约束优化表述为相应拉格朗日函数的无约束优化,基于@sascha的建议。不过,Calc III有点超出Stack Overflow的薪酬等级。