如何在python中定义“optimize.minimize”的边界?

2024-06-16 13:56:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带变量的函数:

def objective(x):
     #= params
    x00 = x[0]
    y00 = x[1]
    u_m = x[2]
    a = x[3]
    b = x[4]
    u_mean_real = x[5]
    A = x[6]

    B = x[7]
    H = x[8]
    alpha = x[9]
    .
    .
    .
    .    


    A1 = interpolating_spline(1, x, DataPointsDomain, DataPointsRange)
    B = 6.6
    H = 1
    x00 = 0.5  
    y00 = 0.85806221   
    u_mean_real =0.957175
    u_m=1.2

    u_max = 1.287
    .
    .
    .

我需要为“optimize.minimize”定义“bound”,为“A”的变量定义“A1”,但我不知道“A”值的范围

我该怎么做

我想通过指定函数的三个变量(“a”、“b”、“alpha”)的值来最小化函数,这些变量的范围=(1,5),并将函数的其他变量定义为数字或某个函数

请帮帮我


Tags: 函数alpha定义defa1paramsmeanreal
1条回答
网友
1楼 · 发布于 2024-06-16 13:56:15

如果不知道变量的两个边界,可以使用None值指定该变量在该方向上是无界的。例如,对于变量A,它将是(A1, None),您可以将所有边界作为touple列表(或作为边界实例-仅在较新版本的Scipy中)

相关问题 更多 >