I have the following optimization problem.
$$\begin{array}{ll} \text{maximize} & \det \left(\sum^n_{i=1}z_i W_i \right)\\ \text{subject to} & \sum_{i=1}^n z_i = N\\ & z_i \in \{0,1\}\end{array}$$
where
all $W_i$ are given; they are constant, symmetric, and positive definite matrices.
$N$ is also given and strictly less than $n$ (typically much less than $n$---for example, if $n = 200$, then $5 \leq N \leq 20$).
1 A sub-optimal or near-optimal solution is acceptable for my problem;
2 the maximum size of $W_i$ can be around $100 \times 100$.
Here are the questions.
1 Is there any existed analytically strict solver/algorithm to handle this except random search type (that is, of derivative-free type) algorithm (which I have already tried, but found to be too slow)?
2 Is there a reformulation technique to re-cast it as convex as possible?
3 Is there a reformulation technique to re-cast it as smooth as possible?
One trick is to relax the $z_i$ to be continuous variables with values in $[0,1]$ (let's call it relaxed-ver1; but even if we go through this, the relaxed-ver1 sill involves a sum of a series of matrices weighted by the decision variables $z_i$.
Now, I can write down the gradient of the objective function w.r.t $z_i$, that is, $\frac{\partial W}{\partial z_i} $ (I will type it here later); but the Hessian involves a matrix derivative for the adjunct (or adjugate) matrix adj(W), so I will just stop here:
$$\frac{\partial \text{adj}(W)}{\partial z_i},$$
where $W = \sum^n_{i=1} z_i W_i$.
Another possibility is to change the objective functions to some "similar type". For example, I have already thought about using (1) quadratic forms; (2) traces (e.g., $\text{trace}\sum^n_{i=1}z_i W_i$); (3) minimum eigenvalues. But so far, no additional progress.