Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 匹配部分需求量和供应量的算法_Algorithm_Optimization_Combinatorics_Knapsack Problem - Fatal编程技术网

Algorithm 匹配部分需求量和供应量的算法

Algorithm 匹配部分需求量和供应量的算法,algorithm,optimization,combinatorics,knapsack-problem,Algorithm,Optimization,Combinatorics,Knapsack Problem,问题:有一个买卖小部件的市场,小部件是可分割的(例如面粉)。在任何时间点上,S卖家可能总共有X个小部件出售,B买家可能总共有Y个小部件购买请求。系统需要持续监视,一旦需求>=供应,它就会满足尽可能多的需求,直到供应耗尽。然后它再次开始观察,继续处理剩余的需求 这个问题似乎类似于连续多背包问题,也类似于箱子装箱问题(除了我没有最小化箱子的数量),而且对我来说,它似乎类似于k-划分问题——但我需要更多关于算法的信息,或者一些伪代码来学习如何有效地做到这一点 提议的想法:将所有物品组合成一个背包,使用

问题:有一个买卖小部件的市场,小部件是可分割的(例如面粉)。在任何时间点上,S卖家可能总共有X个小部件出售,B买家可能总共有Y个小部件购买请求。系统需要持续监视,一旦需求>=供应,它就会满足尽可能多的需求,直到供应耗尽。然后它再次开始观察,继续处理剩余的需求

这个问题似乎类似于连续多背包问题,也类似于箱子装箱问题(除了我没有最小化箱子的数量),而且对我来说,它似乎类似于k-划分问题——但我需要更多关于算法的信息,或者一些伪代码来学习如何有效地做到这一点

提议的想法:将所有物品组合成一个背包,使用该背包向尽可能多的买家销售(根据单位成本,首先获得最佳报价),然后将大背包分成更小的背包(每个卖家一个)。这是最有效的方法吗


案例2:另外,如果小部件的价格都一样,我该如何处理这个问题?

恐怕这一描述还不够。我不明白为什么这些问题都是NP难的基本问题(都是离散优化问题)。看起来更像是一个简单的网络流量问题(如果达到这个复杂程度)。@sascha你知道他们说什么-如果你知道的只是一把锤子,那么一切看起来都像一颗钉子。对不起,我只熟悉那些。请您描述一下您正在谈论的网络流方法,好吗?