JPH04152451A - High speed execution processing system for branch limiting method - Google Patents

High speed execution processing system for branch limiting method

Info

Publication number
JPH04152451A
JPH04152451A JP2277553A JP27755390A JPH04152451A JP H04152451 A JPH04152451 A JP H04152451A JP 2277553 A JP2277553 A JP 2277553A JP 27755390 A JP27755390 A JP 27755390A JP H04152451 A JPH04152451 A JP H04152451A
Authority
JP
Japan
Prior art keywords
processor
data
processing
processors
child
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
JP2277553A
Other languages
Japanese (ja)
Inventor
Hajime Kitagami
北上 始
Haruo Yokota
治夫 横田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2277553A priority Critical patent/JPH04152451A/en
Publication of JPH04152451A publication Critical patent/JPH04152451A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To carry out a branch limiting method at a high speed by attaining a constitution where the communication processing and problem solving processors carry out their own processing operations based on their own object data and by reference to the common control data. CONSTITUTION:In a branch limiting method processor consisting of plural parallel clusters 1 connected to a communication network 2, a communication processor 3 and a problem solving processor 4 carry out their own processing operations by using the object data 11-14 in a shared data space 5 as their own processing subject data. At the same time, the processors 3 and 4 disperse the load and perform other processing operations by reference to the control data 7-10 to which both processors have accesses in common. In such a constitution, the highly efficient data accesses and dispersion of load and cutting of branches can be carried out. Then, a branch limiting method is carried out at a high speed.

Description

【発明の詳細な説明】 C概 要〕 複数の並列クラスタが夫々通信ネットワークに連繋され
て構成される分枝限定法処理装置における分枝限定法高
速実行処理方式に関し。
[Detailed Description of the Invention] C Overview] This invention relates to a branch-and-bound high-speed execution processing method in a branch-and-bound processing device configured by connecting a plurality of parallel clusters to a communication network.

効率的なデータ・アクセスと、効率的な負荷分散と、効
率的な枝刈りとを行い得るようにして高速実行を可能に
することを目的とし 通信ネットワークに連繋される夫々の並列クラスタが2
通信処理用プロセッサと複数の問題処理用プロセッサと
共有のデータ空間とをもち、当該共有のデータ空間内に
おいて、各プロセッサ用の処理対象データとしてのオブ
ジェクト・データと各プロセッサが共通に参照する制御
データとをもつよう構成し、各プロセッサは自己用のオ
ブジェクト・データにもとづいて自己の処理を実行しか
つ上記制御データを参照して負荷分散などの処理を実行
するよう構成する。
Each parallel cluster is connected to a communication network with two
It has a communication processing processor, a plurality of problem processing processors, and a shared data space, and within the shared data space, object data as processing target data for each processor and control data commonly referenced by each processor are provided. Each processor is configured to execute its own processing based on its own object data and to execute processes such as load distribution by referring to the control data.

〔産業上の利用分野〕[Industrial application field]

本発明は、複数の並列クラスタが夫々通信ネ。 In the present invention, a plurality of parallel clusters communicate with each other.

トワークに連繋されて構成される分枝限定法処理装置に
おける分枝限定法高速実行処理方式に関する。
The present invention relates to a branch and bound method high-speed execution processing method in a branch and bound method processing device configured to be connected to a network.

分枝限定法は、生産計画や配置計画などの経営十字の分
野、制約条件のもとての処理や推論を行う処理などの人
士知能の分野、レイアウトなどを行うLS士設計の分野
などに利用されるが、データを例えば木構造の形で構造
化して行くに当たって、多数の枝が生成されかつ非所望
な枝が刈り取られるなど処理量が膨大となる。
The branch and bound method is used in the field of business management such as production planning and layout planning, the field of human intelligence such as processing of constraints and reasoning, and the field of LS design for layout etc. However, when structuring data in the form of a tree structure, for example, a large number of branches are generated and undesired branches are pruned, resulting in an enormous amount of processing.

〔従来の技術〕[Conventional technology]

この種の処理に当たっては、従来から次の如き処理B様
が用いられてきた。即ち ■ 逐次処理 評価関数を使い最良優先探索を行う。整数解(最適解の
候補)が求まると、その目的関数値を使い枝刈りを行う
In this type of processing, the following processing B has conventionally been used. That is, ■ Perform a best-first search using a sequential processing evaluation function. Once an integer solution (optimal solution candidate) is found, pruning is performed using the objective function value.

■ 並列処理 (イ)ヘクトル計X機1z群る処理 列挙木の各ノードをヘクトル計算機で処理する。■ Parallel processing (b) Hector meter X machine 1z swarming process Each node of the enumeration tree is processed by a hector computer.

(ロ)マルチプロセッサによる処理 列挙木の上から順にプロセッサ(PE)を割り当て、各
PEに横型探索を行わせる。
(b) Processing by multiprocessors Allocate processors (PEs) in order from the top of the enumeration tree, and have each PE perform a horizontal search.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

■ 上記逐次処理の場合。 ■ In the case of the above sequential processing.

最近ではシステムの規模がだんだん大きくなってきてお
り、整数変数の数が例えば100を超えると現在の逐次
型高性能計算機では対処しきれない場合が増えている。
Recently, the scale of systems has been gradually increasing, and when the number of integer variables exceeds, for example, 100, there are increasing cases where current sequential high-performance computers cannot handle the number of integer variables.

■ 上記並列処理の場合 (イ)ヘクトル計算機による処理の場合各ノードの問題
として与えられるタブロー行列がスパース(まばら)で
あるので、スカラー計算機の場合の3倍程度の性能しか
見込めない。
■ In the case of the above parallel processing (a) In the case of processing using a hector computer Since the tableau matrix given as a problem for each node is sparse, the performance can only be expected to be about three times that of a scalar computer.

(ロ)マルチプロセッサによる処理の場合列挙水のルー
トノードから順に1列挙木工の各ノードをマルチプロセ
ッサの各PEに割り当てて、子問題を解くようにしたシ
ステムでは列挙水のn段目で、2″個のプロセッサが必
要になり、速く整数解を見つけることができない。
(b) In the case of processing by multiprocessors In a system in which each node of 1 enumeration woodworking is assigned to each PE of the multiprocessor in order from the root node of enumeration water to solve child problems, at the nth stage of enumeration water, 2 ″ processors are required, and it is not possible to find an integer solution quickly.

また、全PEに最良優先探索を行わせたとしても、PE
の増大に伴い、逐次処理でサーチしたノード数よりも多
くのノードをサーチする危険性が生しるために、必ずし
も効率的とはいえない 本発明は、効率的なデータ・アクセスと、効率的な負荷
分散と、効率的な枝刈りとを行い得るようにして高速実
行を可能にすることを目的としている。
Moreover, even if all PEs are made to perform best-first search, PE
As the number of nodes increases, there is a risk that more nodes will be searched than the number of nodes searched in sequential processing, which is not necessarily efficient. The purpose is to enable high-speed execution by performing efficient load distribution and efficient pruning.

