- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有以下问题:我必须将 K 个实验分配给 N 个实验室,同时遵守一些一般约束和一些特定约束。
一般的有:
然后是具体的限制条件。由于并非所有实验室都拥有相同的设备和试剂,因此每个实验室都会有自己的一套他们不能/不能进行的实验。
在我看来,这是一个满足约束的问题。我知道它们存在,但我没有使用它们的经验。
我想知道是否有一种方法可以通过将其映射到已知图问题或存在足够好的算法的其他问题来解决此问题,或者,如果失败,是否有优化搜索的方法,如果需要被暴力破解。
谢谢!
最佳答案
其中很大一部分可以表述为最大流问题。也就是说,准备一个包含源、实验节点、实验室节点和汇的流网络。从源到每个实验节点放一条容量 R
的弧。从每个实验室节点到汇点放置一条容量 M
的弧。将容量 1
的弧从每个实验节点到每个实验室节点,以便该实验室可以执行该实验。给定一个使来自源的所有弧饱和的积分流(如果存在,这将是最大流),每个具有流的实验室到实验弧都是一个指定的实验。
这满足 1 和 2 以及哪些实验室可以执行哪些实验的具体限制。我希望您可以调整 M
以满足约束 3 和 4,但如果不能,您可以将公式扩展为更一般的整数规划,并在实验分布方面增加额外约束。
(实际上,经过深思熟虑,您可以使用更一般但仍然易于处理的问题,即在每个弧上找到具有最小值和最大值的流,并将 4 编码为实验室到汇弧的下限。)
关于algorithm - 将 M 个实验分配给 N 个实验室,同时遵守约束条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54367216/
我正在尝试使用 GEKKO 开发约束,并且需要包含一些数学运算,例如 log、coth 或 sqrt。 我最初尝试使用我的习惯程序,使用 numpy 或 mpmath,但我发现使用 GEKKO 我需要
我是一名优秀的程序员,十分优秀!