相关疑难解决方法(0)

在constrOptim中设置约束

有没有一种简单的方法来为constrOptim函数中的以下约束设置theta,ui,ci?

c1<x1<=c2
x1+1<x2<=c2+1
x2+1<x3<=c2+2
x3+1<x4<=c2+3
Run Code Online (Sandbox Code Playgroud)

我考虑过使用单纯形,但只需要3个约束.

谢谢

r

9
推荐指数
1
解决办法
4050
查看次数

R中的约束优化问题

我正在尝试设置一个优化脚本,它将查看一组模型,拟合曲线到模型,然后根据一些参数进行优化.

从本质上讲,我的收入是成本的函数,功能递减,我有多个投资组合,比如4或5.作为输入,我有成本和收入数据,按设定的增量.我想要做的是将曲线拟合到Revenue = A*cost ^ B形式的投资组合,然后针对不同的投资组合进行优化,以找到每个投资组合之间针对设定预算的最佳成本分配.

下面的代码(我很抱歉它的优点,我确信有很多改进!)基本上读取我的数据,在这种情况下,模拟,创建必要的数据框架(这可能是我的不足之处进来),计算每个模拟曲线的必要变量,并生成图形以检查数据的拟合曲线.

我的问题是,现在我有5条曲线:

收入= A*成本^ B(每个功能的A,B和成本不同)

我想知道,鉴于5个变量,我应该如何在它们之间分摊成本,所以我想优化5条曲线的总和

成本<=预算

我知道我需要使用constrOptim,但我花了几个小时把头撞在桌子上(几个小时,不是真的敲我的脑袋......)我仍然无法弄清楚如何设置功能以便它最大化收入,受成本限制......

在这里的任何帮助将不胜感激,这已经困扰了我几个星期.

谢谢!

丰富

## clear all previous data

rm(list=ls())
detach()
objects()

library(base)
library(stats)

## read in data

sim<-read.table("input19072011.txt",header=TRUE)
sim2<-data.frame(sim$Wrevenue,sim$Cost)

## identify how many simulations there are - here you can change the 20 to the number of steps but all simulations must have the same number of steps

portfolios<-(length(sim2$sim.Cost)/20)

## create a matrix to input the variables into

a<-rep(1,portfolios)
b<-rep(2,portfolios)
matrix<-data.frame(a,b)

## create dummy vector …
Run Code Online (Sandbox Code Playgroud)

r

2
推荐指数
1
解决办法
539
查看次数

标签 统计

r ×2