C課題を解決するための手段] 第1図は本発明の原理構成口を示す。図中の符号1−i
は並列クラスタ、2は通信ネントワーク。
Means for Solving Problem C] FIG. 1 shows the basic configuration of the present invention. Code 1-i in the figure
is a parallel cluster, and 2 is a communication network.

3−4は通信処理用プロセッサ、4−ijは問題解決用
プロセッサ、5−1は並列クラスタ内のデータ空間26
は制御データ保持部、フないし10は夫々制御データ、
1工ないし14は夫々オブジェクト・データを表してい
る。
3-4 is a communication processing processor, 4-ij is a problem-solving processor, and 5-1 is a data space 26 in the parallel cluster.
is a control data holding unit, F to 10 are control data, respectively;
Items 1 to 14 represent object data, respectively.

各並列クラスタ1−iは9通信処理用プロセ。Each parallel cluster 1-i has 9 communication processing processes.

す3−iを介して2通信ネットワーク2に連繋され、互
いに負荷分散処理を含む処理を交信しつつ実行する。
The two communication networks 2 are connected to each other via the bus 3-i, and mutually execute processing including load distribution processing while communicating with each other.

各並列クラスタ1−1は2通信処理用プロセッサ3−1
1問題解決用プロセッサ4−ij、データ空間5−iを
もっている。またデータ空間51内には (1)各プロセッサ3.4が自己の処理を実行する上で
必要とするデータと、当該データを高速アクセスするた
めのインデックスとによって構成されるオブジェクト・
データ11ないし14と (11)各プロセッサ3.4が自身で適宜更新を行い5
かつ他プロセツサが共通に参照する制御データマないし
10と が存在している。
Each parallel cluster 1-1 has two communication processing processors 3-1.
It has one problem-solving processor 4-ij and a data space 5-i. Additionally, within the data space 51, there are objects and
Data 11 to 14 and (11) each processor 3.4 updates itself appropriately and 5
In addition, there are control data sets 10 that are commonly referenced by other processors.

各プロセッサ3,4は、上記制御データを参照し、てリ
ンク結合され1例えば負荷分散処理などを行う。
Each of the processors 3 and 4 refers to the control data and is linked together to perform, for example, load distribution processing.

〔作 用〕[For production]

ノードデータを木構造で構造化し、さらに探索1略に基
づき、このノードデータに対するインデックスを作成し
ておき、これらを合わせて、オブジェクト・データとし
ている。
The node data is structured in a tree structure, and an index is created for this node data based on Search 1, and these are combined as object data.

(A)効率的なデータアクセス管理 (1)オブジェクト・データに対してアクセスが集中す
ることを回避するために、プロセッサ(以下、PEと略
す)の処理内容に応じて。
(A) Efficient data access management (1) In order to avoid concentration of access to object data, depending on the processing content of the processor (hereinafter abbreviated as PE).

オブジェクト・データをローカル/グローバルとして見
るようにする。即ち5列挙水の展開においては、自PE
用のローカルデータと見做し、負荷分散処理においては
、グローバルデータと見做す。
View object data as local/global. In other words, in the development of 5 enumerated water, own PE
It is regarded as local data for the purpose of use, and as global data in load distribution processing.

(2)木構造のノードデータ(子問題)の探索1略に基
づいたアクセス速度を高めるために8−Tree等によ
るインデックスを設けておくようにする。
(2) In order to increase the access speed based on the search for tree-structured node data (child problems), an index such as 8-Tree should be provided.

(B)効率的な負荷分散処理 (1)同しデータ空間においては1一元的な形で負荷分
散処理を行う事を避け、各PEが自律的に負荷分散処理
を行い得るようにする。
(B) Efficient load distribution processing (1) Avoid performing load distribution processing in a unified manner in the same data space, and allow each PE to perform load distribution processing autonomously.

(2)空き状態にあるPEが妥当なノードデータを捜す
時に、オブジェクト・データへ繰り返して無駄なアクセ
スが行われることを回避するために、制御データにより
オブジェクト・データのマクロな状態やアクセス方法を
記憶させておく。そして所望とするオブジェクト・デー
タを獲得するに当たっては、リング構造で接続されてい
る制御データを辿り2各制御データの内容(ノートデー
タの件数、インデックスキーの最大最小値、探索戦略等
)を比較することにより、適当なオブジェクト・データ
が獲得されるようにされる。
(2) In order to avoid repeated and wasteful accesses to object data when a PE in an idle state searches for valid node data, control data is used to control the macro state of object data and the access method. Let me remember it. To obtain the desired object data, trace the control data connected in a ring structure and compare the contents of each control data (number of note data, maximum and minimum values of index keys, search strategy, etc.) This ensures that appropriate object data is obtained.

(C)効率的な枝刈り処理 (1)あるPEにおいて枝刈り情報が得られた時には、
この情報を、各PEに対応する制御データ量に書き込む
。これによって問題解決用の各PEは、木構造の順序性
を利用し、枝刈り情報にもとづいて、オブジェクト・デ
ータの削除を行う。通信処理用のPEは、この枝刈り情
報を反映させるために、この情報を他の並列クラスタに
送信する。
(C) Efficient pruning processing (1) When pruning information is obtained at a certain PE,
This information is written into the control data amount corresponding to each PE. As a result, each PE for problem solving uses the order of the tree structure and deletes object data based on the pruning information. The PE for communication processing transmits this pruning information to other parallel clusters in order to reflect this information.

(2)枝刈りのタイミングは、ノード選択の直後に行わ
れるので、このとき自分の制御データ域の枝刈り情報を
使って、枝刈りが行われる。
(2) Since the timing of pruning is performed immediately after node selection, pruning is performed at this time using the pruning information in the own control data area.

(D)制御データを効率的に更新 (1)枝刈り情報は、あるPEで良い枝刈り情報が得ら
れる毎に、そのPEにより更新される。
(D) Efficiently updating control data (1) Pruning information is updated by a certain PE every time good pruning information is obtained by that PE.

(2)空き状態にあるPEに負荷として割りつけるオブ
ジェクト・データを決めるに当たってはそれ程厳密な管
理を行う必要はなく、いわば適当に保たれていれば良い
ので、オブジェクト・データの更新毎に制御データの更
新を行うことを避けこれにより、負荷分散処理が当該更
新のために排他制御待ちを低減するようにする。
(2) When deciding which object data to allocate as a load to a PE in an idle state, it is not necessary to perform very strict management, and it is sufficient to keep it appropriately, so to speak, the control data is This allows the load balancing process to reduce exclusive control waiting for the update.

