簡體   English   中英

gurobi milp模型可最大化npv

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM