由于原始问题更复杂,因此使用下面的简单示例来描述该想法。
例如,假设我们想在房间的某处放置几个路由器天线,以便手机在桌面上获得最大的信号强度(接收功率> Pmax),同时在床上的信号强度最弱(接收功率数学上,
SIGNAL_STRENGTH取决于变量(x,y,z)和数字 变量
。即天线的位置和数量。 此外,假设
PREDICTION = f((x1,y1,z1),(x2,y2,z2),...(xi,yi,zi),...(xn, yn,zn))
其中n和(xi,yi,zi)要优化。目标是尽量减少
成本函数= || SIGNAL_STRENGTH - 预测||
我尝试在Matlab中使用带有混合整数编程的GA来实现它。使用两个优化函数,外部函数用于优化n,内部优化函数用给定的n优化(x,y,z)。这种方法运行缓慢,到目前为止我还没有看到这种方法给出的结果。
有没有人有更有效的方法来解决这个问题?任何建议表示赞赏。提前致谢。
答案 0 :(得分:0)
天线正在UICircularSlider
位置以恒定功率发送。其信号强度可以通过某些a in R^3
来衡量,其中S: R^3 -> R
在S
处具有单个最大S_0
,并且由a
构造的集合仅仅是连接的,即S(x) > const
。
给定一组天线S(x) = S_0 * exp(-const * (x-a)^2)
,得到的信号强度是单个天线的最大值
A
这意味着我们锁定'在最强的天线上,就像手机一样。
让S_A(x) = max{S_a(x) : for all a in A} ,
表示点的空间(位置,强度)。现在统一K = R^3 x R
的两个有限子集POI_min
和POI_max
。我们希望找到满足
K
A
|A| -> min.
当for all (x,w) in POI_min : S_A(x) < w and for all (x,w) in POI_max : S_A(x) > w .
被简单连接时,每个元素S(x) > const
的位置周围的球体中必须有一个半径为(x,w) in POI_max
的天线。这意味着如果我们将天线放在r = max{||xi - x|| : for all xi in S(xi) = w}
的位置,那么我们可以离(x,w)
最远但信号强度x
仍然是半径w
必须在其中放置实际天线。
对r
进行类似的论证后,POI_min
内没有天线。
我们可以将球体相交以获得最优解,而不是求解非线性优化任务。如果r = min{||xi - x|| : for all xi in S(xi) = w}
位置周围的k
球体相交,我们可以在交叉点放置一个天线,从而减少POI_max
所需的天线数量。
但是,放置的每个天线必须满足k-1
元素给出的所有约束。假设天线是全向的,因此天线的方向并不重要(伪代码):
POI_min
另一方面,您刚刚给出了一个示例问题,因此该解决方案可能不适用于您的案例或足够广泛。我确实做了一些假设。因此,在问题中更具体,可能会给你一个更好的答案。