还不知道你就慢了!纯纯干货!数学建模竞赛最常用的4个算法!聚类蚁群代数

你是否曾为数学建模而头疼?面对一堆数据和复杂的模型,感到无从下手?别担心,今天我们就来聊聊数学建模中常用的四种算法,让你轻松掌握数学建模的精髓!

在数学的广阔天地里,建模是一种非常重要的技能。而要想成功建模,掌握一些常用的算法是必不可少的。今天,我们就来详细介绍一下数学建模中的四大常用算法:蒙特卡洛算法、蚁群算法、遗传算法、聚类算法。

蒙特卡洛算法

算法介绍:蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡罗命名。

基本思想:蒙特卡洛算法的核心原理是利用随机数和概率统计方法来模拟问题,通过大量随机样本的采样,得到问题的概率分布或期望值。这种方法特别适用于那些无法用精确数学公式求解的问题,或者公式求解非常困难的问题。

算法步骤:

1.定义问题:首先需要明确问题的数学模型和目标函数,以及待求解的变量或参数。

2.随机采样:生成随机样本,这些样本通常来自均匀分布或正态分布等,并根据采样规则将随机数映射到问题的定义域内,得到一组采样点。

3.模拟计算:将采样点代入目标函数中,得到目标函数的函数值。根据函数值的大小关系,统计满足条件的样本数目,从而得到目标函数在采样区域内的估计值。

4.统计分析:利用采样得到的数据,根据大数定律和中心极限定理,计算问题的期望值、方差、置信区间等统计量,并进行进一步的分析和推断。

应用场景:通过计算机仿真来解决问题,同时可以用来检验模型的正确性。蒙特卡罗算法常用于解决各种规划问题优化算法,其精确度很大程度取决于实验次数。

应用实例:

某食品加工厂主要生产即食产品,一般当天生产的产品必须当天售出,否则就会出现不能保质、或变质、造成一定的经济损失,如果市场需求量大而生产量不足,则也会影响工厂的销售收入,该产品的单位成本为1.5元,单位产品售价为4元。工厂为了避免产品滞销存货过多而造成的经济损失,提出了如何制定合理的生产与库存数量的方案问题,能够使得工厂能有尽可能多的收益,经初步考虑拟从以下两种生产与库存方案中选出一个较好的方案:方案(1):按前一天的销售量作为当天的生产库存量。方案(2):按前两天的平均销售量作为当天的生产库存量。

解:利用蒙特卡罗方法随机模拟市场对该产品需求量,统计计算出按照两种不同方案T天后工厂的经济值,比较不同方案经济效益的大小,选出一个较好的方案。假设市场对该产品的每天需求数量是一个随机变量,从统计学的角度分析得知,该随机变量服从正态分布N(1500,900)。利用蒙特卡罗方法编程实现,主要随机模拟前一天和前两天的各种不同的销售量,来确定当天的生产与库存量,依据可能的实际销售量,计算出当天的销售利润,选择使连续几天利润尽可能大的方案。假设模拟20天,方案一前一天的销售量为59,方案二前第一天的销售量为59,前第两天的销售量为65,模拟得到的结果为

LS1=7.9399e+04LS2=8.1732e+04

比较可以发现,在假设的条件下,方案二的利润更高,因此选择方案二。

蚁群算法

基本思想:蚁群算法模拟了自然界中蚂蚁觅食的行为。蚂蚁在运动过程中,能够在它所经过的路径上留下一种称为信息素(pheromone)的物质进行信息传递。蚂蚁在运动过程中能够感知这种物质,并依此指导自己的运动方向。由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。这种机制使得蚁群能够逐渐找到从巢穴到食物源的最短路径。

2.蚁群搜索:在搜索阶段,每只蚂蚁从初始位置出发,基于启发式信息(包括距离信息和信息素信息)进行路径选择。每只蚂蚁会经过一系列的决策,最终到达目标位置,并在此过程中产生一条路径。

3.更新信息素:当所有的蚂蚁完成搜索后,根据每只蚂蚁的路径,更新信息素表。信息素的浓度会根据蚂蚁的贡献而变化,以反映出对当前问题的经验。信息素浓度越高的路径,后续蚂蚁选择的可能性就越大。

4.重复搜索与更新:重复执行搜索和信息素更新的步骤,直到满足预设的停止条件,如达到最大迭代次数或找到满足要求的最优解。

5.解码和输出:最后,通过对最优路径进行解码,获得最佳解,并将其输出到相应的应用中。

应用场景:

