loy_20002000 发表于 2017-7-6 03:27:10

牛腰 发表于 2017-7-6 02:39
我已经作了,结果证实了我的看法。假设滞销面包的优先权高于新鲜面包,在每日进货110时日均利润是正数,1 ...

好吧,你和我讲从来不在一条轨道上。我给洋葱头的回复已经清楚说明我的前提条件了。你说的只是我给出的四个滞销处置方案的一种,而我说明了两种,剩下那种没思路所以我没有解决过。

我一直以为讨论的是原题意下进货为120剩余面包是否为零。你的处置方法是我总结的队列式。优先销售降价面包我算过,我的方法由于需要分情况处理最后没结果,我可从来没有说过这个情况下的结论。

之后的讨论条件还是全部给出吧,否则我又不知道讨论的是什么了。

牛腰 发表于 2017-7-6 03:45:55

本帖最后由 牛腰 于 2017-7-6 04:06 编辑

loy_20002000 发表于 2017-7-6 02:11
不止我可以做,你也可以做呀。

刚才把我做的模型打开看一下,连续天数足够多的话每个选项的日均利润是:
110:+102元
120:-110元到-120元之间
130:-160元
140:-200元

日进货120的日均利润收敛很慢,但是肯定是负数。

至于每日进货120,假设跑40万天左右,运行了几次,最后一天的滞销数量最多超过1万,最小的也有3千多。日均需求(~120)减去日均销售量,差别大约是0.015。所以你不可能保证滞销的面包都能卖完。

牛腰 发表于 2017-7-6 04:10:20

本帖最后由 牛腰 于 2017-7-6 04:20 编辑

loy_20002000 发表于 2017-7-6 03:27
好吧,你和我讲从来不在一条轨道上。我给洋葱头的回复已经清楚说明我的前提条件了。你说的只是我给出的四 ...

我刚才想不起具体数字,所以就写了我能记得的结果。我已经把我的具体结果贴出来了,愿不愿意自己验证就随便你了。

loy_20002000 发表于 2017-7-6 06:42:53

牛腰 发表于 2017-7-6 04:10
我刚才想不起具体数字,所以就写了我能记得的结果。我已经把我的具体结果贴出来了,愿不愿意自己验证就随 ...

你的思维有几个误区。

1.弱大数定理的含义。

http://www.aswetalk.net/bbs/data/attachment/forum/201707/06/000628af94j5uh64czh54p.jpg

通俗的说法是:当n趋近无穷时,【均值与期望的距离大于任意实数】的可能性无限趋近于0。

假设t为任意小数,|Xn-u|>t的可能性接近0。也就是说Xn无限接近u。你给出一个0.015的实验差值,理论上说把n继续调大,绝对值会小于这个数字。

2.你实验方法的错误。

你应该找的是货物剩余Bi=0的出现频率,而不是某个时刻Tn货物剩余Bn是多少。T1、T2、……、Tn是销售日期序列,你应该找的是Bi(1<= i <=n)=0在Ti 出现了多少次。

理由是:

Bn为大数,由于100、110可以与130、140对冲,所以剩余将一直在Bn附近震荡。可我们知道初始剩余为0,为何会形成大数Bn呢。

过程是这样的,由于条件是等概率,当B1=0时反复出现130、140,所以接下来出现100、110的可能性很高,并且真的出现了,于是乎B1诞生了。按理剩余在B1附近震荡,可同样的剧情又上演了。剩余再次冲击0,然后再次反弹形成B2。以此类推,Bn是经过了B1、B2、……B(n-1)一系列过程形成的。每形成一个Bi 剩余都要清空一次(Bj=0,j<i)。

正如在一条实数轴上随便砍一道,大部分情况下得到的都是无理数(无理数的势大于有理数),但不能因此说有理数不存在。我们说Bi趋近于正无穷的意思是Bi >Bj(j<i),像正弦曲线是没有极限(sin x,x趋于无穷)与无穷大一说的,Bi的变化与它十分类似。

如果你的实验没有我这里描述的过程,例如只经过少数几次清零Bn就达到3000up或更多,或是剩余一直在积累却几乎没有清零。要么你的概率设置有问题,要么你的随机是假随机。维纳——诺依曼计算机是没法产生真随机的。

3.均值与期望。

均值可以近似期望但毕竟不是期望,期望是一个理想化的概念,而均值是一个现实的统计量。所以剩余均值 Bi/i 的分子货物剩余Bi可以是任意大数。但这并不影响我的结论。按照我的方法得出的收益趋近于正无穷,而货物剩余在某个时刻Tn仅仅是一个常数,何况它还会回到0。

完毕。

牛腰 发表于 2017-7-6 09:58:20

本帖最后由 牛腰 于 2017-7-6 19:24 编辑

loy_20002000 发表于 2017-7-6 06:42
你的思维有几个误区。

1.弱大数定理的含义。


1.市场需求量和销售量是两个不同的概念,前者是纯粹的需求,和供给量无关,但是每一天的销售量则是需求量和供给量(在这里是新鲜面包和滞销面包数量的和)里最小的那个数。需求量和销售量只有在供给量每一天都大于需求量的时候才会相等。如果需求量大于供给量,多出来的部分属于lost sales,不会留到第二天。你把这两个概念混淆了。题目给了需求量(100,110,120,130和140 随机分布),但是只有在每天进货140的情况下两者才会相等。所以如果u是平均需求量(即120),而Xn是前n天的平均销售量,弱大数定率对于|Xn-u|根本不适用,因为Xn和u虽然有关联,但是它们是两个完全不同的东西。

2.你指出我试验方法的缺陷是对的,我接受。我之所以提出日均需求和日均销售量的差别是因为我也觉得最后一天的滞销数量只是一个点,日均需求和日均销售量的差别更能说明问题。我也怕随机数的产生有bias,所以我作了两组试验,第一组随即产生100到140的需求量,第二组里的需求量把第一组倒过来,等于240减去第一组的需求量,这样100就变成140,110变成130。。。两组的模拟结果是一致的。

3.你说的Bi是否清零问题很有意思,我以前没有想到这一点。如果我连续跑82万天,清零的次数每次模拟有几百个到几千个。有意思的是相邻的两次清零天数之间如果相隔n天,在这段时间里总销售量总是等于120n(废话),但是总需求要么等于120n,要么大于120n,从来不会小于120n。原因就是我说的不对称性质。也就是说相邻的两次清零,要么会积累lost sales,要么不会,但是lost sales永远不会减少,所以在n天里总销售量 =总需求量-lost sales,n趋向无穷的时候平均需求量无限趋向120,但是因为lost sales大于0,平均销售量会趋向一个小于120的数。所以我前面给出的0.015的差值,我觉得不是实验误差,因为41万天和82万天的模型得出的结果都是这个数。如果是实验误差的话,天数翻倍,实验误差应该减少30%,即1/sqrt(2) 才对。我觉得这个0.015的差值应该包含了每天lost sales的平均值。

4.你在第三点里提到的均值与期望,是销售量的均值和需求量的期望,它们的差不会趋于零,因为它们根本就是两吗事。

5.我再次建议你自己作个模型跑一下,这是检验自己答案非常有效的手段。

loy_20002000 发表于 2017-7-6 19:30:01

牛腰 发表于 2017-7-6 09:58
1.市场需求量和销售量是两个不同的概念,前者是纯粹的需求,和供给量无关,但是每一天的销售量则是需求 ...

1.基本概念的厘清。

题目给出了根据【历史统计情况】得出来的【日销售量】。所以题目给出的数据类型是【统计量】,不是【真实的参数估计】。我在给你的第二个回复假设了它们是真实的参数估计(实际上参数估计没有真实与否这一说,真实参数只有上帝知道),这样处理起来会显得简单一些。这里不符合题意,可是也有一些合理性,毕竟现实的销售概率不会都是等概率这么完美,是有零有整的;商品销售也不会都是100、……、140这类“完美数”,既然题目假设很完美我就干脆让它更完美。所以有了【剩余货物的期望】【日利润的期望】【日销售量的期望】。有了这些期望就可以求【剩余货物的平均值】【日利润的平均值】【日销售量的平均值】。我的所有讨论是建立在如上假设之上的,所以使用了弱大数定律。

我理解你的意思,【市场需求量】是一个客观参数,消费者起决定性因素。而【市场销售量】取决于两个因素,一是消费者的购买意愿,二是商家有多少库存,这两者中min的那个决定数值。

