Docker或AWS上的组合优化问题

时间:2018-05-24 01:19:25

标签: amazon-web-services docker machine-learning mathematical-optimization genetic-algorithm

我正在攻击类似于多背包问题的组合优化问题。问题有一个最佳的解决方案,我宁愿不满足于近似的解决方案。

是否有关于组合优化解决方案的快速原型设计和部署的推荐教程(适用于同样是大数据新手的高级软件工程师)?我想快速从原型到部署到docker集群或AWS。

我的背景是分布式系统(专注于.NET,java,kafka,docker容器等等),因此我通常倾向于通过跨机器集群的并行处理来解决复杂问题(通过在docker集群或AWS上进行扩展。然而,由于问题空间太大(大约100 ^ 1000种组合是可能的),因此不能以强力方式解决该特定问题。

我对“大数据”的经验有限,但我正在研究背包求解器,遗传算法,强化学习以及其他一些AI / ML方法。鉴于我在这方面的曝光率有限,我怎么建议我解决这个问题?

  1. 我倾向于采用尽可能多地利用现有框架/库的方法。好主意?或者,是否会建议使用Accord.Net或ML.Net或其他库来构建自定义模型?
  2. 如果现有的框架是可行的,那么任何特定的收藏? tensorflow?关于Google OR工具的任何想法:https://developers.google.com/optimization/ AWS空间中的任何内容?
  3. 任何可以让我快速进行原型制作的优秀教程,视频或播客? (请记住我在docker集群上部署和验证模型的目标)
  4. 感谢您的帮助和指导!

2 个答案:

答案 0 :(得分:1)

OptaPlanner中的Cloud Balancing problem(开源,java)是一个多背包问题。用户指南中有一个教程。许多用户在Docker(常规打开的JDK 8映像)和AWS上运行OptaPlanner实现。部署到OpenShift Dedicated的Here's an Employee Rostering implementation(生成在AWS上运行的docker镜像) - 它暴露了一个REST api(甚至是Swagger记录的)。

答案 1 :(得分:0)

感谢所有您的见解。我正在研究optaplanner和google-OT,以及其他一些求解器。

要跟进这个问题,如果我放松了我想要最佳答案的约束,并允许“近似”解决方案,这会以任何方式改变您的指导或推荐的工具集(库/框架)吗?