作者:留德华叫兽 王源 门泊东吴 周岩
运筹学研究和AI研究一样,也需要一些实际场景的实验来验证算法的有效性,但是目前运筹学数据并没有像AI社区中那样丰富。有哪些开放的数据集可以供我们使用呢?本文来带你一探究竟!
李飞飞教授主导的ImageNet数据集为深度学习进军计算机视觉打响了第一枪,Google引用接近13000。运筹学数据集和机器学习数据集一样,是运筹学科发展的基石。建立一个好的运筹学数据集可以促进更多更好的运筹学的新算法诞生。但是目前运筹学数据集的发展并不像机器学习数据集那样如雨后春笋,这其中的原因有学科发展的原因,也有很多历史性和行业特征的因素。目前运筹学中有那些经典好用的数据集呢,我们首先截取并编辑了一部分知乎问题的回答。
回答:
作者知乎id:留德华叫兽
所谓巧妇难为无米之炊,运筹学优化在学术界的进步需要大规模的开源数据集 在业界得以应用必须建立在一整套管理信息系统汇总得优质数据集基础上,首先列出几个经典的数据:
1,组合优化经典的旅行商问题数据集(TSPLIB)--由海德堡大学Gerhard Reinelt教授维护
(数据集地址:http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/)
虽然没有多少“内幕”信息,但也知道他为之花了巨大的心血,并且一直维护和更新至2013年,为TSP以及组合优化学科的发展做出了巨大的贡献。深度学习尤其是计算机视觉如今得以迅速发展,非常重要的一点就是开源数据集(以及开源框架--如Pytorch)。
2,混合整数规划用来测试求解器的数据集--由柏林ZIB研究机构维护
(数据集地址:https://miplib.zib.de/index.html)
3,二维装箱问题数据集 & 多维背包问题 & 仓库选址问题 & 投资组合优化问题 & 航空优化飞机着陆问题 & 车辆路径规划问题:
(数据集地址:http://people.brunel.ac.uk/~mastjjb/jeb/orlib/binpacktwoinfo.html)
以上所有数据集,都被汇总在了这个网站: OR-Library
目前我在业界从事无人驾驶计算机视觉算法的研发,深刻感受到无人驾驶和计算机视觉领域对于高质量数据集的倚赖,也体会着开源框架和开源代码给机器学习、计算机视觉领域这个行业所带来的技术进步。我们之前做过一期高质量数据集的知乎问答:数据科学 | 如何有效的利用和自建机器学习数据集。在这个文章中我简述了如何打造无人驾驶计算机视觉领域的数据集。最后,希望运筹学领域在这一点可以向AI学习 整个学术界、社区一起努力 开源更多数据集、求解器、代码和框架 打造更好的开源社区 也会朝着这个方向努力~
回答:
作者知乎id:门泊东吴
优化领域小学生来答个题,power system作为运筹学的一个大方向,数据集???(黑人问号脸) 能源的很多数据(我理解的就是建模数据吧,还得具体看你是研究什么问题的)涉及national security,我说几个public resource吧:
1. 7 ISOs(Independent System Operator) within North America:
● CAISO- California ISO
● NYISO - New York ISO
● ERCOT - Electric Reliability Council of Texas
● MISO - Midcontinent ISO
● ISO-NE - ISO New England
● AESO - Alberta Electric System Operator
● IESO - operates the Hydro One transmission grid for Ontario, Canada
我用过ERCOT,上面能找到很多历史数据,比如:近十年各county的hourly load demand,wind,solar...应该都有,预测数据也有,就是得仔细找一找。
2. National Lab(Energy Department)
● INL - Idaho National Laboratory
● NREL - National Renewable Energy Lab
● NETL - National Energy Technology Laboratory
● SRNL - Savannah River National Laboratoty
我只用过NREL。。。这些国家实验室的tech report里也会提供数据来源,还有一些政府工作报告,里面也会提供一些public data。
3. Synthetic Data
没有真实数据的话,或者真实数据不够详细,比如:只有一个地区的hourly load, 没有具体到每个bus的,我们也可以大致根据每个bus上的人口比例分这个hourly load,适当地"造"一下数据,不一定要是真实数据,有相似的结构就行。
我记得我之前看Optimal Power Flow的paper时,经常看到IEEE多少bus的data,好像提供数据下载,如果你也是做相似问题,但用不同算法的话,都是可以直接用同一套数据的。
除了上面介绍的经典数据集外,小编还采访了多位OR领域的学者和同学,他们还推荐了下面的几个常用的数据集:
1.车辆路径规划(数据集地址:http://neo.lcc.uma.es/vrp/vrp-instances/)
2.mixed-integer programming (MIP) models and instances (地址:https://mic.optimatorlab.org/)
运筹学的数据开源数据集很少,但是相比之下,深度学习机器学习等领域以及很多传统CS领域的开源数据集和代码却非常丰富,比如:kaggle里面的数据分析竞赛,UIC的机器学习数据集,ImageNet,动作识别数据集(详见介绍文章:数据科学 | 动作识别数据集简介),以及郑宇博士的城市计算数据集等,更有如何构建机器学习数据集的讨论(见文章:数据科学 | 如何有效的利用和自建机器学习数据集)。可见数据集开源乃至代码开源已经是CS领域的一大风气,同时这种风气也给整个社区带来前所未有的活力,研究成果也得以快速的发展。而且,这种开源并没有带给研究人员明显的损失,反而给这些开源的研究人员带来了更多的关注和发展的机会。
对于运筹学来说,数据集和代码的开源资源少的原因有很多,原因之一就是运筹学目前还比较小众,这里有一篇文章简单分析了其中的原因(主编推荐 | 为何国内对运筹学的认识普遍比较低?),感兴趣的同学可以看一看。但是,尽管目前OR领域的数据集比较少,但是已经有一些学者致力于改变这一现状,这里就有一项新的data & code policy (https://pubsonline.informs.org/page/mnsc/datapolicy)
希望星星之火可以带动整个行业的转变,使研究更加快速,开放。
上述的文章可以进入「运筹OR帷幄」微信公众号进行搜索查看。