Thank you all for the comments and answers. After posting this question, I thought it for a while. It may be NP-complete. Please see the outline of my proof.
Partition: given positive integers $\{a_1,\ldots,a_n\}$, find a subset $S$ such that
$$
\sum_{i\in S} a_i = 1/2 \cdot \sum_{i=1}^n a_i.
$$
Let $\sum_{i=1}^n a_i =2K$. We set $b_i$ as follows: $b_i=e^{a_i/K}$ for each $i$. Then, for each subset $S$,
$$
\frac{\sum_{i\in S} a_i}{\Pi_{i\in S} b_i}= \sum_{i\in S} a_i \cdot e^{-\sum_{i\in S} a_i/K}
$$
Let function $H(x)=x e^{-x/K}$, where $x=\sum_{i\in S} a_i$. It is straightforward to verify that $H(x)$ is increasing in $x$ for $x\leq K$; it is decreasing in $x$ for $x\geq K$. Therefore, it has the unique maximum at $x=K$, i.e., $H(x)\leq H(K)=K/e$. Then,
$$
\frac{\sum_{i\in S} a_i}{\Pi_{i\in S} b_i}= \sum_{i\in S} a_i \cdot e^{-\sum_{i\in S} a_i/K} \leq \max_x H(x)=K/e.
$$
Thus, the original problem maximized if and only if there exists a subset $S$ such that $\sum_{i\in S} a_i =K$, which is the solution to the Partition problem.