- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设给定一个集合 A = {1, 2, ..., m} 和一个集合 B = {1 , 2, ..., n},这样集合A中的每个元素都必须分配给B中的某个元素>。集合 A 中的每个元素 i 和集合 B 中的每个元素 j 的以下参数是已知的:
对于每个固定的i,tij、Tij的所有值>(对于所有 j)是不同的。 m和n为大于0的整数,其他变量为非负实数。
A 中的元素根据它们的偏好tij(或Tij)。例如,如果 tij <tik(首选项 Tij 或 Tik 可以在任何情况下使用,进一步阅读),然后元素 i 将被分配给 j 而不是 k。在 mn 个偏好中,恰好有 r 个必须使用 Tij 的值作为偏好值,剩下的 mn - r 必须使用 tij 的值(比 Tij)。
如果将元素 i 分配给元素 j,则将成本 Sij 添加到分配给元素 j 的总成本,即 Cj = Cj + Sij。设Max是所有成本Cj中的最大值,Min是所有成本C<中的最小值sub>j。目标是选择分配元素 i 到元素 j 的哪些偏好将取 Tij 的值,以及哪些首选项将采用 tij 的值,这样的值:
我认为有一些动态规划算法,但我不确定。有谁知道如何通过 DP 方法或任何其他方法解决这个问题?然而,它可能不是多项式,但我认为它是。
示例。令m = 3,n = 2,即A = {1, 2, 3} 和 B = {1, 2, 3}。设 r = 2,矩阵 S、t 和 T 为
|5 9| |1 3| |10 7|
S = |7 1|, t = |4 2|, T = | 5 4|.
|8 4| |3 4| | 9 12|
在最小化 Max 值的情况下,解等于 5。可以构建类似的示例来最小化 Max - Min。
最佳答案
问题是 NP-hard,可以通过减少 Partition 来证明。给它。
假设我们有一个算法 M 可以最优地解决您的问题。
我们得到一个分区实例 X = {x1, x2, ..., x m} 并希望找到将 S 划分为具有最小和差的两个子集。让我们定义 n = 2, Sij = xi, tij = -j, Tij> = j。现在我们只是迭代所有可能的 r 并将 M 作为子例程调用以找到 Max 的全局最小值。我们可以证明导致最小 Max 的分配是 X 的最佳 2 分区。
由于您使用的不是整数成本而是实际成本,并且您的问题对于 n > 2 可能会变得更难(我们还可以将 Bin packing 减少为 n 以直接的方式解决您的问题),除非 P = NP,否则您的问题似乎不太可能存在伪多项式解。您应该考虑使用启发式方法来获得良好的近似解。一个好的起点是查看 Bin packing 的近似方案,并尝试使它们适应您的问题。也许一个简单的首次适应方法就足以满足您的需求。还有两件事你应该记住:
关于algorithm - 这有多项式算法吗?可能是动态规划方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22137498/
我正在创建我的第一个 WAR 文件。我一直在试验 ant buildfile 语法,我的 buildfile 的第一部分从我的 Eclipse 项目中获取内容并将其放入 /dist 文件夹中,然后将其
我是一名学习 SQL 和 PHP 的学生,我接到了一项任务,要使用 PHP 和 mySQLi 创建学生反馈表,我真的一直在思考如何为项目设计数据库! 我正在创建一个系统,用户可以在其中登录网页,如果用
这个问题在这里已经有了答案: Is it possbile to test for expected errors when the testee exits with failure using
我目前正在设计和开发一个 Web 应用程序,该应用程序有可能快速增长。我将提供一些一般信息,然后继续我的问题。我会说我是一名中级网络程序员。 以下是一些规范:MySQL - 数据库后端PHP - 用于
我不知何故无法在我的日志解析器应用程序中实现报告功能。 这是我目前所做的: 我正在编写一个应用程序,它读取日志文件并在字符串中搜索可以在用户配置文件中定义的多个正则表达式。对于从配置中解析的每个所谓的
我有兴趣学习如何在多开发团队场景中设计/规划 Web 应用程序开发。 假设“项目经理/负责人”的角色: 成功的 Web 应用程序开发需要哪些“文档”? 需要什么 UML 图,需要什么程度? 在设计/计
table a (t_a): id name last first email state country 0 sklass klass steve
我们建立了一个广泛使用 JQuery UI 的 AJAX 网站。我们有 30 多个自制的 JQuery UI 小部件(动态加载)。我们到处都使用 JQuery native 小部件:对话框、 slid
我是一名优秀的程序员,十分优秀!