我正在尝试最大化形式的利润函数(a-bc ^ x1) Py - (Px X1) 其中a-bc ^ x1是溢出生产函数(y = a-bc ^ x1)。我通过将生产函数乘以表示为Py的商品的单价将生产函数转换为收益函数。 Px * x1是成本函数,输入x1乘以Px; Px是x1的单价。
上述约束5000的预算。所以Px * X1 <= 5000且X1> = 0, 单位价格Py和Px分别为100和200,我将约束重写为 0℃; = X1&LT; = 25。 我已经设置了我的目标函数,如下所示
fn=function(x){
x1=x[1]
a=3474;b=1325;c=0.93575;Py=100;Px=200
-(a-b*(c^x1))*(Py)-(a-b)-(x1*Px)
}
在编写ui,ci和theta的时候,我的挑战就出现了,我已尝试如下;
A=matrix(c(1,0,-1,0),ncol=2,byrow=TRUE)
B=c(0,-25)
xinit=c(1,1)
xans2=constrOptim(theta=xinit, f=fn, grad=NULL, ui=A, ci=B,method = "Nelder-Mead")
xans2$par
我得到了25.00000,-9.89082的答案,这很奇怪,因为我只期望x1的一个值。有人可以帮我确定我的设置中的问题吗?
答案 0 :(得分:0)
来自?optim
:
对于optim,包含组件的列表:
par:找到的最佳参数集。
value:对应于par。
的fn值您要求xans2$par
根据您输入的功能为您提供最佳参数集。
xans2$value
给出与这些参数对应的fn
值。
如果您正在寻找单个值,我猜这就是您想要的。
xans2$value
[1] -329360