我正在尝试使用IBM Cplex Python API解决以下形式的矩阵二次编程问题:
最小化Z'Z, Z = AM-M,Z'表示Z的转置。
其中A的尺寸为nxn,M的尺寸为nx1,Z的尺寸为nx1。这是一个矩阵二次规划问题,因为变量在矩阵A中(而不是向量中)。对于这个问题,我正在研究n大约100,000。我知道A中零项的位置,我试图估计非零项。我希望Cplex估算大约350,000个非零条目。
以下是说明问题的示例:
A = [[a11,a12,0],[0,a22,0],[a31,a32,a33]] M = [1,2,3]
我想使用Python将问题写入LP文件,然后调用Cplex从其Python API解决问题。 Cplex documentation确实解释了如何为标准的二次编程问题编写LP文件,其中未知数可以表示为向量。我想知道如何为我正在解决的Matrix编程问题编写LP文件。