def __init__(self, code, name, cplexParams=None): Decoder.__init__(self, code, name) if cplexParams is None: cplexParams = {} self.cplex = self.createCplex(**cplexParams) self.cplex.objective.set_sense(self.cplex.objective.sense.minimize) self.x = ['x' + str(num) for num in range(code.blocklength)] self.cplex.variables.add(types=['B'] * code.blocklength, names=self.x) self.callback = self.cplex.register_callback(ShortcutCallback) self.callback.decoder = self
def __init__(self, code, name, gurobiParams=None, gurobiVersion=None, integer=True): Decoder.__init__(self, code, name) if gurobiParams is None: gurobiParams = {} self.model = createModel(name, gurobiVersion, **gurobiParams) self.grbParams = gurobiParams.copy() from gurobimh import GRB vt = GRB.BINARY if integer else GRB.CONTINUOUS self.x = OrderedDict() for i in range(code.blocklength): for k in range(1, code.q): self.x[i, k] = self.model.addVar(0, 1, vtype=vt, name='x{},{}'.format(i, k)) self.xlist = list(self.x.values()) self.model.update()
def __init__(self, code, name): Decoder.__init__(self, code, name)
def __init__(self, code, name="ADMM"): Decoder.__init__(self, code, name)