I have a convex optimization problem as follows: 


\begin{align\*}
maximize\_{x\in R^n} &\sum\_{i=1}^n a\_i \log(x\_i)\\
 st\quad & \sum\_{i=1}^n p\_{ij} (x\_i-1) = 0 \quad \forall j\\
 & x\_i > 0 
\end{align\*}
where, $a\_i \geq 0$ and $P$ is an $n\times m$ probability matrix with rows sum up to 1.


( I am assuming that $n$ is (much) larger than $m$. Let $P = (p\_{ij}) \in \mathbb R^{n \times m}$. Then, the constraint is $P^T (x-1) = 0 $, that is, $x$ is feasible iff $x - 1 \in \text{ker}(P^T)$. We have $\text{ker}(P^T) = \text{Im}(P)^\perp$. The image of $P$ is at most an $m$ dimensional subspace of $\mathbb{R}^n$, hence its orthogonal complement is $(n-m)$-dimensional which is pretty big. There are many feasible solutions besides $x = 1$.)


I tried to optimize the Lagrangian $\sum\_{i} \big[a\_{i} \log x\_{i} - \sum\_j \lambda\_j p\_{ij}(x\_{i}-1)\big]$ (keeping the constraint $x\_i > 0$), via a dual ascent algorithm:


\begin{align\*}
x\_{i}(\lambda) = \max\Big\{0,\frac{a\_i}{\sum\_j \lambda\_j p\_{ij}} \Big\}, \quad \lambda\_j^+ = \lambda\_j +\alpha \sum\_i p\_{ij}\big[x\_{i}(\lambda)-1\big], \; \forall j
\end{align\*}


But this doesn't seem right as the dual variable also should be non-negative and the dual problem would be constrained. 


How to solve this problem? 



A convex optimization problem
Your problem is of the form
$$
\min F(x)\quad \text{s.t.}\quad Ax=b
$$
or
$$
\min F(x) + G(Ax)
$$
with $G$ being the indicator function of the single point $b$. Hence, you can try basically all methods from the slides ["Douglas-Rachford method and ADMM"](http://www.seas.ucla.edu/~vandenbe/236C/lectures/dr.pdf) by Lieven Vandenberghe, i.e. Douglas-Rachford, Spingarn or ADMM. You could also try the primal-dual hybrid gradient method also know as Chambolle-Pock method since this would avoid all projections, see [here](https://arxiv.org/abs/1305.0546) or [here](http://dx.doi.org/%2010.1007/s10851-010-0251-1).


Note that the $F$ deals with the constraint $x>0$ implicitly by defining is as extended convex function via
$$
F(x) = \begin{cases} -\sum a\_i\log(x\_i) & \text{all $x\_i>0$}\\
\infty & \text{one $x\_i\leq 0$}\end{cases}
$$
leading to the proximal map
$$
\operatorname{prox}\_{tF}(x) = \tfrac{x}2 + \sqrt{\tfrac{x^2}4+ta}
$$
where all operations are applied componentwise.


