diff --git a/04_TransportProblem.ipynb b/04_TransportProblem.ipynb index 6650e2d..ae1eef0 100644 --- a/04_TransportProblem.ipynb +++ b/04_TransportProblem.ipynb @@ -303,8 +303,11 @@ "# cost .. z =e= sum((i,j), c(i,j)*x(i,j)) ;\n", "# Model transport /all/ ;\n", "# Solve transport using lp minimizing z ;\n", + "#\n", + "# itertools.product() returns the Cartesian product of two or more iterables\n\n", + "import itertools\n", "def objective_rule(model):\n", - " return sum(model.c[i,j]*model.x[i,j] for i in model.i for j in model.j)\n", + " return sum(model.c[i,j]*model.x[i,j] for i, j in itertools.product(model.i, model.j))\n", "\n", "model.objective = Objective(rule=objective_rule, sense=minimize, doc='Define objective function')" ]