【优化求解】基于matlab整数规划求解机票超售优化赔付问题【含Matlab源码 2182期】

⛄一、问题

A航空公司每天有6班航班从上海到北京,从上午10点到晚上8点,每两小时发一班航班。某天获知,前三班机每班可以容纳100名旅客,后三班机每班可以容纳150名旅客。如果某次航班超售,A航空公司可以把某预定了该次航班的旅客转到晚一点的航班,并且针对该延误两小时以上(含两小时)的旅客赔偿200元,每再多一小时,多赔偿20元。A航空公司总是可以把延期到晚上8点以后的旅客安排到另外的航空公司的11点航班上,最后安排的航班总有足够的位置. 假设某天,A航空公司卖了
T10,T12,T14,T16,T18,T20
张机票, 分别对应10点,12点,14点,16点,18点和20点的航班.
求解:从上海到北京的经济上的最优人员安排方案。

⛄二、部分源代码

t10 = 112;
t12 = 137;
t14=140;
t16=130;
t18=120;
t20=130;

%化简并提系数:200*(x(2)+x(3)+x(4)+x(5)+x(6)+x(7) + x(9)+x(10)+x(11)+x(12)+x(13) + x(15)+x(16)+x(17)+x(18) + x(20)+x(21)+x(22) + x(24)+x(25) + x(27) + x(28)) + 20*( 2*(x(2)+x(9)+x(15)+x(20)+x(24)) + 4*( x(3)+x(10)+x(16)+x(21) ) + 6*( x(4)+x(11)+x(17) ) + 8*( x(5)+x(12) ) + 10x(6)) +20( 13x(7) + 11x(13) + 9x(18) + 7x(22) + 5x(25) + 3x(27) )
f_12= [0 240 280 320 360 400 213 0 240 280 320 360 211 0 240 280 320 209 0 240 280 207 0 240 205 0 203 200];

%指明变量为整数
intcon = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
];
%不等式约束
% A是7行28列矩阵,b从理论上应该也是7行1列矩阵才对,表示7个不等式约束
A = [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0;
0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0;
0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0;
0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1];
b=[100 100 100 150 150 150 get_if_eg_0(t10 + t12 + t14 + t16 + t18 + t20-100-100-100-150-150-150)]';
%等式约束
Aeq= [
1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0];
beq = [t10 t12 t14 t16 t18 t20];
%变量最小值
lb=zeros(1,28);
ub=[];
[x, fval]=intlinprog(f_12,intcon,A,b,Aeq,beq,lb,ub);
fprintf(‘当各航班售票数(含超售票数)分别为:t10=%d,t12=%d,t14=%d,t16=%d,t18=%d,t20=%d时’, t10,t12,t14,t16,t18,t20);
format_result(x)
fprintf(‘按上述安排旅客乘坐班机最优,费用为:%f\n’, fval);
%linprog(f_12,intcon,A,b,Aeq,beq,lb,ub)

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 郑鸿瑞,赵亚文,周风波,甘昭林,胡祎,谭燕花.基于变步长因子的改进LMS算法[J].电子制作. 2022,30(05)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在激烈的市场竞争中,航空公司为争取更多的客源而开展的一个优质服务项目是预订票业务。公司承诺,预先订购机票的乘客如果未能按时前来登机,可以乘坐下一班机或退票,无需附加任何费用。 设飞机容量为,若公司限制只预订张机票,那么由于总会有一些订了机票的乘客不按时前来登机,致使飞机因不满员飞行而利润降低,甚至亏本。如果不限制订票数量,则当持票按时前来登机的乘客超过飞机容量时,将会有乘客不能乘坐他们预订的航班,航空公司需要采取各种不同方法来应对这些乘客。有的不给予任何补偿,有的被改签后面的航班,有的给予一定赔偿金。这样,为极大化公司的经济利益,必然存在一个恰当的预订票数量的限额。 假设已经知道飞行费用(可设与乘客人数无关)、机票价格(一般飞机满员50%_60%时不亏本,由飞行费用可确定价格)、飞机容量、每位被挤掉者的赔偿金等数据,以及由统计资料估计的每位乘客不按时前来登机的概率(不妨认为乘客间是相互独立的),建立一个数学模型,综合考虑公司经济利益(飞行费用、赔偿金与机票收入等),确定最佳的预订票数量。 1)对上述飞机容量、费用、迟到概率等参数给出一些具体数据,按你的模型计算,对结果进行分析。 2)对模型进行改进,如增设某类旅客(学生、旅游者)的减价票,迟到则机票作废。 提示:按时到达机场乘坐某航班的乘客数是一个随机变量,因此利润也是随机变量,需要给出利润的数学模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海神之光

有机会获得赠送范围1份代码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值