卖家买家群体货物匹配:最大化交易量的高效算法问询
货物交易匹配算法优化需求
现有卖家(生产者)列表与买家(消费者)列表,列表中每个元素为元组,首元素是用户索引(用于唯一识别用户),第二个元素是用户意愿出售/购买的货物量。支持用户与多方进行交易,目标是找到可最大化货物交易量的高效算法。
我已经实现了一种简易算法:在至少一方列表非空时循环执行,按货物量排序后逐一匹配,代码如下:
while producers and consumers: consumer = consumers[0] producer = producers[0] amount = min(consumer['consuming'], producer['producing']) transfer(consumer, producer, amount) consumer['consuming'] -= amount producer['producing'] -= amount if not producer['producing']: del producers[0] if not consumer['consuming']: del consumers[0] else: consumers.append(consumer) del consumers[0]
当前需求:在保证最大化货物转移量的前提下,尽可能缩短算法的运行时间。
内容的提问来源于stack exchange,提问作者Hugo Hazard
相关产品推荐
相关产品推荐

