Computer implemented scheduling system and process using abstract local search technique
First Claim
1. A local search method of solving an optimization problem having a set of decisions to be made subject to a set of constraints, comprising the steps of:
- defining an initial abstract solution, representing a prioritized set of decisions;
building a concrete solution in accordance with said prioritized decisions, subject to said constraints, the concrete solution including all decisions to be made in solving the optimization problem;
analyzing said concrete solution to determine at least one flaw in said concrete solution;
modifying said priorities in response to said analyzing step;
generating at least one local move from said concrete solution, said move representing rectification of said flaw and re-prioritization of said decisions;
re-defining said abstract solution by making said local move; and
interactively repeating said building, analyzing, modifying, generating, and re-defining steps without adding any additional decisions.
15 Assignments
0 Petitions
Accused Products
Abstract
A method and system for solving constrained optimization problems. An initial abstract solution represents a prioritized set of decisions. The abstract solution is used as the basis for building a concrete solution. The concrete solution is analyzed to determine one or more local moves that represent a re-prioritization of the abstract solution. After a local moves is made, the process begins again with a new abstract solution, that is closer to an optimal solution. This process continues interactively until an optimal solution is reached or approached. The prioritized set of decisions can be implemented as a priority vector or a priority graph.
-
Citations
24 Claims
-
1. A local search method of solving an optimization problem having a set of decisions to be made subject to a set of constraints, comprising the steps of:
-
defining an initial abstract solution, representing a prioritized set of decisions;
building a concrete solution in accordance with said prioritized decisions, subject to said constraints, the concrete solution including all decisions to be made in solving the optimization problem;
analyzing said concrete solution to determine at least one flaw in said concrete solution;
modifying said priorities in response to said analyzing step;
generating at least one local move from said concrete solution, said move representing rectification of said flaw and re-prioritization of said decisions;
re-defining said abstract solution by making said local move; and
interactively repeating said building, analyzing, modifying, generating, and re-defining steps without adding any additional decisions. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A local search method of solving a scheduling problem having a set of tasks to be scheduled subject to a set of constraints, comprising the steps of:
-
defining an initial abstract solution representing a prioritized ordering of said tasks;
building a concrete solution in accordance with said prioritized ordering, subject to said constraints, said concrete solution representing a schedule of all tasks to be scheduled;
analyzing said concrete solution to identify at least one flaw in said concrete solution;
modifying said priorities in response to said analyzing step;
generating at least one local move from said concrete solution, said move representing rectification of said flaw and re-prioritization of said tasks;
re-defining said abstract solution by making said local move; and
interactively repeating said building, analyzing, modifying, generating, and re-defining steps without adding any tasks to be scheduled. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. Software for solving an optimization problem having a set of decisions to be made subject to a set of constraints, the software embodied in a computer-readable medium and operable, when executed, to:
-
define an initial abstract solution, representing a prioritized set of decisions;
build a concrete solution in accordance with said prioritized decisions, subject to said constraints, the concrete solution including all decisions to be made in solving the optimization problem;
analyze said concrete solution to determine at least one flaw in said concrete solution;
modify said priorities in response to said analyzing step;
generate at least one local move from said concrete solution, said move representing rectification of said flaw and re-prioritization of said decisions;
re-define said abstract solution by making said local move; and
interactively repeat said building, analyzing, modifying, generating, and re-defining steps without adding any additional decisions. - View Dependent Claims (15, 16, 17)
-
-
18. Software for solving a scheduling problem having a set of tasks to be scheduled subject to a set of constraints, the software embodied in a computer-readable medium and operable, when executed, to:
-
define an initial abstract solution representing a prioritized ordering of said tasks;
build a concrete solution in accordance with said prioritized ordering, subject to said constraints, said concrete solution representing a schedule of all tasks to be scheduled;
analyze said concrete solution to identify at least one flaw in said concrete solution;
modify said priorities in response to said analyzing step;
generate at least one local move from said concrete solution, said move representing rectification of said flaw and re-prioritization of said tasks;
re-define said abstract solution by making said local move; and
interactively repeat said building, analyzing, modifying, generating, and re-defining steps without adding any tasks to be scheduled. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification