![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
优化
文章平均质量分 86
yukai08008
这个作者很懒,什么都没留下…
展开
-
Python 运筹优化9 再次拆解基本的遗传算法
说明爹有娘有,不如自个有成熟的包稍微参考一下,或者在某些场景下对付一下即可。核心的部件还是要自己研发。本篇从0.1开始(因为以前已经写过一篇),构造一个新的可迭代版本。目标:1 完成连通性测试。2 可以使用GPU运算。3 厘清算法的要素和要点。4 使用PM规范搭建(既能测试脚手架方法的便利程度,又能使得算法过程足以服务化)内容先对遗传算法进行一些梳理(和增强)遗传算法的灵感来自与遗传学与进化论。首先,会出现一批种群(道生一,谁知道为什么有初始种群?),然后种群开始变化与繁殖(原创 2021-12-18 23:48:48 · 789 阅读 · 1 评论 -
Python 运筹优化7 遗传算法6 约束表达
说明遗传算法,或者说其他的优化算法,本质上都是在无穷多的可能里找到可行解,在可行的时间内。所以,算法需要有一定的「方向」。这种方向或者是算法本身自带的,或者是通过指定范围减少的(约束),通常来说是二者的结合。我觉得就目前的情况来看(从应用的角度),最主要的就是表达约束。以下梳理一下在geatpy里表达几种约束的方式。内容我把约束分为四种类型:1 变量范围约束。2 等号约束。3 不等号约束。4 例外约束。以商店配货的场景进行举例。1 变量范围约束一家门店通常只能在一天的某个时段收获,原创 2021-06-21 16:34:13 · 897 阅读 · 0 评论 -
遗传算法5 更复杂的配货应用
说明在实际的应用中,我们首先关心:1 目标是什么(目标函数)2 都有哪些约束本质上遗传算法解决的是有目标的随机搜索问题, 约束减少了不必要区域的随机搜索。解决问题的标志是提出有效的方案,这个方案可以称为解,或者个体,或者说一行记录。按遗传算法的概念,若干个体构成了一个种群(一组解),其中每个个体都是一种随机搜索的方案。在经过历次进化后,最后留下来的种群个体是高度相似的。内容1 场景连锁商店(S)的配货问题。1 商店有两类货物G1和G2,货物有重量和体积2 商店有一定时间窗口可以收原创 2021-06-20 20:16:10 · 294 阅读 · 1 评论 -
Python 运筹优化5 遗传算法4 geatpy 封装及后续
说明遗传算法的简单应用到这里就告一段落,原理比较简单,上手也容易。在应用过程中发现几个问题:1 文档做的太粗糙,我很多参数是靠猜的(比如cv)2 调用的参数还是比较复杂3 用matplotlib画图的效果不好(特别是对中文的支持很差,应该改为前端展示)当然这个包的计算效果(效率)是很不错的,所以这里计划:1 进行封装,方便日后调用2 解读源码,参考性的进行重构(例如目前都是基于numpy计算,可以转向pytorch的tensor计算)在应用上,遗传算法有几个方向:1 直接的应用问原创 2021-05-14 11:24:15 · 572 阅读 · 3 评论 -
Python 运筹优化4 遗传算法3 geatpy 实践
说明上篇介绍了基本的例子,这篇做一个实践。这里再推荐一篇文章,排版更好一些。内容1 业务问题假设存在这样一个业务问题:1 在爬虫服务器上起k个同样的爬虫,爬取目标网站2 对于某个爬虫来说,每次爬取时需要使用一个ip发起请求3 某一时刻,爬虫服务器需要根据爬虫的数量向代理请求ip, ip有每分钟和每天最大数量两种限制假设1 不同机器起的爬虫,处理速度一样2 目标主机的响应稳定3 同一个代理,ip的性能稳定推论爬虫的速度????????取决于代理ip的质量稳定时间 ????原创 2021-05-13 23:09:28 · 1175 阅读 · 3 评论 -
Python 运筹优化3 遗传算法2 geatpy 概念
说明最终我应该会自己开发一套遗传算法工具包,在这之前,我觉得参考/学习现有的工具包比较好:1 现有的工具包在结构上应该是充分考虑到了2 应用起来比较快(自己开发时间还是长的)3 可以作为未来开发的一个比对为什么要自己开发?通常来说,现有的工具包总是能比较快的实现普通的需求,但是核心的部分一般就很难了。内容本篇的内容主要参考这篇文章,写的非常详细,内容也比较多。我这里做了内容的拆分、精简和补充,看起来会容易一些。1 安装!pip install geatpy -i https://mir原创 2021-05-13 17:55:42 · 645 阅读 · 2 评论 -
Python 运筹优化2 遗传算法1
说明这个也算是很早以前就打算搞的一块了,一方面是因为优化方法有好一些,要么太底层,要么应用不是那么成熟,选择有点焦虑。做事还是不要等,先做了再说。遗传算法算是比较可取的一种方法,原理容易理解,就是计算的时间长了一点。(计算效率的问题暂时不认为是个问题)内容...原创 2021-05-13 13:34:50 · 781 阅读 · 3 评论