繁体   English   中英

有约束的资源分配算法

[英]Resource Allocation Algorithm with Constraints

我知道有些算法可以解决我的问题,但是我在命名它和相关解决方案时遇到了问题。 这是我的问题:

  • 我的钱包里有只钱包W
  • 我有一个项目P,可以在上面花我的钱
  • 每个钱包w都有一个金额M,我只能将这笔钱花在多个项目上,并且只能用于特定金额
  • 每个项目p需要一笔资金d

目标 :最大化分配我的钱包资金,以便我可以为我的大部分项目提供资金。

同样,我宁愿让我的所有项目获得95%的资金,而不是让某些项目获得100%的资金而其他项目获得0%的资金。

因此,假设我没有足够的资金来资助我所有的项目,那么我想将要最小化的函数就是所有(d-(分配给该项目的所有资金))²的总和。

范例:

我的第一个钱包有100欧元,我可以在项目1上花费70%,在项目3上花费20%,在项目3上花费10%

我有第二个钱包200欧元,可以在项目1上花费30%,在项目2上花费50%,在项目2上花费20%。

关于我的项目:

  1. 项目1至少需要120欧元
  2. 项目2至少需要100欧元
  3. 项目3至少需要110欧元

谢谢你的帮助 !

您可以将其公式化为最大流量问题。 将源顶点连接到与钱包相对应的顶点,其中每个弧的容量就是钱包中的货币数量。 将与项目相对应的顶点连接到汇接点顶点,其中每个弧的容量就是该项目所需的资金量。 使用弧线将钱包连接到项目,这些项目的容量反映了可以从该钱包中花费的钱数。

处理分段二次目标有些棘手。 幸运的是,它是凸的,所以我敢打赌,您可以使用二次程序求解器来达到良好的效果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM