ptidej_solver

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

Both sides previous revision Previous revision Next revision | Previous revision | ||

ptidej_solver [2014/03/31 14:49] yann [Problem Motifs Definitions] |
ptidej_solver [2018/03/04 02:53] (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: 2018/03/04 02:53 (external edit)