微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 scipy.optimize.brute 全局最小化多变量

如何解决使用 scipy.optimize.brute 全局最小化多变量

我正在尝试最小化以下功能

enter image description here

关于参数 Halpha 使用蛮力方法,特别是 scipy.optimize.brute 算法。问题来了,我不知道如何处理这个未知数量的变量,我的意思是,那是 2n 个变量,n 是程序的输入。

我有以下代码,我希望最小化会导致 Halpha 值的数组:

import numpy as np

#Entries:
gamma = 17.0    
C = 70.0        
T = 1           
R = 0.5 
n = int(2)

def F(mins,gamma,C,T,R):
    H,alpha = mins
    ret = 0
    for i in range(n):
    inner_sum = 0
    for j in range(i+1):
        inner_sum += H[j]*np.tan(alpha[j])
    ret += 3*gamma*H[i]*(R+inner_sum)**2

所以我可以从数组的位置得到Halpha的值。我习惯于使用蛮力进行多变量最小化,但仅当我有固定数量的变量时。在这种情况下,我该如何继续?

P.S.:我知道上述表达式的最小化会导致两个变量都为 0。这只是说明问题的更大表达式的一小部分,其中工作算法将非常有帮助。提前致谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。