Simplex optimization: how to project to nearest feasible point, with box constraints and total constraint

310 Views Asked by At

I am working in a simplex-based constrained optimization setting, wherein several texts suggest that algorithms such as Nelder-Mead can be modified for constraints by projecting an infeasible point onto the nearest feasible point, but are sparse in terms of details on how to do so. I am trying to determine how to project points in such a manner in my own setting.

Suppose our feasible region is in $\mathbb{R}^n$. For point $x=(x_1,...,x_n)$, we have an overall constraint of the form $\sum_{i=1}^n x_n = k$ for constant $k$, as well as box constraints of the form $l_i \le x_i \le u_i$, for $i=1,...,n$ and constants $l_1,...,l_n$ and $u_1,...,u_n$. For an infeasible point $x$, I am interested in obtaining the point $y=(y_1,...,y_n)$ that minimizes the Euclidian distance to $x$ and satisfies the box constraints and overall constraint above.

Could anyone please advise me on how to do this, and/or refer me to relevant books or resources that have additional detail? I found a somewhat similar question here but the answer was specialized in a manner that does not directly apply to my problem. (Note that I will eventually consider constraints of the form $\sum_{i=1}^n c_n x_n = k$ for constants $c_1,...,c_n$.)