Optimisation of a function of many binary variables.

47 Views Asked by At

I have a function defined over a large $N$-dimensional space $$f\left(\frac{\mathbf{b}}{|\mathbf{b}|}\right)$$ with $b_i\in \{0,1\}$, $|\mathbf{b}|=\sum_{i=1}^Nb_i$. The goal is to find the minimum of $f$. For $N=2$ the question would amount to figure which of the inputs $(0,1), (1,0), (\frac{1}{2}, \frac{1}{2})$ minimises $f$. When $N$ is sufficiently large it becomes impossible to numerically explore all the space.

One approach could be to start from the homogeneous initial state $b_i=1/N$, and perform a greed search by removing one element from the vector $\mathbf{b}$ at a time.

  • Is there a standard approach to treat this sort of optimisation problems?
  • Alternatively, any suggestions for a better algorithm than the greed search mentioned above?