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) {
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()[0];
double y = sol.getPoint()[1];
double y1 = sol.getPoint()[2];
double min = sol.getValue();
System.out.println(min+","+x+","+y1);
}
}
最終更新:2015年04月17日 02:38