微信公众号:数学建模与人工智能

https://github.com/QInzhengk/Math-Model-and-Machine-Learning

三维团簇的能量预测

  • 摘要
  • 一、问题重述 1
  • 二、问题的分析 1
  • 三、模型假设 2
  • 四、符号说明 2
  • 五、模型的建立与求解 3
    • 5.1 问题一:金团簇能量预测模型的建立和Au20全局最优结构的预测 3
      • 5.1.1求解思路 3
      • 5.1.2数据处理 4
      • 5.1.3金团簇能量预测模型的建立与求解 5
        • 5.1.3.1 K近邻回归模型的建立与求解
        • 5.1.3.2随机森林回归模型的建立与求解
        • 5.1.3.3 LightGBM回归模型的建立与求解
        • 5.1.3.4金团簇能量预测模型的选取
      • 5.1.4基于LightGBM回归模型的粒子群优化算法的建立与求解 7
    • 5.2 问题二:金团簇不同结构异构体的产生和Au32的全局最优结构的预测 10
      • 5.2.1求解思路 10
      • 5.2.2基于Monte Carlo方法和L-J势函数的异构体Au32的生成 10
      • 5.2.3基于LightGBM回归模型的粒子群优化算法的Au32最优结构预测与稳定性分析 12
    • 5.3 问题三:硼团簇能量预测模型的建立和B45-全局最优结构的预测 13
      • 5.3.1求解思路 13
      • 5.3.2数据处理 14
      • 5.3.3硼团簇能量预测模型的建立与求解 14
      • 5.3.4基于随机森林回归模型的粒子群优化算法的建立与求解 15
    • 5.4 问题四:硼团簇不同结构异构体的产生和B40-的全局最优结构的预测 17
      • 5.4.1求解思路 17
      • 5.4.2基于随机森林回归模型的粒子群优化算法的B40-最优结构预测与稳定性分析 17
  • 六、模型评价与改进 18
  • 七、参考文献 19
  • 八、附录 20
  • 未完待续
  • 官方优秀论文
  • 2020年第十届MathorCup高校数学建模挑战赛A题:无车承运人平台线路定价问题(二等)

摘要

团簇可以分为金属团簇和非金属团簇,由于金属团簇具有良好的催化性能,因此备受关注。但由于团簇的势能面过于复杂,同时有时候还需要考虑相对论效应等,所以搜索团簇的全局最优结构显得尤为困难。其中,传统的理论计算方法研究效率较低且非常耗时。因此,需要对这种方法加以改进,例如:考虑全局优化算法,结合机器学习等方法,训练团簇结构和能量的关系,从而预测新型团簇的全局最优结构,有利于发现新型团簇材料的结构和性能。本文根据团簇数据样本,通过机器学习和优化算法以及软件编程,对其数据进行处理和预测搜索,完成了以下几方面的问题:
针对问题一,首先,通过Python编程读取xyz文件将其整合,并求出原始数据平均值对缺失的155号数据进行填充。通过金团簇Au20的原子坐标、原子数目和团簇能量来预测金团簇能量,利用库伦矩阵和特征值提取转换成向量以满足机器学习算法,然后利用K近邻回归模型、随机森林回归模型、LightGBM回归模型算法对金团簇能量进行预测,通过MSE评价指标选取最优算法为LightGBM回归模型。最后利用粒子群优化算法与其结合搜索和预测出金团簇Au20的全局最优结构的能量为-1558.381512。
针对问题二,首先,根据金团簇Au20的结构,通过Monte Carlo方法和L-J势函数模拟生成异构体Au32的结构,重新训练LightGBM回归模型,然后利用基于LightGBM回归的粒子群优化算法预测出全局最优结构的能量为-2484.139072。通过分析团簇的对称性以及平均键合能、一级解离能和二级解离能确定结构相对稳定。
针对问题三,同问题一,首先通过Python编程读取xyz文件将其整合,利用库伦矩阵和特征值提取转换成向量以满足机器学习算法且保证原始数据不丢失,然后利用随机森林回归模型、LightGBM回归模型算法对硼团簇能量进行预测,并且对两种模型进行网格搜索找到最优参数,来达到整体模型的偏差和方差的大和谐,通过MSE评价指标选取最优算法为随机森林回归模型。最后利用粒子群优化算法与其结合,搜索和预测出硼团簇B45-的全局最优结构的能量为-114059.5529096。
针对问题四,通过Python编程首先对硼团簇B45-的坐标通过排列组合列出40个坐标所有情形共有 个,然后根据L-J势能函数计算所有情形的势能,取势能最低的作为B40-的坐标。最后通过B40-的坐标训练随机森林回归模型,利用基于随机森林回归模型的粒子群优化算法找到硼团簇B40-的全局最优结构的能量为-101138.961718,最后分析稳定性较为稳定且比B45-稳定。
关键词:团簇;LGB回归模型;随机森林回归模型;蒙特卡洛;粒子群优化算法