〔実施例〕〔Example〕

以下、混合整数計画法で利用される分枝限定法を解くも
のとして説明する。
Hereinafter, the explanation will be given assuming that the method solves the branch and bound method used in mixed integer programming.

第2図は問題解決用プロセッサの一実施例構成を示す。FIG. 2 shows the configuration of an embodiment of the problem-solving processor.

図中の符号4.5は夫々第1図に対応しており、15は
ノード選択部であって複数個分生成された。/−ドのう
ちの1つを選択して処理対象とする当該選択を行うもの
、16は枝刈り処理部であって整数解の目的関数値によ
り非所望な枝刈りを行うもの、17は分技湿作部であっ
て単体法で解かれた解答により問題分割を行うものであ
る。
Reference numerals 4 and 5 in the figure correspond to those in FIG. 1, and 15 is a node selection section, which is generated in plural numbers. 16 is a pruning processing unit that performs undesired pruning based on the objective function value of the integer solution; It is a part of the technical and wet farming division that divides the questions based on the answers solved using the simplex method.

またI8は制御データ管理部であって制御データ7.8
.9.10をアクセスするなどの管理を行うもの、19
はノード管理部であって木構造における現に処理を行う
ノードを管理するもの、20はインデックス管理部であ
ってオブジェクト・データ11 12 13 14にお
けるインデックスを管理するもの、21は負荷分散処理
部であって負荷分散に関連する処理を行うものである。
Further, I8 is a control data management section, and control data 7.8
.. 9.10 Management such as accessing 19
20 is a node management unit that manages the nodes that are currently being processed in the tree structure; 20 is an index management unit that manages indexes in the object data 11 12 13 14; and 21 is a load distribution processing unit. It performs processing related to load distribution.

