Search in sources :

Example 1 with OptimizationProblem

use of org.tweetyproject.math.opt.problem.OptimizationProblem in project TweetyProject by TweetyProjectTeam.

the class SimulatedAnnealingOnConstrProbEx2 method createConstraintSatProb1.

/**
 * constrcutor
 * @return problem
 */
public static OptimizationProblem createConstraintSatProb1() {
    FloatVariable m1 = new FloatVariable("Machine 1", -100, 100);
    FloatVariable m2 = new FloatVariable("Machine 2", -100, 100);
    Inequation constr1 = new Inequation(m1, new IntegerConstant(10), 3);
    Inequation constr2 = new Inequation(m2, new IntegerConstant(12), 1);
    Inequation constr3 = new Inequation(m1, new IntegerConstant(50), 1);
    Inequation constr4 = new Inequation(m2, new IntegerConstant(0), 3);
    Collection<Statement> constraints = new ArrayList<Statement>();
    constraints.add(constr1);
    constraints.add(constr2);
    constraints.add(constr3);
    constraints.add(constr4);
    OptimizationProblem prob = new OptimizationProblem(0);
    prob.addAll(constraints);
    // Target funcion = (m1+1)^2+m2^2
    Term opt = new Sum(new Power(new Sum(m1, new IntegerConstant(1)), new IntegerConstant(2)), new Power(m2, new IntegerConstant(2)));
    ((OptimizationProblem) prob).setTargetFunction(opt);
    return prob;
}
Also used : Inequation(org.tweetyproject.math.equation.Inequation) Statement(org.tweetyproject.math.equation.Statement) OptimizationProblem(org.tweetyproject.math.opt.problem.OptimizationProblem) Sum(org.tweetyproject.math.term.Sum) Term(org.tweetyproject.math.term.Term) FloatVariable(org.tweetyproject.math.term.FloatVariable) IntegerConstant(org.tweetyproject.math.term.IntegerConstant) Power(org.tweetyproject.math.term.Power)

Example 2 with OptimizationProblem

use of org.tweetyproject.math.opt.problem.OptimizationProblem in project TweetyProject by TweetyProjectTeam.

the class SimulatedAnnealingOnConstrProbEx2 method main.

/**
 * main method
 * @param args arguments
 *
 * @throws GeneralMathException GeneralMathException
 */
public static void main(String[] args) throws ParserException, GeneralMathException {
    // Create toy problem
    OptimizationProblem prob = createConstraintSatProb1();
    // Create starting point; all variables start at 0
    // solve via SimAn
    SimulatedAnnealingOnConstrProb solver = new SimulatedAnnealingOnConstrProb(1000000, 1, 10000);
    Map<Variable, Term> solution = solver.solve(prob);
    System.out.println(solution.toString());
}
Also used : Variable(org.tweetyproject.math.term.Variable) FloatVariable(org.tweetyproject.math.term.FloatVariable) OptimizationProblem(org.tweetyproject.math.opt.problem.OptimizationProblem) Term(org.tweetyproject.math.term.Term)

Example 3 with OptimizationProblem

use of org.tweetyproject.math.opt.problem.OptimizationProblem in project TweetyProject by TweetyProjectTeam.

the class StochasticLocalSearchOnConstrProbEx method main.

/**
 * main method
 * @param args arguments
 *
 * @throws ParserException ParserException
 * @throws GeneralMathException GeneralMathExceptions
 */
public static void main(String[] args) throws ParserException, GeneralMathException {
    // Create toy problem
    OptimizationProblem prob = createConstraintSatProb1();
    // Create starting point; all variables start at 0
    // solve via SimAn
    StochasticLocalSearchOnConstrProb solver = new StochasticLocalSearchOnConstrProb(5000, 1000, 0.5);
    Map<Variable, Term> solution = solver.solve(prob);
    System.out.println(solution.toString());
}
Also used : Variable(org.tweetyproject.math.term.Variable) FloatVariable(org.tweetyproject.math.term.FloatVariable) OptimizationProblem(org.tweetyproject.math.opt.problem.OptimizationProblem) Term(org.tweetyproject.math.term.Term)

Example 4 with OptimizationProblem

use of org.tweetyproject.math.opt.problem.OptimizationProblem in project TweetyProject by TweetyProjectTeam.

the class StochasticLocalSearchOnConstrProbEx method createConstraintSatProb1.

