Kreizhn
- 714
- 1
Hi,
I'm trying to do a constrained optimization problem. I shall omit the details as I don't think they're important to my issue. Let f:\mathbb R^n \to \mathbb R and c:\mathbb R^n \to \mathbb R^+\cup\{0\} be differentiable functions, where \mathbb R^+ = \left\{ x \in \mathbb R : x> 0 \right\}. The problem I want to solve is
\min_{\vec x\in\mathbb R^n} f(\vec x), \quad \text{ subject to } c(\vec x) = 0
Now all constrained optimization procedures that I know of use Lagrange multipliers. In this case, the Lagrangian would be
L(\vec x,\lambda) = f(\vec x) - \lambda c(\vec x)
and the key to this theory is that at the optimal point \vec x^* the gradients are parallel, so that
\nabla f(\vec x^*) = \lambda \nabla c(\vec x^*) [/itex]<br /> However, every x that satisfies c(\vec x)=0 is a minima of c(\vec x), we have that \nabla c(\vec x) =\vec 0 for all feasible points \vec x. Hence the gradient of the constraint is orthogonal to every feasible point and Lagrange multipliers breaks down.<br /> <br /> Is there a way to fix this? To change the constraint so that the gradient is non-zero? Should I switch to a non-Lagrange multiplier method? If such a method exists, what are they called? Any help would be appreciated.
I'm trying to do a constrained optimization problem. I shall omit the details as I don't think they're important to my issue. Let f:\mathbb R^n \to \mathbb R and c:\mathbb R^n \to \mathbb R^+\cup\{0\} be differentiable functions, where \mathbb R^+ = \left\{ x \in \mathbb R : x> 0 \right\}. The problem I want to solve is
\min_{\vec x\in\mathbb R^n} f(\vec x), \quad \text{ subject to } c(\vec x) = 0
Now all constrained optimization procedures that I know of use Lagrange multipliers. In this case, the Lagrangian would be
L(\vec x,\lambda) = f(\vec x) - \lambda c(\vec x)
and the key to this theory is that at the optimal point \vec x^* the gradients are parallel, so that
\nabla f(\vec x^*) = \lambda \nabla c(\vec x^*) [/itex]<br /> However, every x that satisfies c(\vec x)=0 is a minima of c(\vec x), we have that \nabla c(\vec x) =\vec 0 for all feasible points \vec x. Hence the gradient of the constraint is orthogonal to every feasible point and Lagrange multipliers breaks down.<br /> <br /> Is there a way to fix this? To change the constraint so that the gradient is non-zero? Should I switch to a non-Lagrange multiplier method? If such a method exists, what are they called? Any help would be appreciated.