JPH08180100A - Method and device for scheduling - Google Patents

Method and device for scheduling

Info

Publication number
JPH08180100A
JPH08180100A JP32459494A JP32459494A JPH08180100A JP H08180100 A JPH08180100 A JP H08180100A JP 32459494 A JP32459494 A JP 32459494A JP 32459494 A JP32459494 A JP 32459494A JP H08180100 A JPH08180100 A JP H08180100A
Authority
JP
Japan
Prior art keywords
neighborhood
solution
machine
operations
block
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.)
Withdrawn
Application number
JP32459494A
Other languages
Japanese (ja)
Inventor
Hirotaka Hara
裕貴 原
Nobuhiro Yugami
伸弘 湯上
Yoshiko Oota
唯子 太田
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 JP32459494A priority Critical patent/JPH08180100A/en
Publication of JPH08180100A publication Critical patent/JPH08180100A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

PURPOSE: To calculate a (quasi) optimum solution at high speed by generating an efficient neighborhood and combining it with an approximate solution concerning a job shop scheduling question accompanied with the allocation of machines. CONSTITUTION: After an initial solution is generated by an initial solution generating means 1, the neighborhood to improve a target function is generated by a neighborhood generating means 2. In that case, when a block on a critical path is composed of operations more than three, the top or bottom is exchanged with the preceding or following operation. Besides, when the block is composed of two operations, the top and bottom are exchanged. Further, the top of the block is moved to the other machine. While utilizing the generated neighborhood, an optimizing means 3 searches the solution so that the target function can be optimum (quasi optimum).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は複数のオペレーションか
らなるジョブを機械に割り当てスケジューリングを決定
するスケジューリング方法および装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a scheduling method and apparatus for assigning a job consisting of a plurality of operations to a machine and determining scheduling.

【0002】[0002]

【従来の技術】スケジューリングは製造業全般に必要な
作業であり、人手で行うのは困難であることから、自動
化のニーズが高い。スケジューリング問題の定式化した
ものとしては、ジョブショップモデルが汎用的であり、
広く用いられている。ジョブショップ・スケジューリン
グの例を図6に示す。
2. Description of the Related Art Scheduling is a work necessary for the entire manufacturing industry, and it is difficult to do it manually, so there is a great need for automation. As a formulation of the scheduling problem, the job shop model is general,
Widely used. An example of job shop scheduling is shown in FIG.

【0003】同図はジョブ1〜3のオペレーション(作
業)〜をプレス機(1)、プレス機(2)、穴開け
機から成る1〜3の機械で実行する場合を示しており、
同図に示すように、各ジョブ1〜3はそれぞれ複数のオ
ペレーション(作業)〜、〜、〜からな
り、各オペレーション〜を実行する機械と処理時間
は予め与えられている。
FIG. 1 shows a case where operations (jobs) 1 to 3 of jobs 1 to 3 are executed by a machine 1 to 3 including a press machine (1), a press machine (2) and a punching machine.
As shown in the figure, each of the jobs 1 to 3 is composed of a plurality of operations (work), ..., ..., and a machine for executing the operations and a processing time are given in advance.

【0004】スケジューリング問題は、上記したジョブ
ショップ・モデルにおいて、与えられた目的関数を最適
にするように、各機械におけるオペレーションの実行順
序を決めることである。この目的関数としては色々なも
のが用いられるが、ここでは、その代表的なものとし
て、総所要時間(全てのジョブの実行が終了する時間)
を最小とするものについて説明する。
The scheduling problem is that in the above-mentioned job shop model, the execution order of operations in each machine is determined so as to optimize a given objective function. Various functions are used as this objective function, but here, as a typical one, the total required time (time at which execution of all jobs is completed)
What minimizes is explained.

【0005】上記問題は非常に多くの組み合わせを持ち
(ジョブ数n、機械数mに対して(n!)m )、厳密に
解くことは困難である。このため、暫定的な初期解を生
成して、解の改善を行っていく山登り法、シミュレーテ
ッド・アニーリング、タブー・サーチなどの近似解法が
用いられている。
The above problem has a large number of combinations ((n!) M for the number of jobs n and the number of machines m ) and is difficult to solve exactly. Therefore, an approximate solution method such as a hill climbing method, a simulated annealing method, a tabu search method, etc., for generating a temporary initial solution and improving the solution is used.

