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

关于优化问题的“边界”类的问题

如何解决关于优化问题的“边界”类的问题

我使用差分进化方法来最小化一个函数F
那是

import numpy as np
import scipy.optimize as opt

global_min_DE=opt.differential_evolution(F,bounds)

我正在使用 here

中提到的 bounds

如果我们有:

def F(X):
    return X[0]**2+X[1]**2+X[2]**2+X[3]**2+X[4]**2

那么我们可以将边界写为:

lb=np.array([1,1,1])
ub=np.array([5,5,5])

bounds = opt.Bounds(lb,ub,keep_feasible=False)

但是如果我们定义函数如下:

def F1(x1,x2):
    return x1[0]**2+x1[1]**2+x1[2]**2+x2[0]**2+x2[1]**2

然后我不知道如何正确地写边界。
我已经尝试了以下所有方法,但没有一种方法适用于开头提到的优化。


lb=2*np.ones(3)
ub=5*np.ones(2)

lb=np.array([[1,1],[1,1]])
ub=np.array([5,5],[5,5])

lb=np.array([1,5])

lb=np.concatenate((1*np.ones(3),np.array([1,1])),axis=None)
lb=np.concatenate((5*np.ones(3),np.array([5,5])),axis=None)

lb = np.array([np.array([1,1]),1])])
ub = np.array([[np.array([5,5])],[np.array([5,5])]])

感谢您的帮助

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