簡體   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