JPH05225203A - System for resolving job shop scheduling problem - Google Patents
System for resolving job shop scheduling problemInfo
- Publication number
- JPH05225203A JPH05225203A JP2922092A JP2922092A JPH05225203A JP H05225203 A JPH05225203 A JP H05225203A JP 2922092 A JP2922092 A JP 2922092A JP 2922092 A JP2922092 A JP 2922092A JP H05225203 A JPH05225203 A JP H05225203A
- Authority
- JP
- Japan
- Prior art keywords
- work
- individual
- schedule
- individuals
- processing
- 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
Links
- 238000011156 evaluation Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 abstract description 24
- 230000002068 genetic effect Effects 0.000 abstract description 14
- 230000035772 mutation Effects 0.000 description 8
- 238000003754 machining Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、工場などのファクトリ
ーオートメーションにおいて、作業終了までの時間をな
るべく小さくすることにより全作業の効率化を計ること
を可能にするジョブショップスケジューリング問題解決
方式に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a job shop scheduling problem solving method capable of improving the efficiency of all work in factory automation such as a factory by reducing the time until the end of work as much as possible. is there.
【0002】[0002]
【従来の技術】問題の準最適解を求める方法に、遺伝ア
ルゴリズムと呼ばれる方法がある。この遺伝アルゴリズ
ムについては、例えば文献「Genetic Algorithms in
Search,Optimization and Machine Learning」(D
avid E.Goldberg,AddisonWesley)に詳述されて
いるが、その概要を以下に説明する。2. Description of the Related Art There is a method called a genetic algorithm as a method for obtaining a suboptimal solution of a problem. Regarding this genetic algorithm, for example, the document “Genetic Algorithms in
Search, Optimization and Machine Learning "(D
avid E. Goldberg, Addison Wesley), an overview of which is provided below.
【0003】遺伝アルゴリズムでは、入力値としてL次
元ベクトルV=(V1,V2,VL)の集合Pが与えられ
る。Pの各元は、与えられた問題の解を表現している。
Pの元の個数をpとする。各元を個体、Pを個体群と呼
ぶ。遺伝アルゴリズムは以下の手続きを1サイクルとす
る繰り返し処理である。 (1) Pをランダムに生成した個体の集合として構成す
る。これを初期個体群と呼ぶ。 (2) Pの各元の解の良さを、与えられた評価尺度にした
がって評価し、その結果を評価値として表す。 (3) (2)で求めた評価値にしたがって、評価の低い個体
を減らし、その分評価の良い個体を増す、その結果、評
価の良い個体ほど個体群Pに占める割合が高くなる。こ
の操作を「淘汰」と呼ぶ。 〈淘汰の方法(一例)〉 1.Pの各個体の評価値を計算する。 2.Pの各個体の評価値の悪い順に一列に並べる。そし
て、評価値がn番目に悪い個体(Vnとする)に得点En
=(n−1)を与える。 3.次の世代に占める個体Vnの個数の割合がEnとなる
ように個体群を作り出す。 (4) Pの元を二つずつペアにし、ペアにした2個体をも
とに新たに二つの個体を生成する。この操作を「交叉」
と呼ぶ。上述の文献には、ペアにした個体同士のベクト
ルの一部を互いに交換することによって新しい個体を得
る交叉方法(単純交叉法と仮に名付ける)が詳細に説明
されている。本発明で扱うジョブショップスケジューリ
ング問題のように複雑な制約を持つ問題の場合は、単純
交叉法は適用できない。In the genetic algorithm, a set P of L-dimensional vectors V = (V 1 , V 2 , VL ) is given as an input value. Each element of P represents a solution to a given problem.
Let p be the original number of P. Each element is called an individual, and P is called an individual group. The genetic algorithm is an iterative process with the following procedure as one cycle. (1) Construct P as a set of randomly generated individuals. This is called the initial population. (2) The goodness of each original solution of P is evaluated according to a given evaluation scale, and the result is expressed as an evaluation value. (3) In accordance with the evaluation value obtained in (2), the number of individuals with low evaluation is reduced, and the number of individuals with good evaluation is increased, and as a result, the proportion of individuals with better evaluation is higher in the population P. This operation is called "selection". <Method of selection (one example)> The evaluation value of each individual P is calculated. 2. The individual evaluation items of P are arranged in a line in the order of poor evaluation value. Then, the score E n is assigned to the individual with the worst evaluation value ( denoted as V n ).
= (N-1) is given. 3. A group of individuals is created so that the ratio of the number of individuals V n to the next generation is E n . (4) Pair two elements of P, and generate two new individuals based on the paired two individuals. This operation is "crossover"
Call. The above-mentioned document describes in detail a crossover method (provisionally named as simple crossover method) for obtaining a new individual by exchanging a part of vectors of paired individuals. The simple crossover method cannot be applied to problems with complicated constraints such as the job shop scheduling problem handled in the present invention.
【0004】(5) 低い確率でPの個体をいくつか選び、
その個体を少し変更する。この操作を「突然変異」と呼
ぶ。突然変異は、例えば、各個体のベクトルの成分から
ランダムに二つ選んで、その成分同士を互いに交換する
という方法が知られている(単純突然変異法と仮に名付
ける)。本発明で扱うジョブショップスケジューリング
問題のように複雑な制約を持つ問題の場合は、単純突然
変異法は適用できない。以上の処理を繰り返すことによ
って、個体群Pの各個体は与えられた問題の準最適解に
達する。(5) Select some individuals of P with low probability,
Change the individual a little. This operation is called "mutation". For mutation, for example, a method is known in which two components are randomly selected from the components of the vector of each individual and the components are exchanged with each other (tentatively named simple mutation method). The simple mutation method cannot be applied to problems with complex constraints such as the job shop scheduling problem handled in the present invention. By repeating the above processing, each individual of the individual group P reaches the suboptimal solution of the given problem.
【0005】ジョブショップスケジューリング問題と
は、N個の仕事を、M台の機械で加工する問題である。
この時、 1.各仕事を加工する機械の順番(技術的順序) 2.各仕事の各機械上での加工時間の2つがあらかじめ
与えられている。また、 1.機械は故障しない 2.各機械は同時に2つ以上の仕事を処理できない 3.作業の中断はない などの条件をつける。この条件のもとで、全仕事を加工
し終るまでの総所要時間を最小にする解を求める。これ
がジョブショップスケジューリング問題の最適解を求め
ることである。The job shop scheduling problem is a problem in which N jobs are processed by M machines.
At this time, 1. Order of machines that process each work (technical order) 1. Two of the processing times on each machine for each job are given in advance. Also, 1. Machine does not break down 2. 2. Each machine cannot handle more than one job at the same time. Add conditions such as no interruption of work. Under this condition, a solution that minimizes the total time required to finish processing all jobs is obtained. This is to find the optimal solution for the job shop scheduling problem.
【0006】ジョブショップスケジューリング問題解決
法の従来方法としては、Giffler& Thompsonのアクテ
ィブスケジュール生成法(以下、GT法と略す)と呼ば
れる方法が知られており、例えば、文献「スケジューリ
ング問題」(鍋島一郎著、森北出版株式会社)に記述さ
れている。以下、その概要を説明する。As a conventional method for solving the job shop scheduling problem, a method called Giffler &Thompson's active schedule generation method (hereinafter abbreviated as GT method) is known. For example, the document "Scheduling Problem" (written by Ichiro Nabeshima) , Morikita Publishing Co., Ltd.). The outline will be described below.
【0007】今、仕事と機械にそれぞれ1,…,N及び
1,…Mまでの番号がついているとする。仕事と機械の
組を作業と呼ぶ。作業(i,j)とは、番号がiである
仕事をj番目に加工する機械上での処理を指す。GT
法、は次のような一連の処理である。 (1) 未スケジュールの作業のうち、技術的順序が最初の
作業全体(Cut)をはじめ次のように定義する。 Cut={(1,1),(2,1),…,(N,1)} (2) Cutの各要素に対し、最早完了時刻(EC)を求め
る。ECの初期値は EC(i,j)=(i,j)(∈Cut)の加工時間で与
えられる。 (3) Cutの元のうち、最も最早完了時間時刻の早い、作
業(i0,j0)を求める。 EC(i0,j0)=min{EC(i,j)|(i,j)
(∈Cut)} (4) Cutの元のうち、作業(i0,j0)と同一機械上で
処理され、加工時間が重複するもの全体Gcを求める。
このGcをコンフリクト集合と呼ぶことにする。 (5) Gcの中から一つ作業を選び、作業(ic,jc)と
する。 (6) 作業(ic,jc)を時刻EC(ic,jc)に加工す
る。このようにして、途中までスケジュールされたもの
を部分スケジュールと呼ぶ。 (7) Cutの元から作業(ic,jc)を取り除き、代わり
に技術的順序が作業(ic,jc)の次である作業
(ic,jc+1)を加え、Cutを更新する。但し、(i
c,jc)が技術的順序最後の作業である場合は何も加え
ない。 (8) Cutの元に対し、作業(ic,jc)と同一機械上で
加工される作業(i,j)について最早完了時刻(E
C')を次のように定義する。It is assumed that jobs and machines are numbered 1, ..., N and 1, ... M, respectively. A set of work and machine is called work. The work (i, j) refers to a process on the machine that processes the work whose number is i at the j-th position. GT
Law is a series of processes as follows. (1) Of unscheduled work, the technical sequence defines the first work as a whole (Cut) as follows. Cut = {(1,1), (2,1), ..., (N, 1)} (2) Obtain the earliest completion time (EC) for each element of Cut. The initial value of EC is given by the processing time of EC (i, j) = (i, j) (εCut). (3) Among the elements of Cut, the work (i 0 , j 0 ) having the earliest completion time is obtained. EC (i 0 , j 0 ) = min {EC (i, j) | (i, j)
(ΕCut)} (4) Of the elements of Cut, the whole G c that is processed on the same machine as the work (i 0 , j 0 ) and has overlapping processing time is obtained.
This G c will be called a conflict set. (5) Select one work from G c , and set it as work (i c , j c ). (6) processing operations (i c, j c) the time EC (i c, j c) to. A schedule partially scheduled in this way is called a partial schedule. (7) Working from Cut the original (i c, j c) removing the work is technically sequence instead (i c, j c) following a is task (i c, j c +1) of was added and the Cut Update. However, (i
If c , j c ) is the last work in the technical sequence, add nothing. (8) to Cut the original work (i c, j c) work to be processed by the same machine on the (i, j) earliest completion time for (E
C ') is defined as follows.
【0008】EC'=max{EC(i,j),EC(ic,j
c)+((ic,jc)の加工時間)} (9) 作業(ic,jc+1)についてはEC'を次のよう
に定義する。ただし、MLC=(ic,jc+1)を処理
する機械が、スケジュール済みの最後の作業を終えた時
刻とする。 EC'(作業(ic,jc+1))=max{MLC,EC(作
業(ic,jc))+(作業(ic,jc)の加工時間)} (10) EC=EC'として(3)へ戻る。 上記(3)〜(9)を作業の数だけ繰り返すことによって、一
つのスケジュールが得られる。これがアクティブスケジ
ュールと呼ばれるものである。ここで、(5)のGcにお
いて全ての組合せを考えることによって、全てのアクテ
ィブスケジュールが得られるが、その数は膨大である。EC '= max {EC (i, j), EC ( ic , j
c ) + ((i c , j c ) processing time)} (9) For work (i c , j c +1), EC ′ is defined as follows. However, it is assumed that the machine that processes MLC = (i c , j c +1) finishes the last scheduled work. EC '(work (i c , j c +1)) = max {MLC, EC (work (i c , j c )) + (machining time of work (i c , j c ))} (10) EC = EC Return to (3) as'. One schedule can be obtained by repeating the above (3) to (9) for the number of operations. This is called an active schedule. Here, by considering all combinations in G c of (5), all active schedules can be obtained, but the number thereof is enormous.
【0009】[0009]
【発明が解決しようとする課題】ジョブショップスケジ
ューリング問題解決法の従来方法では、分枝限定法など
による解法が研究されているが、大規模な問題に対して
は組合せは爆発を起こすため、最適解もしくは最適解に
近い良質な解を有効な時間内に求めることができない問
題があった。As a conventional method for solving the job shop scheduling problem, a solution method such as a branch and bound method has been studied. However, since the combination causes an explosion for a large-scale problem, it is optimal. There was a problem that a good solution close to the solution or the optimum solution could not be obtained within an effective time.
【0010】本発明の目的は、複雑な制約を持つ大規模
なジョブショップスケジューリング問題の準最適解を、
組合せ爆発を起こすことなく高速に求めることにある。An object of the present invention is to obtain a suboptimal solution of a large-scale job shop scheduling problem having complicated constraints,
It is to seek at high speed without causing a combination explosion.
【0011】[0011]
【課題を解決するための手段】上記目的を達成するため
に、本発明のジョブショップスケジューリング問題解決
方式では、解を各機械上での各仕事の処理である作業の
終了時刻のリストを内部状態に持つ個体で表現して、ラ
ンダムに初期個体群を生成する手段と、初期個体群ある
いは処理途中の個体群の各個体を二つずつペアにして選
び、それを元に部分スケジュールを生成し、該部分スケ
ジュールに対して次にスケジュールすべき作業の候補の
集合を決定し、この候補の集合から先に選ばれた二個体
の情報に基づいて次にスケジュールすべき作業を決定す
る操作を、スケジュールが完了するまで続けて、新たな
二つの個体を出力する手段と、前記初期個体群あるいは
出力された個体群を評価値に基づいて淘汰して準最適解
を得る手段とを有することを特徴とする。In order to achieve the above object, in the job shop scheduling problem solving method of the present invention, a solution is a process of each job on each machine, and a list of work end times is stored in the internal state. Expressed by the individual possessed by, the means for randomly generating the initial population and each individual in the initial population or the population in the process of processing are selected in pairs, and the partial schedule is generated based on that. For the partial schedule, a set of work candidates to be scheduled next is determined, and an operation of determining the work to be scheduled next based on the information of the two individuals previously selected from the set of candidates is scheduled. Continuously, until the completion of the above, there is a means for outputting two new individuals and a means for selecting the initial population or the output population based on the evaluation value to obtain a suboptimal solution. And wherein the Rukoto.
【0012】[0012]
【作用】本発明のジョブショップスケジューリング問題
解決方式は、解である個体を、各作業の処理終了時刻の
組からなるベクトルで表す。初期個体群はGT法により
ランダムに生成した個体の集合として構成する。そし
て、個体群の各個体を二つずつペアにし、この二個体を
スケジュール計算部へ入力し、スケジュール計算部から
の出力として新たな二つのスケジュールを得る。このよ
うにして、遺伝アルゴリズムの交叉処理が実現され、ジ
ョブショップスケジューリング問題への遺伝アルゴリズ
ムの適用が可能になる。According to the job shop scheduling problem solving method of the present invention, an individual solution is represented by a vector consisting of a set of processing end times of respective works. The initial population is constructed as a set of individuals randomly generated by the GT method. Then, each individual in the individual group is paired in pairs, these two individuals are input to the schedule calculation unit, and two new schedules are obtained as outputs from the schedule calculation unit. In this way, the crossover processing of the genetic algorithm is realized, and the genetic algorithm can be applied to the job shop scheduling problem.
【0013】スケジュール計算部での処理は次のようで
ある。但しスケジュール計算部への入力となる二つの個
体をmom,dadとする。 1.まずGT法に基づきコンフリクト集合を生成する。 2.次にコンフリクト集合から次に処理する作業を以下
のようにして選ぶ。 (a) 0〜1の乱数を発生させ、この乱数があらかじめ
定められたパラメータ(突然変異比と呼ぶ)より小さけ
れば、次に処理する作業はコンフリクト集合から任意に
一つ選ぶ。 (b) そうでない時は、まず確率1/2でmom,da
dのうち一方を選ぶ。今momが選ばれたとする。mo
mでの対応する成分を調べ、一番小さいものを求める。
これを次に処理する作業とする。dadが選ばれた場合
も同様にする。 3.これをスケジュールが完了するまで繰り返す。The processing in the schedule calculation section is as follows. However, the two individuals that are input to the schedule calculation unit are mom and dad. 1. First, a conflict set is generated based on the GT method. 2. Next, the work to be processed next is selected from the conflict set as follows. (A) If a random number of 0 to 1 is generated, and this random number is smaller than a predetermined parameter (called a mutation ratio), the work to be processed next is arbitrarily selected from the conflict set. (B) If not, first, with probability 1/2, mom, da
Select one of d. Suppose mom is selected now. mo
Find the corresponding component in m and find the smallest one.
This is the work to be processed next. The same applies when dad is selected. 3. This is repeated until the schedule is completed.
【0014】上記1〜3を二度繰り返すことにより、二
つのスケジュールを得る。なお、上スケジュール計算部
の処理における(a)は、突然変異に相当する。By repeating the above 1 to 2 twice, two schedules are obtained. Note that (a) in the processing of the upper schedule calculation unit corresponds to mutation.
【0015】[0015]
【実施例】以下、図面をもちいて本発明の一実施例を説
明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.
【0016】図1は本発明の一実施例の構成図を示す。
図1において、1は問題データ及び遺伝アルゴリズムの
パラメータを入力する入力部、2は初期個体群を構成す
るランダムスケジュールを生成する初期個体群生成部、
3は元になる二つのスケジュールから新たなスケジュー
ルを生成するスケジュール計算部、4は個体群の各個体
を二つずつペアにし、スケジュール計算部3へ入力し、
スケジュール計算部3から新たな二つのスケジュールを
新たな各個体として受けとる交叉処理部、5は淘汰を実
行する淘汰処理部、6は問題データ、遺伝アルゴリズム
のパラメータ、及び、処理途中や最終結果の個体群を格
納するメモリ、7はこれら各部の動作を制御する制御部
である。FIG. 1 shows a block diagram of an embodiment of the present invention.
In FIG. 1, 1 is an input unit for inputting problem data and parameters of a genetic algorithm, 2 is an initial population generation unit for generating a random schedule constituting an initial population,
3 is a schedule calculation unit that generates a new schedule from the two original schedules, 4 is a pair of each individual in the population, and is input to the schedule calculation unit 3.
A crossover processing unit that receives two new schedules from the schedule calculation unit 3 as each new individual, 5 is a selection processing unit that executes selection, 6 is problem data, parameters of a genetic algorithm, and individuals in the middle of processing and final results A memory for storing groups, and a control unit 7 for controlling the operation of each of these units.
【0017】図2に、図1の全体的な処理フローチャー
トを示す。FIG. 2 shows an overall processing flowchart of FIG.
【0018】まず、入力部1よりに問題データである仕
事数N、機械数M、各作業の技術的順序、処理時間、ま
た、遺伝アルゴリズムのパラメータである個体数P、突
然変異率Mr、全処理の終了条件が入力され、メモリ6
に格納される(ステップ11)。全処理の終了条件は、
「一連の処理の繰り返し回数がLoop回に達するか、個
体群中の個体のConvパーセントが同一の個体になった
ら終了する」という形で与えられる。First, the number of jobs N, the number of machines M, the technical order of each work, the processing time, the number of individuals P, which is a parameter of the genetic algorithm, the mutation rate Mr, all the problem data from the input unit 1. The end condition of the process is input, and the memory 6
(Step 11). The end condition of all processing is
It is given in the form of "end when the number of repetitions of a series of processing reaches Loop times or the Conv percentage of individuals in the population becomes the same individual".
【0019】次に、初期個体群生成部2がP個のランダ
ムな個体群(ランダムスケジュール群)を生成する(ス
テップ12)。これは、初期個体群生成部2が後述のス
ケジュール計算部3をサブルーチンとして呼び、スケジ
ュール計算部3が生成したスケジュールと、それぞれの
評価値を受けることで行う。この時、初期個体群生成部
2はスケジュール計算部3に、入力として、何も値の入
っていない、空のスケジュールの対を与える。生成され
た初期個体群はメモリ6に格納する。Next, the initial population generation unit 2 generates P random populations (random schedule group) (step 12). This is performed by the initial population generation unit 2 calling the schedule calculation unit 3 described later as a subroutine, and receiving the schedules generated by the schedule calculation unit 3 and the respective evaluation values. At this time, the initial population generation unit 2 provides the schedule calculation unit 3 with an empty schedule pair having no value as an input. The generated initial population is stored in the memory 6.
【0020】次に、淘汰処理部5が、評価値をもとに淘
汰を実行し、その結果、新しい個体群を得て、メモリ6
に格納する(ステップ13)。淘汰の方法は従来と同じ
で良い。Next, the selection processing unit 5 executes selection based on the evaluation value, as a result, obtains a new population, and the memory 6
(Step 13). The selection method may be the same as the conventional method.
【0021】淘汰処理部5による淘汰の結果、終了条件
を満足していたならば(ステップ14でYES)、メモリ
6上の個体群を出力して全ての処理を終了する。As a result of selection by the selection processing unit 5, if the termination condition is satisfied (YES in step 14), the population on the memory 6 is output and all the processing is terminated.
【0022】一方、終了条件を満足しない場合(ステッ
プ14でNO)、次に、交叉処理部4が、メモリ6上の個
体群の各個体を二つずつペアにし、このペアをスケジュ
ール計算部15に入力として与え、スケジュール計算部
15から出力として新しい個体を受けとる(ステップ1
5)。この処理を各ペアに対して2回繰り返し、結果と
して各ペア当たり、新しい個体と、その評価値を各二つ
得る。そして、入力として与えた二つの個体と合わせた
四個体のうち、評価値の良いもの上位二つを、評価値と
共に新たにメモリ6に格納する。この処理を個体群の全
ての個体のペアに対して繰り返す。その後、淘汰処理部
13の処理に戻る。On the other hand, if the end condition is not satisfied (NO in step 14), then the crossover processing unit 4 makes a pair of each individual of the individual group on the memory 6, and the schedule calculation unit 15 makes this pair. To the schedule calculation section 15 as an output and receive a new individual as an output (step 1
5). This process is repeated twice for each pair, and as a result, a new individual and two evaluation values are obtained for each pair. Then, of the four individuals combined with the two individuals given as inputs, the top two having the highest evaluation value are newly stored in the memory 6 together with the evaluation value. This process is repeated for all pairs of individuals in the population. Then, the process returns to the selection processing unit 13.
【0023】図3はスケジュール計算部3の処理フロー
チャートである。ここで、入力スケジュール格納部2
6、コンフリクト集合格納部27及び部分スケジュール
格納部28はメモリ6上に用意される。FIG. 3 is a processing flowchart of the schedule calculation unit 3. Here, the input schedule storage unit 2
6, the conflict set storage unit 27 and the partial schedule storage unit 28 are prepared on the memory 6.
【0024】スケジュール計算部3は、まず、初期個体
群生成部2、交叉処理部4から二つの個体(スケジュー
ル)を入力として受けとる(ステップ21)。この入力
された二つの個体を、ここではmom,dadとする。
入力された個体(スケジュール)は入力スケジュール格
納部26に格納する。次に、GT法により、コンフリク
ト集合を求め、コンフリクト集合格納部27に格納する
(ステップ22)。次に、このコンフリクト集合の中か
ら次に処理する作業を、以下のようにして選ぶ(ステッ
プ23)。 Case1;mom,dadが空の場合は、次に処理する作
業はコンフリクト集合のの中から任意に選ぶ。 Case2;0〜1の乱数を発生させ、それをrとする。r
<Mrの場合は、次に処理する作業はコンフリクト集合
の中から任意に選ぶ。 Case3;上記以外の場合、まず確率1/2でmom,d
adを選ぶ。momが選ばれたとすると、コンフリクト
集合の全作業中momでの作業終了時刻が最も早いもの
を求め、その作業を次に処理する作業とする。dadが
選ばれた場合も同様である。 図4は、この次作業選出の処理の様子を示したものであ
る。この処理で選ばれた作業の処理終了時刻を、部分ス
ケジュール格納部28に格納する。上記ステップ22,
23の処理をスケジュールが完了するまで繰り返す(ス
テップ24でNO)。スケジュールが完了すると(ステッ
プ24でYES)、このスケジュールと、総作業時間とし
てスケジュールの成分の最大値を出力する(ステップ2
5)。The schedule calculation unit 3 first receives two individuals (schedule) as inputs from the initial population generation unit 2 and the crossover processing unit 4 (step 21). The two input individuals are assumed to be mom and dad here.
The input individual (schedule) is stored in the input schedule storage unit 26. Next, the conflict set is obtained by the GT method and stored in the conflict set storage unit 27 (step 22). Next, the work to be processed next is selected from this conflict set as follows (step 23). When Case1; mom and dad are empty, the work to be processed next is arbitrarily selected from the conflict set. Case2; A random number of 0 to 1 is generated, and it is set as r. r
If <Mr, the work to be processed next is arbitrarily selected from the conflict set. Case3: In the cases other than the above, first, with a probability of 1/2, mom, d
Select ad. If mom is selected, the one with the earliest work end time in mom among all work of the conflict set is obtained, and that work is processed next. The same applies when dad is selected. FIG. 4 shows the state of the process for selecting the next work. The processing end time of the work selected in this processing is stored in the partial schedule storage unit 28. Step 22, above
The processing of 23 is repeated until the schedule is completed (NO in step 24). When the schedule is completed (YES in step 24), this schedule and the maximum value of the components of the schedule are output as the total work time (step 2).
5).
【0025】以下、実施例の動作を具体例について説明
する。The operation of the embodiment will be described below with reference to a concrete example.
【0026】ここでは、図5に示すような、仕事数4、
機械数4のジョブショップスケジューリング問題を考え
る。Here, as shown in FIG. 5, the number of jobs is 4,
Consider a job shop scheduling problem with four machines.
【0027】まず、図5の問題データと、遺伝アルゴリ
ズムのパラメータである、個体群のサイズ(ここでは4
とする)、突然変異(ここでは0とする)を、入力部1
から入力する。First, the problem data of FIG. 5 and the size of the population (here, 4
Input), mutation (here 0)
Enter from.
【0028】次に、初期個体群生成部2が4つのランダ
ムな個体(ランダムスケジュール)を生成する。生成さ
れた4個体のうち、例として2個体のデータ構造を図6
に示す。この2個体をmom,dadとする。図6の例
の場合、mom,dadの評価値はそれぞれ24,24
である。Next, the initial population generation unit 2 generates four random individuals (random schedule). Of the four generated individuals, as an example, the data structure of two individuals is shown in FIG.
Shown in. These two individuals are designated as mom and dad. In the case of the example in FIG. 6, the evaluation values of mom and dad are 24 and 24, respectively.
Is.
【0029】次に、淘汰処理部5が個体群を淘汰する。
淘汰処理部5の詳細は従来の手法なと同様であるので省
略する。ここでは、図6の2個体が淘汰後の個体群に残
っているものとする。Next, the selection processing unit 5 selects the population.
The details of the selection processing unit 5 are the same as those of the conventional method, and therefore will be omitted. Here, it is assumed that the two individuals in FIG. 6 remain in the population after selection.
【0030】次に、交叉処理部4が個体群の各個体を二
つずつペアにする。ここでは図5の2個体mom,da
dがペアになったとする。交叉処理部4はスケジュール
計算部3にmom,dadを入力として渡す。その結
果、スケジュール計算部3のスケジューリング処理が開
始する。Next, the crossover processing unit 4 pairs two individuals of each individual group. Here, the two individuals mom and da in FIG.
Suppose d is paired. The crossover processing unit 4 passes mom and dad to the schedule calculation unit 3 as inputs. As a result, the scheduling process of the schedule calculation unit 3 starts.
【0031】スケジュール計算部3では、まず、図7の
ように、出力となる新スケジュールを格納するベクトル
配列kid1と、未スケジュールの作業のうち、直ちに処
理可能な作業を格納する配列cutを初期化する。始めは
全くスケジュールされていないため、kid1は空(即
ち、部分スケジュールは空)、cutは各仕事に関する技
術的順序が最初である作業が格納される。cutにおい
て、各作業は(i,j)で表され、仕事iをj番目に処
理する機械上での作業を表す。また、添字の中は最早完
了時刻である。図7の配列cutは、図5の1列目を示し
ている。In the schedule calculation unit 3, first, as shown in FIG. 7, a vector array kid1 for storing a new schedule to be output and an array cut for storing work that can be immediately processed among unscheduled works are initialized. To do. Since no job is scheduled at the beginning, kid1 is empty (that is, the partial schedule is empty), and cut stores the work whose technical order is first with respect to each work. In cut, each work is represented by (i, j), which represents the work on the machine that processes work i at the j-th position. The subscript is the earliest completion time. The array cut in FIG. 7 shows the first column in FIG.
【0032】さて、スケジュール作業がある程度進ん
で、今、10番目の作業をスケジュールしているとす
る。図8に、現在の部分スケジュールの状況と、配列cu
tの状態を示す。Now, let us say that the schedule work has advanced to some extent and the tenth work is now scheduled. Fig. 8 shows the current status of the partial schedule and the array cu.
Indicates the state of t.
【0033】まずコンフリクト集合confを求める。図8
でcut中、最早完了時刻が最も早いものは、(3,3)13
であって、これと同一機械(この例では機械2)で加
工され、加工時間が重複する作業全体が図8に示すconf
である。First, the conflict set conf is obtained. Figure 8
In the cut, the earliest completion time is (3, 3) 13
However, the whole work that is processed by the same machine as this (machine 2 in this example) and the processing time overlaps is shown in FIG.
Is.
【0034】次に処理する作業は以下のように選ぶ。ま
ず、(mom,dad)が空かどうかチェックする。
(mom,dad)に何も格納されていない、即ち、空
の時は、単にconfの中から任意に一つ選ぶ。図8の例で
は(mom,dad)は空でないので、次のようにす
る。The work to be processed next is selected as follows. First, it is checked whether (mom, dad) is empty.
If nothing is stored in (mom, dad), that is, when it is empty, simply select one from conf. In the example of FIG. 8, (mom, dad) is not empty, so the following is performed.
【0035】与えられた確率1/2で(mom,da
d)よりどちらか一つを選ぶ。今、dadが選ばれたと
する。次に、cutの各作業の、dad中の対応する成分
の値を調べる。例えば、作業(1,3)に対してはda
dの(1,3)成分を参照して、9を得る。このように
して得られた値が、図8のconfdadの添字の中の値であ
る。そこで、これらのうち一番値が小さいものを調べ、
対応する作業、図8の例では(1,3)を、その最早完
了時刻14にスケジュールする。この結果、図9に示し
た部分スケジュールを得る。(Mom, da with a given probability of 1/2)
Select one from d). Now suppose that dad was chosen. Next, the value of the corresponding component in dad for each cut operation is examined. For example, da for work (1,3)
9 is obtained by referring to the (1,3) component of d. The value thus obtained is the value in the subscript of conf dad in FIG. So, of these, we investigate the one with the smallest value,
The corresponding work, (1,3) in the example of FIG. 8, is scheduled at its earliest completion time 14. As a result, the partial schedule shown in FIG. 9 is obtained.
【0036】次に、cutを更新する。選ばれた作業
(1,3)と同一機械2で加工される作業(3,3)
(4,4)に関しては、その加工が現在のまま、あるい
は、作業(1,3)の加工終了の直後の、どちらか後の
方になるように最早完了時刻を変更する。また、作業
(1,3)をcutから除き、その代わりに技術的順序が
直後の作業(1,4)を、その加工が(1,3)の加工
の直後、あるいは(1,4)を加工する機械である機械
3でスケジュール済みの最後の作業(3,1)の加工の
直後のうち、どちらか後の方になるように設定する。そ
の結果、図9のcutが得られる。Next, cut is updated. Work to be processed on the same machine 2 as the selected work (1, 3) (3, 3)
As for (4, 4), the earliest completion time is changed so that the machining is the current state or immediately after the machining of the work (1, 3) is finished, whichever comes later. Also, the work (1,3) is removed from the cut, and instead, the work (1,4) whose technical sequence is immediately after is processed immediately after the machining of (1,3) or (1,4). The machine 3 which is a machine to be machined is set to be either one of the machines immediately after the machining of the last scheduled work (3, 1). As a result, the cut shown in FIG. 9 is obtained.
【0037】以上の処理を全作業が終了するまで繰り返
して、最終的に得られたスケジュールが図10のkid1
である。The above process is repeated until all the work is completed, and the finally obtained schedule is kid1 in FIG.
Is.
【0038】更に、上記のスケジューリング処理全体を
再び繰り返すことによって、図11のスケジュールkid
2が得られたとする。Further, by repeating the above scheduling process again, the schedule kid of FIG.
Assume that 2 is obtained.
【0039】交叉処理部4は、スケジュール計算部3か
らの出力として、図10と図11の2個体kid1,kid2
を受けとり、図6のmom,dad、このkid2,kid2
を淘汰処理部5に渡す。mom,dad,kid1,kid2
の評価値=総作業時間は、この順に、24,24,2
2,27であり、淘汰の結果、この4個体のうち、総作
業時間が小さい順に上位2つが次世代に生き残る。例え
ば、今の場合、kid1,momが新たな個体群の構成要
素としてメモリ6に格納され、処理は再び交叉処理部4
へ進む。The crossover processing unit 4 outputs the two individuals kid1 and kid2 shown in FIGS. 10 and 11 as the output from the schedule calculation unit 3.
I received it, mom, dad, this kid2, kid2 in FIG.
Is passed to the selection processing unit 5. mom, dad, kid1, kid2
Evaluation value = total working time is 24, 24, 2 in this order.
As a result of selection, the top two of these four individuals survive in the next generation in the order of smaller total work time. For example, in this case, kid1 and mom are stored in the memory 6 as the constituent elements of the new population, and the process is performed again by the crossover processing unit 4.
Go to.
【0040】以上の処理全体をあらかじめ決めておいた
繰り返し回数に達するか、個体群全体が全て同じ個体に
なるまで繰り返す。図12に最終的に得られる解を例と
して示す。The above processing is repeated until a predetermined number of repetitions is reached or the whole group of individuals becomes the same individual. The solution finally obtained is shown in FIG. 12 as an example.
【0041】[0041]
【発明の効果】以上説明したように、本発明によれば、
ジョブショップスケジューリング問題への遺伝アルゴリ
ズムの適用が可能になり、これによって大規模な問題の
良質な解を高速に求めることが可能である。As described above, according to the present invention,
The genetic algorithm can be applied to the job shop scheduling problem, and it is possible to quickly obtain a good solution of a large-scale problem.
【図1】本発明の一実施例の構成図である。FIG. 1 is a configuration diagram of an embodiment of the present invention.
【図2】図1の全体的な処理フローチャートである。FIG. 2 is an overall processing flowchart of FIG.
【図3】図1のスケジュール計算部の処理フローチャー
トである。FIG. 3 is a processing flowchart of a schedule calculation unit in FIG.
【図4】スケジュール計算部における次作業選択処理の
詳細フローチャートである。FIG. 4 is a detailed flowchart of a next work selection process in the schedule calculation unit.
【図5】問題データの一例である。FIG. 5 is an example of problem data.
【図6】二つの個体のデータ構造の一例である。FIG. 6 is an example of a data structure of two individuals.
【図7】部分スケジュールの初期状態である。FIG. 7 shows an initial state of a partial schedule.
【図8】処理途中の部分スケジュールの状態の一例であ
る。FIG. 8 is an example of a state of a partial schedule during processing.
【図9】同じく処理途中の部分スケジュールの状態の一
例である。FIG. 9 is also an example of a state of a partial schedule in the middle of processing.
【図10】最終的に得られた部分スケジュールの状態の
一例である。FIG. 10 is an example of a state of a partial schedule finally obtained.
【図11】同じく最終的に得られた部分スケジュールの
状態の一例である。FIG. 11 is also an example of the state of the finally obtained partial schedule.
【図12】最終的な解の一例である。FIG. 12 is an example of a final solution.
1 入力部 2 初期個体群生成部 3 スケジュール計算部 4 交叉処理部 5 淘汰処理部 6 メモリ 7 制御部 1 input unit 2 initial population generation unit 3 schedule calculation unit 4 crossover processing unit 5 selection processing unit 6 memory 7 control unit
Claims (1)
められた時間をかけて処理される複数の仕事が与えられ
た時、その総作業時間を最小にする問題の準最適解を自
動的に求める方式であって、 解を各機械上での各仕事の処理である作業の終了時刻の
リストを内部状態に持つ個体で表現して、ランダムに初
期個体群を生成する手段と、 初期個体群あるいは処理途中の個体群の各個体を二つず
つペアにして選び、それを元に部分スケジュールを生成
し、該部分スケジュールに対して次にスケジュールすべ
き作業の候補の集合を決定し、この候補の集合から先に
選ばれた二個体の情報に基づいて次にスケジュールすべ
き作業を決定する操作を、スケジュールが完了するまで
続けて、新たな二つの個体を出力する手段と、 前記初期個体群あるいは出力された個体群を評価値に基
づいて淘汰して準最適解を得る手段とを有することを特
徴とするジョブショップスケジューリング問題解決方
式。1. A suboptimal solution of a problem that minimizes the total work time when a plurality of jobs to be processed in a predetermined order and on a plurality of machines for a predetermined time are given. A method for automatically generating a solution, expressing the solution as a list of work end times, which is the processing of each work on each machine, in an internal state, and randomly generating an initial population, Select each pair of individuals from the initial population or the population in the process of processing, select a partial schedule based on the pair, and determine the set of candidates for work to be scheduled next for the partial schedule. , Means for continuously determining the work to be scheduled next based on the information of the two individuals previously selected from the set of candidates until the schedule is completed, and outputting two new individuals, The initial population or And a means for obtaining a sub-optimal solution by selecting the output population based on the evaluation value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2922092A JPH05225203A (en) | 1992-02-17 | 1992-02-17 | System for resolving job shop scheduling problem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2922092A JPH05225203A (en) | 1992-02-17 | 1992-02-17 | System for resolving job shop scheduling problem |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05225203A true JPH05225203A (en) | 1993-09-03 |
Family
ID=12270126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2922092A Pending JPH05225203A (en) | 1992-02-17 | 1992-02-17 | System for resolving job shop scheduling problem |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05225203A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099311B2 (en) * | 2007-02-23 | 2012-01-17 | CrowdEngineering, Inc. | System and method for routing tasks to a user in a workforce |
JP2018018270A (en) * | 2016-07-27 | 2018-02-01 | 株式会社東芝 | Production schedule preparation system and production schedule preparation method |
KR101984460B1 (en) * | 2019-04-08 | 2019-05-30 | 부산대학교 산학협력단 | Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches |
CN109886588A (en) * | 2019-02-28 | 2019-06-14 | 长安大学 | A method of flexible job shop scheduling is solved based on whale algorithm is improved |
CN109886589A (en) * | 2019-02-28 | 2019-06-14 | 长安大学 | A method of low-carbon Job-Shop is solved based on whale optimization algorithm is improved |
WO2019153429A1 (en) * | 2018-02-07 | 2019-08-15 | 江南大学 | Constrained stable matching strategy-based flexible job-shop scheduling method |
US10496436B2 (en) | 2018-01-30 | 2019-12-03 | Pusan National University Industry-University Cooperation Foundation | Method and apparatus for automatically scheduling jobs in computer numerical control machines using machine learning approaches |
CN111666681A (en) * | 2020-06-03 | 2020-09-15 | 重庆大学 | PBS buffer area vehicle sequencing scheduling method based on improved genetic algorithm |
CN112257296A (en) * | 2020-11-27 | 2021-01-22 | 西南交通大学 | Improved genetic algorithm-based job shop scheduling method with cache constraint |
-
1992
- 1992-02-17 JP JP2922092A patent/JPH05225203A/en active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099311B2 (en) * | 2007-02-23 | 2012-01-17 | CrowdEngineering, Inc. | System and method for routing tasks to a user in a workforce |
JP2018018270A (en) * | 2016-07-27 | 2018-02-01 | 株式会社東芝 | Production schedule preparation system and production schedule preparation method |
US10496436B2 (en) | 2018-01-30 | 2019-12-03 | Pusan National University Industry-University Cooperation Foundation | Method and apparatus for automatically scheduling jobs in computer numerical control machines using machine learning approaches |
WO2019153429A1 (en) * | 2018-02-07 | 2019-08-15 | 江南大学 | Constrained stable matching strategy-based flexible job-shop scheduling method |
CN109886588A (en) * | 2019-02-28 | 2019-06-14 | 长安大学 | A method of flexible job shop scheduling is solved based on whale algorithm is improved |
CN109886589A (en) * | 2019-02-28 | 2019-06-14 | 长安大学 | A method of low-carbon Job-Shop is solved based on whale optimization algorithm is improved |
CN109886588B (en) * | 2019-02-28 | 2024-01-02 | 长安大学 | Method for solving flexible job shop scheduling based on improved whale algorithm |
CN109886589B (en) * | 2019-02-28 | 2024-01-05 | 长安大学 | Method for solving low-carbon workshop scheduling based on improved whale optimization algorithm |
KR101984460B1 (en) * | 2019-04-08 | 2019-05-30 | 부산대학교 산학협력단 | Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches |
CN111666681A (en) * | 2020-06-03 | 2020-09-15 | 重庆大学 | PBS buffer area vehicle sequencing scheduling method based on improved genetic algorithm |
CN111666681B (en) * | 2020-06-03 | 2024-03-22 | 重庆大学 | PBS buffer area vehicle sequencing and scheduling method based on improved genetic algorithm |
CN112257296A (en) * | 2020-11-27 | 2021-01-22 | 西南交通大学 | Improved genetic algorithm-based job shop scheduling method with cache constraint |
CN112257296B (en) * | 2020-11-27 | 2021-06-25 | 西南交通大学 | Improved genetic algorithm-based job shop scheduling method with cache constraint |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2870117B2 (en) | Optimal plan creation method | |
Ghedjati | Genetic algorithms for the job-shop scheduling problem with unrelated parallel constraints: heuristic mixing method machines and precedence | |
JPH05225203A (en) | System for resolving job shop scheduling problem | |
Benderbal et al. | A new robustness index formachines selection in reconfigurable manufacturing system | |
Adamu et al. | A new priority rule for solving project scheduling problems | |
Ben-Arieh et al. | Knowledge based routing and sequencing for discrete part production | |
Keung et al. | The solution of a multi-objective tool selection model using the GA approach | |
Zeestraten | The look ahead dispatching procedure | |
JPH09282359A (en) | Job-shop scheduling device | |
Jeng et al. | Petri net dynamics-based scheduling of flexible manufacturing systems with assembly | |
Povhan | Logical classification trees in recognition problems | |
KR20030035890A (en) | Method of forming, searching, or generating quasi-minimum tree providing optimum network configuration, and information recording medium which stores program thereof | |
Renders et al. | Genetic algorithms for process control: A survey | |
Adamu et al. | Machine learning priority rule (MLPR) for solving resource-constrained project scheduling problems | |
Moodie et al. | Cell design strategies for efficient material handling | |
Reddy et al. | Parallel Scheduling of Machines, Tool Transporter and Tools in a Multi Machine FMS with Alternative Routing Using Flower Pollination Algorithm | |
JPH07282144A (en) | Job shop scheduling device | |
Workneh et al. | Deep q network method for dynamic job shop scheduling problem | |
JP7350650B2 (en) | Optimization device, optimization method, and computer program | |
CN110716522B (en) | Manufacturing enterprise workshop scheduling optimization method based on arbitrary time A-heuristic search | |
JP3349629B2 (en) | Arrangement planning apparatus and arrangement planning method | |
Mejía et al. | A Petri Net based algorithm for minimizing total tardiness in flexible manufacturing systems | |
JP3380814B2 (en) | Environment-adaptive production planning system | |
Keddari et al. | A Makespan Minimization Hybrid Algorithm for Flexible Job Shop System Scheduling | |
Xiaoting et al. | Flexible job shop machines and AGVs cooperative scheduling on the basis of DQN algorithm |