【0006】山登り法は、図7に示すように(同図で
は、目的関数を最大にする例が示されている)、初期解
x1を求め、x1の近傍の(x1+Δx)、(x1−Δ
x)を探索し、目的関数f(x)の値が改善される方向
へxを移動させて行くことにより最適解を求めるもので
ある。この方法では、同図に示すように、局所的な最適
解がある場合、局所的な最適解で探索動作が停止する。
このため、初期解を色々試みる等の手段を講じて真の最
適解を求める必要がある。
In the hill-climbing method, as shown in FIG. 7 (an example in which the objective function is maximized is shown in FIG. 7), an initial solution x1 is obtained, and (x1 + Δx), (x1-Δ) near x1 are obtained.
The optimum solution is obtained by searching x) and moving x in the direction in which the value of the objective function f (x) is improved. In this method, as shown in the figure, when there is a local optimum solution, the search operation stops at the local optimum solution.
For this reason, it is necessary to find a true optimal solution by taking measures such as trying various initial solutions.

【0007】シミュレーテッド・アニーリング法は、探
索動作が上記した局所的最適解により捕捉され停止する
のを防止したものである。すなわち、図7において、初
期解x1から出発し、目的関数f(x)の値が改善され
る方向へxを移動させて行くが、その際、目的関数f
(x)の値が改善されない場合であっても、所定の確率
で改善されない方向にxを移動させ、最終的に真の最適
解を得るようにする。
The simulated annealing method prevents the search operation from being caught and stopped by the above-described local optimum solution. That is, in FIG. 7, starting from the initial solution x1, the x is moved in the direction in which the value of the objective function f (x) is improved.
Even when the value of (x) is not improved, x is moved in a direction in which it is not improved with a predetermined probability so that a true optimal solution is finally obtained.

【0008】また、タブー・サーチ法は、前記山登り法
において、サイクリングを避けるため、元のxに戻らな
いようにしたものであり、その他は上記山登り法と同様
である。上記のように、近似解法においては現在の解を
変更して新しい解を生成し(これを以下、「近傍」とい
う)、改善されたときに新しい解に移ることが行われる
(山登り法の場合)。
The tabu search method is the same as the above-mentioned hill-climbing method, in which the original x is not returned in order to avoid cycling in the above-mentioned hill-climbing method. As described above, in the approximate solution method, the current solution is changed to generate a new solution (hereinafter referred to as “neighborhood”), and when it is improved, a new solution is moved (in the case of the hill climbing method). ).

【0009】従来、前記したスケジューリング問題を解
くには、上記近似解法を用い、初期解を求めたのち例え
ばオペレーションの順序を変えるなどして近傍を求めて
最適解を得ていた。
Conventionally, in order to solve the above-mentioned scheduling problem, the above-mentioned approximate solution method has been used, and after obtaining an initial solution, the neighborhood is obtained by changing the order of operations, for example, to obtain an optimum solution.

【0010】[0010]

【発明が解決しようとする課題】上記のように、スケジ
ュール問題を上記近似解法で解く場合には、ある機械で
連続して行なわれるオペレーションの順序を変えること
が近傍に相当するが、スケジュール問題では、この近傍
の数が多く、処理効率が悪いという問題があった。
As described above, when the scheduling problem is solved by the approximate solution method, changing the order of operations continuously performed by a certain machine corresponds to the neighborhood. However, there is a problem in that the number of this neighborhood is large and the processing efficiency is poor.

【0011】このため、クリティカル・パスを用いて近
傍を生成する手法が提案されている。図8は上記したク
リティカル・パスの変更による近傍の生成を説明する図
であり、同図は、〜のオペレーションのスケジュー
リングを示しており、点線矢印は処理の順序を示し、同
図(a)はクリティカル・パス上のオペレーションの順
序を変更する前、同図(b)は順序変更後を示してい
る。
For this reason, a method of generating a neighborhood using a critical path has been proposed. FIG. 8 is a diagram for explaining the generation of the neighborhood by changing the above-mentioned critical path, which shows the scheduling of the operations of, the dotted arrows show the order of processing, and FIG. Before changing the order of the operations on the critical path, FIG. 7B shows the order after changing.

