Beispiel #1
0
    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
Beispiel #2
0
 def time_netlib_presolve(self, meth, prob):
     _presolve(self.lp_cleaned, rr=False, rr_method=None, tol=1e-9)