Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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_Resources_Trading - Fatal编程技术网

Algorithm 资源交易算法

Algorithm 资源交易算法,algorithm,optimization,resources,trading,Algorithm,Optimization,Resources,Trading,我正试图找到以下问题的最佳算法解决方案。这是一个真实的问题,但我将以一种抽象的方式来描述它 有一个1000人的社区。向每个用户提供一组票证。有四种类型的门票,每种门票对应不同的活动。然而,有些人愿意做交易,例如,我想要一张A票,我愿意放弃两张B票。此外,有些人有额外的票,他们愿意免费赠送。例如,我会赠送两张C票给任何想要的人。假设我知道每个人愿意赠送/交易什么,我如何满足最多的人 我尝试过谷歌搜索,但我不知道如何用词来形容这个问题,以避免得到与金融工具算法交易相关的结果 谢谢。考虑到它有多个维度

我正试图找到以下问题的最佳算法解决方案。这是一个真实的问题,但我将以一种抽象的方式来描述它

有一个1000人的社区。向每个用户提供一组票证。有四种类型的门票,每种门票对应不同的活动。然而,有些人愿意做交易,例如,我想要一张A票,我愿意放弃两张B票。此外,有些人有额外的票,他们愿意免费赠送。例如,我会赠送两张C票给任何想要的人。假设我知道每个人愿意赠送/交易什么,我如何满足最多的人

我尝试过谷歌搜索,但我不知道如何用词来形容这个问题,以避免得到与金融工具算法交易相关的结果


谢谢。

考虑到它有多个维度,它很可能是一个NP完全问题。它类似于一个多维背包问题

因此,我建议尝试回溯方法

从参与交易的每个人开始

对造成赤字最多的人进行排序。在这里,您可以根据每张票中的差额来权衡每种票类型造成的赤字

然后以回溯的方式,将导致下一个最高赤字的人踢出交易

重复这个步骤,直到你们们在任何票证记录中都并没有赤字,或者你们们把所有人都踢出去

当这种情况发生时,回溯1步并继续,如果你已经尝试踢出最高的赤字,踢出下一个造成赤字的最高的人

重复,直到结束,否则你的时间不够了。从你找到的可能答案中找出最佳答案

如果问题太难,它可能会用光时间。否则,这个算法会给你一个合理的答案,也许接近最优


这种方法的效果取决于人们有多慷慨/贪婪,有多少人,以及你的计算机有多快。

寻找一个二部最小重量匹配问题。其思想是使用顶点1找到从i到j的最短距离。。仅限k。

您需要定义“满足”。如果人们至少有{A,B,C,D}的某个子集的票或者每种类型至少有一定数量的票,他们会满意吗?另外,如果一个人愿意放弃或交易,而你不能让他满意,那么他是否仍然愿意放弃罚单?这个算法没有足够好的定义。你不会说满足一个人意味着什么,他们是否从一种以上的票开始,等等。我建议编辑这个问题;否则它可能很快就要关门了。说得好。所以,当一个人最终得到他或她想要的数量和类型的确切门票时,他或她会感到满意。那些不想做任何交易或愿意出票的人总是被认为是满意的。注意到了第二个问题。因此,一个人只有在他或她对交易感到满意的情况下才愿意进行交易。当我在搜索关键词中添加易货时,我开始收集肾脏交易的文件,这至少不是金融工具。这看起来是个难题。其中一篇论文说,组合拍卖的研究对他们不太适用——也许对你适用。谢谢!特别是关于背包的问题。谢谢,我也会调查的。