所以,我有3个数据集如下,费用数据:
Vcost
Out[325]:
P1 P2 P3
Vendors\Product List
V1 0.204403 0.208178 0.198216
V2 0.220126 0.213755 0.198991
V3 0.204403 0.191450 0.203258
风险数据:
Vrisk
Out[326]:
P1 P2 P3
Vendors\Product List
V1 0.198598 0.210145 0.198157
V2 0.172897 0.178744 0.193548
V3 0.219626 0.200483 0.205069
决策变量的数据:
Vdecision
Out[327]:
P1 P2 P3
Vendors\Product List
V1 a b c
V2 f g h
V3 k l m
我的目标是最小化0.71 *成本* X + 0.29 *风险* X经受行求和和决策变量矩阵的列求和的约束。 所以基本上客观机能的研究将是这样的:
0.71*(0.204*a+0.208*b+0.198*c....+0.203*m) + 0.29*(0.198*a+0.210*b+0.198*c....+0.205*m)
我试图用指腹模块定义的函数为:
prob = LpProblem("Inventory Optimization", LpMinimize)
prob += lpSum([0.71*i*x for i,x in zip(Vcost.values,Vdecision.values) + 0.29*j*x for j,x in zip(Vrisk.values,Vdecision.values)])
但我发现了以下错误:
TypeError: can't multiply sequence by non-int of type 'float'
有人可以帮我制定的目标函数吗?