18 public static void main(String[] args) {
24 File workingDirectory =
new File(System.getProperty(
"user.dir"),
"Transport5");
25 workingDirectory.mkdir();
36 double[] bmultlist =
new double[] { 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3 };
39 for(
double b : bmultlist)
41 t5 = ws.
addJobFromString(
"bmult=" + b +
"; solve transport min z use lp; ms=transport.modelstat; ss=transport.solvestat;", cp);
44 System.out.println(
"Scenario bmult=" + b +
":");
45 System.out.println(
" Modelstatus: " + GAMSGlobals.ModelStat.lookup( (
int) t5.
OutDB().
getParameter(
"ms").findRecord().getValue() ));
46 System.out.println(
" Solvestatus: " + GAMSGlobals.SolveStat.lookup( (
int)t5.
OutDB().
getParameter(
"ss").findRecord().getValue() ));
47 System.out.println(
" Obj: " + t5.
OutDB().
getVariable(
"z").findRecord().getLevel());
54 " i canning plants / seattle, san-diego / \n"+
55 " j markets / new-york, chicago, topeka / ; \n"+
59 " a(i) capacity of plant i in cases \n"+
61 " san-diego 600 / \n"+
63 " b(j) demand at market j in cases \n"+
68 "Table d(i,j) distance in thousands of miles \n"+
69 " new-york chicago topeka \n"+
70 " seattle 2.5 1.7 1.8 \n"+
71 " san-diego 2.5 1.8 1.4 ; \n"+
73 "Scalar f freight in dollars per case per thousand miles /90/ ;\n"+
74 "Scalar bmult demand multiplier /1/; \n"+
76 "Parameter c(i,j) transport cost in thousands of dollars per case ; \n"+
78 " c(i,j) = f * d(i,j) / 1000 ; \n"+
81 " x(i,j) shipment quantities in cases \n"+
82 " z total transportation costs in thousands of dollars ; \n"+
84 "Positive Variable x ; \n"+
87 " cost define objective function \n"+
88 " supply(i) observe supply limit at plant i \n"+
89 " demand(j) satisfy demand at market j ; \n"+
91 "cost .. z =e= sum((i,j), c(i,j)*x(i,j)) ; \n"+
93 "supply(i) .. sum(j, x(i,j)) =l= a(i) ; \n"+
95 "demand(j) .. sum(i, x(i,j)) =g= bmult*b(j) ; \n"+
97 "Model transport /all/ ; \n"+
98 "Scalar ms 'model status', ss 'solve status'; \n";