【0012】なお、図8に示すように、クリティカル・
パスの中で、ある機械で連続して実行されるオペレーシ
ョンの集合をブロックと呼び、また、各ブロックの右端
のオペレーションをトップ、左端のオペレーションをボ
トムと呼ぶこととする。同図(a)において、オペレー
ション→→→がクリティカル・パスになってお
り、上記クリティカル・パス上のオペレーションの順序
を交換する(同図においては、例えば、オペレーション
と、と)ことにより近傍が生成される。
Note that, as shown in FIG.
A set of operations that are continuously executed by a certain machine in a path is called a block, and the rightmost operation of each block is called top and the leftmost operation is called bottom. In FIG. 9A, the operation →→→ is a critical path, and the order of the operations on the critical path is exchanged (in the figure, for example, with operation), a neighborhood is generated. To be done.

【0013】例えば、同図(a)のオペレーションと
の順序を交換することにより、同図(b)に示す近傍
が生成され、この例では、総所要時間が30時間から2
5時間となり、同図(a)の総所要時間より短くなって
いる。なお、同図の例では、オペレーションとの順
序を交換することにより、クリティカル・パスは→
→→となる。
For example, by exchanging the order with the operation of FIG. 10A, the neighborhood shown in FIG. 9B is generated, and in this example, the total required time is 30 hours to 2 hours.
It is 5 hours, which is shorter than the total required time shown in FIG. In the example in the figure, the critical path is changed by exchanging the order of operations.
→→

【0014】ところで、従来のジョブショップ・スケジ
ューリングは、各オペレーションを実行する機械が予め
一つに決まっていた。しかし、現実の問題では、あるオ
ペレーションを実行できる機械が複数あり、その実行性
能が異なっていることがしばしばあり、従来の手法では
このような問題をうまく解くことができなかった。本発
明は上記した従来技術の問題点を考慮してなされたもの
であって、本発明の目的は、機械の割り当てを伴うジョ
ブショップ・スケジューリング問題に対して、効率的な
近傍を生成することができ、山登り法やシミュレーテッ
ド・アニーリング法等の近似解法と組合わせることによ
り、準最適解を高速に求めることができるスケジューリ
ング方法および装置を提供することである。
By the way, in the conventional job shop scheduling, one machine is preliminarily determined to execute each operation. However, in the actual problem, there are many machines that can execute a certain operation, and their execution performances are often different, and the conventional method cannot solve such a problem well. The present invention has been made in view of the above-mentioned problems of the prior art, and an object of the present invention is to generate an efficient neighborhood for a job shop scheduling problem involving machine allocation. It is an object of the present invention to provide a scheduling method and apparatus that can obtain a suboptimal solution at high speed by combining it with an approximate solution method such as a hill climbing method or a simulated annealing method.

【0015】[0015]

【課題を解決するための手段】図1は本発明の原理図で
ある。同図において、1は初期解を生成する手段、2は
近傍生成手段であり、近傍生成手段2はクリティカル・
パス上のブロックのトップおよび/またはボトムのオペ
レーションの実行順序の交換、上記トップの他機械の移
動により解の近傍を生成する。
FIG. 1 is a diagram illustrating the principle of the present invention. In the figure, 1 is a means for generating an initial solution, 2 is a neighborhood generating means, and the neighborhood generating means 2 is a critical
The neighborhood of the solution is generated by exchanging the execution order of the operations of the top and / or the bottom of the block on the path and moving the other machine of the top.

【0016】3は最適解を探索する最適化手段であり、
上記初期解から出発し、上記近傍生成手段により生成さ
れた近傍を利用して目的関数を(準)最適化する最適解
(準最適解)を探索する。上記課題を解決するため、本
発明の請求項1の発明は、図1に示すように、オペレー
ションを機械に割り当て、与えられた目的関数が最適に
なるように、機械におけるオペレーションの実行順序を
決定するスケジューリング方法において、クリティカル
・パス上のブロックのトップおよび/またはボトムのオ
ペレーションの実行順序を同一機械上で交換することに
より近傍探索を行い、与えられた目的関数を最適化する
ようにしたものである。
3 is an optimizing means for searching for an optimum solution,
Starting from the initial solution, an optimum solution (quasi-optimal solution) for (sub-) optimizing the objective function is searched using the neighborhood generated by the neighborhood generating means. In order to solve the above-mentioned problems, the invention of claim 1 of the present invention assigns an operation to a machine as shown in FIG. 1 and determines the execution order of the operation in the machine so that a given objective function becomes optimum. In the scheduling method, the neighborhood search is performed by exchanging the execution order of the top and / or bottom operations of blocks on the critical path on the same machine, and the given objective function is optimized. is there.

