Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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 具有非平凡约束的多元优化?_Python_Python 3.x_Optimization_Scipy_Scipy Optimize - Fatal编程技术网

Python 具有非平凡约束的多元优化?

Python 具有非平凡约束的多元优化?,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

在我当前的项目中,我必须最小化以下目标函数:

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>=eps
。您可以将此约束优化表述为相应拉格朗日函数的无约束优化,基于@sascha的建议。不过,Calc III有点超出Stack Overflow的薪酬等级。