combinatorial optimization - argmax binary vector

207 Views Asked by At

I have the following combinatorial optimization problem: $$ \arg\max_{\mathbf{x}} \frac{\alpha + \mathbf{t}\cdot\mathbf{x}}{\beta + \mathbf{f}\cdot\mathbf{x}} $$ where the objective is to find the $n$ length binary vector $\mathbf{x}\in\{0,1\}^n$ which maximizes the above objective. The objective function has a non-negative integer $\alpha \in \mathbb{Z}^*$; and another scalar $\beta \in \mathbb{N}$; and $n$ length vectors $\mathbf{t}, \mathbf{f} \in \mathbb{N}^n$.

Here the set of natural numbers $\mathbb{N} = \{1,2,3,...\}$, and $\mathbb{Z}^* = \{0,1,2,...\} = \mathbb{N} \cup \{0\}$.

I am sort of lost what combinatorial optimization this problem is similar to - the closest one I can think of is the knapsack problem. Does anybody know how to solve this or where to look?

1

There are 1 best solutions below

3
On BEST ANSWER

Start with $\mathbf x=0$, sort the pairs $(t_i,f_i)$ in descending order of $t_i/f_i$, and then turn on ones in $\mathbf x$ as long as $t_i/f_i$ is greater than the quotient attained so far.