JP2002133052A - Method for representing resource allocation problem and method for solving the problem - Google Patents

Method for representing resource allocation problem and method for solving the problem

Info

Publication number
JP2002133052A
JP2002133052A JP2001254031A JP2001254031A JP2002133052A JP 2002133052 A JP2002133052 A JP 2002133052A JP 2001254031 A JP2001254031 A JP 2001254031A JP 2001254031 A JP2001254031 A JP 2001254031A JP 2002133052 A JP2002133052 A JP 2002133052A
Authority
JP
Japan
Prior art keywords
resource
consumer
domain
value
multiplex
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001254031A
Other languages
Japanese (ja)
Inventor
James Sanders Michael
マイケル・ジェームズ・サンダーズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AUPQ9677A external-priority patent/AUPQ967700A0/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002133052A publication Critical patent/JP2002133052A/en
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PROBLEM TO BE SOLVED: To realize a method for representing a resource allocation problem and a method for solving the problem by using a computer with respect to a resource allocation field. SOLUTION: These methods can be applied to, for instance, the scheduling of workflow. The resource allocation problem has resource use availability and a value element which cross orthogonally with each other and is also represented by at least one domain multiset representing supply. The resource allocation problem has further a resource requirement and an optional value constraint which cross orthogonally with each other and also provides a consumer multiset representing demand. The methods define a unary constraint to the supply attribute and the demand attribute of each multiset and also define a binary constraint between consumers to each other in the consumer multiset. The resource allocation problem can be solved by applying the temporal back track algorithm to the unary constraint and the binary constraint.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、資源割り当ての分
野に関する。本発明は、特に、資源割り当てに関連する
制約問題を表現すること、およびそれらをコンピュータ
を用いて解くことに関する。
[0001] The present invention relates to the field of resource allocation. The invention relates in particular to expressing constraint problems associated with resource allocation and solving them using a computer.

【0002】本発明は、例えばプロジェクト、時間割事
業(timetabling operation )、制約解決データベース
(constraint-solving database)、メモリ内データベー
ス(in-memory database)の構築と運営に従事する企業
が実行するようなワークフロー解析とスケジューリング
解析において利用できるソフトウェア製品として産業上
適用可能である。
[0002] The present invention is a workflow executed by a company engaged in the construction and operation of a project, a timetabling operation, a constraint-solving database, and an in-memory database. It is industrially applicable as a software product that can be used in analysis and scheduling analysis.

【0003】[0003]

【従来の技術】資源割り当てに関する制約問題は、解決
するのが極めて難しい。次に示す単純な例(以下ではこ
の例をずっと参照する)を考える。すなわち、ある種の
(例えば工場のベルト・コンベアのような)論理的(あ
るいは物理的)なコンテナ(container)を考える。そし
て、このコンテナには、赤いアイテム(item)が3個、
緑のアイテムが2個、青いアイテムが1個含まれている
ものとする。さらに、x、y、zと名付けられた3個の
コンシューマ(consumer: 例えばロボット・アームのよ
うなもの)を考える。そして、この3個のコンシューマ
は、各々に割り当てられた色のアイテム(すなわちxが
赤、yが緑、zが青)を様々な個数だけ必要としている
ものとする。ここでは、xが1個のアイテム、yが2個
のアイテム、zが3個のアイテムを必要としているもの
とする。アイテムの個数をコンシューマに割り当てるす
べての可能性を評価する問題は、必要とされるコンシュ
ーマの数によって制約される順列の問題の他ならない。
上述した例は単純な問題である。しかし、資源割り当て
の分野では、少なくとも1つのコンテナにおいてコンシ
ューマの要件がアイテム(すなわち要素(element) の値
(value:すなわち上述した例では色)に対する制約条件
と結び付いているので、ずっと複雑な問題に遭遇するの
が通例である。例えば、企業のワークフロー・アプリケ
ーションでは、ある処置が開始される前に、特定の「型
(type)」の販売注文が複数存在するということの他
に、特定の技能を有する保守要員が得られるということ
が必要になる。要素の値は、下位の値の複雑な組み合わ
せから成る可能性がある。
2. Description of the Related Art The constraint problem relating to resource allocation is extremely difficult to solve. Consider the following simple example (we will refer to this example throughout). That is, consider a kind of logical (or physical) container, such as a factory belt conveyor. And this container has three red items,
It is assumed that two green items and one blue item are included. Further consider three consumers, named x, y, z, such as a robotic arm. Then, it is assumed that these three consumers need various numbers of items of colors assigned to them (that is, x is red, y is green, and z is blue). Here, it is assumed that x needs one item, y needs two items, and z needs three items. The problem of assessing all the possibilities of assigning the number of items to consumers is none other than the problem of permutation constrained by the number of consumers needed.
The above example is a simple problem. However, in the area of resource allocation, in at least one container, the requirements of the consumer are tied to the constraints on the item (ie, the value of the element, ie, the color in the example above), which creates a much more complex problem. For example, in a corporate workflow application, there may be more than one sales order of a particular "type" before a certain action is initiated, as well as a particular skill. It is necessary to have maintenance personnel with the following values: The value of an element can consist of a complex combination of lower values.

【0004】上述した型の割り当て問題を正確に解く既
存の手法が2つある。2つの手法とも数学の集合を使う
コンテナの表現によって制限されている。これにより、
この2つの手法は、要素資源を値定義域の成分として取
り扱うように制約される。
There are two existing approaches to exactly solving the type of assignment problem described above. Both approaches are limited by the representation of containers using mathematical sets. This allows
These two methods are constrained to treat element resources as components of the value domain.

【0005】第1の手法では、値組に余分のフィールド
を付加して要素数を表わす。上述した単純な例では、コ
ンテナ要素は、<赤、3>、<緑、2>、<青、1>の
ようになる。次いで、問題は、限定定義域2項制約満足
問題(Finite-Domain BinaryConstraint Satisfaction
Problem(CSP))として取り扱い、普通、NC−1
(Node Consistency)アルゴリズムとFC−CBJ(Fo
rward Checking withConflict-Directed Backjumping)
アルゴリズムを組み合わせて解く。
In the first method, an extra field is added to a value set to represent the number of elements. In the simple example described above, the container elements are <red, 3>, <green, 2>, <blue, 1>. Next, the problem is the Finite-Domain BinaryConstraint Satisfaction
Problem (CSP)), usually NC-1
(Node Consistency) algorithm and FC-CBJ (Fo
rward Checking with Conflict-Directed Backjumping)
Solve by combining algorithms.

【0006】FC−CBJアルゴリズムは、次の文献に
示されている。R・デクターとD・フロスト「制約満足
問題のためのバックトラッキング・アルゴリズム−指導
報告」『カリフォルニア大学アーヴィン校紀要』(情報
・コンピュータ科学学部、カリフォルニア州アーヴィ
ン、1998年4月)(R. Dechter and D. frost,"Bac
ktracking Algorithms for Constraint Satisfaction P
roblem - a Tutorial Survey", tech. Rep., Universit
y of California Irvine, Department of Information
and Computer Science, Irvine, California, April 19
98) 、および、P・プロッサー「制約満足問題のための
混成アルゴリズム」『コンピューテーショナル・インテ
リジェンス』第9巻第3号、第268〜299頁、19
93年(P.Prosser,"Hybrid Algorithms for Constrain
t Satisfaction Problem", Computational Intelligenc
e, vol.9, no.3, pp.268-299, 1993)
[0006] The FC-CBJ algorithm is disclosed in the following document. R. Dechter and D. Frost, "Backtracking Algorithms for Constraint Satisfaction Problems-Guidance Report," Bulletin of the University of California, Irvine, School of Information and Computer Science, Irvin, CA, April 1998 (R. Dechter and D. frost, "Bac
ktracking Algorithms for Constraint Satisfaction P
roblem-a Tutorial Survey ", tech. Rep., Universit
y of California Irvine, Department of Information
and Computer Science, Irvine, California, April 19
98) and P. Prosser, "A Hybrid Algorithm for Constraint Satisfaction Problems," Computational Intelligence, Vol. 9, No. 3, pp. 268-299, 19
93 (P. Prosser, "Hybrid Algorithms for Constrain
t Satisfaction Problem ", Computational Intelligenc
e, vol.9, no.3, pp.268-299, 1993)

【0007】限定定義域2項制約満足問題(Finite-Dom
ain Binary Constraint Satisfaction Problem(CS
P))とNC−1(Node Consistency)アルゴリズム
は、次の文献に示されている。E・ツサング『制約満足
の基礎』(ロンドン、アカデミック・プレス、1966
年)(E. Tsang, Fondation of Constraint Satisfacti
on, London, Academic Press, 1966)
[0007] Finite-Dom
ain Binary Constraint Satisfaction Problem (CS
P)) and the NC-1 (Node Consistency) algorithm are disclosed in the following literature. E. Tsusang, The Basics of Constraint Satisfaction, Academic Press, London, 1966
(E. Tsang, Fondation of Constraint Satisfacti)
on, London, Academic Press, 1966)

【0008】資源の属性を強制的に値定義域に変換する
この手法には、次に示す問題がある。 ○問題を表現する複雑さが増す。 ○システム設計者と問題解決者にとって、直観の度合い
が低い。 ○急激に変化する問題(例えば工場の自動化、ロークフ
ロー、メモリ内データベースなど)の場合、実体(enti
ty)の属性が実際には変化していないにもかかわらず、
要素の値定義域を常に変更する必要がある。例えば、要
員の使用可能度はその技能よりもずっと頻繁に変化する
し、ベルト・コンベア上の色付きアイテムの数はアイテ
ムの色が変化しないにもかかわらず常に変化する。この
種の変更は、コンピュータ使用上非効率である。 ○上述したように、資源割り当ては順列の問題である。
この順列の問題は、資源を値として扱うことにより、組
み合わせの問題に強制的に変換することができるが、し
かし、探索範囲はずっと広くなってしまう。既存の2項
CSPアルゴリズムは資源割り当て問題をうまく表現で
きない、と広く認識されている。
This technique for forcibly converting a resource attribute into a value domain has the following problems. ○ The complexity of expressing the problem increases. ○ The degree of intuition is low for system designers and problem solvers. ○ In the case of rapidly changing problems (for example, factory automation, leak flow, in-memory database, etc.),
ty) attribute does not actually change,
The value domain of an element must always be changed. For example, the availability of personnel changes much more frequently than their skills, and the number of colored items on a belt conveyor changes constantly, even though the colors of the items do not change. This type of change is inefficient in computer use. ○ As mentioned above, resource allocation is a matter of permutation.
This permutation problem can be forcibly transformed into a combination problem by treating resources as values, but the search range is much wider. It is widely recognized that existing binary CSP algorithms do not well represent the resource allocation problem.

【0009】第2の手法では、資源割り当てを、主であ
る組み合わせ値制約問題とは別に、順列の「副問題(su
b-problem)」として抽出する。これは、順列の副問題を
解くための極めて特殊の(そして通常専用の)「制約賓
辞(ひんじ:constraint predicate) 」を備えた特化し
た論理プログラミング言語を使ってなしとげる。(賓辞
とは、ある命題において主辞について述べられている概
念のことである。例えば「犬は動物だ」の「動物」の類
のことである)。この手法には、次に示す問題がある。 ○制約問題を定式化して解くのに、大きく、複雑で、し
ばしば専用のプログラミング言語を必要とする。 ○問題の資源と値の制約側面は、様々なソフトウェア・
コンポーネントを使って解く。その結果、直観に反する
問題のモデル化と表現、非効率がもたらされる。
In the second method, the resource allocation is performed separately from the main combination value constraint problem by using a sub-problem (su
b-problem) ". This is accomplished using a specialized logic programming language with very special (and usually dedicated) "constraint predicates" to solve permutation subproblems. (A guest is a concept in which a proposition describes a head, for example, the kind of "animal" in which "dogs are animals.") This technique has the following problems. ○ Formulating and solving constraint problems requires large, complex, and often specialized programming languages. ○ The resource and value constraints of the problem
Solve using components. The result is inefficient and inefficient modeling and representation of problems.

【0010】[0010]

【発明が解決しようとする課題】本発明の目的は、要素
資源とコンシューマの需要に関する制約を含むCSPが
値制約を余分に含むと否とににかかわらず、このような
CSPを解くための既存の手法を改善することである。
SUMMARY OF THE INVENTION It is an object of the present invention to provide an existing CSP for solving such CSPs, regardless of whether the CSPs contain constraints on the demands of the element resources and consumers, or not. Is to improve the method.

【0011】[0011]

【課題を解決するための手段】本発明は、資源割り当て
問題をアイテムの供給対コンシューマの需要の記述とし
て表現することにより、上述した限界を克服または少な
くとも低減するものである。さらに、単項資源制約と2
項資源制約の観点から資源割り当て問題を定義する。単
項資源制約と2項資源制約は、集合ではなく多重集合に
よって、コンテナの内容(資源要素と値要素)とコンシ
ューマの需要の双方を特定するものである。
SUMMARY OF THE INVENTION The present invention overcomes, or at least reduces, the aforementioned limitations by expressing the resource allocation problem as a description of item supply versus consumer demand. Furthermore, unary resource constraints and 2
Define a resource allocation problem in terms of term resource constraints. The unary resource constraint and the binomial resource constraint specify both the content of the container (resource element and value element) and the demand of the consumer not by a set but by a multiple set.

【0012】上述した表現によって、組み合わせ的な値
制約の解法の内で、資源制約を順列的に効率よく解くこ
とが可能になる。また、上述した表現によって、既存の
2項CSPを超えると共に、値制約CSPと資源制約C
SPの組み合わせの他に、既存の値のみ2項CSPを表
現するのにも使うことのできる拡張した定義が実現す
る。資源制約の一実例では、さらに、値制約と資源制約
の双方を扱うことのできる拡張アルゴリズム(すなわち
拡張FC−CBJ)も提供する。
The above expression makes it possible to efficiently solve resource constraints in a permutation manner in the solution of combinatorial value constraints. In addition, the expression described above exceeds the existing binary CSP, and the value constraint CSP and the resource constraint C
In addition to the combination of SPs, an extended definition that can be used to represent only existing values of a binary CSP is realized. One example of a resource constraint also provides an extended algorithm (ie, extended FC-CBJ) that can handle both value constraints and resource constraints.

【0013】したがって、本発明は、資源割り当て問題
を表現する方法を開示するものであり、以下のように構
成する。 (a)前記資源割り当て問題を、(i)零以上の要素に
対する資源使用可能度と値との双方を含む少なくとも1
つの定義域の各々を表わす多重集合と、(ii) 少なくと
も1つのコンシューマおよびそれらの資源要件、ならび
に前記定義域多重集合の各々に関連付けられた任意の値
制約を表わす多重集合とによって表現するステップと、
(b)各定義域多重集合から、当該定義域の各要素につ
いて、資源使用可能度に対応すると共に値と直交する供
給を特定するステップと、(c)各コンシューマ多重集
合から、当該コンシューマ多重集合の各コンシューマに
ついて、資源要件に対応すると共に必要な値に対する任
意の制約と直交する需要を特定するステップとを備え
る。
Accordingly, the present invention discloses a method for expressing a resource allocation problem, and is configured as follows. (A) The resource allocation problem includes (i) at least one including both resource availability and a value for zero or more elements.
(Ii) representing by a multiset representing at least one consumer and their resource requirements, and any value constraints associated with each of said domain multisets; ,
(B) identifying, from each domain multiplex, a supply corresponding to the resource availability and orthogonal to the value for each element of the domain; (c) from each consumer multiplex, the consumer multiplex Identifying the demands that correspond to the resource requirements and are orthogonal to any constraints on the required values for each consumer.

【0014】本発明は、さらに、資源割り当て問題に関
連付けられた制約を表現する方法も提供するものであ
り、以下のように構成する。 (a)前記資源割り当て問題を、(i)零以上の要素に
対する資源使用可能度と値との双方を含む少なくとも1
つの定義域の各々を表わす多重集合と、(ii) 少なくと
も1つのコンシューマおよびそれらの資源要件、ならび
に前記定義域多重集合の各々に関連付けられた任意の値
制約を表わす多重集合とによって表現するステップと、
(b)各定義域多重集合から、当該定義域の各要素につ
いて、資源使用可能度に対応すると共に値と直交する供
給を特定するステップと、(c)各コンシューマ多重集
合から、当該コンシューマ多重集合の各コンシューマに
ついて、資源要件に対応すると共に必要な値に対する任
意の制約と直交する需要を特定するステップと(d)各
定義域多重集合について、当該定義域多重集合の供給属
性と、関連するコンシューマ多重集合の需要属性との間
の関連付けから、単項資源制約を定義するステップと、
(e)各コンシューマ多重集合について、当該コンシュ
ーマ多重集合内のコンシューマ相互間の2項資源制約
を、個々の問題表現に関連付けて定義するステップとを
備える。
The present invention further provides a method for expressing constraints associated with a resource allocation problem, and is configured as follows. (A) The resource allocation problem includes (i) at least one including both resource availability and a value for zero or more elements.
(Ii) representing by a multiset representing at least one consumer and their resource requirements, and any value constraints associated with each of said domain multisets; ,
(B) identifying, from each domain multiplex, a supply corresponding to the resource availability and orthogonal to the value for each element of the domain; (c) from each consumer multiplex, the consumer multiplex Identifying the demands corresponding to the resource requirements and orthogonal to any constraints on the required values for each consumer of (d), for each domain multiplex, the supply attributes of the domain multiplex and the associated consumer Defining a unary resource constraint from an association between the multiset demand attributes;
(E) defining, for each consumer multiset, binomial resource constraints between consumers in the consumer multiset in association with individual problem expressions.

