def __add_function_objective(self): objective = [] news_costs = multiply_vector_by_matrix(self.dual_lagrangean, self.columns) for i in xrange(self.num_variables): objective.append((self.names_variables[i], self.costs[i] - news_costs[i])) sum_dual_lagrangean = 0 for i in self.dual_lagrangean: sum_dual_lagrangean += i objective.append(('pi', sum_dual_lagrangean)) self.c.objective.set_linear(objective) self.c.objective.set_sense(self.c.objective.sense.minimize)
def test_multiply_vector_by_matrix(self): columns = [[1,0,1,0], [0,1,1,0],[1,0,1,1],[0,1,0,0],[0,1,0,1],[1,0,0,0]] vector = [2, 2, 2, 2] result = [4, 4, 6, 2, 4, 2] self.assertEqual(result, multiply_vector_by_matrix(vector, columns))