日期:2014-05-20  浏览次数:20667 次

急!java编程涉及列表问题
想请高手帮我解决一个java编程遇到的问题,比如有Input数据若干 形式如下 task 1 : 6 26 7 22 A B
 task 2 :7 46 8 42 A B task 3 :19 42 20 36 A C task 4 :6 50 7 58 B A 等

现在有若个个worker分配到这些task 每个worker是一个task的list 但是为了寻求最少的worker所以需要对这些worker中的task进行优化处理,比如交换他们中的task 删除其中一个 加入到另外一个worker上去等。在完成这些操作的时候,需要满足两个条件,就是时间上不冲突 和 空间上的一致。 时间上不冲突 就比如说 task 1 : 6 26 7 22 A B 其中表示是6点26分到 7点22 就是如果worker1如果分配到这个任务,那么和这段时间有冲突的任务是不能分配给 worker1的, 另外就是空间约束,就是说如果一个worker分配到三个任务,那么里面的任务按照时间关系 需要满足task i的终点站需要和 task i+1 的起始站一致。比如task 3 :19 42 20 36 A C 和 task 4 :6 50 7 58 B A 就是满足条件的,所以我的问题是 如何写这个约束? 非常感谢

------解决方案--------------------
虽然看着有点乱,但楼主意思应该就是这样:
提供一个方法,方法可以对task进行增删操作。
操作的时候需要有一些判断,比如两个任务在时间上不能冲突(重叠);后一个任务开始时间要是前一个任务的结束时间。

是这样吗?把思路整清楚,这个方法不难写吧。