I will answer it so I can have more space for explain myself.
If $y_i>0$ you can apply $\log$ on $c=\prod^{n}_{i=1} y_i$ and obtain $\log c=\sum^n_{i=1}\log y_i$.
Now call $w_i = \log y_i$, then the constraint become $\log c=\sum^n_{i=1} w_i$, which is a linear constraint. Since $c$ is a parameter you can have $k = \log c$ being a parameter as well.
If you are able to change your objective function,
\begin{align}
f_0(x,y) = \sum_{i=1}^n a_i y_i + \sum^n_{i=1}b_i x_i
\end{align}
in order to fit $w_i$ in the place of $y_i$, you could find some $\widetilde{a}_i$
such that
\begin{align}
f_0(x,y) = \sum_{i=1}^n \widetilde{a}_i w_i + \sum^n_{i=1}b_i x_i
\end{align}
Then, this would yield a mixed-integer programming.
Note that minimizing $w_i$ imply minimizing $y_i$.
Alternatively, if you can not change your parameter $a_i$ in the objective function.
Consider that you have
\begin{align}
f_0(x,y) = \sum_{i=1}^n a_i y_i + \sum^n_{i=1}b_i x_i
\end{align}
if $w_i = \log y_i$ then $y_i = e^{w_i}$.
Therefore
\begin{align}
f_0(x,y) = \sum_{i=1}^n a_i e^{w_i} + \sum^n_{i=1}b_i x_i
\end{align}
Which is a nonlinear but convex objective function.
The problem becomes a convex constrained Mixed Integer Convex Programming with linear constraints which can be solved easily.
Which can be solved to global optimality with BONMIN (free and also available in NEOS Solver).