【0017】本発明の請求項2の発明は、請求項1の発
明において、クリティカル・パス上のブロックのトップ
のオペレーションを他の機械に移動することにより近傍
探索を行うようにしたものである。本発明の請求項3の
発明は、オペレーションを機械に割り当て、与えられた
目的関数が最適になるように、機械におけるオペレーシ
ョンの実行順序を決定するスケジューリング装置におい
て、初期解を生成する手段と、クリティカル・パス上の
ブロックのトップおよび/またはボトムのオペレーショ
ンの実行順序を同一機械上で交換、もしくは、上記トッ
プのオペレーションを他の機械に移動することにより現
在の解の近傍を生成する近傍生成手段と、与えられた目
的関数の最適解もしくは準最適解を求める最適化手段と
を設け、上記最適化手段が、上記初期解から出発して、
上記近傍生成手段により生成された近傍を利用して最適
解もしくは準最適解を探索するように構成したものであ
る。
According to a second aspect of the present invention, in the first aspect of the invention, the neighborhood search is performed by moving the operation of the top of the block on the critical path to another machine. According to a third aspect of the present invention, in a scheduling device that allocates an operation to a machine and determines an execution order of the operation in the machine so that a given objective function is optimal, a means for generating an initial solution and a critical solution. A neighborhood generating means for generating the neighborhood of the current solution by exchanging the execution order of the top and / or bottom operations of blocks on the path on the same machine, or by moving the top operation to another machine , And an optimization means for obtaining an optimal solution or a suboptimal solution of the given objective function, the optimization means starting from the initial solution,
The neighborhood generated by the neighborhood generating means is used to search for an optimum solution or a sub-optimal solution.

【0018】[0018]

【作用】図1において、機械におけるオペレーションの
実行順序を決定する際、まず初期解生成手段1により初
期解を生成したのち、近傍生成手段2によりブロックの
長さに応じて次のようにして目的関数を改善する近傍を
生成する。すなわち、クリティカル・パス上のブロック
のトップ/ボトムに着目し、ブロックが3以上のオペレ
ーションから構成される場合には、上記トップもしくは
ボトムを一つ前もしくは後のオペレーションと交換す
る。また、ブロックが2のオペレーションから構成され
る場合、トップとボトムを交換する。さらに、ブロック
のトップを別の機械に移す。
In FIG. 1, when determining the execution order of the operations in the machine, first the initial solution is generated by the initial solution generation means 1, and then the neighborhood generation means 2 is used in the following manner according to the block length. Generate a neighborhood that improves the function. That is, paying attention to the top / bottom of the block on the critical path, and when the block is composed of three or more operations, the top or bottom is exchanged with the operation before or after one. Also, if the block consists of two operations, swap the top and bottom. Then move the top of the block to another machine.

【0019】上記のように近傍を生成することにより、
クリティカル・パス上のオペレーションを適当に移動/
交換する場合と比べ、近傍の数が増えるのを防ぎ効率的
な近傍の生成を行うことができる。最適化手段3は、上
記のようにして生成された近傍を利用して、目的関数が
最適(準最適)となる解を探索する。
By generating the neighborhood as described above,
Move the operation on the critical path appropriately /
Compared with the case of exchanging, it is possible to prevent the number of neighbors from increasing and to efficiently generate neighbors. The optimizing means 3 searches for a solution in which the objective function is optimum (suboptimal) by using the neighborhood generated as described above.

【0020】本発明の請求項1〜請求項3の発明におい
ては、上記のように近傍を生成して最適解(準最適)を
求めているので、高速に最適解(準最適解)を求めるこ
とができる。
In the inventions of claims 1 to 3, the neighborhood is generated as described above to obtain the optimum solution (suboptimal), so that the optimum solution (suboptimal solution) is obtained at high speed. be able to.

【0021】[0021]

