IP Library Granted Patent US 6,922,681
Granted Patent B2
US 6,922,681 · App. 10/022,719 · Granted Jul 26, 2005

Problem partitioning method and system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,922,681
App. No.
10/022,719
Granted
Jul 26, 2005
Kind
B2
Abstract

In a problem partitioning method for problem solving in a computer system, a definition of a system to be controlled, a hierarchical control structure definition, problem definitions for a plurality of control nodes in the hierarchical control structure, and a structure evaluation function are used in partitioning the system problem. The partitioning method defines an instantiation of the hierarchical control structure by decomposing the system into a plurality of hierarchical control structure instances, with each control structure instance having a plurality of control levels. The performance of each of the hierarchical control structure instances is evaluated with the structure evaluation function and an optimal hierarchical control structure instance is selected.

Claims (78)

1. A problem partitioning method for problem solving in a computer system, wherein the method comprises the steps of:

receiving the definition of a system to be controlled, wherein said system is controlled by a plurality of control elements;

receiving at least one hierarchical control structure definition including a plurality of structure parameters;

receiving problem definitions for a plurality of control nodes in said hierarchical control structure;

receiving a structure evaluation function; and

defining an instantiation of said hierarchical control structure comprising the steps of:

decomposing said system into a plurality of hierarchical control structure instances, wherein each of said hierarchical control structure instances includes a plurality of control levels, wherein each of said control levels includes at least one control node;

evaluating the performance of each of said hierarchical control structure instances with said structure evaluation function; and

selecting an optimal hierarchical control structure instance.

2. The problem partitioning method according to claim 1 , wherein said plurality of structure parameters includes the number of nodes to be included at each level of said hierarchical control structure.

3. The problem partitioning method according to claim 1 , wherein said plurality of structure parameters includes the number of levels to be included in said hierarchical control structure.

4. The problem partitioning method according to claim 1 , further comprising the step of receiving a problem evaluation function for evaluating problem solving complexity for individual control nodes within said hierarchical structure.

5. The problem partitioning method according to claim 4 , further comprising the steps of:

decomposing said hierarchical control structure from a first level by organizing said control elements into a plurality of hierarchical control structure configurations according to a grouping criterion, thereby forming a plurality of possible group configurations for said first level, wherein each said group configuration includes not less than one control node;

evaluating the performance of each of said group configuration with said problem evaluation function; and

selecting one said group configuration as optimal;

defining said selected group configuration as a second level;

determining whether each of said groups within said selected group configuration satisfies a decomposition criterion; if said groups do not satisfy said decomposition criterion, decomposing said second level of control elements into a plurality of subgroups according to a grouping criterion, thereby forming a plurality of possible subgroup configurations;

evaluating the performance for each subgroup within each said subgroup configuration with said problem evaluation function;

selecting one said subgroup configuration as optimal, said subgroup configuration defining a next level;

determining whether each of said subgroups within said selected subgroup configuration satisfies said decomposition criterion;

repeating the steps of decomposing said next level of control elements into a plurality of subgroups to form a plurality of possible subgroup configurations, evaluating the performance for each subgroup within each said subgroup configuration, selecting one said subgroup configuration as optimal, and determining whether each of said subgroups within said selected subgroup configuration satisfies said decomposition criterion until the groups satisfy said decomposition criterion; and

discontinuing decomposition when said subgroups satisfy said decomposition criterion.

6. The problem partitioning method according to claim 5 , wherein only group configurations at selected levels are repartitioned.

7. The problem partitioning method according to claim 5 , wherein said decomposition criterion comprises specifying a maximum number of control elements.

8. The problem partitioning method according to claim 5 , wherein said decomposition criterion comprises specifying a level of complexity determined by the problem evaluation function.

9. The problem partitioning method according to claim 4 , wherein said problem evaluation function is based on the structure of the problems to be partitioned.

10. The problem partitioning method according to claim 9 , wherein said structure comprises a number of problem constraints in a problem to be partitioned and the number of expressions in said problem constraint terms.

11. The problem partitioning method according to claim 4 , wherein said problem evaluation function is based on a performance model for solving problems with specific characteristics.

12. The problem partitioning method according to claim 11 , wherein said specific characteristics comprise a number of problem constraints for the problem to be partitioned.

13. The problem partitioning method according to claim 11 , wherein said specific characteristics comprise the number of variables in the problem to be partitioned.

14. The problem partitioning method according to claim 1 , wherein the step of selecting an optimal control structure configuration comprises creating groups of elements having equivalent properties.

15. The problem partitioning method according to claim 14 , wherein said equivalent properties comprise one or more of identical position, identical direction, one identical position component, identical position, or identical force magnitude.

16. The problem partitioning method according to claim 1 , wherein the step of selecting an optimal control structure configuration comprises using a fixed policy.

17. The problem solving method according to claim 16 , wherein said fixed policy comprises grouping neighboring control elements.

18. The problem partitioning method according to claim 1 , wherein said structure evaluation function measures the time complexity of the problem to be solved.

19. The problem partitioning method according to claim 1 , wherein said structure evaluation function measures the quality of solutions for the problem to be solved.

20. The problem partitioning method according to claim 1 , wherein said structure evaluation function measures both the time complexity and the quality of solutions of the problem to be solved.

