美文网首页
VI debug-v2

VI debug-v2

作者: Silly_N_Fool | 来源:发表于2016-12-25 21:18 被阅读0次

1 测试参数变换情况

2.1 精度上限:

无论怎么调整initial step size和Delta,都类似,精度波动,精度存在上限

2.1.1 Initial step size=10, 步长只上升不下降,精度波动;Initial step size=5,步长下降,精度固定。

Initial step size=5在某个阶段步长下降,然后精度不再提高

2.1.2 Delta

2.2 FFT

在现有的基础上调高一个量级,仍然收敛。

2.3 overlap

overlap的波动对收敛没有影响,但是如果一个demand分到的流量过小,那就有问题了。收敛速度会大幅放慢。系统参数不能让某部分分到的流量过小。那就要对CNL,cost的分配机制,参数影响都有一个很好的理解。
对于membership来说,中间值较好。Demand分的流量较均匀。


step size adjust trajectory

2.4CNL参数

MuE 0.1-0.99 在0.1时,一种mode分的流量为0,全局不收敛。在0.99时,收敛性较好。不知道MuE表示什么意思?
MuE对split的结果是否有这么大的影响?我用CNL.excel来试试。


与 Projection的计算结果一致

下面看看CNL公式,MuE的影响。


MuE越小,exp(x)就越小,membership也越小,整体的mode share不清楚
MuE=0.1,不收敛,迭代5万余次,其中一个mode分到的流量为0
其余MuE在0.2~0.99都能计算出准确结果 MuE越小,流量差距越明显。

FW对比,数据源,读入数据处,头文件,shortest path。都要改数据。在MuE=0.2~0.5时试算,一样的结果。MuE=0.1时,FW可以计算出结果,而且结果正确。但是,某种mode得到的流量的确接近0了。

2.4.1 Projection不能处理mode demand=0的情况,而FW可以。

2.4.2 mode demand=0本身是要避免的。MuE越大越好。Theta越小越好。

Paste_Image.png

2.3 Link cost fun

给不同的BPR可以,但是肯定差距不要过大。PPT一定要经过调解。否则分到的流量不合理。
总的来说,CNL对于输入的ptt的敏感度很高。对于参数设置非常敏感。

2.4 Demand

2 如何防止某方式分到的流量过小?

2.1 法一

if (nm[nestmode_i].DemandP <= 1e-50){
    nm[nestmode_i].DemandP = 1e-50;
}

就相当于demand的约束不是大于等于0而是大于等于1e-50。
尝试结果不行。可能CNL就是要接近0了。

2.2 法二

只要=0,就判定不行。出循环。

            for (nestmode_i = 0; nestmode_i < NoNMs; nestmode_i++) {
                if (nm[nestmode_i].DemandP == 0) {
                    NMNonZeroIndicator = 1;
                }
            }
            if (NMNonZeroIndicator == 0) {
                S4FunValueNPth(l, p, nm, od);
                S5Residual(p, nm, Alpha);
                SetpSizeJudgeFlag = S6StepSizeJudge(p, nm, Alpha); 
                //printf("%d\t", SetpSizeJudgeFlag);
            }
            NMNonZeroIndicator = 0;

测试结果还是不行,那就只能在FW上先试好,再在Projection上跑。

2.3 现在FW上跑一个合理的结果,再在Projection上跑。

    先在FW试好,再在Projection上跑。
可以跑起来。
在此基础上,确定CNL参数。
    #define MuE 0.8 //Gumbel dispersion parameter
    #define Theta 1 //Gumbel parameter of root level
先调整网络结构。
link,相关的head file 
    #define NoLs 5
    #define NoNodes 4
shortest path,对rail and PNR的shortest path 没有影响。
得出结果,与CNL验证,CNL结果正确。
下面,改变Free flow time 和 BPR function,然后缓慢加Demand。
BPR要在Link cost和line search里面一起改。确实收敛。
下面增加free flow time。也能收敛。
下面增加Demand,直接在OD一个地方改就好。 Demand 从200渐次增加至600,没有问题。
得到了一个可行配置。
od link initial solution
还是不行,就是demand/flow升级的时候,出现demand=0,在其后计算cost存在困难。
在投影的时候,注意使其不为0.然后终于收敛了。还是在投影技术(法一)上控制的。法二也用了,但不知有没有起作用。

2 测试ND net

相关文章

网友评论

      本文标题:VI debug-v2

      本文链接:https://www.haomeiwen.com/subject/erclvttx.html