LP-файл Python Cplex для задачи матричной квадратичной оптимизации - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь решить задачу матричного квадратичного программирования в следующей форме, используя IBM Cplex Python API:

свести к минимуму Z'Z, где Z = AM-M, Z 'означает транспонирование Z.

где размерность A равна nxn, размерность M равна nx1, а размерность Z равна nx1.Это проблема матричного квадратичного программирования, потому что переменные находятся в матрице A (а не в векторе).Для проблемы, над которой я работаю, около 100 000.Я знаю расположение нулевых записей в A, я пытаюсь оценить ненулевые записи.Есть около 350 000 ненулевых записей, которые я бы хотел оценить в Cplex.

Вот пример, иллюстрирующий проблему:

A = [[a11, a12, 0], [0, a22, 0], [a31, a32, a33]] M = [1,2,3]

Я хотел бы написать проблему в LP-файле с использованием Python, а затем вызвать Cplex для решения проблемыиз его Python API. Документация Cplex объясняет, как написать файл LP для стандартных задач квадратичного программирования, где неизвестные могут быть представлены в виде вектора.Я хотел бы знать, как написать файл LP для задачи программирования Matrix, над которой я работаю.

...