I'm trying to use the Binary Flower Pollination Algorithm (BFPA) for feature selection. In the BFPA, the sigmoid function is used to compute a binary vector that represents whether a feature is selected or not. Here are the relevant equations from the paper (page 4).
$$ S\left(x_{i}^{j}(t)\right)=\frac{1}{1+e^{-x_{i}^{j}(t)}} \tag{4}\label{4} $$
\begin{equation} x_{i}^{j}(t)=\left\{\begin{array}{ll} 1 & \text { if } S\left(x_{i}^{j}(t)\right)>\sigma \\ 0 & \text { otherwise } \end{array}\right. \tag{5}\label{5} \end{equation}
In my case, I noticed that my algorithm sometimes returns a zero vector (i.e. all elements are zeros, such as $[0,0,0,0,0,0,0,0,0]$), which means that no feature is selected (a feature would be selected when it is $1$), which makes the fitness function returns an error.
Is it correct that sigmoid returns result like that?