python - 如何在 python 中为“optimize.minimize”定义边界?
问题描述
我有一些变量的功能:
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),并定义其他变量函数作为数字或某个函数
请帮我
解决方案
如果您不知道变量的两个边界,则可以使用 None 值指定它在该方向上是无界的。例如对于变量 A 它会是(A1, None)
,并且您可以将所有边界作为 touples 列表(或作为 Bounds 实例 - 仅在较新版本的 Scipy 中)
推荐阅读
- reactjs - 如何在 setTimeout 中使用钩子?
- android - 避免在 ListAdapter 构造函数中调用 submitList
- in-app-billing - 在 2020 年 6 月 23 日之前打开此应用以确认您的订阅
- html - CSS文本滑动动画无法正常工作
- python - python类内部逻辑
- google-calendar-api - 如何使用 Google Calendar API 发布活动?
- reactjs - React Native 上下文内容不断回来
- google-sheets-query - 隐藏列的重复值
- swift - 如何使用 URL 方案打开 vlc
- android - Android中意外的ArrayIndexOutOfBoundsException