[英]gurobi milp model to maximize npv
我正在嘗試使用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)
如果這是對此類問題建模的正確方法,則下一步是添加約束,使其僅在單個時間段內使用某個項目。
quicksum()
計算線性表達式; 您需要將嵌套表達式轉換為單個線性表達式。 您可以通過計算系數值來實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.