一、问题重述 1

更新时间:2022/4/13

二、问题的分析 1

问题一的分析:问题一要求通过附件给出的1000个金团簇Au20的结构,建立金团簇能量预测的数学模型,并预测金团簇Au20的全局最优结构,描述形状。首先,观察所给原始数据,发现155号数据缺失,通过计算原始数据平均值对缺失值进行填补。其次,为满足机器学习算法的向量输入需求,通过库伦矩阵等方法将原子坐标进行转换,利用机器学习算法得到金团簇预测模型。最后,结合粒子群优化算法搜索和预测金团簇Au20的全局最优结构并画出图形。
问题二的分析:问题二要求在问题一的基础上设计算法,产生金团簇不同结构的异构体,自动搜索和预测金团簇Au32的全局最优结构,并描述其几何形状,分析稳定性。用Monte Carlo方法及L-J势函数模拟金团簇Au20异构体Au32的生成。并用基于LightGBM回归的粒子群优化算法搜索和预测金团簇Au32的全局最优结构并画出图形。通过分析团簇的对称性以及平均键合能、一级解离能和二级解离能分析其稳定性。
问题三的分析:问题三要求通过附件给出的3751个硼团簇B45-的结构,建立硼团簇能量预测的数学模型,并预测硼团簇B45-的全局最优结构,描述形状。同问题一为满足机器学习算法的向量输入需求,通过库伦矩阵等方法将原子坐标进行转换,利用机器学习算法得到硼团簇预测模型。最后,结合粒子群优化算法搜索和预测硼团簇B45-的全局最优结构并画出图形。
问题四的分析:问题四要求在问题三的基础上设计算法,产生硼团簇不同结构的异构体,自动搜索和预测硼团簇B40-的全局最优结构,并描述其几何形状,分析稳定性。首先对硼团簇B45-的坐标通过排列组合列出40个坐标所有情形,根据势能函数计算所有情形的势能[1],取势能最低的作为B40-的坐标。最后通过B40-的坐标训练模型,利用基于随机森林回归模型的粒子群优化算法找到硼团簇B40-的全局最优结构并画出图形。通过分析团簇的对称性以及平均键合能、一级解离能和二级解离能分析其稳定性。

三、模型假设 2

(1)数据样本中不存在不精确数据。
(2)团簇在空间中的平移或旋转都不会影响基于原子坐标的能量预测模型。
(3)使用原子直接的距离来描述体系的结构适用于当前团簇原子规模。
(4)基于原子坐标的机器学习模型可以一定程度上描述体系的对称性。

四、符号说明 2

五、模型的建立与求解 3

5.1 问题一:金团簇能量预测模型的建立和Au20全局最优结构的预测 3

5.1.1求解思路 3

首先,通过Python编程读取xyz文件将其整合,并求出原始数据平均值对缺失的155号数据进行填充。由于原始数据中只包含金团簇Au20的原子坐标、原子数目和团簇能量,因此要通过原子坐标和原子数目来预测金团簇能量,就需要一种描述方法将随机生成的结构信息表征成数值向量的模式,同时还要保证原始数据不能丢失,利用库伦矩阵和特征值提取转换成向量以满足机器学习算法,然后利用K近邻回归模型、随机森林回归模型、LightGBM回归模型算法对金团簇能量进行预测,通过MSE评价指标选取最优算法。最后利用粒子群优化算法与其结合搜索和预测出金团簇Au20的全局最优结构并画出图形。

