One of the key issues in designing a successful algorithm for VP detection is to suitably assign the line classification solutions to the food sources in the ABC algorithm. In this study, a food source is defined as a binary vector representing a partition of the line set. Binary vector encoding proceeds as follows. Based on some heuristic information, the set of line segments in an image is initially partitioned into line clusters. VPs computed by those line clusters are then collected into a set. A food source is finally encoded as a binary vector whose dimensions are equal to the size of the VP set. Each vector component, either 1 or 0, indicates whether the VP at the corresponding set position is selected to repartition line clusters through the latter optimal steps. As shown in Fig. 1, 200 line segments ${\xi 1,\xi 2,\u2026,\xi 200}$ extracted from an image are initially divided into seven subsets. A VP set ${v1,v2,\u2026,v7}$ is built from each subset producing one VP. A binary vector ${0,1,1,0,1,1,1}$ is randomly generated as a food source (solution) to indicate the selected VP set ${v2,v3,v5,v6,v7}$. The set ${\xi 1,\xi 2,\u2026,\xi 200}$ is then repartitioned so that each line segment is associated with one VP of the set ${v2,v3,v5,v6,v7}$ or is marked as an outlier.