Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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 用x1+最小化f(x1,x2,…xn);x2++;xn=C_Python_Optimization_Scipy - Fatal编程技术网

Python 用x1+最小化f(x1,x2,…xn);x2++;xn=C

Python 用x1+最小化f(x1,x2,…xn);x2++;xn=C,python,optimization,scipy,Python,Optimization,Scipy,我有一个非线性且计算代价很高的函数f,它接受一组变量x1,x2。。。xn,约束条件是变量为正浮点且其和等于常数 Minimize f(x1, x2, ..., xn) x1 + x2 + ... + xn = C xi > 0 for all i 过去我在没有求和约束的问题中使用了scipy.optimize模块。我正在寻找任何可能有帮助的建议或指针 函数是f是非线性的,需要花费大量时间进行计算。我无法访问f(由外部供应商提供)f随每个x平稳变化请指定函数f。如果它是凸的,那么我建议cv

我有一个非线性且计算代价很高的函数
f
,它接受一组变量
x1,x2。。。xn
,约束条件是变量为正浮点且其和等于常数

Minimize f(x1, x2, ..., xn)
x1 + x2 + ... + xn = C
xi > 0 for all i
过去我在没有求和约束的问题中使用了
scipy.optimize
模块。我正在寻找任何可能有帮助的建议或指针


函数是
f
是非线性的,需要花费大量时间进行计算。我无法访问
f
(由外部供应商提供)
f
随每个
x
平稳变化

请指定函数f。如果它是凸的,那么我建议cvxpy.Hennich-我用更多细节更新了这个问题。我正在阅读,看看是否可以将
f
称为
convertic
scipy.minimize仍然可以优化此局部最优(SLSQP支持等式约束)。还可以实现相对简单的投影渐变方法。但考虑到慢函数求值->投影拟牛顿,以某种方式使用二阶信息可能是一个更好的主意。(如果投影比func-eval便宜,那么投影变量是个好主意;你对概率单纯形的投影是便宜的)我想说:首先从scipy.minimize开始。然后:数值优化(Nocedal)提供了一个非常全面的概述,以及在投影拟牛顿方法方面做了大量工作的每一篇论文/幻灯片,包括大量易于阅读的高质量开源代码(matlab!;至少大多数部分都易于阅读)。注:我刚才说过概率单纯形;它实际上是正单纯形)。N有多大?听起来很糟糕。虽然PQN方法很好,但如果不清楚函数,您将需要使用(许多昂贵的)额外函数调用的数值微分。对于零阶/无导数优化方法来说,这可能是一个更大的问题。这里的库支持可能更稀疏,尤其是对约束的支持(我猜)。函数估计的时间方差也让我怀疑它是否是某种蒙特卡罗模拟。在这种情况下,噪声也会造成伤害(对于无导数的方法影响较小)。请指定函数f。如果它是凸的,那么我建议cvxpy.Hennich-我用更多细节更新了这个问题。我正在阅读,看看是否可以将
f
称为
convertic
scipy.minimize仍然可以优化此局部最优(SLSQP支持等式约束)。还可以实现相对简单的投影渐变方法。但考虑到慢函数求值->投影拟牛顿,以某种方式使用二阶信息可能是一个更好的主意。(如果投影比func-eval便宜,那么投影变量是个好主意;你对概率单纯形的投影是便宜的)我想说:首先从scipy.minimize开始。然后:数值优化(Nocedal)提供了一个非常全面的概述,以及在投影拟牛顿方法方面做了大量工作的每一篇论文/幻灯片,包括大量易于阅读的高质量开源代码(matlab!;至少大多数部分都易于阅读)。注:我刚才说过概率单纯形;它实际上是正单纯形)。N有多大?听起来很糟糕。虽然PQN方法很好,但如果不清楚函数,您将需要使用(许多昂贵的)额外函数调用的数值微分。对于零阶/无导数优化方法来说,这可能是一个更大的问题。这里的库支持可能更稀疏,尤其是对约束的支持(我猜)。函数估计的时间方差也让我怀疑它是否是某种蒙特卡罗模拟。在这种情况下,噪声也会造成伤害(对于无导数的方法,伤害更小)。