JPH08315028A - Method and device for scheduling job shop - Google Patents

Method and device for scheduling job shop

Info

Publication number
JPH08315028A
JPH08315028A JP12276295A JP12276295A JPH08315028A JP H08315028 A JPH08315028 A JP H08315028A JP 12276295 A JP12276295 A JP 12276295A JP 12276295 A JP12276295 A JP 12276295A JP H08315028 A JPH08315028 A JP H08315028A
Authority
JP
Japan
Prior art keywords
individual
individuals
population
initial
solution
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
JP12276295A
Other languages
Japanese (ja)
Inventor
Takeshi Yamada
武士 山田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP12276295A priority Critical patent/JPH08315028A/en
Publication of JPH08315028A publication Critical patent/JPH08315028A/en
Pending 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/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • 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

Landscapes

  • Multi-Process Working Machines And Systems (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PURPOSE: To quickly obtain a quasi optimum solution capable of minimizing total working time by generating a new individual by genetic algorithm using critical block neighborhood for two individuals selected from an individual group and searching local neighborhoold. CONSTITUTION: When an initial individual group generating means 102 generates the initial value of a group being the set of individuals to be used for genetic algorithm, a two-individual selecting means 103 selects two individuals by biasing so as to easily select individuals more excellent than the initial individual group or an individual group on the way of processing. A multi-stage crossing means 104 applies multi-stage crossing to the two selected individuals to generate a new individual. A local neighborhood searching means 104 calculates critical block neighborhood for the individual group generated by the means 102 and the individual generated by the means 104 and substitutes the most excellent individual in the critical block neighborhood for the original individual. Consequently an excellent solution for a large-scale problem can be quickly found out.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ジョブショップスケジ
ューリング方法及び装置に係り、特に、工場等のファク
トリーオートメーションにおいて作業開始から作業終了
までの時間をなるべく短くすることにより、全作業の効
率化を図ることを可能にするジョブショップスケジュー
リング問題を解決するためのジョブショップスケジュー
リング方法及び装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a job shop scheduling method and apparatus, and in particular, in factory automation of a factory or the like, by shortening the time from the start of work to the end of work as much as possible, the efficiency of all work is improved. The present invention relates to a job shop scheduling method and apparatus for solving a job shop scheduling problem that enables the above.

【0002】[0002]

【従来の技術】ジョブショップスケジューリングにおけ
るジョブの組み合わせ最適化問題に対する近似的解法と
して、遺伝的アルゴリズムと呼ばれる方法が知られてい
る。この遺伝的アルゴリズムについては、例えば、文献
1、“「遺伝的アルゴリズムの基礎」(伊庭斉志著)オ
ーム社”に詳述されている。また、遺伝的アルゴリズム
の改良版である定常状態モデル(steady state model)
と呼ばれるものが文献2“Proc. 3rd International Co
nference on Genetic Algorithms: The GenitorAlgorit
hm and Selection Pressure (D. Whitely, Morgan Kauf
man)"に記載されている。
2. Description of the Related Art A method called a genetic algorithm is known as an approximate solution to a job combination optimization problem in job shop scheduling. This genetic algorithm is described in detail, for example, in Reference 1, "Fundamentals of Genetic Algorithms" (written by Hitoshi Inaba) Ohmsha Co., Ltd. Also, a steady-state model (steady state model) which is an improved version of the genetic algorithm. state model)
What is called Document 2 “Proc. 3rd International Co
nference on Genetic Algorithms: The GenitorAlgorit
hm and Selection Pressure (D. Whitely, Morgan Kauf
man) ".

【0003】定常状態モデルに基づく遺伝的アルゴリズ
ムの概要を以下に説明する。遺伝的アルゴリズムでは、
入力値としてL次元ベクトルV=(V1 ,V2 ,…,V
L )の集合Popが与えられる。集合Popの各要素
は、与えられた問題の解を表現している。Popのサイ
ズ、即ち、要素の個数をPとする。各要素を個体、Po
pを個体集団と呼ぶ。遺伝的アルゴリズムは以下の手続
きを1サイクルとする繰り返し処理である。
An outline of the genetic algorithm based on the steady state model will be described below. In the genetic algorithm,
L-dimensional vector V = (V 1 , V 2 , ..., V as an input value
Given a set Pop of L ). Each element of the set Pop represents a solution to a given problem. Let P be the size of Pop, that is, the number of elements. Each element is an individual, Po
p is called a population. The genetic algorithm is an iterative process with the following procedure as one cycle.

【0004】[A:遺伝的アルゴリズムの手続き] ステップ1) 集合Popの初期値である初期個体集団
をランダムに生成した個体の集合として構成する。 ステップ2) 集合Popの各要素の解として優秀さ
を、与えられた評価尺度に従って評価し、その結果を評
価値とする。 ステップ3) 集合Pop中より評価値の良い個体ほど
選ばれやすくなるように、バイアスをかけてランダムに
2個体を選択し、この2個体に基づいて新たな個体を生
成する。この操作を「交叉」と呼ぶ。上記の文献1に
は、ペアにした個体同士のベクトルの一部を互いに交換
することにより、新しい個体を得る交叉法(単純交叉法
と仮に名付ける)が詳細に説明されている。 ステップ4) ステップ3において生成された新たな個
体の解としての優秀さを、与えられた評価尺度に従って
評価し、個体集団中の最も評価の低い個体の評価値とを
比較する。もし、比較の結果、新たな個体の評価値の方
が優れている場合には、個体集団中の最も劣った個体と
入れ換える。そうでない場合には何もしない。 ステップ5) 上記のステップ2〜ステップ4までを繰
り返すことによって個体集団Popの各要素は与えられ
た問題の準最適解に達する。
[A: Genetic Algorithm Procedure] Step 1) The initial population of individuals, which is the initial value of the set Pop, is constructed as a set of randomly generated individuals. Step 2) The excellence as a solution of each element of the set Pop is evaluated according to a given evaluation scale, and the result is used as an evaluation value. Step 3) A bias is biased to randomly select two individuals so that individuals with a better evaluation value than the set Pop are more likely to be selected, and new individuals are generated based on these two individuals. This operation is called "crossover". The above-mentioned document 1 describes in detail a crossover method (provisionally named a simple crossover method) for obtaining a new individual by exchanging a part of vectors of paired individuals with each other. Step 4) The excellence as a solution of the new individual generated in step 3 is evaluated according to a given evaluation scale, and the evaluation value of the lowest evaluated individual in the individual population is compared. If the result of the comparison shows that the evaluation value of the new individual is superior, it is replaced with the poorest individual in the individual population. If not, do nothing. Step 5) By repeating the above steps 2 to 4, each element of the population Pop reaches the suboptimal solution of the given problem.

【0005】さらに、上記遺伝的アルゴリズムと局所近
傍探索を組み合わせることができる。この場合、上記の
ステップ3で得られた個体に対して局所近傍探索を行
い、当該個体を、局所近傍探索による探索の結果で置き
換える。局所近傍探索とは、現在の解xをその近傍N
(x)のある要素へと遷移させる操作を繰り返し適用す
ることによって探索を進めるものである。
Furthermore, the above genetic algorithm and local neighborhood search can be combined. In this case, a local neighborhood search is performed on the individual obtained in step 3 above, and the individual is replaced with the result of the search by the local neighborhood search. The local neighborhood search is the current solution x with its neighborhood N.
The search is advanced by repeatedly applying the operation of transitioning to a certain element of (x).

【0006】次に、ジョブショップスケジューリング問
題について説明する。ジョブショップスケジューリング
問題とは、N個の仕事をM台の機械で加工する問題であ
る。この工程において、 1.各仕事を分担して加工する機械と割当の順番(技術
的順序); 2.各仕事の各機械上での加工時間;の2つが予め与え
られている。
Next, the job shop scheduling problem will be described. The job shop scheduling problem is a problem in which N jobs are processed by M machines. In this step, 1. Machines that share and process each work and order of allocation (technical order); Two of the processing time of each job on each machine are given in advance.

【0007】また、条件として、 1.機械は故障しない; 2.各機械は同時に2つ以上の仕事を処理できない; 3.作業の中断はしない;を設ける。The conditions are as follows. Machine does not break down; 1. Each machine cannot handle more than one job at the same time; Do not interrupt work;

【0008】上記の条件に基づいて、全仕事を完了する
までの総所要時間を最小にする解、即ち、各機械毎の仕
事の処理順序を求める。これがジョブショップスケジュ
ーリング問題の最適解を求めることである。ジョブショ
ップスケジューリング問題はスケジュールと呼ばれる。
Based on the above conditions, a solution that minimizes the total time required to complete all jobs, that is, the processing order of jobs for each machine is obtained. This is to find the optimal solution for the job shop scheduling problem. The job shop scheduling problem is called a schedule.

【0009】各機械毎の仕事の処理順序が与えられた
時、対応するスケジュールの評価値である総作業時間r
は、以下のように計算される。まず、r=0と初期化す
る。 [B.総作業時間の計算の手順] ステップ1) 未処理の作業のうち、技術的順序の先行
する直前の作業Ot 、及び、同一機械上で直前に処理さ
れる作業Om が共に処理済みである作業を一つ選び、O
e とする。Ot ,Om の処理終了時刻の最大値をOe
処理開始時刻となるようにOe を処理する。このとき、
e の処理終了時刻をE(Oe )とし、総作業時間r
を、r=max(r,E(Oe ))とする。
Given the processing order of work for each machine, the total work time r which is the evaluation value of the corresponding schedule.
Is calculated as follows: First, initialization is performed with r = 0. [B. Procedure for calculating total work time] Step 1) Among the unprocessed works, the work O t immediately preceding the technical order and the work O m processed immediately before on the same machine are both processed. Select one work, O
Let be e . O t, to process the O e to the maximum value of the processing end time of O m a processing start time of O e. At this time,
The processing end time of the O e and E (O e), the total working time r
Is r = max (r, E (O e )).

【0010】ステップ2) 上記の処理ステップ1を未
処理の作業が存在する限り繰り返す。 上記の手続き終了後、全ての作業が処理されていれば、
スケジュールは実行可能であり、評価値r(総作業時
間)が得られる。そうでない場合は、スケジュールは実
行可能ではない。
Step 2) The above processing step 1 is repeated as long as there is an unprocessed work. After completing the above procedure, if all the work is done,
The schedule is feasible and an evaluation value r (total work time) is obtained. Otherwise, the schedule is not workable.

【0011】次に、スケジュールにおける最長経路につ
いて説明する。最長経路とは、スケジュール中最もボト
ルネックとなる作業の集合である。最長経路は次のよう
な簡単なラベル付けアルゴリズムを用いて計算される。 [C.最長経路計算手順] ステップ1) その作業の処理終了時間が総作業時間に
一致するものを最長経路上にあるものとしてラベルを付
ける。
Next, the longest route in the schedule will be described. The longest route is a set of work that is the most bottleneck in the schedule. The longest path is calculated using a simple labeling algorithm as follows. [C. Longest Route Calculation Procedure] Step 1) Label the ones whose processing end time matches the total work time as being on the longest route.