你的意思是【日平均销售量】小于【日平均需求量(120)】。按你的语境来说,我的意思是【日平均消费量】接近【日平均需求量】。显然,我说的东西与你坚持的根本就是一回事儿。

2.现实问题的处理。

前面多次强调了【剩余货物的平均值】问题。诚然分子很大,但平均到每天几乎能忽略不计的。我的想法是【日均需求量-日均销售量】可以无穷小,你的数据是0.015。以你的数据为准,这个损失是可以接受的。

我上一个回复3)讲的不是【销售量的均值和需求量的期望】呀。而是【剩余均值与剩余货物】。我主要是强调概念的差别。

这里说下大数定律的现实化考虑。题目给出的是日销量,我把它当做真实参数,于是就有了【日销量期望】这个东西。而【日销售均值】就可以和【日销量期望】发生一些关联。

如果u是平均需求量(即120),而Xn是前n天的平均销售量,弱大数定率对于|Xn-u|根本不适用
显然如你所说,这里是不能用弱大数定律的。一个均值逼近另外一个均值不是弱大数定律的内容。但在现实中这是OK的。歪一个,说一个中学教科书的例子。

用一枚质地均匀的硬币做投掷实验,当重复实验次数足够多时,任意一面出现次数的平均值是0.5。当重复实验次数较少时平均值在0.5附近剧烈震荡;而当重复实验较多后震荡变小;当重复实验足够多后震荡变得极其微小。这是大数定律的思想源泉,也是频率派概率论的根基。虽然它并不严格,但极具实用性。甚至有人专门做过上万次的抛掷硬币实验来验证它的正确性,实验结果与预期一致。

比较有趣的是概率哲学史的英国学派有人坚称,单次投掷不规则硬币出现任意一面的概率是0.5。由于这个思想的缘故他们认为只有实验次数足够多后概率才是偏离0.5的,但单次实验任意一面的可能性完全一致。例如重复试验下正面的可能性是0.95,他们认为重复实验中有可能出现连续多次反面的情况,虽然它的可能性只有0.05。所以应该认为正反面的概率都是0.5。

基于这个朴素的思想,有理由认为如下。

样本1,A事件重复实验k次;样本2,A事件重复实验n次。n远大于k。由于样本2更接近真实的期望值,所以样本2估计的参数更准确。样本1也是逐渐逼近期望值的,在不知道真实参数的情况下有理由认为样本1逼近的是样本2。现实的处理中真实参数是不得而知的,哪怕是抛掷硬币或筛子的重复实验也是不可知的,因为这些物品的质地不可能真正的均匀(如筛子就不可能是均匀的),二是基于重复实验找真理的思想必然的推论是真理只能靠近不能知晓。所以通用的做法是用大样本统计量当做真理,如PERT方法下均值=期望,标准差=经验估计+往期数据。

不论是我的文字分析法还是你的实验检验法,好用就行。不用大数定律一类方法,认为小样本统计量一直在逼近大样本统计量也是可以的,这的情况是【我们求的日均销售量】一直逼近【题意的日均销售量】。

3.我亲自实验的问题。

我猜测你的工作与机器学习一类有关,所以动手检验来得快。你说的蒙特卡洛方法我知道原理,但具体操作不在行。并且我多年不碰代码了(2008年至今),对于我来说有些麻烦的。所以还是纯理论分析吧。

牛腰 发表于 2017-7-6 21:21:31

本帖最后由 牛腰 于 2017-7-6 23:26 编辑

loy_20002000 发表于 2017-7-6 19:30
1.基本概念的厘清。

题目给出了根据【历史统计情况】得出来的【日销售量】。所以题目给出的数据类型是【 ...

1.在供大于求的情况下销售量和需求量是相等的,如果每天都有150个面包可以出售,统计结果是销售量在100到140之间平均分布,不考虑价格和其它因素的影响,这就是需求量的分布。做到这一点并不难,对这道题来说这也是合理的,否则这道题没法做,因为它没有提供之前库存管理的方法。所以对这道题来说面包需求量就是100到140这5个数之间的平均分布。

即使这个平均分布是在每天有140个面包可以出售的情况下得到的结果,你也不能假设每日进货120的情况下还能得到同样分布的销售量,因为供给方面的条件变了。

2.日均销售量 = 日均需求量 – 日均lost sales。如果天数趋向无穷时日均lost sales大于0并且不趋向无穷小,我们说的就不是一回事了,因为日均销售量不会趋向日均需求量。在41万天和82万天两种情况下都得到大约0.015的差额,有理由相信这大约等于日均lost sales而不是实验误差,否则这个数应该随着天数的增加而减少。

3.如果日均需求量=120,日均lost sales大约0.015,那么日均lost sales就是滞销面包数量的的日均积累,在天数趋向无穷的情况下滞销面包数总数会变得很大(尽管在某些天里还会归零)。我在模型运行结果里看到过滞销面包最大(不是最后那一天)超过2万的。假设滞销面包的优先权大于新鲜面包,这会影响到日均销售量的mix,即卖出去的新鲜面包和滞销面包的比例。

4.回到题目里的利润问题,根据我的模型结果,每天进货120,日均利润大约是–115,用鸡兔同笼的方法,得出新鲜面包的日均销售量大约是3,滞销面包的日均销售量大约是117。如果每天进货110,模型结果日均利润是102,那么新鲜面包的日均销售量大约是106,滞销面包的日均销售量大约是4。这个结果符合我在模拟前做的qualitative分析,既每日进货120/130/140,利润是负的,而每日进货110的话利润是正的,所以答案应该是A:110。

loy_20002000 发表于 2017-7-8 18:28:02

牛腰 发表于 2017-7-6 21:21
1.在供大于求的情况下销售量和需求量是相等的,如果每天都有150个面包可以出售,统计结果是销售量在100 ...

经过我反复实验,你的结论不成立。

1.我的实践

1.1.代码

#include <stdlib.h>
#include <stdio.h>
#include <time.h>         //使用当前时钟做种子


double i, S0,Add,Sub,Sta,Sn,Zero,Max,Sv;
    //
int D,GetRam,Times,Zero_man;    //man==万   


               


void main( void )
{   
   
    S0=0;
    Sn=S0;
    Add=0;
    Sub=0;
    Sta=0;
    GetRam=0;
    D=0;
    Zero=0;
    Max=10000000;
    Times=0;
    Zero_man=0;
   
    srand( Times=(unsigned)time( NULL ) );
   
   
    for( i = 0; i < Max;i++ )                        
    {
      GetRam=rand();
      D=GetRam%10;
                                                 //printf("D=%d\n",D);
      if (D==0 || D==1)
      {
            Add++;
            Sn=Sn+20;
            
      }
      else if (D==2 || D==3)
      {
            Add++;
            Sn=Sn+10;
      }
      else if (D==4 || D==5)
      {
            Sta++;
            Sn=Sn+0;
      }   
      else if (D==6 || D==7)
      {
            Sub++;
            if(Sn>=10)
                Sn=Sn-10;   
      }   
      else if (D= 8 || D==9)
      {
            Sub++;
            if (Sn>=20)
                Sn=Sn-20;
            else if (Sn<20 && Sn >=0)
                Sn=0;
      }            
      if(Sn==0)
      {
            Zero++;
            if(i>=100000)
                Zero_man++;
               
      }   
      
   
    }                                              // rand() 0~65535 32767
            
      Sv=Sn/Max;
      
      printf("这里的日进货为120个面包\n\n");
      printf("Add,库存增加次数=%f\n",Add);
      printf("Sta,库存不变次数=%f\n",Sta);
      printf("Sub,库存减少次数=%f\n",Sub);   
      printf("Sn,库存总额=%f\n",Sn) ;   
      printf("Zero,库存清空次数=%f\n",Zero);
      printf("Zero_man,运行十万次以上库存清空次数=%d\n",Zero_man);
      printf("Sv,日均滞销库存=%f\n",Sv);   
      printf("Times,随机化初始时间参数=%d\n",Times);
      printf("Max,反复实验次数=%f\n",Max);
            
            
}

1.2.代码的思路如下

为了取得较满意的随机数,我先用日期初始化随机函数,然后用随机函数输出事件发生的频率。

1.3.运行数据

为了使得结果更具说服力,我分别贴50万、100万、500万、1500万、10亿的分别5个结果。

50万——

1)
这里的日进货为120个面包

Add,库存增加次数=199905.000000
Sta,库存不变次数=100062.000000
Sub,库存减少次数=200033.000000
Sn,库存总额=5960.000000
Zero,库存清空次数=997.000000
Zero_man,运行十万次以上库存清空次数=646
Sv,日均滞销库存=0.011920
Times,随机化初始时间参数=1499499993
Max,反复实验次数=500000.000000