1.旅行商问题(TSP):蚁群算法在解决旅行商问题中表现出色,即寻找从原点出发,经过若干给定需求点,并最终返回原点的最短路径。通过模拟蚂蚁寻找食物过程中的信息素释放和跟随行为,蚁群算法能够逐步逼近最优解。

4.图着色问题:在图论中,图着色问题是一个经典的组合优化问题。蚁群算法可以通过模拟蚂蚁的觅食行为,在图着色问题中找到满足条件的颜色分配方案,使得相邻的顶点具有不同的颜色。

5.作业调度问题:在生产制造、任务分配等领域,作业调度是一个重要的优化问题。蚁群算法可以应用于这类问题,通过模拟蚂蚁的信息素传递和路径选择机制,找到最优的作业调度方案,以提高生产效率或降低成本。

假设有一个旅行商人要拜访全国31个省会城市,他需要选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。对路径选择的要求是:所选路径的路程为所有路径之中的最小值。全国31个省会城市的坐标为

解:仿真过程如下:

(1)初始化蚂蚁个数m=50,信息素重要程度参数Alpha=1,启发式因子重要程度参数Beta=5,信息素蒸发系数RhoR_{ho}Rho=0.1,最大迭代次数G=200,信息素增加强度系数Q=100。

(2)将m个蚂蚁置于n个城市上,计算待选城市的概率分布,m只蚂蚁按概率函数选择下一座城市,完成各自的周游。

(3)记录本次迭代最佳路线,更新信息素,禁忌表清零。

(4)判断是否满足终止条件:若满足,则结束搜索过程,输出优化值;若不满足,则继续进行迭代优化。

优化后的路径如图所示:

遗传算法

算法介绍:遗传算法(GeneticAlgorithm,GA)最早由美国的JohnHolland于20世纪70年代提出,它是根据大自然中生物体进化规律设计出的计算模型。这种算法模拟了达尔文生物进化论的自然选择和遗传学机理的生物进化过程,通过模拟自然进化过程来搜索最优解。

基本思想:遗传算法是一种优化算法,其基本原理主要源于对自然界生物进化机制的模拟。这种算法通过遗传和进化的操作,在问题的解空间中搜索最优解或近似最优解。其基本原理包括个体表示、适应度函数、选择、交叉、变异和种群进化等要素。个体表示:将问题的解表示为遗传算法中的个体,这通常通过编码实现,如二进制编码、实数编码和排列编码等。适应度函数:用于衡量个体在解决问题中的优劣程度,即适应度。这是选择操作中判断个体优劣的依据。

1.初始化:设置进化代数计数器t=0,设置最大进化代数T,并随机生成M个个体作为初始群体P(0)。

2.个体评价:计算群体P(t)中各个个体的适应度。这通常通过之前定义的适应度函数来实现。

3.选择运算:基于个体的适应度,进行选择运算。选择的目的是将优秀的个体直接遗传到下一代,或者通过配对交叉产生新的个体再遗传到下一代。选择操作是遗传算法中非常重要的环节,它确保了优秀基因的传递。

4.交叉运算:在选出的个体中,进行交叉运算。交叉运算模拟了生物进化中的基因重组过程,是遗传算法中产生新个体的主要方式。

5.变异运算:对群体中的个体进行变异运算。变异运算模拟了生物进化中的基因突变过程,它增加了种群的多样性,有助于避免算法过早收敛。

6.终止条件判断:当进化代数达到预设的最大进化代数T时,终止算法。此时,进化过程中所得到的具有最大适应度的个体即为所求的最优解。

1.旅行商问题:TSP是最基本的路线问题,该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。

2.指派问题:在满足特定指派要求条件下,使指派方案总体效果最佳。如:有若干项工作需要分配给若干人(或部门)来完成。

4.运输问题:为了把某种产品从若干个产地调运到若干个销地,已知每个产地的供应量和每个销地的需求量,如何在许多可行的调运方案中,确定一个总运输费或总运输量最少的方案。

5.背包问题:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。

6.设施选址问题:指在给定的若干位置中选择一些来建立设施使得所有顾客的需求得到满足,且总体费用最小。

7.图划分问题:将图中的节点划分为数量大致相等的若干个分区,使得两个顶点分别在不同分区的边的数量最小化。

8.图着色问题:对于n个顶点的无环图G,要求对其各个顶点进行着色,使得任意相邻的顶点都有不同的颜色,且所用颜色种类最少。

(1)初始化种群数目为Np=200,染色体基因维数为N=31,最大进化代数为G=1000。

