今天看到一篇文章介绍如何用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的更多相关文章

  1. R语言 批量规划求解

    昨天读到一个项目,是关于优化求解的. 约束条件如下: 公司里有很多客户,客户之所以不继续用我们的产品了,是因为他账户余额是负的,所以,为了重新赢回这些客户,公司决定发放优惠券cover掉客户账户的负余 ...

  2. R语言:用简单的文本处理方法优化我们的读书体验

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html 前言 延续之前的用R语言读琅琊榜小说,继续讲一下利用R语言做一些简单的文本处理.分词的事情.其实 ...

  3. 简单线性回归问题的优化(SGD)R语言

    本编博客继续分享简单的机器学习的R语言实现. 今天是关于简单的线性回归方程问题的优化问题 常用方法,我们会考虑随机梯度递降,好处是,我们不需要遍历数据集中的所有元素,这样可以大幅度的减少运算量. 具体 ...

  4. R语言教程规划

    本文发表在博客园, http://www.cnblogs.com/stackworm/ 尽管进展中出现了意想不到的事情,期间中断1个多月,但我仍然会坚持下去. 首先,这份教程适合所有对R语言有兴趣且希 ...

  5. 如何在R语言中使用Logistic回归模型

    在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...

  6. R语言解读一元线性回归模型

    转载自:http://blog.fens.me/r-linear-regression/ 前言 在我们的日常生活中,存在大量的具有相关性的事件,比如大气压和海拔高度,海拔越高大气压强越小:人的身高和体 ...

  7. 主成分分析(PCA)原理及R语言实现

    原理: 主成分分析 - stanford 主成分分析法 - 智库 主成分分析(Principal Component Analysis)原理 主成分分析及R语言案例 - 文库 主成分分析法的原理应用及 ...

  8. 统计计算与R语言的资料汇总(截止2016年12月)

    本文在Creative Commons许可证下发布. 在fedora Linux上断断续续使用R语言过了9年后,发现R语言在国内用的人逐渐多了起来.由于工作原因,直到今年暑假一个赴京工作的机会与一位统 ...

  9. 数据分析与R语言

    数据结构 创建向量和矩阵 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 函数mean(), sum(), min(), m ...

随机推荐

  1. 用最简单的方式在C#中使用多线程加速耗时的图像处理算法的执行(多核机器)。

    图像处理中,有很多算法由于其内在的复杂性是天然的耗时大户,加之图像本身蕴涵的数据量比一般的对象就大,因此,针对这类算法,执行速度的提在很大程度上依赖于硬件的性能,现在流行的CPU都是至少2核的,稍微好 ...

  2. HDU1329 Hanoi Tower Troubles Again!——S.B.S.

    Hanoi Tower Troubles Again! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  3. 《Paxos Made Simple》翻译

    1 Introduction 可能是因为之前的描述对大多数读者来说太过Greek了,Paxos作为一种实现容错的分布式系统的算法被认为是难以理解的.但事实上,它可能是最简单,最显而易见的分布式算法了. ...

  4. BZOJ1190[HNOI2007]梦幻岛宝石

    Description 给你N颗宝石,每颗宝石都有重量和价值.要你从这些宝石中选取一些宝石,保证总重量不超过W,且总价值最大为,并输出最大的总价值.数据范围:N<=100;W<=2^30, ...

  5. IO(五)----打印流

    打印流(PrintStream和PrintWriter)  打印流可以打印任意类型的数据,而且打印数据之前都会先把数据转换成字符串再进行打印. PrintStream:打印字节流.System.out ...

  6. 《Java程序设计》 课程教学

    <Java程序设计> 课程教学 给学生 考核方式 100分构成 翻转课堂考核12次(5*12 = 60):每次考试20-30道题目,考试成绩规格化成5分(比如总分20分就除以4) 注意:不 ...

  7. FPGA与simulink联合实时环路系列—开篇

    FPGA与simulink联合实时环路系列—开篇 作为网络上第一个开源此技术,笔者迫不及待地想将此技术分享出来,希望大家多多支持.笔者从2011年接触FPGA以来,从各个方面使用FPGA,无论是控制. ...

  8. css 补漏

    1.box-sizing: width(宽) + padding(内边距) + border(边框) = 元素实际宽度    height(高) + padding(内边距) + border(边框) ...

  9. jquery版楼层滚动特效

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>楼 ...

  10. 安装MySQL的时候遇到的错误

    这里我安装的是MySQL5.6 我遇到的错误有 (1)Warning: Bison executable not found in PATH 解决办法: yum install bison 原文摘自: ...