Я думаю, что это проблема MIQP (смешанное целочисленное квадратичное программирование) или MISOCP (смешанный целочисленный конус второго порядка):
Пусть
v(i,j) be i vectors in group j (data)
x(i,j) in {0,1}: binary decision variables
w: sum of selected vectors (decision variable)
Тогда проблему можно сформулировать так:
min ||w||
sum(i, x(i,j)) = 1 for all j
w = sum((i,j), x(i,j)*v(i,j))
Если хотите, вы можете заменить w
. На самом деле я не использую ограничение вашего угла (это ограничение для данных, а не для переменных решения модели). x
переменные выбраны так, что мы выбираем ровно один вектор из каждой группы.
Минимизация 2-нормы может быть заменена минимизацией суммы квадратов элементов (то есть минимизации квадрата нормы).
Предполагая 2-норму, это проблема MISOCP или выпуклая проблема MIQP, для которой доступно довольно много решателей. Для 1-норм и бесконечностей можно сформулировать линейную задачу МИП. Решатели MIP широко доступны.