Градиент в вашей начальной точке равен почти 0, и алгоритм не может перейти к следующему лучшему решению.
Один из способов - использовать другую начальную точку:
optim(0.1*N, function(x) abs(1 - pbinom(x, N, 0.1) - 0.05), method = "Brent", lower = 1, upper = N)
или использоватьoptimize
, поскольку он одномерный:
optimize(function(x) abs(1 - pbinom(x, N, 0.1) - 0.05), c(1,N))