Debug a função para que tenha um diagnóstico melhor.
library(debug)
mtrace(simplex)
mtrace(simplex1)
O erro está acontecendo dentro a função simplex1 que é interna da função simplex. O erro ocorre em um while. Então, só você mesmo pra saber o porque do erro.