У меня есть этот фрагмент кода ...
model = pmo.ConcreteModel()
model.A = pmo.Set(initialize = range(7), ordered = True)
model.B = pmo.Set(initialize = range(3), ordered = True)
model.x = pmo.Var(model.A, model.B, domain=pmo.Binary, initialize = 0)
model.c_sos = pmo.SOSConstraint(var = model.x, sos = 1)
Результат такой ...
(0, 0) : 1.0
(0, 1) : -0.0
(0, 2) : -0.0
(1, 0) : -0.0
(1, 1) : -0.0
(1, 2) : -0.0
Однако я хочу, чтобы результат был таким ...
(0, 0) : 1.0
(0, 1) : -0.0
(0, 2) : -0.0
(1, 0) : 1.0
(1, 1) : -0.0
(1, 2) : -0.0
Как применить ограничение sos к каждой строке отдельно, а не применить к полной матрице?Можно ли использовать правило при настройке ограничения sos, аналогично использованию правил при установке нормальных ограничений?