【0015】本発明は、さらに、資源割り当てに関する
制約問題をコンピュータを用いて解く方法も提供するも
のであり、以下のように構成する。 (a)前記資源割り当て問題を、(i)零以上の要素に
対する資源使用可能度と値との双方を含む少なくとも1
つの定義域の各々を表わす多重集合と、(ii) 少なくと
も1つのコンシューマおよびそれらの資源要件、ならび
に前記定義域多重集合の各々に関連付けられた任意の値
制約を表わす多重集合とによって表現するステップと、
(b)各定義域多重集合から、当該定義域の各要素につ
いて、資源使用可能度に対応すると共に値と直交する供
給を特定するステップと、(c)各コンシューマ多重集
合から、当該コンシューマ多重集合の各コンシューマに
ついて、資源要件に対応すると共に必要な値に対する任
意の制約と直交する需要を特定するステップと(d)各
定義域多重集合について、当該定義域多重集合の供給属
性と、関連するコンシューマ多重集合の需要属性との間
の関連付けから、単項資源制約を定義するステップと、
(e)各コンシューマ多重集合について、当該コンシュ
ーマ多重集合内のコンシューマ相互間の2項資源制約
を、個々の問題表現に関連付けて定義するステップと、
(f)前記単項資源制約および2項資源制約に時間的な
バックトラック・アルゴリズムを適用して、前記問題を
解くステップとを備える。
The present invention further provides a method of solving a constraint problem relating to resource allocation by using a computer, and is configured as follows. (A) The resource allocation problem includes (i) at least one including both resource availability and a value for zero or more elements.
(Ii) representing by a multiset representing at least one consumer and their resource requirements, and any value constraints associated with each of said domain multisets; ,
(B) identifying, from each domain multiplex, a supply corresponding to the resource availability and orthogonal to the value for each element of the domain; (c) from each consumer multiplex, the consumer multiplex Identifying the demands corresponding to the resource requirements and orthogonal to any constraints on the required values for each consumer of (d), for each domain multiplex, the supply attributes of the domain multiplex and the associated consumer Defining a unary resource constraint from an association between the multiset demand attributes;
(E) defining, for each consumer multiset, binary resource constraints between consumers in the consumer multiset in association with individual problem expressions;
(F) applying a temporal backtracking algorithm to the unary and binary resource constraints to solve the problem.

【0016】本発明は、さらに、資源割り当てに関する
制約問題の解を計算するコンピュータ・プログラムを記
録したコンピュータ読み取り可能な媒体を備えたコンピ
ューター・プログラム製品を開示するものでり、以下の
ように構成する。前記資源割り当て問題を、(i)零以
上の要素に対する資源使用可能度と値との双方を含む少
なくとも1つの定義域の各々を表わす多重集合と、(i
i) 少なくとも1つのコンシューマおよびそれらの資源
要件、ならびに前記定義域多重集合の各々に関連付けら
れた任意の値制約を表わす多重集合とによって表現する
コンピュータ・コード手段と、各定義域多重集合から、
当該定義域の各要素について、資源使用可能度に対応す
ると共に値と直交する供給を特定するコンピュータ・コ
ード手段と、各コンシューマ多重集合から、当該コンシ
ューマ多重集合の各コンシューマについて、資源要件に
対応すると共に必要な値に対する任意の制約と直交する
需要を特定するコンピュータ・コード手段と各定義域多
重集合について、当該定義域多重集合の供給属性と、関
連するコンシューマ多重集合の需要属性との間の関連付
けから、単項資源制約を定義するコンピュータ・コード
手段と、各コンシューマ多重集合について、当該コンシ
ューマ多重集合内のコンシューマ相互間の2項資源制約
を、個々の問題表現に関連付けて定義するコンピュータ
・コード手段と、前記単項資源制約および2項資源制約
に時間的なバックトラック・アルゴリズムを適用して、
前記問題を解くコンピュータ・コード手段とを備える。
The present invention further discloses a computer program product provided with a computer-readable medium storing a computer program for calculating a solution of a constraint problem relating to resource allocation, and is configured as follows. . The resource allocation problem includes: (i) a multiset representing each of at least one domain including both resource availability and values for zero or more elements;
i) computer code means for representing by at least one consumer and their resource requirements, and a multiset representing any value constraints associated with each of said domain multisets, and from each domain multiset:
For each element of the domain, the computer code means for specifying the supply corresponding to the resource availability and orthogonal to the value, and from each consumer multiplex set, the resource requirements for each consumer of the consumer multiplex set And computer code means for identifying a demand orthogonal to any constraints on the required values, and for each domain multiplex, an association between the supply attribute of the domain multiplex and the demand attribute of the associated consumer multiplex. And computer code means for defining unary resource constraints and, for each consumer multiset, binomial resource constraints between consumers in the consumer multiset in association with individual problem expressions. , Temporal back to the unary and binary resource constraints By applying a rack algorithm,
Computer code means for solving the problem.

【0017】本発明は、さらに、資源割り当てに関する
制約問題の解を計算するようにプログラムされたコンピ
ュータ・システムを開示するものであり、以下のように
構成する。コンピュータ・プログラムを格納するメモリ
と、前記資源割り当て問題を要素の少なくとも1つの定
義域として入力するのに使用するデータ入力手段であっ
て、前記要素の各々は資源使用可能度を有し、少なくと
も1つのコンシューマの各々が資源要件を有するデータ
入力手段と、前記資源割り当て問題を、(i)零以上の
要素に対する資源使用可能度と値との双方を含む少なく
とも1つの定義域の各々を表わす多重集合と、(ii) 少
なくとも1つのコンシューマおよびそれらの資源要件、
ならびに前記定義域多重集合の各々に関連付けられた任
意の値制約を表わす多重集合とによって表現し、各定義
域多重集合から、当該定義域の各要素について、資源使
用可能度に対応すると共に値と直交する供給を特定し、
各コンシューマ多重集合から、当該コンシューマ多重集
合の各コンシューマについて、資源要件に対応すると共
に必要な値に対する任意の制約と直交する需要を特定
し、各定義域多重集合について、当該定義域多重集合の
供給属性と、関連するコンシューマ多重集合の需要属性
との間の関連付けから、単項資源制約を定義し、各コン
シューマ多重集合について、当該コンシューマ多重集合
内のコンシューマ相互間の2項資源制約を、個々の問題
表現に関連付けて定義し、前記単項資源制約および2項
資源制約に時間的なバックトラック・アルゴリズムを適
用して前記問題を解くように、前記資源割り当て問題に
応答して前記コンピュータ・プログラムを実行するプロ
セッサとを備える。
The present invention further discloses a computer system programmed to calculate a solution to a constraint problem relating to resource allocation, and is configured as follows. A memory for storing a computer program, and data input means for inputting the resource allocation problem as at least one domain of an element, each of the elements having a resource availability, at least one of A multi-set representing each of at least one domain comprising: (i) data availability means for each of two consumers having resource requirements; and the resource allocation problem comprising: (i) both resource availability and values for zero or more elements. And (ii) at least one consumer and their resource requirements;
And expressed by a multiplex set representing an arbitrary value constraint associated with each of the domain multiplex sets. From each domain multiplex set, for each element of the domain, a value corresponding to the resource availability and a value Identify orthogonal supplies,
From each consumer multiplex set, for each consumer of the consumer multiplex set, specify a demand that corresponds to the resource requirement and is orthogonal to any constraint on the required value, and supplies the domain multiplex set for each domain multiplex set. Unary resource constraints are defined from the association between the attributes and the demand attributes of the associated consumer multisets, and for each consumer multiset, the binomial resource constraints between the consumers in the consumer multiset are defined for each individual problem. Executing the computer program in response to the resource allocation problem so as to define the expression in relation to an expression and apply a temporal backtracking algorithm to the unary and binary resource constraints to solve the problem. A processor.

【0018】[0018]

【発明の実施の形態】まず始めに既存のCSP(制約満
足問題)、特に2項CSPの用語体系を考察し、その
後、本発明に寄与する資源制約の詳細な定義を提示する
のが有益である。
DETAILED DESCRIPTION OF THE INVENTION It is useful to first consider the existing CSP (Constraint Satisfaction Problem), especially the terminology of the Binary CSP, and then provide a detailed definition of the resource constraints that contribute to the present invention. is there.

【0019】値制約満足問題(Value Constraint Satis
faction Problem)
Value Constraint Satis
faction Problem)

【0020】2項値制約満足問題(V,D,U,B)
は、n個の変数{v1,...,vn }から成る集合V、n個
の個別値定義域{D1,...,Dn }から成る集合D、n個
の個別単項値制約(あるいは個別単項値関係)
{U1,...,Un }から成る集合U(ただし各定義域につ
きUi ⊆Di )、および、vi とvj との間の2項値制
約(あるいは2項値関係)Bijから成る集合Bから成
る。単項値制約の「前処理(pre-processing)」アプリ
ケーションは、(ノード整合性をなし遂げるために)個
別定義域につきBijが単項関係の積の部分集合である、
すなわちBij⊆Ui ×Uj が成り立つように仮定してい
る。
Binary value constraint satisfaction problem (V, D, U, B)
Is a set V of n variables {v 1 , ..., v n }, a set D of n individual value domains {D 1 , ..., D n }, n individual unary Value constraints (or individual unary value relations)
{U 1, ..., U n } consisting of the set U (except U i ⊆D i for each domain), and, second term value constraint (or two-term value relationship) between v i and v j It consists of a set B consisting of B ij . The "pre-processing" application of the unary value constraint is that for each domain (in order to achieve node consistency) B ij is a subset of the product of the unary relations,
That is, it is assumed that B ij ⊆U i × U j is satisfied.

【0021】順序付き対(vi ,ai )は、定義域から
の値ai での変数vi の例示(instantiation)を表わし
ている。(例示とは、変数に値を代入して実例(instan
ce)を生成することである)。ai がvi に関し任意の
単項値制約を満たす場合、順序付き対(vi ,ai )は
「整合している(consistent)」と言われる。変数の部
分集合の例示は、順序付き対の組((v1 ,a
1 ),..., (vi ,ai ))によって表記される。この
組(すなわち部分的例示)は、普通、(a1 ,...,
i)と略記する。組中のすべての順序付き対が整合し
ており、かつ、当該組中の変数に関するすべての2項値
制約が満たされている場合、その組は整合している。整
合している部分的例示は、部分解と呼ばれている。すべ
ての変数を含む整合している集合が解である。変数の例
示には固定した順序が存在するものと仮定されている。
The ordered pair (v i , a i ) represents the instantiation of the variable v i at the value a i from the domain. (Illustration is an example of assigning a value to a variable.
ce).) If a i satisfies any unary value constraint relates v i, ordered pair (v i, a i) is said to be "consistent (consistent)." An example of a subset of variables is an ordered pair ((v 1 , a
1), ..., it is denoted by (v i, a i)) . This set (ie, a partial example) is usually (a 1 , ...,
ai ). A set is consistent if all ordered pairs in the set are consistent and all binomial constraints on the variables in the set are satisfied. The matching partial instances are called partial solutions. A consistent set containing all variables is the solution. It is assumed that a fixed order exists in the example of the variables.

【0022】多重集合(Multi-sets)Multi-sets

【0023】多重集合mとは、非空の定義域集合Dに対
する関数m∈[D→N](ただし、Nは非負の整数であ
り、[D→N]はDからNへのすべての関数の集合であ
る)のことである。整数関数m(e)∈Nは、要素e∈
Dの実例(instance)の数のことである。m(e)≠0
の場合、要素eはmに属すと言われる。m(e)がすべ
ての要素e∈Dに対して1である場合、多重集合mは、
それが定義されている集合Dと等しい。多重集合は、普
通、m(e1)' e1 +・・・+m(en)' enと略記す
る。例えば、図1の多重集合は、3‘赤+3‘緑+1
‘青と表記する。多重集合に関して定義されている有用
な関係をいくつか挙げる。 m1 ≧m2 =[∀e∈D:m1 ≧m2 ](比較) m2 −m1 =[ΣeD(m2(e) −m1(e))‘e](差
分)
The multiset m is a function m∈ [D → N] for a non-empty domain set D (where N is a non-negative integer, and [D → N] is all functions from D to N). Is a set of The integer function m (e) ∈N is the element e∈
It is the number of instances of D. m (e) ≠ 0
, The element e is said to belong to m. If m (e) is 1 for all elements e∈D, the multiset m is
It is equal to the set D in which it is defined. Multiple sets, usually, m (e 1) 'e 1 + ··· + m (e n)' abbreviated as e n. For example, the multiset of FIG. 1 is 3 ′ red + 3 ′ green + 1
'Write blue. Here are some useful relationships defined for multisets. m 1 ≧ m 2 = [∀e∈D: m 1 ≧ m 2 ] (comparison) m 2 −m 1 = [Σ eD (m 2 (e) −m 1 (e)) ′ e] (difference)

【0024】単項資源制約(Unary Resource Constrain
ts)
Unary Resource Constraint
ts)

【0025】単項資源制約と2項資源制約は、本発明の
数学的基礎を成す。始めに、単項資源制約を定義する。
Unary and binary resource constraints form the mathematical basis of the present invention. First, unary resource constraints are defined.

【0026】各要素e∈DとDにわたる多重集合mに関
し、以後、m(e) をmにおけるeの供給(supply)と
して参照する。2項CSPは、単項資源制約を含むよう
に拡張されて、(V,D,M,U,B)となる。ここ
で、Mは、値定義域の各値ei∈Dが供給mi (e) を
有するような、個別値定義域{D1,...,Dn }にわたる
n個の多重集合{m1,...,mn }から成る集合である。
さらに、各変数は、関連する需要(δi と表記)を有す
る。δi は、変数の値定義域における任意の値に対して
必要な実例の数である。変数−需要の順序付き対は、
(vii)と表わされるが、それ自身が多重集合である
ことを示すためにδi'vi なる表記を使う。以上のこと
から、Vは、式(1)に示すように、n個の変数−需要
対の集合である。 V={δ1'v1,...,δn'vn }・・・(1)
For a multiset m over each element e∈D and D, we will hereinafter refer to m (e) as the supply of e in m. The binary CSP is extended to include the unary resource constraint to be (V, D, M, U, B). Here, M, the values e i ∈D value domain is like having a feed m i (e), individual values domain {D 1, ..., D n } n -number of multiset over { m 1, ..., a set consisting of m n}.
Further, each variable has an associated demand (denoted as δ i ). δ i is the number of instances required for any value in the value domain of the variable. The ordered pair of variable-demand is
(V i, δ i) is represented as, using [delta] i 'v i becomes notation to indicate that itself is a multi-set. From the above, V is a set of n variable-demand pairs, as shown in equation (1). V = {δ 1 'v 1 , ..., δ n ' v n } (1)

【0027】順序付き組(δi,vi,ai) は、値ai∈Di
の実例δi を有する変数vi の例示を表わす。m(ai)
≧δi 、すなわちaiの供給が少なくともvi の需要を満
たす場合、この順序付き組(δi,vi,ai) は資源整合(r
esource consistent) していると言われる。多重集合に
おける例示は、δi'aij と略記する。各変数の需要は、
その定義域に関する暗黙的な単項値制約を表わす。これ
は、変数vi に対する単項資源制約と呼ばれており、次
の式(2) で定義されている。 μi =Di −{e∈Di |mi (e)<δi }(2)
The ordered set (δ i , v i , a i ) has the value a i ∈D i
Represents an example of a variable v i having an instance δ i of m (a i )
≧ [delta] i, i.e. a case i supply of satisfying the demands of at least v i, the ordered pair (δ i, v i, a i) is the resource matching (r
esource consistent) is said to be. An example in the multiple set is abbreviated as δ i ′ a i j. The demand for each variable is
Represents an implicit unary value constraint on the domain. This is called a unary resource constraints for the variable v i, is defined by the following equation (2). μ i = D i - {e∈D i | m i (e) <δ i} (2)

【0028】変数の需要を満たさない供給をもたらす値
からは、整合した例示が得られない。この単項資源制約
は、変数に追加的に適用できる任意の単項値制約と直交
する。供給と需要がすべて1のとき、資源制約は消失す
る(あるいは考慮すべき定義域に値が存在するはずの暗
黙的な制約に変容する)。単項値制約の場合と同様に、
単項資源制約も定義域の前処理によって実現することが
できる。
A consistent example cannot be obtained from a value that results in a supply that does not meet the demand for the variable. This unary resource constraint is orthogonal to any unary value constraint that can additionally be applied to the variable. When supply and demand are all ones, the resource constraint vanishes (or transforms into an implicit constraint that must have a value in the domain to be considered). As with the unary value constraint,
Unary resource constraints can also be realized by preprocessing the domain.

