1
$\begingroup$

I have the quadratic program

$$\text{maximize } f = x^T Q x \quad \text{subject to } Ax \leq b$$

where $x \in \mathbb{R}^n$, $Q \in \mathbb{R}^{n \times n}$ is positive semidefinite, $A \in \mathbb{R}^{m \times n}$, $b \in \mathbb{R}^m$. The polytope described by the constraints $Ax \leq b$ is known to be bounded (maybe by placing additional simple constraints on each $x_i$).

Are there fast ways to solve this for $n \text{, } m \leq 1000$? I am looking for a worst-case, so an approximate answer that overestimates $f$ would also be okay.

  • 0
    If you do not care about the quality of your overestimation, just take any $x \in \mathbb{R}^n$ that satisfies $Ax \leq b$. Depending on your problem, finding such $x$ can be challenging by itself.2017-01-27
  • 2
    @avs As far as I understand it, the solution methods for QP problems work for minimizing a convex objective or maximizing a concave objective, but not the opposites. That is, we can easily find the "trough," but not the extreme point which happens to maximize the objective. Playing around with a brute force approach of enumerating the vertices and checking them all, it can get out-of-hand even for small $m$ and $n$.2017-01-27
  • 0
    True, I overlooked that. I'll edit my comment.2017-01-27
  • 0
    @Untitled, The domain defined by $Ax \leq b$ is convex (an intersection of half-spaces), and $f$ is a convex function. Therefore, if $f$ attains a maximum in the domain, then it attains a maximum at an extreme point of the domain (and, possibly, at other points). I could be wrong about this, but the philosophy of the simplex method seems correct, at least in principle: walk around the edges of the domain, in the direction of $\nabla f$. True, might get caught in a local minimum. So, another idea you might consider is simulated annealing.2017-01-27
  • 0
    Solvers like CPLEX and Gurobi can solve nonconvex QPs with branch and bound. However, the question asks for fast methods.2017-01-29

0 Answers 0