Hello World example for SimplexSolver

I am trying to solve a optimization problem using Apache Commons. I found a "Hello World" example here for Commons Math 2. But, I would like to use Commons Math 3.2 and I couldn't find any example on how to use this part of the code:

PointValuePair solution = null; SimplexSolver solver = new SimplexSolver(); solution = solver.optimize(optData); 

Specificaly, I don't know what is optData and where I put the constraints. I would appreciate if someone indicate me one "Hello World" example of how to use the org.apache.commons.math3.optim library.

1 Answer

This worked for me:

My version for max cx : Ax <= b, x >= 0. Maybe not "hello world" but I hope it helps:

 LinearObjectiveFunction f = new LinearObjectiveFunction(c, 0); Collection<LinearConstraint> constraints = new ArrayList<LinearConstraint>(); for(int i=0; i<A.length; i++) { double[] Av = new double[A[i].length]; for(int j=0; j<A[i].length; j++) { Av[j] = A[i][j]; } constraints.add(new LinearConstraint(Av, Relationship.LEQ, b[i])); } SimplexSolver solver = new SimplexSolver(); PointValuePair optSolution = solver.optimize(new MaxIter(100), f, new LinearConstraintSet(constraints), GoalType.MAXIMIZE, new NonNegativeConstraint(true)); double[] solution; solution = optSolution.getPoint(); 
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like