【0029】2項資源制約(Binary Resource Constrai
nts)
Binary Resource Constraint
nts)

【0030】ここでは、以前の定義をさらに拡張して2
項資源制約を含むようにする。2項資源制約の主要な側
面として、複数の変数の間における1つの定義域の「共
有(sharing)」を導入する。Vを変数−需要のn個の非
空の集合{V1,...,Vn }とする。各々は、個別値定義
域に割り当てられている。したがって、次の式(3) が得
られる。 V={{δ1i' v1i,..., δ1j' v1j},..., {δni' vni,..., δnknk}}・・・(3) ただし、V1 ∩V2 ∩... ∩Vn =φ、すなわち1つの
変数は1つの定義域にしか関連付けられていない。定義
域と同様に、変数−需要対の各集合は多重集合であるの
で、Vは、式(4)に示すように、変数の多重集合の集
合として表現することができる。 V={δ1i' v1i+・+δ1j' v1j,..., δni' vni+・+δnknk}・・・(4)
Here, the previous definition is further extended to 2
Include term resource constraints. As a major aspect of the binomial resource constraint, we introduce the "sharing" of one domain between multiple variables. Let V be an n-empty set of variables-demand {V 1 , ..., V n }. Each is assigned to an individual value domain. Therefore, the following equation (3) is obtained. V = {{δ 1i 'v 1i , ..., δ 1j ' v 1j }, ..., {δ ni 'v ni , ..., δ nk v nk }} ・ ・ ・ (3) V 1 ∩V 2 ∩ ... ∩V n = φ, that is, one variable is associated with only one domain. As in the case of the domain, each set of the variable-demand pair is a multiplex set, so that V can be expressed as a set of multiplex sets of variables as shown in Expression (4). V = {δ 1i 'v 1i + · + δ 1j ' v 1j , ..., δ ni 'v ni + · + δ nk v nk } ・ ・ ・ (4)

【0031】k個の変数から成る変数多重集合Vi の例
示Ai は、 δi1' ai1+・+δik' aik ただし、aik∈Di
となる。 mi ≧Ai の場合、例示Ai は資源整合している。多重
集合内の多重変数は、同じ値で例示することができる。
したがって、値e∈Di に関する例示の合計需要は、A
i(e)と表記する。
An example A i of a variable multiset V i consisting of k variables is δ i1 ′ a i1 + · + δ ik ′ a ik where a ik ∈D i
Becomes If m i ≧ A i , the example A i is resource consistent. Multiple variables in a multiple set can be illustrated with the same value.
Thus, the exemplary total demand for the value e∈D i is A
i (e).

【0032】資源整合性は、変数多重集合に対する2項
値制約の集合として表現することができる。変数−需要
対の集合Vi の資源整合している部分的例示δi1' vi1
+・+δij' vijの場合、変数vij+1の例示に対して維
持されている効率的な多重集合は、mij+1=mi −Aij
である。そして、mi+1 ≧Aij+1の場合、部分的例示A
ij+1は資源整合している。すなわち、Vi の各変数は、
同じ値定義域を共有している変数のすべての先行する例
示によって制約されている(このことは、任意の暗黙的
な単項資源制約にとって補足的である)。これは、直観
的には、先行する例示が変数の供給に「飢えている(st
arve)」からである。変数−需要対の集合Vi の変数v
ijに関する資源2項値制約を式(5)のように定義す
る。 βij=Di −{e∈Di |mi <(Aij-1 (e)+δij)}・・・(5)
Resource consistency can be expressed as a set of binomial constraints on a variable multiset. Variable - partially illustrated are resources matching the set V i demand versus [delta] i1 'v i1
In the case of + · + δ ij ′ v ij , the efficient multiset maintained for the example of variable v ij + 1 is m ij + 1 = m i −A ij
It is. Then, if m i + 1 ≧ A ij + 1 , a partial example A
ij + 1 is resource consistent. In other words, each variable of V i is,
Constrained by all preceding instances of variables sharing the same value domain (this is complementary to any implicit unary resource constraint). This means that intuitively, the preceding example "starved (st
arve) ”. Variable - a set of demand-to-V i of the variable v
A resource binomial constraint on ij is defined as in equation (5). β ij = D i- {e∈D i | m i <(A ij-1 (e) + δ ij )} (5)

【0033】資源割り当て問題の表現Expression of resource allocation problem

【0034】図1は、単項かつ2項資源制約問題として
表現された上述した単純な問題を示す図である。定義域
多重集合10は、3個の赤いアイテム、2個の緑のアイ
テム、1個の青いアイテムを含んでいる。この意味は、
アイテムの数は「資源の使用可能度(resource availab
ility)」を示し、一方、色は「値(value)」示してい
る、ということである。関連するコンシューマ多重集合
20内の3つの変数x、y、zは、すべて、定義域多重
集合10から資源を獲得するために競争している。もっ
と複雑な資源割り当て問題では、少なくとも2つの定義
域多重集合が存在し、その各々にコンシューマ多重集合
が関連付けられている。
FIG. 1 is a diagram illustrating the simple problem described above expressed as a unary and binary resource constraint problem. The domain multiset 10 includes three red items, two green items, and one blue item. This means
The number of items is "resource availab
ility), while the color indicates "value". All three variables x, y, z in the associated consumer multiplex 20 are competing for resources from the domain multiplex 10. In more complex resource allocation problems, there are at least two domain multisets, each of which is associated with a consumer multiset.

【0035】定義域内の各アイテムの供給は、定義域多
重集合10から特定する。すなわち、赤いアイテムは3
個、緑のアイテムは2個、青いアイテムは1個である。
定義域多重集合10内の各アイテムの供給は、その値
(この例では色)と直交している。したがって、例え
ば、定義域10に第4の赤いアイテムを付加しても、そ
れは値の表現に影響しない。換言すると、このような問
題の既存の表現と異なり、使用可能度と値は、関連がな
いものとして扱う。
The supply of each item in the domain is specified from the domain multiplex set 10. That is, the red item is 3
Pieces, two green items, and one blue item.
The supply of each item in the domain multiplex 10 is orthogonal to its value (color in this example). Thus, for example, adding a fourth red item to the domain 10 does not affect the value representation. In other words, unlike existing expressions of such problems, usability and values are treated as unrelated.

【0036】各変数の需要は、コンシューマ多重集合2
0から特定する。すなわち、変数xは1個、変数yは2
個、変数zは3個である。各変数の需要は、各変数に割
り当てられうる値に関し、任意の制約と直交している。
したがって、次に示す事項が成り立つ。 (i )問題の再定義の結果として、任意の変数の需要に
引き続いて生じる変化は、当然、当該変数に割り当てら
れうる値に影響しない。 (ii)変数に対して単項および/または2項値制約を含
めるために引き続いて行なう問題の再定義は、個別変数
の需要の変化を必要としない。(「Aおよび/または
B」は「AおよびB、A、またはB」を表わす)。
The demand for each variable is expressed by the consumer multiset 2.
Specify from 0. That is, one variable x and two variables y
And three variables z. The demand for each variable is orthogonal to any constraints on the values that can be assigned to each variable.
Therefore, the following items hold. (I) Changes that follow the demand for any variable as a result of redefining the problem, of course, do not affect the values that can be assigned to that variable. (Ii) Subsequent redefinition of the problem to include unary and / or binomial constraints on the variables does not require a change in demand for the individual variables. ("A and / or B" stands for "A and B, A, or B").

【0037】変数y、zは、非単項の需要を有するか
ら、定義域多重集合10に対して単項資源制約を課す。
したがって、次に示す単項資源制約を定義する。 (i )定義域10に対する変数yからの単項資源制約。
この結果、供給が(yの需要である)2未満のすべての
アイテムを考慮しなくてもよくなる。 (ii)定義域10に対する変数zからの単項資源制約。
この結果、供給が(zの需要である)3未満のすべての
アイテムを考慮しなくてもよくなる。
Since the variables y and z have non-unary demands, they impose unary resource constraints on the domain multiset 10.
Therefore, the following unary resource constraint is defined. (I) Unary resource constraint from the variable y to the domain 10.
As a result, all items whose supply is less than 2 (which is the demand for y) need not be considered. (Ii) Unary resource constraint from the variable z on the domain 10.
As a result, all items whose supply is less than 3 (which is the demand for z) need not be considered.

【0038】コンシューマ多重集合20内の変数をアイ
テムの値で例示すると、当該変数の需要に等しい量だけ
当該アイテムの供給が減少する。任意だが固定した順序
の変数の例示に基づいて、コンシューマ多重集合20内
の変数の間に2項資源制約の集合を定義する。これらの
2項資源制約は、2項資源制約図として定義されてい
る。2項資源制約図の構造は、変数例示の順序をどのよ
うに選択するかによって決まる。2項資源制約は、同じ
コンシューマ多重集合20内の変数をすべて例示する
と、後続する変数に対するアイテムの供給が「損失(de
privation)」することに基づいている。図2は、図1の
問題に対する2項資源制約図であり、変数例示をx、
y、zの順に行なう場合を示している。
If a variable in the consumer multiplex 20 is exemplified by the value of an item, the supply of the item is reduced by an amount equal to the demand of the variable. Based on the optional but fixed ordering of the variables, a set of binary resource constraints is defined between the variables in the consumer multiset 20. These binary resource constraints are defined as binary resource constraint diagrams. The structure of the binomial resource constraint diagram depends on how the order of example variables is selected. If the binomial resource constraint exemplifies all variables in the same consumer multi-set 20, the supply of items for subsequent variables is "loss (de
privation) ". FIG. 2 is a binomial resource constraint diagram for the problem of FIG.
The case of performing in the order of y and z is shown.

【0039】一般に、k項(k≧1)値制約は、資源制
約に関係する任意の変数に対して(あるいは任意の変数
の間に)存在しうる。下で示すアルゴリズムは、これを
容易にするものである。しかし、資源制約図と値制約図
(両者とも下で示すアルゴリズムで使う)は、既述のよ
うに、互いに直交している(図1参照)。変数−需要対
の集合がすべて単集合の場合、単項資源制約しか存在し
えない。すべての需要が1の場合、値制約図は消失す
る。上記定義によって、一般化した値−資源CSPを実
現することができる。図1に示した既存の値のみ問題と
資源のみ問題は、一般化した値−資源CSPのそれぞれ
一形態である。
In general, a k-term (k ≧ 1) value constraint can exist for (or between) any variables involved in a resource constraint. The algorithm shown below facilitates this. However, the resource constraint diagram and the value constraint diagram (both used in the algorithm shown below) are orthogonal to each other as described above (see FIG. 1). If the set of variable-demand pairs is a single set, then only unary resource constraints can exist. If all demands are 1, the value constraint diagram disappears. With the above definition, a generalized value-resource CSP can be realized. The existing value-only problem and the resource-only problem shown in FIG. 1 are each a form of generalized value-resource CSP.

【0040】1つの問題内で値制約と資源制約とを互い
に直交する(すなわち別々の)ものとして扱う利点は、
次のとおりである。 ○単一のアルゴリズムによって問題を効率的に解くこと
ができる。 ○問題の表現を直観的なものにすることができる。 ○資源が変化しても、要素の値属性を変更する必要がな
い。 ○下で示すアルゴリズムは、特別なプログラミング言語
を必要としないし、特別な環境をサポートする必要もな
い。下で示すアルゴリズムは、既存の設計やシステムに
容易に組み込むことができる。さらに、下で示すアルゴ
リズムは、組み込みシステムなどの「軽量(lightweigh
t)」ソフトウェアに組み込むことができる。
The advantage of treating value constraints and resource constraints as orthogonal to each other (ie, separate) within one problem is that
It is as follows. ○ The problem can be solved efficiently by a single algorithm. ○ The problem expression can be intuitive. ○ Even if resources change, it is not necessary to change the value attribute of the element. ○ The algorithm shown below does not require a special programming language and does not need to support a special environment. The algorithm shown below can be easily integrated into existing designs and systems. In addition, the algorithm shown below is for "lightweight"
t) "can be incorporated into the software.

【0041】一般化した問題表現Generalized problem expression

【0042】図1は、6個の要素を含む単一の定義域多
重集合の実例を示している。6個の要素は、使用可能度
と値を表現している。値には、単一のコンシューマ多重
集合が関連付けられている。この単一のコンシューマ多
重集合は、3個のコンシューマとそれらの資源制約を有
している。この例には、値制約は存在しない。
FIG. 1 shows an example of a single domain multiset containing six elements. The six elements represent the usability and the value. A single consumer multiplex is associated with the value. This single consumer multiplex has three consumers and their resource constraints. In this example, there are no value constraints.

【0043】図3は、資源制約問題の一般化した表現を
示す図である。図3には、N個の定義域30N があり、
各定義域は要素32、34の多重集合によって表現され
ている。各要素は、資源使用可能度(「ra」)と値
(「v」)を有する。各定義域多重集合は、異なる要素
番号を有する(例えば32i 、34j など)。「資源使
用可能度(ra)」は、「値(v)」と直交するように
表現されており、供給を表現している。
FIG. 3 is a diagram showing a generalized expression of the resource constraint problem. In FIG. 3, there are N domains 30 N ,
Each domain is represented by a multiple set of elements 32 and 34. Each element has a resource availability ("ra") and a value ("v"). Each domain multiplex has a different element number (eg, 32 i , 34 j, etc.). The “resource availability (ra)” is expressed so as to be orthogonal to the “value (v)” and expresses supply.

【0044】多数のコンシューマ42k を有するコンシ
ューマ多重集合40が存在する。各コンシューマは、資
源要件(「rr」)と任意の値制約(「vc」)を有す
る。「資源要件(rr)」は、「値制約(vc)」と直
交するように表現されている。コンシューマ多重集合4
0と定義域多重集合30との間を結ぶ弧には、コンシュ
ーマの様々な弧が含まれている(例えば、k個のコンシ
ューマのうち、k−1は多重集合301 に関して需要を
有しており、k−4は多重集合30N に関して需要を有
している、など)。したがって、「l」は「k」個のコ
ンシューマの部分集合である。
There is a consumer multiset 40 having a number of consumers 42 k . Each consumer has a resource requirement ("rr") and an optional value constraint ("vc"). “Resource requirement (rr)” is expressed so as to be orthogonal to “value constraint (vc)”. Consumer multiset 4
The arc connecting between 0 and domain multiset 30 includes various arc consumers (e.g., among the k consumer, k-1 is a demand regarding multiset 30 1 cage, k-4 has a demand regarding multiset 30 N, etc.). Thus, "l" is a subset of "k" consumers.

【0045】資源制約用FC−CBJ(Forward Checki
ng with Conflict-Directed Backjumping)の拡張
Resource Constraint FC-CBJ (Forward Checki
ng with Conflict-Directed Backjumping)

【0046】本発明は、一実施形態において、FC(Fo
rward Checking: フォワード・チェック)成分の応用か
ら派生したFC−CBJアルゴリズムの拡張を提供す
る。FCは、値CSPにおいて、次のように動作する。
まず、部分的例示(a1,...,a i)と、変数vi と未例示
の変数vj 、vk 、vl との間の制約{Bij, Bik, B
il}の集合とを考える。そして、例示ai 用の制約と
「除去した(removed)」非整合のすべての値とに対し
て、これらの変数の定義域を調べる。調べた結果、空の
定義域がなければ、部分的例示は整合しているから、変
数vi+1 の拡張を試みる。空の定義域がある場合には、
当該空の定義域を元に戻し、変数vi に対して別の値を
試みる。もし、これが不可能な場合には、バックトラッ
クを行なう。
In one embodiment, the present invention relates to an FC (Fo)
rward Checking: Forward Checking?
Provides an extension of the FC-CBJ algorithm derived from
You. FC operates at the value CSP as follows.
First, a partial example (a1, ..., a i) And the variable vi And not illustrated
Variable vj , Vk , Vl {B betweenij, Bik, B
ilConsider the set of}. And example ai Constraints and
For all "removed" inconsistent values
And examine the domain of these variables. As a result of the investigation,
Without the domain, the partial examples would be consistent and
Number vi + 1 Try to extend. If you have an empty domain,
Restore the empty domain and return the variable vi Another value for
Try. If this is not possible, backtrack
Perform