【実施例】図2は本発明の実施例のシステム構成を示す
図であり、同図において、11は前記図6に示したよう
なジョブの集合、12は処理装置、13はスケジューリ
ング結果である。処理装置12はスケジューラ121を
含み、スケジューラ121により、同図に示すように暫
定的初期解を算出した後、クリティカル・パス上のオペ
レーションを移動して近傍を生成し、山登り法/シミュ
レーテッド・アニーリング法等の近似解法により準最適
解を算出してスケジュール結果を得る。
FIG. 2 is a diagram showing a system configuration of an embodiment of the present invention. In FIG. 2, 11 is a set of jobs as shown in FIG. 6, 12 is a processor, and 13 is a scheduling result. . The processing device 12 includes a scheduler 121. After the scheduler 121 calculates a temporary initial solution as shown in the figure, the operation on the critical path is moved to generate a neighborhood, and the hill climbing method / simulated annealing is performed. A quasi-optimal solution is calculated by an approximate solution method such as a method to obtain a schedule result.

【0022】図3は上記スケジューラにおける処理手順
を示す図であり、スケジューラ121においては、以下
に示す手順で準最適解を求める。すなわち、ステップS
1において、初期解Sを生成し、ステップS2におい
て、終了条件(繰り返し回数や解の評価値など)が満た
されたか否か判別し、満たされていない場合には、ステ
ップS4に行き、クリティカル・パス上におけるトップ
/ボトムのオペレーション順序の交換などにより、上記
初期解Sの近傍S’を生成する。
FIG. 3 is a diagram showing a processing procedure in the above scheduler. In the scheduler 121, a quasi-optimal solution is obtained by the following procedure. That is, step S
In step 1, an initial solution S is generated, and in step S2, it is determined whether or not a termination condition (the number of iterations, the evaluation value of the solution, etc.) is satisfied. The neighborhood S ′ of the initial solution S is generated by exchanging the order of top / bottom operations on the path.

【0023】ついで、ステップS5において、上記近傍
S’が受理条件(山登り法の場合は、Sよりも評価値が
よいこと)を満たすか否か判別する。そして、受理条件
を満たさない場合には、ステップS4に戻り、上記処理
を繰り返す。また、受理条件を満たしている場合には、
ステップS6に行き、上記S’を新しい解として、ステ
ップS2に戻る。
Next, in step S5, it is determined whether or not the neighborhood S'fulfills the acceptance condition (in the case of the hill climbing method, the evaluation value is better than S). If the acceptance condition is not satisfied, the process returns to step S4 and the above process is repeated. If you meet the acceptance conditions,
The process proceeds to step S6, the above S'is taken as a new solution, and the process returns to step S2.

【0024】ステップS2において、終了条件を満たさ
れた場合には、ステップS3に行き、解Sを出力して終
了する。次に、上記ステップS4におけるSの近傍S’
の生成について、本発明の実施例を説明する。本実施例
では、クリティカル・パスの長さを短くするためには、
いずれかのブロックのトップの終了時間を速めることが
必要であることを利用し、ブロックに応じてクリティカ
ル・パス上のオペレーションの位置を変更して近傍を次
のように生成する。また、オペレーションを実行する機
械を変更する近傍を導入する。
In step S2, if the termination condition is satisfied, the process goes to step S3 to output the solution S and terminate. Next, S ′ in the vicinity of S in step S4 above
An example of the present invention will be described for the generation of In this embodiment, in order to shorten the length of the critical path,
Taking advantage of the need to accelerate the end time of the top of any block, the position of the operation on the critical path is changed depending on the block, and the neighborhood is generated as follows. It also introduces a neighborhood that modifies the machine that performs the operation.

【0025】このとき、適当に機械を変更するのでは近
傍の数が増えすぎて効率が悪いので、後述するように、
ブロックのトップを他の機械に移すことにより効率的に
近傍を生成する。 (a)ブロックの長さが3以上の場合 (a1)ブロックのトップを一つ前のオペレーションと交換
する。
At this time, if the machine is changed appropriately, the number of neighbors increases too much and the efficiency is poor.
Efficiently generate the neighborhood by moving the top of the block to another machine. (A) When the block length is 3 or more (a1) The top of the block is exchanged with the previous operation.

【0026】すなわち、図4(a)に示すように、ブロ
ックがオペレーションT,T2,T3,…,B2,Bか
ら構成され、そのトップがオペレーションTの場合、オ
ペレーションTとT2を交換し、同図(a1)に示すよ
うに移動する。なお、図4は各オペレーションを縦方向
に配置して表現したものであり、時間は同図の矢印方向
に進む。 (a2)ブロックのボトムを一つ後ろのオペレーションと交
換する。
That is, as shown in FIG. 4A, when a block is composed of operations T, T2, T3, ..., B2, B, and the top of the block is operation T, operations T and T2 are exchanged, It moves as shown in FIG. It should be noted that FIG. 4 represents each operation by arranging them in the vertical direction, and time advances in the direction of the arrow in the figure. (a2) Swap the bottom of the block with the next operation.