(2)产生初始种群,计算个体适应度值,即路径长度;采用基于概率的方式选择进行操作的个体;对选中的成对个体,随机交叉所选中的成对城市坐标,以确保交叉后路径每个城市只到访一次;对选中的单个个体,随机交换其一对城市坐标作为变异操作,产生新的种群,进行下一次遗传操作。

(3)判断是否满足终止条件:若满足,则结束搜索过程,输出优化值;若不满足,则继续进行迭代优化。

优化后的路径如图所示

聚类算法

算法介绍:K-means算法的基本思想是将数据集中的n个对象划分为K个聚类,使得每个对象到其所属聚类的中心(质心)的距离之和最小。这里的距离通常采用欧氏距离来衡量。算法通过迭代的方式,不断优化聚类结果,直至满足预设的终止条件。

基本思想:K-means算法的目标是最小化数据点与其所属簇中心之间的平方距离之和,也就是最小化簇内的方差。通过迭代更新聚类中心,K-means算法能够找到合适的聚类结果。

1.随机选择K个点作为初始的聚类中心。

2.将每个数据点分配到距离其最近的聚类中心所在的簇。

3.根据当前的簇分配情况,更新每个簇的聚类中心为该簇内所有数据点的平均值。

4.重复步骤2和步骤3,直到簇分配不再改变或达到预定的迭代次数。

1.图像分割:K-means算法可以用于图像分割,将图像中的像素点划分到不同的簇中,从而实现图像的分割和提取。

2.文本聚类:K-means算法可以用于文本聚类,将文本数据划分为不同的簇,

2019数维杯大学生数学建模竞赛论文

参考资料:

知识无界,学习无止境。让我们携手共进,一同在知识的世界里探索、发现、成长。期待明天再次与您相遇,共享知识的盛宴!

以赛辅练,更进一步提升专业能力,这个竞赛千万别错过!

浙江省数学会主办、浙江大学及中国计量大学承办的第四届长三角高校数学建模竞赛正在报名中!

党的十九届五中全会提出:“发展数字经济,推进数字产业化和产业数字化,推动数字经济和实体经济深度融合,打造具有国际竞争力的数字产业集群。”为了响应发改委“数字中国助推高质量发展”的号召,贯彻落实“长三角一体化”的国家发展战略,激励学生学习数学建模的积极性,培养学生的创新意识及运用数学方法和计算机技术解决实际问题的能力,在历届长三角高校数学建模竞赛成功举办的基础上,浙江省数学会决定主办第四届长三角高校数学建模竞赛,欢迎各高等院校按照竞赛章程及有关规定组织同学报名参赛,共同探索数学建模在各领域的创新实践,推动产学研用协同发展。

竞赛官网

即日起至2024年5月16日早8:00

2024年5月16日8:00

2024年5月16日8:00至5月20日8:00

2024年5月20日10:00

2024年6月中下旬

组织机构

主办单位:浙江省数学会

承办单位:浙江大学、中国计量大学

参赛对象

大赛主要面向中国及境外在校本科生,在读研究生和专科生也可报名参加,具体要求如下:

(1)可以自由组队参赛,每个参赛队伍人数可为1–3人,参赛队员允许跨校、跨年级、跨专业组队。

(2)参赛组别以参赛队员中在读学历最高者为准。

(3)每支队伍允许最多有一名指导教师,指导教师须为在职高校教师。

竞赛规则

竞赛题目:竞赛统一命题,共有A,B,C三题,本科生、研究生可选择A、B题中任意一题作答;专科生选择C题,也可以选择A,B题作答。

竞赛组别:竞赛评阅分为三个赛道,分别为本科生组,研究生组和专科生组,参赛组别以参赛队员中在读学历最高者为准。

证书样图

奖项设置

【学生奖项】

竞赛分组别分赛题进行评奖

一等奖(5%)

二等奖(15%)

三等奖(30%)

其余成功提交作品的队伍获成功参赛奖

●获奖者均将获颁盖有“浙江省数学会”印章的“长三角高校数学建模竞赛”获奖证书(注:提供电子证书,如有需要,也可申请纸质证书),并在一等奖参赛队中择优评选特等提名奖和特等奖若干名,颁发特等提名奖和特等奖证书及奖金。