--------------------------------
Process exited after 0.1982 seconds with return value 31
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=200099.000000
Sta,库存不变次数=99865.000000
Sub,库存减少次数=200036.000000
Sn,库存总额=2340.000000
Zero,库存清空次数=689.000000
Zero_man,运行十万次以上库存清空次数=433
Sv,日均滞销库存=0.004680
Times,随机化初始时间参数=1499500050
Max,反复实验次数=500000.000000

--------------------------------
Process exited after 0.1802 seconds with return value 31
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=200716.000000
Sta,库存不变次数=99936.000000
Sub,库存减少次数=199348.000000
Sn,库存总额=23020.000000
Zero,库存清空次数=310.000000
Zero_man,运行十万次以上库存清空次数=0
Sv,日均滞销库存=0.046040
Times,随机化初始时间参数=1499500114
Max,反复实验次数=500000.000000

--------------------------------
Process exited after 0.06543 seconds with return value 31
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=200454.000000
Sta,库存不变次数=99822.000000
Sub,库存减少次数=199724.000000
Sn,库存总额=19880.000000
Zero,库存清空次数=1029.000000
Zero_man,运行十万次以上库存清空次数=0
Sv,日均滞销库存=0.039760
Times,随机化初始时间参数=1499500186
Max,反复实验次数=500000.000000

--------------------------------
Process exited after 0.04682 seconds with return value 31
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=200036.000000
Sta,库存不变次数=100289.000000
Sub,库存减少次数=199675.000000
Sn,库存总额=7910.000000
Zero,库存清空次数=117.000000
Zero_man,运行十万次以上库存清空次数=0
Sv,日均滞销库存=0.015820
Times,随机化初始时间参数=1499500206
Max,反复实验次数=500000.000000

--------------------------------
Process exited after 0.04708 seconds with return value 31
请按任意键继续. . .

100万——

1)
这里的日进货为120个面包

Add,库存增加次数=400100.000000
Sta,库存不变次数=200363.000000
Sub,库存减少次数=399537.000000
Sn,库存总额=15230.000000
Zero,库存清空次数=1294.000000
Zero_man,运行十万次以上库存清空次数=890
Sv,日均滞销库存=0.015230
Times,随机化初始时间参数=1499500299
Max,反复实验次数=1000000.000000

--------------------------------
Process exited after 0.2725 seconds with return value 32
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=399879.000000
Sta,库存不变次数=200225.000000
Sub,库存减少次数=399896.000000
Sn,库存总额=8800.000000
Zero,库存清空次数=252.000000
Zero_man,运行十万次以上库存清空次数=0
Sv,日均滞销库存=0.008800
Times,随机化初始时间参数=1499500318
Max,反复实验次数=1000000.000000

--------------------------------
Process exited after 0.0818 seconds with return value 32
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=399594.000000
Sta,库存不变次数=199684.000000
Sub,库存减少次数=400722.000000
Sn,库存总额=1600.000000
Zero,库存清空次数=2793.000000
Zero_man,运行十万次以上库存清空次数=1626
Sv,日均滞销库存=0.001600
Times,随机化初始时间参数=1499500358
Max,反复实验次数=1000000.000000

--------------------------------
Process exited after 0.06388 seconds with return value 32
请按任意键继续. . .

4)

这里的日进货为120个面包

Add,库存增加次数=400999.000000
Sta,库存不变次数=199193.000000
Sub,库存减少次数=399808.000000
Sn,库存总额=29130.000000
Zero,库存清空次数=1835.000000
Zero_man,运行十万次以上库存清空次数=142
Sv,日均滞销库存=0.029130
Times,随机化初始时间参数=1499500391
Max,反复实验次数=1000000.000000

--------------------------------
Process exited after 0.06221 seconds with return value 32
请按任意键继续. . .

5)

这里的日进货为120个面包

Add,库存增加次数=400764.000000
Sta,库存不变次数=199100.000000
Sub,库存减少次数=400136.000000
Sn,库存总额=32210.000000
Zero,库存清空次数=2880.000000
Zero_man,运行十万次以上库存清空次数=1696
Sv,日均滞销库存=0.032210
Times,随机化初始时间参数=1499500420
Max,反复实验次数=1000000.000000

--------------------------------
Process exited after 0.06348 seconds with return value 32
请按任意键继续. . .

——500万

1)
这里的日进货为120个面包

Add,库存增加次数=2001474.000000
Sta,库存不变次数=1000100.000000
Sub,库存减少次数=1998426.000000
Sn,库存总额=36740.000000
Zero,库存清空次数=93.000000
Zero_man,运行十万次以上库存清空次数=0
Sv,日均滞销库存=0.007348
Times,随机化初始时间参数=1499500467
Max,反复实验次数=5000000.000000

--------------------------------
Process exited after 0.351 seconds with return value 32
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=1998655.000000
Sta,库存不变次数=1001266.000000
Sub,库存减少次数=2000079.000000
Sn,库存总额=2010.000000
Zero,库存清空次数=5308.000000
Zero_man,运行十万次以上库存清空次数=4428
Sv,日均滞销库存=0.000402
Times,随机化初始时间参数=1499500517
Max,反复实验次数=5000000.000000

--------------------------------
Process exited after 0.3252 seconds with return value 32
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=1999941.000000
Sta,库存不变次数=999562.000000
Sub,库存减少次数=2000497.000000
Sn,库存总额=24000.000000
Zero,库存清空次数=4837.000000
Zero_man,运行十万次以上库存清空次数=4540
Sv,日均滞销库存=0.004800
Times,随机化初始时间参数=1499500699
Max,反复实验次数=5000000.000000

--------------------------------
Process exited after 0.2099 seconds with return value 32
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=2002229.000000
Sta,库存不变次数=999926.000000
Sub,库存减少次数=1997845.000000
Sn,库存总额=84620.000000
Zero,库存清空次数=1896.000000
Zero_man,运行十万次以上库存清空次数=1539
Sv,日均滞销库存=0.016924
Times,随机化初始时间参数=1499500742
Max,反复实验次数=5000000.000000

--------------------------------
Process exited after 0.1914 seconds with return value 32
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=1998393.000000
Sta,库存不变次数=1000616.000000
Sub,库存减少次数=2000991.000000
Sn,库存总额=2340.000000
Zero,库存清空次数=6222.000000
Zero_man,运行十万次以上库存清空次数=5611
Sv,日均滞销库存=0.000468
Times,随机化初始时间参数=1499500776
Max,反复实验次数=5000000.000000

--------------------------------
Process exited after 0.1921 seconds with return value 32
请按任意键继续. . .

1500万——

1)
这里的日进货为120个面包

Add,库存增加次数=5998063.000000
Sta,库存不变次数=3000273.000000
Sub,库存减少次数=6001664.000000
Sn,库存总额=21920.000000
Zero,库存清空次数=11096.000000
Zero_man,运行十万次以上库存清空次数=11059
Sv,日均滞销库存=0.001461
Times,随机化初始时间参数=1499500889
Max,反复实验次数=15000000.000000

--------------------------------
Process exited after 0.6771 seconds with return value 33

2)
这里的日进货为120个面包

Add,库存增加次数=5998591.000000
Sta,库存不变次数=3001925.000000
Sub,库存减少次数=5999484.000000
Sn,库存总额=54110.000000
Zero,库存清空次数=6734.000000
Zero_man,运行十万次以上库存清空次数=6286
Sv,日均滞销库存=0.003607
Times,随机化初始时间参数=1499500940
Max,反复实验次数=15000000.000000

--------------------------------
Process exited after 0.5099 seconds with return value 33
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=6001457.000000
Sta,库存不变次数=3000657.000000
Sub,库存减少次数=5997886.000000
Sn,库存总额=76100.000000
Zero,库存清空次数=6768.000000
Zero_man,运行十万次以上库存清空次数=6625
Sv,日均滞销库存=0.005073
Times,随机化初始时间参数=1499500983
Max,反复实验次数=15000000.000000

--------------------------------
Process exited after 0.5085 seconds with return value 33
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=5999769.000000
Sta,库存不变次数=2999330.000000
Sub,库存减少次数=6000901.000000
Sn,库存总额=59290.000000
Zero,库存清空次数=8334.000000
Zero_man,运行十万次以上库存清空次数=7902
Sv,日均滞销库存=0.003953
Times,随机化初始时间参数=1499501006
Max,反复实验次数=15000000.000000

