def setup(self, meth, prob): if prob not in enabled_rr_problems: raise NotImplementedError("skipped") if (meth.__name__, prob) in self.known_fails: raise NotImplementedError("Known issues with these benchmarks.") dir_path = os.path.dirname(os.path.realpath(__file__)) datafile = os.path.join(dir_path, "linprog_benchmark_files", prob + ".npz") data = np.load(datafile, allow_pickle=True) c, A_eq, A_ub, b_ub, b_eq = (data["c"], data["A_eq"], data["A_ub"], data["b_ub"], data["b_eq"]) bounds = np.squeeze(data["bounds"]) x0 = np.zeros(c.shape) lp = _LPProblem(c, A_ub, b_ub, A_eq, b_eq, bounds, x0) lp_cleaned = _clean_inputs(lp) # rr_method is None here because we're not using RR res = _presolve(lp_cleaned, rr=False, rr_method=None, tol=1e-9)[0] self.A_eq, self.b_eq = res.A_eq, res.b_eq self.true_rank = np.linalg.matrix_rank(self.A_eq) if meth == _remove_redundancy_pivot_sparse: self.A_eq = csc_matrix(self.A_eq) self.rr_A = None
def time_netlib_presolve(self, meth, prob): _presolve(self.lp_cleaned, rr=False, rr_method=None, tol=1e-9)