How to formulate systems of equations as a convex optimization problem?

136 Views Asked by At

I have the following set of equations:

\begin{align*} &\alpha_t \cdot (1-\theta) + \beta_t\cdot \theta = c_t \; \quad t = 1, \dots, T\\ &{\beta_t \cdot \theta^2 \over \alpha_t \cdot (1-\theta)^2 + \beta_t \cdot \theta^2} = k_t\; \quad t=1, \dots, T\\ &\sum_t^T \alpha_t = \sum_t^T \beta_t = 1\\ & 0 < \theta < 1 \end{align*} where $c_t$ and $k_t$ are constants, $\sum_t c_t = 1$, and we want to solve for $\alpha_1, \dots, \alpha_T, \theta, \beta_1, \dots, \beta_T$. I want to solve the above equations using cvxpy but I'm not sure how to formulate the above into the form cvxpy wants.

Any suggestions will be greatly appreciated!

1

There are 1 best solutions below

3
On BEST ANSWER

(Too long for a comment.) $\;$ Don't know that there is an advantage to formulate it as a multi-variate convex optimization problem, since it can be reduced to a single univariate rational equation.

$$ \begin{align} \alpha_t \cdot (1-\theta) + \beta_t\cdot \theta &= c_t \; &t = 1, \dots, T\\ {\beta_t \cdot \theta^2 \over \alpha_t \cdot (1-\theta)^2 + \beta_t \cdot \theta^2} &= k_t\; &t=1, \dots, T \end{align} $$

Let $\,a_t = (1-\theta)\,\alpha_t\,$ and $\,b_t=\theta\,\beta_t\,$, then each pair of equations is a linear system in $\,a_t, b_t\,$:

$$ \begin{align} \begin{cases} a_t+b_t &= c_t \\ \theta\, b_t &= k_t\,\big((1-\theta)\,a_t+\theta\,b_t\big) \end{cases} \;\;\iff\;\; \begin{cases} a_t+b_t &= c_t \\ (1-k_t)\theta\, b_t &= k_t\,(1-\theta)\,a_t \end{cases} \end{align} $$

Eliminating $\,b_t\,$ between the equations:

$$ (1-k_t)\theta\,(c_t-a_t) = k_t\,(1-\theta)\,a_t \;\;\iff\;\; a_t = \frac{(1-k_t)c_t\theta}{(1-2k_t)\,\theta+k_t} $$

Substituting the above in $\,\sum_t \alpha_t = 1\,$ gives the equation in $\,\theta\,$:

$$ 1 = \sum_{t=1}^T \alpha_t = \sum_{t=1}^T \frac{a_t}{1-\theta} = \sum_{t=1}^T \frac{(1-k_t)c_t\theta}{(1-\theta)\big((1-2k_t)\,\theta+k_t\big)} = \frac{\theta}{1-\theta} \, \sum_{t=1}^T \frac{(1-k_t)c_t}{(1-2k_t)\,\theta+k_t} $$

Let $\,f(\theta)\,$ be the RHS of the latter, with $\,f(0)=0\,$. Under the additional assumption that $\,c_t, k_t \in (0,1)\,$ the limit $\,\lim_{\theta \to 1-} f(\theta)=+\infty\,$, so the equation $\,f(\theta)=1\,$ has a root $\,\theta \in (0,1)\,$.