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 [2025/01/15 21:40] (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. | ||