【0012】ステップ2) ラベル付けされた作業の、
同一機械上の直前の作業、もしくは、技術的順序上直前
の作業の処理終了時刻がこのラベル付けされた作業の処
理開始時刻と等しい場合、該当する作業にラベルを付け
る。 ステップ3) 上記ステップ2を直前の作業が存在しな
くなるまで繰り返す。
Step 2) of the labeled work,
When the processing end time of the immediately preceding work on the same machine or the immediately preceding work in the technical order is equal to the processing start time of this labeled work, the corresponding work is labeled. Step 3) The above Step 2 is repeated until there is no previous work.

【0013】次に、与えられた解、即ち、スケジュール
Sの近傍N(S)について説明する。最長経路上、同一
機械上で処理される作業の部分列をクリティカルブロッ
クと呼ぶ。全てのクリティカルブロックについて、クリ
ティカルブロック上のある作業を当該クリティカルブロ
ックの先頭、あるいは、最後に移動させることによって
新たに得られるスケジュール全体からなる集合を、Sの
クリティカルブロック近傍と呼び、N(S)で表す。こ
のクリティカルブロック上の連続する2つの作業の入れ
換えによる遷移と、それに基づく近傍を考え、それを用
いたシミュレーテッドアニーリング(SA)による解法
が提案されている。多段階交叉用(MSX)では元にな
る2つの解からほぼ均等に性質を受け継いだ個体を次の
局所探索の出発点としている。
Next, the given solution, that is, the neighborhood N (S) of the schedule S will be described. A partial sequence of work processed on the same machine on the longest path is called a critical block. For all critical blocks, a set of all schedules newly obtained by moving a certain work on the critical block to the head or the end of the critical block is called a neighborhood of the critical block of S, and N (S) It is represented by. A solution is proposed by simulated annealing (SA) using a transition based on the switching of two continuous works on this critical block and the neighborhood based on the transition. In multi-stage crossover (MSX), an individual that inherits properties from the two original solutions almost equally is used as the starting point for the next local search.

【0014】次に、Giffler and Thompsonのアクティブ
スケジュール生成アルゴリズム(GT)について説明す
る。なお、作業Oの最早開始時刻σ(O)及び、最早完
了時刻φ(O)とは、技術順序の制約を満たしながら、
その作業を最優先で処理したと仮定した場合の開始時
刻、完了時刻のこととする。以下にGTアルゴリズムに
ついて説明する。
Next, the Giffler and Thompson active schedule generation algorithm (GT) will be described. The earliest start time σ (O) and the earliest completion time φ (O) of the work O satisfy the constraint of the technical order,
It is the start time and the completion time, assuming that the work is processed with the highest priority. The GT algorithm will be described below.

【0015】[D.GTアルゴリズム] ステップ1) O* を未処理の作業のうちで最早完了時
刻が最小の作業とする。 ステップ2) Cをコンフリクト集合とする。ここで、
CはO* 及びO* と同一機械(Mi )上の作業の中でそ
の処理がO* と重複する作業の集合である。即ち、 C={O on Mi ‖σ(O) ≦ φ(O* )} となる。
[D. GT Algorithm] Step 1) Let O * be the work with the earliest completion time among the unprocessed works. Step 2) Let C be a conflict set. here,
C is a set of tasks that O * and O * and the processing in the same machine (M i) on the work overlaps with O *. That is, C = {O on M i ‖σ (O) ≦ φ (O * )}.

【0016】ステップ3) 集合C中より任意に作業を
一つ選び、その最早開始、完了時刻に従って作業を処理
する。 以上の処理を全ての作業の処理が完了するまで繰り返す
ことによってアクティブスケジュールが一つ作成され
る。
Step 3) One work is arbitrarily selected from the set C, and the work is processed according to the earliest start and completion times. One active schedule is created by repeating the above processing until the processing of all work is completed.

【0017】上述のように従来の技術における遺伝的ア
ルゴリズムでは、主に、交叉手続きによって繰り返し新
たな最適解の候補を生成することによって探索を進めて
いく。いわば、交叉は探索エンジンである。一方、近
年、遺伝的アルゴリズムを単独で用いるのではなく、遺
伝的アルゴリズムに局所近傍探索を組み入れた解法がよ
り優れていることが明らかになってきた。後者の場合、
探索エンジンとしての役割は局所近傍探索が担ってお
り、交叉は、次の局所近傍探索の出発点となる初期値を
当てるために用いられる。
As described above, in the conventional genetic algorithm, the search is mainly performed by repeatedly generating new optimal solution candidates by the crossover procedure. So to speak, crossover is a search engine. On the other hand, in recent years, it has become clear that a solution method that incorporates a local neighborhood search into a genetic algorithm is better than using the genetic algorithm alone. In the latter case,
The local neighborhood search plays a role as a search engine, and the crossover is used to apply an initial value which is a starting point of the next local neighborhood search.

【0018】[0018]

【発明が解決しようとする課題】しかしながら、上記従
来の遺伝的アルゴリズムにおいて、交叉は、元になる2
つの解(両親)の性質をランダムな割合で混合した解を
生成したのでは、効果がない。両親の性質を無駄なく確
実に継承し、しかも片方の親からのみ偏った性質を継承
することのないようにしなければならない。なぜなら、
両親の性質を継承しなければ単なるランダム探索である
し、片方の親からのみ偏った性質を継承した場合、引き
続いて行われる局所近傍探索によってその片方の親に探
索点が戻って来てしまうからである。
However, in the above-mentioned conventional genetic algorithm, the crossover is the original two.
Generating a solution that mixes the properties of two solutions (parents) in a random proportion has no effect. We must ensure that we inherit the properties of both parents without waste, and that we do not inherit properties that are biased only from one parent. Because
If you do not inherit the properties of your parents, it is just a random search, and if you inherit the properties that are biased only from one parent, the search point will return to that one parent by the subsequent local neighborhood search. Is.

【0019】また、ジョブショップスケジューリング装
置の従来の方法では、分枝限定法等による解法を用いる
装置が研究されているが、大規模な問題に対しては、組
み合わせ爆発を起こすため、最適解もしくは、最適解に
近い良質な解、つまり準最適解を有効な時間内に求める
ことができないという問題がある。
Further, in the conventional method of the job shop scheduling apparatus, an apparatus using a solution method such as a branch and bound method has been studied, but for a large-scale problem, a combinatorial explosion occurs, so that an optimal solution or , There is a problem that a high-quality solution close to the optimal solution, that is, a quasi-optimal solution cannot be obtained within an effective time.

【0020】本発明は、上記の点に鑑みなされたもの
で、上記従来の問題点を解決し、複雑な制約を持ち、総
作業時間が最小となるような大規模なジョブショップス
ケジューリング問題の準最適解を、組み合わせ爆発を起
こすことなく高速に求めることができるジョブショップ
スケジューリング方法及び装置を提供することを目的と
する。
The present invention has been made in view of the above points, solves the above-mentioned conventional problems, has complicated constraints, and is a method for solving a large-scale job shop scheduling problem that minimizes the total work time. An object of the present invention is to provide a job shop scheduling method and apparatus capable of obtaining an optimum solution at high speed without causing a combination explosion.

【0021】[0021]

【課題を解決するための手段】本発明は、複数の機械上
で定めれた順序で定められた時間をかけて処理される複
数の仕事が与えられたとき、全仕事の作業時間の総和が
最小に近くなるように作業の処理順序を決定するジョブ
ショップスケジューリング方法において、初期個体集団
または処理途中の個体集団より選択された2個体に対し
て、同一機械上で処理される作業の部分列であるクリテ
ィカルブロック近傍を用いて遺伝的アルゴリズムを組み
込んで新たな個体を生成する処理と、初期個体集団また
は処理途中の個体集団または、生成された新たな個体に
対してクリティカルブロック近傍を用いた局所近傍探索
を行う処理とを、統一的に行い、解の改善を行う。
According to the present invention, when a plurality of jobs to be processed in a predetermined order on a plurality of machines for a predetermined time are given, the total work time of all the jobs is calculated. In a job shop scheduling method that determines the processing order of work so that it is close to the minimum, a subsequence of work processed on the same machine for two individuals selected from an initial population or a population in the process of being processed. A process of generating a new individual by incorporating a genetic algorithm using a certain critical block neighborhood, and an initial population or an in-process population, or a local neighborhood using a critical block neighborhood for the generated new population The process of searching is unified to improve the solution.

【0022】図1は、本発明の原理を説明するための図
である。本発明は、複数の機械上で定めれた順序で定め
られた時間をかけて処理される複数の仕事が与えられた
とき、全仕事の作業時間の総和が最小に近くなるように
作業の処理順序を決定するジョブショップスケジューリ
ング方法において、同一機械上で処理される作業の部分
列であるクリティカルブロック近傍を用いて、該クリテ
ィカルブロックの最も総作業時間の短い個体と初期個体
集団中または、処理途中の個体集団の個体を比較して総
作業時間の短い個体を探索する局所近傍探索に遺伝的ア
ルゴリズムを組み込み(ステップ10)、初期個体集団
または、処理途中の個体集団から総作業時間がより短い
2個体を選択し(ステップ20)、2個体が互いに距離
が近づく方向へ少しずつ繰り返し変形させることによっ
て2個体間を結ぶパスを形成する個体のリストを生成し
(ステップ30)、個体のリスト中に、2個体よりも優
れた個体が存在する場合には、その中で最も優れたもの
を選択し、そうでない場合には、2個体から略等距離離
れた個体を新しい個体として生成する(ステップ4
0)。
FIG. 1 is a diagram for explaining the principle of the present invention. The present invention, when given a plurality of jobs to be processed in a predetermined order on a plurality of machines for a predetermined time, processes the work so that the total sum of the work times of all the jobs is close to a minimum. In a job shop scheduling method for determining an order, by using a critical block neighborhood that is a subsequence of work processed on the same machine, an individual with the shortest total work time of the critical block and an initial individual population or in the middle of processing Of the individual population in which the total working time is compared to search for an individual having a short total working time (step 10), and the total working time is shorter from the initial population or the population in the process of processing 2 An individual is selected (step 20), and the path connecting the two individuals is formed by gradually deforming the two individuals so that they are closer to each other. A list of individuals to be generated is generated (step 30), and if there is an individual superior to two individuals in the list of individuals, the best one is selected, and if not, 2 is selected. An individual that is approximately equidistant from the individual is generated as a new individual (step 4
0).

