MNL(SUE) --> CNL-UE with FW

case study

  1. VI Projection and MP FW comparison
  2. find they all collapse, find where is the problem
  3. see the performance of MNL based sue
  4. 公式是什么
  5. 正确吗
  6. 算法
  7. 编程

Bug:

entropy_left 和 entropy_right相互颠倒防止

LeftTrialOutput = LeftTrialOutput + entropy_left;
RightTrialOutput = RightTrialOutput + entropy_right;
note 这个bug是通过一步步的debug试出来的。
  1. 用e-5来显示比%.10lf更高的精度
%.5e //显示5位数字
  1. 检查是否满足均衡条件
计算机跑出的结果

完全满足均衡条件


看看是否满足均衡条件
  1. Dispersion parameter
    Theta=2


    Paste_Image.png

    Theta=3


    Paste_Image.png

    Theta=0.5
    Paste_Image.png

    Theta=0.1
    Paste_Image.png

    不能达到收敛(Theta=0.1)

Paste_Image.png
  1. 计算一下平均最小期望


    Paste_Image.png

    Theta=0.1的时候也不一致。


    Paste_Image.png

    吓死爹了,excel中ln试ln,然后就一致了
    Paste_Image.png

总结

FW在解MNL based SEU时就会出现偏差

  1. congestion situation
在Deamnd加倍,path cost比以前多10倍的情况下,表现良好,达到均衡,最小期望值也一样

同样,再此Demand下测试离散参数,同样非常敏感,步长一开始好好的,然后,突然变0,前后解的误差急剧减少,同时不收敛。这个可以像一开始一样一步步看。

11/29

ptt不能过高

这时link free flow time, OD demand, BPR对ptt影响都很大。

line search 里面也有bug

for (p_i = 0; p_i < NoPs; p_i++){
            entropy_left = entropy_left + p[p_i].Pf_Left * (log(p[p_i].Pf_Left) - 1);
            entropy_right = entropy_right + p[p_i].Pf_Right * (log(p[p_i].Pf_Right) - 1);
        }

把这两个问题测完,对Theta不敏感了,Apf符合Logit公式了。收敛的很好

改变Theta=2还是有bug

外部参数Theta要写成2.0

到目前为止调整Theta没问题了。Demand也可以。

Theta=0.1

符合logit fun
符合流量守恒
前后解相差很小。
Theta=0.01,direction=0;已经达到最优了。

Paste_Image.png

所得结论确实与Theta的变化一致。
CNL里面的离散参数
下层0-1
上层》0
下层=1时,为MNL
CNL有不同表达式,怎么互推
CNL更接近Probit,缓解了独立性

CNL-UE with FW Debug

  1. CNL上没有问题
  2. CNL excel 印证过,那估计在line search上有偏差
    从MNL(SUE)可以看出,output的精度由line search的精度决定。不会比line search的精度高。说错了,提高line search的精度没有提高最终结果的精度。
    S4LinkTravelTime(l);
    S2CNL_Loading(l, nm, n, od);
    S3AON(l, nm);
    S5Direct(l, nm);
    这几部出错的可能性不大
    打印输出line search
    line search内部没有问题,都在excel中核对过了
    简化网络,就考虑三条线的情况。
    也是AD符合CNL,line search有问题,不是路径选择的问题
    将step size adjust 放在循环外面,对结果没有影响。

line search 在缩小到一定程度的时候就不动了。但是步长精度不需要那么高。问题不在这。MNL在line search的时候也有同样的问题。
不是在已有的基础上开发,就很难Debug。

