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

如何使用PuLP实现符合特定权重模式的最大化目标函数

解决方案

首先默认你存储卡车重量、容积参数的数组为truck_params,索引和lp_trucks_items的卡车索引一一对应,即truck_params[truck_idx] = [重量上限, 容积上限],比如你举的例子对应truck_params = [[2000,30], [3000,100]]。
直接使用如下代码构建目标函数即可:

obj_expr = 0
for truck_idx, truck_item_vars in enumerate(lp_trucks_items):
    max_weight, max_volume = truck_params[truck_idx]
    # 计算当前卡车所有装载物品变量的总和
    truck_load_sum = lpSum(truck_item_vars.values())
    # 按规则累加目标项
    obj_expr += truck_load_sum / max_weight
    obj_expr += truck_load_sum / max_volume

# 将构建好的目标函数加入规划问题
prob += obj_expr

如果需要保持和你原有遍历df_items的逻辑兼容,也可以将truck_load_sum替换为以下写法,运行效果无差异:

truck_load_sum = lpSum([truck_item_vars[item['name']] for _, item in df_items.iterrows()])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:15:02