Pessoal,
como devo escrever a função fxy para que o optim pegue fxy e maximize mesma? Estou pesquisando aqui, mas não consegui. Este é um exemplo apenas para fins didáticos! 
x = seq(-2,2,length=20) 
y = seq(-2,2,length=20) 
f = function(x,y){ 
 fxy = -x^2 - y^2 
  return(fxy) 
z = outer(x,y,f) 
persp(x,y,z,theta=30,phi=30, col="green",xlab="x",ylab="Y",zlab="Produção") # Gostaria de acrescentar a escala no eixo!


fxy=function(x,y) -x^2 - y^2

optim(c(2,2),fxy, method="BFGS", control=list(fnscale=-1))  

obrigado