sti*_*eta 25 algorithm scheduling genetic-programming genetic-algorithm
我正在编写一个带有困难编程问题的调度程序.有几个事件,每个事件都有多个会议时间.我需要找到会议时间的安排,以便每个时间表包含任何给定事件一次,使用每个事件的多个会议时间之一.
显然我可以使用蛮力,但这很少是最好的解决方案.我猜这是一个相对基本的计算机科学问题,一旦我开始学习计算机科学课程,我就会学到这些问题.与此同时,我更喜欢任何我可以阅读的链接,甚至只是我可以谷歌的名字.
做这件事有很多种方法
一种方法是进行约束编程.这是feanor建议的动态编程的一个特例.使用可以为您进行边界和分支的专用库是很有帮助的.(Google用于"gecode"或"comet-online"查找库)
如果您在数学上倾向于那么您也可以使用整数编程来解决问题.这里的基本思想是将您的问题转化为一组线性不等式.(谷歌为"整数编程安排"找到许多现实生活中的例子,谷歌为"Abacus COIN-OR"找到一个有用的库)
我的猜测是约束编程是最简单的方法,但如果你想在某些时候在你的问题中包含实变量,那么整数编程很有用.