数学建模社区-数学中国
标题:
2021长三角数学建模竞赛思路
[打印本页]
作者:
杨利霞
时间:
2021-7-19 15:58
标题:
2021长三角数学建模竞赛思路
2021长三角数学建模竞赛思路
" j" d; l) V" z" m9 f# m3 |
* y, i9 l& D. B/ X4 Q
A题 Go! Fun游长三角
1 h/ d4 Y' z7 G$ b8 k6 ~3 C: j
+ m9 ]5 V& r/ f, {4 b
/ Q& W2 J6 e, a# K! ^- v
A题如果从旅游业相关企业去看,就不足为奇了,这道题是让我们分析不同类型的游客的旅行规划问题
; Q# e+ w+ g& |9 h$ j- ^. z+ x# h
# I" h: L8 b- ~" n+ }+ r
3 Y/ b. \8 C1 W; X! v: ^
' C" j& V6 ^7 @+ z
+ d! {% L6 u/ @) Z
) A1 A9 \' G& ^' U
) U. W% v( R% b ~" r; ~) {
4 ]7 j. b& m2 f D& i. F- g d
6 ^! x* D; Y# |
2 z' t, m8 \# a, |: b0 j/ {% R
2 w1 s' m1 H" S; }6 [$ B5 X) @& i' J
3 h$ q& @4 i$ t; s
i( k6 v$ X! V4 }5 Z9 p
, [* j6 P+ I+ f' @2 a% ], h
9 _# L& Z3 r3 }6 x# E
% b+ s; k0 J* `$ f0 B0 { y
' l6 L7 \3 L+ ]
首先需要爬取不同景点信息,包括经纬度,是否收费,收费的门票多少,周围酒店多少价格,都可以通过地图网页爬取数据,公众号推文有python+selenium案例不会就手动整理。为了能够做第一问,这里可以自行设置一下每个景点中需要花费的时间。
* {* e8 I( | v4 S% o
# ^5 z3 \; r2 ?
: C; K% v3 c: x2 g1 [: r
家境良好且平时学习刻苦的小李同学,现住于杭州,要到长三角旅行,杭州离上海比较近,行程定为2小时,一天旅游时间设定为8小时,当天需要返回酒店,如果当天没有足够时间去下一个景点则直接返回酒店,8小时包含回酒店所需得时间,那么第一问就可以这么做,长三角景区基本位于上海,那我们就分析上海的景区,一般旅游会综合考虑要玩的景点地理位置及酒店价格选择住宿。假设住宿不变,到了上海采用徒步的形式到达景点,一般人走路速度为1.1-1.5m/s,两点距离根据Haversine公式计算,一天吃喝按100元算。
- M- s* X$ x" ~1 r3 t/ f3 Y
4 P5 B: g' R" B; M: N
# h, ?$ S+ {- i6 u
第一问仅考虑旅行时间,构建多目标函数,函数1为旅游景点总数最大,函数2为到景点的路上行程最小,自变量1为酒店编号,自变量2为所有景点序列,可通过randperm实现,在内循环内依次遍历randperm产生的序列,直到满足条件终止,约束条件见上一段落,最后给出一个较好的方案即可。程序中需用矩阵时刻记录参数的变化,满足终止条件就输出结果。
$ v, H7 s! z j& u
. e$ X" M8 R0 A+ @) [
4 t* j- F1 f# L' r
第二问,不考虑时间,只考虑旅行资金,第一问模型中删除旅行时间约束,增加约束条件为旅行资金5000元
* s# |% K k; E
/ z: w6 D; H9 {$ [/ V. z
2 D K7 w1 r- G9 s4 S* N
第三问,同时考虑旅行资金和时间再算一遍
) m* X2 O' F5 C5 f
# V4 u/ _ D$ _0 J7 f7 v" ^
* v, s' S* M3 u, R3 A% Q
第四问,小李的爷爷也来旅游了,时常怀念曾经的峥嵘岁月,于是跟着小李又来了长三角旅行,总资金变多了,但每天的吃喝消费和住宿费增加了,如果是有门票的景点,费用也增加了,带入第三问模型即可。
$ c' }$ o Q9 R7 s
; }5 v& b7 G6 w( d" ]) z: D* a
$ u7 J; N6 [: ~$ y* U
第五问,后来小李兼职了新媒体,B站粉丝数达52.5万人了,这次到长三角旅行,每天需要抽出1个小时旅行时间来更新视频,上述模型中约束条件8小时改为7小时,假设小李的初始资金为5000,视频收入在第二天到账,视频的播放量+点赞数+投币+收藏,每一万播放量考虑上点赞数+投币+收藏大概在30元左右收入,在本问可以到B站搜一下相关的景点视频,如果会爬虫的同学可以直接用程序搜集,主要抓取一些相关景点视频的播放量及up主的粉丝数,最后取平均值,按粉丝比例算一下小李如果旅游该景点的收益多少,同样的按上文模型求解,本问的区别在于小李的资金是动态变化的。
* a0 j! Y$ \* i0 e- Q1 ~
$ _/ P& C' y9 J! R1 H
$ p: p d# `; D% h9 ^
# a* ~6 ?- P+ I" l/ S' p: q/ o
+ V" } L* h+ @7 n
, c: W6 v0 b* n2 s: N: r* V
B题 锅炉水冷壁温度曲线
2 Z1 h0 U, N- G- G$ f$ x& O j
; }7 h9 p5 ]8 W- s0 x$ X; \
, K7 ^8 ~% u- w* S. M
附件1中十条曲线如下
7 D% N* s" Z6 f0 D8 G5 e
7 y! e( w6 `- ~/ b" \& w! r7 |
; R" c: A3 T; F! I& A9 F
8 n9 ]7 H, f! Y- o2 p8 Z
- P( C/ k' u3 u' h; I) p
l% w* H# n4 z7 `6 X
; A$ t8 k o# d! B0 _
5 a$ m! R8 K: U; Z& u
; ]; [3 _& ]2 G! u
7 {6 ^+ z, ^& H# P
上图代码
0 _+ r# `! }9 d% t; w1 r
: }# z" w- ]8 ^4 P
: y+ ?% R" i& P- Y( E, z
X=xlsread('附件1.xlsx');
! R- `3 p- E0 k( K6 Z, D2 @# t
figure
, x7 o4 y9 o1 C" _9 o) n, \+ W
for i=1:10
' d* q( K' ^+ |0 c
subplot(5,4,2*i-1)
! ]. e m9 [" X. E$ k
plot(X(:,1),X(:,i+1))
. a( {1 M) Z) G. i$ e5 L
title(['管道',num2str(i),'温度曲线'])
Z- |& V' f* t, x" b6 E4 }$ A
subplot(5,4,2*i)
8 _. J, O7 E7 j% n/ m
histogram(X(:,i+1))
. @- ^ [5 b# E9 ^& g
xlabel('温度值')
. i/ Z. \- w. e9 Q% a! e; s6 M
ylabel('数据频数')
$ |$ o9 @$ T: _3 B! ^! u
title(['管道',num2str(i),'温度曲线统计'])
8 Y1 @7 g0 [0 s9 K
end
1 U% X8 u" K. }9 |
第一问统计数据特征,统计变量一般有方差、均值和最大最小值,也可以做下histogram统计图说明下温度主要分布情况。
2 Q2 H8 [( w* D( T
0 b& _ o9 a# V3 P/ Y8 H
% l9 C" M6 i. K1 l0 z# k0 g/ y# q
第二问对十个水冷壁管道的工作状态进行评价,在实际生产过程中,温度变化尽可能平稳,水冷壁温度不宜过高,根据这两个条件,可以使用第一问两个指标,方差和最大值。根据这两个条件,确定方差和最大值均是越小越好,那么从数据大小的角度将这两个指标定义为负向指标,数据归一化时则需要注意减最小还是减最大,将数据归一化至[0,1]备用,评价算法可以用因子分析、秩和比、熵权法求得权重后乘以归一化数据求和。
( j9 V/ V) |4 M# h
% W: @1 b! m' R, v* [0 |( i/ F
% B: x+ ]$ Y3 \7 }6 s
第三问附件二中包含了111个操作变量和42个状态变量,涉及高纬度数据首先应当对数据降维,可以去看下公众号发布的主成分分析推文,最后取贡献率到刚好到95%以上的k列降维数据,注意降维数据不是指选出主要指标出来,降维数据表示的是153高维数据的投影数据,直接用这k列数据去分别拟合10个管道的温度数据,常用的回归肯定不行,这里是比较复杂的非线性拟合,可以将k列数据和某个管道温度数据先用1stopt遍历下较符合的公式,通过lsqcurvefit函数进行非线性最小二乘拟合。
+ _% ~+ l+ ~4 a
`5 Z4 i( y8 x3 W* r/ Y5 Q' k
6 d/ `; E. n: k
第四问找出主要操作变量,注意是111个操作变量,求10个温度数据与111个操作数据的相关性,与是个温度数据的相关性取个平均值进行比较,选出最高的介个,算法可采用余弦相似度、皮尔逊等。
4 H5 ~5 j! N( X, {" C# b- O
2 n; [+ n6 J8 M
/ [. y% D% E1 p4 N) v
第五问第四问中的相关性矩阵,取与第十个管道从3172节点以后的温度数据与111个操作数据求相关性,可以选5-10个操作变量备用,拟合出一个关系式,构建一个启发式算法,目标函数1为3172节点以后的数据总下降值,目标函数2为依然高于445的数据个数,目标函数3同样也是自变量为调节的操作变量个数,目标函数4为所有调节变量总下调比例;自变量1为调节的操作变量个数,自变量2设置每个操作变量调整比例为[0-0.2],同样的对3172节点后的操作变量数据进行整体的调节,向上还是向下调节可通过rand随机。启发式算法可采用模拟退火框架和蒙特卡洛框架,外循环为个体间比较,内循环为蒙特卡洛试验,内循环根据当前的调节操作变量个数随机模拟n次变量调整比例下的函数值,也就是变量2放在了蒙特卡洛试验中,通过非支配排序选择结果最好的试验作为当前个体的变量及函数值,外循环的个体间比较也同样通过非支配排序,迭代结束,输出最优解集的parote图及排名靠前的几个方案。(算法可参照公众号算法推文)
9 _9 x& z' N( ^- X
————————————————
9 U+ l+ ?3 R" v( o! ?! _3 n, x
版权声明:本文为CSDN博主「微信公众号:您好啊数模君」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
- G& r1 a) o& j: r3 H' \( i
原文链接:https://blog.csdn.net/qq_39899679/article/details/117093580
$ M0 A8 k, z( `, U" y% q
4 |- {, h$ f' {! C+ i
+ G; Q m5 K, b4 b) _+ ~0 G
作者:
1357404354
时间:
2022-7-30 14:31
da大佬,能给一份,参考论文么,最近正在研究这次的赛题
( `7 y' ] l$ c3 W8 X9 b
作者:
1357404354
时间:
2022-7-30 14:31
0 T* t/ F& c- P r: d
作者:
mlgb
时间:
2022-7-31 13:39
1357404354 发表于 2022-7-30 14:31
( a2 {9 o& _: A7 ` p' r( h8 k, z
. E1 c' z( O/ S/ g
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5