我在目标函数中使用了一个绝对值函数,但它不起作用
set_I = range(0,data_analysis_values.shape[0])
prob = LpProblem("Deliverable 1", LpMinimize)
X = pulp.LpVariable.dicts("X", set_I, cat='Continuous')
prob += 0.5*lpSum([X[i] for i in set_I])
prob += 0.5*lpSum([lpSum([max(simulation_data_without_text[i][j]-X[i],0)for j in range(200)]) for i in set_I])/200
for i in set_I:
prob += X[i] >= 0
prob += X[i] <= data_analysis_values[i][8]
prob.solve()
solution = np.array([X[i].varValue for i in set_I])
我想对200范围内的所有j取最大模拟数据(不含[I][j]-X[I]和0),并对集合I中的所有I求和,但它不允许我这样做。有人能帮我找到另一条路吗
因此,目标是(忽略其他部分):
在附加变量y[i]的帮助下,这可以写成:
相关问题 更多 >
编程相关推荐