diff --git a/ortools/linear_solver/python/linear_solver.i b/ortools/linear_solver/python/linear_solver.i index fbebaa1deb..c73d11807c 100644 --- a/ortools/linear_solver/python/linear_solver.i +++ b/ortools/linear_solver/python/linear_solver.i @@ -359,6 +359,7 @@ PY_CONVERT(MPVariable); %unignore operations_research::MPSolver::NumVariables; %unignore operations_research::MPSolver::EnableOutput; // No unit test %unignore operations_research::MPSolver::SuppressOutput; // No unit test +%rename (IsMip) operations_research::MPSolver::IsMIP; %rename (LookupConstraint) operations_research::MPSolver::LookupConstraintOrNull; %rename (LookupVariable) operations_research::MPSolver::LookupVariableOrNull; diff --git a/ortools/linear_solver/python/lp_test.py b/ortools/linear_solver/python/lp_test.py index 4b05bbc163..383a1604ec 100755 --- a/ortools/linear_solver/python/lp_test.py +++ b/ortools/linear_solver/python/lp_test.py @@ -158,15 +158,16 @@ class PyWrapLpTest(unittest.TestCase): print('Advanced usage:') print(('Problem solved in %d iterations' % solver.iterations())) - for variable in variable_list: - print(('%s: reduced cost = %f' % (variable.name(), + if not solver.IsMip(): + for variable in variable_list: + print(('%s: reduced cost = %f' % (variable.name(), variable.reduced_cost()))) - activities = solver.ComputeConstraintActivities() - for i, constraint in enumerate(constraint_list): - print( - ('constraint %d: dual value = %f\n' - ' activity = %f' % - (i, constraint.dual_value(), activities[constraint.index()]))) + activities = solver.ComputeConstraintActivities() + for i, constraint in enumerate(constraint_list): + print( + ('constraint %d: dual value = %f\n' + ' activity = %f' % + (i, constraint.dual_value(), activities[constraint.index()]))) def testApi(self): print('testApi', flush=True)