--------------------------------
Process exited after 0.5085 seconds with return value 33
请按任意键继续. . .

5)

这里的日进货为120个面包

Add,库存增加次数=5998488.000000
Sta,库存不变次数=3000540.000000
Sub,库存减少次数=6000972.000000
Sn,库存总额=45270.000000
Zero,库存清空次数=6812.000000
Zero_man,运行十万次以上库存清空次数=6585
Sv,日均滞销库存=0.003018
Times,随机化初始时间参数=1499501057
Max,反复实验次数=15000000.000000

--------------------------------
Process exited after 0.628 seconds with return value 33
请按任意键继续. . .

10亿——

1)
这里的日进货为120个面包

Add,库存增加次数=400041610.000000
Sta,库存不变次数=200012114.000000
Sub,库存减少次数=399946276.000000
Sn,库存总额=1822100.000000
Zero,库存清空次数=2467.000000
Zero_man,运行十万次以上库存清空次数=1951
Sv,日均滞销库存=0.001822
Times,随机化初始时间参数=1499504383
Max,反复实验次数=1000000000.000000

--------------------------------
Process exited after 31.41 seconds with return value 35
请按任意键继续. . .

2)

这里的日进货为120个面包

Add,库存增加次数=400010415.000000
Sta,库存不变次数=200013558.000000
Sub,库存减少次数=399976027.000000
Sn,库存总额=912910.000000
Zero,库存清空次数=6948.000000
Zero_man,运行十万次以上库存清空次数=6864
Sv,日均滞销库存=0.000913
Times,随机化初始时间参数=1499503700
Max,反复实验次数=1000000000.000000

3)
这里的日进货为120个面包

Add,库存增加次数=400034657.000000
Sta,库存不变次数=200027145.000000
Sub,库存减少次数=399938198.000000
Sn,库存总额=1765400.000000
Zero,库存清空次数=2817.000000
Zero_man,运行十万次以上库存清空次数=2208
Sv,日均滞销库存=0.001765
Times,随机化初始时间参数=1499504690
Max,反复实验次数=1000000000.000000

--------------------------------
Process exited after 31.93 seconds with return value 35
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=400011094.000000
Sta,库存不变次数=200012907.000000
Sub,库存减少次数=399975999.000000
Sn,库存总额=934970.000000
Zero,库存清空次数=4023.000000
Zero_man,运行十万次以上库存清空次数=3464
Sv,日均滞销库存=0.000935
Times,随机化初始时间参数=1499504856
Max,反复实验次数=1000000000.000000

--------------------------------
Process exited after 31.72 seconds with return value 35
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=400028633.000000
Sta,库存不变次数=200009998.000000
Sub,库存减少次数=399961369.000000
Sn,库存总额=1526240.000000
Zero,库存清空次数=19270.000000
Zero_man,运行十万次以上库存清空次数=18536
Sv,日均滞销库存=0.001526
Times,随机化初始时间参数=1499504946
Max,反复实验次数=1000000000.000000

--------------------------------
Process exited after 31.59 seconds with return value 35
请按任意键继续. . .



1.4.实验结论

实验次数为50万、100万、500万的时候Sv上下起伏较大。而1500万次的情况下Sv几乎都在0.005以下振动,我做了50次独立实验,只有一次在0.005之上(就是列出的那次)。10亿次的实验做了10次,都在0.002之下。

另外我还跑了三次100亿,都在0.0013之下,贴一个日均剩余最大的:

这里的日进货为120个面包

Add,库存增加次数=4000250437.000000
Sta,库存不变次数=2000129855.000000
Sub,库存减少次数=3999619708.000000
Sn,库存总额=12606790.000000
Zero,库存清空次数=8699.000000
Zero_man,运行十万次以上库存清空次数=7275
Sv,日均滞销库存=0.001261
Times,随机化初始时间参数=1499505239
Max,反复实验次数=10000000000.000000

--------------------------------
Process exited after 314.8 seconds with return value 36
请按任意键继续. . .

-------------------------------

单次实验的n越大,m次实验的Sv就越接近0。根据弱大数定律可以认为日剩余均值在不断趋近它的期望。

2.2.理论依据

事件1:需求量为100、110、120的事件

事件2:需求量为130、140的事件

随机变量X=(n次实验下事件2发生的次数)。显然,事件1的概率p为60%,事件2的概率q为40%。

X满足二项分布,其标准差Sigma=sqrt(n*p*q)

Sigma/n=/n=sqrt(p*q)/sqrt(n),比值趋于0。

/n——说明了标准差的增长速度慢于n的增长速度,平均到每天离散程度都是在下降的。货物总剩余是离散性造成的,不论是货物滞销还是货物累计被清空必然的结果都是货物存量上升。而标准差是离散数据离散程度的度量,有理由相信可以用【平均单日标准差】来度量【平均单日货物剩余】的程度。

这只是一个思路,恰当的定量方法还在摸索。如果此处正确,期望值是0。

loy_20002000 发表于 2017-7-8 19:32:09

牛腰 发表于 2017-7-6 21:21
1.在供大于求的情况下销售量和需求量是相等的,如果每天都有150个面包可以出售,统计结果是销售量在100 ...

