g*z 发帖数: 124 | 1 以知函数
(y1,y2,y3,y4,y5,y6,y7,y8)=f(x1,x2,x3,x4,x5,x6,x7)
变量x1,x2,x3,x4,x5,x6,x7为二进制数, x1,x3,x3,x4各有6比特,x5,x6各有3比特,x7
有7比特,所有变量一共37比特
计算结果y1,y2,y3,y4,y5,y6,y7,y8都是实数
函数f计算程序完成一次计算时间需要30秒左右
现在的目标是, 给定一组向量(z1,z2,z3,z4,z5,z6,z7,z8), 找出一组X, 使得
(y1-z1)^2+(y2-z2)^2+(y3-z3)^2+(y4-z4)^2+(y5-z5)^2+(y6-z6)^2+(y7-z7)^2+(y8-z8
)^2
尽可能的小,小于某个目标值
有什么合适的算法可以应用吗? 穷举法cost太高了。 | l******n 发帖数: 1683 | 2 这不就是个典型的最优化问题么, 一堆算法都可以用呀. 最简单的比如做蒙特卡洛模拟
呗.
x7
z8
【在 g*z 的大作中提到】 : 以知函数 : (y1,y2,y3,y4,y5,y6,y7,y8)=f(x1,x2,x3,x4,x5,x6,x7) : 变量x1,x2,x3,x4,x5,x6,x7为二进制数, x1,x3,x3,x4各有6比特,x5,x6各有3比特,x7 : 有7比特,所有变量一共37比特 : 计算结果y1,y2,y3,y4,y5,y6,y7,y8都是实数 : 函数f计算程序完成一次计算时间需要30秒左右 : 现在的目标是, 给定一组向量(z1,z2,z3,z4,z5,z6,z7,z8), 找出一组X, 使得 : (y1-z1)^2+(y2-z2)^2+(y3-z3)^2+(y4-z4)^2+(y5-z5)^2+(y6-z6)^2+(y7-z7)^2+(y8-z8 : )^2 : 尽可能的小,小于某个目标值
| g*z 发帖数: 124 | 3 没搞过,能说几个算法名字或书名吗,我放狗去找找
谢了! |
|