minimizing maximum eigenvalue of a matrix

145 Views Asked by At

I have an optimal design problem that tries to minimize the inertia of a robot.
To create a robot is to make right choices from a set of candidate parts and mechanisms, so I built a library of those. That being said, what I need to do is to decide 'choose or to not choose' per component. Hence, I can assign binary optimization variable $x\in\{0, 1\}^n$, or $x_i$ per component. Also, I have an expression of inertia matrix $\textrm{M}(x)\in\mathbb{R}^{m\times m}$, linear in $x$ as follows, \begin{equation} \textrm{M}(x) = \textrm{M}_0 +\sum_{i=1}^n\textrm{M}_ix_i , \\(\textrm{M}\succ 0, \:\:\textrm{M}_0 \succ0, \quad \textrm{M}, \textrm{M}_0, \textrm{M}_i \textrm{ are symmetric}) \end{equation} I want to minimize the maximum eigenvalue of the inertia matrix to create a light-weighted robot. Here's my rough idea: \begin{equation} \begin{aligned} \min_{x\in \{0, 1\}^n } \quad & \lambda_\max (\textrm{M}(x))\\ \textrm{s.t.} \quad & h(x) \leq 0 \\ & g(x) =0 \end{aligned} \end{equation} where constraints $h, g$ are linear in $x$. So far, it has a chance of being an binary integer programming which is fairly easy to solve.

The issue is that finding an analytic expression of maximum eigenvalue $\lambda_\max$ is difficult, so I am limited to use an alternative method that involves a quadratic constraint as follows, \begin{equation} \lambda_\max(\textrm{A}) = \sup_{||y||_2 =1} y^T\textrm{A} y. \end{equation}

The entire formulation ends up as \begin{equation} \begin{aligned} \min_{x\in \{0, 1\}^n } \quad & \sup_{||y||_2 =1} y^T\textrm{M}(x) y\\ \textrm{s.t.} \quad & h(x) \leq 0 , \\ & g(x) =0. \end{aligned} \end{equation} My question is, can I turn this into an integer linear programming or a mixed integer (quadratic) programming?

NOTE: I tried $\textrm{trace}(\textrm{M})$ to express the size of inertia matrix which gives me a binary linear programming, but it has its own issue; it tries minimizing the inertia by forcing other eigenvalues to zero, but what's more important to me is to penalize the largest eigenvalue of the inertia matrix.