另外补充一个130、140的剩余可以统统处理成-10、-20的结果。

                else if (D==6 || D==7)
                {
                        Sub++;
                        //if(Sn>=10)
                              Sn=Sn-10;      
                }   
                else if (D= 8 || D==9)
                {
                        Sub++;
                        //if (Sn>=20)
                              Sn=Sn-20;
                        //else if (Sn<20 && Sn >=0)
                        //      Sn=0;

1500万:

这里的日进货为120个面包

Add,库存增加次数=6003427.000000
Sta,库存不变次数=2998483.000000
Sub,库存减少次数=5998090.000000
Sn,库存总额=70260.000000
Zero,库存清空次数=1801.000000
Zero_man,运行十万次以上库存清空次数=1774
Sv,日均滞销库存=0.004684
Times,随机化初始时间参数=1499510708
Max,反复实验次数=15000000.000000

--------------------------------
Process exited after 0.6654 seconds with return value 33
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=5999779.000000
Sta,库存不变次数=2998864.000000
Sub,库存减少次数=6001357.000000
Sn,库存总额=-31570.000000
Zero,库存清空次数=623.000000
Zero_man,运行十万次以上库存清空次数=383
Sv,日均滞销库存=-0.002105
Times,随机化初始时间参数=1499511077
Max,反复实验次数=15000000.000000

--------------------------------
Process exited after 0.5144 seconds with return value 33
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=5999858.000000
Sta,库存不变次数=3001357.000000
Sub,库存减少次数=5998785.000000
Sn,库存总额=42390.000000
Zero,库存清空次数=861.000000
Zero_man,运行十万次以上库存清空次数=760
Sv,日均滞销库存=0.002826
Times,随机化初始时间参数=1499511113
Max,反复实验次数=15000000.000000

--------------------------------
Process exited after 0.4997 seconds with return value 33
请按任意键继续. . .

一个亿:

这里的日进货为120个面包

Add,库存增加次数=40004956.000000
Sta,库存不变次数=20000250.000000
Sub,库存减少次数=39994794.000000
Sn,库存总额=240850.000000
Zero,库存清空次数=467.000000
Zero_man,运行十万次以上库存清空次数=42
Sv,日均滞销库存=0.002409
Times,随机化初始时间参数=1499511190
Max,反复实验次数=100000000.000000

--------------------------------
Process exited after 3.31 seconds with return value 34
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=40001063.000000
Sta,库存不变次数=19993838.000000
Sub,库存减少次数=40005099.000000
Sn,库存总额=-63950.000000
Zero,库存清空次数=3838.000000
Zero_man,运行十万次以上库存清空次数=3783
Sv,日均滞销库存=-0.000639
Times,随机化初始时间参数=1499511227
Max,反复实验次数=100000000.000000

--------------------------------
Process exited after 3.289 seconds with return value 34
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=40005208.000000
Sta,库存不变次数=20000671.000000
Sub,库存减少次数=39994121.000000
Sn,库存总额=245100.000000
Zero,库存清空次数=1182.000000
Zero_man,运行十万次以上库存清空次数=1017
Sv,日均滞销库存=0.002451
Times,随机化初始时间参数=1499511259
Max,反复实验次数=100000000.000000

--------------------------------
Process exited after 3.148 seconds with return value 34
请按任意键继续. . .

10亿:

这里的日进货为120个面包

Add,库存增加次数=400031496.000000
Sta,库存不变次数=200023806.000000
Sub,库存减少次数=399944698.000000
Sn,库存总额=1539040.000000
Zero,库存清空次数=7706.000000
Zero_man,运行十万次以上库存清空次数=7546
Sv,日均滞销库存=0.001539
Times,随机化初始时间参数=1499511772
Max,反复实验次数=1000000000.000000

--------------------------------
Process exited after 31.5 seconds with return value 35
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=400021945.000000
Sta,库存不变次数=200006364.000000
Sub,库存减少次数=399971691.000000
Sn,库存总额=1130980.000000
Zero,库存清空次数=9151.000000
Zero_man,运行十万次以上库存清空次数=8990
Sv,日均滞销库存=0.001131
Times,随机化初始时间参数=1499511951
Max,反复实验次数=1000000000.000000

--------------------------------
Process exited after 31.5 seconds with return value 35
请按任意键继续. . .


这里的日进货为120个面包

Add,库存增加次数=400038347.000000
Sta,库存不变次数=200009120.000000
Sub,库存减少次数=399952533.000000
Sn,库存总额=1509130.000000
Zero,库存清空次数=4657.000000
Zero_man,运行十万次以上库存清空次数=4230
Sv,日均滞销库存=0.001509
Times,随机化初始时间参数=1499512375
Max,反复实验次数=1000000000.000000

--------------------------------
Process exited after 31.36 seconds with return value 35
请按任意键继续. . .

---------------------------------------------------

显然它的期望是0,1500亿的情况下是最大剩余70260。 一个亿的时候达到了245100。单日期望为0不等于累计期望也是0,因为有标准差的存在,均值在逼近的同时标准差也是一直在增大的。10亿的时候剩余甚至可以高达库存总额=1539040.000000。

需要注意的是5种情况在这里可能不是等概率的,平均运行32767次会少两次(-20),所以当n足够大的情况下几乎只能得到正数。当然,这只是当年学计算机的时候课本上的东西,这里我的赋值是int,但取值范围好像比long还大,随机数的最大值究竟是多少我没有测试过。由于对概率及期望影响很小,这里我就不严格化了。

loy_20002000 发表于 2017-7-8 20:11:41

牛腰 发表于 2017-7-6 21:21
1.在供大于求的情况下销售量和需求量是相等的,如果每天都有150个面包可以出售,统计结果是销售量在100 ...

想了下干脆再严格点,保证5个情况都是等概率的。测试了下随机数上限与老的c规范一样。超过32760的数字统统屏蔽。

       if (GetRam>=32760 && GetRam <=32767)
      {
            Lost++;//记录多余的随机数个数
            i--;          //此次循环不作数,再来过
      }
       else
      {
         ……
      }
1000万的情况:

这里的日进货为120个面包

Add,库存增加次数=4001941.000000
Sta,库存不变次数=2001263.000000
Sub,库存减少次数=3996796.000000
Sn,库存总额=61950.000000
Zero,库存清空次数=303.000000
Zero_man,运行十万次以上库存清空次数=200
Sv,日均滞销库存=0.006195
Times,随机化初始时间参数=1499514945
Max,反复实验次数=10000000.000000
Lost,2481

--------------------------------
Process exited after 0.3767 seconds with return value 11
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=3998974.000000
Sta,库存不变次数=1999051.000000
Sub,库存减少次数=4001975.000000
Sn,库存总额=-52880.000000
Zero,库存清空次数=601.000000
Zero_man,运行十万次以上库存清空次数=574
Sv,日均滞销库存=-0.005288
Times,随机化初始时间参数=1499515066
Max,反复实验次数=10000000.000000
Lost,2379

--------------------------------
Process exited after 0.3534 seconds with return value 11
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=4000652.000000
Sta,库存不变次数=1997585.000000
Sub,库存减少次数=4001763.000000
Sn,库存总额=-13980.000000
Zero,库存清空次数=1845.000000
Zero_man,运行十万次以上库存清空次数=1679
Sv,日均滞销库存=-0.001398
Times,随机化初始时间参数=1499515089
Max,反复实验次数=10000000.000000
Lost,2483

--------------------------------
Process exited after 0.355 seconds with return value 11
请按任意键继续. . .

一亿:

这里的日进货为120个面包

Add,库存增加次数=39997990.000000
Sta,库存不变次数=19998299.000000
Sub,库存减少次数=40003711.000000
Sn,库存总额=-132430.000000
Zero,库存清空次数=453.000000
Zero_man,运行十万次以上库存清空次数=178
Sv,日均滞销库存=-0.001324
Times,随机化初始时间参数=1499515136
Max,反复实验次数=100000000.000000
Lost,24387

--------------------------------
Process exited after 3.365 seconds with return value 12
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=40006094.000000
Sta,库存不变次数=19995047.000000
Sub,库存减少次数=39998859.000000
Sn,库存总额=103640.000000
Zero,库存清空次数=2542.000000
Zero_man,运行十万次以上库存清空次数=2462
Sv,日均滞销库存=0.001036
Times,随机化初始时间参数=1499515171
Max,反复实验次数=100000000.000000
Lost,24452

--------------------------------
Process exited after 3.343 seconds with return value 12
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=39991077.000000
Sta,库存不变次数=20000421.000000
Sub,库存减少次数=40008502.000000
Sn,库存总额=-309440.000000
Zero,库存清空次数=4014.000000
Zero_man,运行十万次以上库存清空次数=3738
Sv,日均滞销库存=-0.003094
Times,随机化初始时间参数=1499515203
Max,反复实验次数=100000000.000000
Lost,24306

--------------------------------
Process exited after 3.233 seconds with return value 12
请按任意键继续. . .

10亿:

这里的日进货为120个面包

Add,库存增加次数=400006086.000000
Sta,库存不变次数=200012789.000000
Sub,库存减少次数=399981125.000000
Sn,库存总额=383090.000000
Zero,库存清空次数=7275.000000
Zero_man,运行十万次以上库存清空次数=7246
Sv,日均滞销库存=0.000383
Times,随机化初始时间参数=1499515377
Max,反复实验次数=1000000000.000000
Lost,243677

--------------------------------
Process exited after 32.42 seconds with return value 13
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=400006590.000000
Sta,库存不变次数=200010264.000000
Sub,库存减少次数=399983146.000000
Sn,库存总额=263110.000000
Zero,库存清空次数=23509.000000
Zero_man,运行十万次以上库存清空次数=23495
Sv,日均滞销库存=0.000263
Times,随机化初始时间参数=1499515488
Max,反复实验次数=1000000000.000000
Lost,243622

--------------------------------
Process exited after 32.06 seconds with return value 13
请按任意键继续. . .

这里的日进货为120个面包

Add,库存增加次数=400005239.000000
Sta,库存不变次数=200011735.000000
Sub,库存减少次数=399983026.000000
Sn,库存总额=325210.000000
Zero,库存清空次数=4791.000000
Zero_man,运行十万次以上库存清空次数=4683
Sv,日均滞销库存=0.000325
Times,随机化初始时间参数=1499515564
Max,反复实验次数=1000000000.000000
Lost,243722

--------------------------------
Process exited after 31.95 seconds with return value 13
请按任意键继续. . .



-----------------------------

我的结论依然成立。有趣的是原题意下的测试Lost值是很高的,但日均剩余并没有拼命累积,这是值得玩味的。如果把Lost算上,日均剩余还能再低一些。

smileREGENT 发表于 2017-7-8 20:13:32

咳咳咳,其实高中数学也考这种题,原来做过不少。
根据“理解出题人意思”的原则,本题目的在于考察考生对于数学期望概念的理解和掌握,属于一类问题
楼上这些大触统统脑后有反骨,数学考试不及格,课后来办公室一趟{:193:}{:193:}
开个玩笑{:187:}

牛腰 发表于 2017-7-8 21:00:19

loy_20002000 发表于 2017-7-8 20:11
想了下干脆再严格点,保证5个情况都是等概率的。测试了下随机数上限与老的c规范一样。超过32760的数字统 ...

你给出的这些结果里库存总额是负数的结果出现了6次,不知道是代码问题还是机器执行问题。因为客观上每天的库存都不可能出现负数,运行那么多次后Sn还为负数,我觉得你的模型的问题比较大。这个问题要先解决了才能对运行结果做结论。

视觉错误 发表于 2017-7-8 21:53:45

我的模拟结果同牛妖。
每天进货数量是120,次日首先销售存货,存货销售完之后才卖当天的进货。
================================================
每天进货数量 120 总天数 100000000
当前库存 45310 历史最大库存 156650
总利润 -11978124450 平均每天利润 -119.7812445
增加天数 39995537 减少天数 39993379 持平天数 20011084 卖光天数 19000

Dracula 发表于 2017-7-8 22:31:12

刚才我用dynamic programming的方法又想了一下这个问题。解题的关键是意识到每一期的最优产量不是恒定,而是随上一期遗留下来的库存而变化,是库存的函数。你可以证明,如果库存为0的时候的最优产量是x,那么库存为y的时候的最优产量就应该是x-y(直觉上应该是挺明显,严格证明不是那么容易)。遗留给下一期的库存同从上期继承下来的库存无关(y完全被x-y抵消),上期遗留下来的库存对总体润的影响只在于本期。这样问题被大大简化。如果库存是y的话,对总利润的影响就是-y。这跟完全把它当成是个一期问题来解是等价的。因此你引的网上的那个计算方法是正确的,不管你把它当成是个一期还是个无穷期问题。

loy_20002000 发表于 2017-7-8 22:41:40

牛腰 发表于 2017-7-8 21:00
你给出的这些结果里库存总额是负数的结果出现了6次,不知道是代码问题还是机器执行问题。因为客观上每天 ...

大哥,你很伤我的心呀。我已经说明了,要的就是负数。我求的是100、110、120、130、140几种情况下,130、140每次都得出负数剩余(-10、-20)的结果。这个变形的期望肯定是0,我旨在说明日期望等于0不等于日剩余也是0。相反的,距离0这个点很远。

下面我再跑一次原题目下的剩余。c语言随机数下140这个情况每32767次下少跑2次,n小的情况下影响不大,如果很大就会偏离很远很远。这里的结果是消除了细微概率差异的,如果c的库函数没有错的话,可以保证等概率。

50万——

1)
这里的日进货为120个面包

