飞机票的预定策略问题
来源:互联网 发布:肇庆学院网络自助服务 编辑:程序博客网 时间:2024/04/28 15:13
实验2 一、 问题
为某次航班发售机票,发售机票不能太多也不能太少,若太多,乘客不能按时登机,公司不仅要付给乘客一定的赔偿费,而且乘客还将怨声载道;若太少,公司也将受到一定的损失。现问:应如何确定发售机票数,使公司、乘客双方均较满意?
二、 实验目的
1.培养学生根据实际问题建立数学模型。
2.训练学生使用计算机语言编程及数学软件解决一些数值计算。
三、 预备知识
1.概率论。
2.基本假设:乘客之间彼此独立(意即都为单身汉)。
3.设相关量如表3.2.1,飞机容量N与g、f之间的关系为0.6Ng=f。于是该问题实际上变为:求m,使ES/f最大且P(j)不能太大(如P(5)<=5%);
表3.2.1
N
飞机容量
g
机票价格
f
飞机费用(与乘客多少无关)
b
乘客准时达到机场而未乘上飞机的赔偿费
PK
K个乘客迟到的概率
p
每位乘客迟到的概率
m
发售机票数
ES
公司的平均利润
P(j)
超过j个乘客不能按时登机的概率(声誉指标)
四、 实验内容与要求
1.建立平均利润ES的数学模型。
设N=300,b/g=0.1,p=0.03.取m=N+5,N+6,…,N+50/
2.利用FORTRAN语言编程计算ES/f和p(5)并画出它们随m变化的关系图。
3.利用Mathmatica软件计算ES/f和p(5)并画出它们随m变化的关系图。
五、 思考问题
请自己假设一组数据,再运行上述程序,分析结果的变化情况。
实验解答
实验2 飞机票的预定策略问题
一、 问题分析与建立模型
设迟到的乘客数为k,则利润为:
S=
于是平均利润为:
ES=
二、 计算过程
当N=300,b/g=0.1,p=0.03时,取m=305,306,…,350。
1.用FORTRAN语言编程计算ES/f,p(5)的值。
运行如下FORTRAN源程序:
SUBROUTINE ZUHE(F,M,K)
DOUBLE PRECISION F
P=1
F=1
DO 10,I=K+1,M
F=F*I/P
P=P+I
CONTINUE
RETURN
END
DOUBLE PRECISION F,SUM1,ESF,T1,T2,SUM2
OPEN(2,FILE=‘1.DAT’,STATUS=‘NEW’)
DO 10,M=305,350
SUM1=0
DO 20,K=0,M=301
CALL ZUHE(F,M,K)
T1=(M-K-300)*F*((0.03)**K)*((0.97)**(M-K))
SUM1=SUM1+T1
CONTINUE
ESF=(1.0/180.0)*(0.97*M-1.1*SUM1)-1
SUM2=0
DO 30,K=0,M-305
CALL ZUHE(F,M,K)
T2=F*((0.03)**K)*((0.97)**(M-K))
SUM2=SUM2+T2
CONTINUE
WRITE(2,3)M,ESF,SUM2
FORMAT(1X,‘M=’,I3,5X,‘ES/f=’,F12.6,5X,‘P(5)=’,D15.6)
CONTINUE
END