def primal(self): if self.problem is not None: if self.problem._glpk_is_mip(): primal_from_solver = glp_mip_row_val(self.problem.problem, self._index) else: primal_from_solver = glp_get_row_prim(self.problem.problem, self._index) # return self._round_primal_to_bounds(primal_from_solver) # Test assertions fail return primal_from_solver else: return None
def constraint_values(self): dual_values = collections.OrderedDict() is_mip = self._glpk_is_mip() for index, constraint in enumerate(self.constraints): if is_mip: value = glp_mip_row_val(self.problem, index + 1) else: value = glp_get_row_prim(self.problem, index + 1) dual_values[constraint.name] = value return dual_values
def get_rates(problem: SwigPyObject) -> Iterable[Tuple[str, float]]: for i in range(1, 1 + lp.glp_get_num_rows(problem)): yield ( lp.glp_get_row_name(problem, i), lp.glp_mip_row_val(problem, i) / 100, )