数学建模例题及报告-库存问题

20##年济南大学大学生数学建模选拔赛

承  诺  书

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写):     B      

我们的参赛报名号为(如果赛区设置报名号的话):   B甲0215                

所属学校(请填写完整的全名):               济南大学                    

参赛队员 (打印并签名) :1.                 宋彪                     

                       2.                戴砚超                         

                       3.                尚姗姗                  

指导教师或指导教师组负责人  (打印并签名):                        

                                  日期:   20##   年   6    11 

库存问题数学模型

摘要:

     本文主要针对某商店在鱼竿经营过程中,各方面因素对利润和成本的影响进行了综合分析。在鱼杆销售过程中,商店的利润由多方面原因组成:市场需求量的变化,订货费用,进货成本,库存费用以及厂家给的优惠条件等等。通过建立合理的模型,对库存问题建立合理的订货方案。  

   对于问题一,给定一组一年中各个月鱼杆的需求量值,由于在哪个月份订货,一年的订货次数,每次的订货量、库存都是不确定的,而且不同月份一个批量的订货费不同,每支鱼杆每月还需一定的贮存费,所以需要设出所有变量,通过建立数学函数表达式得到数学模型,最后在LINGO中实现,找到合理的订货方案。

  对于问题二,在问题一的基础上,对其进行优化,由题意可得,增加了一个约束条件即如果鱼杆的订货数量超过250支,厂家将给予优惠,每支鱼杆的购置费降至120元,这是就需要通过设置0、1变量,根据订货数量的多少来确定每支鱼杆的购置费用,然后利用LINGO对目标函数进行优化,求出订货方案。最后将此订货方案与问题一中的订货方案进行比较,若在此约束条件下,成本降低了,则说明可以采取此订货方案,反之,则不采用此方案。

  关键词:

     成本最小    LINGO软件  0、1变量

题目重述

对鱼杆的需求量在12月份最小,4月份达到最大。一家鱼具商店预测,12月份的需求量为50支,随后每个月增加10支,到4月份达到90支。除了从2月到4月的高峰需求月份以外,普通月份一个批量的订货费为2500元,而高峰月份的订货费增加到3000元。每支鱼杆的购置费用大约是150元,全年不变,而每支鱼杆每月的存贮费用为10元。该鱼具商店正在制定下一年度(1月到12月)鱼杆订货计划。

1. 商店的经理认为,鱼具属季节性商品,因此不允许缺货。试为该鱼具商店制订一份下一年度的订货方案。

2. 其他条件不变。如果鱼杆的订货数量超过250支,厂家将给予优惠,每支鱼杆的购置费降至120元。那么,是否利用此项优惠。如果利用,全年的订货方案将如何改变?

3. 如果需求量是随机的,假设其预测值是鱼杆销售的期望值,标准差为5。商店经理从商店的信誉方面考虑,认为商品缺货概率应严格控制在5%以内。在这种情况下,如何确定下一年度的订货方案。

一、问题分析

    问题1: 这个库存问题的目标是使成本最低,成本包括:订货费、每个月库存鱼杆的存贮费等,同时,我们还需要考虑的是订货次数、每个月鱼杆的需求量;约束条件为:商店对鱼杆数量的限制即总存货量不小于总需求量,这样才能保证全年不缺货;非高峰期的鱼杆需求量小于高峰期的鱼杆需求量; 第一个月的存货不小于第一个月的需求量。于是建立规划模型,可以利用LINGO进行求解。

问题2:根据问题一的思想方法,增加一个约束条件即如果鱼杆的订货数量超过250支,厂家将给予优惠,每支鱼杆的购置费降至120元。再次利用LINGO进行求解。

问题3:本题将需求量更改为随机,这样就使问题1的订货费用发生了变化,利用商品缺货概率应严格控制在5%以内这个条件构成一个概率分布函数。

二、模型假设

1、把各月的鱼杆的需求量假设出来;

2、为了保证成本最小,第十二月不能有库存;

3、每个月的订购量得最大值不受限制;

三、符号说明

ai :每个月鱼杆的需求量,i=1,...,12;

xi:每个月鱼杆的订货量,i=1,...,12,;

si:每个月鱼杆的存货量,i=1,...,12;

bi:0、1变量,当b等于1时,这个月订购;当b等于0时,这个月不订购,i=1,...,12;

ci:0、1变量,当c等于1时,鱼杆的订货数量超过250支,享受鱼杆购置费降至120元的优惠;当c等于0时,鱼杆的订货数量小于250支,不享受购置费降价的优惠。

四、模型建立

  问题1的模型:

Min=    (1)

  0 1 变量约束:bi为1或0(bi=1表示第 i 月份的订货,bi=0表示第 i 月份的不订货); bi                                   (2)

第i个月的存货量等于第i个月的订货量加上第i-1个月的存货量减去第i-1个月的需求量

,   i=2,…12,;                        (3)

