Algorithms for the self-optimisation of chemical reactions | Synapse