0

我正在尝试为我遇到的一个非常复杂的最小化问题添加一个约束,但我不确定如何实现它,即使在阅读了文档之后也是如此。

我有一个简单的例子,如果回答将帮助我解决我原来的问题。这是代码:

from iminuit import Minuit
def f(x,y,z):
    return (x-1.)**2 +(y-2*x)**2 + (z-3.*x)**2 -1.

    m=Minuit(f, x=.5, error_x=0.2, limit_x=(0.,1.), y=0.,limit_y=
   (0.,1.), print_level=1)

m.migrad();

我很想添加一个约束,比如 x+y=1。

谢谢

4

1 回答 1

0

对我自己的问题的回答是不要打扰使用 minuit。将 scipy.optimize 与方法 SLSQP 一起使用。它内置了等式和不等式约束方法。

于 2017-05-12T02:54:16.957 回答