Add,库存增加次数=200068.000000
Sta,库存不变次数=99774.000000
Sub,库存减少次数=200158.000000
Sn,库存总额=2740.000000
Zero,库存清空次数=1167.000000
Zero_man,运行十万次以上库存清空次数=0
Sv,日均滞销库存=0.005480
Times,随机化初始时间参数=1499520955
Max,反复实验次数=500000.000000
Lost,118

--------------------------------
Process exited after 0.2152 seconds with return value 10
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=199851.000000
Sta,库存不变次数=99424.000000
Sub,库存减少次数=200725.000000
Sn,库存总额=7600.000000
Zero,库存清空次数=1878.000000
Zero_man,运行十万次以上库存清空次数=970
Sv,日均滞销库存=0.015200
Times,随机化初始时间参数=1499521065
Max,反复实验次数=500000.000000
Lost,119

--------------------------------
Process exited after 0.05965 seconds with return value 10
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=199808.000000
Sta,库存不变次数=99944.000000
Sub,库存减少次数=200248.000000
Sn,库存总额=3040.000000
Zero,库存清空次数=1925.000000
Zero_man,运行十万次以上库存清空次数=1293
Sv,日均滞销库存=0.006080
Times,随机化初始时间参数=1499521090
Max,反复实验次数=500000.000000
Lost,129

--------------------------------
Process exited after 0.04851 seconds with return value 10
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=200257.000000
Sta,库存不变次数=99701.000000
Sub,库存减少次数=200042.000000
Sn,库存总额=7080.000000
Zero,库存清空次数=784.000000
Zero_man,运行十万次以上库存清空次数=542
Sv,日均滞销库存=0.014160
Times,随机化初始时间参数=1499521123
Max,反复实验次数=500000.000000
Lost,129

--------------------------------
Process exited after 0.0474 seconds with return value 10
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=200394.000000
Sta,库存不变次数=99465.000000
Sub,库存减少次数=200141.000000
Sn,库存总额=6940.000000
Zero,库存清空次数=1103.000000
Zero_man,运行十万次以上库存清空次数=536
Sv,日均滞销库存=0.013880
Times,随机化初始时间参数=1499521167
Max,反复实验次数=500000.000000
Lost,119

--------------------------------
Process exited after 0.04788 seconds with return value 10
请按任意键继续. . .



100万——

1)
这里的日进货为120个面包

Add,库存增加次数=399353.000000
Sta,库存不变次数=200464.000000
Sub,库存减少次数=400183.000000
Sn,库存总额=8070.000000
Zero,库存清空次数=3086.000000
Zero_man,运行十万次以上库存清空次数=2763
Sv,日均滞销库存=0.008070
Times,随机化初始时间参数=1499521220
Max,反复实验次数=1000000.000000
Lost,240

--------------------------------
Process exited after 0.1991 seconds with return value 10
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=399540.000000
Sta,库存不变次数=200441.000000
Sub,库存减少次数=400019.000000
Sn,库存总额=16730.000000
Zero,库存清空次数=3700.000000
Zero_man,运行十万次以上库存清空次数=2914
Sv,日均滞销库存=0.016730
Times,随机化初始时间参数=1499521248
Max,反复实验次数=1000000.000000
Lost,243

--------------------------------
Process exited after 0.08585 seconds with return value 10
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=399857.000000
Sta,库存不变次数=200030.000000
Sub,库存减少次数=400113.000000
Sn,库存总额=12840.000000
Zero,库存清空次数=1441.000000
Zero_man,运行十万次以上库存清空次数=664
Sv,日均滞销库存=0.012840
Times,随机化初始时间参数=1499521274
Max,反复实验次数=1000000.000000
Lost,230

--------------------------------
Process exited after 0.06391 seconds with return value 10
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=401019.000000
Sta,库存不变次数=199878.000000
Sub,库存减少次数=399103.000000
Sn,库存总额=31860.000000
Zero,库存清空次数=630.000000
Zero_man,运行十万次以上库存清空次数=124
Sv,日均滞销库存=0.031860
Times,随机化初始时间参数=1499521292
Max,反复实验次数=1000000.000000
Lost,230

--------------------------------
Process exited after 0.06383 seconds with return value 10
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=399897.000000
Sta,库存不变次数=200469.000000
Sub,库存减少次数=399634.000000
Sn,库存总额=7950.000000
Zero,库存清空次数=713.000000
Zero_man,运行十万次以上库存清空次数=491
Sv,日均滞销库存=0.007950
Times,随机化初始时间参数=1499521315
Max,反复实验次数=1000000.000000
Lost,232

--------------------------------
Process exited after 0.06297 seconds with return value 10
请按任意键继续. . .

150万——

1)
这里的日进货为120个面包

Add,库存增加次数=600113.000000
Sta,库存不变次数=300358.000000
Sub,库存减少次数=599529.000000
Sn,库存总额=19050.000000
Zero,库存清空次数=1423.000000
Zero_man,运行十万次以上库存清空次数=1098
Sv,日均滞销库存=0.012700
Times,随机化初始时间参数=1499521363
Max,反复实验次数=1500000.000000
Lost,343

--------------------------------
Process exited after 0.2178 seconds with return value 10
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=599892.000000
Sta,库存不变次数=299832.000000
Sub,库存减少次数=600276.000000
Sn,库存总额=8360.000000
Zero,库存清空次数=2230.000000
Zero_man,运行十万次以上库存清空次数=1981
Sv,日均滞销库存=0.005573
Times,随机化初始时间参数=1499521384
Max,反复实验次数=1500000.000000
Lost,389

--------------------------------
Process exited after 0.208 seconds with return value 10
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=600715.000000
Sta,库存不变次数=299758.000000
Sub,库存减少次数=599527.000000
Sn,库存总额=30100.000000
Zero,库存清空次数=1044.000000
Zero_man,运行十万次以上库存清空次数=858
Sv,日均滞销库存=0.020067
Times,随机化初始时间参数=1499521403
Max,反复实验次数=1500000.000000
Lost,374

--------------------------------
Process exited after 0.09633 seconds with return value 10
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=599690.000000
Sta,库存不变次数=300519.000000
Sub,库存减少次数=599791.000000
Sn,库存总额=12730.000000
Zero,库存清空次数=1783.000000
Zero_man,运行十万次以上库存清空次数=1723
Sv,日均滞销库存=0.008487
Times,随机化初始时间参数=1499521426
Max,反复实验次数=1500000.000000
Lost,344

--------------------------------
Process exited after 0.0784 seconds with return value 10
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=599414.000000
Sta,库存不变次数=300800.000000
Sub,库存减少次数=599786.000000
Sn,库存总额=19150.000000
Zero,库存清空次数=3658.000000
Zero_man,运行十万次以上库存清空次数=3179
Sv,日均滞销库存=0.012767
Times,随机化初始时间参数=1499521462
Max,反复实验次数=1500000.000000
Lost,349

