2022华数杯数学建模-在线文档
Posted 您好啊数模君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022华数杯数学建模-在线文档相关的知识,希望对你有一定的参考价值。
【原创作者】
【金山文档】 算法整理&华数杯&9月国赛思路程序https://kdocs.cn/l/cdquinnM6xt1
允许转卖思路和程序允许,毕竟大多数都是在校学生,给你们赚点生活费
A题思路:(就看能不能耐心先把背景看懂,特别注意下参数单位)
第一问:阈值电压、K值、栅长栅宽最大最小值在附录1中都有。漏源电压:漏极和源极两端的电压。栅源电压:栅极和源极两端的电压。栅极(Gate——G,也叫做门极),源极(Source——S), 漏极(Drain——D),题目中Id的公式注意要看附录1的图1,第一问的输出频率怎么来算,其实就是根据电压通过Id公式推导得出电流,要算频率就要算一下单级反相器的延迟时间,具体公式看文献。
第二问:有f,可以反向去计算出tpd,第二问求解比较麻烦的还是有个电压周期性的问题,就算知道了tpd也没法确定周期是多少,如果要定义公式,通过规划函数去解,公式是非常复杂的,可能还没办法实现,要么就需要定义很复杂的公式,后面的反相器的输入电压是上一个反相器的输出电压,我们只能通过文献1中的t公式知道电压的变化量,那么本文怎么去求解,自变量的范围有,产生变量值之后,带入模型中推导,最后会输出一个f’,我们第一个目标函数值为输出功率差最小化,第二个目标函数为W*L得到的面积最小化,这里的排序不用采用ns2,给权重把两个式子联系起来,把第一个目标函数的权重设置大一点,这样寻优得出的解就算不一定输出功率就和问题中的一样,也差别比较小;当然了还有个目标函数构建情况,把输出功率差作为惩罚项,给一个大一点的惩罚系数相乘加在算面积的目标函数上。
第三问:功耗就是频率*时间,对于第二问,本问的目标函数改成了功耗最小化寻优
第四问:附录1中第三点提到了反相器间隔,有表2的形状参数,可以先大致计算得出每个芯片上可以放置多少个振荡器,有了反相器数,在第三问的基础上对每个芯片功耗最小化寻优振荡器尺寸,然后再来寻优平面布局,以可以放置的第七块芯片面积最大化寻优,注意是可以放置的长方形,不是看剩余面积,得到长宽参数后,同理进行寻优
B题思路:(需要较好的编程能力)
一个WPCR需要3个A、4个B、5个C;1个A需要6个A1、8个A2、2个A3;一个B需要2个B1、4个B2;一个C需要8个C1、2个C2、12个C3。其实主要的变量是每天A、B、C生产多少个,表5第1行其实是每天A、B、C三个的最小生产量,根据表5第2行和A、B、C工时可以计算出分别的最大生产量,那么生产范围有了,那么就好去做寻优了,不管用什么优化算法也好,每天A、B、C的生产量就从这个范围内生成,针对每天的三个变量如果不满足条件(因为A、B、C最大生产数是分别单独算的,所以会出现总工时大于限制的)重新生成就好了,计算目标函数的时候就是带着成本参数逐步去推一遍就行,其中会涉及到多个矩阵保存数据和调用数据的运算,自己理清楚一下,二三问就是加一天限制条件,主要还是在第一问模型上更改
第一问:首先我们根据表5第一行,这是每天的WPCR需求量,按照题目说的对ABC的需求比例,可以计算到对应每天至少需要的ABC数量:Amin=[117 108 114 120 111 99 120],Bmin=[156 144 152 160 148 132 160],Cmin=[195 180 190 200 185 165 200];然后分别再根据表5的第二行总工时限制,假定BC最少需求量去计算A的最大供应量,但是我们这个时候发现,会有负值,这个时候我们要做寻优就不能先给定所有变量范围,再产生变量值带入并目标函数值,其实可以看出变量的范围是动态变化的,刚好这个也是整数规划,我们可以用模拟退火算法这种随机模拟的方法来解决,把颗粒数和迭代次数设置大一点就可以得出靠近最优的方案,有的人说用lingo和函数寻优的算法,实则是不可行的,动态变化的自变量范围,最好是用随机模拟来做。那么,到这里第一问的做法很简单,第一天计算出ABC最小和最大供应量范围,产生第一天的变量ABC组装数,然后可以计算得到WPCR组装数,循环7七天,7*3=21个变量,前面产生的变量可能会决定后面是否满足条件,21个变量是一个个体,如果哪一天不满足条件,则重新生成变量就行,就用while循环去写这部分代码就行,第一天满足需求后剩余的,该怎么样算库存就怎么算库存,以及生产了哪种就需要加上哪种的生产准备费用,别忘了根据ABC去计算下面的小件,这里为什么不讲小件作为寻优对象,是因为寻优维度本来就太高了,小件的最优值,其实就是可以刚好组装ABC大件,而且也没有给小件的工时,也不好设置小件的供应范围。如果跑出来的结果不好,那就手算吧,毕竟寻优维度这么高,你想得出最优结果也不容易。
第二问:提前一天入库,其实本问就是多了点库存费用,也要考虑多周,在第一问的基础上对于WPCR的需求矩阵则是采用表5的数据,在第一问程序基础上修改较少
第三问:7天停检,在增加一个210维度的0-1矩阵就行,这里的0-1变量要注意每个1之间要间隔6以上,用randi函数生成,不满足条件就重新生成,比较上一问程序还有个区别就是工时的放宽,再推倒计算成本时,注意下调用的矩阵数值是否正确,这个问要更细心点
第四问:第四问不是接着第三问哈,接着第二问,满足需求最低的95%,不用看85%了,都能保证95%了那肯定是满足的,其实区别第二问的代码就是改一下需求矩阵而已
C题思路:(较为基础推荐小白选择),其实要做拟合还是推荐使用1stopt工具,win10可能不支持,可以自己安装一个win7系统的虚拟机在上面运行
第一问,附件data1中1#为插层前,2#为插层后的结果,结构变量、产品性能就是前面的那6个指标,这里其实要做的分析就是单因素方差分析一下插层是否对哪些指标有显著影响,可以调用matlab中anoval函数,下列A矩阵做了转置,A矩阵的第1列放#1的厚度数据,第2列放#2的厚度数据,这么分组来做方差分析,当然,也可以将#2指标-#1指标得到指标变化量,将各指标变化量与插层率变化量做相关性分析
第二问,直接可以看data3就行,第二问的结果表虽然没有指明是否需要插层后的结果,建议都分别算下,第二问只提到了厚度、孔隙率和压缩回率,那就分别建立厚度、孔隙率、压缩回弹性率与接受距离和热风速度的关系式,这里简单做个关系式就行,不管用什么算法,必须得出关系式的才行,三四问也是需要用到相同确定关系式的方法,这样前后逻辑才强,其他的指标与接受距离和热风速度的关系式都算一下,多做没有坏处,第二问代码就不多说,最简单的就是二元多次回归拟合,用regress函数就行,误差肯定大,毕竟这数据决定的
第三问,考虑到各指标间的关系,这里以过滤效率为因变量,其余指标为自变量,求一个多元非线性关系式,然后使用一个优化算法做函数寻优,设置各自变量范围,然后寻优就行,不同的拟合关系式自然结果不一样,各做各的,不用对答案,在线文档的“算法整理”有优化算法函数寻优的参考,自己去看
第四问,接收距离、热空气速度、厚度、压缩回弹性问题给了范围,其他的还是按第三问自己设置的范围来,本问也增加了过滤阻力目标函数,就是多目标寻优,需要用到非支配排序,这个在“算法整理”中有的,自己去看,这个问,有两个目标函数:1、过滤效率最大化,2、过滤阻力最小化。同样的参数范围设置好直接寻优就可以,然后用NS-II算法排序得出top前几种方案,分别罗列出来
以上是关于2022华数杯数学建模-在线文档的主要内容,如果未能解决你的问题,请参考以下文章