正有理参数下双对数为整数的功率分配优化求解问询
首先,我们先把对数为整数的条件转化为功率的表达式:
对于每个$i \in {1,2}$,设$\log_{2}\left(1+\frac{p_i h_i}{\sigma}\right)=k_i$,其中$k_i$是正整数(因为$p_i>0$,括号内的值必然大于1,所以对数结果是正整数)。
对这个等式变形可得:
$$1+\frac{p_i h_i}{\sigma}=2^{k_i}$$
整理后得到功率的表达式:
$$p_i=\frac{\sigma(2^{k_i}-1)}{h_i}$$
因为$h_1,h_2,\sigma$都是正有理数,$\sigma/h_i$是有理数,$2^{k_i}-1$是整数,所以$p_i$自然是正有理数,完全满足题目要求。
目标转化与约束简化
原问题的目标是最大化两个对数的和,而根据上面的转化,这个目标等价于最大化$k_1+k_2$(两个正整数的和)——毕竟每个对数就是对应的$k_i$值。
同时,原约束$p_1+p_2\leq a$可以代入$p_i$的表达式,转化为:
$$\frac{\sigma(2{k_1}-1)}{h_1}+\frac{\sigma(2{k_2}-1)}{h_2}\leq a$$
把$\sigma$提取出来,整理成更简洁的形式:
$$\frac{2{k_1}-1}{h_1}+\frac{2{k_2}-1}{h_2}\leq \frac{a}{\sigma}$$
求解步骤
要找到最优的$p_1,p_2$,可以按照以下步骤操作:
确定$k_1$的取值范围:
因为$p_1>0$且$p_1\leq a$,所以$\frac{\sigma(2^{k_1}-1)}{h_1}\leq a$,即$2^{k_1}\leq 1+\frac{a h_1}{\sigma}$。由此可得$k_1$的最大可能值为$\lfloor \log_2\left(1+\frac{a h_1}{\sigma}\right) \rfloor$,最小为1。遍历每个可能的$k_1$,计算对应的最大$k_2$:
对于每个$k_1$,代入约束式,解出$k_2$的最大可能值:
$$2^{k_2}\leq 1+\frac{h_2}{\sigma}\left(a-\frac{\sigma(2^{k_1}-1)}{h_1}\right)$$
化简右边的表达式:
$$2^{k_2}\leq 1+\frac{a h_2}{\sigma}-\frac{h_2}{h_1}(2^{k_1}-1)$$
对应的$k_2$最大值就是满足上式的最大正整数,记为$k_{2,\text{max}}$。找出和最大的$(k_1,k_2)$组合:
遍历完所有$k_1$后,记录每一组$(k_1,k_{2,\text{max}})$的和$k_1+k_{2,\text{max}}$,找到其中和最大的那些组合。如果有多个组合的和相同,它们都是最优解(因为目标值完全一致)。计算对应的$p_1,p_2$:
把最优的$k_1,k_2$代入$p_i=\frac{\sigma(2^{k_i}-1)}{h_i}$,就能得到满足所有条件的功率值。
示例验证
举个具体例子:设$\sigma=1$,$h_1=1$,$h_2=1$,$a=5$。
- $k_1$的取值范围:$2^{k_1}\leq 1+\frac{5*1}{1}=6$,所以$k_1$可以取1、2(因为$2^3=8>6$)。
- 当$k_1=1$时,$p_1=1*(21-1)/1=1$,剩余功率$5-1=4$。代入约束得$2{k_2}\leq1+\frac{1}{1}(4)=5$,所以$k_2$最大为2($22=4\leq5$),$p_2=1*(22-1)/1=3$,和为$1+2=3$。
- 当$k_1=2$时,$p_1=3$,剩余功率$5-3=2$,$2^{k_2}\leq1+2=3$,$k_2$最大为1,$p_2=1$,和为$2+1=3$。
- 最优解为$(p_1,p_2)=(1,3)$或$(3,1)$,目标值为3,完全满足所有条件。
内容的提问来源于stack exchange,提问作者ZZ1




