今天看到一篇文章介紹如何用excel建模對roi 進行規劃求解。
藍鯨的**分析筆記
涉及多元非線性規劃分析求解,r 中提供了rdonlp2()包。
library(rdonlp2)
ppar.l=c(7,0,0);par.u=c(inf,0.04,inf) #自變數定義域約束
fn=function(x) #目標函式
nlcon=function(x)
nlin.l=1.2;nlin.u=1.2 #構成非線性約束
retnlin=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
使用規劃求解進行優化計算
在日常工作中,對身邊的情況進行優化計算節省一些成本。例如分工計算,假設經理手上有四個團隊,每個團隊的工作效率和成本都不一樣,當乙個訂單簽訂後,需要計算如何給四個團隊分配任務以達到成本最小。這種情況使用 規劃求解 進行計算,具體步驟如下 建立excel 工作表,用來描述四個團隊和任務,或開啟光碟中第 ...
優化方法求解機械臂軌跡規劃
基於優化的方法中乙個問題是如何表示障礙物,進而進行碰撞檢測。乙個比較直觀的方法 將機械臂,障礙物用非常簡單 易用解析形式表達的形狀包圍,如圓柱,圓球,圓錐。尤其是圓球,因為它具有完美的對稱性,碰撞檢測只需要判斷到球心的距離就可以。但是這種方法在一些對幾何約束要求較高的場合不適用,並且有可能會讓求解器...
R語言作線性規劃
首先安裝並載入包 rglpk 目標函式 mat 技術係數矩陣,注意優先填充縱列 dir rhs right hand terms 右端項 rglpk solve lp obj,mat,dir,rhs,max true 呼叫函式找出最優解 執行結果 optimum 1 36 solution 1 2 ...