--------------------------------
Process exited after 0.0794 seconds with return value 10
请按任意键继续. . .

1500万——

1)
这里的日进货为120个面包

Add,库存增加次数=5998038.000000
Sta,库存不变次数=3000758.000000
Sub,库存减少次数=6001204.000000
Sn,库存总额=15070.000000
Zero,库存清空次数=5500.000000
Zero_man,运行十万次以上库存清空次数=4551
Sv,日均滞销库存=0.001005
Times,随机化初始时间参数=1499521522
Max,反复实验次数=15000000.000000
Lost,3660

--------------------------------
Process exited after 0.6329 seconds with return value 11
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=5997332.000000
Sta,库存不变次数=3000891.000000
Sub,库存减少次数=6001777.000000
Sn,库存总额=20950.000000
Zero,库存清空次数=8966.000000
Zero_man,运行十万次以上库存清空次数=8560
Sv,日均滞销库存=0.001397
Times,随机化初始时间参数=1499521544
Max,反复实验次数=15000000.000000
Lost,3649

--------------------------------
Process exited after 0.5285 seconds with return value 11
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=6000321.000000
Sta,库存不变次数=2998559.000000
Sub,库存减少次数=6001120.000000
Sn,库存总额=23020.000000
Zero,库存清空次数=7636.000000
Zero_man,运行十万次以上库存清空次数=7295
Sv,日均滞销库存=0.001535
Times,随机化初始时间参数=1499521575
Max,反复实验次数=15000000.000000
Lost,3669

--------------------------------
Process exited after 0.5051 seconds with return value 11
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=5997993.000000
Sta,库存不变次数=2998745.000000
Sub,库存减少次数=6003262.000000
Sn,库存总额=6420.000000
Zero,库存清空次数=14458.000000
Zero_man,运行十万次以上库存清空次数=14214
Sv,日均滞销库存=0.000428
Times,随机化初始时间参数=1499521598
Max,反复实验次数=15000000.000000
Lost,3614

--------------------------------
Process exited after 0.5063 seconds with return value 11
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=5998799.000000
Sta,库存不变次数=3001690.000000
Sub,库存减少次数=5999511.000000
Sn,库存总额=53140.000000
Zero,库存清空次数=7685.000000
Zero_man,运行十万次以上库存清空次数=7246
Sv,日均滞销库存=0.003543
Times,随机化初始时间参数=1499521618
Max,反复实验次数=15000000.000000
Lost,3749

--------------------------------
Process exited after 0.504 seconds with return value 11
请按任意键继续. . .

一亿——

1)
这里的日进货为120个面包

Add,库存增加次数=40004207.000000
Sta,库存不变次数=20001767.000000
Sub,库存减少次数=39994026.000000
Sn,库存总额=167190.000000
Zero,库存清空次数=1311.000000
Zero_man,运行十万次以上库存清空次数=1026
Sv,日均滞销库存=0.001672
Times,随机化初始时间参数=1499521680
Max,反复实验次数=100000000.000000
Lost,24358

--------------------------------
Process exited after 3.327 seconds with return value 12
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=40006750.000000
Sta,库存不变次数=20003254.000000
Sub,库存减少次数=39989996.000000
Sn,库存总额=237090.000000
Zero,库存清空次数=720.000000
Zero_man,运行十万次以上库存清空次数=278
Sv,日均滞销库存=0.002371
Times,随机化初始时间参数=1499521719
Max,反复实验次数=100000000.000000
Lost,24552

--------------------------------
Process exited after 3.193 seconds with return value 12
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=39997922.000000
Sta,库存不变次数=20002488.000000
Sub,库存减少次数=39999590.000000
Sn,库存总额=29280.000000
Zero,库存清空次数=12577.000000
Zero_man,运行十万次以上库存清空次数=12281
Sv,日均滞销库存=0.000293
Times,随机化初始时间参数=1499521783
Max,反复实验次数=100000000.000000
Lost,24719

--------------------------------
Process exited after 3.242 seconds with return value 12
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=39993865.000000
Sta,库存不变次数=20003723.000000
Sub,库存减少次数=40002412.000000
Sn,库存总额=32030.000000
Zero,库存清空次数=22246.000000
Zero_man,运行十万次以上库存清空次数=22006
Sv,日均滞销库存=0.000320
Times,随机化初始时间参数=1499521812
Max,反复实验次数=100000000.000000
Lost,24246

--------------------------------
Process exited after 3.187 seconds with return value 12
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=39995742.000000
Sta,库存不变次数=20001729.000000
Sub,库存减少次数=40002529.000000
Sn,库存总额=15170.000000
Zero,库存清空次数=10982.000000
Zero_man,运行十万次以上库存清空次数=10619
Sv,日均滞销库存=0.000152
Times,随机化初始时间参数=1499521837
Max,反复实验次数=100000000.000000
Lost,24307

--------------------------------
Process exited after 3.203 seconds with return value 12
请按任意键继续. . .

十亿——

1)
这里的日进货为120个面包

Add,库存增加次数=400016354.000000
Sta,库存不变次数=199997642.000000
Sub,库存减少次数=399986004.000000
Sn,库存总额=528820.000000
Zero,库存清空次数=22302.000000
Zero_man,运行十万次以上库存清空次数=21977
Sv,日均滞销库存=0.000529
Times,随机化初始时间参数=1499521928
Max,反复实验次数=1000000000.000000
Lost,244112

--------------------------------
Process exited after 31.66 seconds with return value 13
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=399990651.000000
Sta,库存不变次数=199993791.000000
Sub,库存减少次数=400015558.000000
Sn,库存总额=188010.000000
Zero,库存清空次数=73797.000000
Zero_man,运行十万次以上库存清空次数=72678
Sv,日均滞销库存=0.000188
Times,随机化初始时间参数=1499521981
Max,反复实验次数=1000000000.000000
Lost,244123

--------------------------------
Process exited after 31.59 seconds with return value 13
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=399990270.000000
Sta,库存不变次数=199991517.000000
Sub,库存减少次数=400018213.000000
Sn,库存总额=239160.000000
Zero,库存清空次数=81648.000000
Zero_man,运行十万次以上库存清空次数=80733
Sv,日均滞销库存=0.000239
Times,随机化初始时间参数=1499522033
Max,反复实验次数=1000000000.000000
Lost,244602

--------------------------------
Process exited after 31.86 seconds with return value 13
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=399990983.000000
Sta,库存不变次数=199985547.000000
Sub,库存减少次数=400023470.000000
Sn,库存总额=76000.000000
Zero,库存清空次数=79920.000000
Zero_man,运行十万次以上库存清空次数=79815
Sv,日均滞销库存=0.000076(首个5零开头)
Times,随机化初始时间参数=1499522085
Max,反复实验次数=1000000000.000000
Lost,244810

--------------------------------
Process exited after 31.75 seconds with return value 13
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=400002599.000000
Sta,库存不变次数=200002255.000000
Sub,库存减少次数=399995146.000000
Sn,库存总额=155750.000000
Zero,库存清空次数=16297.000000
Zero_man,运行十万次以上库存清空次数=16050
Sv,日均滞销库存=0.000156
Times,随机化初始时间参数=1499522204
Max,反复实验次数=1000000000.000000
Lost,244211

--------------------------------
Process exited after 31.77 seconds with return value 13
请按任意键继续. . .

一百亿——

1)
这里的日进货为120个面包

Add,库存增加次数=4000020809.000000
Sta,库存不变次数=1999995659.000000
Sub,库存减少次数=3999983532.000000
Sn,库存总额=685930.000000
Zero,库存清空次数=17216.000000
Zero_man,运行十万次以上库存清空次数=16908
Sv,日均滞销库存=0.000069
Times,随机化初始时间参数=1499522324
Max,反复实验次数=10000
000000.000000
Lost,2441718

--------------------------------
Process exited after 318.4 seconds with return value 14
请按任意键继续. . .

2)
这里的日进货为120个面包

Add,库存增加次数=4000010563.000000
Sta,库存不变次数=2000006660.000000
Sub,库存减少次数=3999982777.000000
Sn,库存总额=652210.000000
Zero,库存清空次数=33915.000000
Zero_man,运行十万次以上库存清空次数=33588
Sv,日均滞销库存=0.000065
Times,随机化初始时间参数=1499522733
Max,反复实验次数=10000000000.000000
Lost,2441539