【0027】すなわち、図4(a)の状態からボトムの
オペレーションBとB2を交換し、同図(a2)に示す
ように移動する。なお、オペレーションBとB2を交換
することにより、オペレーションB2の処理時間がずれ
るので、同図に示すように、オペレーションBと次のオ
ペレーションCがつながる場合がある。 (a3) ブロックのトップを別の機械に移す。 (b)ブロックの長さが2の場合。 (b1)ブロックのトップとボトムを交換する。
That is, the bottom operations B and B2 are exchanged from the state shown in FIG. 4A, and the operation is moved as shown in FIG. 4A2. Since the processing time of the operation B2 is shifted by exchanging the operations B and B2, the operation B and the next operation C may be connected as shown in FIG. (a3) Move the top of the block to another machine. (B) When the block length is 2. (b1) Replace the top and bottom of the block.

【0028】すなわち、図4(b)のようにブロックが
オペレーションTとBから構成されている場合には、図
4(b1)に示すようにトップのオペレーションTとボ
トムのオペレーションBを交換する。 (b2)ブロックのトップを別な機械に移す。 (c)ブロックの長さが1の場合。 (c1)ブロックのトップを別な機械に移す。
That is, when the block is composed of operations T and B as shown in FIG. 4B, the operation T at the top and the operation B at the bottom are exchanged as shown in FIG. 4B1. (b2) Move the top of the block to another machine. (C) When the block length is 1. (c1) Move the top of the block to another machine.

【0029】ここで、上記(a)〜(c)において、オ
ペレーションを別な機械に移す場合のオペレーションの
挿入位置は図5に示すように定める。図5において、移
動前には同図(a)に示すように機械M1、M2、M3
上にそれぞれオペレーションT、P、O1〜O4があ
り、オペレーションTとPは同じジョブに属し、オペレ
ーションTは直前のオペレーションPより前には実行で
きないとする。
Here, in the above (a) to (c), the insertion position of the operation when the operation is transferred to another machine is determined as shown in FIG. In FIG. 5, before the movement, as shown in FIG.
It is assumed that there are operations T, P, and O1 to O4 above, respectively, the operations T and P belong to the same job, and the operation T cannot be executed before the immediately preceding operation P.

【0030】なお、図5は、図4と同様、各オペレーシ
ョンを縦方向に配置して表現したものであり、時間は同
図の矢印方向に進む。上記場合において、オペレーショ
ンTの機械M3への移動を次のように行う。同図におい
て、機械M1上のオペレーションTを機械M3上に移動
する場合、オペレーションTは上記したように、オペレ
ーションPの終了時刻t1より早く実行することはでき
ないから、オペレーションTを機械M3上のオペレーシ
ョンO3の後に移動すると、その開始時刻はt1より遅
くなる。
As in FIG. 4, FIG. 5 represents each operation by arranging them in the vertical direction, and time advances in the direction of the arrow in the figure. In the above case, the operation T is moved to the machine M3 as follows. In the figure, when the operation T on the machine M1 is moved to the machine M3, the operation T cannot be executed earlier than the end time t1 of the operation P as described above. If it moves after O3, its start time will be later than t1.

【0031】また、オペレーションO2の後に移動する
と、開始時刻はt1となり、オペレーションO1の後に
移動しても開始時刻t1となりO2の実行が遅れてしま
う。このことから、オペレーションTを同図(b)に示
すように、オペレーションO2の後に移動する。以上の
ように、本実施例においては、ブロックのトップとボト
ムに着目し、クリティカル・パス上のブロック中のトッ
プもしくはボトムの位置の交換/トップの他機械への移
動、により近傍を求めているので、機械の割り当てを伴
うようなジョブショップ・スケジューリング問題におい
て、効率的にクリティカル・パスの長さを短くする近傍
を求めることができ、準最適解を短時間に得ることがで
きる。
If the operation O2 is moved to, the start time is t1. Even if the operation O1 is moved to, the start time is t1 and the execution of O2 is delayed. Therefore, the operation T is moved after the operation O2 as shown in FIG. As described above, in this embodiment, focusing on the top and bottom of the block, the neighborhood is determined by exchanging the position of the top or bottom in the block on the critical path / moving the top to another machine. Therefore, in a job shop scheduling problem involving machine assignment, it is possible to efficiently find a neighborhood that shortens the length of the critical path, and obtain a suboptimal solution in a short time.

