0
我想用CPLEX的Python API實現一個簡單的二次程序。 CPLEX提供的示例文件qpex1討論了這一點。問題,如在qpex.lp提到是二次編程CPLEX
Maximize
obj: x1 + 2 x2 + 3 x3 + [ - 33 x1 ^2 + 12 x1 * x2 - 22 x2 ^2 + 23 x2 * x3
- 11 x3 ^2 ]/2
Subject To
c1: - x1 + x2 + x3 <= 20
c2: x1 - 3 x2 + x3 <= 30
Bounds
0 <= x1 <= 40
End
的問題,同時在python正在執行,接收它實現了目標函數的二次部分的矩陣QMAT。矩陣是:
qmat = [[[0, 1], [-33.0, 6.0]],
[[0, 1, 2], [6.0, -22.0, 11.5]],
[[1, 2], [11.5, -11.0]]]
p.objective.set_quadratic(qmat)
有人可以解釋這個矩陣的結構嗎?數據結構中正在使用的部分是什麼?什麼是組件等等。