Solutions for constraint satisfaction problems requiring multiple constraints
First Claim
1. A method comprising:
- sorting a set of constraints based on weights associated with each constraint, the constraints being capable of being satisfied based on values selected for corresponding associated parameters;
selecting a constraint that is unsatisfied and that has the greatest weight;
selecting parameters associated with the constraint and finding parameter values to satisfy the constraint;
after satisfying the selected unsatisfied constraint, selecting a further unsatisfied constraint having the next greatest weight and finding values for associated parameters to satisfy the further constraint; and
repeating the selecting of further constraints and the finding of values for associated parameters.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, the invention includes sorting a set of constraints based on weights associated with each constraint, the constraints being capable of being satisfied based on values selected for corresponding associated parameters, selecting a constraint that is unsatisfied and that has the greatest weight, selecting parameters associated with the constraint and finding parameter values to satisfy the constraint, after satisfying the selected unsatisfied constraint, selecting a further unsatisfied constraint having the next greatest weight and finding values for associated parameters to satisfy the further constraint, and repeating the selecting of further constraints and the finding of values for associated parameters.
36 Citations
31 Claims
-
1. A method comprising:
-
sorting a set of constraints based on weights associated with each constraint, the constraints being capable of being satisfied based on values selected for corresponding associated parameters;
selecting a constraint that is unsatisfied and that has the greatest weight;
selecting parameters associated with the constraint and finding parameter values to satisfy the constraint;
after satisfying the selected unsatisfied constraint, selecting a further unsatisfied constraint having the next greatest weight and finding values for associated parameters to satisfy the further constraint; and
repeating the selecting of further constraints and the finding of values for associated parameters. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9, 10, 11)
-
-
12. A machine-readable medium having stored thereon data representing instructions which, when executed by a machine, cause the machine to perform operations comprising comprising:
-
sorting a set of constraints based on weights associated with each constraint, the constraints being capable of being satisfied based on values selected for corresponding associated parameters;
selecting a constraint that is unsatisfied and that has the greatest weight;
selecting parameters associated with the constraint and finding parameter values to satisfy the constraint;
after satisfying the selected unsatisfied constraint, selecting a further unsatisfied constraint having the next greatest weight and finding values for associated parameters to satisfy the further constraint; and
repeating the selecting of further constraints and the finding of values for associated parameters. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. An apparatus comprising:
-
a memory containing information regarding a set of constraints, the constraints being associated with weights, and the constraints being capable of being satisfied based on values selected for corresponding associated parameters; and
a processor to solve a constraint satisfaction problem by;
sorting the set of constraints based on the weights associated with each constraint;
selecting a constraint that is unsatisfied and that has the greatest weight;
selecting parameters associated with the constraint and finding parameter values to satisfy the constraint;
after satisfying the selected unsatisfied constraint, selecting a further unsatisfied constraint having the next greatest weight and finding values for associated parameters to satisfy the further constraint; and
repeating the selecting of further constraints and the finding of values for associated parameters. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A system comprising:
-
an I/O interface to receive metadata regarding a set of constraints, the constraints being associated with weights, and the constraints being capable of being satisfied based on values selected for corresponding associated parameters;
a compiler to convert the metadata into operable information;
a constraint sorter to sort the set of constraints based on the weights associated with each constraint, and to repeat the sorting of constraints upon the satisfaction of a constraint;
a constraint selector to select a constraint that is unsatisfied and that has the greatest weight, and after the selected unsatisfied constraint is satisfied, selecting a further unsatisfied constraint having the next greatest weight; and
a parameter selector to select parameters associated with selected constraint and find parameter values to satisfy the constraints. - View Dependent Claims (24, 25, 26)
-
-
27. A method comprising:
-
selecting a set of parameters for a problem;
defining domains for each of the parameters;
establishing constraints to limit solutions to the problem;
applying a weight to each constraint, the weight being related to the priority of the constraint; and
setting relationships between the parameters and the constraints. - View Dependent Claims (28, 29, 30, 31)
-
Specification