【0032】[0032]

【発明の効果】以上説明したように、本発明において
は、クリティカル・パス上のブロックのトップおよび/
またはボトムのオペレーションの実行順序を同一機械上
で交換、もしくは、トップのオペレーションを他の機械
に移動することにより近傍を生成するようにしたので、
機械の割り当てを伴うようなジョブショップ問題に対し
て、効率的に近傍を生成することができ、山登り法やシ
ミュレーテッド・アニーリング法などの近似解法と組み
合わせることによって、高速に最適解(準最適解)を求
めることができる。
As described above, according to the present invention, the top of the block on the critical path and / or
Alternatively, the execution order of the bottom operation is exchanged on the same machine, or the top operation is moved to another machine to generate a neighborhood, so
It is possible to efficiently generate neighborhoods for a job shop problem that involves machine assignment, and by combining it with an approximate solution method such as a hill climbing method or a simulated annealing method, a fast optimal solution (suboptimal solution) can be obtained. ) Can be asked.

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

【図1】本発明の原理図である。FIG. 1 is a principle diagram of the present invention.

【図2】本発明の実施例のシステム構成を示す図であ
る。
FIG. 2 is a diagram showing a system configuration of an embodiment of the present invention.

【図3】本発明の実施例における処理手順を示す図であ
る。
FIG. 3 is a diagram showing a processing procedure in an embodiment of the present invention.

【図4】トップ/ボトムのオペレーシヨンの交換を説明
する図である。
FIG. 4 is a diagram for explaining replacement of top / bottom operation.

【図5】トップのオペレーションの他機械への移動を説
明する図である。
FIG. 5 is a diagram illustrating movement of the top operation to another machine.

【図6】ジョブショップ・スケジューリングの例を示す
図である。
FIG. 6 is a diagram illustrating an example of job shop scheduling.

【図7】山登り法等の近似解法を説明する図である。FIG. 7 is a diagram illustrating an approximate solution method such as a mountain climbing method.

【図8】クリティカル・パスの変更による近傍の生成を
説明する図である。
FIG. 8 is a diagram illustrating generation of a neighborhood by changing a critical path.

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

1 初期解を生成する手段 2 近傍生成手段 3 最適化手段 11 ジョブ集合 12 処理装置 13 スケジューリング結果 1 means for generating an initial solution 2 neighborhood generating means 3 optimizing means 11 job set 12 processor 13 scheduling result

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数のオペレーションを機械に割り当
て、与えられた目的関数が最適になるように、機械にお
けるオペレーションの実行順序を決定するスケジューリ
ング方法において、 クリティカル・パス上のブロックのトップおよび/また
はボトムのオペレーションの実行順序を同一機械上で交
換することにより近傍探索を行い、与えられた目的関数
を最適化することを特徴とするスケジューリング方法。
1. A scheduling method for allocating a plurality of operations to a machine and determining the order of execution of the operations in the machine so that a given objective function is optimal, the top and / or bottom of blocks on a critical path. Scheduling method characterized by performing a neighborhood search by exchanging the execution order of the operations on the same machine and optimizing a given objective function.
【請求項2】 クリティカル・パス上のブロックのトッ
プのオペレーションを他の機械に移動することにより近
傍探索を行うことを特徴とする請求項1のスケジューリ
ング方法。
2. The scheduling method according to claim 1, wherein the neighborhood search is performed by moving the operation of the top of the block on the critical path to another machine.
【請求項3】 複数のオペレーションを機械に割り当
て、与えられた目的関数が最適になるように、機械にお
けるオペレーションの実行順序を決定するスケジューリ
ング装置において、 初期解を生成する手段と、 クリティカル・パス上のブロックのトップおよび/また
はボトムのオペレーションの実行順序を同一機械上で交
換、もしくは、上記トップのオペレーションを他の機械
に移動することにより現在の解の近傍を生成する近傍生
成手段と、 与えられた目的関数の最適解もしくは準最適解を求める
最適化手段とを設け、 上記最適化手段は、上記初期解から出発して、上記近傍
生成手段により生成された近傍を利用して最適解もしく
は準最適解を探索することを特徴とするスケジューリン
グ装置。
3. A scheduling device for allocating a plurality of operations to a machine and deciding the execution order of the operations in the machine so that a given objective function is optimized, means for generating an initial solution, and a critical path. A neighborhood generating means for generating the neighborhood of the current solution by exchanging the execution order of the top and / or bottom operations of the block of the same machine on the same machine or by moving the top operation to another machine. And an optimization means for obtaining an optimal solution or a suboptimal solution of the objective function, the optimization means starting from the initial solution and utilizing the neighborhood generated by the neighborhood generation means A scheduling device which searches for an optimum solution.
JP32459494A 1994-12-27 1994-12-27 Method and device for scheduling Withdrawn JPH08180100A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32459494A JPH08180100A (en) 1994-12-27 1994-12-27 Method and device for scheduling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32459494A JPH08180100A (en) 1994-12-27 1994-12-27 Method and device for scheduling