5.1.2数据处理 4

5.1.3金团簇能量预测模型的建立与求解 5

5.1.3.1 K近邻回归模型的建立与求解

5.1.3.2随机森林回归模型的建立与求解

随机森林算法是Breiman[3]提出的群体分类模型的一种,能有效分析非线性、共线性和具有交互作用数据,在变量和数据的使用上进行随机化生成很多树,随机产生样本及节点变量,使得随机森林中的每一个棵树都不尽相关,进行bootstrap抽样,在原始训练样本集N中多次有放回地随机抽取n个新的训练样本集,生成n个分类树组成的随机森林,得到模型最优时的森林,当出现新样本时随机森林中的每一个树分别进行判断。
通过Python使用sklearn库调用随机森林回归算法进行金团簇能量预测,将在数据处理中得到的32×1维的特征向量作为特征变量,金团簇Au20能量作为目标变量,划分80%的训练集和20%的测试集进行求解。在sklearn中直接调用maen_squared_error( )函数计算MSE为0.458028,模型运行时间为2.342937秒。
随机森林回归模型使用便捷,特征无须做过多变换,具有较高精度,模型并行训练快;但结果不容易解释。

5.1.3.3 LightGBM回归模型的建立与求解

LightGBM(Light Gradient Boosting Machine)是微软亚洲研究所DMYK团队的一个开源的算法,李淑锦, 嵇晓佳[4]认为LGB回归模型基于直方图进行计算获得更高的速度和更高的效率,占用更少的内存,支持并行计算,并且由于缩减了训练时间因此可以进行大数据处理。LGB回归模型在计算时会将浮点型数值转化成离散型数值,从而生成了一个直方图。并且在图中累计离散数值统计量,降低占用的内存来找最佳分割点,算法流程图如图1.3所示。


通过Python调用LightGBM回归算法进行金团簇能量预测,将在数据处理中得到的32×1维的特征向量作为特征变量,金团簇Au20能量作为目标变量,划分80%的训练集和20%的测试集进行求解。计算MSE为0.364445,模型运行时间为12.187506秒。发现LightGBM回归模型精度高,但训练时间长,模型复杂。

5.1.3.4金团簇能量预测模型的选取

将K近邻回归模型、随机森林回归模型和LightGBM回归模型预测准确率进行对比,如图1.4所示。
K近邻回归模型在三种模型中MSE最大,精确度较低,故在随机森林回归模型和LightGBM回归模型中进行选取,又比较算法的时间开销如表1.1所示
表1.1 算法时间开销

算法 运行时间/ms
KNeighbors 96.31
RandomForest 2342.94
LightGBM 12187.51

综合考虑,选取LightGBM回归模型作为金团簇能量预测的模型。

5.1.4基于LightGBM回归模型的粒子群优化算法的建立与求解 7

5.2 问题二:金团簇不同结构异构体的产生和Au32的全局最优结构的预测 10

5.2.1求解思路 10

5.2.2基于Monte Carlo方法和L-J势函数的异构体Au32的生成 10

5.2.3基于LightGBM回归模型的粒子群优化算法的Au32最优结构预测与稳定性分析 12

5.3 问题三:硼团簇能量预测模型的建立和B45-全局最优结构的预测 13

5.3.1求解思路 13

首先,根据金团簇Au20的结构,通过Monte Carlo方法和L-J势函数模拟生成异构体Au32的结构,重新训练LightGBM回归模型,然后利用基于LightGBM回归的粒子群优化算法预测出全局最优结构。通过分析团簇的对称性以及平均键合能、一级解离能和二级解离能分析其稳定性[5]。

5.3.2数据处理 14

5.3.3硼团簇能量预测模型的建立与求解 14

5.3.4基于随机森林回归模型的粒子群优化算法的建立与求解 15

5.4 问题四:硼团簇不同结构异构体的产生和B40-的全局最优结构的预测 17

5.4.1求解思路 17

