User Tools

Site Tools


ptidej_solver

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ptidej_solver [2014/03/31 14:49]
yann [Problem Motifs Definitions]
ptidej_solver [2019/10/06 20:37] (current)
Line 24: Line 24:
  pb.addVar(superEntity);​  pb.addVar(superEntity);​
  
- final ​InheritancePathConstraint ​c1 = + final ​StrictInheritanceConstraint ​c1 = 
- new ​InheritancePathConstraint+ new ​StrictInheritanceConstraint
- "​SuperEntity ​-|>- ... -|>- SubEntity",​ + "​SuperEntity -|>- SubEntity",​ 
- "​throw new RuntimeException(\"​SuperEntity ​-|>- ... -|>- SubEntity\"​);",​+ "​throw new RuntimeException(\"​SuperEntity -|>- SubEntity\"​);",​
  subEntity,​  subEntity,​
  superEntity,​  superEntity,​
Line 61: Line 61:
     * ''​int weight'':​ the weight of the constraint in the problem. The sum of the weights of all the constraints in a problem should equal 100;     * ''​int weight'':​ the weight of the constraint in the problem. The sum of the weights of all the constraints in a problem should equal 100;
     * ''​IApproximations approximations'':​ an instance of ''​ptidej.solver.approximation.IApproximations'',​ which returns and ordered array of constraint names, to try one after the other if the previous one cannot be verified;     * ''​IApproximations approximations'':​ an instance of ''​ptidej.solver.approximation.IApproximations'',​ which returns and ordered array of constraint names, to try one after the other if the previous one cannot be verified;
 +
 +{{ :​binaryconstraint.png?​direct |}}
 +
   * ''​ptidej.solver.constraint.BinaryCounterConstraint'':​ for any binary constraint that count some properties between the two variables, for example a "​distance"​ in terms of number of relationships that must be followed to reach ''​v1''​ from ''​v0'';​   * ''​ptidej.solver.constraint.BinaryCounterConstraint'':​ for any binary constraint that count some properties between the two variables, for example a "​distance"​ in terms of number of relationships that must be followed to reach ''​v1''​ from ''​v0'';​
 +
 +{{ :​binarycounterconstraint.png?​nolink |}}
 +
   * ''​ptidej.solver.constraint.UnaryConstraint'':​ for any unary constraint, i.e., constraint on a single variable to verify a property of an entity, for example if an entity is an interface vs. a class.   * ''​ptidej.solver.constraint.UnaryConstraint'':​ for any unary constraint, i.e., constraint on a single variable to verify a property of an entity, for example if an entity is an interface vs. a class.
 +
 +{{ :​unaryconstraint.png?​nolink |}}
  
 ''​BinaryConstraint''​ has two sub-classes to specialise for inheritance and binary-class relationships. ''​BinaryConstraint''​ has two sub-classes to specialise for inheritance and binary-class relationships.
ptidej_solver.1396277384.txt.gz · Last modified: 2019/10/06 20:37 (external edit)