第一个月的存货量等于第一个月的订货量同第一个月的需求量的差

 ;                                         (4)

存货量不为0,保证全年不缺货

 i=2,…,12;                             (5)

为了保证花费最小,要是这12个月的订货量与需求量相等

 ;                                       (6)

问题2 的模型:

Min=(7)

约束条件同问题1中的(2)(3)(4)(5)(6);

另外增加0 1 变量约束条件:ci为1或0(ci=1表示第 i 月份的订货数量大于250,ci=0表示第 i 月份的订货数量小于250);

                                     (8)

五、模型求解

   将表达式输入到LINGO,进行求解,模型在实际当中决策变量只能取整数,对得到的计算结果进行必要的取整,得到的问题1的鱼杆商店下一年订货方案如下所示

在此方案中最少花费133540元

问题2的订货方案如下所示

在此方案中最少花费113330元

六、检验评价

本文考虑了鱼杆的需求量值、鱼杆的存贮费、订货次数、订货数量等因素,第二、个模型是依据第一个模型进行建立的。从理论上来说比较合理,但是考虑到在现实可能会有偏差,不过,此方法也有一定的意义,可以帮助商家赢得更大的收益。

七、参考文献

【1】姜启源,谢金星 ,叶俊.《数学建模(第三版)》,高等教育出版社;

【2】数学建模培训资料 济南大学理学院数学建模指导中心;

【3】《概率论与数理统计》(第四版)   主编 盛骤    高等教育出版社

 

八、附录

问题一的程序如下:

sets:

month/1..12/:x,b,s,a;  endsets