21. The problem partitioning method according to claim 1 , wherein said system further comprises a plurality of hierarchical control structures, wherein each one of said plurality of hierarchical control structures includes its associated problem definitions and structure evaluation function.

22. The problem partitioning method according to claim 21 , further comprising:

decomposing said system by decomposing each one of said plurality of hierarchical control structures; and

evaluating said system by evaluating each control structure configuration for each one said plurality of hierarchical control structures with said associated structure evaluation function.

23. The problem partitioning method according to claim 1 , wherein said partitioning is performed on-line.

24. The problem partitioning method according to claim 1 , wherein said structure evaluation function measures the memory use complexity of the problem to be solved.

25. A computer system for problem solving wherein the improvement is a problem partitioner, comprising:

an application controller for providing a definition of a system to be controlled to a solver distribution module, said system to be controlled having a plurality of actuators;

a decomposition module within said solver distribution module for decomposing said system into a plurality of hierarchical control structure instances;

an evaluation module for evaluating the performance of each of said hierarchical control structure instances; and

a control allocation module for grouping the actuators into modules for hierarchical allocation.

26. A computer system for problem solving according to claim 25 , wherein said applications controller further provides a hierarchical control structure definition including a plurality of structure parameters to said solver distribution module.

27. A computer system for problem solving according to claim 25 , wherein said applications controller further provides problem definitions for a plurality of nodes in said hierarchical control structure.

28. A computer system for problem solving according to claim 25 , wherein said evaluation module select s an optimal hierarchical control structure instance.

29. A computer program product comprising:

a computer usable medium having computer readable program code means embedded in said medium for causing the partitioning of a problem to be solved by a computer, the computer readable code comprising:

computer readable program code means for causing said computer to decompose the control elements of a system to be controlled into a plurality of hierarchical control structure instances;

computer readable program code means for causing said computer to evaluate the performance of each of said hierarchical control structure instances; and

computer readable program code means for selecting an optimal hierarchical control structure instance.

30. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for solving a problem by partitioning the control elements of a system to be controlled, said method steps comprising:

receiving problem definitions;

receiving a structure evaluation function; and

defining an instantiation for a hierarchical control structure comprising the steps of:

decomposing said system into a plurality of hierarchical control structure instances, wherein each of said hierarchical control structure instances includes a plurality of control levels, wherein each of said control levels includes at least one control node;

evaluating the performance of each of said hierarchical control structure instances with said structure evaluation function; and

selecting an optimal hierarchical control structure instance.

31. The program storage device according to claim 30 , wherein said problem definitions includes a hierarchical control structure having a plurality of structure parameters.

32. The program storage device according to claim 31 , wherein said plurality of structure parameters includes the number of levels to be included in said hierarchical control structure.

33. The program storage device according to claim 30 , further comprising the step of receiving a problem evaluation function for evaluating problem solving complexity for individual control nodes within said hierarchical structure.

34. The program storage device according to claim 33 , further comprising the steps of:

decomposing said hierarchical control structure from a first level by organizing said control elements into a plurality of hierarchical control structure configurations according to a grouping criterion, thereby forming a plurality of possible group configurations for said first level, wherein each said group configuration includes not less than one control node;

evaluating the performance of each of said group configuration with said problem evaluation function; and

selecting one said group configuration as optimal;

defining said selected group configuration as a second level;

determining whether each of said groups within said selected group configuration satisfies a decomposition criterion; if said groups do not satisfy said decomposition criterion, decomposing said second level of control elements into a plurality of subgroups according to a grouping criterion, thereby forming a plurality of possible subgroup configurations;

evaluating the performance for each subgroup within each said subgroup configuration with said problem evaluation function;

selecting one said subgroup configuration as optimal, said subgroup configuration defining a next level;

determining whether each of said subgroups within said selected subgroup configuration satisfies said decomposition criterion;

repeating the steps of decomposing said next level of control elements into a plurality of subgroups to form a plurality of possible subgroup configurations, evaluating the performance for each subgroup within each said subgroup configuration, selecting one said subgroup configuration as optimal, and determining whether each of said subgroups within said selected subgroup configuration satisfies said decomposition criterion until the groups satisfy said decomposition criterion; and

discontinuing decomposition when said subgroups satisfy said decomposition criterion.

Assignments (9)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214 Recorded May 18, 2023
From: CITIBANK, N.A., AS AGENT
To: XEROX CORPORATION
Reel/Frame 063694/0122 →
SECURITY INTEREST Recorded Nov 10, 2022
From: XEROX CORPORATION
To: CITIBANK, N.A., AS AGENT
Reel/Frame 062740/0214 →
RELEASE OF SECURITY INTEREST Recorded Sep 7, 2022
From: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO BANK ONE, N.A.
To: XEROX CORPORATION
Reel/Frame 061388/0388 →
RELEASE OF SECURITY INTEREST Recorded Sep 7, 2022
From: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO JPMORGAN CHASE BANK
To: XEROX CORPORATION
Reel/Frame 066728/0193 →
SECURITY AGREEMENT Recorded Oct 31, 2003
From: XEROX CORPORATION
To: JPMORGAN CHASE BANK, AS COLLATERAL AGENT
Reel/Frame 015134/0476 →