【问题标题】:gurobi milp model to maximize npv最大化 npv 的 gurobi milp 模型
【发布时间】:2016-12-05 12:45:50
【问题描述】:

我正在尝试使用 gurobi MILP 模拟一个简单的库存最大化收入 但是我一直在为如何编写净现值最大化的目标函数而烦恼。

一个数组 A=np.random.randint(100,1500,100) 是库存中每 100 件物品的价值

from gurobipy import *

val=A

m = Model()
n = len(val) # number of items

# Indicator variable for each item
x = {}
for i in range(n):
    x[i] = m.addVar(vtype=GRB.BINARY, name="x%d" % i)
#Indicator variable for each period of operation
prd={}
for u in range(7):
    prd[u]=m.addVar(vtype=GRB.BINARY name="prd%d" % u)

m.update()

# Set objective
m.setObjective((quicksum((quicksum((val[i])*x[i] for i in range(n)))/(1+0.1**(u+1)))*prd[u] for u in range(7))), GRB.MAXIMIZE)

如果这是对此类问题进行建模的正确方法,那么下一步就是添加约束以在单个时间段内仅使用一个项目。

【问题讨论】:

    标签: python optimization gurobi


    【解决方案1】:

    quicksum() 计算线性表达式;您需要将嵌套表达式转换为单个线性表达式。您可以通过计算系数值来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 2016-09-15
      • 2020-04-05
      • 1970-01-01
      • 1970-01-01
      • 2017-07-31
      相关资源
      最近更新 更多