  In this paper, a new search technique based on the virus optimisation
algorithm is proposed for calculating the neighbours of binary self-dual codes.
The aim of this new technique is to calculate neighbours of self-dual codes
without reducing the search field in the search process (this is a known in the
literature approach due to the computational time constraint) but still
obtaining results in a reasonable time (significantly faster when compared to
the standard linear computational search). We employ this new search algorithm
to the well-known neighbour method and its extension, the $k^{th}$-range
neighbours and search for binary $[72,36,12]$ self-dual codes. In particular,
we present six generator matrices of the form $[I_{36} \ | \ \tau_6(v)],$ where
$I_{36}$ is the $36 \times 36$ identity matrix, $v$ is an element in the group
matrix ring $M_6(\mathbb{F}_2)G$ and $G$ is a finite group of order 6, which we
then employ to the proposed algorithm and search for binary $[72,36,12]$
self-dual codes directly over the finite field $\mathbb{F}_2$. We construct
1471 new Type I binary $[72, 36, 12]$ self-dual codes with the rare parameters
$\gamma=11, 13, 14, 15, 17, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32$ in
their weight enumerators.
