Я пытаюсь преобразовать некоторый код из чистого CPLEX в CVXPY с помощью решателя CPLEX.Исходный код выглядит следующим образом:
p = cplex.Cplex()
p.objective.set_sense(p.objective.sense.maximize)
obj = np.zeros(numCols)
for i in range(numSamples):
if labels[i] == 0:
for b in range(numBuckets):
obj[zv_ + b*numSamples + i] = C
else:
for b in range(numBuckets):
obj[zv_ + numBuckets*numSamples + b*numSamples + i] = 1
p.linear_constraints.add(rhs=rhs,senses=senses)
p.linear_constraints.set_names(zip(range(constraint_cnt),cnames))
lb = np.zeros(numCols)
ub = np.ones(numCols)
p.variables.add(obj = obj, lb = lb, ub = ub, columns=cols, types=types, names=names)
p.parameters.timelimit.set(maxtime)
p.solve()
sol = p.solution
Это моя попытка конвертировать его в синтаксис CVXPY:
import cvxpy as cp
obj = np.zeros(numCols)
for i in range(numSamples):
if labels[i] == 0:
for b in range(numBuckets):
obj[zv_ + b*numSamples + i] = C
else:
for b in range(numBuckets):
obj[zv_ + numBuckets*numSamples + b*numSamples + i] = 1
objective = cp.Maximize(sum(obj))
Что меня очень смущает, так это то, что CPLEX определяет rhs', а также "чувства".Что это должно быть?