【0023】本発明は、各機械毎に、該機械上で処理さ
れる仕事の処理順序を表す順列である仕事名のリストに
よって解を表現し、有限個のランダムな解の集合である
初期個体集団を生成し、初期個体集団あるいは、処理途
中の個体集団より評価値の良い個体ほど選ばれやすくな
るように、バイアスをかけてランダムに2個体を選択
し、選択された2個体に対してスケジュール上の作業の
部分列である最長経路を計算し、該最長経路を同一機械
で連続して処理する作業の集まりであるクリティカルブ
ロック毎に分割し、各クリティカルブロック上の各作業
を該クリティカルブロックの先頭あるいは最後に移動さ
せて、新たに得られるスケジュール全体からなる集合で
あるクリティカルブロック近傍を計算し、2個体の一方
の個体のクリティカルブロック近傍中より、他方の個体
までの距離が最も短いものを選択し、選択された個体を
元の個体と置き換える操作を2個体に関して交互に繰り
返すことにより、解空間上に該2個体を結ぶパスを生成
し、パス上の解のうち、最初に与えられた2個体よりも
優れた解が存在する場合は、その中で最も優れたものを
解とし、そうでない場合には、2個体から最も等距離に
近いものを解とし、解に対して、クリティカルブロック
近傍を計算し、クリティカルブロック近傍中の最も優れ
た第1の解で元の解を置き換える局所近傍探索を繰り返
し、第1の解が、初期個体集団あるいは処理途中の個体
集団中最低の評価値を持つ第2の解より優れている場合
には、該第2の解を第1の解で置き換え、所定の繰り返
し回数に達するか、初期個体集団あるいは、処理途中の
個体集団中の全個体全て同一の個体になるまで、上記の
処理を繰り返す。
According to the present invention, for each machine, a solution is represented by a list of job names, which is a permutation representing the processing order of jobs processed on the machine, and an initial individual which is a finite set of random solutions. A group is generated, and two individuals are randomly selected with a bias so that the individuals with better evaluation values are more likely to be selected than the initial individual population or the individual population in the process, and the schedule is set for the selected two individuals. A longest path that is a subsequence of the above work is calculated, and the longest path is divided into critical blocks that are a set of works that are continuously processed by the same machine, and each work on each critical block is divided into By moving to the beginning or the end, the neighborhood of the critical block, which is a set consisting of the entire schedule newly obtained, is calculated, and the criticality of one of the two individuals is calculated. A path connecting the two individuals in the solution space is selected by repeating the operation of selecting the one having the shortest distance to the other individual from the neighborhood of the block and replacing the selected individual with the original individual alternately for the two individuals. If there is a solution that is better than the first two given solutions on the path, the best one is given, and if not, the best solution from the two is given. A solution that is close to equidistant is calculated, a critical block neighborhood is calculated for the solution, and a local neighborhood search that replaces the original solution with the best first solution in the critical block neighborhood is repeated. , If it is superior to the second solution having the lowest evaluation value in the initial population or the population under processing, the second solution is replaced with the first solution to reach a predetermined number of iterations, There is an initial population All all individuals in the middle of processing individual group until the same individual, the above processing is repeated.

【0024】図2は、本発明の原理構成図である。本発
明は、複数の機械上で定めれた順序で定められた時間を
かけて処理される複数の仕事が与えられたとき、全仕事
の作業時間の総和が最小に近くなるように作業の処理順
序を決定するジョブショップスケジューリング装置にお
いて、遺伝的アルゴリズムで用いる個体の集合である個
体集団の初期値を生成する初期個体集団生成手段102
と、初期個体集団生成手段102で生成された初期個体
集団、あるいは、処理途中の個体集団より優秀な個体が
選択されやすいようにバイアスをかけて2個体を選択す
る2個体選択手段103と、初期個体集団あるいは、処
理途中の個体集団から選択された2個体に対して多段階
交叉を適用し、新たな個体を生成する多段階交叉手段1
04と、初期個体集団生成手段102で生成された個体
及び多段階交叉手段104において生成された個体に対
して、クリティカルブロック近傍を計算し、クリティカ
ルブロック近傍中、最も優れた個体と元の個体とを置き
換える局所近傍探索手段105と、局所近傍探索手段1
05で得た個体が、初期個体集団あるいは、処理途中の
個体集団中最低の評価値をもつ個体より優れている場合
に、局所近傍探索手段で生成された解を最低の評価値を
もつ個体と置き換える個体集団更新手段106とを有す
る。
FIG. 2 is a block diagram showing the principle of the present invention. The present invention, when given a plurality of jobs to be processed in a predetermined order on a plurality of machines for a predetermined time, processes the work so that the total sum of the work times of all the jobs is close to a minimum. In the job shop scheduling apparatus that determines the order, an initial individual population generation unit 102 that generates an initial value of an individual population that is a set of individuals used in a genetic algorithm.
And an initial individual population generated by the initial individual population generation means 102, or a two-individual selection means 103 for selecting two individuals with a bias so that superior individuals can be selected more easily than the individual population in the process of processing, Multistage crossover means 1 for applying a multistage crossover to an individual population or two individuals selected from a population under processing to generate a new individual
04, the individual generated by the initial individual population generating means 102 and the individual generated by the multi-stage crossing means 104, the critical block neighborhood is calculated, and the best individual and the original individual in the critical block neighborhood are calculated. Local neighborhood searching means 105 for replacing
If the individual obtained in 05 is superior to the initial individual population or the individual having the lowest evaluation value in the population under processing, the solution generated by the local neighborhood search means is regarded as the individual having the lowest evaluation value. And an individual population updating unit 106 to be replaced.

【0025】また、上記の多段階交叉手段104は、2
個体に対してスケジュール上の作業の部分列である最長
経路を計算し、該最長経路を同一機械で連続して処理さ
れる作業の集まりであるクリティカルブロックの先頭あ
るいは最後に移動させることによって新たに得られるス
ケジュール全体からなる集合であるクリティカルブロッ
ク近傍を計算し、一方の個体のクリティカルブロック近
傍中より他方の個体までの距離が最も短い要素を選び、
元の個体と置き換ええる操作を2個体に関して交互に繰
り返すことによって、解空間上の2個体を結ぶパスを生
成し、該パス上の解のうち、最初に与えられた2個体よ
りも優れた要素を、そうでない場合には、2個体からの
距離が最も等距離に近い要素を選択する手段を有する。
Further, the multi-stage crossing means 104 has two
By calculating a longest path that is a subsequence of work on a schedule for an individual and moving the longest path to the beginning or end of a critical block that is a collection of works that are continuously processed by the same machine, Calculate the critical block neighborhood that is a set consisting of the entire schedule obtained, select the element with the shortest distance from the critical block neighborhood of one individual to the other individual,
By repeating the operation of replacing the original individual for the two individuals, a path connecting the two individuals in the solution space is generated, and among the solutions on the path, an element superior to the first two individuals is given. Otherwise, it has means for selecting an element whose distances from the two individuals are closest to each other.

【0026】また、本発明は、予め定めた繰り返し回数
に達するか、初期個体集団あるいは、処理途中の個体の
集合中の全個体全て同一の個体になったかという終了条
件を定め、該終了条件が満足されない場合には、多段階
交叉手段104、局所近傍探索手段105、個体集団更
新手段106の各手段を繰り返す制御手段108を含
む。
Further, according to the present invention, an end condition is determined such that a predetermined number of repetitions is reached, or all the individuals in the initial population of individuals or in the set of individuals in the process are all the same, and the termination condition is set. If not satisfied, it includes a control means 108 that repeats each of the multistage crossover means 104, the local neighborhood search means 105, and the individual population update means 106.

【0027】[0027]

【作用】本発明は、遺伝的アルゴリズムを用いて、ジョ
ブショップスケジューリングを実行する場合に、クリテ
ィカルブロック近傍を用いた局所近傍探索に遺伝的アル
ゴリズムを組み込んで、解の改善を行うことにより、探
索の効率化が図れる。また、個体集団から選択された2
個体(両親)に基づいて新しい個体を生成する遺伝的ア
ルゴリズム内の交叉手続きにおいて、この2つの個体を
互いに距離が近づく方向へ少しづつ繰り返し変形させる
ことによって2個体間を結ぶパスを形成する個体のリス
トを生成し、このリストの中から元となった2個体より
も優れた個体が存在する場合には、その中で最も優れた
もの、優れた個体が存在していない場合には、元となっ
た2個体から略等距離離れた個体を新しい個体として生
成する多段階交叉を行うことにより、両親(選択された
2個体)の性質を確実に偏りなく遺伝させる。
When the job shop scheduling is executed by using the genetic algorithm, the present invention incorporates the genetic algorithm into the local neighborhood search using the critical block neighborhood to improve the solution, thereby improving the search. Efficiency can be improved. In addition, 2 selected from the population
In the crossover procedure in the genetic algorithm that generates a new individual based on the individual (parents), by gradually deforming these two individuals gradually in the direction in which they are close to each other, the path that connects the two individuals is formed. Generate a list, and if there are individuals that are better than the original two individuals from this list, the best one among them, and if there is no superior individual, By performing multi-stage crossover in which individuals that are approximately equidistant from the two individuals that have become separated are generated as new individuals, the characteristics of the parents (two selected individuals) are surely inherited without bias.

【0028】[0028]

【実施例】最初に、本発明の一実施例に用いる種々のア
ルゴリズムについて説明する。本発明は、前述の従来の
技術に使用されているアルゴリズムの手続きの他に以下
E,Fに示すアルゴリズムが使用される。
First, various algorithms used in an embodiment of the present invention will be described. In the present invention, the algorithms shown in E and F below are used in addition to the procedure of the algorithm used in the above-mentioned conventional technique.

【0029】本発明のジョブショップスケジューリング
装置及び方法では、解であるスケジュールは個体と呼ば
れ、各個体は各機械上の仕事列を表す2次元の配列を用
いて表現される。装置内の処理の手順を順を追って説明
する。
In the job shop scheduling apparatus and method of the present invention, the schedule that is the solution is called an individual, and each individual is represented by using a two-dimensional array representing a work sequence on each machine. The procedure of processing in the device will be described step by step.

【0030】 まず、個体の集合である個体集団の集
合である個体集団の各個体のスケジュールの初期値がG
T法(従来の技術の欄で記載)と呼ばれる公知の方法に
よって生成される。 次に、初期個体集団中の各個体kに対して次のよう
な局所探索が実行される。
First, the initial value of the schedule of each individual in the individual population that is the set of individual population that is the set of individual is G
It is generated by a known method called the T method (described in the section of the prior art). Next, the following local search is executed for each individual k in the initial population of individuals.

【0031】[E.局所探索] ステップ1) x=kと初期化する。 ステップ2) xの近傍N(x)の要素のうち最も評価
値の高い、即ち、総作業時間の短いものをyとする。こ
の時yの総作業時間がxの総作業時間より短ければ、x
=yとする。そうでなければ、ステップ4に移行する。
[E. Local Search] Step 1) Initialize x = k. Step 2) Among the elements in the neighborhood N (x) of x, the element having the highest evaluation value, that is, the element having the shortest total working time is set as y. At this time, if the total work time of y is shorter than the total work time of x, x
= Y Otherwise, go to step 4.

【0032】ステップ3) 上記のステップ2を繰り返
す。 ステップ4) k=xとして全ての処理を終了する。 上記の局所探索後、初期個体集団、あるいは、処理
途中の個体集団に対して、その中から総作業時間が短い
個体ほど高い確率で選ばれるようにバイアスをかけた確
率に従って、ランダムに2個体が選択され、この2個体
をp1 ,p2 とする。ここで以下のような多段階交叉手
続きによってメモリ上の個体のリストOLが作成され
る。
Step 3) The above Step 2 is repeated. Step 4) Set k = x and end all processing. After the above local search, two individuals are randomly selected according to the probability that the initial population or the population in the process of processing is biased so that individuals with a shorter total work time are selected with a higher probability. These two individuals are selected and designated as p 1 and p 2 . Here, a list OL of individuals on the memory is created by the following multi-step crossover procedure.

