算法实践
文章平均质量分 74
大财小用71
个人技术总结,分享,方便以后回顾,也希望对你有帮助
展开
-
Python 代码提速(注意深拷贝和列表操作)
用python写了个labeling算法,速度着实慢,心想python也不至于这么慢呀,如何提高一下代码速度。提速前的原始代码速度:可以看到几个问题:● deepcopy 是主要耗时部分,占了大部分时间● list.remove 列表操作太费时间。原创 2022-09-23 22:48:29 · 1006 阅读 · 1 评论 -
递归和迭代(深度优先,广度优先)的差异
简单对比一下递归和迭代的差异,针对全排列问题,一个用递归实现,一个用迭代的方式实现,均在相同计算机环境下比较。原创 2022-09-21 19:32:14 · 420 阅读 · 0 评论 -
求解器选择与收敛性问题(OR-Tools)
文章目录1.求解器的选择2.求解器的收敛2.1 相同时间下求解结果2.2 不同时间段求解结果2.3 目标函数变化曲线3.结论1.求解器的选择OR-Tools提供了用于求解 线性规划和 混合整数规划问题的 MPSolver 接口容器,易于调用各种不同求解器。gurobi 当然无论在各个问题上性能都要优胜许多,考虑到毕竟是商用求解器,这里主要枚举开源免费的求解器。问题类型求解器纯整数规划(IP)CP-SAT线性规划(LP)Glop混合整数规划(MIP)SCIP由原创 2022-04-17 16:07:43 · 2280 阅读 · 0 评论 -
元启发式算法 | 遗传算法(GA)解决TSP问题(Python)
元启发式算法 | 遗传算法(GA)解决TSP问题(Python)文章目录元启发式算法 | 遗传算法(GA)解决TSP问题(Python)1.GA基本概念2.GA算法实现细节3.问题与思考1.GA基本概念遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。GA属于元启发式算法,类似的还有蚁群算法、模拟退火等等。其本质上来说都属于随机搜索方法,理论上无穷时间条件下可以找到最优解(废话,无穷原创 2020-12-22 22:54:32 · 2468 阅读 · 7 评论 -
算法实践-遗传算法GA
算法实践-梯度下降开篇 提到一个简单的函数极值求解问题,y=sinxcosx−2y = \frac{{\sin x}}{{ \cos x-2 }}y=cosx−2sinx,x∈(0,π)x \in (0,\pi )x∈(0,π) ,我们可以很轻易通过求导得到它的极值,换一个思路,如果把函数看成是一个优化问题,那么问题就变成:...原创 2020-09-24 10:12:31 · 1298 阅读 · 0 评论 -
算法实践-梯度下降(GD)
算法实践-函数极值求解通过一个简单的求解函数极值问题,看看不同算法的实际应用。y=sinxcosx−2y = \frac{{\sin x}}{{ \cos x-2 }}y=cosx−2sinx,x∈(0,π)x \in (0,\pi )x∈(0,π) 求y的最小值。我们可以通过画出函数图像,可以看到在(0,π)(0,\pi )(0,π)中存在唯一极值。解析解:y′=cosx(cosx−2)+sin2x(cos−2)2=0⇒cosx(cosx−2)+sin2x=0⇒−2cos原创 2020-09-17 18:12:30 · 349 阅读 · 0 评论