Optimization 如何对优化问题(在IDE中)和求解器实施定制的启发式?

Optimization 如何对优化问题(在IDE中)和求解器实施定制的启发式?,optimization,solver,heuristics,integer-programming,minizinc,Optimization,Solver,Heuristics,Integer Programming,Minizinc,我读过几篇文章,这些文章描述了在各种路由问题中使用启发式算法,从而加快了所用解算器(如Gecode、CBC)的运行时间。例如,在CPLEX/Minizing IDE中,我们有一个车辆路径问题(VRP)的约束问题,一个包含车辆需要到达的位置的数据文件(Minizing中的(.dzn文件)。然后,作者在这些论文中实现了各种路由启发式算法,以获得每个约束模型的解决方案(可能不是最优的) 因此,我的问题是,如何实现启发式(可以定制为您设计的、没有内置于he解算器的启发式)?启发式是在另一个IDE中完成的

我读过几篇文章,这些文章描述了在各种路由问题中使用启发式算法,从而加快了所用解算器(如Gecode、CBC)的运行时间。例如,在CPLEX/Minizing IDE中,我们有一个车辆路径问题(VRP)的约束问题,一个包含车辆需要到达的位置的数据文件(Minizing中的(.dzn文件)。然后,作者在这些论文中实现了各种路由启发式算法,以获得每个约束模型的解决方案(可能不是最优的)

因此,我的问题是,如何实现启发式(可以定制为您设计的、没有内置于he解算器的启发式)?启发式是在另一个IDE中完成的吗


我一直在浏览在线文献,但还没有发现这实际上是如何做到的,特别是对于Minizing和Cplex的案例,比如Gecode解算器。如果能在这个问题上分享一些见解就太好了!:)

通常在一些编程语言中。如中所述,它们只是代码,而不是用用于线性规划的IDE编写的。我提出的大多数启发式方法都是用Python编写/原型化的(PyCharm作为IDE),但任何语言都可以很容易地使用。然后,这些启发式的输出可以用于热启动ILP解决方案(我不知道Minizing,但CPLEX允许您非常轻松地执行此操作)。我主要使用,之后,将我的启发式输出集成到CPLEX模型实际上非常容易。对热启动进行了解释,但可能并不总是可行。@N.Wouda抱歉,但要澄清的是,“启发式输出”是否意味着,例如,对于分配给每辆车的路线问题(订单批处理),如果最初使用分配启发式,然后,以分配给每辆车的形式的启发式输出将被插入到路线模型中?是的,它(通常,但不总是)是解决问题的另一种方法。请注意,有时它也可以解决部分问题,这些是部分启发式。解算器用于线性规划/最佳解决方案-启发式可以用任何编程语言编写。我不知道任何直接的东西,但在或中的大多数论文都涉及这两步过程。我想请你阅读出版物。我在快速搜索github的代码时遇到的一个问题是(和)。