使用未知变量数进行优化

时间:2016-03-25 22:15:31

标签: matlab optimization mathematical-optimization genetic-algorithm nonlinear-optimization

由于原始问题更复杂,因此使用下面的简单示例来描述该想法。

例如,假设我们想在房间的某处放置几个路由器天线,以便手机在桌面上获得最大的信号强度(接收功率> 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)。这种方法运行缓慢,到目前为止我还没有看到这种方法给出的结果。

有没有人有更有效的方法来解决这个问题?任何建议表示赞赏。提前致谢。

1 个答案:

答案 0 :(得分:0)

术语|问题定义

天线正在UICircularSlider位置以恒定功率发送。其信号强度可以通过某些a in R^3来衡量,其中S: R^3 -> RS处具有单个最大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_minPOI_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

另一方面,您刚刚给出了一个示例问题,因此该解决方案可能不适用于您的案例或足够广泛。我确实做了一些假设。因此,在问题中更具体,可能会给你一个更好的答案。