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