利用Lingo求解最优定价问题

利用Lingo求解最优定价问题

作者:河海大学 唐杰

摘要:如何进行产品定价是当下社会生活中一个非常有现实意义的问题,在有一定供给或需求约束的情况下,通过数学方法计算不同产品定价以使销售额最大化。本文将以农产品定价问题为例,介绍如何使用Lingo求解最优产品定价问题。

关键词:Lingo,最优解,定价

Lingo非常善于求解优化问题,对于线性规划和二次线性规划问题,Lingo在求解时非常方便。下面通过通过Lingo来求解农产品定价问题,以探究如何定价能使销售总收入最大。

政府要为其牛奶、奶油和奶酪等奶制品定价。所有这些产品都直接或间接地来自国家的原奶生产。原奶首先要分离成脂肪和奶粉两种组合,去掉生产出口产品和农场消费的产品的部分后,余下的共有60万吨脂肪和70万吨奶粉,可用于生产牛奶、奶油和两种奶酪,供国内全年消费。

各种产品的百分比组成见下表:

某国政府要为其牛奶、奶油和奶酪等奶制品定价。现共有原料60万吨脂肪和70万吨奶粉,可用于生产牛奶、奶油和两种奶酪,相关数据如下表:

各种产品的百分比组成

 

脂肪

奶粉

 

 

 

 

牛奶

4

9

87

奶油

80

2

18

奶酪1

35

30

35

奶酪2

25

40

35

 

 

 

 

 

往年的国内消费和价格

 

牛奶

奶油

奶酪1

奶酪2

 

 

 

 

 

消费量(万吨)

482

32

21

7

价格(元/吨)

297

720

1050

815

 

价格的变化影响消费需求。为表现这方面的规律,定义需求的价格伸缩性 E:

    E=需求降低百分数/价格提高百分数

    各种产品的E值,可以根据往年的价格和需求变化情况的统计数据,用数理统计方法求出。另外,两种奶酪的需求,随它们价格的相对变化,在某种程度上可以相互替代。表现这一规律要用需求关于价格的交叉伸缩性EAB定义作:

    EAB=A需求提高百分数/B价格提高百分数

奶酪1到奶酪2的E12值和奶酪2到奶酪1的交叉伸缩性E21值,同样可以凭数据用统计方法求出。

已经求出牛奶、奶油、奶酪1、奶酪2的E值依次为0.4,2.7,1.1和0.4以及E12=0.1, E21=0.4.

    试求出4种产品的价格,使所导致的需求使销售总收入为最大。

一.定义变量

Pi :第i种产品的新价格

Si :第i种产品的新需求量

z  :所有产品的销售总收入

Ei :第i种产品的价格伸缩性

Eij:第j种产品对第i种产品的交叉伸缩性

N  :脂肪的使用量

M  :奶粉的使用量

xi :第i种产品的价格提高百分数


 

二.建立模型:

 

 

三.分解过程

建立目标函数:

四种产品的价格提高百分数为x(i)。首先考虑牛奶和奶油的生产,牛奶和奶油的生产只与价格伸缩性Ei有关。

P1=297(1+x1),S1=482(1-x1E1)

P2=720(1+x2),S2=32*(1-x2E2)

再考虑奶酪1和奶酪2的情况。奶酪1和奶酪2的生产与两个因素有关,即与价格伸缩性E以及交叉伸缩性Eij有关。

P3=1050(1+x3),P4=815(1+x4);

S3=21(1-x3E3+x4E12),S4=7(1-x4E4+x3E21)

所以可计算得总销售收入得到目标函数:

‚考虑限制条件:

问题中的限制条件主要有两个,即脂肪的使用量和奶粉的使用量。根据模型中建立的公式可得

脂肪的使用量:

N=S1*4%+S2*80%+S3*35%+S4*25%≤60

奶粉的使用量:

M=S1*9%+S2*2%+S3*30%+S4*40%≤70

四.编程求解:

接下来便可以通过Lingo编写程序,把数学语言翻译成计算机语言,来求解max z 的值。

通过Lingo编写程序,

model:

!e为E,f为往年价格,s为往年销量,p为售价,x为销量

a b c为原材料消耗量

xs为生产量;

sets:

pro/1,2,3,4/:p,e,f,s,x,a,b,c,xs;

endsets

data:

e=0.4 2.7 1.1 0.4;

f=297 720 1050 815;

s=482 32 21 7;

a=0.04 0.80 0.35 0.25;

b=0.09 0.02 0.30 0.40;

c=87 18 35 35;

enddata

max=@sum(pro:xs*p);

e(1)*(p(1)-f(1))/f(1)=(s(1)-x(1))/s(1);

e(2)*(p(2)-f(2))/f(2)=(s(2)-x(2))/s(2);

e(3)*(p(3)-f(3))/f(3)-(0.1*((p(4)-f(4))/f(4)))=(s(3)-x(3))/s(3);

e(4)*(p(4)-f(4))/f(4)-(0.4*((p(3)-f(3))/f(3)))=(s(4)-x(4))/s(4);

@for(pro:xs<=x);

@sum(pro:xs*a)<=60;

@sum(pro:xs*b)<=70;

@for(pro:xs<=x);

五.得出最优解:

根据Lingo程序求得在使总收入最大的情况下:

各种产品的生产量为:

S1=334.47吨S2=48.36吨S3=20.12吨S4=3.56吨;

各种产品的价格:

P1=524.27元/吨,P2=583.65元/吨,P3=1223.09元/吨,P4=1950.68/吨;

最大总收入Max z=235127.6元;

此时脂肪与奶粉原料的使用量分别为60吨38.53吨。

 

 

参考文献:

[1].潘驰宇.奶制品生产与定价[J].中国科技博览,2012,9;

[2].赵静,但琦等. 数学建模与数学实验. 北京:高等教育出版社,2008年.

微信二维码
扫码添加微信咨询
QQ客服:1663286777
电话:137-1883-9017
收到信息将及时回复