首页 > 解决方案 > R中的约束最大化(优化)

问题描述

我有一个像这样的简单线性回归模型:

Income=beta_0 + beta_1*YearsCollegeEducation + beta_2*Age

我在哪里获得了系数:

i) beta_0 = 0.8
ii) beta_1=1.9
iii) beta_2=0.5

现在我被告知要进行这样的约束优化:

Max (Income - YearsCollegeEducation*3.4)
such that 35 => Age => 30

第二期反映大学教育贷款还款额

这是我在 R 中创建的示例数据:

YearsCollegeEducation = c(5,8,4,3,1,2,5,9,4,5)
age = c(24,30,33,22,29,37,29,30,24,31)
data=data.frame(YearsCollegeEducation,Age)
data$intercept = 1
data$Income = data$intercept*0.8+data$YearsCollegeEducations*1.9+data$Age*0.5

我应该如何在 R 中进行?

如果我在任何部分不清楚,请告诉我。我对优化很陌生,并且已经坚持了一段时间。谢谢。

标签: roptimization

解决方案


我认为不需要任何优化,因为不存在非线性。您可以只评估该范围任一端的目标函数并决定哪个更大。

 objtive <- function( YearsCollegeEducation, Age){ 
     beta_0 = 0.8
     beta_1=1.9
     beta_2=0.5
     Income=beta_0 + beta_1*YearsCollegeEducation + beta_2*Age
     res=Income - YearsCollegeEducation*3.4}

推荐阅读