I have a scheduling problem at hand. In my system, there is a service station with $M$ service outlets, therefore, the service station can serve $M$ users at a time. But, there are $N$ users $N>M$ in the system requesting for service. There, the scheduler needs to schedule $M$ users out of $N$ users along with some signal processing. The service station has some money budget. At any point of operation, the money spending for serving $M$ users cannot exceed the budget. Let us assume that the scheduling frequency is one hour. So, each hour, the service station serves (at most) $M$ users.
There exists a path between the service point and any user. Let vector ${\bf h}_i\in\mathbb{C}^{M\times 1}$ define the path between the service station and user $i$. If user $i$ is schduled, the amount of money spent after user $i$ is given by $||{\bf w}_i||_2^2=P_i$, where, ${\bf w}_i\in\mathbb{C}^{M\times 1}$ is some financial tool employed by the service station. Note that ${\bf h}_i\in\mathbb{C}^{M\times 1},i=1,2,\dots,N$ are known. Here, ${\bf w}_i, i=1,2,\dots,M$ are optimization variables.
The objective of the optimization is
$$\underset{\mathcal{M}\subset \mathcal{N}}{\max}\hspace{2mm}\underset{{\bf w}_i,i\in \mathcal{M} }{\max}\hspace{2mm}\sum_{i\in\mathcal{M}}\alpha_i \log_2(1+\gamma_i)$$
with
\begin{equation}\label{1} {\gamma}_i = \frac{\left|\mathbf{h}_i^H\mathbf{w}_i\right|^2}{\sum\limits_{j=1,j\ne i}^N\left|\mathbf{h}_i^H\mathbf{w}_j\right|^2 + {\sigma^2}}. \end{equation}
subject to
$$\sum_{i\in\mathcal{M}}||{\bf w}_i||^2_2\le P$$
Here, $\mathcal{M}=\{1,2,\dots,M\}$ is a finite set of $M$ scheduled users, and $\mathcal{N}=\{1,2,\cdots,N\}$ is a finite set of all users. $\alpha_i$s are also known positive (>0) numbers. Therefore, I want to find the subset $\mathcal{M}$, i.e., schedule $M$ users out of $N$ so that the objective is maximized while fulfilling the constraint.
Note that this is a complex scheduling problem. Anyway, is this formulation reflecting what I just described?
Note: ${\bf w}_i$ is the interference (at user $i$) cancelling vector used at the sevice station.
${\textbf{The approach:}}$
Let us introduce a binary variable $x_i\in\{0,1\}$. If user $i$ is scheduled, $x_i=1$, else $x_i=0$. Now, I have a mixed integer programming problem as below
$$\underset{{\bf w}_i }{\max}\sum_{i=1}^N x_i\alpha_i \log_2(1+\gamma_i)$$ subject to $$\sum_{i=1}^N x_i||{\bf w}_i||^2_2\le P$$ $$\sum_{i=1}^Nx_i=M$$ $$x_i\in\{0,1\}$$
How can we deal with the objective and the constraints to have an efficient linear/convex formulation?
Can we take advantage of the monotonic behavior of the logarithm in the transformation?