假设我有一个有向无环图,其顶点具有实数权重。我想找到DAG的拓扑顺序,其中对于拓扑顺序的每个前缀,权重的总和为非负数。或者,如果您更喜欢顺序理论术语,则我有一个加权偏序,并且我想要一个线性扩展,这样每个前缀的权重都为非负数。对这个问题了解多少?在多项式时间内是NP完全的还是可解的?
假设我有一个有向无环图,其顶点具有实数权重。我想找到DAG的拓扑顺序,其中对于拓扑顺序的每个前缀,权重的总和为非负数。或者,如果您更喜欢顺序理论术语,则我有一个加权偏序,并且我想要一个线性扩展,这样每个前缀的权重都为非负数。对这个问题了解多少?在多项式时间内是NP完全的还是可解的?
Answers:
这个问题似乎与最小化最大累积成本的序列化(在Garey&Johnson中的问题[SS7])非常相似。以机智:
实例:Set 任务,偏序的≺上Ť中,“成本” Ç (吨)∈ ž每个吨∈ Ť(如果Ç (吨)< 0,它可以被看作是一个“利润”),和一个恒定ķ ∈ ž。
问:是否有一个处理器时间表为牛逼的是服从优先约束,并且具有这样的性质,每个任务牛逼∈ 牛逼,所有任务的成本的总和牛逼'与σ (牛逼')≤ σ (t )最多为K?
我不确定问题是否保持NP完全时固定为0 G&J提及的是,问题仍然存在NP完全如果Ç (吨)∈ { - 1 ,0 ,1 }的所有吨∈ Ť。
如果我对问题的理解正确,我认为可以将优先约束单机调度问题减至最小,以使完成时间的加权总和(1 | prec | \ sum wc)减少到您感兴趣的问题。在问题1 | prec | \ sum wc中,我们有n个作业,每个作业的权重和处理时间均为非负数,在作业上具有一定的坐姿,我们希望线性地扩展作业,以使作业完成时间的加权总和为最小化。即使我们假设每个作业的处理时间等于1,问题仍然是NP完全的。这有意义吗?
如果我们总是以最小的权重取最大的元素(按部分顺序)怎么办。耗尽元素后,我们以相反的顺序返回它们作为输出。
这个问题使我想起了很多决策树。我会考虑这种解决方案,它试图始终选择最有前途的途径,但是要看整个子图:
从接收器节点开始,朝着源的方向工作,一次一层。在执行此操作时,给每个边缘赋予权重。此权重应表示您必须“支付”的最低金额,否则您将通过从边缘指向的节点开始遍历子图来“获利”。假设我们处于i + 1级别,而我们正在上升至i级别。这就是我要为指向级别为i的节点的边缘分配权重的方法:
然后,如下构建订单:
想法是先遍历那些子图,这些子图将首先获得尽可能多的收益,以便以后能够承担负权重子图的成本。