Using the GLPK API with Java is tedious and not intuitive.
I just published on
http://www.xypron.de/projects/linopt/
a wrapper which provides a much more natural interface.
With the wrapper you can access each row and column by a name and
any number of indices.
This is how columns are created:
Problem p = new Problem().
setName("Cutting Stock");
// x(i,j) : x pieces of product j are cut from stock i
for (int i = 0; i < stock.length; i++) {
for (int j = 0; j < product.length; j++) {
p.column("x", i, j).
type(Problem.ColumnType.INTEGER).
bounds(0., null);
}
}
Creating and populating rows looks like this:
// demand(j) = sum( x(i,j) )
for (int j = 0; j < product.length; j++) {
p.row("demand", j).
bounds(demand[j], demand[j]);
for (int i = 0; i < stock.length; i++) {
p.row("demand", j).
add(1., "x", i, j);
}
}
You may download the code with
svn checkout http://www.xypron.de/svn/linopt/ linopt
or use my Maven repository.
Best regards
Xypron
--
Follow me at http://twitter.com/#!/xypron
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk