1
我想最小化一個函數,它將一個3x8矩陣的非負整數作爲輸入。每行指定一個變量,而每列指定系統中的某個時間點。請參閱下面的CSV格式的輸入。Python中的約束整數優化
,Time0,Time1,Time2
U_i,0,0,0
U_o,0,0,0
C_i,0,0,0
C_o,0,0,0
T_i,0,0,0
T_o,0,0,0
D_i,0,0,0
D_o,0,0,0
每列的約束條件是:
C_i + T_i >= U_i
C_o + T_o >= U_o
D_i <= 15
D_o <= 15
D_i = 0 if C_i == 0
D_o = 0 if C_o == 0
和整個行的整體約束C_i + C_o + T_i + T_o = 5
。我看過scipy.optimize,但找不到處理整數的正確方法。有人可以給我一個提示或MWE如何做到這一點?
你應該知道大多數整數規劃問題都是NP難題。而且,要被最小化的函數的形式很重要:如果它是線性的,它確實使問題更容易。 – cfh
函數的形式是非線性的,儘管我對此不太瞭解。你認爲這個問題很難得到一個好的近似解決方案嗎?對我來說,這似乎是一個相當低的參數/限制數量。 – pir
我不知道。您最好的選擇可能是獲得[Gurobi](http://www.gurobi.com/resources/getting-started/mip-basics)或CPLEX的評估許可證,並簡單地查看它是否可行。單獨參數的數量並不是解決這些問題的最重要的決定因素。 – cfh