THE END
1.10大计算机经典算法「建议收藏」腾讯云开发者社区算法九:动态规划算法 动态规划(Dynamic programming)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。 https://cloud.tencent.com/developer/article/2089934
2.常见的10种算法算法 研究的目的:是为了更有效的处理数据,提高数据运算效率。数据的运算是定义在数据的逻辑结构上,但运算的具体实现要在存储结构上进行。 参考原文:常见的10种算法 - 知乎 一般有以下几种常用运算: 检索:检索就是在数据结构里查找满足一定条件的节点。一般是给定一个某字段的值,找具有该字段值的节点。 https://blog.csdn.net/zxf347085420/article/details/136269980
3.数学中都有什么算法啊?数学中都有什么算法啊? 答案 定义法、配方法、待定系数法、换元法、反证法、数学归纳法、导数法、赋值法、消去法、定比分离法、比较法、分析法、综合法 ,还有很多桑介里有几个比较详细的哈.一、换元法“换元”的思想和方法,在数学中有着广泛的应用,灵活运用换元法解题,有助于数量关系明朗化,变繁为简,化难https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1733369047889375760&fr=search
4.数学算法1:会算法--笔算训练,现今我国的教育体制是应试教育,检验学生的标准是考试成绩单,那么学生的主要任务就是应试,答题,答题要用笔写,笔算训练是教学的主线。与小学数学计算方法一致,不运用任何实物计算,无论横式,竖式,连加连减都可运用自如,用笔做计算是启动智慧快车的一把金钥匙。 https://www.unjs.com/xuexi/jiaoyuwenzhai/20111016201606_703828.html
5.浅谈数学教学中的算法多样化浅谈数学教学中的算法多样化【内容摘要】算法多样化是《数学课程标准(实验稿)》所倡导的基本理念之一。本文通过一、注重培养和发展学生的创新思维。二、鼓励学生寻求多种求解的方法。三、加强交流,注重体验。四、强调不同层次学生的参与。五、把握时机,适时优化。这五方面阐述了数学教学中的算法多样化。【关键词】算法多https://www.docin.com/touch/detail.do?id=2320140805
6.算法数学算法数论 作者:裴定一 ISBN:9787030106834 出版社:科学出版社 出版年:2002 算法数论 作者:裴定一 ISBN:7030106830 出版社:科学出版社 出版年:2002 趣味魔法数学 作者:别莱利曼 ISBN:9787512715578 出版社:中国妇女出版社 出版年:2018 魔法数学 :大魔术的数学灵魂 作者:迪亚科尼斯 ISBN:9787542877116 出版社:上海科技https://www.las.ac.cn/front/book/detail?id=a6126bb6785c5c4d694030be656f64df
7.数学16算法(下)视频在线观看数学16 算法(下) 举报 江苏可一 关注9,427 信息 分享: 直播热点 下载APP领会员 直播中 小言儿~ 直播中 丽丽感谢家人宠爱 直播中 悠然~ 千帆直播 人气主播 直播0 新人璐璐? 璐璐等你回家~ 点击观看 直播0 热舞玉米 知冷知热进退皆宜~ 点击观看 直播0 小肥沫吖 古筝国风仙女沫沫吖 点击观看 直播0 https://www.56.com/u35/v_MTQwMTQ2MDk2.html
8.算法等于数学吗?既然把算法和数学区分开来了,那么算法的真正用武之地是什么呢?将数学知识变现成生产力是对算法最高的奖赏在不为过了。我们知道有很多数学知识,但应用到社会成产中的却是冰山一角了。 提高时间效率,加快问题解决的速度 降低数据在存储器上空间的占用 4.该如何学习算法? https://www.jianshu.com/p/49cf29db387f
9.数学的急速算法掌握良好的速算技巧,是让孩子们在最短的时间内,学好速算的关键之处,所以,家长要善于引导孩子们发现和使用速算技巧,并且多多将这些技巧进行验证,让这些技巧好好为孩子服务。 一、加大减差法 1、口诀:前面加数加上后面加数的整数,减去后面加数与整数的差等于和。 https://www.360doc.cn/article/53709691_738928734.html
10.数学建模数学建模算法大全数学建模算法与程序 主编 司守奎 海军航空工程学院 前 言 今天,人类社会正处在由工业化社会向信息化社会过渡的变革。以数字化为特征的 信息社会有两个显著特点:计算机技术的迅速发展与广泛应用;数学的应用向一切领域 渗透。随着计算机技术的飞速发展,科学计算的作用越来越引起人们的广泛重视,它已 经与科学理论和科学实https://max.book118.com/html/2017/0723/123802682.shtm
11.小学数学各类算法的教学1 2 3当前位置:首页 > 课程思政 小学数学各类算法的教学【发布时间:2021-03-10 17:36:33】 【阅读次数:】 相关链接 版权所有 运城学院 | All Rights Reserved.地址:山西省运城市河东东街333号 | 电话:0359-2090418 | 传真:0359-2090378http://jpkc.ycu.edu.cn/xxjxkcyjxl/N20210310173633.html
12.相由心生?面部算法分析能否窥测你的内心?思想市场澎湃新闻这听起来激动人心。但对于很多批评者而言,隐藏在数学算法表象之下的,只是一种普通而古老的拙劣科学——现在用的是算法,而不是一个人拿着卡尺测量鼻子和眉毛。他们还引述了无数关于道德、隐私和各种有意无意潜在偏见的担忧,害怕这些算法可能在某一天通过一次扫描就决定我们的命运。 https://www.thepaper.cn/newsDetail_forward_1864416
13.学习算法必备数学HackerVirus熬了几个通宵,终于把初中到大学的数学知识梳理完了(学习算法必备数学知识) 作者简介:常遇,阿里巴巴高级技术专家,一直关注前端和机器学习邻域相关技术,在知乎和微信公众号的“全栈深入”分享深度硬核技术文章。 下面的基础数学知识涉及很多数学公式,这些公式编辑起来https://www.cnblogs.com/Leo_wl/p/15172317.html
14.《数学建模算法与应用》(司守奎)简介书评在线阅读当当网图书频道在线销售正版《数学建模算法与应用》,作者:司守奎,出版社:国防工业出版社。最新《数学建模算法与应用》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《数学建模算法与应用》,就上当当网。http://product.dangdang.com/22494264.html
15.2020年深度学习算法工程师面经(微软阿里商汤滴滴华为简单分为深度学习、机器学习基础、图像处理基础、数学基础、算法基础、程序设计语言、模型部署、HR面试以及与我本人简历相关的目标检测、属性识别、Kaggle及天池的比赛、创新想法等几个部分介绍。可能开始会有重叠或者分类不恰当,后面会逐渐更新完善。其中第一篇先介绍到HR面试,第二篇介绍个人相关的项目和比赛部分。https://maimai.cn/article/detail?fid=1514590373&efid=Oph3033j5Qs70xHZdz0sGA
16.人民日报:用好算法,迈向智能社会“算法”即算的法则,它起源于数学,指解决某些“类数学”问题规范而完整的方法。人们熟悉的“加减乘除”、欧几里得《几何原本》里的演绎推理基本法则等,都属于算法。中国古代数学有深厚的算法传统,《周髀算经》用文字记载勾股算法,三国时期刘徽提出圆周率的割圆术算法,后来祖冲之由此计算出圆周率为3.1415926。现代逻辑学,https://kjt.shaanxi.gov.cn/kjzx/mtjj/276381.html
17.算法的乐趣在建立数学模型的阶段,我们说的数据结构更偏重于定义数据之间的相互关系,设计具体的算法步骤时,考虑的是如何对构建在这些数据关系之上的实际数据进行加工和处理。 算法和数据结构关系紧密,数据结构是算法设计的基础,不合适的数据结构设计,有可能导致无法设计算法的演算步骤,从而无法实现算法。数据之间常见的逻辑结构包括https://www.ituring.com.cn/book/tupubarticle/5656
18.算法引论——数学归纳法茅屋忘了是哪个牛人推荐的《算法引论》(Introduction to Algorithm, A creative approach)了,两个月前借的书,续借了一次,到现在才终于有幸翻开来。果然是一本好书,连第二章的《数学归纳法》都没让我却步。希望我能够坚持着把这本书看完,然后坚持每一章都做笔记。书本后面还有很多练习题,我也想尽量做一点。嗯,就是https://www.iteye.com/blog/1222515
19.组合数学常用公式及算法Vontroy("%d\n%d\n",a1-a,c); return 0;}高效生成组合算法:int list[100];bool b[100];int n,tot=1;int C(int n, int m)//计算组合数:{ int result = 1; if(m > n - m) m = n - m; for(int i = 1; i <= m; ++i) { result = result * (n - m + i) / i;//一定可以http://www.cppblog.com/vontroy/archive/2010/10/02/128303.html
20.他给导弹装上锐利的“眼睛”——中国青年网90多岁时,陈敬熊还坚持学习和研究,用自创的数学算法推导公式。“不得老年痴呆症”是他对自己的要求,要“活到老,学到老,干到老”。 他家里有4个书柜,里面装满了各种专业书籍。“这些书读起来不轻松啊,但是很锻炼思维。”看到感兴趣的地方,他时常还会利用自创的一套算法,将相关的数学公式重新推导一番。“有时候https://t.m.youth.cn/transfer/index/url/news.youth.cn/nw/202110/t20211014_13261643.htm