R语言:规划求解优化ROI

摘要:
今天,我看到了一篇关于如何使用excel建模来解决ROI规划的文章。

今天看到一篇文章介绍如何用excel建模对ROI 进行规划求解。
蓝鲸的网站分析笔记
R语言:规划求解优化ROI第1张
R语言:规划求解优化ROI第2张
R语言:规划求解优化ROI第3张

  • 成本 Cost
  • 每次点击费用 CPC
  • 点击量 $$clickRate = frac{cost}{CPC}$$
  • 转化率 conversionRatio
  • 购买量 $$Purchaseamount = frac{Cost*conversionRatio}{CPC}$$
  • 客单价 perCustomerTransaction
  • 利润率 rateofProfit
  • 利润 $$profit = Purchaseamount * perCustomerTransaction * rateofProfit$$
  • 投资回报率 $$ ROI = frac{profit}{Cost}$$

涉及 多元非线性规划分析求解 ,R 中提供了Rdonlp2()包。

library(Rdonlp2)
p<-c(7,0.01,1000)      # 迭代初始值
par.l=c(7,0,0);par.u=c(Inf,0.04,Inf) #自变量定义域约束
fn=function(x){
  0.18*x[2]*x[3]/x[1]
}  #目标函数

nlcon=function(x){
  0.18*x[2]*x[3]/x[1]
}
nlin.l=1.2;nlin.u=1.2 #构成非线性约束
ret<-donlp2(p,fn,par.u=par.u, par.l=par.l,
            nlin=list(nlcon), nlin.u=nlin.u, nlin.l=nlin.l)
ret

运行后的结果如下

 ret
$par   #DONLP2 的返回值 和Excel求解值相同
[1]    7.000    0.040 1166.667

$gradf  #梯度
[1] -0.171428571 30.000000000  0.001028571

$u   # vector of lagrange multipliers for constraints  约束拉格朗日乘子的矢量
[1] 5.551115e-17 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
[7] 1.000000e+00 0.000000e+00

$w   #vector of penalty term 惩罚因子向量
[1] 1.0 1.0 1.0 1.0 1.0 1.0 2.2 1.0

$step.nr  # total number of iterations 迭代次数
[1] 2

$fx  # the value of objective function fn  目标函数fn的结果
[1] 1.2

$scf  # scaling of fn 尺度
[1] 1

$psi # psi the weighted penalty term
[1] 0.3771429

$upsi # 
[1] 0.1714286

$del.k.1
[1] 0.001

$b2n0
[1] 0

$b2n
[1] 1.509644e-14

$nr
[1] 3

$sing
[1] -1

$umin
[1] 0

$not.used
[1] 0

$cond.r
[1] 17672.02

$cond.h
[1] 2.001279

$scf0
[1] 1

$xnorm
[1] 1000.025

$dnorm
[1] 166.6667

$phase
[1] 0

$c.k
[1] 1

$wmax
[1] 2.2

$sig.k
[1] 1

$cfincr
[1] 2

$dirder
[1] -0.2057143

$dscal
[1] 1

$cosphi
[1] 1e-05

$violis
[1] 0

$hesstype
[1] 0

$modbfgs
[1] 0

$modnr
[1] 0

$qpterm
[1] 0

$tauqp
[1] 0

$infeas
[1] 0

$nr.update
         [,1]         [,2]          [,3]
[1,] 1.000008 -0.005714053 -1.142493e-07
[2,] 0.000000  1.414665735  1.964581e-05
[3,] 0.000000  0.000000000  1.000000e+00

$message
[1] "KT-conditions satisfied, no further correction computed"

$runtime
[1] 0.002

免责声明:文章转载自《R语言:规划求解优化ROI》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇报错:Unsupported field: HourOfDayarale-cookie 使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

R语言使用灰色关联分析(Grey Relation Analysis,GRA)中国经济社会发展指标

原文链接:http://tecdat.cn/?p=16881 灰色关联分析包括两个重要功能。第一项功能:灰色关联度,与correlation系数相似,如果要评估某些单位,在使用此功能之前转置数据。第二个功能:灰色聚类,如层次聚类。  灰色关联度 灰色关联度有两种用法。该算法用于测量两个变量的相似性,就像`cor`一样。如果要评估某些单位,可以转置数据集。...

R语言:变量名称和字符串的转换

R语言:变量名称和字符串的转换 2014-06-23 14:45:27         在R语言中,经常会遇到变量名称和字符串相互转换的问题。比如说,进行1000次循环运算,并将运算结果存储在1000个变量中,如x_1, x_2, ... , x_1000。这时候可以使用assign()函数,示例如下:> a错误: 找不到对象'a'> as...

R语言基础-数据转换

一、基本转换 读取Excel数据 methods(is) 函数可以查看所有 is 的方法。用于判断数据 methods(as) 函数可以查看所有的转换方法。 二、对大数据集,取数据子集 1.读数据 两种写法 2.随机抽样函数 sample() 对向量抽样 对数据框抽样,取子集 3.删除特定数据 原数据 mtcars 删除1-5列 删除mpg列...

Ubuntu 12.04上安装R语言

Ubuntu 12.04上安装R语言 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ R的安装 sudo gedit /etc/apt/sources.list 在sources.list文件后面添加一行 deb http://ftp.ctex.org/mirrors/CRAN/bin/linux/ub...

R语言-混合型数据聚类

利用聚类分析,我们可以很容易地看清数据集中样本的分布情况。以往介绍聚类分析的文章中通常只介绍如何处理连续型变量,这些文字并没有过多地介绍如何处理混合型数据(如同时包含连续型变量、名义型变量和顺序型变量的数据)。本文将利用 Gower 距离、PAM(partitioning around medoids)算法和轮廓系数来介绍如何对混合型数据做聚类分析。 --...

R语言hist重叠图作法

set.seed(1) h1<-hist(rnorm(1000,100,5)) h2<-hist(rnorm(1000,99,5)) plot(h2,col=rgb(255,0,0,50,maxColorValue =255),border = NA) plot(h1,col=rgb(225,225,0,50,maxColorValue =25...