You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用同一物品组完美填充两个分数背包并实现最低成本?

双背包分数填充优化问题

问题设定

  • 两个背包分别为 Knapsack A 和 Knapsack B,各自有固定的最大容量限制。
  • 存在多类可重复取用的物品,每类物品具备三个属性:
    • price:物品的单位价格
    • X:取用单位物品时占用Knapsack A的容量
    • Y:取用单位物品时占用Knapsack B的容量

核心逻辑示例

示例仅展示物品取用后的容量变化逻辑,非解决方案

Knapsack A
    capacity: 10
Knapsack B
    capacity: 20

items:
Item 1
    price: 10
    X: 3
    Y: 9

取用Item 1后,背包状态更新为:

Knapsack A 
    remaining capacity: 7 (capacity of A - X of item 1)
Knapsack B
    remaining capacity: 11 (capacity of B - Y of item 1)

此时需支付10单位费用(即Item 1的price)。

需求目标

寻找最优物品组合,满足以下条件:

  • 可无限次取用任意类物品,也可取用物品的部分份额(此时X、Y、price均按对应比例折算)
  • 必须完美填满两个背包的全部容量
  • 最终的总成本最低

求助点

尝试修改传统分数背包算法来解决该问题,但不清楚需要调整哪些核心逻辑,特此寻求帮助。

内容的提问来源于stack exchange,提问作者adamsass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 23:18:30