CVXPY: эффективное написание ограничений для попарных сумм


person audioslaver756    schedule 09.01.2020    source источник


Ответы (1)


Мы можем перевести это в матричную запись:

введите здесь описание изображения

где e — векторы-столбцы всех единиц. Конечно, векторы e должны иметь соответствующий размер: каждый терм должен быть матрицей (n_i x n_j).

В CVXPY это можно записать так:

# changed into using explicit column vectors
a = cp.Variable((n_j,1), nonneg=True)
b = cp.Variable((n_i,1), nonneg=True)
g = np.random.randint(low=1, high=10, size=(n_j,1))

# column vectors of ones
e_i = np.ones((n_i,1))
e_j = np.ones((n_j,1))

# matrix style inequality
constraints = [e_i * a.T + b * e_j.T >= v] 
person Erwin Kalvelagen    schedule 10.01.2020