--------------------------------
Process exited after 317.4 seconds with return value 14
请按任意键继续. . .

3)
这里的日进货为120个面包

Add,库存增加次数=3999987212.000000
Sta,库存不变次数=1999992452.000000
Sub,库存减少次数=4000020336.000000
Sn,库存总额=174280.000000
Zero,库存清空次数=79800.000000
Zero_man,运行十万次以上库存清空次数=79581
Sv,日均滞销库存=0.000017
Times,随机化初始时间参数=1499523129
Max,反复实验次数=10000000000.000000
Lost,2442276

--------------------------------
Process exited after 320.5 seconds with return value 14
请按任意键继续. . .

4)
这里的日进货为120个面包

Add,库存增加次数=3999990358.000000
Sta,库存不变次数=1999992636.000000
Sub,库存减少次数=4000017006.000000
Sn,库存总额=264380.000000
Zero,库存清空次数=81089.000000
Zero_man,运行十万次以上库存清空次数=79913
Sv,日均滞销库存=0.000026
Times,随机化初始时间参数=1499523514
Max,反复实验次数=10000000000.000000
Lost,2442516

--------------------------------
Process exited after 318.6 seconds with return value 14
请按任意键继续. . .

5)
这里的日进货为120个面包

Add,库存增加次数=3999986666.000000
Sta,库存不变次数=1999996160.000000
Sub,库存减少次数=4000017174.000000
Sn,库存总额=252540.000000
Zero,库存清空次数=89638.000000
Zero_man,运行十万次以上库存清空次数=89312
Sv,日均滞销库存=0.000025
Times,随机化初始时间参数=1499523866
Max,反复实验次数=10000000000.000000
Lost,2442352

--------------------------------
Process exited after 321.3 seconds with return value 14
请按任意键继续. . .

------------------------------------------------

最终结论:

1.我对期望为0的猜测看来是正确的。100亿次重复实验下,每次都是5个零打头。

2.用标准差与n的比值来度量【日均离散程度】是合理的。f(n)=sqrt(n)*sqrt(p*q),g(n)=n,由于g(n)增长更快,所以这个比值一定是逐渐逼近0的。

3.没想到小小的误差居然会造成两次检验结果的巨大差异。如果第一次检验我把误差消除掉早得到最终结果了。以此为戒!!!

----------------------------------------------


附最终版代码:



#include <stdlib.h>
#include <stdio.h>
#include <time.h>         //使用当前时钟做种子


double i, S0,Add,Sub,Sta,Sn,Zero,Max,Sv;
        //
int D,GetRam,Times,Zero_man,Lost;        //man==万       


                               


void main( void )
{       
       
        S0=0;
        Sn=S0;
        Add=0;
        Sub=0;
        Sta=0;
        GetRam=0;
        D=0;
        Zero=0;
        Max=10000000000;
        Times=0;
        Zero_man=0;
        Lost=0;
       
        srand( Times=(unsigned)time( NULL ) );
       
       
    for( i = 0; i < Max;i++ )                        
    {
                GetRam=rand();
                D=GetRam%10;
               
                if (GetRam>=32760 && GetRam <=32767)
                {
                        Lost++;
                        i--;
                }               
                else
                {                                       //printf("D=%d\n",D);
               
                if (D==0 || D==1)
                        {
                                Add++;
                                Sn=Sn+20;
                       
                  }
                else if (D==2 || D==3)
                        {
                                Add++;
                                Sn=Sn+10;
                        }
                else if (D==4 || D==5)
                        {
                                Sta++;
                                Sn=Sn+0;
                        }   
                else if (D==6 || D==7)
                        {
                                Sub++;
                                if(Sn>=10)
                                        Sn=Sn-10;       
                        }   
                else if (D= 8 || D==9)
                        {
                                Sub++;
                                if (Sn>=20)
                                        Sn=Sn-20;
                                else if (Sn<20 && Sn >=0)
                                        Sn=0;
                        }                     
          if(Sn==0)
                  {
                                Zero++;
                                if(i>=100000)
                                        Zero_man++;
                               
                        }
               
                       
                }
       
        }                                              // rand() 0~65535 32767
                
      Sv=Sn/Max;
               
        printf("这里的日进货为120个面包\n\n");
        printf("Add,库存增加次数=%f\n",Add);
        printf("Sta,库存不变次数=%f\n",Sta);
        printf("Sub,库存减少次数=%f\n",Sub);       
      printf("Sn,库存总额=%f\n",Sn) ;       
      printf("Zero,库存清空次数=%f\n",Zero);
      printf("Zero_man,运行十万次以上库存清空次数=%d\n",Zero_man);
      printf("Sv,日均滞销库存=%f\n",Sv);        
      printf("Times,随机化初始时间参数=%d\n",Times);
        printf("Max,反复实验次数=%f\n",Max);
        printf("Lost,%d\n",Lost);       
                
}

loy_20002000 发表于 2017-7-8 22:58:04

视觉错误 发表于 2017-7-8 21:53
我的模拟结果同牛妖。
每天进货数量是120,次日首先销售存货,存货销售完之后才卖当天的进货。
=========== ...

注意楼主给出的图表,按照那个处理只有将滞销货处理给第三方才成立。而这个题目是系统分析师考试的1分题,就是简单的考期望。

如果追求的是利益最大化,显然商家不会蠢到先卖滞销货再卖新鲜货。按先卖新鲜面包再卖滞销货的策略或处理给第三方的做法,120才是最佳选择。

这楼我给出多少个模拟结果我都数不清了,你可以看看。滞销货哪怕全部卖不出去对利润的影响也是微乎其微的,平均到每天就是可以忽略的量(120情况下)。

牛腰 发表于 2017-7-9 00:01:15

本帖最后由 牛腰 于 2017-7-9 00:07 编辑

loy_20002000 发表于 2017-7-8 22:41
大哥,你很伤我的心呀。我已经说明了,要的就是负数。我求的是100、110、120、130、140几种情况下,130、 ...

我的天,为了这个你就伤心了:lol

库存量每一天的变化可能是-10或-20,但是库存(Sn)本身的值不可能是负的!你前面给的像

Sn,库存总额=-31570.000000

这样的结果不可能是对的。这个概念上的差别你明白吗?


还有你的代码为什么要D=GetRam%10?D=GetRam%5 可以得到同样的效果,你就不需要if后面加那么多“||”了。不过这个只影响代码效率,不影响结果。

loy_20002000 发表于 2017-7-9 00:26:06

本帖最后由 loy_20002000 于 2017-7-9 00:39 编辑

牛腰 发表于 2017-7-9 00:01
我的天,为了这个你就伤心了

库存量每一天的变化可能是-10或-20,但是库存(Sn)本身的值不可能是负 ...
偶的神呐,我说的可不是原题目呀。加上这次,强调三次了。

还有你的代码为什么要D=GetRam%10?D=GetRam%5 可以得到同样的效果,你就不需要if后面加那么多“||”了。不过这个只影响代码效率,不影响结果。
真没注意,我为什么要这么干呢?;P等我好好想一想。是啊,我怎么发明这么一个奇怪的玩意儿,还弄得第一次模拟出现偏差。

——————————————————————

我想起来了。我怀疑标准C给的模拟不精确,如果只看0——4,我怕这四个数不是均匀分布。把10个数字都用上,概率更接近20%。

牛腰 发表于 2017-7-9 00:47:52

loy_20002000 发表于 2017-7-9 00:26
偶的神呐,我说的可不是原题目呀。加上这次,强调三次了。




如果允许负库存,就不存在lost sales,那你实际上就是在模拟需求量而不是销售量。这个一开始就都知道是每天120,我们不同意的地方是销售量,不是需求量。这个概念的差别我说了几次了?:lol

牛腰 发表于 2017-7-9 02:14:19

本帖最后由 牛腰 于 2017-7-9 02:15 编辑

loy_20002000 发表于 2017-7-9 00:26
偶的神呐,我说的可不是原题目呀。加上这次,强调三次了。




把前面给过的例子在重复一下:假设日进120个面包,第一天的需求是140,第二天是100。第一天只卖出120个,lost sales=20,剩余库存为0。第二天卖出100个,满足所有需求,剩余库存为20。这样两天一共有240需求(每天120),共进货240,卖出220,lost sales=最后库存=20。

如果允许负库存,那么第一天最后库存是120-140=-20,第二天最后库存是-20+120-100=0。那么共有240需求,共进货240,最后库存是0,那么这两天一共卖出多少?
页: 1 2 [3] 4 5 6 7
查看完整版本: 求教:一道数学题的解法。