/**
 * constructor
 * @return problem
 */
public static OptimizationProblem createConstraintSatProb1() {
    FloatVariable m1 = new FloatVariable("Machine 1", -100, 100);
    FloatVariable m2 = new FloatVariable("Machine 2", -100, 100);
    Inequation constr1 = new Inequation(m1, new IntegerConstant(10), 3);
    Inequation constr2 = new Inequation(m2, new IntegerConstant(12), 1);
    Inequation constr3 = new Inequation(m1, new IntegerConstant(50), 1);
    Inequation constr4 = new Inequation(m2, new IntegerConstant(0), 3);
    Collection<Statement> constraints = new ArrayList<Statement>();
    constraints.add(constr1);
    constraints.add(constr2);
    constraints.add(constr3);
    constraints.add(constr4);
    OptimizationProblem prob = new OptimizationProblem(0);
    prob.addAll(constraints);
    // Target funcion = (m1+1)^2+m2^2
    Term opt = new Sum(new Power(new Sum(m1, new IntegerConstant(1)), new IntegerConstant(2)), new Power(m2, new IntegerConstant(2)));
    ((OptimizationProblem) prob).setTargetFunction(opt);
    return prob;
}
Also used : Inequation(org.tweetyproject.math.equation.Inequation) Statement(org.tweetyproject.math.equation.Statement) OptimizationProblem(org.tweetyproject.math.opt.problem.OptimizationProblem) Sum(org.tweetyproject.math.term.Sum) Term(org.tweetyproject.math.term.Term) FloatVariable(org.tweetyproject.math.term.FloatVariable) IntegerConstant(org.tweetyproject.math.term.IntegerConstant) Power(org.tweetyproject.math.term.Power)

Example 5 with OptimizationProblem

use of org.tweetyproject.math.opt.problem.OptimizationProblem in project TweetyProject by TweetyProjectTeam.

the class ApacheCommonsCMAESOptimizerEx method createConstraintSatProb1.

/**
 * constructor
 * @return the problem
 */
public static ConstraintSatisfactionProblem createConstraintSatProb1() {
    FloatVariable m1 = new FloatVariable("Machine 1", -50, 100);
    FloatVariable m2 = new FloatVariable("Machine 2", -50, 100);
    // Target funcion = (m1+1)^2+m2^2
    Term opt = new Sum(new Power(new Sum(m1, new FloatConstant(-1)), new IntegerConstant(2)), new Power(m2, new IntegerConstant(2)));
    OptimizationProblem prob = new OptimizationProblem();
    ((OptimizationProblem) prob).setTargetFunction(opt);
    return prob;
}
Also used : FloatConstant(org.tweetyproject.math.term.FloatConstant) OptimizationProblem(org.tweetyproject.math.opt.problem.OptimizationProblem) Sum(org.tweetyproject.math.term.Sum) Term(org.tweetyproject.math.term.Term) FloatVariable(org.tweetyproject.math.term.FloatVariable) Power(org.tweetyproject.math.term.Power) IntegerConstant(org.tweetyproject.math.term.IntegerConstant)

Aggregations

OptimizationProblem (org.tweetyproject.math.opt.problem.OptimizationProblem)49 Term (org.tweetyproject.math.term.Term)45 FloatVariable (org.tweetyproject.math.term.FloatVariable)34 FloatConstant (org.tweetyproject.math.term.FloatConstant)32 Variable (org.tweetyproject.math.term.Variable)29 IntegerConstant (org.tweetyproject.math.term.IntegerConstant)27 HashMap (java.util.HashMap)20 Sum (org.tweetyproject.math.term.Sum)18 Power (org.tweetyproject.math.term.Power)16 Statement (org.tweetyproject.math.equation.Statement)15 ArrayList (java.util.ArrayList)14 GeneralMathException (org.tweetyproject.math.GeneralMathException)14 Inequation (org.tweetyproject.math.equation.Inequation)14 Equation (org.tweetyproject.math.equation.Equation)12 Collection (java.util.Collection)6 HashSet (java.util.HashSet)4 Vector (java.util.Vector)3 Argument (org.tweetyproject.arg.dung.syntax.Argument)3 PlFormula (org.tweetyproject.logics.pl.syntax.PlFormula)3 ConstraintSatisfactionProblem (org.tweetyproject.math.opt.problem.ConstraintSatisfactionProblem)3