Nonlinear optimization with range constraint

371 Views Asked by At

I am trying to solve the following problem, but so far each time trying to program either one or more of the constraints are not satisfied (using Matlab). Phrasing the problem in two different ways, as one has linear range constraint while the other has multiplicative - it seems this last constraint is causing most of the head-ache.

Minimize $\operatorname{Var}(X)$

subject to

  • $C * e^{X} = D$
  • $\operatorname{Max}(X) - \operatorname{Min}(X) \le R_1 $

Where X and D are a column vectors, and C is a matrix. The exponent is element-wise. The last inequality expresses that the range cannot exceed a certain amount. The problem is very under-determined. The sizes of X are on order of 10,000 while D is about 50 in length, and C is sparse.

.

Rephrased

This can be rephrased so that the matrix multiplication is linear, but now you have a ratio constraint between maximum and minimum of X. This problem originally came about trying to solve the under-determined system in some optimal sense ($Var(Log(X))$), while making sure the values of X are not too-far apart, so the ratio from largest to smallest is bounded.

Minimize $\operatorname{Var}(\operatorname{Log}(X))$

  • $C * X = D$
  • $X \ge 0$
  • $\tfrac{\operatorname{Max}(X)}{\operatorname{Min}(X)} \le R_2 $