  An uplink cognitive radio system with a single primary user (PU) and multiple
secondary users (SUs) is considered. The SUs have an individual average delay
constraint and an aggregate average interference constraint to the PU. If the
interference channels between the SUs and the PU are statistically different
due to the different physical locations of the SUs, the SUs will experience
different delay performances. This is because SUs located closer to the PU
transmit with lower power levels. A dynamic scheduling-and-power-allocation
policy that uses the dynamic programming, is proposed. The proposed policy can
provide the required average delay guarantees to all SUs irrespective of their
location as well as protect the PU from harmful interference. The policy is
shown to be asymptotically delay optimal in the light traffic regime.
Motivated, by the high complexity of the dynamic programming algorithm in the
optimal policy we exploit the structure of the problem's solution to present an
alternative suboptimal policy. Through simulations we show that in both light
and heavy traffic regimes, the delay performance of the suboptimal policy is
within $0.3\%$ from the optimal policy and both outperforming existing methods.
