Exemple #1
0
 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
Exemple #2
0
 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()
Exemple #3
0
 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()
Exemple #4
0
 def __init__(self, code, name):
     Decoder.__init__(self, code, name)
Exemple #5
0
 def setStats(self, stats):
     if 'CPLEX nodes' not in stats:
         stats['CPLEX nodes'] = 0
     Decoder.setStats(self, stats)
Exemple #6
0
 def setLLRs(self, llrs, sent=None):
     from gurobimh import LinExpr
     self.model.setObjective(LinExpr(llrs, self.xlist))
     Decoder.setLLRs(self, llrs, sent)
Exemple #7
0
 def __init__(self, code, name="ADMM"):
     Decoder.__init__(self, code, name)
Exemple #8
0
 def setLLRs(self, llrs, sent=None):
     from gurobimh import LinExpr
     self.model.setObjective(LinExpr(llrs, self.xlist))
     Decoder.setLLRs(self, llrs, sent)