祝所有Optaplanner用户新年快乐,
我们有计划旅游的要求。这些旅游包括链式和时间加窗的活动(交付)执行的每周变化的卡车数量。
一次旅行的开始时间可能不同,取决于几种条件(即,必须在旅游开始之前生产出要交付的货物;只能在工厂大门同时提供数量有限的卡车;卡车必须在开始新的旅行之前返回)。方法:旅游的顺序也可能不同,卡车之间的时间间隔也可能发生。
我的设计计划是,将TourStartTime注释为Opta规划师VRPTW中的第二个规划变量,并将TourStartTime分配给2小时的时间间隔(规划时间为1周,而旅游通常不会在夜间开始;因此,上述时间序列反映了可能的旅游开始的简化日历)。
可用卡车的数量(来自外部物流公司)可能因周而异。关于这一点,我想用“无限”数量的卡车来计划。但是,每个物流公司的卡车数量,实际上可以分配交付,应该控制一个约束(即'trucks_to_be_used_in_parallel')。
有人能告诉我,如果这是一种可行的设计方法,或者我必须在哪里避免陷阱(大约每周1000次交货,每天40至80卡车)?
谢谢迈克尔
发布于 2016-01-07 12:37:53
第二个计划变量是可能的(根据您的需求,它甚至可能是最好的设计),但是它会破坏搜索空间,甚至可能需要定制的过程粒度移动才能获得很好的结果。
相反,我会首先调查卡车的TourStartTime是否可以成为一个影子变量。例如,给所有卡车一个唯一的优先级。然后让卡车的TourStartTime成为一个影子变量:卡车能够离开的最快时间。如果只有3条车道和4辆卡车想离开,那么优先级最高的3辆卡车首先离开(所以先得到原来的TourStartTime,第4辆卡车得到一辆较晚的)。
https://stackoverflow.com/questions/34651317
复制相似问题