I'm trying to solve a very practical optimization problem and I think I hit a dead-end.
There are $N$ products ($N \sim 50$). Each product can have a price $p_i$ in range between 1 and 40 dollars. For each product there's a non-decreasing demand function $d_i(p)$, $a > b \Rightarrow d(a) >= d(b)$. Demand functions are produced by running Monte-Carlo simulations, represented by a table and from the look of it cannot be easily approximated by something analytical and differentiable.
Total cost of all products is what is being maximized.
$\max \sum_{i} p_i d_i(p_i)$
There's only one constraint, it's a non-linear constraint on average price:
$\frac{\sum_{i} p_i d_i(p_i))}{\sum_{i} v_i d_i(p_i)} \le C$
where $v_i$ is a constant specified in advance for each product.
Any suggestions? I tried some heuristics, but results are highly unstable. Small change in $C$ leads to very different results.
Any help would be highly appreciated.