通过Python编程首先对硼团簇B45-的坐标通过排列组合列出40个坐标所有情形共有 个,然后根据L-J势能函数计算所有情形的势能,取势能最低的作为B40-的坐标。最后通过B40-的坐标训练随机森林回归模型,利用基于随机森林回归模型的粒子群优化算法找到硼团簇B40-的全局最优结构并画出图形。通过分析团簇的对称性以及平均键合能、一级解离能和二级解离能分析其稳定性。

5.4.2基于随机森林回归模型的粒子群优化算法的B40-最优结构预测与稳定性分析 17

六、模型评价与改进 18

对于问题一:问题一中选取了K近邻回归模型、随机森林回归模型、LightGBM回归模型对金团簇能量进行预测,随机森林回归模型和LightGBM回归模型准确度较高,运行时间较短,加快了粒子群优化算法搜索金团簇Au20的最优结构的速度。对于问题一只选取了三种机器学习模型而且并没有进行调参,对此增加了多层神经网络和支持向量回归模型并进行参数调优,发现LightGBM回归模型精确度最高为0.347896且运行速度较快。并对粒子群优化算法种群数和迭代次数扩大在其中加入金属对称性的约束条件,发现找到的最优结构更好能量更低。
对于问题二:在产生金团簇异构体时采取的是L-J势函数,对此进行改进采取LJ+AT势能函数发现产生的异构体更稳定,预测的最优结构对应的能量更低。
对于问题三、问题四:采取的是随机森林回归模型和LightGBM回归模型做比较选取对此进行改进,将随机森林回归模型和LightGBM回归模型进行融合发现效果更好。因为预测向量中的每个值都接近于真实值时,才能保证在进行局部优化或全局搜索时的方向和真实情况是一致的。所以建立算法置信度模型,置信度定义为预测误差小于给定允许误差的点所占的比例,这个比例越大,表明算法越可靠,从结果看在准确度方面是可行的。

七、参考文献 19

八、附录 20

第一题:

read_file_1.py:
import numpy
from scipy.spatial.distance import cdist
def read_xyz_comment(path):with open(path, 'r') as f:for i, line in enumerate(f):if(i==1):comment=float(line)return comment
def read_xyz_coords(path):elements = []coords = []with open(path, 'r') as f:for i, line in enumerate(f):if i < 2:continueele, x, y, z = line.strip().split()point = [float(x), float(y), float(z)]elements.append(ele)coords.append(point)return coords#计算库伦矩阵
def get_coulomb_matrix(numbers, coords, alpha=1, use_decay=False):
......

未完待续

官方优秀论文

链接:https://pan.baidu.com/s/1ytLtH2cqSnmD9DrWZ2QS-g
提取码:yhzj

2020年第十届MathorCup高校数学建模挑战赛A题:无车承运人平台线路定价问题(二等)

