R语言:规划求解优化ROI
今天看到一篇文章介绍如何用excel建模对ROI 进行规划求解。
蓝鲸的网站分析笔记
- 成本 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的更多相关文章
- R语言 批量规划求解
昨天读到一个项目,是关于优化求解的. 约束条件如下: 公司里有很多客户,客户之所以不继续用我们的产品了,是因为他账户余额是负的,所以,为了重新赢回这些客户,公司决定发放优惠券cover掉客户账户的负余 ...
- R语言:用简单的文本处理方法优化我们的读书体验
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html 前言 延续之前的用R语言读琅琊榜小说,继续讲一下利用R语言做一些简单的文本处理.分词的事情.其实 ...
- 简单线性回归问题的优化(SGD)R语言
本编博客继续分享简单的机器学习的R语言实现. 今天是关于简单的线性回归方程问题的优化问题 常用方法,我们会考虑随机梯度递降,好处是,我们不需要遍历数据集中的所有元素,这样可以大幅度的减少运算量. 具体 ...
- R语言教程规划
本文发表在博客园, http://www.cnblogs.com/stackworm/ 尽管进展中出现了意想不到的事情,期间中断1个多月,但我仍然会坚持下去. 首先,这份教程适合所有对R语言有兴趣且希 ...
- 如何在R语言中使用Logistic回归模型
在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...
- R语言解读一元线性回归模型
转载自:http://blog.fens.me/r-linear-regression/ 前言 在我们的日常生活中,存在大量的具有相关性的事件,比如大气压和海拔高度,海拔越高大气压强越小:人的身高和体 ...
- 主成分分析(PCA)原理及R语言实现
原理: 主成分分析 - stanford 主成分分析法 - 智库 主成分分析(Principal Component Analysis)原理 主成分分析及R语言案例 - 文库 主成分分析法的原理应用及 ...
- 统计计算与R语言的资料汇总(截止2016年12月)
本文在Creative Commons许可证下发布. 在fedora Linux上断断续续使用R语言过了9年后,发现R语言在国内用的人逐渐多了起来.由于工作原因,直到今年暑假一个赴京工作的机会与一位统 ...
- 数据分析与R语言
数据结构 创建向量和矩阵 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 函数mean(), sum(), min(), m ...
随机推荐
- 使用Windbg在XP下Heap追踪失败的原因
1.故事背景 最近同事的代码中碰到一个bug会导致奔溃的bug,从dump上看是由于某个对象的堆内存指针被释放了,但代码仍调用了该对象指针的虚函数,从而引起内存访问违法崩溃,由于该类被大量使 ...
- UVA - 1025 A Spy in the Metro[DP DAG]
UVA - 1025 A Spy in the Metro Secret agent Maria was sent to Algorithms City to carry out an especia ...
- 第5章 Java数组
1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...
- app测试总结
1.安全测试(权限) 1)软件权限:其中包括发送信息,拨打电话,链接网络,访问手机信息,联系人信息等等 2)数据在本地的存储.传输等 3)执行某些操作时导致的输入有效性验证.授权.数据加密等方面 4) ...
- React官网学习笔记
欢迎指导与讨论 : ) 前言 本文主要是笔者在React英文官网学习时整理的笔记.由于笔者水平有限,如有错误恳请指出 O(∩_∩)O 一 .Tutoial 篇 1 . React的组件类名的首字母必须 ...
- 关于javascript中this的那点事
this可谓是JavaScript中的开发神器,使用得当的话不仅有事半功倍的效果,而且代码的逼格也更高.但是既然是神器,如果你没有足够的功力的话,那么就不要使用它,否则就有可能自毁身亡.曾几何时,我偶 ...
- animate支持的css属性
支持下列CSS 样式 * backgroundPosition * borderWidth * borderBottomWidth * borderLeftWidth * borderRightWid ...
- UML——在Visual Studio 2013/2015中设计UML类图
1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...
- [转]在html中控制自动换行
其实只要在表格控制中添加一句 <td style="word-break:break-all">就搞定了. 其中可能对英文换行可能会分开一个单词问题:解决如下: 语法: ...
- 利用phpize 外挂php扩展
如果你的php是手动编译安装的 ,可能有一些扩展一开始并没有开启,以后需要某扩展的时候又不想重新编译php,使用phpize可以动态添加扩展 以Ubuntu为例, 如果你是我这样安装php的 apt ...