アットウィキロゴ

線形計画

package lp;
 
import org.apache.commons.math3.optimization.linear.*;
import java.util.ArrayList;
import org.apache.commons.math3.optimization.*;
import java.util.Collection;
import org.apache.commons.math3.optimization.PointValuePair;
 
public class pro {
 
 
    public static void main(String[] args) {
 
 
LinearObjectiveFunction f = new LinearObjectiveFunction(new double[] { -2, 1 }, -5);
Collection constraints = new ArrayList();
constraints.add(new LinearConstraint(new double[] { 1, 2 }, Relationship.LEQ, 6));
constraints.add(new LinearConstraint(new double[] { 3, 2 }, Relationship.LEQ, 12));
constraints.add(new LinearConstraint(new double[] { 0, 1 }, Relationship.GEQ, 0));
 
PointValuePair sol = new SimplexSolver().optimize(f, constraints, GoalType.MINIMIZE, false);
 
 
double x = sol.getPoint()[0];
double y = sol.getPoint()[1];
double min = sol.getValue();
 
System.out.println(min+","+x+","+y);
 
 
 
 
 
 
 
 
    }
 
}
 
最終更新:2015年04月17日 02:33