min=@SUM(month(i)|i#gt#4#and#i#lt#13:150*x(i)+2500*b(i))+150*x(1)+2500+

     @sum(month(i)|i#gt#1#and#i#lt#5:150*x(i)+3000*b(i))+@sum(month:10*s);

s(1)=x(1)-a(1);

@for(month(i)|i#gt#1:s(i)=x(i)-a(i)+s(i-1));

x(1)-a(1)>=0;

@for(month(i)|i#gt#1:x(i)-a(i)+s(i-1)>=0);

@sum(month:a)=@sum(month:x);

@for(month:x>=b);

@for(month:x<=1000*b);

@for(month:@gin(x));

@for(month:@gin(a));

@for(month:@bin(b));

data:

a=60,70,80,90,68,64,62,60,58,56,52,50 ;

enddata

end

问题一的运行结果如下:

Global optimal solution found.

   Objective value:                              133540.0

   Extended solver steps:                              82

   Total solver iterations:                          1229

                       Variable           Value        Reduced Cost

                          X( 1)        210.0000            270.0000

                          X( 2)        0.000000            260.0000

                          X( 3)        0.000000            250.0000

                          X( 4)        222.0000            240.0000

                          X( 5)        0.000000            230.0000

                          X( 6)        0.000000            220.0000

                          X( 7)        180.0000            210.0000

                          X( 8)        0.000000            200.0000

                          X( 9)        0.000000            190.0000

                         X( 10)        158.0000            180.0000

                         X( 11)        0.000000            170.0000

                         X( 12)        0.000000            160.0000

问题二的程序如下:

model:

sets:

month/1..12/:x,b,s,a,c;  endsets

min=@SUM(month(i)|i#gt#4#and#i#lt#13:(150-30*c(i))*x(i)+2500*b(i))+(150-30*c(1))*x(1)+2500+

     @sum(month(i)|i#gt#1#and#i#lt#5:(150-30*c(i))*x(i)+3000*b(i))+@sum(month:10*s);

s(1)=x(1)-a(1);

@for(month(i)|i#gt#1:s(i)=x(i)-a(i)+s(i-1));

x(1)-a(1)>=0;

@for(month(i)|i#gt#1:x(i)-a(i)+s(i-1)>=0);

@sum(month:a)=@sum(month:x);

@for(month:x>=b);

@for(month:x<=1000*b);

@for(month:@gin(x));

@for(month:@gin(a));

@for(month:@bin(b));

@for(month:@bin(c));

@for(month:c*(x-250)>=c);

@for(month:x-250<1000*c);

data:

a=60,70,80,90,68,64,62,60,58,56,52,50 ;

enddata

end

问题二的运行结果如下:

Global optimal solution found.

   Objective value:                              113330.0

   Extended solver steps:                               1

   Total solver iterations:                          5312

                       Variable           Value        Reduced Cost

                          X( 1)        251.0000            190.0000

                          X( 2)        0.000000            0.000000

                          X( 3)        0.000000            0.000000

                          X( 4)        251.0000            160.0000

                          X( 5)        0.000000            0.000000

                          X( 6)        0.000000            0.000000

                          X( 7)        0.000000            0.000000

                          X( 8)        268.0000            120.0000

                          X( 9)        0.000000            0.000000

                         X( 10)        0.000000            0.000000

                         X( 11)        0.000000            0.000000

                         X( 12)        0.000000            0.000000

                          B( 1)        1.000000            0.000000

                          B( 2)        0.000000            0.000000

                          B( 3)        0.000000            0.000000

                          B( 4)        1.000000            3000.000

                          B( 5)        0.000000            0.000000

                          B( 6)        0.000000            0.000000

                          B( 7)        0.000000            0.000000

                          B( 8)        1.000000            2500.000

                          B( 9)        0.000000            0.000000

                         B( 10)        0.000000            0.000000

                         B( 11)        0.000000            0.000000

                         B( 12)        0.000000            0.000000

                          S( 1)        191.0000            0.000000

                          S( 2)        121.0000            0.000000

                          S( 3)        41.00000            0.000000

                          S( 4)        202.0000            0.000000

                          S( 5)        134.0000            0.000000

                          S( 6)        70.00000            0.000000

                          S( 7)        8.000000            0.000000

                          S( 8)        216.0000            0.000000

                          S( 9)        158.0000            0.000000

                         S( 10)        102.0000            0.000000

                         S( 11)        50.00000            0.000000

                         S( 12)        0.000000            0.000000

                          A( 1)        60.00000            0.000000

                          A( 2)        70.00000            0.000000

                          A( 3)        80.00000            0.000000

                          A( 4)        90.00000            0.000000

                          A( 5)        68.00000            0.000000

                          A( 6)        64.00000            0.000000

                          A( 7)        62.00000            0.000000

                          A( 8)        60.00000            0.000000

                          A( 9)        58.00000            0.000000

                         A( 10)        56.00000            0.000000

                         A( 11)        52.00000            0.000000

                         A( 12)        50.00000            0.000000

                          C( 1)        1.000000           -7530.000

                          C( 2)        0.000000            0.000000

                          C( 3)        0.000000            0.000000

                          C( 4)        1.000000           -7530.000

                          C( 5)        0.000000            0.000000

                          C( 6)        0.000000            0.000000

                          C( 7)        0.000000            0.000000

                          C( 8)        1.000000           -8040.000

                          C( 9)        0.000000            0.000000

                         C( 10)        0.000000            0.000000

                         C( 11)        0.000000            0.000000

                         C( 12)        0.000000            0.000000

                            Row    Slack or Surplus      Dual Price

                              1        113330.0           -1.000000

                              2        0.000000           -70.00000

                              3        0.000000           -60.00000

                              4        0.000000           -50.00000

                              5        0.000000           -40.00000

                              6        0.000000           -30.00000

                              7        0.000000           -20.00000

                              8        0.000000           -10.00000

                              9        0.000000            0.000000

                             10        0.000000            10.00000

                             11        0.000000            20.00000

                             12        0.000000            30.00000

                             13        0.000000           -10.00000

                             14        191.0000            0.000000

                             15        121.0000            0.000000

                             16        41.00000            0.000000

                             17        202.0000            0.000000

                             18        134.0000            0.000000

                             19        70.00000            0.000000

                             20        8.000000            0.000000

                             21        216.0000            0.000000

                             22        158.0000            0.000000

                             23        102.0000            0.000000

                             24        50.00000            0.000000

                             25        0.000000           -50.00000

                             26        0.000000            0.000000

                             27        250.0000            0.000000

                             28        0.000000           -213.2132

                             29        0.000000           -203.2032

                             30        250.0000            0.000000

                             31        0.000000           -182.6827

                             32        0.000000           -172.6727

                             33        0.000000           -162.6627

                             34        267.0000            0.000000

                             35        0.000000           -142.6426

                             36        0.000000           -132.6326

                             37        0.000000           -122.6226

                             38        0.000000           -112.6126

                             39        749.0000            0.000000

                             40        0.000000            3.213213

                             41        0.000000            3.203203

                             42        749.0000            0.000000

                             43        0.000000            2.682683

                             44        0.000000            2.672673

                             45        0.000000            2.662663

                             46        732.0000            0.000000

                             47        0.000000            2.642643

                             48        0.000000            2.632633

                             49        0.000000            2.622623

                             50        0.000000            2.612613

                             51        0.000000            0.000000

                             52        0.000000            0.000000

                             53        0.000000            0.000000

                             54        0.000000            0.000000

                             55        0.000000            0.000000

                             56        0.000000            0.000000

                             57        0.000000            0.000000

                             58        17.00000            0.000000

                             59        0.000000            0.000000

                             60        0.000000            0.000000

                             61        0.000000            0.000000

                             62        0.000000            0.000000

                             63        999.0000            0.000000

                             64        250.0000            0.000000

                             65        250.0000            0.000000

                             66        999.0000            0.000000

                             67        250.0000            0.000000

                             68        250.0000            0.000000

                             69        250.0000            0.000000

                             70        982.0000            0.000000

                             71        250.0000            0.000000

                             72        250.0000            0.000000

                             73        250.0000            0.000000

                             74        250.0000            0.000000

相关推荐