在 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)
现在我正在尝试找出如何解决 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)