def __init__(self, clpModel, bucketSize=1): self.dim = clpModel.nConstraints + clpModel.nVariables self.clpModel = clpModel # Require extra check after leaving variable is chosen clpModel.useCustomPrimal(True) #self.banList = np.array([]) self.orgBan = np.array(self.dim * [True], np.bool) self.notBanned = self.orgBan.copy() self.complementarityList = np.arange(self.dim) #Positive-edge-related attributes self.isDegenerate = False # Create some numpy arrays here ONCE to prevent memory # allocation at each iteration self.aColumn = CyCoinIndexedVector() self.aColumn.reserve(self.dim) self.w = CyCoinIndexedVector() self.w.reserve(self.clpModel.nRows) self.rhs = np.empty(self.clpModel.nRows, dtype=np.double) self.EPSILON = 10**-7 self.lastUpdateIteration = 0 self.compCount = 0 self.nonCompCount = 0 self.compRej = 0 self.numberOfIncompSinceLastUpdate = 0 self.last_p_count = 0 self.iCounter = 0 self.iInterval = 100
def __init__(self, clpModel, EPSILON=10 ** (-7)): self.clpModel = clpModel self.dim = self.clpModel.nRows + self.clpModel.nCols self.isDegenerate = False # Create some numpy arrays here ONCE to prevent memory # allocation at each iteration self.aColumn = CyCoinIndexedVector() self.aColumn.reserve(self.dim) self.w = CyCoinIndexedVector() self.w.reserve(self.clpModel.nRows) self.rhs = np.empty(self.clpModel.nRows, dtype=np.double) self.EPSILON = EPSILON self.lastUpdateIteration = 0
def setUp(self): self.c = CyCoinIndexedVector() self.c.reserve(5)