【0033】[F.多段階交叉] ステップ1) i=1とし、リストOLを初期化する。 ステップ2) 個体pi に対して、最長経路と、最長経
路上同一機械上の作業列であるクリティカルブロックを
計算し、各ブロック内の作業をそのブロックの先頭ある
いは最後に移動させることによって得られる遷移状態を
全て列挙することによってpi の近傍N(pi )が計算
される。
[F. Multi-stage crossover] Step 1) Initialize the list OL with i = 1. Step 2) It is obtained by calculating the longest path and a critical block that is a work sequence on the same machine on the longest path for the individual p i , and moving the work in each block to the beginning or end of the block. near the p i N (p i) is calculated by enumerating all the transition state.

【0034】ステップ3) N(pi )中pi+1 までの
距離が最も小さい要素をpi+2 とする。ここで、
i+2 ,pi+1 の間の距離がpi ,pi+1 間の距離より
大きければ終了(終了条件)し、そうでなければ、p
i+2 をOLに加える。 ステップ4) i=i+1とし、ステップ3に移行す
る。
Step 3) Let p i + 2 be the element having the smallest distance to p i + 1 in N (p i ). here,
If the distance between p i + 2 and p i + 1 is greater than the distance between p i and p i + 1, end (end condition), otherwise p
Add i + 2 to OL. Step 4) Set i = i + 1 and move to Step 3.

【0035】 次に、個体のリストOLから次のよう
にして個体kが選択される。即ち、p1 ,p2 よりも短
い総作業時間を持つものが、OL中に無い場合には、O
L中のp1 ,p2 から略等距離にある個体が個体kとし
て選択される。ここで、OLから個体kを選択する場合
の処理を説明する。
Next, the individual k is selected from the list of individuals OL as follows. That is, if there is no work in the OL that has a total work time shorter than p 1 and p 2 ,
An individual that is approximately equidistant from p 1 and p 2 in L is selected as the individual k. Here, a process for selecting the individual k from the OL will be described.

【0036】[G.OLからkの選択] ステップ1) OL中より最も総作業時間が短い個体y
を選択する。もし、yの総作業時間がp1 ,p2 の総作
業時間よりも短ければk=yとする。 ステップ2) そうでない場合、OLよりp1 ,p2
での距離の差が最も小さいものを選択し、k=yとす
る。
[G. Selection of k from OL] Step 1) Individual y with the shortest total work time than in OL
Select If the total work time of y is shorter than the total work time of p 1 and p 2 , k = y. Step 2) If not, select the one having the smallest difference in distance from OL to p 1 and p 2 and set k = y.

【0037】 次に、上記で選択された個体kに対し
て前述の[E.局所探索]が実行される。 次に、個体集団の全個体中最も劣った個体、即ち、
最も長い総作業時間を持つ個体wと個体kを比較し、k
の総作業時間の方がwの総作業時間より短かければ、w
を個体集団から消去し、代わりにkを個体集団へ登録す
る。
Next, for the individual k selected above, [E. Local search] is executed. Next, the worst individual of all individuals in the population,
The individual w having the longest total working time is compared with the individual k, and k
If the total work time of is shorter than the total work time of w, w
Is deleted from the population, and k is registered in the population instead.

【0038】上記のからの操作を適当な終了条件を
満たすまで繰り返す。終了条件は、例えば、繰り返し回
数が合計L回に達するまでという形で与えられる。終了
条件を満たした場合、個体集団中最も優れた個体、即
ち、最も総作業時間の短い個体を解として出力し、全処
理を終了させる。
The operations from above are repeated until an appropriate end condition is satisfied. The termination condition is given, for example, in the form that the number of repetitions reaches a total of L times. When the termination condition is satisfied, the most excellent individual in the individual population, that is, the individual having the shortest total working time is output as a solution, and the whole process is terminated.

【0039】次に、図面と共に本発明の実施例を説明す
る。図3は、本発明の一実施例のジョブショップスケジ
ューリング装置の構成を示す。同図に示すジョブショッ
プスケジューリング装置は、入力部101、初期個体集
団生成部102、2個体選択部103、多段階交叉処理
部104、局所近傍探索部105、個体集団更新部10
6、メモリ107及び制御部108より構成される。
Next, an embodiment of the present invention will be described with reference to the drawings. FIG. 3 shows the configuration of a job shop scheduling apparatus according to an embodiment of the present invention. The job shop scheduling apparatus shown in FIG. 1 includes an input unit 101, an initial individual population generation unit 102, an individual selection unit 103, a multistage crossover processing unit 104, a local neighborhood search unit 105, and an individual population update unit 10.
6, a memory 107 and a control unit 108.

【0040】入力部101は、問題データ、及び遺伝的
アルゴリズムのパラメータを入力する。初期個体集団生
成部102は、遺伝的アルゴリズムで用いる解、即ち、
個体の集合である、個体集団の初期値を生成する。この
とき、前述のGTアルゴリズムを用いて生成するものと
する。
The input unit 101 inputs problem data and parameters of the genetic algorithm. The initial population generation unit 102 uses the solution used in the genetic algorithm, that is,
An initial value of a population of individuals, which is a set of individuals, is generated. At this time, it is assumed that the GT algorithm is used for generation.

【0041】2個体選択部103は、初期個体集団、あ
るいは処理途中の個体集団より優秀な個体がより選択さ
れやすいように、バイアスをかけてランダムに2個体を
選択する。多段階交叉処理部104は、2個体選択部1
03により初期個体集団、あるいは処理途中の個体集団
から選択された2個体に対して[F.多段階交叉]を適
用し、新たな個体を生成する。
The two-individual selection unit 103 randomly selects two individuals so that an excellent individual can be selected more easily than the initial individual population or the individual population in the process of processing. The multi-stage crossover processing unit 104 is a two-individual selection unit 1.
03 for two individuals selected from the initial population or the population in the process of processing [F. Multi-stage crossover] is applied to generate a new individual.

【0042】局所近傍探索部105は、初期個体集団生
成部102で生成された個体及び、多段階交叉処理部1
04において生成された個体に対してクリティカルブロ
ック近傍を用いた局所近傍探索を行い、解の改善の試み
る。個体集団更新部106は、局所近傍探索部105で
得られた個体を、初期集団、あるいは、処理途中の個体
集団の最も劣った要素と比較し、得られた個体が優れて
いれば、個体集団に組み入れる。
The local neighborhood search unit 105 includes the individuals generated by the initial population generation unit 102 and the multi-stage crossover processing unit 1.
A local neighborhood search using a critical block neighborhood is performed on the individuals generated in 04 to try to improve the solution. The individual population updating unit 106 compares the individuals obtained by the local neighborhood searching unit 105 with the inferior element of the initial population or the population in the process of processing, and if the obtained individuals are excellent, the population of individuals is updated. Be incorporated into.

【0043】メモリ107は、入力部101より入力さ
れた問題データ及び遺伝的アルゴリズムのパラメータ、
及び処理途中や最終結果のスケジュールを格納する。制
御部108は、上記の各部の動作を制御する。図4は、
本発明の一実施例のジョブショップスケジューリングの
動作を示すフローチャートである。
The memory 107 has the problem data and the parameters of the genetic algorithm input from the input unit 101,
It also stores the schedule of processing and final results. The control unit 108 controls the operation of each unit described above. FIG.
6 is a flowchart showing an operation of job shop scheduling according to an embodiment of the present invention.

【0044】以下に示す処理の終了条件は、例えば、
「多段階交叉の適用回数がLを越えているか、個体集団
中の各個体の評価値の最大値と最小値が一致するか、し
た時に終了」とする。 ステップ101) まず、入力部101に問題データで
ある仕事数N、機械数M、各作業の技術的順序、処理時
間、遺伝的アルゴリズムのパラメータである個体集団の
サイズP、多段階交叉の最大適用回数Lが入力され、こ
れらの内容は、メモリ107に格納される。
The end condition of the process described below is, for example,
"Ends when the number of times of application of the multi-step crossover exceeds L, or the maximum value and the minimum value of the evaluation values of each individual in the individual group match, or when". Step 101) First, the number of jobs N, the number of machines M, which is the problem data, the technical order of each work, the processing time, the size P of the individual population, which is a parameter of the genetic algorithm, and the maximum application of the multistage crossover are input to the input unit 101. The number of times L is input, and these contents are stored in the memory 107.

【0045】ステップ102) 初期個体集団生成部1
02がランダムな解(ランダムスケジュール)を生成
し、生成された解は、メモリ107に格納される。 ステップ103) 局所近傍探索部105が、メモリ1
07上の初期個体集団の各個体、即ち各解スケジュール
に対し、上述の[E.局所探索]に従って、局所近傍探
索を行う。メモリ107上の初期個体集団は、探索結果
で置き換えられる。
Step 102) Initial population generation unit 1
02 generates a random solution (random schedule), and the generated solution is stored in the memory 107. Step 103) The local neighborhood search unit 105 causes the memory 1
For each individual of the initial population on 07, ie each solution schedule, [E. Local search] is performed. The initial population on the memory 107 is replaced with the search result.

【0046】ステップ104) 2個体選択部103が
メモリ107上の初期個体集団もしくは、処理途中の個
体集団より、各個体の評価値が優秀なもの、即ち、スケ
ジュールの総作業時間がより短いものがより選ばれやす
くなくようにバイアスをかけてランダムに2個体を選択
し、その2個体をp1 ,p2 とする。
Step 104) The two individual selection unit 103 has an evaluation value of each individual which is superior to the initial individual population on the memory 107 or the individual population in the process, that is, the total work time of the schedule is shorter. Two individuals are randomly selected with bias so that they are not easily selected, and the two individuals are designated as p 1 and p 2 .

【0047】ステップ105) 次に、多段階交叉処理
部104が、上記ステップ104で選択された2個体p
1 ,p2 に対して、上述の[F.多段階交叉]に従って
多段階交叉を行い、リストOLを得る。得られた個体の
リストOLは、メモリ107上に格納される。本ステッ
プの詳細は図5に後述する。
Step 105) Next, the multi-stage crossover processing unit 104 causes the two individuals p selected in the above Step 104.
1 and p 2 , the above [F. Multistage crossover] to obtain a list OL. The obtained list OL of individuals is stored in the memory 107. Details of this step will be described later with reference to FIG.