如果link travel time是常数,一步就完成。所有流量分到最短路,line search 的时候确实是偏向均衡解的。说明,至少在一定情况下line search是没问题的。改为线性函数,也不已完成,但是解不正确。看看MNL。对于FFT乘以系数还是常数,要与flow挂钩;乘以一个常数,MNL也控制的不好;但是在输入data的时候,也乘以一个系数,一步就能收敛。下面,把flow这个变量引入试试;加入Flow以后也不收敛,应该是收敛的。回到BPR就可以,都是增函数,为啥不一样?BPR改成1次,也不收敛。这个怎么查?牵一发而动全身,肯定其他地方也用到了。看一遍流程就知道啦,link funtion是和objective fun连在一起的,link fun 改动,object fun也要改。如果是常数,obj不变化,正好碰巧了。我在VI里调link fun就没关系,因为就一步用地link fun。把link flow调低,link flow和Obj调整好,对了,没错。不调低的话

  • 那我再试试CNL下面的link travel fun的改变会怎样。
    直接到无穷了;

可能line search还有隐藏的问题
input对不对?

  1. Link travel time 是BPR+constant+constant

第二天,从CNL-UE测试起。

要修改的地方:头文件,文件读写时的文件名,强行给定的最短路径(OD pair, mode)
昨天的code 测试乱了,从仓库里取原来的。又要重新Debug。说明,没做一点改动都要记录,不然马上就忘了。而且代码和数据要放一起,不能分开。
原来的代码数据结构变了,都要改。主要时nest数据结构体。
** 在data input要输入nest结构体**
将cost: nest cost, root cost, MargProb, CondProb都进行了调整
在probability 的计算代码也进行了修改
另外,在AON中也发现了问题
加载的时辅助流量,不是流量(ADem,Dem)

  • 将FW与MSA进行对比:
    首先,结果不一致。
    第二,MSA的比FW更加符合CNL概率。
    第三,MSA的多种固定步长对结果没有影响。(0.1,0.2... 1, 1.5)
    总结,可以认为是line search的问题。
  • 用VI的Projection和MSA对比,结果也不一致
  • 想原因,可能是link travel time的表达式不一样,改成相同的表达式后,结果果然一致。
  • MSA改link cost中的一步,FW要改两步
    然后想到,FW不但要改link cost的表达式,还要改line search里面积分的表达式。测试以后,发现FW,MSA,Projection对同一个算例求解得到相同的结果。

3 precision of FW and MSA is still not acceptable

3.1 Is the problem of AON?

membership 0.5-0.5 correct
membership 0.2-0.8 correct
Mu 0.8 correct (一开始是不一样的,后来检查一下CNL.xlxs,是原来的计算公式有错,改过来就完全一样了)
总结,不是AON的问题,还是要看看line search

3.2 check line search

check MSA: 精度一直在提高,只是比较慢而已。最高1e-6.
check line search: 精度一直在提高,明显比MSA快。但是仍有上限,20 万次迭代,最高1
e-7. 50万次迭代,3*e-8. 同时查看AON—CNL,我认为没有问题。
总结:line search 上也没有问题,可能是FW自身的问题。

  • 在MNL(SUE)中出现过的左右颠倒的问题,没有出现。
  • ptt也没有过高
  • line search里面的积分表达式正确
  • 全局变量Theta要写成1.0的形式
  • line search 时候的积分表达式不对

3.3 test on larger net

  • 规范输入格式
  • input data format
  • input file name
  • head file
  • shortest path: different origin should be give the shortest path

还是有问题,跑不起来。那就只能一步步Debug。

  • 最短路给错了,Wrong origin
    correct: Pred[2] = 15; Pred[3] = 15; Pred[15] = 14; Pred[14] = 5; Pred[5] = 1;
    Wrong:Pred[2] = 15; Pred[3] = 15; Pred[15] = 14; Pred[14] = 5; Pred[5] = 4;
    CNL pass
    all pass
    在ND上也能跑起来
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容

  • fix step size 过高引起的Precision异常 Projection method 里面分为两步,一...
    Silly_N_Fool阅读 390评论 0 0
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,658评论 0 33
  • 记忆中,我最早接触的书,是图书连环画,就是上面是图画,下面配有文字的小人书。在七八十年代,儿童图书并不像现在那样泛...
    一泓夜雨阅读 434评论 8 4