gpt4 book ai didi

algorithm - 搜索最佳点搜索算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:15:26 25 4
gpt4 key购买 nike

我有一个目标函数 B(s,r,l),我计算了 s=1,...,10, r=1,...,10 和 l=0.1:0.1:10 的结果。对于每个 s,我生成 10 个 sizeof(l) 矩阵。我想编写一个搜索代码代码,以便它返回我的最小 B 值。以更清晰的形式

Minimize B(s1,r1,l1)+B(s2,r2,l2)+B(s3,r3,l3)

s.t s1+s2+s3 = 10

r1 +r2 +r3 = 15

l1+l2+l3 = 30

s1,s2,s3,r1,r2,r3,l1,l2,l3 >=0
s and r are integer.

上述问题的最佳搜索算法是什么?

最佳答案

我建议让 l3,r3,s3 依赖于另一个变量的选择。例如,如果 l1 = 1l2 = 2 这意味着 l3 = 30 - 1 - 2。所以你只剩下 6 个参数要搜索。
那么你应该使用某种非线性优化方法,比如fminsearh。将您的功能定义为这 6 个参数的函数。
如果您的函数是平滑的,则整数解应该接近实数解。

为了处理非零条件,您可以简单地给任何给出负输出的输入一个巨大的错误。

所以,你的功能应该是这样的:

function d = f(l1,l2,s1,s2,r1,r2)
l3 = 30 - l1 - l2;
r3 = 15 - r1 - r2;
s3 = 10 - s1 - s2;
z = B(s1,r1,l1)+B(s2,r2,l2)+B(s3,r3,l3);
if z<0
d = 10^20;
else
d = z;
end
end

最后,尝试检查所有整数解 - 尝试将每个值四舍五入到 floorceil。会有 2^6 种可能。

关于algorithm - 搜索最佳点搜索算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8865351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com