【0047】FCは、次に示すように、資源制約に適用
することができる。すなわち、定義域Dikを共有する変
数−需要対の集合Vi に対して、上記式(5)から、変
数v ikは、当該変数より前に例示されたすべての変数v
i1,..., vik-1によって制約されていることが分かる。
部分的例示Aij-1のあとに残った値e∈Di の供給は、
i(e)−Aij-1 (e)である。この供給は需要δij
δikを両方とも満たしているが、引き続くe のvijへの
割り当てはこの値に対する変数vikの供給に「飢えてい
る(starve)」(すなわち供給されない状態にある)。
したがって、変数は、バックトラックが最終的にvij
再割り当てするまで割り当てられることのない変数eと
衝突状態にある。FCは、(i)各変数について残って
いる供給の運転勘定(running tally)を整備し、(ii)
すべての未例示の変数に対してフォワード供給−需要チ
ェック(最後に割り当てられた値に対してのみ必要)を
実行することにより、実現することができる。(運転勘
定とは、出入りの動的な記録のことである)。
FC is applied to resource constraints as shown below.
can do. That is, the domain DikTo share
Set V of number-demand pairsi From equation (5) above,
Number v ikAre all variables v exemplified before the variable
i1, ..., vik-1It can be seen that it is restricted by
Partial example Aij-1Value e∈D remaining afteri The supply of
mi(e) -Aij-1 (e). This supply is the demand δij,
δikSatisfies both, but the following vijTo
The assignment is a variable vikHungry for the supply of
("Starve").
Therefore, the variable isijTo
Variable e which is not assigned until reassignment
You are in a collision. FC is (i) remaining for each variable
Maintain a running tally of supply that is
Forward supply-demand ch for all unexemplified variables
Check (only needed for the last assigned value)
This can be realized by executing. (Driving intuition
Is a dynamic record of entry and exit.)

【0048】FCにCBJ(Conflict-Directed Backju
mping)を付加すると、衝突集合(conflict set)を使うこ
とにより、バックトラックの効率が改善する。整合性は
FCによってきまるから、CBJは、値制約と資源制約
の双方を平等にうまく扱うことができる。例示
(a1,...,ai)に対するフォワード整合性チェックによ
って、定義域Dj から値が除去されるごとに、vj の一
意の衝突集合に変数vi を付加する。Dj からすべての
値が除去されると、(vi を除く)vj の衝突集合は、
i の衝突集合と一体化してしまうので、別の例示を試
みる。これが不可能な場合、アルゴリズムは、vi の衝
突集合中に存在するv1...vi-1 から最後に例示した変
数へ直接「バックジャンプ(backjump)」する。この結
果、vi の新たな衝突集合は目的変数(すなわち最後に
例示した変数)の衝突集合と一体化してしまうので、既
存の衝突はすべて残存する。資源制約を解くのにCBJ
は必要ではない。しかし、CBJは効率が良いので、定
義域を共有する変数を無関係の変数で(例示の順に)離
散させることができる。この実施形態を(多重集合用)
FC−CBJ−Mと名付ける。下で、その動作を説明す
る。
[0048] CBJ (Conflict-Directed Backju
Adding a mping) improves the efficiency of backtracking by using a conflict set. Since consistency is determined by FC, CBJ can handle both value constraints and resource constraints equally well. Each time a value is removed from the domain D j by a forward consistency check on the example (a 1 ,..., A i ), a variable v i is added to the unique collision set of v j . When all values have been removed from D j, the collision set of v j (except v i ) is
v Because i would be integrated with the set of the collision, try another example. If this is not possible, the algorithm, v directly from the v 1 ... v i-1 present in the collision set in i to the last to the illustrated variable to "back jump (backjump)". As a result, the new collision set of v i is integrated with the collision set of the target variable (ie, the last exemplified variable), and all existing collisions remain. CBJ to solve resource constraints
Is not necessary. However, since CBJ is efficient, variables sharing a domain can be discrete (in the order of illustration) with unrelated variables. This embodiment (for multiple sets)
Name it FC-CBJ-M. The operation will be described below.

【0049】図4は、FC−CBJ−Mを使った図1の
問題のステップ順の解法を示す図である。FC−CBJ
−Mアルゴリズムは、標準のFC−CBJアルゴリズム
に加えて、追加の記憶コンポーネントを1個しか必要と
しない。この追加の記憶コンポーネントは、各定義域要
素(すなわち各定義域値)の効率的な多重集合(すなわ
ち残存しているsupply〔供給〕)を表している。この追
加の記憶コンポーネントは、各定義域に対して配列の形
をとっており、その記憶の複雑さはQnmである。ただ
し、nは値定義域の数であり、mは任意の定義域内の値
の最大数である。FC−CBJから、各変数のconflict
(衝突)配列には、先行する例示と衝突状態にある定義
域値を記録する。各エントリは、もし存在すれば、衝突
している変数番号1、2、3(それぞれx、y、z)を
指し示している。0値は、単項衝突を示している(した
がって使用できない値である)。
FIG. 4 is a diagram showing a step-by-step solution of the problem of FIG. 1 using FC-CBJ-M. FC-CBJ
The -M algorithm requires only one additional storage component in addition to the standard FC-CBJ algorithm. This additional storage component represents an efficient multi-set of each domain element (ie, each domain value) (ie, the remaining supply). This additional storage component is in the form of an array for each domain, the storage complexity of which is Q nm . Here, n is the number of value domains, and m is the maximum number of values in any domain. From FC-CBJ, conflict of each variable
In the (collision) array, the domain values in a collision state with the preceding example are recorded. Each entry, if present, points to the conflicting variable numbers 1, 2, 3 (x, y, z, respectively). A value of 0 indicates a unary collision (and is therefore an unusable value).

【0050】図4は、本例の解に至る順列探索を通じて
supply配列の値とconflict配列の値の双方がどのように
変化するかを示す図である。
FIG. 4 shows the result of the permutation search leading to the solution of the present example.
FIG. 7 is a diagram showing how both the value of the supply array and the value of the conflict array change.

【0051】ステップ1は、各値の初期供給条件を示す
と共に、各変数の需要(これは一定に保たれている)が
どのように単項資源制約を課すかを示している。上述し
たように、これらの制約が失敗すると、それはconflict
配列に反映される。本例では、変数yには値青を割り当
てることができないが、一方、変数zには値赤しか割り
当てることができない。
Step 1 shows the initial supply conditions for each value and how the demand for each variable (which is kept constant) imposes a unary resource constraint. As mentioned above, if these constraints fail, it will conflict
Reflected in the array. In this example, the value y cannot be assigned to the variable y, but only the value red can be assigned to the variable z.

【0052】ステップ2では、第1の変数xを仮に値赤
に割り当てる。変数xは1の需要を有するから、当該値
赤に対応するsupply配列のエントリからこの需要を差し
引く。変数xは残りの変数と共に2項資源制約を有して
いるから、十分な供給余力のある少なくとも1つの値が
残っていないか調べることにより、各制約を試験する。
3の供給を有する値はもはや存在しないから、このよう
な試験は変数zに対しては行なわない。この結果、変数
zに対するconflict配列は、突然使えなくなったすべて
の値を示すように更新される。変数xを割り当てたこと
により、変数zは、すべての値に「飢える(starve)」
ことになる。したがって、この割り当ては実行不可能で
あるから、破棄する(よってsupply配列の値とconflict
配列の値は元に戻す)。
In step 2, the first variable x is temporarily assigned to the value red. Since the variable x has a demand of 1, this demand is subtracted from the entry in the supply array corresponding to the value red. Since the variable x has a binomial resource constraint with the remaining variables, each constraint is tested by checking for at least one value that has sufficient supply capacity.
Such a test is not performed on the variable z, since there is no longer a value with a supply of 3. As a result, the conflict array for the variable z is updated to show all values that suddenly become unavailable. By assigning variable x, variable z is "starve" for all values.
Will be. Therefore, this assignment is not feasible and is discarded (thus, the value of the supply array and the conflict
Undo the array value).

【0053】ステップ3では、変数xを次に入手可能な
値緑に割り当てる。この結果、値緑の供給が1だけ減少
する。これにより、変数yとの間で衝突が生じるけれど
も、どの変数も飢えない。したがって、この割り当ては
維持する。
In step 3, the variable x is assigned to the next available value green. As a result, the value green supply is reduced by one. This causes a conflict with the variable y, but does not starve any variables. Therefore, this assignment is maintained.

【0054】ステップ4では、次の変数yを、第1の
(そして唯一の)自由な値赤に割り当てる。この結果、
値赤の供給が2だけ減少する。これにより、変数zが複
数の値に「飢える(starve)」ことになるので、この割り
当ては破棄する。変数yのconflict配列にはもはや自由
な値が存在しないので、(FC−CBJが示しているよ
うに)最も高い位置で衝突している変数の割り当て(す
なわちx)まで「バックジャンプ(backjump)」するの
が安全である。ここでも、supply配列の値とconflict配
列の値は、各バックジャンプのステップにおいて更新さ
れる。
In step 4, the next variable y is assigned to the first (and only) free value red. As a result,
The supply of value red is reduced by two. This will discard this assignment because the variable z will "starve" for multiple values. Since there is no longer any free value in the conflict array for the variable y, a "backjump" is made to the assignment of the highest conflicting variable (ie x) (as FC-CBJ shows). It is safe to do. Again, the values of the supply array and the conflict array are updated at each back jump step.

【0055】ステップ5では、変数xを、次に入手可能
な値青に割り当てる。この結果、値青の供給が1だけ減
少する(そして値青は入手不可能になる)。これによ
り、変数y、zは単項値制約故にこの値青を使うことが
できないから、変数y、zに関し衝突は生じない。
In step 5, the variable x is assigned to the next available value blue. As a result, the supply of value blue is reduced by one (and value blue becomes unavailable). As a result, since the variable y and z cannot use this value blue because of the unary value constraint, no collision occurs with respect to the variables y and z.

【0056】ステップ6では、次の変数yを第1の自由
な値赤に割り当てる。この結果、値赤の供給が2だけ減
少する。次いで、ステップ4を繰り返すと、変数zが
「飢える(starve)」ので、この割り当ては破棄する。
In step 6, the next variable y is assigned to a first free value red. As a result, the value red supply is reduced by two. Then, repeating step 4, this assignment is discarded because the variable z is "starved".

【0057】ステップ7では、変数yを値緑に割り当て
る。これにより、変数zに関して衝突が生じないので、
こむ割り当てを維持する。
In step 7, the variable y is assigned to the value green. As a result, no collision occurs with respect to the variable z,
Maintain quotas.

【0058】ステップ8では、単に変数zを、第1のそ
して唯一の自由な値赤に割り当てる。これにより、問題
の解法が完了する。ここで例に挙げた問題は性質が単純
なので、CBJを使うことによって得られる効率の良さ
が損なわれている。しかし、現実的な(そして複雑な)
問題では、通常、このようなことにはならない(すなわ
ちCBJを使うことによる効率の良さを享受できる)。
In step 8, the variable z is simply assigned to the first and only free value red. This completes the solution of the problem. Since the problems cited here are simple in nature, the efficiency gained by using CBJ is impaired. But realistic (and complex)
In practice, this is not usually the case (ie, the benefits of using CBJ can be enjoyed).

【0059】FC−CBJ−MアルゴリズムFC-CBJ-M algorithm

【0060】FC−CBJ−Mアルゴリズムは、4つの
コンポーネントとして提供する。そのうちの1つは、F
C−CBJ−Mに固有のものである。しかし、残りの3
つは、元のFC−CBJを拡張したものである。次に示
すグローバル定数は、CSPの定義によって決められて
いる。すなわち、modecount とは変数の数のことであ
る。各変数nに対して、demandn とは需要のことであ
り、Bn とはnによって値制約されより大きな番号を付
された変数の集合のことであり、そして、Vn とはnの
定義域を共有するが≠nの変数の集合のことである。V
n は、FC−CBJ−Mに固有のものである。各変数n
に対して、次に示すグローバル記憶が必要である。すな
わち、Dn とは値定義域のことであり、Mn とはDn
たはnの供給に対する多重集合のことであり、maskとは
先行する変数と衝突状態にある定義域値を示す、大きさ
が|Dn |の配列のことであり、conflictとは先行する
どの変数がnと衝突状態にあるかを示す、大きさが(n
−1)のブール配列のことである。Mn は、FC−CB
J−Mに固有のものである。
The FC-CBJ-M algorithm is provided as four components. One of them is F
It is unique to C-CBJ-M. But the remaining three
One is an extension of the original FC-CBJ. The following global constants are determined by the definition of the CSP. That is, modecount is the number of variables. For each variable n, demand n is demand, B n is a set of higher numbered variables constrained by n , and V n is the definition of n It is a set of variables that share a region but have ≠ n. V
n is unique to FC-CBJ-M. Each variable n
Requires the following global storage. That is, D n is a value domain, M n is a multiplex set for the supply of D n or n, and mask is a large value indicating a domain value that is in conflict with the preceding variable. Is an array of | D n |, where conflict indicates which preceding variable is in collision with n, and has a size of (n
-1) is a Boolean array. Mn is FC-CB
It is unique to JM.

【0061】各変数nは、割り当て関数Assignn 、(ヌ
ル(null)かもしれない)単項値制約関数Unaryn(value
n)、および、フォワード変数に関する(ヌル(null)か
もしれない)2項値制約Binaryn(valuen, valuem) を有
する。また、解に到達したときに変数の割り当てを取得
するためのグローバル関数RecordSolution()もある。
Each variable n is an assignment function Assign n , a unary value constraint function Unary n (value
n ) and a (possibly null) binary value constraint Binary n (value n , value m ) on the forward variable. There is also a global function RecordSolution () to get the assignment of variables when the solution is reached.

【0062】アルゴリズム1:FC−CBJ−M()Algorithm 1: FC-CBJ-M ()

【0063】 comment:値−資源CSPの解を見つける local valid for n ← 1 to nodecount do begin valid ← 0 for i ← 1 to n do begin conflict[n ][i ]← false end for i ← 1 to |D n | do begin if Unaryn(i) = true and Mn [i ]≧demandn then mask[n ][i ]← OK valid ← valid + 1 else mask[n ][i ]← 0 end end if valid = 0 then return() end end DoNode(1) Comment: value—find solution of resource CSP local valid for n ← 1 to nodecount do begin valid ← 0 for i ← 1 to n do begin conflict [n] [i] ← false end for i ← 1 to | D n | do begin if Unary n (i) = true and M n [i] ≧ demand n then mask [n] [i] ← OK valid ← valid + 1 else mask [n] [i] ← 0 end end if valid = 0 then return () end end DoNode (1)

【0064】アルゴリズム2:DoNode(n)Algorithm 2: DoNode (n)

【0065】 comment:ノードnとそれより深いすべてのノードを再帰的に処理する local bjnode for i ← 1 to |D n | do begin if mask [n ][i ]= OK then if ResourceFC(n, i) = true then if ValueFC(n, i) = true then ok ← true Assignn(i) if n = nodecount then RecordSolution() return (0) else Mn [i ]←Mn [i ]- demandn bjnode ← DoNode(n + 1) Mn [i ]←Mn [i ]+ demandn if bjnode ≠ n then return (bjnode) end end end end end end bjnode ← n - 1 while bjnode > 0 and conflict[n ][bjnode]≠ true do begin bjnode ← bjnode - 1 end if bjnode > 0 then for j ← bjnode - 1 downto 1 do begin if conflict[n ][j ]= true then conflict[bjnode][j ]← true end end end return (bjnode) Comment: Recursively process node n and all nodes deeper than it. Local bjnode for i ← 1 to | D n | do begin if mask [n] [i] = OK then if ResourceFC (n, i ) = true then if ValueFC (n, i) = true then ok ← true Assign n (i) if n = nodecount then RecordSolution () return (0) else M n [i] ← M n [i]-demand n bjnode ← DoNode (n + 1) M n [i] ← M n [i] + demand n if bjnode ≠ n then return (bjnode) end end end end end end bjnode ← n-1 while bjnode> 0 and conflict [n] [Bjnode] ≠ true do begin bjnode ← bjnode-1 end if bjnode> 0 then for j ← bjnode-1 downto 1 do begin if conflict [n] [j] = true then conflict [bjnode] [j] ← true end end end return (bjnode)

【0066】アルゴリズム3:ResourceFC
(n,i)
Algorithm 3: ResourceFC
(N, i)

【0067】 comment:ノードnとvalue[i]に対する2項資源制約を処理する locasl supply, valid supply ← Mn - demandn for each m ∈ Vn |m > n do begin conflict[m ][n ]← false valid ← 0 for j ← 1 to |D n | do begin if mask [m ][j ]≧ n or mask[m ][j ]= OK then if J = 1 and demandm > supply then mask[m ][j ]← n conflict[m ][n ]← true else mask[m ][j ]← OK valid ← valid + 1 end end end if valid = 0 then for j ← n - 1 downto 1 do begin if conflict [m ][j ]= true then conflict[n ][j ]← true end end return(false) end end return(true)Comment: Process binary resource constraints on nodes n and value [i] locasl supply, valid supply ← M n -demand n for each m m V n | m> n do begin conflict [m] [n] ← false valid ← 0 for j ← 1 to │D n │ do begin if mask [m] [j] ≥ n or mask [m] [j] = OK then if J = 1 and demand m > supply then mask [m ] [J] ← n conflict [m] [n] ← true else mask [m] [j] ← OK valid ← valid + 1 end end end if valid = 0 then for j ← n-1 downto 1 do begin if conflict [M] [j] = true then conflict [n] [j] ← true end end return (false) end end return (true)

【0068】アルゴリズム4:ValueFC(n;
i)
Algorithm 4: ValueFC (n;
i)

