# volume-weighted mean equality constraints

I have the following optimization objective function for a dynamic pricing problem:

\begin{align*} sum\_profit = \sum_{i \in sales\_point} \Bigg( constant[i] + {elasticity[i]} \cdot (movement[i] + actual\_prices[i] - comp\_price[i]) + \log\left({price[i]} - costs[i]\right) - \lambda[i]\cdot \left(1 - e^{alpha \cdot {exceed[i]^2}}\right) \Bigg) \end{align*}

with \begin{align*} exceed[i] = max(0,movement[i] + actual\_prices[i] - comp\_price[i] ) \end{align*} represent a penalty on surpassing the competitor price. and my volume model \begin{align*} volume[i] = constant[i] + {elasticity[i]} \cdot (movement[i] + actual\_prices[i] - comp\_price[i]) \end{align*}

I want to add a constraint that is the volume weighted mean of price movements needs to be equal to a given user input. However, adding this constraints \begin{align*} weighted\_volume\_mean = \frac{\sum_{i \in sales\_point} (mouvement[i] \cdot volume[i])}{\sum_{i \in sales\_point} (volume[i])} = user\_input \end{align*} Tends to de-optimize lot of sales points that have little volume by lowering massively the prices on high sales point. I dont want my sales points related to each other. I currently achieve what i want by lowering all competitor prices aritifically until i achieve the wanted mean price. Is there a way to be able to do that without artifically lowering all competitor prices.