在 R 中解决中级微观经济学问题

Solving Intermediate Microeconomics Problems in R

现在我正在尝试找出如何解决 R 中的标准约束优化问题,这些问题通常可以使用拉格朗日手动解决。

我目前的代码是:

#Our Legrangian
L<-expression(X^a*Y^b+l*(M-px*X-py*Y))
#First Order Conditions:
dLdX<-D(L,"X")
dLdY<-D(L,"Y")
dLdl<-D(L,"l")

我无法完成剩下的工作。我尝试将一阶条件定义为矩阵和一些向量 b=c(0,0,0) 并使用 solve() 但是因为这是一个带有符号的非线性问题。

这个问题有解决办法吗?

两年后,我了解到解决这类问题的最简单方法是使用 NlcOptim 包。用于示例过程的代码如下:

############################
#Utility Maximization in R#
###########################
library('NlcOptim')
library('MASS')

##############
#Preferences#
#############
preferences<-function(x){
 return(-x[1]^0.5*x[2]^0.5)
}

###################
#Budget Constraint#
###################
budgetconstraint<-function(x){
  f=NULL
  f= rbind(f,2*x[1]+1*x[2]-10)
  return(list(ceq = NULL, c = f))
}
######################
# Starting values ###
####################
x0<-c(1,1)

########
#Solve#
#######
solnl(x0,consumer,budgetconstraint)