Publications (1)

Publication Number Publication Date
JPH08180100A true JPH08180100A (en) 1996-07-12

Family

ID=18167565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32459494A Withdrawn JPH08180100A (en) 1994-12-27 1994-12-27 Method and device for scheduling

Country Status (1)

Country Link
JP (1) JPH08180100A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010047174A1 (en) 2008-10-24 2010-04-29 インターナショナル・ビジネス・マシーンズ・コーポレーション Source code processing method, system, and program
CN107544246A (en) * 2017-09-05 2018-01-05 昆明理工大学 A kind of Optimization Scheduling of the preparation process of the coking coal materials of multiple-objection optimization
CN111652412A (en) * 2020-05-20 2020-09-11 华中科技大学 Neighborhood search scheduling method and device applied to replacement flow shop

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010047174A1 (en) 2008-10-24 2010-04-29 インターナショナル・ビジネス・マシーンズ・コーポレーション Source code processing method, system, and program
US8407679B2 (en) 2008-10-24 2013-03-26 International Business Machines Corporation Source code processing method, system and program
US8595712B2 (en) 2008-10-24 2013-11-26 International Business Machines Corporation Source code processing method, system and program
CN107544246A (en) * 2017-09-05 2018-01-05 昆明理工大学 A kind of Optimization Scheduling of the preparation process of the coking coal materials of multiple-objection optimization
CN111652412A (en) * 2020-05-20 2020-09-11 华中科技大学 Neighborhood search scheduling method and device applied to replacement flow shop
CN111652412B (en) * 2020-05-20 2022-07-05 华中科技大学 Neighborhood search scheduling method and device applied to displacement flow shop

Similar Documents

Publication Publication Date Title
JP5269258B1 (en) Machining program generation device, machining program generation method, and recording medium
JP3717967B2 (en) Apparatus and method for controlling and scheduling process machines
CN109993299A (en) Data training method and device, storage medium, electronic device
US20220164222A1 (en) Execution of Services Concurrently
KR20060026852A (en) Scheduling multi-robot processing systems
Cai et al. Single-machine scheduling with advanced process control constraints
Holtsclaw et al. Machine criticality measures and subproblem solution procedures in shifting bottleneck methods: a computational study
CN107992654A (en) A kind of intelligence composition method
JPH08180100A (en) Method and device for scheduling
King et al. Robot task scheduling in a flexible manufacturing cell
JP2018116577A (en) Numerical control device
US5568381A (en) Combinatorial optimization system that extracts an undersirable relationship from a present solution
CN109598012A (en) The spot welding optimization with interval constraint based on topology
CN112330221A (en) Job shop scheduling optimization method with sufficient necessary condition neighborhood structure
JP2017204955A (en) Pulse output logic circuit for motor control and controller unit for motor control
JPH0652178A (en) Assembly line work plan generation support system
JPH0934715A (en) Combination optimizing processing method
JP2001331461A (en) Multiprocessor system and method of processor scheduling
Moghadam et al. A hierarchical layout generation method for quantum circuits
JP2000148451A (en) Batch job load decentralization method and system therefor
Murthy et al. Scheduling of precedence-constrained parallel program tasks on multiprocessors
JPWO2003064107A1 (en) Process planning method and apparatus
CN114826047B (en) Multi-stepping motor action cooperative scheduling method and device and electronic equipment
CN109523109B (en) Job scheduling method
Obeid et al. Scheduling job families on non-identical parallel machines with time constraints

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020305