Linear programming: Range of subgradients of linear functions maximized at a point

31 Views Asked by At

Consider any non-empty compact convex feasible set defined by linear inequalities in $\mathbb{R}^n$. Clearly, this feasible set is a convex polytope, say $P = \{x \in [0,1]^n: A_i^T x \geq0, B_j^T x = 0 \;for\;i \in \{1,\cdots,I\}, j \in \{1,\cdots,J\}\}$. It has a finite set of, say, $K$ extreme points. Now consider the set of all possible linear functions on $\mathbb{R}^n, f(x) = V^Tx$. I fix a particular extreme point $X$ of $P$ such that at least one inequality constraint hold with equality at $X$. and find out what is the set of subgradients $V$ for which $X$ is a solution to the linear program $max \; V^Tx,\;s.t.\; x \in P$. It is my understanding that it should be the convex hull of the gradients of all the hyperplanes $A_i^Tx=0$ which intersect at $X$.

First of all, is this correct?

Secondly, I'm confused about a few things. Since the boundary hyperplanes are all of the form $A_ix \geq 0$, and the same goes for $V^Tx$, any positive scalar multiple of $A_i$ or $V$ also works as the gradient of $A_ix = 0$ (same for $V^Tx$). So how to construct the aforementioned convex hull through taking convex combinations? If any kind of normalization (like normalize 2-norm to 1) is the correct way, is it unique, or we can do it in other ways also (e.g. fix one of the coordinates at 1)?

Edit: I have added more relevant details, thanks to suggestions of user LinAlg.