}
sub.addMinimize(expr, "FlowCost"); // minimize total flow cost
// constrain demand to be satisfied -- record the constraints for use later
cDemand = new IloRange[nC];
for (int j = 0; j < nC; j++) {
expr.clear();
for (int i = 0; i < nW; i++) {
expr.addTerm(1.0, ship[i][j]);
}
cDemand[j] = sub.addGe(expr, demand[j], "Demand_" + j);
rhs.put(cDemand[j], master.linearNumExpr(demand[j]));