数学建模社区-数学中国
标题:
2021长三角数学建模竞赛思路
[打印本页]
作者:
杨利霞
时间:
2021-7-19 15:58
标题:
2021长三角数学建模竞赛思路
2021长三角数学建模竞赛思路
' t3 {' M k% v$ h' Y4 v
F! s2 x! M' A |; t
A题 Go! Fun游长三角
/ U9 @) U4 x* J" u
7 |" j# V) A: k/ m, E/ s4 n6 x# N# H
. ~2 I$ d7 M0 `+ D
A题如果从旅游业相关企业去看,就不足为奇了,这道题是让我们分析不同类型的游客的旅行规划问题
- M$ L& i2 r$ ]/ Y' n' l3 K0 U; i
9 z6 r' I. Z3 p, z, D
" L2 ]) J6 t% ]5 G0 K
6 H2 [* J/ W1 {5 ?; K" ^' E
7 Y" ~3 v+ [- C% {
, N4 X% d' ^' p2 H
0 U4 v8 k8 P8 T# H6 }7 h. S4 S9 |
9 c2 i. |0 a; `
7 x; C# K0 F# Y4 U
, D# R; i5 b$ z7 F/ ^" } s* i n
! \8 w% u) v a4 U) p2 F' [
V* _4 d7 A. U2 T8 L
+ e: o Y! g4 l; j; A* ^8 i4 U
\7 r& y- g: D+ c+ T
, a1 R* m' ?- A1 r2 W
7 U+ G3 k9 u; q& Y& K! k B
5 z! D7 z+ ^1 K6 J# b8 R' E5 Q
首先需要爬取不同景点信息,包括经纬度,是否收费,收费的门票多少,周围酒店多少价格,都可以通过地图网页爬取数据,公众号推文有python+selenium案例不会就手动整理。为了能够做第一问,这里可以自行设置一下每个景点中需要花费的时间。
5 S m' ?8 d+ m& A
5 g$ y1 `' }) P- ~3 Q
% R# q+ @6 G& R! B# [
家境良好且平时学习刻苦的小李同学,现住于杭州,要到长三角旅行,杭州离上海比较近,行程定为2小时,一天旅游时间设定为8小时,当天需要返回酒店,如果当天没有足够时间去下一个景点则直接返回酒店,8小时包含回酒店所需得时间,那么第一问就可以这么做,长三角景区基本位于上海,那我们就分析上海的景区,一般旅游会综合考虑要玩的景点地理位置及酒店价格选择住宿。假设住宿不变,到了上海采用徒步的形式到达景点,一般人走路速度为1.1-1.5m/s,两点距离根据Haversine公式计算,一天吃喝按100元算。
& I& \* K7 r, t7 ]
( R1 V* o1 n& l: F9 u2 v# m: |
! k- d; Z4 R! t4 n4 }" P
第一问仅考虑旅行时间,构建多目标函数,函数1为旅游景点总数最大,函数2为到景点的路上行程最小,自变量1为酒店编号,自变量2为所有景点序列,可通过randperm实现,在内循环内依次遍历randperm产生的序列,直到满足条件终止,约束条件见上一段落,最后给出一个较好的方案即可。程序中需用矩阵时刻记录参数的变化,满足终止条件就输出结果。
* z8 Z, l$ n5 y/ ]( L
; P7 a/ C$ ?3 G# _+ A
0 ^( d6 I& g, J
第二问,不考虑时间,只考虑旅行资金,第一问模型中删除旅行时间约束,增加约束条件为旅行资金5000元
; \# x$ b6 i3 ?$ h7 a( [2 e- m" }
{/ Q' f5 `2 ?& K$ M$ }2 F
8 x; d6 R) R8 M/ i! u* c" x
第三问,同时考虑旅行资金和时间再算一遍
/ a0 _2 Q* {2 r3 m/ \: F
/ I/ R: y: \$ V5 w
) c( D: n+ j! Y# c, D
第四问,小李的爷爷也来旅游了,时常怀念曾经的峥嵘岁月,于是跟着小李又来了长三角旅行,总资金变多了,但每天的吃喝消费和住宿费增加了,如果是有门票的景点,费用也增加了,带入第三问模型即可。
3 G. E# `! U0 s& E
: Q3 l ?8 @# `/ A
' U1 O* O+ {! o7 `, s0 A* Q& u7 W/ i8 P
第五问,后来小李兼职了新媒体,B站粉丝数达52.5万人了,这次到长三角旅行,每天需要抽出1个小时旅行时间来更新视频,上述模型中约束条件8小时改为7小时,假设小李的初始资金为5000,视频收入在第二天到账,视频的播放量+点赞数+投币+收藏,每一万播放量考虑上点赞数+投币+收藏大概在30元左右收入,在本问可以到B站搜一下相关的景点视频,如果会爬虫的同学可以直接用程序搜集,主要抓取一些相关景点视频的播放量及up主的粉丝数,最后取平均值,按粉丝比例算一下小李如果旅游该景点的收益多少,同样的按上文模型求解,本问的区别在于小李的资金是动态变化的。
. V% \; E0 a2 l$ r9 Q
8 k% R ]5 o0 U5 U; s- `
; z$ {( o% l; I" m5 g
# M& m J3 `% Q! p9 _. e0 [0 o: k
4 I. v# F9 `& J4 [8 o; x
& h, N+ {7 D. f) g' ] [- u1 y
B题 锅炉水冷壁温度曲线
# g' @3 i L* o# y
2 @4 Y2 q% Y8 O) c$ @. \9 W0 C
; Y! E- A8 v+ Y2 N4 X
附件1中十条曲线如下
- U1 @7 N! }3 L+ D$ U
0 {3 L p3 _( K, d3 b; [; @
3 G% X) `0 \5 F# c
1 X* d3 Z6 q+ A" Q
9 P2 f2 e* D5 B' g2 z
5 B% b1 q9 I, U5 ]. l/ B& c
+ X) e+ L _( G2 a+ t
; I0 \- t+ S% y4 h7 D: h: [# `8 N, A
* W/ H1 C2 @ u8 J
$ P o: W8 U+ [* l
上图代码
7 X$ n6 K [1 N9 p
& ?. U8 H: j4 x' Z: R; w& B
t( {! ]$ S" d7 w- i# h
X=xlsread('附件1.xlsx');
7 u! e! U) ?3 C2 |) ]' l. w6 H
figure
7 D* f% U6 \/ @: E" p
for i=1:10
8 X9 y9 [9 }- u) a- c+ Y. A1 v8 p
subplot(5,4,2*i-1)
8 I' A8 K- t7 z( v) n- u' }& e3 Q8 r/ h
plot(X(:,1),X(:,i+1))
! ^7 R& l% h* e: m+ r4 q- a
title(['管道',num2str(i),'温度曲线'])
5 i* G! F9 }/ V1 H
subplot(5,4,2*i)
* v/ U3 p9 `# A8 y. e
histogram(X(:,i+1))
' f% t* O* g( ~& U( {: o
xlabel('温度值')
7 q& N, P/ e2 w% w) V
ylabel('数据频数')
i& V. N/ ^% I }6 r! R
title(['管道',num2str(i),'温度曲线统计'])
- m6 a4 A5 P7 v5 Y
end
5 p; a- o& V7 H# n. W. N4 _
第一问统计数据特征,统计变量一般有方差、均值和最大最小值,也可以做下histogram统计图说明下温度主要分布情况。
6 B1 u. T; C) I; }% I* r
5 {1 f8 G) n* s" w: M
9 k9 U r; m3 W8 O" [
第二问对十个水冷壁管道的工作状态进行评价,在实际生产过程中,温度变化尽可能平稳,水冷壁温度不宜过高,根据这两个条件,可以使用第一问两个指标,方差和最大值。根据这两个条件,确定方差和最大值均是越小越好,那么从数据大小的角度将这两个指标定义为负向指标,数据归一化时则需要注意减最小还是减最大,将数据归一化至[0,1]备用,评价算法可以用因子分析、秩和比、熵权法求得权重后乘以归一化数据求和。
! C& Y( x" G' D+ j* O& s! U7 G
5 R1 x: U8 m: h& e! U
) M/ I, I- K+ a9 l* t }+ A, v
第三问附件二中包含了111个操作变量和42个状态变量,涉及高纬度数据首先应当对数据降维,可以去看下公众号发布的主成分分析推文,最后取贡献率到刚好到95%以上的k列降维数据,注意降维数据不是指选出主要指标出来,降维数据表示的是153高维数据的投影数据,直接用这k列数据去分别拟合10个管道的温度数据,常用的回归肯定不行,这里是比较复杂的非线性拟合,可以将k列数据和某个管道温度数据先用1stopt遍历下较符合的公式,通过lsqcurvefit函数进行非线性最小二乘拟合。
1 A8 \- p: U; @5 y
& ~# S3 G0 `& f3 V" S% a& J
4 E+ ]2 {+ ?& p
第四问找出主要操作变量,注意是111个操作变量,求10个温度数据与111个操作数据的相关性,与是个温度数据的相关性取个平均值进行比较,选出最高的介个,算法可采用余弦相似度、皮尔逊等。
/ W3 y' b5 d' D* Y
1 W% A( f! H0 ]- y' ]1 r4 O
! e2 D: W0 ~; O2 J8 m
第五问第四问中的相关性矩阵,取与第十个管道从3172节点以后的温度数据与111个操作数据求相关性,可以选5-10个操作变量备用,拟合出一个关系式,构建一个启发式算法,目标函数1为3172节点以后的数据总下降值,目标函数2为依然高于445的数据个数,目标函数3同样也是自变量为调节的操作变量个数,目标函数4为所有调节变量总下调比例;自变量1为调节的操作变量个数,自变量2设置每个操作变量调整比例为[0-0.2],同样的对3172节点后的操作变量数据进行整体的调节,向上还是向下调节可通过rand随机。启发式算法可采用模拟退火框架和蒙特卡洛框架,外循环为个体间比较,内循环为蒙特卡洛试验,内循环根据当前的调节操作变量个数随机模拟n次变量调整比例下的函数值,也就是变量2放在了蒙特卡洛试验中,通过非支配排序选择结果最好的试验作为当前个体的变量及函数值,外循环的个体间比较也同样通过非支配排序,迭代结束,输出最优解集的parote图及排名靠前的几个方案。(算法可参照公众号算法推文)
$ J' D! _5 f/ E4 h9 Y& ?
————————————————
4 ^' c9 {, M: J
版权声明:本文为CSDN博主「微信公众号:您好啊数模君」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
% M; y5 M; Q) v9 [! a2 P& ?
原文链接:https://blog.csdn.net/qq_39899679/article/details/117093580
6 X- ^9 Y' i" a! v
9 q4 L/ F) N$ ~9 ^& a+ v* z
* L0 a9 j# \$ X- d4 @+ L1 U
作者:
1357404354
时间:
2022-7-30 14:31
da大佬,能给一份,参考论文么,最近正在研究这次的赛题
2 x0 V7 V, u0 d4 O
作者:
1357404354
时间:
2022-7-30 14:31
5 E. z- ]/ _% O7 s& i6 D
作者:
mlgb
时间:
2022-7-31 13:39
1357404354 发表于 2022-7-30 14:31
" _, P9 d$ Q+ f0 i1 ~
/ F' w, X7 ]. [! T
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5