【0069】 comment:ノードnとvalue[i]に対する2項値制約を処理する local wipelevel , valid for each m ∈ Bn do begin if Vm ≠ φ then wipelevel ← n + 1 else wipelevel ← n conflict[m ][n ] ← false end valid ← 0 for j ← 1 to |Dm | do begin if mask [m ][j ]≧ wipelevel or mask[m ][j ]= OK then if Binaryn[m ](i, j) ≠ true then mask[m ][j ]← n conflict[m ][n ]← true else mask[m ][j ]← OK valid ← valid + 1 end end end if valid = 0 then for j ← n - 1 downto 1 do begin if conflict[m ][j ]= true then conflict[n ][j ]← true end end return(false) end end return(true)Comment: Process binomial constraint on node n and value [i] local wipelevel, valid for each m ∈ B n do begin if V m ≠ φ then wipelevel ← n + 1 else wipelevel ← n conflict [m ] [N] ← false end valid ← 0 for j ← 1 to │D m │ do begin if mask [m] [j] ≥ wipelevel or mask [m] [j] = OK then if Binary n [m] (i , j) ≠ true then mask [m] [j] ← n conflict [m] [n] ← true else mask [m] [j] ← OK valid ← valid + 1 end end end if valid = 0 then for j ← n-1 downto 1 do begin if conflict [m] [j] = true then conflict [n] [j] ← true end end return (false) end end return (true)

【0070】まず、主プロシージャFC−CBJ−M
(アルゴリズム1)が、グローバル記憶を初期化し、単
項値制約チェックを実行し、そして、DoNodeを呼
び出して探索を管理している。FC−CBJの拡張は、
単項資源制約(Mn []≧demandn )をチェックするこ
とである。再帰的関数DoNode(アルゴリズム2)
は、FC整合性チェックを管理し、バックジャンプを実
行し、そして、すべての解を記録している。FC−CB
Jの他の拡張は、(資源制約チェックのために)Res
ourceFCを呼び出すことと、自身に対する再帰的
呼び出しの前後で供給Mn を調整することである。関数
ResourceFC(アルゴリズム3)は、FC−C
BJ−Mに固有のものであり、変数nへの割り当てDn
[i]に対する2項資源制約をすべてフォワード(前
方)チェックしている。ResourceFCは、割り
当てられた値に対する供給を仮に減少させ、それにより
フォワード変数の中に飢えるものが生じるか否かをチェ
ックしている。このような非整合性は、すべて、mask配
列とconflict配列に記録する。最後に、ValueFC
(アルゴリズム4)が、変数nへの割り当てDn [i]
に対する2項資源制約をすべてフォワード(前方)チェ
ックしている。条件記述「if Vm ≠φ」とそれに関連
する処置は、先行するResourceFCの呼び出し
が生成した衝突またはマスクをすべて消去してしまうの
を防ぐのに必要な拡張である。
First, the main procedure FC-CBJ-M
(Algorithm 1) initializes global storage, performs unary value constraint checking, and calls DoNode to manage the search. The extension of FC-CBJ is
Check for unary resource constraints (M n [] ≧ demand n ). Recursive function DoNode (algorithm 2)
Manages FC consistency checks, performs back jumps, and records all solutions. FC-CB
Another extension of J is Res (for resource constraint checking).
calling sourceFC and adjusting the supply Mn before and after a recursive call to itself. The function ResourceFC (algorithm 3) is FC-C
Assigned to variable n, D n , unique to BJ-M
All binomial resource constraints for [i] are checked forward. ResourceFC is tentatively reducing the supply for the assigned value, thereby checking if any of the forward variables result in starvation. All such inconsistencies are recorded in the mask and conflict arrays. Finally, ValueFC
(Algorithm 4) assigns D n [i] to variable n
Are forward checked. The condition description “if V m ≠ φ” and its associated actions are extensions needed to prevent a previous call to ResourceFC from erasing any collisions or masks generated.

【0071】さらなる資源割り当て問題Further Resource Allocation Problem

【0072】資源制約の使用方法を示す第2の例は、単
項資源制約および2項資源制約の双方と、単項値制約お
よび2項値制約の双方とが協働して単純なスケジューリ
ング問題を解く通常の仕方を説明するものである。この
例は、非初等値定義域エントリ(すなわち組(tuple))
の使用方法、および多値定義域の使用方法をも示すもの
である。
A second example that illustrates the use of resource constraints is that both unary and binary resource constraints, and both unary and binary constraints work together to solve a simple scheduling problem. This is to explain the usual way. This example shows a non-elementary domain entry (ie, tuple)
It also shows how to use, and how to use a multi-valued domain.

【0073】問題の記述Description of the problem

【0074】ここで例に挙げる問題は、2つの異なる型
の資源をスケジューリングするものである。これら2つ
の異なる型の資源は、各々、限られた使用可能度を有す
ると共に、固定したタイム・スロットの範囲にわたって
特定の資源需要と値制約を有する。この問題は、午前9
時から午後1時までの4時間に行なう1時間単位の授業
に対して、2つの異なる型のスタッフ(レクチャラ(le
cturer)とチュータ(tutor))のプールを割り当てるこ
とから成る。両型のスタッフの供給は、時間ごとに変化
する。時間割によって、様々な授業用に両型のスタッフ
という資源に対する需要が生じている。ある授業に必要
なスタッフの型に対して新たな制約が生じると、他の授
業をスケジューリングする必要が生じる。所望の解は、
各授業用に開始時刻とスタッフ型とを割り当てることで
ある。図5は、午前9時から午後1時までの間のレクチ
ャラとチュータの供給を示す図である。
The problem exemplified here is for scheduling two different types of resources. These two different types of resources each have limited availability and have specific resource demands and value constraints over a fixed range of time slots. The problem is 9 am
There are two different types of staff (lecture (le
and pools of tutors). The supply of both types of staff varies from hour to hour. Timetables have created a demand for resources of both types of staff for various classes. As new constraints arise on the type of staff required for a given lesson, it becomes necessary to schedule another lesson. The desired solution is
Assigning a start time and a staff type for each class. FIG. 5 is a diagram showing the supply of lecturers and tutors from 9:00 am to 1:00 pm.

【0075】<スタッフ型,時刻>(ただし「L」はレ
クチャラを表わし、「T」はチュータを表わす)という
形の値組を使うと、合計スタッフ供給は、次に示す単一
の多重集合値定義域によって表現することができる。 1'<L,9 >+3' <T,9 >+1' <L,10>+3' <T,11>+2'
<L,12>+1' <T,12>
Using a value set of the form <stuff type, time> (where "L" represents a lecturer and "T" represents a tutor), the total stuff supply is represented by a single multiset value It can be expressed by a domain. 1 '<L, 9>+3'<T,9> +1 '<L, 10>+3'<T,11> +2 '
<L, 12> +1 '<T, 12>

【0076】この式は、例えば午前9時に1人のレクチ
ャラと3人のチュータが使用可能である、ということを
表わしている。
This equation indicates that, for example, at 9 am, one lecturer and three tutors are available.

【0077】多重値定義域にわたる制約満足を説明する
ために、「有資格者(qualifier)」定義域を導入する。
これは、次に示すスタッフ型の単集合を含むだけのもの
である。 1'<L >または1'<T >
To account for constraint satisfaction across multiple value domains, a "qualifier" domain is introduced.
This only includes the stuff-type single set shown below. 1 '<L> or 1'<T>

【0078】コンシューマ多重集合は、需要と値制約に
スタッフをあてがう個々の講義に対応して、4つの構成
要素から成る。 第1の状態:講義1は任意の時刻に行なわれ、2人のレ
クチャラを必要とする。 第2の状態:講義2は任意の連続2時間にわたり、1時
間に一方の型のスタッフを2人必要とし、残りの1時間
に反対の型のスタッフを1人必要とする。 第3の状態:講義3は任意の時刻に行なわれ、3人のチ
ュータを必要とする。 第4の状態:講義4は任意の連続2時間にわたり、2時
間とも「有資格者」定義域で特定される型のスタッフを
1人必要とする。
The consumer multiset consists of four components, corresponding to individual lectures that assign staff to demand and value constraints. First state: Lecture 1 takes place at any time and requires two lecturers. Second state: Lecture 2 requires two staff members of one type per hour and one staff member of the opposite type per hour for any two consecutive hours. Third state: Lecture 3 takes place at any time and requires three tutors. Fourth State: Lecture 4 requires one staff member of the type specified in the "qualified" domain for any two consecutive hours.

【0079】図6は、上述した問題を一般化した資源−
値制約満足問題として表現した図である。それぞれを値
制約が付属した多重集合需要として表現した講義2〜4
は、以下に示すとおりである。
FIG. 6 shows a generalized resource of the above-mentioned problem.
It is a figure expressed as a value constraint satisfaction problem. Lectures 2 to 4 in which each is expressed as a multiset demand with value constraints
Is as shown below.

【0080】講義1: 2'<L, t1 > ただし、 t1 は講義1の開始時刻に対応する変数であ
る。
Lecture 1: 2 ′ <L, t 1 > where t 1 is a variable corresponding to the start time of lecture 1.

【0081】1つの単項資源制約(2人のスタッフが必
要)と1つの単項値制約(スタッフはレクチャラでなけ
ればならない)が存在する。
There is one unary resource constraint (requires two staff members) and one unary value constraint (the staff members must be lecturers).

【0082】講義2: 1'<s 1,t2a>+2'<s 2,t2b> [s 1 ≠s 2AND abs(t2a-
t2b)=1 ] ただし、s 1 とs 2 は各時間に割り当てられた異なるス
タッフ型に対応する変数であり、t2a とt2b は講義2を
構成要素とする2つの授業の開始時刻に対応する変数で
ある。
Lecture 2: 1 ′ <s 1 , t 2a > +2 ′ <s 2 , t 2b > [s 1 ≠ s 2 AND abs (t 2a
t 2b ) = 1] where s 1 and s 2 are variables corresponding to different staff types assigned to each time, and t 2a and t 2b are the start times of two lessons with lecture 2 as a component. Is the corresponding variable.

【0083】1つの単項資源制約(型s 2 のスタッフが
2人必要)と2つの2項値制約(2つのスタッフ型は異
なっていなければならず、2つの授業の開始時刻は隣接
していなければならない)が存在する。
[0083] One of the unary resource constraints (staff of the type s 2 2 people required) and two two-term value constraints (two staff type must be different, the start time of the two classes has not been adjacent Must exist).

【0084】講義3: 3'<T, t3> ただし、t3は講義3 の開始時刻に対応する変数である。Lecture 3: 3 ′ <T, t 3 > where t 3 is a variable corresponding to the start time of lecture 3.

【0085】1つの単項資源制約(3人のスタッフが必
要)と1つの単項値制約(スタッフはチュータでなけれ
ばならない)が存在する。
There is one unary resource constraint (requires three staff members) and one unary value constraint (the staff members must be tutors).

【0086】講義4: 1'<x, t4a>+1'<x, t4b> [t4b=t>4a+1] ただし、x はスタッフ型に対応する変数であり、t4a
t4b は講義4を構成要素とする2つの授業の開始時刻に
対応する変数である。
Lecture 4: 1 ′ <x, t 4a > +1 ′ <x, t 4b > [t 4b = t> 4a +1] where x is a variable corresponding to the stuff type, and t 4a
t 4b is a variable corresponding to the start time of two classes in which lecture 4 is a constituent element.

【0087】2つの2項値制約(スタッフ型は両授業で
同じでなければならならず、授業の開始時刻は隣接して
いなければならない)が存在する。さらに、「有資格
者」変数xを有する1つの2項値制約(スタッフ型は適
合していなければならない)が存在する。
There are two binary value constraints (the stuff type must be the same in both classes and the start times of the classes must be adjacent). In addition, there is one binomial constraint with a "qualified" variable x (the stuff type must be met).

【0088】問題の解法Solution of the problem

【0089】この問題は、始めに単項資源制約と単項値
制約を適用して、各需要が「見る(see)」効率的な値定
義域を削減することによって解くことができる。効率的
な定義域弧を有する需要は、次に示すように減少する。 2'<L, t>1 (2'<l,12>) 2'<s2, t>2b (3'<T,9>+3'<T,11>+2'<L,12>) 3'<T,t3> (3'<T,9>+3'<T,11>)
This problem can be solved by first applying unary resource constraints and unary value constraints to reduce the efficient value domain in which each demand “sees”. Demand with efficient domain arcs decreases as follows. 2 '<L, t> 1 (2'<l,12>) 2 '<s 2 , t> 2b (3'<T,9> +3 '<T, 11>+2'<L,12> ) 3 '<T, t 3 >(3'<T,9> +3 '<T, 11>)

