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