【0048】ステップ106) メモリ107上の個体
リストOLより、上述した[G.OLからkの選択]の
手続きに従って、個体kが選択され、メモリ107上に
格納される。 ステップ107) 次に、局所近傍探索部105がメモ
リ107上のリストOLの個体kに対して、上述の
[E.局所探索]の処理に従って局所近傍探索を行い、
メモリ107上の個体kを探索結果で置き換える。
Step 106) From the individual list OL on the memory 107, [G. The individual k is selected according to the procedure of “Selecting k from OL” and stored in the memory 107. Step 107) Next, the local neighborhood search unit 105 performs the above-mentioned [E. Local neighborhood search is performed according to the processing of [Local search],
The individual k on the memory 107 is replaced with the search result.

【0049】ステップ108) 個体集団更新部106
がメモリ107上の個体kと、初期個体集団、あるい
は、処理途中の個体集団の最も評価値の悪い個体とkを
比較し、kの方が優れている場合には、メモリ107上
でその個体とOL上の個体kを入れ換える。
Step 108) Individual group updating unit 106
Compares k with the individual k in the memory 107 and the individual with the worst evaluation value of the initial individual population or the population in the process of processing, and if k is better, the individual in the memory 107 is stored. And replace the individual k on the OL.

【0050】ステップ109) 次に、制御部108が
判定条件:「多段階交叉の適用回数が最大適用回数Lを
越えるか、個体集団中の各個体の評価値の最大値と最小
値が一致する」に従って終了を判定し、終了する場合に
はステップ110に移行し、終了しない場合にはステッ
プ104に移行する。
Step 109) Next, the control unit 108 makes a judgment condition: "The number of times of application of the multistage crossover exceeds the maximum number of times of application L, or the maximum value and the minimum value of the evaluation value of each individual in the individual group match. End is determined in accordance with “.” If it is ended, the process proceeds to step 110, and if it is not ended, the process proceeds to step 104.

【0051】ステップ110) ステップ109におい
て、終了条件を満たし、終了する場合には、個体集団中
最も優秀な個体とその評価値である総作業時間を出力す
る。図5は、本発明の一実施例の多段階交叉処理のフロ
ーチャートである。 以下に示す処理は、上記図4のフローチャートのステッ
プ105の詳細な処理を示す。
Step 110) In step 109, when the termination condition is satisfied and the processing is terminated, the most excellent individual in the individual population and the total work time as its evaluation value are output. FIG. 5 is a flowchart of the multi-stage crossover processing according to the embodiment of the present invention. The process described below shows the detailed process of step 105 of the flowchart of FIG.

【0052】ステップ1051) 選択された2個体p
1 ,p2 が多段階交叉処理部104に入力され、処理カ
ウントを初期化し、i=1とし、リストOLを初期化す
る。 ステップ1052) pi に対して最長経路と、最長経
路上の同一機械上の作業列であるクリティカルブロック
を計算し、各ブロック内の作業をそのブロックの先頭あ
るいは最後に移動させることによって得られる遷移を全
て列挙し、当該pi のブロック近傍N(pi )を計算す
る。
Step 1051) Selected two individuals p
1 and p 2 are input to the multistage crossover processing unit 104, the processing count is initialized to i = 1, and the list OL is initialized. Step 1052) A transition obtained by calculating the longest path for p i and a critical block that is a work sequence on the same machine on the longest path, and moving the work in each block to the beginning or end of the block all listed calculates the p i of the block near the N (p i).

【0053】ステップ1053) 上記で求めれたpi
のブロック近傍N(pi )のうち、pi+1 に近い要素、
即ち、N(pi )のうち、pi+1 までの距離が最も小さ
い要素を選出し、pi+2 とする。 ステップ1054) pi+2 の方がpi よりもpi+1
近いかを判断し、pi+ 2 の方が近い場合には、ステップ
1055に移行し、pi+1 の方が近い場合には個体リス
トOLを出力して処理を終了する。
Step 1053) p i obtained above
Of the block neighborhood N (p i ) of the element close to p i + 1 ,
That is, of N (p i ), the element having the smallest distance to p i + 1 is selected and designated as p i + 2 . Step 1054) If p i + 2 is determined close to or p i + 1 than p i, in the case toward the p i + 2 is short, the process proceeds to step 1055, is the closer p i + 1 In this case, the individual list OL is output and the process ends.

【0054】ステップ1055) 個体リストOLにp
i+2 を加える。 ステップ1056) カウンタiをインクリメントする
(i=i+1)。 次に、具体例を用いて上記の動作を説明する。図6は、
本発明の一実施例の具体例(例題:6×6問題)を示
す。同図の例題では、仕事数6、機械数6のジョブショ
ップスケジューリングを考える。機械名の欄におい
て()内は単位時間を示す。
Step 1055) p is added to the individual list OL.
Add i + 2 . Step 1056) The counter i is incremented (i = i + 1). Next, the above operation will be described using a specific example. FIG.
A specific example (example: 6 × 6 problem) of one embodiment of the present invention will be shown. In the example of the figure, consider job shop scheduling with 6 jobs and 6 machines. In the machine name column, the value in parentheses indicates the unit time.

【0055】[1]まず、図6に示す問題データと遺伝
子アルゴリズムのパラメータである個体集団サイズP,
多段階交叉の最大適用回数Lを入力部101から入力す
る。この例では、P=10、L=100とする。図6に
おいて、各行は対応する仕事を処理する機械の技術的順
序とその処理時間を表している。例えば、第1行目は仕
事1がまず、機械3で1単位時間かけて処理され、次
に、機械1で3単位時間かけて処理されることを示して
いる。
[1] First, the problem data shown in FIG. 6 and the population size P, which is a parameter of the genetic algorithm,
The maximum number of times L of application of the multistage crossover is input from the input unit 101. In this example, P = 10 and L = 100. In FIG. 6, each row represents the technical sequence of the machine that processes the corresponding work and its processing time. For example, the first row shows that job 1 is first processed by machine 3 in 1 unit time, and then processed in machine 1 by 3 unit time.

