『楼 主』:
[原创]数学建模竞赛中应当掌握的十类算法
使用 LLM 解释/回答一下
排名如下:
1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法)
2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具)
3、线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现)
4、图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备)
5、动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中)
6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用)
7、网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具)
8、一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的)
9、数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用)
10、图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用Matlab进行处理)
The rankings are as follows:
1. Monte Carlo algorithm (This algorithm is also called a random simulation algorithm. It is an algorithm to solve problems through computer simulation. At the same time, it can be used to test the correctness of one's own model through simulation. It is a method that must be used in competitions)
2. Data fitting, parameter estimation, interpolation and other data processing algorithms (A large amount of data usually needs to be processed in competitions, and the key to processing data lies in these algorithms. Matlab is usually used as a tool)
3. Planning problems such as linear programming, integer programming, multi-variable programming, quadratic programming (Most problems in modeling competitions belong to optimization problems. In many cases, these problems can be described by mathematical programming algorithms. Lindo and Lingo software are usually used to implement them)
4. Graph theory algorithms (This type of algorithm can be divided into many types, including shortest path, network flow, bipartite graph and other algorithms. Problems involving graph theory can be solved by these methods. Serious preparation is required)
5. Computer algorithms such as dynamic programming, backtracking search, divide-and-conquer algorithm, branch and bound (These algorithms are relatively commonly used methods in algorithm design and can be used in many competitions)
6. Three non-classical algorithms of optimization theory: simulated annealing method, neural network, genetic algorithm (These problems are algorithms used to solve some more difficult optimization problems. They are very helpful for some problems, but the implementation of the algorithm is relatively difficult. Be cautious in use)
7. Grid algorithm and exhaustive method (Both the grid algorithm and the exhaustive method are brute-force search algorithms for the optimal point. They are applied in many competition problems. When focusing on the model itself and neglecting the algorithm, this brute-force scheme can be used. It is best to use some high-level languages as programming tools)
8. Some continuous-discretization methods (Many problems come from reality. The data can be continuous, but computers only recognize discrete data. Therefore, the idea of discretizing it and then using difference instead of differential, summation instead of integration, etc. is very important)
9. Numerical analysis algorithms (If high-level languages are used for programming in competitions, then some commonly used algorithms in numerical analysis such as system of equations solving, matrix operation, function integration and other algorithms need to be additionally compiled into library functions for calling)
10. Image processing algorithms (There is a type of problem related to graphics in the competition questions. Even if it is not related to graphics, there should be plenty of pictures in the paper. How to display and process these graphics is the problem to be solved. Matlab is usually used for processing)
|