【0090】問題解法の次の段階は、需要満足の任意の
しかし固定した順序を選択する(したがって変数を割り
当てる)ことである。これには、非初等多重集合(1'<
s1,t2a>+2'<s2,t2b>,1'<x,t4a>+1'<x,t4b>)を初等多重
集合に分離することが含まれる。「有資格者」変数xを
例示し、変数と変数組t 1,<s1,t2a>,<s2,t2b>,t3,<x,t
4b>それぞれに対する需要を満足させることができる。
The next step in solving the problem is to select an arbitrary but fixed order of demand satisfaction (and thus assign variables). This includes non-elementary multisets (1 '<
s 1 , t 2a > +2 ′ <s 2 , t 2b >, 1 ′ <x, t 4a > +1 ′ <x, t 4b >) is separated into elementary multiplex sets. It illustrates a "qualified person" variable x, variable and variable set t 1, <s 1, t 2a>, <s 2, t 2b>, t 3, <x, t
4b > The demand for each can be satisfied.

【0091】図7は、初等多重集合で表現したこの問題
用の2項制約図である。破線で示す資源制約は、値制約
処理によって冗長になっている。
FIG. 7 is a binomial constraint diagram for this problem expressed as an elementary multiplex set. The resource constraint indicated by the broken line is made redundant by the value constraint process.

【0092】この問題を解く最後の段階は、深さを第1
にした探索を実行することである。アルゴリズムは、許
された値を需要変数に反復的に割り当て、資源制約と値
制約をすべてフォワード・チェックし、そして、このチ
ェックによって消去できない解があっても、次の変数
(または組)に進む。解を消去するときには常に、バッ
クトラックまたはバックジャンプを直ちに行なう。
The final step in solving this problem is to set the depth to the first
Is to perform a search that has been made. The algorithm iteratively assigns allowed values to demand variables, forward-checks all resource and value constraints, and advances to the next variable (or set) even if there are solutions that cannot be eliminated by this check. . Always backtrack or jump back immediately when erasing the solution.

【0093】図8は、所定の変数と組に対する解法図
(割り当ては上らか下へ、左から右に行なってある)で
ある。変数X、tは、唯一つの割り当てしか有していな
い。組<s1,t2a>は、<L,10>を除いて、すべての割り当て
に対する<s2,t2b>の可能なすべての割り当てに対して、
値制約のすべてに失敗している。同様に、その後、値1
1をt3に割り当てると、十分な資源の組<x,t4a> 、<x,t
4b> が両者の値制約を満足させるために(資源制約を通
じて)消去される。
FIG. 8 is a solution diagram for a predetermined variable and set (assignment is performed from top to bottom, from left to right). The variables X, t have only one assignment. The pair <s 1 , t 2a > is, for all possible assignments of <s 2 , t 2b > for all assignments, except for <L, 10>,
All of the value constraints have failed. Similarly, then the value 1
Assigning 1 to t 3 gives a sufficient set of resources <x, t 4a >, <x, t
4b > is eliminated (through resource constraints) to satisfy both value constraints.

【0094】以上の結果、次に示す唯一つの解が存在す
る。 x = T t1 = 12 <s1 ,t2a> = <L,10> <s2 ,t2b> = <T,11> t3 = 9 <x,t4a> = <T,11> <x,t4b> = <T,12>
As a result, there is only one solution shown below. x = T t 1 = 12 < s 1, t 2a> = <L, 10><s 2, t 2b> = <T, 11> t 3 = 9 <x, t 4a> = <T, 11>< x, t 4b > = <T, 12>

【0095】もし「有資格者」定義域に1‘<L>を含
めるのであれば、解は存在しなくなる。
If 1 ′ <L> is included in the “qualified person” domain, no solution exists.

【0096】図6を参照すると、次のことが分かる。す
なわち、上述した解法過程は、需要というブロックを順
列的かつ組み合わせ的に「組み換えて(shuffle)」、値
制約(例えば順序)を満足させるように、供給の内部に
「組み込む(fit)」ことである。供給/需要を値から直
交的に分離することにより、順列的かつ組み合わせ的な
探索が可能になっている。これは、値のみ制約で可能な
純粋な組み合わせ探索とは対照的に、極めて効率的な方
法である。
Referring to FIG. 6, the following can be understood. That is, the above-described solution process is to “shuffle” the block called demand in a permutation and combination, and “fit” inside the supply so as to satisfy the value constraint (eg, order). is there. By orthogonally separating supply / demand from values, permutational and combinatorial searches are possible. This is a very efficient method, as opposed to a purely combinatorial search that is possible with only value constraints.

【0097】コンピュータ・プラットフォーム上の実装Implementation on Computer Platform

【0098】FC−CBJアルゴリズムは、図9に示す
ように、コンピュータ・システム100と共にコンピュ
ーター・プログラム製品を使って実装(implement)する
ことができる。FC−CBJアルゴリズムは、特に、コ
ンピュータ・システム100で実行するソフトウェアす
なわちコンピュータ読み取り可能なプログラム・コード
として実装することができる。
The FC-CBJ algorithm can be implemented using a computer program product together with the computer system 100, as shown in FIG. The FC-CBJ algorithm may be implemented, among other things, as software running on computer system 100, i.e., computer readable program code.

【0099】コンピュータ・システム100は、コンピ
ュータ150、画像表示装置110、および入力装置1
30、132を備えている。さらに、コンピュータ・シ
ステム100は、ライン・プリンタ、レーザ・プリン
タ、プロッタなどコンピュータ150に接続された再生
産装置を含む多数の他の出力装置を備えることができ
る。コンピュータ・システム100は、通信入出力(I
/O)インタフェース164を経由し、モデム通信経路
や電子ネットワークなどの適切な通信チャネル140を
使って少なくとも1つの他のコンピュータに接続するこ
とができる。上記電子ネットワークには、LAN(loca
l area network)、WAN(wide area network)、イン
トラネット、および/またはインターネット120を含
めることができる。
The computer system 100 includes a computer 150, an image display device 110, and an input device 1.
30, 132 are provided. In addition, computer system 100 can include a number of other output devices, including reproducers connected to computer 150, such as line printers, laser printers, plotters, and the like. The computer system 100 has a communication input / output (I
/ O) Via an interface 164, it can be connected to at least one other computer using a suitable communication channel 140, such as a modem communication path or an electronic network. The electronic network includes a LAN (loca
l area network), a wide area network (WAN), an intranet, and / or the Internet 120.

【0100】コンピュータ150は、制御モジュール1
66、RAM(random access memory)とROM(read
-only memory)を含むことのできるメモリ170、入力
/出力(I/O)インタフェース164、172、画像
インタフェース160、および、一般に記憶装置162
で代表される少なくとも1つの記憶装置を備えている。
制御モジュール166は、特定の機能(あるいは関連す
る機能の集合)を実行するコンピュータ読み取り可能な
プログラム・コードを実行(すなわち走らせる)CPU
(central processing unit)を使って実装されている。
The computer 150 includes the control module 1
66, RAM (random access memory) and ROM (read
-only memory), input / output (I / O) interfaces 164, 172, image interface 160, and generally storage 162.
At least one storage device.
The control module 166 is a CPU that executes (ie, runs) computer readable program code that performs a particular function (or set of related functions).
(Central processing unit).

【0101】画像インタフェース160は、画像表示装
置110に接続されており、コンピュータ150から画
像信号を供給して画像表示装置110上への表示の用に
供する。コンピュータ150を操作するユーザ入力は、
I/Oインタフェース172を介し入力装置130、1
32の少なくとも一方によって供給することができる。
例えば、コンピュータ150のユーザは、I/Oインタ
フェース130としてキーボード、および/または、I
/Oインタフェース132としてマウスなどのポインテ
ィング装置を使うことができる。キーボードとマウス
は、コンピュータ150に対する入力を実現する。記憶
装置162は、次に示すものの中の少なくとも1つから
構成することができる。すなわち、フロッピー(R)・
ディスク、ハード・ディスク駆動装置、光磁気ディスク
駆動装置、CD−ROM、磁気テープなど、当業者にと
って周知の多数の不揮発性記憶装置である。コンピュー
タ150の中の各構成要素は、通常、データ・バス、ア
ドレス・バス、制御バスから成るバス180を介して他
の構成要素に接続されている。
The image interface 160 is connected to the image display device 110, supplies an image signal from the computer 150, and uses the image signal for display on the image display device 110. The user input for operating the computer 150 is
The input devices 130, 1 via the I / O interface 172
32.
For example, a user of computer 150 may have a keyboard and / or I / O interface 130 as I / O interface 130.
As the / O interface 132, a pointing device such as a mouse can be used. The keyboard and the mouse realize input to the computer 150. The storage device 162 can be composed of at least one of the following. That is, floppy (R)
Numerous non-volatile storage devices known to those skilled in the art, such as disks, hard disk drives, magneto-optical disks, CD-ROMs, magnetic tapes, and the like. Each component in the computer 150 is typically connected to other components via a bus 180 comprising a data bus, an address bus, and a control bus.

【0102】上述したアルゴリズムは、コンピュータ・
システム100が実行するソフトウェア中の命令群によ
って達成される。ここでも、上述したアルゴリズムは、
方法の諸ステップを実現する少なくとも1つのモジュー
ルとして実現することができる。
The algorithm described above is applied to a computer
This is accomplished by instructions in software that system 100 executes. Again, the algorithm described above is
It can be implemented as at least one module that implements the steps of the method.

【0103】特に、上述したソフトウェアは、記憶装置
162などのコンピュータ読み取り可能な媒体に格納す
ることができる。あるいは、上述したソフトウェアは、
I/Oインタフェース164と通信チャネル140を介
してインターネットなどのネットワーク上の場所(すな
わちサイト)など遠隔地からダウンロードすることもで
きる。コンピュータ・システム100は、上述したソフ
トウェアの命令(すなわちプログラム・コード)を実行
できるように記録したコンピュータ読み取り可能な媒体
備えている。コンピュータ・システム100を使うこと
により、本発明の実施形態によるコンピュータ・プログ
ラム用のルーチン・シンボルを構築する装置が有利にな
るのが望ましい。
In particular, the software described above can be stored on a computer readable medium such as storage device 162. Alternatively, the software described above
It can also be downloaded from a remote location such as a location (ie, site) on a network such as the Internet via the I / O interface 164 and the communication channel 140. The computer system 100 includes a computer-readable medium recorded so as to execute the above-described software instructions (that is, program codes). The use of computer system 100 advantageously provides an apparatus for constructing routine symbols for computer programs according to embodiments of the present invention.

【0104】コンピュータ・システム100は説明を目
的として提示したものであり、本発明の範囲と本旨の内
で、他の構成を採用することもできる。上述したもの
は、本発明の実施形態を実施するのに使用できる型のコ
ンピュータ(またはコンピュータ・システム)の単なる
一例に過ぎない。通常、本発明の実施形態のプロセス
は、ソフトウェアとして存在しており(すなわちコンピ
ュータ読み取り可能な媒体としてのハード・ディスク上
に記録されたコンピュータ読み取り可能なプログラム・
コードとして存在しており)、制御モジュール166を
使って読み取りかつ制御する。プログラム・コードとエ
ンティティ(実体)やチケット(切符)などを含むすべ
てのデータの中間記憶は、可能なら記憶装置162と連
携してメモリ170を使うことにより実現することがで
きる。
The computer system 100 has been presented for the purpose of explanation, and other configurations may be employed within the scope and spirit of the invention. What has been described above is merely one example of a type of computer (or computer system) that can be used to implement embodiments of the present invention. Typically, the processes of the embodiments of the present invention exist as software (ie, a computer readable program recorded on a hard disk as a computer readable medium).
(As a code) and read and controlled using control module 166. Intermediate storage of the program code and all data including entities (entities), tickets (tickets), etc. can be realized by using the memory 170 in cooperation with the storage device 162 if possible.

【0105】ある例では、上述したプログラムは、CD
−ROMまたはフロッピー(R)・ディスク(両者とも
一般に記憶装置162として示してある)に符号化して
ユーザに供給することができる。あるいは、ユーザは、
コンピュータ150に接続されたモデム装置を介してネ
ットワークから上述したプログラムをダウンロードする
ことができる。さらに、コンピュータ・システム100
は、上述したソフトウェアを他のコンピュータ読み取り
可能な媒体からロードすることができる。これには、磁
気テープ、ROMまたは集積回路、光磁気ディスク、コ
ンピュータと別の装置とを結ぶ無線または赤外の通信チ
ャネル、PCMCIAカードなどのコンピュータ読み取
り可能なカード、電子メールおよびインターネット・サ
イトに記録された情報を含むインターネット120とイ
ントラネット、などが含まれうる。これらは、コンピュ
ータ読み取り可能な等価な媒体の単なる例に過ぎない。
本発明の範囲と本旨の内で、コンピュータ読み取り可能
な他の媒体を用いることができる。
In one example, the above program is a CD
-Encoded on a ROM or floppy disk (both shown generally as storage device 162) and can be provided to the user. Alternatively, the user
The above program can be downloaded from a network via a modem device connected to the computer 150. Further, the computer system 100
Can load the software described above from another computer-readable medium. This includes magnetic tape, ROM or integrated circuits, magneto-optical disks, wireless or infrared communication channels connecting computers to other devices, computer readable cards such as PCMCIA cards, e-mail and recorded on Internet sites. The information may include the Internet 120 and an intranet that include the obtained information. These are merely examples of equivalent computer-readable media.
Other computer readable media may be used within the scope and spirit of the invention.

【0106】上述したアルゴリズムは、1つのコンピュ
ータ・システム100で集中化した形態で実現すること
ができるし、あるいは、相互接続されたいくつかのコン
ピュータ・システム中に様々な構成要素が分散している
分散形態で実現することもできる。
The above-described algorithm can be implemented in a centralized fashion on one computer system 100, or the various components are distributed among several interconnected computer systems. It can also be realized in a distributed form.

【0107】ここでの文脈におけるコンピュータ・プロ
グラム手段またはコンピュータ・プログラムは、情報処
理機能を備えたシステムに、特定の機能を直接に、ある
いは、(a)別の言語、コード、または表記に変換し、
(b)別の媒体で再生産したのちに、または、一方だけ
を行なったのちに、実行させることを意図した命令の集
合を、任意の言語、コード、または表記で表現したもの
を意味する。
A computer program means or computer program in the context herein allows a system with information processing functions to convert a particular function directly or (a) into another language, code or notation. ,
(B) A set of instructions intended to be executed after being reproduced on another medium or after performing only one of them, expressed in any language, code, or notation.

【0108】少数の実施形態しか説明してないけれど
も、本発明の範囲と本旨の内で多くの変形および/また
は変更をなしうることは、この開示に鑑みて当業者にと
って明らかである。
Although only a few embodiments have been described, it will be apparent to those skilled in the art in light of this disclosure that many variations and / or modifications may be made within the scope and spirit of the invention.

【0109】まとめとして以下の事項を開示する。 (1)資源割り当て問題を表現する方法であって、
(a)前記資源割り当て問題を、(i)零以上の要素に
対する資源使用可能度と値との双方を含む少なくとも1
つの定義域の各々を表わす多重集合と、(ii) 少なくと
も1つのコンシューマおよびそれらの資源要件、ならび
に前記定義域多重集合の各々に関連付けられた任意の値
制約を表わす多重集合とによって表現するステップと、
(b)各定義域多重集合から、当該定義域の各要素につ
いて、資源使用可能度に対応すると共に値と直交する供
給を特定するステップと、(c)各コンシューマ多重集
合から、当該コンシューマ多重集合の各コンシューマに
ついて、資源要件に対応すると共に必要な値に対する任
意の制約と直交する需要を特定するステップとを備えた
方法。 (2)各定義域多重集合が資源使用可能度と値要素の対
の集合として表されている、上記(1)に記載の方法。 (3)前記対の各々が任意に複雑な値組と資源使用可能
度とから成っている、上記(2)に記載の方法。 (4)前記コンシューマ多重集合が資源要件と値制約の
集合として表されている、上記(1)に記載の方法。 (5)前記値制約が変数または値、あるいは両者の組か
ら成っている、上記(4)に記載の方法。 (6)各定義域多重集合について、前記供給がその基礎
集合と当該基礎集合の各要素の発生数との和の観点で表
されており、前記コンシューマ多重集合について、前記
需要がその基礎集合と当該基礎集合の各要素の発生数と
の和の観点で表されている、上記(1)に記載の方法。 (7)資源割り当て問題に関連付けられた制約を表現す
る方法であって、(a)前記資源割り当て問題を、
(i)零以上の要素に対する資源使用可能度と値との双
方を含む少なくとも1つの定義域の各々を表わす多重集
合と、(ii) 少なくとも1つのコンシューマおよびそれ
らの資源要件、ならびに前記定義域多重集合の各々に関
連付けられた任意の値制約を表わす多重集合とによって
表現するステップと、(b)各定義域多重集合から、当
該定義域の各要素について、資源使用可能度に対応する
と共に値と直交する供給を特定するステップと、(c)
各コンシューマ多重集合から、当該コンシューマ多重集
合の各コンシューマについて、資源要件に対応すると共
に必要な値に対する任意の制約と直交する需要を特定す
るステップと(d)各定義域多重集合について、当該定
義域多重集合の供給属性と、関連するコンシューマ多重
集合の需要属性との間の関連付けから、単項資源制約を
定義するステップと、(e)各コンシューマ多重集合に
ついて、当該コンシューマ多重集合内のコンシューマ相
互間の2項資源制約を、個々の問題表現に関連付けて定
義するステップとを備えた方法。 (8)各コンシューマに対して単項資源制約が定義され
ており、前記各コンシューマの供給は、前記定義域に対
する前記コンシューマの見方を、前記コンシューマの需
要よりも大きな供給を有する前記定義域の要素だけに限
定している、上記(7)に記載の方法。 (9)コンシューマへの値の割り当ての任意の所定の順
序について、1つのコンシューマとその後で割り当てら
れるすべてのコンシューマとの間に、2項資源制約が存
在する、上記(7)に記載の方法。 (10)ある値をあるコンシューマに割り当てることに
より、当該コンシューマの満足されている単項資源制約
に従属する2項資源制約を実現し、この結果、前記コン
シューマの需要の大きさだけ、前記割り当てた値の供給
が減少し、使用可能度の制限がこの同じ値を次のコンシ
ューマに割り当てるのを制約する、上記(9)に記載の
方法。 (11)各定義域多重集合が資源使用可能度と値要素の
対の集合として表されている、上記(7)に記載の方
法。 (12)前記対の各々が任意に複雑な値組と資源使用可
能度とから成っている、上記(11)に記載の方法。 (13)前記コンシューマ多重集合が資源要件と値制約
の集合として表されている、上記(7)に記載の方法。 (14)前記値制約が変数または値、あるいは両者の組
から成っている、上記(13)に記載の方法。 (15)各定義域多重集合について、前記供給がその基
礎集合と当該基礎集合の各要素の発生数との和の観点で
表されており、前記コンシューマ多重集合について、前
記需要がその基礎集合と当該基礎集合の各要素の発生数
との和の観点で表されている、上記(7)に記載の方
法。 (16)資源割り当てに関する制約問題の解をコンピュ
ータを用いて解く方法であって、(a)前記資源割り当
て問題を、(i)零以上の要素に対する資源使用可能度
と値との双方を含む少なくとも1つの定義域の各々を表
わす多重集合と、(ii) 少なくとも1つのコンシューマ
およびそれらの資源要件、ならびに前記定義域多重集合
の各々に関連付けられた任意の値制約を表わす多重集合
とによって表現するステップと、(b)各定義域多重集
合から、当該定義域の各要素について、資源使用可能度
に対応すると共に値と直交する供給を特定するステップ
と、(c)各コンシューマ多重集合から、当該コンシュ
ーマ多重集合の各コンシューマについて、資源要件に対
応すると共に必要な値に対する任意の制約と直交する需
要を特定するステップと(d)各定義域多重集合につい
て、当該定義域多重集合の供給属性と、関連するコンシ
ューマ多重集合の需要属性との間の関連付けから、単項
資源制約を定義するステップと、(e)各コンシューマ
多重集合について、当該コンシューマ多重集合内のコン
シューマ相互間の2項資源制約を、個々の問題表現に関
連付けて定義するステップと、(f)前記単項資源制約
および2項資源制約に時間的なバックトラック・アルゴ
リズムを適用して、前記問題を解くステップとを備えた
方法。 (17)前記ステップ(e)を、前記コンシューマ多重
集合のコンシューマ群と当該コンシューマ群の評価の任
意の順序との間の関係から2項資源制約図を作成し、こ
の2項資源制約図からコンシューマ相互間の2項資源制
約を特定することにより実行する、上記(16)に記載
の方法。 (18)前記時間的なバックトラック・アルゴリズム
が、衝突指向バックジャンプを備えたフォワード・チェ
ックを行なう部類のものである、上記(16)に記載の
方法。 (19)資源割り当てに関する制約問題の解を計算する
コンピュータ・プログラムを記録したコンピュータ読み
取り可能な媒体を備えたコンピューター・プログラム製
品であって、前記資源割り当て問題を、(i)零以上の
要素に対する資源使用可能度と値との双方を含む少なく
とも1つの定義域の各々を表わす多重集合と、(ii) 少
なくとも1つのコンシューマおよびそれらの資源要件、
ならびに前記定義域多重集合の各々に関連付けられた任
意の値制約を表わす多重集合とによって表現するコンピ
ュータ・コード手段と、各定義域多重集合から、当該定
義域の各要素について、資源使用可能度に対応すると共
に値と直交する供給を特定するコンピュータ・コード手
段と、各コンシューマ多重集合から、当該コンシューマ
多重集合の各コンシューマについて、資源要件に対応す
ると共に必要な値に対する任意の制約と直交する需要を
特定するコンピュータ・コード手段と各定義域多重集合
について、当該定義域多重集合の供給属性と、関連する
コンシューマ多重集合の需要属性との間の関連付けか
ら、単項資源制約を定義するコンピュータ・コード手段
と、各コンシューマ多重集合について、当該コンシュー
マ多重集合内のコンシューマ相互間の2項資源制約を、
個々の問題表現に関連付けて定義するコンピュータ・コ
ード手段と、前記単項資源制約および2項資源制約に時
間的なバックトラック・アルゴリズムを適用して、前記
問題を解くコンピュータ・コード手段とを備えたコンピ
ューター・プログラム製品。 (20)前記2項資源制約を定義するコンピュータ・コ
ードが、前記コンシューマ多重集合のコンシューマと前
記コンシューマの評価の任意の順序との間の関係から2
項資源制約図を作成し、この2項資源制約図からコンシ
ューマ相互間の2項資源制約を特定する、上記(19)
に記載のコンピューター・プログラム製品。 (21)前記アルゴリズムを適用する前記コンピュータ
・コードが、衝突指向バックジャンプを備えたフォワー
ド・チェックを行なう部類のアルゴリズムを適用する、
上記(19)に記載のコンピューター・プログラム製
品。 (22)資源割り当てに関する制約問題の解を計算する
ようにプログラムされたコンピュータ・システムであっ
て、コンピュータ・プログラムを格納するメモリと、前
記資源割り当て問題を要素の少なくとも1つの定義域と
して入力するのに使用するデータ入力手段であって、前
記要素の各々は資源使用可能度を有し、少なくとも1つ
のコンシューマの各々が資源要件を有するデータ入力手
段と、前記資源割り当て問題を、(i)零以上の要素に
対する資源使用可能度と値との双方を含む少なくとも1
つの定義域の各々を表わす多重集合と、(ii) 少なくと
も1つのコンシューマおよびそれらの資源要件、ならび
に前記定義域多重集合の各々に関連付けられた任意の値
制約を表わす多重集合とによって表現し、各定義域多重
集合から、当該定義域の各要素について、資源使用可能
度に対応すると共に値と直交する供給を特定し、各コン
シューマ多重集合から、当該コンシューマ多重集合の各
コンシューマについて、資源要件に対応すると共に必要
な値に対する任意の制約と直交する需要を特定し、各定
義域多重集合について、当該定義域多重集合の供給属性
と、関連するコンシューマ多重集合の需要属性との間の
関連付けから、単項資源制約を定義し、各コンシューマ
多重集合について、当該コンシューマ多重集合内のコン
シューマ相互間の2項資源制約を、個々の問題表現に関
連付けて定義し、前記単項資源制約および2項資源制約
に時間的なバックトラック・アルゴリズムを適用して前
記問題を解くように、前記資源割り当て問題に応答して
前記コンピュータ・プログラムを実行するプロセッサと
を備えたコンピュータ・システム。 (23)前記プロセッサが、前記コンシューマ多重集合
のコンシューマ群と当該コンシューマ群の評価の任意の
順序との間の関係から2項資源制約図を作成し、この2
項資源制約図からコンシューマ相互間の2項資源制約を
特定する上記(22)に記載のコンピュータ・システ
ム。 (24)前記プロセッサが、衝突指向バックジャンプを
備えたフォワード・チェックを行なう部類のアルゴリズ
ムを適用する、 上記(22)に記載のコンピュータ・システム。
The following items are disclosed as a summary. (1) A method of expressing a resource allocation problem,
(A) The resource allocation problem includes (i) at least one including both resource availability and a value for zero or more elements.
(Ii) representing by a multiset representing at least one consumer and their resource requirements, and any value constraints associated with each of said domain multisets; ,
(B) identifying, from each domain multiplex, a supply corresponding to the resource availability and orthogonal to the value for each element of the domain; (c) from each consumer multiplex, the consumer multiplex Identifying a demand that is orthogonal to any constraints on the required values that correspond to the resource requirements for each of the consumers. (2) The method according to (1), wherein each domain multiplex set is represented as a set of pairs of resource availability and value elements. (3) The method of (2) above, wherein each of the pairs comprises an arbitrarily complex set of values and resource availability. (4) The method according to (1), wherein the consumer multiplex is represented as a set of resource requirements and value constraints. (5) The method according to (4), wherein the value constraint comprises a variable or a value, or a combination of both. (6) For each domain multiplex, the supply is represented in terms of the sum of its base set and the number of occurrences of each element of the base set, and for the consumer multiplex, the demand is The method according to (1), wherein the method is expressed in terms of a sum with the number of occurrences of each element of the basic set. (7) A method for expressing constraints associated with a resource allocation problem, comprising: (a) defining the resource allocation problem
(I) a multiplex set representing each of at least one domain including both resource availability and values for zero or more elements; and (ii) at least one consumer and their resource requirements, and the domain multiplex. (B) from each domain multiplex set, a value corresponding to the resource availability and from each domain multiplex set, Identifying orthogonal supplies; (c)
From each consumer multiplex set, for each consumer in the consumer multiplex set, identifying a demand corresponding to resource requirements and orthogonal to any constraint on required values; and (d) for each domain multiplex set, Defining a unary resource constraint from the association between the supply attributes of the multiset and the demand attributes of the associated consumer multiset; and (e) for each consumer multiset, between the consumers in the consumer multiset. Defining binomial resource constraints in association with individual problem expressions. (8) A unary resource constraint is defined for each consumer, and the supply of each consumer determines the consumer's view of the domain only by the elements of the domain having a supply larger than the demand of the consumer. The method according to (7) above, wherein (9) The method of (7) above, wherein for any given order of assignment of values to consumers, there is a binary resource constraint between one consumer and all subsequently assigned consumers. (10) By assigning a value to a certain consumer, a binomial resource constraint dependent on the satisfied unary resource constraint of the consumer is realized, and as a result, the assigned value is increased by the magnitude of the demand of the consumer. The method of (9) above, wherein the supply of N.I. is reduced and availability restrictions constrain the assignment of this same value to the next consumer. (11) The method according to (7), wherein each domain multiplex set is represented as a set of pairs of resource availability and value elements. (12) The method of (11) above, wherein each of the pairs comprises an arbitrarily complex set of values and resource availability. (13) The method according to (7), wherein the consumer multiplex set is represented as a set of resource requirements and value constraints. (14) The method according to the above (13), wherein the value constraint comprises a variable or a value, or a combination of both. (15) For each domain multiplex, the supply is represented in terms of the sum of its base set and the number of occurrences of each element of the base set, and for the consumer multiplex, the demand is The method according to (7), wherein the method is expressed in terms of the sum of the number of occurrences of each element of the basic set. (16) A method for solving a constraint problem relating to resource allocation using a computer, wherein (a) the resource allocation problem includes at least (i) both a resource availability and a value for zero or more elements. Representing by a multiset representing each one of the domains, and (ii) a multiset representing at least one consumer and their resource requirements, and any value constraints associated with each of the domain multisets. (B) identifying, from each domain multiplex, a supply corresponding to resource availability and orthogonal to a value for each element of the domain; (c) from each consumer multiplex, the consumer For each consumer in the multiset, a step that identifies the demand that corresponds to the resource requirements and is orthogonal to any constraints on the required values. (D) defining, for each domain multiplex, a unary resource constraint from the association between the supply attribute of the domain multiplex and the demand attribute of the associated consumer multiplex; Defining a binomial resource constraint between consumers in the consumer multiset in association with each problem expression; and (f) temporally backing the unary resource constraint and the binomial resource constraint. Applying a tracking algorithm to solve the problem. (17) In the step (e), a binomial resource constraint diagram is created from the relationship between the consumer group of the consumer multiset and an arbitrary order of evaluation of the consumer group. The method of (16) above, wherein the method is performed by specifying binary resource constraints between each other. (18) The method according to (16), wherein said temporal backtracking algorithm is of the class of performing a forward check with collision-oriented backjump. (19) A computer program product comprising a computer-readable medium having recorded thereon a computer program for calculating a solution of a constraint problem relating to resource allocation, wherein the resource allocation problem comprises: (i) resources for zero or more elements; A multiset representing each of the at least one domain including both availability and value; and (ii) at least one consumer and their resource requirements;
And computer code means represented by a multiplex set representing an arbitrary value constraint associated with each of the domain multiplex sets, and from each domain multiplex set, to each element of the domain, Computer code means for identifying a supply that is corresponding and orthogonal to the value, and from each consumer multiplex, for each consumer of the consumer multiplex, the demand that corresponds to the resource requirement and is orthogonal to any constraint on the required value. Computer code means for identifying and for each domain multiplex, computer code means for defining a unary resource constraint from an association between a supply attribute of the domain multiplex and a demand attribute of an associated consumer multiplex. , For each consumer multiset, the consumers in that consumer multiset Binomial resource constraints between Yuma each other,
Computer comprising computer code means for defining in association with individual problem expressions, and computer code means for applying the temporal backtrack algorithm to the unary and binary resource constraints to solve the problem・ Program products. (20) The computer code that defines the binomial resource constraint is based on a relationship between a consumer of the consumer multiset and an arbitrary order of evaluation of the consumer.
A term resource constraint diagram is created, and a binomial resource constraint between consumers is specified from the binomial resource constraint diagram. (19)
Computer program product as described in. (21) the computer code applying the algorithm applies a class of algorithms that performs a forward check with a collision-oriented back jump;
The computer program product according to (19). (22) A computer system programmed to calculate the solution of a resource allocation constraint problem, comprising: a memory for storing a computer program; and inputting the resource allocation problem as at least one domain of an element. Data input means for each of said elements having resource availability and at least one consumer each having resource requirements, wherein said resource allocation problem comprises: (i) zero or more. At least one containing both resource availability and value for the element
And (ii) a multiset representing at least one consumer and their resource requirements and any value constraints associated with each of the domain multisets, From the domain multiplex set, for each element in the domain, specify the supply that corresponds to the resource availability and orthogonal to the value, and from each consumer multiplex set, correspond to the resource requirements for each consumer of the consumer multiplex set Identify demands that are orthogonal to any constraints on required values, and for each domain multiplex, unary terms from the association between the supply attributes of the domain multiplex and the demand attributes of the associated consumer multiplex Define resource constraints and, for each consumer multiset, define the 2 Term resource constraints are defined in relation to individual problem expressions, and the resource assignment problem is responded to by applying a temporal backtracking algorithm to the unary and binomial resource constraints to solve the problem. And a processor for executing the computer program. (23) The processor creates a binomial resource constraint diagram from a relationship between a consumer group of the consumer multiset and an arbitrary order of evaluation of the consumer group.
The computer system according to (22), wherein a binomial resource constraint between consumers is specified from the term resource constraint diagram. (24) The computer system according to (22), wherein the processor applies a class of algorithm for performing a forward check with a collision-oriented back jump.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 資源の割り当てに関する問題を図式的に示す
図である。
FIG. 1 schematically illustrates a problem with resource allocation.

【図2】 図1の問題の2項制約図である。FIG. 2 is a binomial constraint diagram for the problem of FIG. 1;

【図3】 一般化した問題の表現を示す図である。FIG. 3 is a diagram showing a generalized problem expression.

【図4】 本発明により図1の問題の段階的な解法を示
す図である。
FIG. 4 shows a step-by-step solution of the problem of FIG. 1 according to the present invention.

【図5】 さらなる資源割り当て問題の資源使用可能度
と値の図式表現を示す図である。
FIG. 5 shows a graphical representation of resource availability and values for a further resource allocation problem.

【図6】 図5の問題の定義域とコンシューマ多重集合
の図式表現を示す図である。
6 shows a diagrammatic representation of the domain of the problem of FIG. 5 and a consumer multiset.

【図7】 図5と図6の問題の制約図である。FIG. 7 is a constraint diagram of the problem of FIGS. 5 and 6;

【図8】 本発明による、図5〜図7の問題の解法を示
す図である。
FIG. 8 shows a solution to the problem of FIGS. 5 to 7 according to the present invention.

【図9】 本発明を実現することのできる代表的なコン
ピュータ・システムを示す図である。
FIG. 9 illustrates a typical computer system that can implement the invention.

【符号の説明】[Explanation of symbols]

100…コンピュータ・システム、110…画像表示装
置、120…インターネット、130…入力装置、13
2…入力装置、140…通信チャネル、150…コンピ
ュータ、160…画像インタフェース、162…記憶装
置、164…I/Oインタフェース、166…制御モジ
ュール、170…メモリ、172…I/Oインタフェー
ス。
100 computer system, 110 image display device, 120 Internet, 130 input device, 13
2 input device, 140 communication channel, 150 computer, 160 image interface, 162 storage device, 164 I / O interface, 166 control module, 170 memory, 172 I / O interface.

Claims (24)

【特許請求の範囲】[Claims] 【請求項1】資源割り当て問題を表現する方法であっ
て、 (a)前記資源割り当て問題を、 (i)零以上の要素に対する資源使用可能度と値との双
方を含む少なくとも1つの定義域の各々を表わす多重集
合と、 (ii) 少なくとも1つのコンシューマおよびそれらの資
源要件、ならびに前記定義域多重集合の各々に関連付け
られた任意の値制約を表わす多重集合とによって表現す
るステップと、 (b)各定義域多重集合から、当該定義域の各要素につ
いて、資源使用可能度に対応すると共に値と直交する供
給を特定するステップと、 (c)各コンシューマ多重集合から、当該コンシューマ
多重集合の各コンシューマについて、資源要件に対応す
ると共に必要な値に対する任意の制約と直交する需要を
特定するステップとを備えた方法。
1. A method for expressing a resource allocation problem, comprising: (a) defining the resource allocation problem by: (i) defining at least one domain including both resource availability and values for zero or more elements. (Ii) representing by a multiset representing at least one consumer and their resource requirements and any value constraints associated with each of said domain multisets; (b) Identifying, from each domain multiplex, a supply corresponding to resource availability and orthogonal to a value for each element of the domain; (c) from each consumer multiplex, each consumer of the consumer multiplex; Identifying the demands that correspond to the resource requirements and are orthogonal to any constraints on the required values.
【請求項2】各定義域多重集合が資源使用可能度と値要
素の対の集合として表されている、請求項1に記載の方
法。
2. The method of claim 1 wherein each domain multiplex is represented as a set of resource availability and value element pairs.
【請求項3】前記対の各々が任意に複雑な値組と資源使
用可能度とから成っている、請求項2に記載の方法。
3. The method of claim 2, wherein each of said pairs comprises an arbitrarily complex set of values and resource availability.
【請求項4】前記コンシューマ多重集合が資源要件と値
制約の集合として表されている、請求項1に記載の方
法。
4. The method of claim 1, wherein the consumer multiplex is represented as a set of resource requirements and value constraints.
【請求項5】前記値制約が変数または値、あるいは両者
の組から成っている、請求項4に記載の方法。
5. The method of claim 4, wherein the value constraint comprises a variable or a value, or a combination of both.
【請求項6】各定義域多重集合について、前記供給がそ
の基礎集合と当該基礎集合の各要素の発生数との和の観
点で表されており、 前記コンシューマ多重集合について、前記需要がその基
礎集合と当該基礎集合の各要素の発生数との和の観点で
表されている、請求項1に記載の方法。
6. For each domain multiplex, the supply is represented in terms of the sum of its base set and the number of occurrences of each element of the base set, and for the consumer multiplex the demand is The method of claim 1, wherein the method is expressed in terms of a sum of a set and the number of occurrences of each element of the basic set.
【請求項7】資源割り当て問題に関連付けられた制約を
表現する方法であって、 (a)前記資源割り当て問題を、 (i)零以上の要素に対する資源使用可能度と値との双
方を含む少なくとも1つの定義域の各々を表わす多重集
合と、 (ii) 少なくとも1つのコンシューマおよびそれらの資
源要件、ならびに前記定義域多重集合の各々に関連付け
られた任意の値制約を表わす多重集合とによって表現す
るステップと、 (b)各定義域多重集合から、当該定義域の各要素につ
いて、資源使用可能度に対応すると共に値と直交する供
給を特定するステップと、 (c)各コンシューマ多重集合から、当該コンシューマ
多重集合の各コンシューマについて、資源要件に対応す
ると共に必要な値に対する任意の制約と直交する需要を
特定するステップと (d)各定義域多重集合について、当該定義域多重集合
の供給属性と、関連するコンシューマ多重集合の需要属
性との間の関連付けから、単項資源制約を定義するステ
ップと、 (e)各コンシューマ多重集合について、当該コンシュ
ーマ多重集合内のコンシューマ相互間の2項資源制約
を、個々の問題表現に関連付けて定義するステップとを
備えた方法。
7. A method for expressing constraints associated with a resource allocation problem, comprising: (a) defining the resource allocation problem by: (i) at least including both resource availability and value for zero or more elements. (Ii) representing by a multiset representing at least one consumer and their resource requirements and any value constraints associated with each of said domain multisets; (B) identifying, from each domain multiplex, a supply corresponding to resource availability and orthogonal to a value for each element of the domain; and (c) from each consumer multiplex, the consumer Identifying, for each consumer of the multiset, a demand corresponding to the resource requirement and orthogonal to any constraint on the required value; (D) defining, for each domain multiplex, a unary resource constraint from an association between a supply attribute of the domain multiplex and a demand attribute of an associated consumer multiplex; and (e) each consumer multiplex. Defining a set of binomial resource constraints between consumers in the consumer multiset in relation to the individual problem expressions.
【請求項8】各コンシューマに対して単項資源制約が定
義されており、 前記各コンシューマの供給は、前記定義域に対する前記
コンシューマの見方を、前記コンシューマの需要よりも
大きな供給を有する前記定義域の要素だけに限定してい
る、請求項7に記載の方法。
8. A unary resource constraint is defined for each consumer, and the supply of each consumer determines the consumer's view of the domain with that of the domain having a supply greater than the demand of the consumer. The method of claim 7, wherein the method is limited to elements only.
【請求項9】コンシューマへの値の割り当ての任意の所
定の順序について、1つのコンシューマとその後で割り
当てられるすべてのコンシューマとの間に、2項資源制
約が存在する、請求項7に記載の方法。
9. The method of claim 7, wherein for any given order of assignment of values to consumers, a binary resource constraint exists between one consumer and all subsequently assigned consumers. .
【請求項10】ある値をあるコンシューマに割り当てる
ことにより、当該コンシューマの満足されている単項資
源制約に従属する2項資源制約を実現し、 この結果、前記コンシューマの需要の大きさだけ、前記
割り当てた値の供給が減少し、 使用可能度の制限がこの同じ値を次のコンシューマに割
り当てるのを制約する、請求項9に記載の方法。
10. Assigning a value to a consumer realizes a binomial resource constraint that is dependent on the satisfied unary resource constraint of the consumer, so that the allocation by the amount of demand of the consumer is achieved. 10. The method of claim 9, wherein the supply of the reduced value is reduced, and availability restrictions constrain the assignment of this same value to the next consumer.
【請求項11】各定義域多重集合が資源使用可能度と値
要素の対の集合として表されている、請求項7に記載の
方法。
11. The method of claim 7, wherein each domain multiplex is represented as a set of resource availability and value element pairs.
【請求項12】前記対の各々が任意に複雑な値組と資源
使用可能度とから成っている、請求項11に記載の方
法。
12. The method of claim 11, wherein each of said pairs comprises an arbitrarily complex set of values and resource availability.
【請求項13】前記コンシューマ多重集合が資源要件と
値制約の集合として表されている、請求項7に記載の方
法。
13. The method of claim 7, wherein the consumer multiplex is represented as a set of resource requirements and value constraints.
【請求項14】前記値制約が変数または値、あるいは両
者の組から成っている、請求項13に記載の方法。
14. The method of claim 13, wherein said value constraint comprises a variable or a value, or a combination of both.
【請求項15】各定義域多重集合について、前記供給が
その基礎集合と当該基礎集合の各要素の発生数との和の
観点で表されており、 前記コンシューマ多重集合について、前記需要がその基
礎集合と当該基礎集合の各要素の発生数との和の観点で
表されている、請求項7に記載の方法。
15. For each domain multiplex, the supply is represented in terms of the sum of its base set and the number of occurrences of each element of the base set. The method of claim 7, wherein the method is expressed in terms of a sum of a set and the number of occurrences of each element of the basic set.
【請求項16】資源割り当てに関する制約問題の解をコ
ンピュータを用いて解く方法であって、 (a)前記資源割り当て問題を、 (i)零以上の要素に対する資源使用可能度と値との双
方を含む少なくとも1つの定義域の各々を表わす多重集
合と、 (ii) 少なくとも1つのコンシューマおよびそれらの資
源要件、ならびに前記定義域多重集合の各々に関連付け
られた任意の値制約を表わす多重集合とによって表現す
るステップと、 (b)各定義域多重集合から、当該定義域の各要素につ
いて、資源使用可能度に対応すると共に値と直交する供
給を特定するステップと、 (c)各コンシューマ多重集合から、当該コンシューマ
多重集合の各コンシューマについて、資源要件に対応す
ると共に必要な値に対する任意の制約と直交する需要を
特定するステップと (d)各定義域多重集合について、当該定義域多重集合
の供給属性と、関連するコンシューマ多重集合の需要属
性との間の関連付けから、単項資源制約を定義するステ
ップと、 (e)各コンシューマ多重集合について、当該コンシュ
ーマ多重集合内のコンシューマ相互間の2項資源制約
を、個々の問題表現に関連付けて定義するステップと、 (f)前記単項資源制約および2項資源制約に時間的な
バックトラック・アルゴリズムを適用して、前記問題を
解くステップとを備えた方法。
16. A method for solving a constraint problem relating to resource allocation using a computer, comprising: (a) solving the resource allocation problem; and (i) determining both resource availability and values for zero or more elements. And (ii) represented by a multiset representing at least one consumer and their resource requirements, and any value constraints associated with each of said domain multisets. (B) identifying, from each domain multiplex, a supply corresponding to resource availability and orthogonal to a value for each element of the domain; (c) from each consumer multiplex, For each consumer in the consumer multiset, identify demands that correspond to resource requirements and are orthogonal to any constraints on required values (D) defining, for each domain multiplex, a unary resource constraint from an association between a supply attribute of the domain multiplex and a demand attribute of an associated consumer multiplex; (e) For each consumer multiset, defining binomial resource constraints between the consumers in the consumer multiset in association with the individual problem expressions; and (f) defining the unary resource constraint and the binomial resource constraint in time. Applying a backtracking algorithm to solve the problem.
【請求項17】前記ステップ(e)を、 前記コンシューマ多重集合のコンシューマ群と当該コン
シューマ群の評価の任意の順序との間の関係から2項資
源制約図を作成し、 この2項資源制約図からコンシューマ相互間の2項資源
制約を特定することにより実行する、請求項16に記載
の方法。
17. A step (e) comprising: creating a binomial resource constraint diagram from a relationship between a consumer group of the consumer multiset and an arbitrary order of evaluation of the consumer group; 17. The method of claim 16, wherein the method is performed by identifying binary resource constraints between consumers from.
【請求項18】前記時間的なバックトラック・アルゴリ
ズムが、衝突指向バックジャンプを備えたフォワード・
チェックを行なう部類のものである、請求項16に記載
の方法。
18. The method according to claim 17, wherein said temporal backtracking algorithm comprises a forward link with collision oriented back jump.
17. The method according to claim 16, which is of the class that performs a check.
【請求項19】資源割り当てに関する制約問題の解を計
算するコンピュータ・プログラムを記録したコンピュー
タ読み取り可能な媒体を備えたコンピューター・プログ
ラム製品であって、 前記資源割り当て問題を、 (i)零以上の要素に対する資源使用可能度と値との双
方を含む少なくとも1つの定義域の各々を表わす多重集
合と、 (ii) 少なくとも1つのコンシューマおよびそれらの資
源要件、ならびに前記定義域多重集合の各々に関連付け
られた任意の値制約を表わす多重集合とによって表現す
るコンピュータ・コード手段と、 各定義域多重集合から、当該定義域の各要素について、
資源使用可能度に対応すると共に値と直交する供給を特
定するコンピュータ・コード手段と、 各コンシューマ多重集合から、当該コンシューマ多重集
合の各コンシューマについて、資源要件に対応すると共
に必要な値に対する任意の制約と直交する需要を特定す
るコンピュータ・コード手段と各定義域多重集合につい
て、当該定義域多重集合の供給属性と、関連するコンシ
ューマ多重集合の需要属性との間の関連付けから、単項
資源制約を定義するコンピュータ・コード手段と、 各コンシューマ多重集合について、当該コンシューマ多
重集合内のコンシューマ相互間の2項資源制約を、個々
の問題表現に関連付けて定義するコンピュータ・コード
手段と、 前記単項資源制約および2項資源制約に時間的なバック
トラック・アルゴリズムを適用して、前記問題を解くコ
ンピュータ・コード手段とを備えたコンピューター・プ
ログラム製品。
19. A computer program product comprising a computer readable medium having recorded thereon a computer program for calculating a solution to a resource allocation constraint problem, the resource allocation problem comprising: (i) zero or more elements; A multi-set representing each of at least one domain including both resource availability and value for: (ii) at least one consumer and their resource requirements, and associated with each of said domain multi-sets Computer code means expressed by a multiset representing an arbitrary value constraint; and from each domain multiset, for each element of the domain,
Computer code means for identifying the supply corresponding to the resource availability and orthogonal to the value; and from each consumer multiplex, any constraints on the resource requirements and required values for each consumer of the consumer multiplex. For each domain multiplex set and computer code means for identifying a demand orthogonal to, a unary resource constraint is defined from the association between the supply attribute of the domain multiplex set and the demand attribute of the associated consumer multiset. Computer code means, for each consumer multiset, computer code means for defining binomial resource constraints between consumers in the consumer multiset in association with individual problem expressions, and said unary resource constraints and Apply temporal backtracking algorithms to resource constraints To, computer program product comprising a computer code means for solving the problem.
【請求項20】前記2項資源制約を定義するコンピュー
タ・コードが、 前記コンシューマ多重集合のコンシューマと前記コンシ
ューマの評価の任意の順序との間の関係から2項資源制
約図を作成し、 この2項資源制約図からコンシューマ相互間の2項資源
制約を特定する、請求項19に記載のコンピューター・
プログラム製品。
20. The computer code defining the binomial resource constraint creates a binomial resource constraint diagram from the relationship between the consumers of the consumer multiset and an arbitrary order of evaluation of the consumer. 20. The computer according to claim 19, wherein a binary resource constraint between consumers is specified from the term resource constraint diagram.
Program products.
【請求項21】前記アルゴリズムを適用する前記コンピ
ュータ・コードが、 衝突指向バックジャンプを備えたフォワード・チェック
を行なう部類のアルゴリズムを適用する、請求項19に
記載のコンピューター・プログラム製品。
21. The computer program product of claim 19, wherein the computer code applying the algorithm applies a class of algorithms that performs a forward check with a collision-directed back jump.
【請求項22】資源割り当てに関する制約問題の解を計
算するようにプログラムされたコンピュータ・システム
であって、 コンピュータ・プログラムを格納するメモリと、 前記資源割り当て問題を要素の少なくとも1つの定義域
として入力するのに使用するデータ入力手段であって、
前記要素の各々は資源使用可能度を有し、少なくとも1
つのコンシューマの各々が資源要件を有するデータ入力
手段と、 前記資源割り当て問題を、(i)零以上の要素に対する
資源使用可能度と値との双方を含む少なくとも1つの定
義域の各々を表わす多重集合と、(ii) 少なくとも1つ
のコンシューマおよびそれらの資源要件、ならびに前記
定義域多重集合の各々に関連付けられた任意の値制約を
表わす多重集合とによって表現し、各定義域多重集合か
ら、当該定義域の各要素について、資源使用可能度に対
応すると共に値と直交する供給を特定し、各コンシュー
マ多重集合から、当該コンシューマ多重集合の各コンシ
ューマについて、資源要件に対応すると共に必要な値に
対する任意の制約と直交する需要を特定し、各定義域多
重集合について、当該定義域多重集合の供給属性と、関
連するコンシューマ多重集合の需要属性との間の関連付
けから、単項資源制約を定義し、各コンシューマ多重集
合について、当該コンシューマ多重集合内のコンシュー
マ相互間の2項資源制約を、個々の問題表現に関連付け
て定義し、前記単項資源制約および2項資源制約に時間
的なバックトラック・アルゴリズムを適用して前記問題
を解くように、前記資源割り当て問題に応答して前記コ
ンピュータ・プログラムを実行するプロセッサとを備え
たコンピュータ・システム。
22. A computer system programmed to calculate the solution of a constraint problem relating to resource allocation, comprising: a memory for storing a computer program; and inputting the resource allocation problem as at least one domain of an element. Data input means used to
Each of the elements has a resource availability and at least one
A data entry means wherein each of the consumers has resource requirements; and a multiset representing each of the at least one domain including both (i) resource availability and values for zero or more elements. And (ii) a multiset representing at least one consumer and their resource requirements, and any value constraints associated with each of the domain multisets, and from each domain multiset, For each element of, specify a supply that corresponds to resource availability and is orthogonal to the value, and from each consumer multiplex set, for each consumer of that consumer multiplex set, any constraints on resource requirements and required values Identify the demands that are orthogonal to, and for each domain multiplex, provide the supply attributes of the Unary resource constraints are defined from the association between the demand attributes of the consumer multisets, and for each consumer multiset, binomial resource constraints between consumers in the consumer multiset are defined in association with individual problem expressions. A processor that executes the computer program in response to the resource allocation problem so as to solve the problem by applying a temporal backtrack algorithm to the unary and binary resource constraints. Computer system.
【請求項23】前記プロセッサが、前記コンシューマ多
重集合のコンシューマ群と当該コンシューマ群の評価の
任意の順序との間の関係から2項資源制約図を作成し、 この2項資源制約図からコンシューマ相互間の2項資源
制約を特定する請求項22に記載のコンピュータ・シス
テム。
23. The processor creates a binomial resource constraint diagram from a relationship between a consumer group of the consumer multiset and an arbitrary order of evaluation of the consumer group. 23. The computer system of claim 22, specifying binary resource constraints between.
【請求項24】前記プロセッサが、 衝突指向バックジャンプを備えたフォワード・チェック
を行なう部類のアルゴリズムを適用する、請求項22に
記載のコンピュータ・システム。
24. The computer system of claim 22, wherein said processor applies a class of algorithms to perform forward checks with collision-oriented back jumps.
JP2001254031A 2000-08-25 2001-08-24 Method for representing resource allocation problem and method for solving the problem Pending JP2002133052A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
AUPQ9677A AUPQ967700A0 (en) 2000-08-25 2000-08-25 Problem representation and computational solutions therefor in the allocation of resources
US67792700A 2000-10-03 2000-10-03
US9677 2000-10-03
US09/677927 2000-10-03

Publications (1)

Publication Number Publication Date
JP2002133052A true JP2002133052A (en) 2002-05-10

Family

ID=25646422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001254031A Pending JP2002133052A (en) 2000-08-25 2001-08-24 Method for representing resource allocation problem and method for solving the problem

Country Status (1)

Country Link
JP (1) JP2002133052A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200125894A (en) * 2019-04-24 2020-11-05 알리바바 그룹 홀딩 리미티드 Distributed resource allocation
US11093253B2 (en) 2019-04-24 2021-08-17 Advanced New Technologies Co., Ltd. Distributed resource allocation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200125894A (en) * 2019-04-24 2020-11-05 알리바바 그룹 홀딩 리미티드 Distributed resource allocation
KR102234129B1 (en) 2019-04-24 2021-04-02 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. Distributed resource allocation
US11093253B2 (en) 2019-04-24 2021-08-17 Advanced New Technologies Co., Ltd. Distributed resource allocation
US11314519B2 (en) 2019-04-24 2022-04-26 Advanced New Technologies Co., Ltd. Distributed resource allocation

Similar Documents

Publication Publication Date Title
Tschang et al. Artificial intelligence as augmenting automation: Implications for employment
Grudin A moving target: The evolution of HCI
Moldoveanu et al. On the relationship between organizational complexity and organizational structuration
US20060149582A1 (en) Acting on a subject system
US20160267413A1 (en) Assigning resource permissions
Vlachos An investigation of imitation learning algorithms for structured prediction
Sharma et al. New setup-oriented dispatching rules for a stochastic dynamic job shop manufacturing system with sequence-dependent setup times
JP6500896B2 (en) Attribute enumeration system, attribute enumeration method and attribute enumeration program
Bocewicz et al. A cyclic scheduling approach to maintaining production flow robustness
Traganos et al. Dynamic process synchronization using BPMN 2.0 to support buffering and (un) bundling in manufacturing
Farughi et al. A new critical path method and a memetic algorithm for flexible job shop scheduling with overlapping operations
Ren et al. Seloc-ml: Semantic low-code engineering for machine learning applications in industrial iot
US6745381B1 (en) Method and apparatus for annotating static object models with business rules
JP2002133052A (en) Method for representing resource allocation problem and method for solving the problem
Reuter et al. Towards simulation-based role optimization in organizations
Krafft et al. Levels of Analysis in Computational Social Science.
Benabdellah et al. SmartDFRelevance: a holonic agent based system for engineering industrial projects in concurrent engineering context
Majeed et al. Deja vu: a hyper heuristic framework with record and recall (2r) modules
Toth Automated method for identifying and prioritizing project risk factors
Lu et al. Detecting Context Activities in Event Logs
US20230401499A1 (en) Increasing data diversity to enhance artificial intelligence decisions
Gradišar et al. Automated Petri-net modelling based on production management data
Schaidt et al. Dealing with Variability: A Control-Based Configuration of Process Variants
Wilson Knowledge engineering
Denning et al. Coordination

Legal Events

Date Code Title Description
RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20031201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20031201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040217

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040615

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040616