2021年MathorCup高校数学建模挑战赛b题:三维团簇的能量预测(三等)相关推荐

  1. 2021年MathorCup高校数学建模挑战赛B题三维团簇的能量预测解题全过程文档加程序

    2021年第十一届MathorCup高校数学建模 B题 三维团簇的能量预测 原题再现 原题再现   团簇,也称超细小簇,属纳米材料的尺度概念.团簇是由几个乃至上千个原子.分子或离子通过物理或化学结合力 ...

  2. 2021 年第十一届 MathorCup 高校数学建模挑战赛A题分析

    2021 年第十一届 MathorCup 高校数学建模挑战赛A题分析 题目:自动驾驶中的车辆调头问题 问题分析 前言 综述 问题一分析 问题二分析 问题三分析 问题四分析 问题五分析 问题六分析 题目 ...

  3. 第二十四天:2019年第九届MathorCup高校数学建模挑战赛A题

    之前发了一篇文章,审核未通过- 不过没有关系,释然又双叒叕回来啦!这个暑假,数模.算法.名著.高数.英语都是不可辜负的哟! 今天是释然发题解的第二十三天,以后经常会和大家分享学习路上的心得,希望和大家 ...

  4. 2023第十三届MathorCup高校数学建模挑战赛C题解析

    2023第十三届MathorCup高校数学建模挑战赛C题解析 题目 解析 前言 题目一 题目二 题目三 题目四 题目 C 题 电商物流网络包裹应急调运与结构优化问题 电商物流网络由物流场地(接货仓.分 ...

  5. 2022 年第十二届 MathorCup 高校数学建模挑战赛D题思路(移动通信网络站址规划和区域聚类问题)

    目录 一.前言 二.问题背景 三.问题 四.解题思路 (1)针对问题1: (2)针对问题2: (3)针对问题3: 五.附上几个典型代码 (1)K-means算法 (2)遗传算法 (3)模拟退火算法 一 ...

  6. 2021年MathorCup高校数学建模挑战赛—大数据竞赛A题二手车估价问题解题思路

    MathorCup高校数学建模挑战赛-大数据竞赛 A题 二手车估价问题 原题再现:   随着我国的机动车数量不断增长,人均保有量也随之增加,机动车以"二手车"形式在流通环节,包括二 ...

  7. 2023年Mathorcup高校数学建模挑战赛ABCD题思路资料汇总贴

    下文包含:2023Mathorcup高校数学建模挑战赛(妈妈杯)思路解析.妈妈杯参赛时间及规则信息及Mathorcup高校数学建模挑战赛 C君将会第一时间发布选题建议.所有题目的思路解析.相关代码.参 ...

  8. 2023年MathorCup高校数学建模挑战赛赛题浅析

    作为国赛美赛之下算是最热门也是最有含金量之一的数学建模比赛,大家可以取得一个满意的成绩,无疑是对自身大学履历加上了不可忽视的一笔.作为已经毕业且上岸,并且选的运筹学与控制论方向的数学研究生,对Math ...

  9. 2022 年 MathorCup 高校数学建模挑战赛A题

    赛道 A:"58 到家"家政服务订单分配问题 "58 到家"是"58 同城"旗下高品质.高效率的上门家政服务平台,平 台向用户提供家政保洁. ...

最新文章

  1. antd 动态添加表单_react Ant Design 动态生成表单,并带验证
  2. python打开文件不存在-Python判断文件是否存在的三种方法
  3. android代码打开数据库,android – 如何正确关闭并重新打开Room数据库
  4. 动态规划java LCS_动态规划递归求解LCS长度 | 学步园
  5. Pycharm 安装
  6. php 生产环境 测试环境 同步,开发 RoR PHP Project,测试环境、生产环境部署相关问题...
  7. jqgrid学习(二)
  8. pdf2swf process阻塞问题
  9. IDEA:IDEA更换主题,好看的主题汇总
  10. python操作Excel
  11. 稳定云服务器出租_云服务器租用,安全稳定的DDoS高防独立IP弹性云主机租用_爱普互联...
  12. 学习JS的这些日子——十二月总结
  13. html视频倍速播放,如何让网页视频倍速播放
  14. Debian 查看 硬盘 SD卡 容量 内存大小
  15. paddlepaddle、paddlehub依赖包下载并离线安装
  16. 计算机自动安装程序,如何防止软件自动安装软件?防止电脑自动安装软件的方法...
  17. Mac端口5000被ControlCe占用问题解决方法
  18. docker部署seaweedf
  19. Using HumanVisual System modeling for bio-inspired low level image processing
  20. hp 388g9服务器硬盘更换,HP DL380 G9 6块硬盘,做了RAID0+1.现在坏了一块硬盘,需要更换,需要怎么操作?...

热门文章

  1. 利用Smith圆图设计匹配网络
  2. 8个流水灯c语言程序按顺序亮,求由AT89S52单片机,8个LED,流水灯程序,要求八灯一盏接一盏闪烁,且循环不灭,,要求用c语...
  3. 网址搭建之PHP连接MySQL数据库
  4. 个网工获得CCNP认证后的成功求职记
  5. JavaScript高级程序设计--数据类型(1)
  6. mimikazi教程
  7. css border偏移
  8. Redis分布式锁失效场景分析
  9. 硅烷偶联纳米SiO2改性形状记忆聚氨酯/抗体偶联的介孔二氧化硅/米非司酮纳米制剂/纳米二氧化硅接枝黄麻纤维可降解复合物
  10. 支持向量机原理之线性SVM与非线性SVM