【发布时间】:2017-11-20 18:45:21
【问题描述】:
我在 github 上有一个开源包,它使用 IBM CPLEX 作为依赖项。我还添加了使用 Gurobi Optimizer 的功能。这些是购买的软件项目,谢天谢地,它们可以免费用于学术目的。
这些是 MIP 求解器,用于优化任务:
http://www.gurobi.com/resources/getting-started/mip-basics
https://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/
https://en.wikipedia.org/wiki/Gurobi
https://en.wikipedia.org/wiki/CPLEX
构建具有这些依赖项的包的推荐方法是什么?这可能吗?
我不认为我可以在本地安装依赖项并在 Travis-CI 中构建它们,尤其是在开源包中。 Docker 可能存在类似的问题,但这涉及将您的许可证 ID 放在某个地方——但这与 Travis-CI 构建不同(尤其是在开源包中的配置文件中)。这是一个例子:https://github.com/mstrimas/docker-optimizr
这样做的方法是什么?
【问题讨论】:
-
与求解器在生成基于硬件的文件时所做的相比,我认为许可证文件的内容是一个小问题(尽管它可能需要一些加密方法来解决一些潜在的误用;也许) unique-id 并根据许可证检查它。因此,以某种方式放置许可证可能不起作用(其他硬件 ID;甚至可能根据后端更改 ID)并且使用 VPN 进行安装自动安装也有点麻烦(并且不确定是否与使用条款兼容)。
-
您不会对任何商业(许可)依赖项有这个问题吗?我想知道如果将这个问题缩小到 CPLEX 和 Gurobi,您是否会错过那些可能在一般情况下提供建议的人的潜在答案。您使用哪种编程语言(以及您使用哪种 API 连接到这些库)?
-
@rkersh 我很高兴重新编写问题
标签: github travis-ci cplex gurobi