【0056】[2]初期個体集団生成部102が[D.
GTアルゴリズム]の手続きに従って個体集団サイズP
個のランダムな解(ランダムスケジュール)を生成す
る。従って、この場合には、合計10個のスケジュール
が生成される。 [3] 局所近傍探索部105が[E.局所探索]の手
続きに従って、局所近傍探索を行う。局所近傍探索の結
果得られたメモリ107上の各スケジュールの評価値で
ある総作業時間を図7に示す。同図の例では、スケジュ
ール1が“76”で最も総作業時間が短く、スケジュー
ル10が“144”で最も総作業時間が長い。
[2] The initial individual population generation unit 102 [D.
[GT algorithm]
Generate random solutions (random schedule). Therefore, in this case, a total of 10 schedules are generated. [3] The local neighborhood search unit 105 performs [E. Local neighborhood search is performed according to the procedure of [Local search]. FIG. 7 shows the total work time, which is the evaluation value of each schedule on the memory 107 obtained as a result of the local neighborhood search. In the example of the figure, the schedule 1 has the shortest total work time of "76", and the schedule 10 has the longest total work time of "144".

【0057】[4] 2個体選択部103がメモリ10
7上の初期個体集団より、各個体の評価値が優秀なも
の、即ち、スケジュールの総作業時間がより短いものが
より選ばれ易くなるようにバイアスをかけて2個体を選
択する。この場合、図7において、3番目の個体、及び
1番目の個体が選択されたとする。これらをp1 ,p2
とする。ここで、図8、図9に選択された個体p1 ,p
2 のメモリ7 上のデータ構造を示す。同図の各行は対応
する機械上での各仕事の処理順序である。ここで、
1 ,p2 の距離は、18である。
[4] The 2-individual selection unit 103 stores the memory 10
From the initial population of 7 above, two individuals are selected with a bias so that those with an excellent evaluation value for each individual, that is, those with shorter total work time of the schedule, are more easily selected. In this case, in FIG. 7, it is assumed that the third individual and the first individual are selected. These are p 1 , p 2
And Here, the individuals p 1 and p selected in FIGS.
2 shows the data structure on the memory 7 of 2 . Each row in the figure is the processing order of each job on the corresponding machine. here,
The distance between p 1 and p 2 is 18.

【0058】[5] 多段階交叉処理部104が、
1 ,p2 に対して[F.多段階交叉]の手続きに従っ
て多段階交叉処理を開始する。まず、個体リストOLの
初期値を空とし、p1 対し[C.最長経路計算手順]に
従って最長経路が計算される。図8の□で囲まれた作業
が最長経路上の作業である。また、機械5上の作業5,
6,4,1,3,2及び機械2上の作業4,6,2,
1,5はそれぞれ同一の機械上で処理される作業の部分
列(クリティカルブロック)に属する。
[5] The multistage crossover processing unit 104
with respect to p 1, p 2 [F. Multi-stage crossover processing is started according to the procedure of [Multistage crossover]. First, the initial value of the individual list OL is set to be empty, and p 1 [C. Longest path calculation procedure] is calculated. The work enclosed by □ in Fig. 8 is the work on the longest route. Also, the work 5 on the machine 5
6,4,1,3,2 and work on machine 2,4,6,2
Reference numerals 1 and 5 belong to subsequences (critical blocks) of work processed on the same machine.

【0059】ここで、個体p1 に対してクリティカルブ
ロック近傍を計算する。従来の技術の欄で説明したよう
に、クリティカルブロック近傍は、全てのクリティカル
ブロックについて、クリティカルブロック上のある作業
を当該クリティカルブロックの先頭、あるいは、最後に
移動させることにより新たに得られるスケジュール全体
からなる集合である。従って、近傍の各要素は、クリテ
ィカルブロックがある機械と、その上に移動すべき作業
とその移動先によって表すことができる。そこで、これ
らの組をメモリ107上に格納する。図10に格納され
たp1 の近傍を示す。但し、移動後のスケジュールが実
行可能でないのは、除いてある。図10中、各行は対応
する機械と、その上の移動すべき作業との移動先を表し
ている。例えば、1行目は、機械5上の3番目の作業
(図8よりそれは仕事4であることが分かる)を1番目
に移動させることを表している。さらに、移動した結果
とp 2 との距離を計算する。計算結果を図10の「p2
との距離」の欄に記載する。
Here, the individual p1Against critical
Calculate the lock neighborhood. As explained in the section of conventional technology
In the vicinity of the critical block, all critical
For blocks, some work on critical blocks
At the beginning or the end of the critical block
Entire schedule newly obtained by moving
It is a set consisting of. Therefore, each element in the neighborhood
A machine with a mechanical block and the work to move on it
And its destination. So this
These sets are stored in the memory 107. Stored in FIG.
P1Indicates the vicinity of. However, the schedule after the move is actual
Except that it is not possible. In Figure 10, each row corresponds
Machine and the work to be moved on it
ing. For example, the first line is the third work on machine 5.
(From Figure 8 it can be seen that it is work 4)
It means to move to. Furthermore, the result of moving
And p 2Calculate the distance to and. The calculation result is shown as “p” in FIG.2
It is described in the column "distance to."

【0060】[6] 各近傍の要素中、p2 と距離の最
も短いもの、(この場合、図10の2番目の要素)を選
択する。図10中、□で囲まれている距離“14”は、
1番目のp1 ,p2 間の距離“18”より小さい。従っ
て、[F.多段階交叉]の手続きステップ3の終了条件
を満たさないので、p3 をメモリ107上の個体リスト
OLに加える。図11にメモリ107上に格納されたp
3 のスケジュールを示す。
[6] Among the elements in each neighborhood, the element having the shortest distance from p 2 (in this case, the second element in FIG. 10) is selected. In Fig. 10, the distance "14" surrounded by □ is
The distance between the first p 1 and p 2 is smaller than “18”. Therefore, [F. Since the termination condition of the procedure step 3 of [Multilevel crossover] is not satisfied, p 3 is added to the individual list OL on the memory 107. P stored in the memory 107 in FIG.
3 shows the schedule.

【0061】[7] 次に、p2 に対し、最長経路が計
算される。図9において、□で囲まれた作業が最長経路
上の作業である。 [8] 次に、個体p2 に対してクリティカルブロック
近傍を計算し、p1 の場合と同様に(記載、移動元、移
動先)の組をメモリ107上に格納する。図12に、格
納された個体p2 の近傍を示す。さらに、近傍の各要素
とp3 との距離を計算する。計算結果を図12の「p3
との距離」に記載する。
[7] Next, the longest path is calculated for p 2 . In FIG. 9, the work enclosed by □ is the work on the longest route. [8] Next, the critical block neighborhood is calculated for the individual p 2 , and the set (description, source, destination) is stored in the memory 107 as in the case of p 1 . FIG. 12 shows the vicinity of the stored individual p 2 . Further, the distance between each neighboring element and p 3 is calculated. "P 3 in FIG. 12 the calculated results
And the distance ".

【0062】[9] 近傍中の要素中p3 との距離の最
も短いものを選択し、その結果をp 4 とする。図12に
おいて、2番目の要素(距離13)が該当する。この距
離はp2 ,p3 間の距離14より小さい。従って、
[F.多段階交叉]の手続きのステップ3の終了条件を
満たさないので、p4 をメモリ107上の個体リストO
Lに加える。図13に、メモリ107上に格納されたp
4 のスケジュールを記載する。
[9] p in the elements in the neighborhood3Distance from
Also choose the shortest one and p FourAnd In Figure 12
Then, the second element (distance 13) corresponds. This distance
The separation is p2, P3It is smaller than the distance 14 between. Therefore,
[F. Multi-step crossover]
It does not satisfy, so pFourThe individual list O in the memory 107
Add to L. In FIG. 13, p stored in the memory 107 is stored.
FourDescribe the schedule of.

【0063】[10] 以下同様にして、p5 ,p6
7 が順に生成され、それぞれのメモリ107上の個体
リストOLに格納される。図14、図15、図16にそ
れぞれ、p5 ,p6 ,p7 の対応するメモリ107上の
スケジュールを示す。 [11] ここで、p5 ,p6 間の距離は8である。さ
らに同様にして、p6のクリティカル近傍と、近傍の各
要素p7 との距離を計算し、メモリ107上に格納す
る。格納結果を図17の「p7 との距離」の欄に記載す
る。ここで、近傍の各要素とp7 との距離は、どれもp
6 ,p7 間の距離8より大きい。従って、[F.多段階
交叉]の手続きのステップ3の終了条件を満たし、OL
を出力として多段階交叉処理部104の処理は終了す
る。
[10] Similarly, p 5 , p 6 ,
p 7 are sequentially generated and stored in the individual list OL on each memory 107. 14, 15, and 16 show schedules on the memory 107 corresponding to p 5 , p 6 , and p 7 , respectively. [11] Here, the distance between p 5 and p 6 is 8. Similarly, the distance between the critical neighborhood of p 6 and each neighboring element p 7 is calculated and stored in the memory 107. The storage result is described in the column of "distance from p 7 " in FIG. Here, the distance between each element in the neighborhood and p 7 is p
The distance between 6 and p 7 is greater than 8. Therefore, [F. The end condition of step 3 of the multistage crossover procedure is satisfied, and OL
Is output, the processing of the multi-stage crossover processing unit 104 ends.

【0064】[12] 次に、メモリ107上の個体リ
ストOLより[G.OLからkの選択]の手続きに従っ
て、個体kが選択され、メモリ107上に格納される。
図18にメモリ107上の個体リストOL中の各個体に
関する評価値である総作業時間、それぞれp1 ,p2
の距離を記す。各個体の評価値は、元になる個体p1
2 の評価値“89”、“76”よりも大きいため、
[G.OLからkの選択]の手続きのステップ1を満足
しない。そこで、同手続きのステップ2に従ってp1
2 から距離の差の最も小さい、即ち、最も等距離に近
い個体であるp7が選択され、個体kとしてメモリ10
7上に格納される。
[12] Next, from the individual list OL on the memory 107, [G. The individual k is selected according to the procedure of “Selecting k from OL” and stored in the memory 107.
FIG. 18 shows the total working time, which is the evaluation value for each individual in the individual list OL on the memory 107, and the distances from p 1 and p 2 , respectively. The evaluation value of each individual is the original individual p 1 ,
Since the evaluation value of p 2 is larger than “89” and “76”,
[G. Step 1 of the procedure “Select k from OL” is not satisfied. Then, according to step 2 of the same procedure, p 1 ,
The smallest difference in distance from p 2, that is, p 7, which is the closest individual, is selected, and the memory 10 is selected as the individual k.
7 is stored.

【0065】[13] 次に、局所近傍探索部105が
メモリ107上の個体kに対して[E.局所探索]の手
続きに従って局所近傍探索を行い、メモリ107上の個
体kを探索結果で置き換える。この結果を図19に示
す。これにより得られた個体kの評価値である総作業時
間は“64”である。
[13] Next, the local neighborhood searching unit 105 performs [E. Local neighborhood search is performed according to the procedure of [Local search], and the individual k on the memory 107 is replaced with the search result. The result is shown in FIG. The total work time, which is the evaluation value of the individual k obtained in this way, is “64”.

【0066】[14] 次に、個体集団更新部106が
メモリ107上の個体kと個体集団の最も評価値の悪い
個体(図7より個体集団中10番目の個体、評価値14
4)と個体k(評価値64)を比較する。ここで、個体
kの方が優れているので、メモリ107上でその10番
目の個体kを入れ換える。図20に、入れ換え後のメモ
リ107上の個体集団を記す。但し、評価値の順に番号
を付け替えてある。
[14] Next, the individual group update unit 106 causes the individual k on the memory 107 and the individual with the worst evaluation value of the individual group (the 10th individual in the individual group from FIG. 7, the evaluation value 14
4) and the individual k (evaluation value 64) are compared. Here, since the individual k is superior, the tenth individual k is replaced on the memory 107. FIG. 20 shows the individual population on the memory 107 after the replacement. However, the numbers are reassigned in the order of evaluation values.

【0067】[15] 次に、制御部108が判定条件
に従って、終了を判定する。判定条件は「多段階交叉の
適用回数が最大適用回数Lを越えるか、個体集団中の各
個体の評価値の最大値と最小値が一致する」であるが、
現在多段階交叉の適用回数は1であり、L=100より
小さい。また、図20より個体集団中の各個体の評価値
の最大値と最小値は異なる。従って、終了条件は満足せ
ず、2個体選択部103の処理(図4のフローチャート
のステップ104)に戻る。
[15] Next, the control unit 108 determines the end according to the determination condition. The judgment condition is “the number of times of application of multi-stage crossover exceeds the maximum number of times of application L, or the maximum value and the minimum value of the evaluation values of each individual in the individual population match”.
Currently, the number of times of application of the multistage crossover is 1, which is smaller than L = 100. Further, from FIG. 20, the maximum value and the minimum value of the evaluation value of each individual in the individual population are different. Therefore, the end condition is not satisfied, and the process returns to the process of the 2-individual selection unit 103 (step 104 in the flowchart of FIG. 4).

【0068】以上の処理を図4のフローチャートのステ
ップ109において終了条件が満足されるまで繰り返
す。この例でL=100回繰り返した後終了した。図4
のステップ110に従って出力された個体集団中最も優
秀な個体とその評価値である総作業時間を図21に示
す。同図に示す解は、従来の方法[D.GTアルゴリズ
ム]において求められた解に相当する初期個体集団の各
個体と比べると、総作業時間は“76”(初期個体集団
中の最も優秀は個体の評価値)から“55”へと改善さ
れている。
The above processing is repeated until the ending condition is satisfied in step 109 of the flowchart of FIG. In this example, the process was repeated after L = 100 times. FIG.
21 shows the most excellent individuals in the individual population output according to step 110 of FIG. The solution shown in FIG. Compared with each individual in the initial population corresponding to the solution obtained by the GT algorithm], the total working time was improved from "76" (the best evaluation value of the initial population is "55"). ing.

【0069】上記のように、複数の機械上で定められた
順序で、定められた時間をかけて処理される複数の仕事
が与えられたとき、全仕事の作業時間の総和が最小に近
くなるように作業の処理順序を決定するジョブショップ
スケジューリングを行う際に、遺伝的アルゴリズムを用
いて問題及びパラメータを入力し、初期個体集団をラン
ダムに生成し、生成された初期個体集団の各要素に対し
局所近傍探索を実行する。探索された個体集団より2個
体を選択し、それらの2個体に対して多段階交叉を実行
し、メモリ上の個体リストOLを得る。この個体リスト
OLより、2個体からの距離の差の最も小さい(最も等
距離に近い個体)kを選択する。この個体kに対して局
所近傍探索を実行し、個体集団も最も評価の悪い個体と
個体kを比較して、個体kの方が優れている場合には、
個体集団において個体kと当該最も評価の悪い個体とを
置換する。このようにして得られた個体集団中の最も優
秀な個体を良質な解、即ち、全作業時間の総和が最小に
なる作業の処理順序が取得できる。
As described above, when a plurality of jobs to be processed over a predetermined time in a predetermined order on a plurality of machines are given, the total sum of the work times of all the jobs becomes close to the minimum. When performing job shop scheduling that determines the processing order of work, a problem and parameters are input using a genetic algorithm, an initial population is randomly generated, and for each element of the generated initial population, Perform a local neighborhood search. Two individuals are selected from the searched individual population, multistage crossover is executed for these two individuals, and an individual list OL on the memory is obtained. From this individual list OL, the k having the smallest difference in distance from the two individuals (the closest individual) is selected. A local neighborhood search is executed for this individual k, and the individual population is compared with the individual with the worst evaluation. If the individual k is superior,
The individual k is replaced with the worst-evaluated individual in the individual population. The best individual in the individual group thus obtained can be obtained as a good quality solution, that is, the processing order of the work in which the total sum of all work times is minimized.

【0070】なお、本発明は、上記の実施例に限定され
ることなく、特許請求の範囲内で種々変更・応用が可能
である。
The present invention is not limited to the above embodiment, but various modifications and applications are possible within the scope of the claims.

【0071】[0071]

【発明の効果】上述のように、本発明のジョブショップ
スケジューリング方法及び装置によれば、ジョブショッ
プスケジューリングの実行時に、クリティカルブロック
近傍を用いた局所近傍探索を遺伝的アルゴリズムに組み
込んでいる。
As described above, according to the job shop scheduling method and apparatus of the present invention, a local neighborhood search using a critical block neighborhood is incorporated into a genetic algorithm when executing job shop scheduling.

【0072】解の最長経路は、スケジュール上もっとも
ボトルネックとなる作業の集合であり、特にクリティカ
ルブロックの先頭もしくは、最後の作業を変更すること
なしに、スケジュールを改善することはできない。従っ
て、クリティカルブロック近傍を用いることは、探索効
率化の点で非常に効果的である。
The longest path of the solution is a set of works that are the bottleneck in the schedule, and the schedule cannot be improved without changing the work at the beginning or the end of the critical block. Therefore, using the neighborhood of the critical block is very effective in improving the search efficiency.

【0073】また、多段階交叉は、遺伝的アルゴリズム
中の、個体集団から選択された2個体(両親)に基づ
き、新しい個体(子ども)を生成する交叉手続きにおい
て、局所近傍探索と同様クリティカルブロック近傍を用
い、この2個体を互いに距離が近づく方向へ少しずつ繰
り返し変形させることによって、両親の性質を確実に、
偏りなく子どもに遺伝させることが可能である。
In the crossover procedure for generating a new individual (child) based on two individuals (parents) selected from the population in the genetic algorithm, the multistage crossover is similar to the local neighborhood search in the critical block neighborhood. , And by gradually deforming these two individuals in the direction in which the distance becomes closer to each other, the nature of the parents is ensured.
It is possible to pass on to children without bias.

【0074】これにより、ジョブショップスケジューリ
ングを構築する際に、組み合わせ爆発を起こすことな
く、大規模な問題の良質な解を高速に求めることが可能
となる。
As a result, when constructing the job shop scheduling, it is possible to quickly obtain a good quality solution to a large-scale problem without causing a combinatorial explosion.

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

【図1】本発明の原理を説明するための図である。FIG. 1 is a diagram for explaining the principle of the present invention.

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

【図3】本発明の一実施例のジョブショップスケジュー
リング装置の構成図である。
FIG. 3 is a configuration diagram of a job shop scheduling apparatus according to an embodiment of the present invention.

【図4】本発明の一実施例のジョブショップスケジュー
リングの動作を示すフローチャートである。
FIG. 4 is a flowchart showing an operation of job shop scheduling according to an embodiment of the present invention.

【図5】本発明の実施例の多段階交叉処理のフローチャ
ートである。
FIG. 5 is a flowchart of a multi-step crossover process according to the embodiment of this invention.

【図6】本発明の一実施例の具体例(例題:6×6問
題)を示す図である。
FIG. 6 is a diagram showing a specific example (example: 6 × 6 problem) of one embodiment of the present invention.

【図7】本発明の一実施例の具体例(初期個体集団中の
各個体の評価値(総作業時間))を示す図である。
FIG. 7 is a diagram showing a specific example of one embodiment of the present invention (evaluation value of each individual in the initial individual population (total working time)).

【図8】本発明の一実施例の具体例(個体p1 とその最
長経路)を示す図である。
FIG. 8 is a diagram showing a specific example of an embodiment of the present invention (individual p 1 and its longest path).

【図9】本発明の一実施例の具体例(個体p2 とその最
長経路)を示す図である。
FIG. 9 is a diagram showing a specific example (individual p 2 and its longest route) of one embodiment of the present invention.

【図10】本発明の一実施例の具体例(個体p1 の近
傍)を示す図である。
FIG. 10 is a diagram showing a specific example (near the individual p 1 ) of the embodiment of the present invention.

【図11】本発明の一実施例の具体例(個体p3 とその
最長経路)を示す図である。
FIG. 11 is a diagram showing a specific example (individual p 3 and its longest route) of one embodiment of the present invention.

【図12】本発明の一実施例の具体例(個体p2 の近傍
とp3 との距離)を示す図である。
FIG. 12 is a diagram showing a specific example (distance between the vicinity of the individual p 2 and p 3 ) of one embodiment of the present invention.

【図13】本発明の一実施例の具体例(個体p4 とその
最長経路)を示す図である。
FIG. 13 is a diagram showing a specific example (individual p 4 and its longest route) of one embodiment of the present invention.

【図14】本発明の一実施例の具体例(個体p5 とその
最長経路)を示す図である。
FIG. 14 is a diagram showing a specific example (individual p 5 and its longest route) of one embodiment of the present invention.

【図15】本発明の一実施例の具体例(個体p6 とその
最長経路)を示す図である。
FIG. 15 is a diagram showing a specific example (individual p 6 and its longest route) of one embodiment of the present invention.

【図16】本発明の一実施例の具体例(個体p7 とその
最長経路)を示す図である。
FIG. 16 is a diagram showing a specific example (individual p 7 and its longest route) of one embodiment of the present invention.

【図17】本発明の一実施例の具体例(個体p6 の近
傍)を示す図である。
FIG. 17 is a diagram showing a specific example (near the individual p 6 ) of the embodiment of the present invention.

【図18】本発明の一実施例の具体例(個体リストO
L)を示す図である。
FIG. 18 is a specific example of an embodiment of the present invention (individual list O)
It is a figure which shows L).

【図19】本発明の一実施例の具体例(局所近傍探索後
の個体k)を示す図である。
FIG. 19 is a diagram showing a specific example (individual k after a local neighborhood search) of one embodiment of the present invention.

【図20】本発明の一実施例の具体例(個体集団更新後
の個体集団中の各個体の評価値(総作業時間))を示す
図である。
FIG. 20 is a diagram showing a specific example of one embodiment of the present invention (evaluation value (total working time) of each individual in the individual population after updating the individual population).

【図21】本発明の一実施例の具体例(最終的出力とし
て得られた解)を示す図である。
FIG. 21 is a diagram showing a specific example (a solution obtained as a final output) of the embodiment of the present invention.

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

101 入力部 102 初期個体集団生成部、初期個体集団生成手段 103 2個体選択部、2個体選択手段 104 多段階交叉処理部、多段階交叉手段 105 局所近傍探索部、局所近傍探索手段 106 個体集団更新部、個体集団更新手段 107 メモリ 108 制御部、制御手段 101 input unit 102 initial individual population generation unit, initial individual population generation unit 103 2 individual selection unit, 2 individual selection unit 104 multi-stage crossover processing unit, multistage crossover unit 105 local neighborhood search unit, local neighborhood search unit 106 individual population update Section, individual group updating means 107 memory 108 control section, control means

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 複数の機械上で定めれた順序で定められ
た時間をかけて処理される複数の仕事が与えられたと
き、全仕事の作業時間の総和が最小に近くなるように作
業の処理順序を決定するジョブショップスケジューリン
グ方法において、 初期個体集団または処理途中の個体集団より選択された
2個体に対して、同一機械上で処理される作業の部分列
であるクリティカルブロック近傍を用いて遺伝的アルゴ
リズムを組み込んで新たな個体を生成する処理と、 前記初期個体集団または処理途中の個体集団または、生
成された新たな個体に対して前記クリティカルブロック
近傍を用いた局所近傍探索を行う処理とを、 統一的に行い、解の改善を行うことを特徴とするジョブ
ショップスケジューリング方法。
1. When a plurality of jobs to be processed over a predetermined time in a predetermined order on a plurality of machines are given, the total work time of all the jobs is close to a minimum. In a job shop scheduling method for determining a processing order, genetic processing is performed on two individuals selected from an initial population or an in-process population by using a critical block neighborhood that is a subsequence of work processed on the same machine. A process of generating a new individual by incorporating a genetic algorithm, and a process of performing a local neighborhood search using the critical block neighborhood for the initial individual population or an in-process individual population, or the generated new individual. , A job shop scheduling method characterized by performing a unified solution to improve the solution.
【請求項2】 複数の機械上で定めれた順序で定められ
た時間をかけて処理される複数の仕事が与えられたと
き、全仕事の作業時間の総和が最小に近くなるように作
業の処理順序を決定するジョブショップスケジューリン
グ方法において、 同一機械上で処理される作業の部分列であるクリティカ
ルブロック近傍を用いて、該クリティカルブロックの最
も総作業時間の短い個体と初期個体集団中または、処理
途中の個体集団の個体を比較して総作業時間の短い個体
を探索する局所近傍探索に遺伝的アルゴリズムを組み込
み、 前記初期個体集団または、前記処理途中の個体集団から
総作業時間がより短い2個体を選択し、 前記2個体が互いに距離が近づく方向へ少しずつ繰り返
し変形させることによって前記2個体間を結ぶパスを形
成する個体のリストを生成し、 前記個体のリスト中に、前記2個体よりも優れた個体が
存在する場合には、その中で最も優れたものを選択し、
そうでない場合には、前記2個体から略等距離離れた個
体を新しい個体として生成する請求項1記載のジョブシ
ョップスケジューリング方法。
2. When a plurality of jobs to be processed over a predetermined time in a predetermined order on a plurality of machines are given, the total work time of all the jobs is close to a minimum. In a job shop scheduling method for determining a processing order, by using a critical block neighborhood that is a subsequence of work processed on the same machine, an individual with the shortest total work time of the critical block and an initial population of individuals, or processing A genetic algorithm is incorporated in a local neighborhood search that searches individuals with a short total work time by comparing individuals in the midway population, and two individuals with a shorter total work time from the initial population or the population in the process of processing. Of the individuals that form a path connecting the two individuals by gradually deforming the two individuals in a direction in which the two individuals are closer to each other. Generate a list, and if there is a better individual than the two in the list of individuals, select the best of them,
If not, the job shop scheduling method according to claim 1, wherein an individual that is substantially equidistant from the two individuals is generated as a new individual.
【請求項3】 各機械毎に、該機械上で処理される仕事
の処理順序を表す順列である仕事名のリストによって解
を表現し、有限個のランダムな解の集合である前記初期
個体集団を生成し、 前記初期個体集団あるいは、前記処理途中の個体集団よ
り評価値の良い個体ほど選ばれやすくなるように、バイ
アスをかけてランダムに2個体を選択し、 選択された前記2個体に対してスケジュール上の作業の
部分列である最長経路を計算し、該最長経路を同一機械
で連続して処理させる作業の集まりであるクリティカル
ブロック毎に分割し、各クリティカルブロック上の各作
業を該クリティカルブロックの先頭あるいは最後に移動
させて、新たに得られるスケジュール全体からなる集合
であるクリティカルブロック近傍を計算し、前記2個体
の一方の個体のクリティカルブロック近傍中より、他方
の個体までの距離が最も短いものを選択し、選択された
個体を元の個体と置き換える操作を前記2個体に関して
交互に繰り返すことにより、解空間上に該2個体を結ぶ
パスを生成し、 前記パス上の解のうち、最初に与えられた前記2個体よ
りも優れた解が存在する場合は、その中で最も優れたも
のを解とし、そうでない場合には、前記2個体から最も
等距離に近いものを解とし、 前記解に対して、クリティカルブロック近傍を計算し、
クリティカルブロック近傍中の最も優れた第1の解で元
の解を置き換える局所近傍探索を繰り返し、 前記第1の解が、前記初期個体集団あるいは処理途中の
個体集団中最低の評価値を持つ第2の解より優れている
場合には、該第2の解を前記第1の解で置き換え、 所定の繰り返し回数に達するか、前記初期個体集団ある
いは、処理途中の個体集団中の全個体全て同一の個体に
なるまで、上記の処理を繰り返す請求項2記載のジョブ
ショップスケジューリング方法。
3. The initial population of individuals, which represents a solution for each machine by a list of job names, which is a permutation representing the processing order of jobs processed on the machine, and which is a finite set of random solutions. Are generated, and two individuals are randomly selected with a bias so that the individuals having a better evaluation value are more likely to be selected than the initial individual population or the in-process individual population. A longest path that is a subsequence of the work on the schedule is calculated, and the longest path is divided into critical blocks, which are a set of works that are continuously processed by the same machine, and each work on each critical block is divided into the critical blocks. Move to the beginning or end of the block, calculate the critical block neighborhood that is the set of the newly obtained entire schedule, and calculate one of the two individuals. From the vicinity of the critical block of, the one with the shortest distance to the other individual is selected, and the operation of replacing the selected individual with the original individual is repeated alternately for the two individuals, thereby If a solution that is superior to the first two given individuals among the solutions on the path is generated, the best one is taken as the solution, and if not, otherwise. , The solution closest to the two individuals at the same distance is calculated, and the critical block neighborhood is calculated for the solution.
A local neighborhood search that replaces the original solution with the best first solution in the vicinity of the critical block is repeated, and the first solution has a second evaluation value that has the lowest evaluation value in the initial population or the population under processing. If the second solution is better than the first solution, the second solution is replaced by the first solution, and a predetermined number of iterations is reached, or all the individuals in the initial population or in the population of individuals in the process are the same. The job shop scheduling method according to claim 2, wherein the above-described processing is repeated until the individual becomes an individual.
【請求項4】 複数の機械上で定めれた順序で定められ
た時間をかけて処理される複数の仕事が与えられたと
き、全仕事の作業時間の総和が最小に近くなるように作
業の処理順序を決定するジョブショップスケジューリン
グ装置において、 遺伝的アルゴリズムで用いる個体の集合である個体集団
の初期値を生成する初期個体集団生成手段と、 前記初期個体集団生成手段により生成された初期個体集
団、あるいは、処理途中の個体集団より優秀な個体が選
択されやすいようにバイアスをかけて2個体を選択する
2個体選択手段と、 前記初期個体集団あるいは、前記処理途中の個体集団か
ら選択された前記2個体に対して多段階交叉を適用し、
新たな個体を生成する多段階交叉手段と、 前記初期個体集団生成手段で生成された個体及び前記多
段階交叉手段において生成された個体に対して、クリテ
ィカルブロック近傍を計算し、クリティカルブロック近
傍中最も優れた個体で元の個体を置き換える局所近傍探
索手段と、 前記局所近傍探索手段で得た個体を前記初期個体集団あ
るいは、前記処理途中の個体集団の最も劣った個体より
優れている場合に、前記局所近傍探索手段で得た個体で
最も劣った個体と置き換える個体集団更新手段とを有す
ることを特徴とするジョブショップスケジューリング装
置。
4. When a plurality of jobs to be processed over a predetermined time in a predetermined order on a plurality of machines are given, the sum of the work times of all the jobs is close to a minimum. In a job shop scheduling device that determines a processing order, an initial individual population generation unit that generates an initial value of an individual population that is a set of individuals used in a genetic algorithm, an initial individual population generated by the initial individual population generation unit, Alternatively, a two-individual selection unit that selects two individuals by biasing them so that superior individuals can be selected more easily than an in-process individual population; and the two individuals selected from the initial individual population or the in-process individual population. Applying multi-stage crossover to individuals,
A multi-stage crossing means for generating a new individual, an individual generated by the initial individual population generation means, and an individual generated by the multi-stage crossing means, calculate a critical block neighborhood, A local neighborhood search means for replacing the original individual with a superior individual, and the individual obtained by the local neighborhood search means is superior to the inferior individual of the initial population or the population in the process, A job shop scheduling apparatus comprising: an individual group updating unit that replaces an individual obtained by the local neighborhood searching unit with the worst individual.
【請求項5】 前記多段階交叉手段は、 前記2個体に対してスケジュール上の作業の部分列であ
る最長経路を計算し、該最長経路を同一機械で連続して
処理される作業の集まりであるクリティカルブロックの
先頭あるいは最後に移動させることによって新たに得ら
れるスケジュール全体からなる集合であるクリティカル
ブロック近傍を計算し、一方の個体のクリティカルブロ
ック近傍中より他方の個体までの距離が最も短い要素を
選び、元の個体と置き換える操作を前記2個体に関して
交互に繰り返すことによって、解空間上の2個体を結ぶ
パスを生成し、該パス上の解のうち、最初に与えられた
前記2個体よりも優れた要素を、そうでない場合には、
前記2個体からの距離が最も等距離に近い要素を選択す
る手段を有する請求項4記載のジョブショップスケジュ
ーリング装置。
5. The multi-stage crossing means calculates a longest path which is a subsequence of work on a schedule for the two individuals, and the longest path is a set of works continuously processed by the same machine. By calculating the critical block neighborhood, which is a set consisting of the entire schedule newly obtained by moving to the beginning or the end of a certain critical block, the element with the shortest distance from the critical block neighborhood of one individual to the other individual is calculated. By repeating the operation of selecting and replacing the original individual with respect to the two individuals, a path connecting the two individuals in the solution space is generated, and among the solutions on the path, the two individuals first given A good element, otherwise
The job shop scheduling apparatus according to claim 4, further comprising means for selecting an element whose distance from the two individuals is closest to each other.
【請求項6】 予め定めた繰り返し回数に達するか、前
記初期個体集団あるいは、処理途中の個体の集合中の全
個体全て同一の個体になったかという終了条件を定め、
該終了条件が満足されない場合には、前記多段階交叉手
段、前記局所近傍探索手段、前記個体集団更新手段の各
手段を繰り返す制御手段を含む請求項4記載のジョブシ
ョップスケジューリング装置。
6. An end condition is determined whether a predetermined number of repetitions is reached, or all the individuals in the initial population of individuals or a set of individuals in the process of processing are the same individuals,
5. The job shop scheduling apparatus according to claim 4, further comprising control means for repeating each of the multistage crossing means, the local neighborhood searching means, and the individual group updating means when the ending condition is not satisfied.
JP12276295A 1995-05-22 1995-05-22 Method and device for scheduling job shop Pending JPH08315028A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12276295A JPH08315028A (en) 1995-05-22 1995-05-22 Method and device for scheduling job shop

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12276295A JPH08315028A (en) 1995-05-22 1995-05-22 Method and device for scheduling job shop

Publications (1)

Publication Number Publication Date
JPH08315028A true JPH08315028A (en) 1996-11-29

Family

ID=14843993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12276295A Pending JPH08315028A (en) 1995-05-22 1995-05-22 Method and device for scheduling job shop

Country Status (1)

Country Link
JP (1) JPH08315028A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0973109A1 (en) * 1998-07-15 2000-01-19 STMicroelectronics S.r.l. Method for automatically sequencing the processing of work batches of a manufacturing department
US7926057B2 (en) 2005-12-15 2011-04-12 International Business Machines Corporation Scheduling of computer jobs employing dynamically determined top job party
CN104081352A (en) * 2011-12-30 2014-10-01 生物梅里埃公司 Job scheduler for electromechanical system for biological analyses
CN106875094A (en) * 2017-01-11 2017-06-20 陕西科技大学 A kind of multiple target Job-Shop method based on polychromatic sets genetic algorithm
CN110796297A (en) * 2019-10-21 2020-02-14 浙江大学 Electric power system structure optimization method based on balance degree variance and reliability
CN111966049A (en) * 2020-06-22 2020-11-20 同济大学 Scheduling control method for production equipment of mixed flow shop

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0973109A1 (en) * 1998-07-15 2000-01-19 STMicroelectronics S.r.l. Method for automatically sequencing the processing of work batches of a manufacturing department
US7926057B2 (en) 2005-12-15 2011-04-12 International Business Machines Corporation Scheduling of computer jobs employing dynamically determined top job party
CN104081352A (en) * 2011-12-30 2014-10-01 生物梅里埃公司 Job scheduler for electromechanical system for biological analyses
JP2015510107A (en) * 2011-12-30 2015-04-02 ビオメリューBiomerieux Job scheduler for electromechanical systems for biological analysis
CN104081352B (en) * 2011-12-30 2017-09-22 生物梅里埃公司 Job schedule for the Mechatronic Systems of biological analysis
CN106875094A (en) * 2017-01-11 2017-06-20 陕西科技大学 A kind of multiple target Job-Shop method based on polychromatic sets genetic algorithm
CN110796297A (en) * 2019-10-21 2020-02-14 浙江大学 Electric power system structure optimization method based on balance degree variance and reliability
CN111966049A (en) * 2020-06-22 2020-11-20 同济大学 Scheduling control method for production equipment of mixed flow shop
CN111966049B (en) * 2020-06-22 2023-08-29 同济大学 Scheduling control method for production equipment of mixed flow shop

Similar Documents

Publication Publication Date Title
Murata et al. Genetic algorithms for flowshop scheduling problems
Kissinger et al. CNOT circuit extraction for topologically-constrained quantum memories
França et al. Evolutionary algorithms for scheduling a flowshop manufacturing cell with sequence dependent family setups
Jungwattanakit et al. A comparison of scheduling algorithms for flexible flow shop problems with unrelated parallel machines, setup times, and dual criteria
KR20010013606A (en) Method and apparatus for automatically generating schedules for wafer processing within a multichamber semiconductor wafer processing tool
JP2002032714A (en) Method for document image decoding using integrated probabilistic language model
JP7197789B2 (en) Optimization device and control method for optimization device
EP0369699A2 (en) Updating pattern-matching networks
Ak et al. A guide for genetic algorithm based on parallel machine scheduling and flexible job-shop scheduling
Möbius et al. Combinatorial optimization by iterative partial transcription
JPH09282359A (en) Job-shop scheduling device
JPH08315028A (en) Method and device for scheduling job shop
JP2000057123A (en) Method and device for searching state of sequential circuit, and recording medium having recorded state search program thereon
JP2007233554A (en) Search method of high-speed pattern matching device
Montepiedra Application of genetic algorithms to the construction of exact D-optimal designs
JPH08249190A (en) Method for generation of solution to sequencing problem
JPH05225203A (en) System for resolving job shop scheduling problem
US7107586B2 (en) Intermediate object linking method and unit
CN107808214B (en) Heuristic binary decision diagram variable order optimization representation method of workshop manufacturing system
WO2009147794A1 (en) Finite automaton generating system
Ahmed et al. Application of an Efficient Genetic Algorithm for Solving n× 𝒎𝒎 Flow Shop Scheduling Problem Comparing it with Branch and Bound Algorithm and Tabu Search Algorithm
Nguyen et al. Optimize coding and node selection for coded distributed computing over wireless edge networks
Gallo et al. A note on minimum makespan assembly plans
Koo et al. An improved VQ codebook design algorithm for HMM
Liang et al. A sparse matrix representation for production scheduling using genetic algorithms