アットウィキロゴ

S線形計画

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