410. Hash Code Archive - Drone Delivery | hashcode-drone-delivery
大家好
我在此热烈祝贺 @spacelx 和 @Maximofn 获得第二名和第三名。
正如 @Maximofn 所做的那样,我也要感谢 @egrehbbt 的工作。正如我在我的 Notebook 中所解释的,该 Notebook 是复制了 @egrehbbt 制作的那个,并对 "get_shipment_list_analysis" 函数做了一点小修改。所以感谢他完成了大部分的工作。如果没有他的工作,我肯定无法赢得这次挑战 :)
这次修改的目的是为了约束调度开始时的货物选择,使其不要离起点太远:
y=((max_dist-first_position.distance_from(shipment.order.position)) / max_dist)
x=self.current_time
T=total_time
pdist1 = y+min(1,x/(0.55*T))*(1-y)
y=((max_dist-first_position.distance_from(previous_position.position)) / max_dist)
pdist2 = y+min(1,x/(0.55*T))*(1-y)
scaled_score = pdist1 * pdist2 * p * self.score_for_order_completed_at(
self.current_time + total_time + 1
)
加上这个微小的修改,并像 @Maximofn 那样对 "branching_factor" 和 "len(roots) test" 参数进行了一些调整,最终让我获得了第一名。
向大家问好 :)