上述の単体法で解かれた解答による問題分割が行われる
が、単体法による処理の結果、実行不可能になった場合
には2 その問題を捨て、探索戦略により他の問題を選
択し2分岐損作を続ける。探索戦略としては1問題解決
用プロセッサ(PE#0)4−〇〇が目的関数値を良く
するような深さ優先探索を行う機能をもつものとすると
、それ以外の問題解決用のプロセッサ4−ONは横型探
索を行う。従って、木構造のノードデータは、目的関数
値で順序化されており、また、横型探索の効率化をはか
るために、ノードデータに対して、深さに関するインデ
ックスを作成するようにしておく。
The problem is divided based on the answer solved by the simplex method described above, but if it becomes infeasible as a result of processing using the simplex method, the problem is discarded and another problem is selected using the search strategy and split into two. Continuing to make losses. As a search strategy, one problem-solving processor (PE#0) 4-〇〇 has the function of performing depth-first search that improves the objective function value, and other problem-solving processors 4- ON performs horizontal search. Therefore, the tree-structured node data is ordered by the objective function value, and in order to improve the efficiency of horizontal search, indexes regarding depth are created for the node data.

並列クラスタの1つの中の問題解決用PE#0から、当
該クラスタ内および他のクラスタ内の全PEを起動する
Starting from problem solving PE #0 in one of the parallel clusters, all PEs in that cluster and in other clusters are activated.

その後、当該代表並列クラスタ内の問題解決用PE40
は、データ空間5−〇から問題を取り出し2分岐損作を
繰り返しながら2列挙水を縦方向に探索する。これによ
り発生した子問題は、オブジェクト・データ12として
格納される。そして。
After that, the problem solving PE40 in the representative parallel cluster
extracts a problem from the data space 5-0 and searches for two enumerations in the vertical direction while repeating two branch failures. The resulting child problem is stored as object data 12. and.

定期的にオブジェクト・データ12の状況を自身に対応
する制御データ8に反映する。もし、整数解が求まった
ならば、枝刈り情報を各制御データ8に反映させ、自身
のオブジェクト・データ120枝刈りを行う。枝刈りム
こより2オブジエクト・データ12が全部なくなった場
合には、リング構造で結合されている制御データ7.9
.10を参照し、インデックスにより木構造のルートに
近いノード(子問題)が処理対象として残っているか否
かを探す。もし、当該クラスタ1−0内にノード(子間
B)が無い場合には9通信処理用PEが管理する制御デ
ータ7にノードの要求指示を書き込む。
The status of the object data 12 is periodically reflected in the control data 8 corresponding to itself. If an integer solution is found, the pruning information is reflected in each control data 8, and its own object data 120 is pruned. If all of the two object data 12 are removed from the pruning process, the control data 7.9 connected in a ring structure
.. 10, it is searched by the index whether or not a node (child problem) close to the root of the tree structure remains to be processed. If there is no node (child B) in the cluster 1-0, a node request instruction is written in the control data 7 managed by the communication processing PE 9.

PE#0以外の問題解決用PEでは、最初、オブジェク
ト・データがないので、リング構造の制御データ7.8
.9.10をサーチしながら、ルートに近いデータがあ
りそうなPEのオブジェクト・データに対して押し出し
を行い2ルートに近いノード(子問題)を取り出し、自
身のオブジェクト・データとする。もし、ノードが自分
のクラスタ1−〇に無ければ、他クラスタ1−1.・・
・・・・1−nにノード要求を出すために2211信処
理用PEが担当する制御データフに、ノートの要求指示
を書き込む。枝刈りにより、オブジェクト・データが無
くなったときには、前述のPE#0と同し処理を行う。
In problem-solving PEs other than PE#0, there is no object data at first, so control data in a ring structure7.8
.. 9. While searching for 10, push out the object data of the PE that is likely to have data close to the root, extract nodes (child problems) that are close to the 2nd root, and use them as your own object data. If the node is not in your own cluster 1-0, then the other cluster 1-1.・・・
. . . In order to issue a node request to 1-n, a note request instruction is written to the control data file handled by the PE for 2211 communication processing. When object data is lost due to pruning, the same processing as described above for PE#0 is performed.

通信処理用PEのオブジェクト・データ11は。The object data 11 of the PE for communication processing is as follows.

ノード(子問題)に関する送信データと受信データとで
ある。このデータに対する制御データ7に。
These are transmission data and reception data regarding nodes (child problems). Control data 7 for this data.

ノード要求指示がある場合には、他クラスタに対してノ
ードの要求を行う。他クラスタからノードが送られてき
たときには、それをオブジェクト・データ11に格納し
ておく。このデータは、要求元の問題解決用PEによっ
て取り出される。代表となる並列クラスタの通信処理用
PEに対してクラスタ内の全PEからノード要求があり
、かつ他の全てのクラスタの通信処理用PEからノート
要求がある時、全PEの処理を終了させる。
If there is a node request instruction, a node request is made to other clusters. When a node is sent from another cluster, it is stored in the object data 11. This data is retrieved by the requesting problem solving PE. When a node request is made to a communication processing PE in a representative parallel cluster from all PEs in the cluster, and a note request is made from communication processing PEs in all other clusters, the processing of all PEs is terminated.

第3図は代表となる並列クラスタの一実施例処理フロー
を示し、上記処理に対応している。即ち処理■: 問題
解決用ブロモ、す(PE#0)を起動する。
FIG. 3 shows a processing flow of one embodiment of a representative parallel cluster, and corresponds to the above processing. That is, process ①: Start the problem solving program (PE#0).

処理■: 当該プロセツサ(PE#0)が2制御卸デー
タ8を作成し、他プロセツサを起動する。
Processing ■: The processor (PE#0) creates the 2-control wholesale data 8 and starts other processors.

処理■: 当該ブロモ、す(PE#O)に対して。Processing ■: For the relevant bromo (PE#O).

木構造のルートに対応する問題を割りつける。Assign the problem corresponding to the root of the tree structure.

処理■: プロセッサ(PE#O)においては(1)負
荷獲得要求があれば5子問題を制御データ8に接続して
他プロセツサに処理を分担させ、(ii)最初には整数
前探索のための約定探索を行い、整数前が求まった枝刈
りの処理を行う。
Processing■: In the processor (PE#O), (1) if there is a load acquisition request, connect the quintuplet problem to the control data 8 and share the processing with other processors, (ii) first perform the pre-integer search Performs a contract search for , and performs pruning when the integer value is found.

処理■: 正常に終了したか否かをチェンクする。Process ■: Check whether it has completed normally.

処理■: 制御データ保持部6におけるリング構造を利
用して負荷分散処理を行う。
Processing ■: Load distribution processing is performed using the ring structure in the control data holding unit 6.

処理■: 手持ちの子問題の数がなくなったか否かを調
べる。残っていれば処理■に戻る。
Process ■: Check whether the number of child problems on hand has run out. If there are any remaining, return to process ■.

処理■; 処理■においてエラーがあれば、エラを出力
する。
Process ■; If there is an error in process ■, output the error.

処理■、 プロセッサ(PE#0)以外の問題解決用プ
ロセッサ(PE#N)などにおいては、探索のための軌
路は枝刈りである。
Processing (2) In a problem-solving processor (PE#N) other than the processor (PE#0), the search trajectory is pruning.

それ以外は、ブロモ、す(PE#O)と同しである。Other than that, it is the same as Bromosu (PE#O).

第4図は第3図における負荷分散処理の詳細処理を表す
FIG. 4 shows detailed processing of the load distribution processing in FIG. 3.

処理■: 負荷再要求フラグをOFFする。Process ■: Turn off the load re-request flag.

処理■:  (1)制御データ保持部6を利用して負荷
獲得用の制御データを見つけ、(ii)待ち状態にある
プロセッサの台数を数える。
Processing ■: (1) Find control data for load acquisition using the control data holding unit 6, and (ii) count the number of processors in the waiting state.

処理■: 待ち中のブロモ、すの数がn−1であるか否
かを調べるすべてのプロセッサが待ち中であることを確
かめる。
Process ①: Check whether the number of waiting processors is n-1. Verify that all processors are waiting.

YESであれば、負荷要求フラグが OFFしているか否かを調べる。NOであれば処理■へ
飛ぶ。
If YES, check whether the load request flag is OFF. If NO, jump to process ■.

YESであれば、当該プロセッサの待 ちフラグをONL、負荷要求フラグを ONする。If YES, wait for the processor in question. Set the flag to ONL, and set the load request flag to ONL. Turn on.

制御データに子問題が接続されたが否 かを調べる。A child problem was connected to the control data, but Find out.

Noであれば、プロセッサの待ちフラ グがONであるか否か調べる。YESであれば処理■に
戻る。
If No, it is checked whether the wait flag of the processor is ON. If YES, return to process ■.

処理■でNOであれば、負荷再要求フ ラグをONする。そして処理■に戻る。If NO in process Turn on the lag. Then, return to processing ■.

処理■でYESであれば、子問題を取 処理■: 処理■: 処理■: 処理■: 処理■: 処理■: 得し、待ちフラグをOFFにする。If YES in process■, take the child problem. Processing: Processing: Processing: Processing: Processing: Processing: and turns off the wait flag.

処理[相]: このとき子問題の個数が「1」であれば
、エンドとなる。
Processing [phase]: If the number of child problems is "1" at this time, it is the end.

処理■; 処理■においてNOでありかつ子問題の数が
「0」であればエンドとなる。
Process ■; If NO in Process ■ and the number of child problems is "0", the process ends.

以下1本発明の適用例を例題を挙げて説明する。An application example of the present invention will be explained below by giving an example.

第5図は通用例を示す。FIG. 5 shows a common example.

〈例 題〉 長さ100mの材料をもとにして、5種類の製品Y、(
i=1.2.3.4.5)を作る問題を考える。各製品
は、たかだか1つだけ作ればよいものとし、材料から製
品を切り取った後の余りXは廃棄処分し、1m当たり0
.5千円の損失がでるものとする。このような状況で、
最大の利益を得るにはどうすればよいかである。
<Example title> Based on a material with a length of 100 m, five types of products Y, (
Consider the problem of creating i=1.2.3.4.5). It is assumed that each product only needs to be made one at most, and the remainder X after cutting the product from the material is disposed of, and 0 per 1 m is used.
.. Assume that there will be a loss of 5,000 yen. In this situation,
The question is how to get the most profit.

第5図(イ)は、各製品の長さと利益とを示す。Figure 5(a) shows the length and profit of each product.

ここで、製品j (j=1.2,3,4.5)に対して
、以下のような整数変数を定義する。
Here, the following integer variables are defined for product j (j=1.2, 3, 4.5).

第5図(ロ)は、数式表現を示す、この数式表現のうち
の2 目的関数2について、制約条件を満たしたうえで
最大値を求めたものを第6図に示す。
FIG. 5(b) shows a mathematical expression. FIG. 6 shows the maximum value obtained for two of the mathematical expressions, objective function 2, after satisfying the constraint conditions.

第6回は作成ノードと計算結果例とを示す。第6図図示
のものは、第5図図示の目的関数2について9図示の制
約条件のもとて解を求めたものである。図中のZ、Vl
ないしy5の値は後述する第7図および第6図の列挙木
のノード番号に対応づけて列挙しである。ここで、暫定
部としてノート番号3,13のうち、ノード番号13の
方が大きく、20.0が求める最適解である。
Part 6 shows created nodes and examples of calculation results. What is shown in FIG. 6 is a solution obtained for objective function 2 shown in FIG. 5 under the constraints shown in FIG. 9. Z, Vl in the diagram
The values of y5 to y5 are listed in correspondence with the node numbers of the enumeration trees in FIGS. 7 and 6, which will be described later. Here, as a provisional part, node number 13 is larger among note numbers 3 and 13, and 20.0 is the optimal solution to be found.

第7図は並列クラスタと各プロセッサとに処理が割り当
てられてゆく態様を説明する説明図を示す。
FIG. 7 shows an explanatory diagram illustrating how processes are assigned to parallel clusters and each processor.

〔第一ステップ] :第7図はルートノードOを代表ク
ラスタである並列クラスタ1−0のプロセッサ4−00
に割り当てて、実行しく単体法で解く)子問題■、■を
作成する(詳述すれば、整数値変数y3に実数値が算出
されたので、後述する第8図に示すようにyz=0の子
問題■及びy3−1の子問題■の2つを生成する。以下
同様の手順で子問題を生成するので、説明を簡単にする
ために省略する)。これら生成した子問題■、■のうち
から並列クラスタ1−0の問題解決用プロセッサ4−0
0が評価関数値の高い子問題を取り、残りの子問題■を
他に分担させるように働く。
[First step]: In FIG. 7, the root node O is the processor 4-00 of the parallel cluster 1-0, which is the representative cluster.
, and solve it using the simplex method) Create child problems ■ and ■. Two child problems (1) and (2) of y3-1 are generated.Since the child problems will be generated in the same procedure below, they will be omitted for the sake of brevity). Processor 4-0 for solving the problem of parallel cluster 1-0 from among these generated child problems ■ and ■
0 takes the child problem with a high evaluation function value and assigns the remaining child problems ■ to others.

最初の状態では、他の並列クラスタ1−jからの要求が
強いので、残りの子問題■は1優先順位の高い並列クラ
スタ#1の通信モニタに受取られる。そして、子問題■
は、プロセッサ4−10に割り当てられる。なお第7図
において斜線を付した問題は、評価関数値のより高い例
の問題であることを表している。
In the initial state, since the request from the other parallel cluster 1-j is strong, the remaining child problem (2) is received by the communication monitor of the parallel cluster #1, which has one higher priority. And the child problem■
is assigned to processor 4-10. Note that the hatched problems in FIG. 7 represent examples of problems with higher evaluation function values.

〔第二ステップ〕 :並列クラスタ1−0のプロセッサ
1−00が子問題を実行し、子問題■、■を生成する。
[Second step]: Processor 1-00 of parallel cluster 1-0 executes the child problem and generates child problems ① and ②.

これら生成した子問題■、■のうちから並列クラスタ1
−0のプロセッサ1−00が評価値の高い子間頭■を取
り、残りの子問題■を他に分担させる。プロセッサ4−
01(図示せず)からの要求が強いとすると、子問題■
ばプロセッサ4−1に割り当てられる。
Parallel cluster 1 from among these generated child problems ■ and ■
Processor 1-00 of -0 picks the child problem (■) with a high evaluation value and assigns the remaining child problems (■) to others. Processor 4-
Assuming that the request from 01 (not shown) is strong, the child problem ■
For example, it is assigned to processor 4-1.

〔第三ステップ〕:並列クラスタ1−0のプロセッサ4
〜00が子問題■を実行して、整数解を得ると共に、並
列クラスタ1−0のプロセッサ401が子問題■を実行
し、子問題■、■を生成する。これら生成した子問題■
、■の内から並列クラスタ1−0のプロセッサ4−00
が評価値の高い子問題■を取る。その後、残りの子問題
■は並列クラスタ1−0のプロセッサ4−02(図示せ
ず)に割り当てられたとしている。
[Third step]: Processor 4 of parallel cluster 1-0
~00 executes the child problem ■ to obtain an integer solution, and the processor 401 of the parallel cluster 1-0 executes the child problem ■ to generate child problems ■ and ■. These generated child problems■
, Processor 4-00 of parallel cluster 1-0 from ■
Take the child question ■ that has a high evaluation value. Thereafter, the remaining child problem (2) is assigned to the processor 4-02 (not shown) of the parallel cluster 1-0.

(第四ステップ〕 、並列クラスタ1−0のプロセッサ
4−00が評価値の高い子問題■を実行し子問題■、■
を生成すると共に、並列クラスタ1−0のプロセッサ4
−02が子問題■を実行して見切る。これら生成された
子問題■、■のうち並列クラスタ1−0のプロセッサ1
−00が評価値の高い子問題■を取り、残りの子問題■
を他に分担させる。ここでは、その後、残りの子問題■
ば、並列クラスタ1−0のプロセッサ4−03(図示せ
ず)に割り当てられたとしている。
(Fourth step) The processor 4-00 of the parallel cluster 1-0 executes the child problem ■ with a high evaluation value, and the child problems ■, ■
and processor 4 of parallel cluster 1-0
-02 executes the child problem ■ and gives up. Among these generated child problems ■ and ■, processor 1 of parallel cluster 1-0
-00 takes the child problem ■ with a high evaluation value, and the remaining child problems ■
have others share the work. Here, then the remaining child problems ■
For example, it is assumed that the processor 4-03 (not shown) of the parallel cluster 1-0 is assigned.

〔第五ステンブ〕 :並列クラスタl−0のプロセッサ
4−00が子問題■を実行し、見切ると共に。
[Fifth step]: Processor 4-00 of parallel cluster l-0 executes child problem (2) and gives up.

並列クラスタ1−0のプロセッサ4−03が子問題■を
実行し、実行不可能を得る。
Processor 4-03 of parallel cluster 1-0 executes child problem (2) and obtains infeasibility.

また、第一ステップで子問題■の割り当てを受けたクラ
スタ1−1のプロセッサ4−10が、第ニステップで子
問題■を実行し、子問題■、@を生成する。これら生成
した子問題■、[相]の内から並列クラスタ1−1のプ
ロセッサ4−10が評価値の高い子問題[相]を取り、
残りの子問題■を他に分担させる。優先順位の高い並列
クラスタ1−3の通信モニタに送られる。並列クラスタ
1−3の通信モニタは、子問題■をノードBに送る。最
終的に、子問題■は、プロセッサ4−30に割りつけら
れたとしている。第三ステップで、並列クラスタ1−1
のプロセッサ4−10が子問題[相]を実行し、子問題
■、@を生成する。これら生成した子問題■、@のうち
から並列クラスタ1−1の整数プロセッサ4−10が評
価値の高い子問題■を取り、残りの子問題@を他に分担
させてプロセッサ4−11に割り当てる。第四ステップ
で並列クラスタ1−1のプロセッサ4−10が子問題■
を実行し、子問題@、oを得る。これら生成した子問題
@、■のうちから並列クラスタ1−1のプロセッサ4−
10が評価値の高い子問題@を取り残りの子問題[相]
をプロセッサ4−11に割り当てる。第五ステップで並
列クラスタ1−1のプロセッサ4−10が子問題■を実
行し、整数解(例えば暫定解z =20.0)を得ると
共に並列クラスタ11のプロセッサ4−11が子問題[
株]を実行し。
Further, the processor 4-10 of the cluster 1-1, which was assigned the child problem ■ in the first step, executes the child problem ■ in the second step and generates the child problems ■ and @. The processor 4-10 of the parallel cluster 1-1 selects the child problem [phase] with a high evaluation value from among these generated child problems ■, [phase], and
Have others share the remaining children's problems ■. It is sent to the communication monitor of parallel cluster 1-3, which has a higher priority. The communication monitor of parallel cluster 1-3 sends child problem ■ to node B. Finally, it is assumed that the child problem (2) is assigned to the processor 4-30. In the third step, parallel cluster 1-1
The processor 4-10 executes the child problem [phase] and generates the child problems ■ and @. From these generated child problems ■ and @, the integer processor 4-10 of the parallel cluster 1-1 picks the child problem ■ with a high evaluation value, and assigns the remaining child problems @ to other processors 4-11. . In the fourth step, processor 4-10 of parallel cluster 1-1 is a child problem ■
Execute and obtain the child problem @, o. Processor 4- of parallel cluster 1-1 from among these generated child problems @, ■
10 is the child problem with the highest evaluation value @ and the remaining child problems [phase]
is assigned to the processor 4-11. In the fifth step, the processor 4-10 of the parallel cluster 1-1 executes the child problem ■, obtains an integer solution (for example, provisional solution z = 20.0), and the processor 4-11 of the parallel cluster 11 executes the child problem [
Stocks].

実行不可を得る。Get non-executable.

また、第ニステップで子問題■の割り当てを受けた並列
クラスタ1−3のプロセッサ4−30が第三ステップで
子問題■を実行し、子間B■、■を生成する。これら生
成した子問題■、■のうちから並列クラスタ1−3のプ
ロセッサ4−30が評価値の高い子間B■を取り、残り
の子問題■を隣接する優先順位の高い並列クラスタ1−
2のプロセッサ4−20に割り当てる。第四ステップで
並列クラスタ1−3のプロセッサ4−30が子問題[株
]を実行し、子問題■、@を生成する。これら生成した
子問題@、@のうちから並列クラスタ13のプロセッサ
4−30が評価値の高い子問題@を取り、残りの子問題
0を、プロセッサ431に割り当てる。第五ステップで
並列クラスタ1−3のプロセッサ4−30が子問題@を
実行し子問題@、[相]を得ると共に、並列クラスタ1
−3のプロセッサ4−31が子問題■を実行し、見切る
。これら生成した子問題0.@のうちから並列クラスタ
1−3のプロセッサ4−30が評価値の高い子問題@を
取り、残りの子問題[相]を、プロセッサ4−32に割
り当てる。第六ステップで並列クラスタ1−3のプロセ
ッサ4−31が子問題@を実行し、見切ると共に、並列
クラスタ1−3のプロセッサ4−32が子問題[相]を
実行し、実行不可を得る。
Furthermore, the processor 4-30 of the parallel cluster 1-3, which has been assigned the child problem (2) in the second step, executes the child problem (2) in the third step, and generates the children B2, (3). From these generated child problems ■ and ■, the processor 4-30 of the parallel cluster 1-3 selects the child interval B■ with a high evaluation value, and the remaining child problem ■ is assigned to the adjacent parallel cluster 1-3 with a high priority.
2 processor 4-20. In the fourth step, the processor 4-30 of the parallel cluster 1-3 executes the child problem [share] and generates the child problems ■ and @. The processor 4 - 30 of the parallel cluster 13 selects the child problem @ with a high evaluation value from among these generated child problems @ and @, and assigns the remaining child problem 0 to the processor 431 . In the fifth step, the processor 4-30 of the parallel cluster 1-3 executes the child problem @ and obtains the child problem @, [phase].
-3's processor 4-31 executes the child problem (2) and gives up. These generated child problems 0. The processor 4-30 of the parallel cluster 1-3 takes the child problem @ with a high evaluation value from among the @, and assigns the remaining child problems [phases] to the processor 4-32. In the sixth step, the processor 4-31 of the parallel cluster 1-3 executes the child problem @ and gives up on it, and the processor 4-32 of the parallel cluster 1-3 executes the child problem [phase] and obtains an unexecutable result.

また 第三ステップで子間!!![株]の割り当てを受
けた並列クラスタ1−2のプロセッサ4−20が。
In the third step again! ! ! Processor 4-20 of parallel cluster 1-2 has been assigned [shares].

第四ステップで子問題■を実行し、子問題■、@を生成
する。これら生成した子問題O1@のうちから並列クラ
スタ1−2のプロセッサ4−20が評価値の高い子問題
@を取り、残りの子間B[相]を隣接する優先順位の高
い並列クラスタ1−6のプロセッサ4−60に割り当て
る。第五ステップで並列クラスタ1−2のプロセッサ4
−20が子問題■を実行し、子問題■、[相]を生成す
る。これら生成した子問題[相]、@1のうちから生成
りラスタ1−2のプロセッサ4−20が評価値の高い子
問題[相]を取り、残りの子問題[株]を、プロセッサ
4−21に割り当てる。第六ステップで並列クラスタ1
2のプロセッサ4−20が子問題[相]を実行し。
In the fourth step, the child problem ■ is executed and the child problems ■ and @ are generated. The processor 4-20 of the parallel cluster 1-2 takes the child problem @ with a high evaluation value from among these generated child problems O1@, and uses the remaining children B [phase] in the adjacent parallel cluster 1-2 with a high priority. 6 processors 4-60. In the fifth step, processor 4 of parallel cluster 1-2
-20 executes the child problem ■ and generates the child problem ■, [phase]. The processor 4-20 of generated raster 1-2 takes the child problem [phase] with a high evaluation value from among these generated child problems [phase], @1, and processes the remaining child problems [share]. Assigned to 21. Parallel cluster 1 in the sixth step
2's processor 4-20 executes the child problem [phase].

見切るとともに2並列クラスタ1−2のプロセッサ4−
21が子問題@を実行し、実行不可を得る。
At the same time, 2 parallel clusters 1-2 processor 4-
21 executes the child problem @ and obtains not executable.

また、第四ステップで子問題■の割り当てを受けた並列
クラスタ1−6のプロセッサ4−60が。
Also, the processor 4-60 of the parallel cluster 1-6 is assigned the child problem (2) in the fourth step.

第五ステップで子問題[相]を実行し、実行不可を得る
In the fifth step, execute the child problem [phase] and obtain an infeasible result.

以上の処理によって、■で求めた暫定解(z−19,5
) 、 @で求めた暫定解(z =20.0)のうちの
最適解として大きい■で求めた暫定解(z =20.0
)を答えとする。このように、子問題を割り当てる隣接
する並列クラスタ1−1について優先順位を上流の並列
クラスタ、番号の小さい並列クラスタをより高いものと
するように定め、第7図図示のルートノードをクラスタ
l−Oのプロセッサ4−OOに割り当てて実行し、(i
)生成された子問題を隣接する並列クラスタの空きのう
ちの優先順位の高い並列クラスタ1−1のプロセッサ4
−10、又は、(ii)自身の並列クラスタの空き状態
にあるプロセッサ4−01に割り当てて並列実行するこ
とにより、整数間を高速に求めることが可能になる。
By the above processing, the provisional solution (z-19,5
), the provisional solution (z = 20.0) found with large ■ is the optimal solution among the provisional solutions (z = 20.0) found with @.
) is the answer. In this way, the priorities of the adjacent parallel clusters 1-1 to which child problems are assigned are set so that the upstream parallel clusters and parallel clusters with smaller numbers are given higher priority, and the root node shown in FIG. It is assigned to the processor 4-OO of O and executed (i
) Processor 4 of the parallel cluster 1-1 with the highest priority among free spaces in the adjacent parallel cluster
-10 or (ii) by allocating it to the idle processor 4-01 of its own parallel cluster and executing it in parallel, it becomes possible to find between integers at high speed.

第8図は並列処理による列挙木探索例を示す。FIG. 8 shows an example of enumeration tree search by parallel processing.

ここで、Oないし[相]は、子問題(ノード)を表す。Here, O to [phase] represent child problems (nodes).

yJ (j=1.2.3.4.5)は評価関数を表し、
2は目的関数を表す。
yJ (j=1.2.3.4.5) represents the evaluation function,
2 represents the objective function.

〔発明の効果] 以上説明した如く1本発明によれば、プロセッサ(PE
)の処理内容に応して、オブジェクト・データを自プロ
セッサ用のローカルと他プロセッサにも使用されるグロ
ーバルとに見せると同時に。
[Effects of the Invention] As explained above, according to the present invention, a processor (PE
) At the same time, depending on the processing content, object data is displayed locally for the own processor and globally for use by other processors.

ノードデータを構造化することにより、−時的に保存さ
れているノードデータに対して高速なアクセスを行うこ
とが期待できる。
By structuring the node data, it is expected that the temporally stored node data can be accessed at high speed.

また、リング構造結合の制御データを使って負荷分散処
理を各プロセッサ(PE)に自律的に行わせることによ
り1分枝操作と独立性の高い並列処理とが可能になる。
Further, by having each processor (PE) autonomously perform load distribution processing using control data of ring structure coupling, single branch operation and highly independent parallel processing become possible.

制御データの内容に高い精度を要求しなくてもいいので
、制御データにたいする更新を適宜行うようにしている
が、これにより、制御データの更新回数を減らすことが
できる。クラスタ内にオブジェクト・データが無いとき
は、クラスタ内の全ての問題解決用プロセッサが、iA
信処理用プロセッサの制御データにノート要求を行うた
めに、最初に得られたノードの分枝操作を待たなくても
、他のクラスタから転送されてきたノードが早く到着す
れば、そのノードを他の空きプロセッサに処理させるこ
とができる。これにより、プロセッサの稼働率を上げる
ことができる。
Since there is no need to require high precision in the contents of the control data, the control data is updated as appropriate, and thereby the number of times the control data is updated can be reduced. When there is no object data in the cluster, all problem-solving processors in the cluster
In order to make a note request for the control data of the communication processing processor, you do not have to wait for the branching operation of the first node obtained, and if the node transferred from another cluster arrives early, you can transfer that node to other clusters. can be processed by free processors. This makes it possible to increase the utilization rate of the processor.

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

第1図は本発明の原理構成図、第2図は問題解決用プロ
セッサの一実施例構成、第3図は代表となる並列クラス
タの一実施例処理フロー、第4図は第3図における負荷
分散処理の詳細処理、第5図は適用例、第6図は作成ノ
ードと計算結果例第7図は割り当て処理態様、第8図は
並列処理による列挙木探索例を示す。 図中、1は並列クラスタ、2は通信ネットワーク、3は
通信処理用プロセッサ、4は問題解決用プロセッサ、5
はデータ空間、6は制御データ保持部、マないし10は
制御データ、11ないし14はオブジェクト・データを
表す。
Figure 1 is a diagram of the principle configuration of the present invention, Figure 2 is the configuration of an embodiment of a problem-solving processor, Figure 3 is a processing flow of an embodiment of a representative parallel cluster, and Figure 4 is the load in Figure 3. Detailed processing of distributed processing, FIG. 5 shows an application example, FIG. 6 shows an example of created nodes and calculation results, FIG. 7 shows an allocation processing mode, and FIG. 8 shows an example of enumeration tree search by parallel processing. In the figure, 1 is a parallel cluster, 2 is a communication network, 3 is a communication processing processor, 4 is a problem-solving processor, and 5
6 represents a data space, 6 represents a control data holding section, M to 10 represent control data, and 11 to 14 represent object data.

Claims (5)

【特許請求の範囲】[Claims] (1)複数個の並列クラスタ(1)が夫々通信ネットワ
ーク(2)に連繋されて構成され、与えられた制約条件
の下での与えられた目的関数を処理するに当たって、列
挙木を探索しつつ非所望な枝についての枝刈りを行う分
枝限定法処理装置において、 上記夫々の並列クラスタ(1)が、少なくとも、1つの
通信処理用プロセッサ(3)によって上記通信ネットワ
ーク(2)に連繋されると共に複数個の問題解決用プロ
セッサ(4)をそなえ、かつ当該通信処理用プロセッサ
(3)と問題解決用プロセッサ(4)とが共有するデー
タ空間(5)をそなえ、 かつ上記データ空間(5)内に、上記通信処理用プロセ
ッサ(3)と上記問題解決用プロセッサ(4)との夫々
が自己用の処理対象データとしてもつオブジェクト・デ
ータ(11、12、13、14)をそなえると共に、上
記通信処理用プロセッサ(3)と上記問題解決用プロセ
ッサ(4)とが共通にアクセスする制御データ(7、8
、9、10)を有する制御データ保持部(6)をそなえ
、 上記夫々のプロセッサ(3又は4)が、上記オブジェク
ト・データ(11、12、13、14)を用いて自己の
処理を実行すると共に、上記制御データ(7、8、9、
10)を参照して他プロセッサと結合される ことを特徴とする分枝限定法高速実行処理方式。
(1) A plurality of parallel clusters (1) are each connected to a communication network (2), and in processing a given objective function under given constraints, the enumeration tree is searched. In a branch and bound processing device that performs pruning on undesired branches, each of the parallel clusters (1) is linked to the communication network (2) by at least one communication processing processor (3). and a plurality of problem-solving processors (4), and a data space (5) shared by the communication processing processor (3) and the problem-solving processor (4), and the data space (5). The communication processing processor (3) and the problem solving processor (4) each have object data (11, 12, 13, 14) as their own processing target data, and the communication Control data (7, 8) that is commonly accessed by the processing processor (3) and the problem solving processor (4)
, 9, 10), each of the processors (3 or 4) executes its own processing using the object data (11, 12, 13, 14). In addition, the above control data (7, 8, 9,
10) A branch-and-bound high-speed execution processing method characterized in that it is combined with other processors with reference to 10).
(2)上記オブジェクト・データ(11、12、13、
14)は、夫々、該当するプロセッサ(3又は4)が直
接処理対象とするデータと、当該データを高速アクセス
するためのインデックスとをもつようにしたことを特徴
とする請求項(1)記載の分枝限定法高速実行処理方式
(2) The above object data (11, 12, 13,
14) is characterized in that each processor (3 or 4) has data to be directly processed and an index for high-speed access to the data. Branch and bound fast execution processing method.
(3)上記制御データ(7、8、9、10)は、少なく
とも、個々のプロセッサが処理しつつある問題処理のノ
ード位置と、上記オブジェクト・データ(11、12、
13、14)に存在するノード・データの件数と、当該
オブジェクト・データ(11、12、13、14)に対
するアクセス方法とを保持し、個々のプロセッサが対応
する制御データを更新しかつ夫々の制御データ(7、8
、9、10)を参照して負荷分散要求を行うようにした
ことを特徴とする請求項(1)記載の分枝限定法高速実
行処理方式。
(3) The control data (7, 8, 9, 10) includes at least the node position of the problem processing that each processor is processing, and the object data (11, 12,
13, 14) and the access method for the object data (11, 12, 13, 14), and each processor updates the corresponding control data and performs each control. Data (7, 8
, 9, and 10) to make a load distribution request. 10. The branch-and-bound high-speed execution processing method according to claim 1, wherein the load distribution request is made with reference to .
(4)上記並列クラスタ(1)内の問題解決用プロセッ
サ(4)の1つが、上記データ空間(5)から問題を取
り出し、分枝操作を繰り返しながら列挙木を縦方向に探
索する機能をそなえ、かつ、上記問題解決用プロセツサ
(4)の1つを含む全問題解決用プロセッサ(4)が、
上記枝刈りを行う機能と、上記負荷分散要求にもとづい
て処理対象データを獲得する機能とをそなえた ことを特徴とする請求項(3)記載の分枝限定法高速実
行処理方式。
(4) One of the problem solving processors (4) in the parallel cluster (1) has a function of extracting a problem from the data space (5) and vertically searching the enumeration tree while repeating branching operations. , and all problem-solving processors (4) including one of the problem-solving processors (4) described above,
4. The branch-and-bound high-speed execution processing method according to claim 3, further comprising a function of performing the pruning and a function of acquiring data to be processed based on the load distribution request.
(5)上記通信処理用プロセッサ(3)は、上記通信ネ
ットワーク(2)を介して、他の並列クラスタ(1)に
対して、負荷分散を行う機能を有することを特徴とする
請求項(1)記載の分枝限定法高速実行処理方式。
(5) Claim (1) characterized in that the communication processing processor (3) has a function of distributing load to other parallel clusters (1) via the communication network (2). ) is a high-speed execution processing method using the branch and bound method.
JP2277553A 1990-10-16 1990-10-16 High speed execution processing system for branch limiting method Pending JPH04152451A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2277553A JPH04152451A (en) 1990-10-16 1990-10-16 High speed execution processing system for branch limiting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2277553A JPH04152451A (en) 1990-10-16 1990-10-16 High speed execution processing system for branch limiting method

Publications (1)

Publication Number Publication Date
JPH04152451A true JPH04152451A (en) 1992-05-26

Family

ID=17585135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2277553A Pending JPH04152451A (en) 1990-10-16 1990-10-16 High speed execution processing system for branch limiting method

Country Status (1)

Country Link
JP (1) JPH04152451A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707580B2 (en) 2004-01-28 2010-04-27 Kabushiki Kaisha Toshiba Parallel computing method, parallel computing program and computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707580B2 (en) 2004-01-28 2010-04-27 Kabushiki Kaisha Toshiba Parallel computing method, parallel computing program and computer

Similar Documents

Publication Publication Date Title
US11567956B2 (en) Background format optimization for enhanced queries in a distributed computing cluster
Luo et al. An efficient memetic algorithm for distributed flexible job shop scheduling problem with transfers
Razaque et al. Task scheduling in cloud computing
CN102508639B (en) Distributed parallel processing method based on satellite remote sensing data characteristics
US5381534A (en) System for automatically generating efficient application - customized client/server operating environment for heterogeneous network computers and operating systems
Wu et al. Tree-based search algorithm for web service composition in SaaS
Ma et al. Process distance-aware adaptive MPI collective communications
CN110222005A (en) Data processing system and its method for isomery framework
Akyol et al. A multiple-rule based constructive randomized search algorithm for solving assembly line worker assignment and balancing problem
Braune et al. A genetic programming learning approach to generate dispatching rules for flexible shop scheduling problems
CN102982008A (en) Complicated function maximum and minimum solving method by means of parallel artificial bee colony algorithm based on computer cluster
Lin et al. Artificial bee colony algorithms for the order scheduling with release dates
Decker et al. A multi-agent system for automated genomic annotation
Goenka et al. SegAlign: A scalable GPU-based whole genome aligner
Sanz et al. Global data re-allocation via communication aggregation in Chapel
CN102760073B (en) Method, system and device for scheduling task
US20120059938A1 (en) Dimension-ordered application placement in a multiprocessor computer
Baert et al. Fair multi-agent task allocation for large datasets analysis
CN103677996B (en) Collaboration method and system for balancing workload distribution
Otten et al. AND/OR branch-and-bound on a computational grid
JPH04152451A (en) High speed execution processing system for branch limiting method
Dai et al. Optimal task partition and distribution in grid service system with common cause failures
Chen et al. Paralite: Supporting collective queries in database system to parallelize user-defined executable
CN113296907A (en) Task scheduling processing method and system based on cluster and computer equipment
Zhao Multiple-Agent Task Allocation Algorithm Utilizing Ant Colony Optimization.