以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 算法理论与分析 』 (http://bbs.xml.org.cn/list.asp?boardid=60) ---- 麻烦大家帮我看一下这个算法该怎么弄 (http://bbs.xml.org.cn/dispbbs.asp?boardid=60&rootid=&id=86657) |
-- 作者:hhb83 -- 发布时间:9/7/2010 2:04:00 PM -- 麻烦大家帮我看一下这个算法该怎么弄 大家好,我有一个算法问题不知道该怎么解决,麻烦帮我看一下吧。假设有五个人ABCDE,每个人都有不同的10个方案1~10.其中号码越小的越好,即每个人都最喜欢自己的1号方案,但一个人的方案可能和另外一个人的方案有冲突,这样他们就不能同时选这两个方案。现在要把所有不冲突的最好的方案选出来(pareto最优解集)。举例来说,若每个人的1号方案都不冲突,则不需要往下继续;若其中B1与E1冲突,则看E2与其他1是否冲突,冲突则继续看E3、E4...,不冲突则记录下来作为一个解(此时不需要继续看E3,因为他的效果不如E2好);接下来E再选1,看B2与其他1是否冲突,同样按上面的方法选择。不过在上面E2的选择中,可能E2与B1不冲突,但与C1冲突,这时可先继续看E3等等是否冲突并记录,在将E回到2,C选C2验证。总之就是遇到冲突了就固定一个,让另一个继续往下找一个最好的,然后将另一个回到冲突点固定,原来那个往下找(即每次冲突都要让双方各找一个不冲突解)。我想要的就是这样一个不冲突的解集。 不知道我描述清楚了没有,我本来想用分枝定界(或剪枝),但也不知该怎么写,感觉逻辑上好像很麻烦,希望大家能给我提些意见,谢谢! |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
31.250ms |