IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社豊田中央研究所の特許一覧 ▶ 株式会社デンソーの特許一覧

特許7440395最適解探索装置及び最適解探索プログラム
<>
  • 特許-最適解探索装置及び最適解探索プログラム 図1
  • 特許-最適解探索装置及び最適解探索プログラム 図2
  • 特許-最適解探索装置及び最適解探索プログラム 図3
  • 特許-最適解探索装置及び最適解探索プログラム 図4
  • 特許-最適解探索装置及び最適解探索プログラム 図5
  • 特許-最適解探索装置及び最適解探索プログラム 図6
  • 特許-最適解探索装置及び最適解探索プログラム 図7
  • 特許-最適解探索装置及び最適解探索プログラム 図8
  • 特許-最適解探索装置及び最適解探索プログラム 図9
  • 特許-最適解探索装置及び最適解探索プログラム 図10
  • 特許-最適解探索装置及び最適解探索プログラム 図11
  • 特許-最適解探索装置及び最適解探索プログラム 図12
  • 特許-最適解探索装置及び最適解探索プログラム 図13
  • 特許-最適解探索装置及び最適解探索プログラム 図14
  • 特許-最適解探索装置及び最適解探索プログラム 図15
  • 特許-最適解探索装置及び最適解探索プログラム 図16
  • 特許-最適解探索装置及び最適解探索プログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】最適解探索装置及び最適解探索プログラム
(51)【国際特許分類】
   G06N 3/126 20230101AFI20240220BHJP
   G05B 19/418 20060101ALI20240220BHJP
   G06F 30/10 20200101ALI20240220BHJP
   G06F 30/27 20200101ALI20240220BHJP
   G06Q 10/04 20230101ALI20240220BHJP
【FI】
G06N3/126
G05B19/418 Z
G06F30/10 200
G06F30/27
G06Q10/04
【請求項の数】 7
(21)【出願番号】P 2020190555
(22)【出願日】2020-11-16
(65)【公開番号】P2022079376
(43)【公開日】2022-05-26
【審査請求日】2022-07-25
(73)【特許権者】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】廣瀬 知弘
(72)【発明者】
【氏名】与語 康宏
(72)【発明者】
【氏名】山田 健一
(72)【発明者】
【氏名】丹野 浩二
(72)【発明者】
【氏名】藤本 美紀
(72)【発明者】
【氏名】亀山 浩二
(72)【発明者】
【氏名】川口 裕司
【審査官】北川 純次
(56)【参考文献】
【文献】特開平10-056734(JP,A)
【文献】特開平11-215702(JP,A)
【文献】黒田 充 ほか,生産スケジューリング,第1版,株式会社朝倉書店,2002年02月20日,第2頁-第27頁,ISBN: 4-254-27521-8
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/126
G06N 99/00
G05B 19/418
G06F 30/10
G06F 30/27
G06Q 10/04
(57)【特許請求の範囲】
【請求項1】
最適解を得るための演算を簡略化した簡易演算により、最適解ではないが前記最適解に近似する複数の近似解を求める近似解演算部であって、複数の工程を有し各前記工程の作業を複数の処理ユニットで並列に実施可能な生産ラインにおける前記複数の製品の生産経路の干渉を考慮せずに定式化された、前記複数の工程を経て生産される複数の製品の生産に要する時間である負荷時間を表す目的関数を用いた数理計画法により、前記近似解としての近似生産計画を求める近似解演算部と、
前記近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、前記複数の製品の生産経路及び前記生産ラインへの投入順序からなる前記最適解としての最適生産計画を探索する遺伝的アルゴリズム処理部と、
を備えることを特徴とする最適解探索装置。
【請求項2】
前記遺伝的アルゴリズム処理部は、前記生産ラインにおける前記負荷時間を最小化するように、前記最適生産計画を探索する、
ことを特徴とする請求項1に記載の最適解探索装置。
【請求項3】
前記目的関数は、各製品についての、生産経路に含まれる複数の前記処理ユニットのサイクルタイムのうちの最長のサイクルタイムと、前記製品の生産数とに基づいて定式化される、
ことを特徴とする請求項に記載の最適解探索装置。
【請求項4】
前記近似解演算部は、各前記近似生産計画を求めるにあたり、各前記処理ユニットのサイクルタイムを、予め定められた基準サイクルタイムに対して乱数を加算又は減算して得られる変更サイクルタイムに変更し、前記変更サイクルタイムに基づいて前記目的関数を解くことで、互いに異なる複数の前記近似生産計画を求める、
ことを特徴とする請求項又はに記載の最適解探索装置。
【請求項5】
最適解を得るための演算を簡略化した簡易演算により、最適解ではないが前記最適解に近似する複数の近似解を求める近似解演算部であって、複数の工程を有し各前記工程の作業を複数の処理ユニットで並列に実施可能な生産ラインにおける前記複数の製品の各生産経路に設定された選択確率に基づいて、各製品の生産経路を順次選択、前回製品の生産経路を構成する前記処理ユニットを含む生産経路の選択確率を低下させた上で、前記順次選択における前記前回製品の次の製品である今回製品の生産経路を選択することで、前記近似解としての近似生産計画を求める近似解演算部と
前記近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、前記複数の製品の生産経路及び前記生産ラインへの投入順序からなる前記最適解としての最適生産計画を探索する遺伝的アルゴリズム処理部と、
を備えることを特徴とする最適解探索装置。
【請求項6】
コンピュータを、
最適解を得るための演算を簡略化した簡易演算により、最適解ではないが前記最適解に近似する複数の近似解を算出する近似解演算部であって、複数の工程を有し各前記工程の作業を複数の処理ユニットで並列に実施可能な生産ラインにおける前記複数の製品の生産経路の干渉を考慮せずに定式化された、前記複数の工程を経て生産される複数の製品の生産に要する時間である負荷時間を表す目的関数を用いた数理計画法により、前記近似解としての近似生産計画を求める近似解演算部と、
前記近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、前記複数の製品の生産経路及び前記生産ラインへの投入順序からなる前記最適解としての最適生産計画を探索する遺伝的アルゴリズム処理部と、
として機能させることを特徴とする最適解探索プログラム。
【請求項7】
コンピュータを、
最適解を得るための演算を簡略化した簡易演算により、最適解ではないが前記最適解に近似する複数の近似解を求める近似解演算部であって、複数の工程を有し各前記工程の作業を複数の処理ユニットで並列に実施可能な生産ラインにおける前記複数の製品の各生産経路に設定された選択確率に基づいて、各製品の生産経路を順次選択し、前回製品の生産経路を構成する前記処理ユニットを含む生産経路の選択確率を低下させた上で、前記順次選択における前記前回製品の次の製品である今回製品の生産経路を選択することで、前記近似解としての近似生産計画を求める近似解演算部と、
前記近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、前記複数の製品の生産経路及び前記生産ラインへの投入順序からなる前記最適解としての最適生産計画を探索する遺伝的アルゴリズム処理部と、
として機能させることを特徴とする最適解探索プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、最適解探索装置及び最適解探索プログラムに関する。
【背景技術】
【0002】
従来、ある問題に対する、複数のパラメータから構成される最適解を探索する手法として、遺伝的アルゴリズムが知られている。図17は、遺伝的アルゴリズムの処理の流れを示す概念図である。遺伝的アルゴリズムにおいては、まず、初期個体群(すなわち第1世代)であるN個の個体が用意される。ここでは、問題に対する最適解を探索する例であるので、個体として問題に対する解が用意される。第1世代のN個の解はランダムに選択されてよい。つまり、第1世代のN個の解に含まれる各パラメータの値はランダムに選択されてよい。図17では、解1-1~解1-NのN個の初期個体群が示されている。なお、図17では、第m世代の第n番目の解が、「解m-n」と記載されている。例えば、第1世代の第2番目の解が「解1-2」と記載されている。
【0003】
次に、第1世代のN個の個体それぞれの適応度が算出される。各個体の適応度は、当該問題に対する、当該個体としての解の適応度であり、当該問題に応じた種々の方法にて算出される。
【0004】
次に、算出された第1世代のN個の個体それぞれの適応度に基づいて、第2世代のN個の個体(すなわち解)が生成される。第2世代のN個の個体の取得方法については、例えば、第1世代のN個の個体のうち、適応度が高い個体を残すエリート保存、第1世代から選択された2つの個体それぞれの一部のパラメータを交換する交叉、第1世代の個体に含まれるパラメータをランダムに変更する突然変異などの種々の方法がある。
【0005】
さらに、第2世代のN個の個体それぞれの適応度が算出される。そして、算出された第2世代のN個の個体それぞれの適応度に基づいて、第3世代のN個の個体が生成される。以後、上記同様の処理が世代を進めながら繰り返されていく。上述の処理を世代を進めながら繰り返していくことにより、個体が調整されていき、やがて適応度が高い個体、すなわち、最適解に近い解(理想的には最適解)を得ることができる。
【0006】
遺伝的アルゴリズムは、所定の終了条件を満たすまで実行される。所定の終了条件とは、例えば、所定の世代までの処理が完了したこと、所定の適応度を超える個体が生成されたこと、あるいは、所定の世代のN個の個体の平均適応度が所定の閾値以上となったこと、などである。
【0007】
遺伝的アルゴリズムは、種々の問題に対する最適解を探索するために用いられている。例えば、非特許文献1には、複数の工程を有し各工程を複数の機械で並列に処理可能なフレキシブルショップにおいて、遺伝的アルゴリズムを用いて、複数の工程を経て生産される製品の処理方法を最適解を探索する方法が開示されている。非特許文献1においては、製品の処理方法を決定すべく、作業の機械割付け、作業の順序付け、及び作業の開始時刻を決定している。特に、非特許文献1では、数理計画法と遺伝的アルゴリズムを組み合わせたハイブリッド解法によりに上記3つの決定項目を決定している。具体的には、数理計画法により上記3つの決定項目のうちの一部を決定した上で、遺伝的アルゴリズムによりその他の決定項目を決定している。
【先行技術文献】
【非特許文献】
【0008】
【文献】榊原一紀、玉置久、村尾元、北村新三,「フレキシブルショップ・スケジューリング問題の数理計画モデルに基づくハイブリッド解法」,システム制御情報学会論文誌,Vol.17,No.16,pp.257-263,2004
【発明の概要】
【発明が解決しようとする課題】
【0009】
問題に対する最適解を探索する遺伝的アルゴリズムにおいては、初期個体群(すなわち第1世代の複数の解)を出発点として最適解を探索していくものであるところ、初期個体群によっては、世代をかなり進めたとしても最適解に近い解を得ることができない場合があった。あるいは、初期個体群によっては、遺伝的アルゴリズムによって最適解にある程度近い解を得るまでに膨大な処理時間がかかってしまう場合があった。
【0010】
本発明の目的は、遺伝的アルゴリズムによって最適解により近い解を取得可能とすることにある。あるいは、本発明の目的は、遺伝的アルゴリズムによる最適解の探索処理に係る処理時間を低減することにある。
【課題を解決するための手段】
【0011】
本発明は、最適解を得るための演算を簡略化した簡易演算により、最適解ではないが前記最適解に近似する複数の近似解を求める近似解演算部であって、複数の工程を有し各前記工程の作業を複数の処理ユニットで並列に実施可能な生産ラインにおける前記複数の製品の生産経路の干渉を考慮せずに定式化された、前記複数の工程を経て生産される複数の製品の生産に要する時間である負荷時間を表す目的関数を用いた数理計画法により、前記近似解としての近似生産計画を求める近似解演算部と、前記近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、前記複数の製品の生産経路及び前記生産ラインへの投入順序からなる前記最適解としての最適生産計画を探索する遺伝的アルゴリズム処理部と、を備えることを特徴とする最適解探索装置である。
【0012】
望ましくは、前記遺伝的アルゴリズム処理部は、前記生産ラインにおける前記負荷時間を最小化するように、前記最適生産計画を探索する。
【0014】
望ましくは、前記目的関数は、各製品についての、生産経路に含まれる複数の前記処理ユニットのサイクルタイムのうちの最長のサイクルタイムと、前記製品の生産数とに基づいて定式化される。
【0015】
望ましくは、前記近似解演算部は、各前記近似生産計画を求めるにあたり、各前記処理ユニットのサイクルタイムを、予め定められた基準サイクルタイムに対して乱数を加算又は減算して得られる変更サイクルタイムに変更し、前記変更サイクルタイムに基づいて前記目的関数を解くことで、互いに異なる複数の前記近似生産計画を求める。
【0016】
また、本発明は、最適解を得るための演算を簡略化した簡易演算により、最適解ではないが前記最適解に近似する複数の近似解を求める近似解演算部であって、複数の工程を有し各前記工程の作業を複数の処理ユニットで並列に実施可能な生産ラインにおける前記複数の製品の各生産経路に設定された選択確率に基づいて、各製品の生産経路を順次選択、前回製品の生産経路を構成する前記処理ユニットを含む生産経路の選択確率を低下させた上で、前記順次選択における前記前回製品の次の製品である今回製品の生産経路を選択することで、前記近似解としての近似生産計画を求める近似解演算部と前記近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、前記複数の製品の生産経路及び前記生産ラインへの投入順序からなる前記最適解としての最適生産計画を探索する遺伝的アルゴリズム処理部と、を備えることを特徴とする最適解探索装置である
【0017】
また、本発明は、コンピュータを、最適解を得るための演算を簡略化した簡易演算により、最適解ではないが前記最適解に近似する複数の近似解を算出する近似解演算部であって、複数の工程を有し各前記工程の作業を複数の処理ユニットで並列に実施可能な生産ラインにおける前記複数の製品の生産経路の干渉を考慮せずに定式化された、前記複数の工程を経て生産される複数の製品の生産に要する時間である負荷時間を表す目的関数を用いた数理計画法により、前記近似解としての近似生産計画を求める近似解演算部と、前記近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、前記複数の製品の生産経路及び前記生産ラインへの投入順序からなる前記最適解としての最適生産計画を探索する遺伝的アルゴリズム処理部と、として機能させることを特徴とする最適解探索プログラムである。
また、本発明は、コンピュータを、最適解を得るための演算を簡略化した簡易演算により、最適解ではないが前記最適解に近似する複数の近似解を求める近似解演算部であって、複数の工程を有し各前記工程の作業を複数の処理ユニットで並列に実施可能な生産ラインにおける前記複数の製品の各生産経路に設定された選択確率に基づいて、各製品の生産経路を順次選択し、前回製品の生産経路を構成する前記処理ユニットを含む生産経路の選択確率を低下させた上で、前記順次選択における前記前回製品の次の製品である今回製品の生産経路を選択することで、前記近似解としての近似生産計画を求める近似解演算部と、前記近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、前記複数の製品の生産経路及び前記生産ラインへの投入順序からなる前記最適解としての最適生産計画を探索する遺伝的アルゴリズム処理部と、として機能させることを特徴とする最適解探索プログラムである。
【発明の効果】
【0018】
本発明によれば、遺伝的アルゴリズムによって最適解により近い解を取得することができる。あるいは、本発明によれば、遺伝的アルゴリズムによる最適解の探索処理に係る処理時間を低減することができる。
【図面の簡単な説明】
【0019】
図1】本実施形態に係る最適解探索装置の構成概略図である。
図2】本実施形態に係る生産ラインを示す図である。
図3】本実施形態に係る生産ラインで取り得る生産経路を示す図である。
図4】各製品に対する各処理ユニットの第1のサイクルタイムの例を示す第1サイクルタイム表を示す図である。
図5】各製品に対する各処理ユニットの第2サイクルタイムの例を示す第2サイクルタイム表を示す図である。
図6】各生産経路の基準選択確率を示す図である。
図7】各生産経路の変更選択確率を示す図である。
図8】本実施形態に係る遺伝的アルゴリズムの処理の流れを示す図である。
図9】従来の遺伝的アルゴリズムで得られた出力解のヒストグラムを示す第1の図である。
図10】本実施形態に係る遺伝的アルゴリズムで得られた出力解のヒストグラムを示す第1の図である。
図11】本実施形態に係る遺伝的アルゴリズムで得られた出力解のヒストグラムを示す第2の図である。
図12】従来の遺伝的アルゴリズムで得られた出力解のヒストグラムを示す第2の図である。
図13】本実施形態に係る遺伝的アルゴリズムで得られた出力解のヒストグラムを示す第3の図である。
図14】本実施形態に係る遺伝的アルゴリズムで得られた出力解のヒストグラムを示す第4の図である。
図15】遺伝的アルゴリズムの各世代における出力解と、当該出力解に対する負荷時間の関係を示す第1の図である。
図16】遺伝的アルゴリズムの各世代における出力解と、当該出力解に対する負荷時間の関係を示す第2の図である。
図17】遺伝的アルゴリズムの処理の流れを示す図である。
【発明を実施するための形態】
【0020】
図1は、本実施形態に係る最適解探索装置10の構成概略図である。本実施形態に係る最適解探索装置10は、サーバコンピュータにより構成される。しかしながら、以下に説明する機能を発揮可能な限りにおいて、最適解探索装置10としてはどのような装置であってもよい。例えば、最適解探索装置10は、パーソナルコンピュータなどであってもよい。
【0021】
入出力インターフェース12は、最適解探索装置10に対して種々の情報を入力するためのインターフェース、あるいは、最適解探索装置10から種々の情報を出力するためのインターフェースである。具体的には、後述のプロセッサ16による最適解探索処理に必要な情報が入出力インターフェース12から入力され、また、プロセッサ16による最適解探索処理の結果を示す情報が入出力インターフェース12から出力される。
【0022】
入出力インターフェース12は、例えば、ネットワークアダプタなどから構成されるネットワークインターフェースであってよい。ネットワークインターフェースによれば、最適解探索装置10は、他の装置と通信可能となり、他の装置から種々の情報を受信することができ、また、他の装置に対して種々の情報を送信することができる。
【0023】
また、入出力インターフェース12は、例えば、キーボードやマウス、あるいはタッチパネルなどから構成される入力インターフェースであってよい。入力インターフェースによれば、ユーザは、最適解探索装置10に種々の情報を入力することができる。
【0024】
また、入出力インターフェース12は、例えば、液晶パネルなどから構成されるディスプレイあるいはスピーカなどから構成される出力インターフェースであってよい。出力インターフェースによれば、最適解探索装置10は、ユーザなどに向けて種々の情報を出力することができる。
【0025】
メモリ14は、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)、あるいはRAM(Random Access Memory)などを含んで構成されている。メモリ14は、後述のプロセッサ16とは別に設けられてもよいし、少なくとも一部がプロセッサ16の内部に設けられていてもよい。メモリ14には、最適解探索装置10の各部を動作させるための、最適解探索プログラムが記憶される。
【0026】
プロセッサ16は、汎用的な処理装置(例えばCPU(Central Processing Unit)など)、及び、専用の処理装置(例えばASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、あるいは、プログラマブル論理デバイスなど)の少なくとも1つを含んで構成される。プロセッサ16としては、1つの処理装置によるものではなく、物理的に離れた位置に存在する複数の処理装置の協働により構成されるものであってもよい。図1に示す通り、プロセッサ16は、メモリ14に記憶された最適解探索プログラムにより、近似解演算部18及びGA(Genetic Algorithm、遺伝的アルゴリズム)処理部20としての機能を発揮する。
【0027】
プロセッサ16、すなわち、近似解演算部18及びGA処理部20による処理により、ある問題に対する、複数のパラメータから構成される最適解が探索される。詳しくは後述するが、近似解演算部18は、問題に対する近似解(最適解ではないが最適解に近い解)を演算により求め、GA処理部20は、当該近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより最適解を探索する。なお、GA処理部20は、問題に対する最適解を探索はするが、GA処理部20により求められる解は、必ずしも当該問題の最適解でなくてもよい。本明細書においては、問題に対する最適の(理想的な)解を最適解と呼び、GA処理部20が最終的に出力した解を最適解とは区別して出力解と呼ぶ。もちろん、出力解が最適解となってもよい。また、本明細書において、最適解を探索するとは、最適解に向かって解を調整する処理を意味し、必ずしも最適解まで辿り着くことを意味するものではない。もちろん、最適解の探索により最適解まで辿り着いてもよい。
【0028】
本明細書においては、プロセッサ16の処理の対象となる問題として、複数の工程を有し、各工程を複数の処理ユニットで並列に処理可能な生産ラインにおける、当該複数の工程を経て生産される複数の製品の生産に要する時間である負荷時間を最小化する問題を例に、近似解演算部18及びGA処理部20の処理を説明する。すなわち、本実施形態におけるGA処理部20は、当該負荷時間を最小化するように、複数の製品の生産経路及び生産ラインへの投入順序からなる最適解としての最適生産計画を探索する。
【0029】
図2は、本実施形態の対象となる生産ラインLを示す図である。生産ラインLは、工程1~3の3つの工程から構成されている。つまり、製品は工程1~3の3つの工程を順番に経ることで生産される。各工程はそれぞれ3つの処理ユニットUを有している。すなわち、工程1の作業を実施可能な処理ユニットUとして処理ユニット#1~#3があり、工程2の作業を実施可能な処理ユニットUとして処理ユニット#4~#6があり、工程3の作業を実施可能な処理ユニットUとして処理ユニット#7~#9がある。なお、本実施形態では、処理ユニットUは作業を行う作業機であるが、サイクルタイム(処理ユニットUが作業に要する時間)が安定しているのであれば、処理ユニットUとしては人間(作業者)を含むものであってもよい。なお、1つの処理ユニットUは、1つの仕掛品に対してのみ作業を実施することができ、同時に複数の仕掛品に対する作業を行うことはできない。
【0030】
処理ユニット#1~#3のいずれかで工程1の作業が実施された仕掛品(生産途中の製品)は、処理ユニット#4~#6のいずれかで工程2の作業を実施されることができ、処理ユニット#4~#6のいずれかで工程2の作業が実施された仕掛品は、処理ユニット#7~#9のいずれかで工程3の作業を実施されることができる。
【0031】
したがって、生産ラインLにおいては、製品の生産経路は、図3に示すように27本存在することとなる。例えば、生産経路1は、処理ユニット#1→処理ユニット#4→処理ユニット#7であり、生産経路2は、処理ユニット#1→処理ユニット#4→処理ユニット#8である。このように、本実施形態においては、生産経路とは、仕掛品が流れる処理ユニットUの経路を意味する。なお、生産ラインLのように、複数の工程から成り、各工程の作業を複数の処理ユニットで並列に実施可能な生産ラインLは、フレキシブル・フローショップとも呼ばれる。図3に示されるような、生産ラインLで取ることができる生産経路を示す情報は予めメモリ14に記憶される。
【0032】
また、各処理ユニットUにおける、仕掛品に対する作業に要する時間であるサイクルタイムが予め取得される。その上で、各処理ユニットUのサイクルタイムを示すサイクルタイム表が予めメモリ14に記憶される。図4には、サイクルタイム表の第1の例である第1サイクルタイム表が示されている。図4の第1サイクルタイム表に示される通り、同一の工程の作業を実施可能な複数の処理ユニットUにおいては、そのサイクルタイムが互いに異なっていてもよい。例えば、工程1の作業を実施する処理ユニット#1のサイクルタイムが30秒であり、同じ工程1の作業を実施する処理ユニット#2のサイクルタイムが40秒である、の如くである。
【0033】
また、本実施形態では、生産ラインLにおいては、複数種類の製品が生産される。図4にも示される通り、本実施形態では、生産ラインLにおいては、品番w001~w100で表される100種類の製品が生産される。なお、各品番はそれぞれ20個ずつ生産されるとする。
【0034】
製品の種類によって、各処理ユニットUにおけるサイクルタイムが互いに異なっていてもよい。例えば、図4に示すように、品番w001の製品に対する処理ユニット#1のサイクルタイムは30秒であるのに対し、品番w034の製品に対する処理ユニット#1のサイクルタイムは50秒である、の如くである。ちなみに、同じ種類の製品(同じ品番の製品)に対する各処理ユニットUのサイクルタイムは変わらないものとする。図4の第1サイクルタイム表においては、品番w001~w033の製品(第1グループ)に対する各処理ユニットUのサイクルタイムは同じであり、品番w034~w066の製品(第2グループ)に対する各処理ユニットUのサイクルタイムは同じであり、品番w067~w100の製品(第3グループ)に対する各処理ユニットUのサイクルタイムは同じであるが、各グループに対する少なくとも一部の処理ユニットUのサイクルタイムは互いに異なるとする。
【0035】
各処理ユニットUのサイクルタイムが図4の第1サイクルタイム表に示すものである場合であって、品番w001の製品を処理ユニット#1→処理ユニット#4→処理ユニット#7の生産経路1で生産した場合、当該製品を生産するのに要する時間である生産時間は、30+30+30=90秒となる。このように算出される、複数の製品(本実施形態では、品番w001~w100の100種類の製品がそれぞれ20個ずつ)の生産時間の合計が負荷時間である。
【0036】
負荷時間を最小化するためには、単純に、各製品について、工程毎にサイクルタイムが一番小さい処理ユニットUを選択すればよいわけではない。すなわち、生産ラインLにおける干渉という要素を考慮しなければならないからである。干渉とは、各処理ユニットUにおいて処理待ちの状態が発生することに起因して生ずるタイムロスである。例えば、干渉には、ある処理ユニットUに仕掛品Aの作業を実施させようとした場合に当該処理ユニットUが仕掛品Bに対する作業を実施中である場合の仕掛品Aの処理待ち時間(タイムロス)、あるいは、仕掛品Aに対する工程2の作業を実施予定の処理ユニットUが空き状態(作業開始可能な状態)であるのに、仕掛品Aの工程1の作業が終わらない場合のタイムロスなどが含まれる。また、生産ラインLでは、1つの工程の作業を複数の(本例では3つの)処理ユニットUで実施可能であるところ、当該3つの処理ユニットUの稼働効率(作業を行っている時間の割合)を高く維持することで、負荷時間をより低減できるはずである。このように、生産ラインLにおける干渉を考慮した上で、各処理ユニットUの稼働効率を最大限にすることで負荷時間が最小化されると考えられるが、そのような生産計画、すなわち最適生産計画を求めるのは容易ではない(なお、図4に示す第1サイクルタイム表は簡略化された例であり、実際のサイクルタイム表は、製品の各種類に対する各処理ユニットUのサイクルタイムがそれぞれ全て異なるなど、より複雑なものである)。本実施形態におけるGA処理部20は、上述のような、複数種類の製品を生産するのに要する負荷時間を最小化するように、複数種類の製品の生産経路及び生産ラインへの投入順序からなる最適解としての最適生産計画を探索する。
【0037】
近似解演算部18は、GA処理部20による処理に先立って、すなわちGA処理部20による処理の前処理として、最適解を得るための演算を簡略化した簡易演算により、最適解ではないが最適解に近似する解である複数の近似解を求める。本実施形態では、近似解演算部18は、数理計画法、又は、本明細書において確率更新法と呼ばれる方法によって複数の近似解を求める。
【0038】
まず、数理計画法により複数の近似解を求める方法について説明する。数理計画法とは、問題に対する最適解を得るための数理モデルを求めた上で、当該数理モデルを用いて最適解を得る方法である。本実施形態では、数理モデルとして、生産ラインLにおける負荷時間を定式化した、各製品の生産経路を変数として含む目的関数を用いる。ここで、数理計画法のみによる演算によって問題の最適解を得るのは困難な場合が多々ある。本実施形態のように、生産ラインLにおける最適生産計画を得る場合においては、生産ラインLにおける干渉など、厳密な条件を全て考慮して負荷時間を厳密に定式化した目的関数を得る必要がある。このような定式化はかなり困難である。
【0039】
しかしながら、最適解を得るための演算(本実施形態では干渉を考慮して負荷時間を厳密に定式化して目的関数を得て、当該目的関数を最小化するような各製品の生産経路を求める演算)を簡略化した簡易演算であれば、数理計画法によって、最適解ではないものの近似解を比較的容易に求めることができる。本実施形態では、近似解演算部18は、簡易演算として、生産ラインLにおける干渉を考慮せずに負荷時間を定式化した目的関数を得て、当該目的関数を解くことで、すなわち、当該目的関数を最小化する各製品の生産経路を求めることで、近似解としての近似生産計画を求める。
【0040】
生産ラインLにおける干渉を考慮しない場合、各製品の生産経路は、各工程においてサイクルタイムが最も小さい処理ユニットUを通る生産経路となる。各処理ユニットUのサイクルタイムが図4に示す第1サイクルタイム表である場合、品番w001~w033を生産経路1(処理ユニット#1→処理ユニット#4→処理ユニット#7)で生産し、品番w034~w066を生産経路14(処理ユニット#2→処理ユニット#5→処理ユニット#8)で生産し、品番w067~w100を生産経路27(処理ユニット#3→処理ユニット#6→処理ユニット#9)で生産した場合に負荷時間が最小となり、これが近似生産計画となる。
【0041】
生産ラインLにおける干渉を考慮しない場合の負荷時間を一般化して定式化すると、以下の目的関数が得られる。
【数1】
【0042】
上式において、Mは製品の種類(品番)の総数(品番がw001~w100であれば100)、Nは生産経路の総数(生産ラインLにおいては27)、iは品番番号、jは生産経路の番号を表す。
【0043】
i,jは、品番iを生産経路jで生産するか否かを表すM×N個の変数であり、品番iを生産経路jで生産する場合に1、品番iを生産経路jで生産しない場合に0となるパラメータである。CTi,jは、品番及び生産経路毎のボトルネックのサイクルタイムである。ボトルネックとは、生産経路においてサイクルタイムが最大となる処理ユニットUである。例えば、各処理ユニットUのサイクルタイムが図4に示す第1サイクルタイム表に示すものである場合、品番w001に対する生産経路2(処理ユニット#1(サイクルタイム30秒)→処理ユニット#4(サイクルタイム30秒)→処理ユニット#8(サイクルタイム40秒))のボトルネックは処理ユニット#8となり、CT1,2は40秒となる。Pは品番iの生産数である。
【0044】
目的関数のmax関数の第1項は工程3の処理ユニットUが処理ユニット#7である生産経路におけるCTi,jの総和を表し、第2項は工程3の処理ユニットUが処理ユニット#8である生産経路におけるCTi,jの総和を表し、第3項は工程3の処理ユニットUが処理ユニット#9である生産経路におけるCTi,jの総和を表す。つまり、上記目的関数は、工程3の処理ユニットUが処理ユニット#7、#8、#9である場合のCTi,jの総和の最大値を得るものである。また、制約条件は、品番xは1つの生産経路のみで生産されることを表している。
【0045】
当該制約条件の下で、当該目的関数を最小化することで、近似生産計画を取得することができる。目的関数の最小化は、例えばMATLAB(登録商標)のソルバなどを用いて行うことができる。なお、数理計画法によって求められる近似生産計画における製品の生産ラインLへの投入順序は、予め適宜決定されていてよい。
【0046】
上述のように、本実施形態では、目的関数は、各製品についての、生産経路に含まれる複数の処理ユニットUのサイクルタイムのうちの最長のサイクルタイム(つまりCTi,j)に基づいて定式化されている。つまり、目的関数を各製品についての生産時間に基づいて目的関数を定式化する場合に比して、さらに目的関数が簡略化されている。なお、近似解演算部18は、各製品についても生産時間に基づいて、生産ラインLにおける干渉を考慮せずに目的関数を定式化するようにしてもよい。その場合、上記の目的関数のCTi,jが品番iを生産経路jで生産したときの生産時間を表す項に置き換わることとなる。
【0047】
近似解演算部18は、複数の近似解を取得するところ、各処理ユニットUのサイクルタイムが固定されている場合、上述の目的関数を何回解いても同じ近似生産計画が得られるだけである。ここで、GA処理部20による遺伝的アルゴリズムによって最適解により近い解を取得する、あるいは、遺伝的アルゴリズムによる最適解の探索処理に係る処理時間(最適解にある程度近い解を得るまでの時間)を低減するには、互いに異なる複数の近似解を初期個体群に含めた方が良いことが分かっている。
【0048】
上述の数理計画法により、互いに異なる複数の近似解を取得すべく、近似解演算部18は、近似生産計画を求めるにあたり、各処理ユニットUのサイクルタイムを、予め定められた基準サイクルタイムに対して乱数を加算又は減産して得られる変更サイクルタイムに変更し、当該変更サイクルタイムに基づいて目的関数を解くことで、互いに異なる複数の近似生産計画を求める。本実施形態では、近似解演算部18は、図4に示す第1サイクルタイム表に示される各処理ユニットUのサイクルタイムを基準サイクルタイムとし、近似生産計画を求める処理(すなわち目的関数を最小化する処理)を行う度に、各処理ユニットUの基準サイクルタイムに対して±1~±10程度の乱数を付与することで、各処理ユニットUの変更サイクルタイムを得ている。
【0049】
次に、本明細書において確率更新法と呼ぶ方法により複数の近似解を求める方法について説明する。上述の数理計画法では、適切な近似解を得ることができない場合があった。例えば、各処理ユニットUのサイクルタイムが図5に示す第2サイクルタイム表のようである場合、つまり、複数の製品に対する各生産経路jのボトルネックのサイクルタイム(CTi,j)又は生産時間がどれも似通った値である場合、各製品の生産経路として同じような生産経路が選択される場合があり、そのような場合、生産ラインLにおける干渉が多く発生してしまう場合がある。このように、数理計画法では、生産ラインLにおける干渉が多く発生してしまうような近似生産計画を近似解として求めてしまう場合がある。そのような近似生産計画は、最適解に近い解とは言えず、近似解としては不適切なものとなり得る。そのような場合において近似生産計画を得る方法として確率更新法が考案された。
【0050】
確率更新法は、各生産経路に設定された選択確率に基づいて、各製品の生産経路を順次選択していく方法であって、近似生産計画において、生産ラインLにおける干渉が生じる可能性が低減されるように、前回製品の生産経路を構成する処理ユニットUを含む生産経路の選択確率を低下させた上で、順次選択における前回製品の次の製品である今回製品の生産経路を選択していく方法である。以下、生産ラインLにおける各処理ユニットUのサイクルタイムが、図5に示す第2サイクルタイム表に示すものである場合を例に、確率更新法について具体的に説明する。
【0051】
まず、近似解演算部18は、生産ラインLで取り得る全ての生産経路についての選択確率を求める。ここで求める各生産経路についての選択確率を基準選択確率と呼ぶ。各生産経路の基準選択確率は、当該生産経路に含まれる複数の処理ユニットUのサイクルタイムに基づいて決定することができる。本実施形態では、生産経路に含まれる各処理ユニットUのサイクルタイムの逆数を取り、複数の逆数の積を求めた後、全生産経路の選択確率の総和が1となるように規格化した値を基準選択確率としている。図6に、各生産経路について算出された基準選択確率が示されている。例えば、生産経路1の初期選択確率は、処理ユニット#1のサイクルタイムの逆数である1/30と、処理ユニット#4のサイクルタイムの逆数である1/30と、処理ユニット#7のサイクルタイムの逆数である1/30との積に基づいて決定される。もっとも、第2サイクルタイム表においては、全品番に対する全処理ユニットUのサイクルタイムが同一であるので、全生産経路の基準選択確率は、上記規格化処理により、全て、1/27=0.037となっている。
【0052】
次に、近似解演算部18は、各生産経路の基準選択確率に基づいて、1つめの製品の生産経路を決定する。近似解演算部18は、基準選択確率が最大の生産経路を選択するが、図6の例のように、基準選択確率が最大の生産経路が複数ある場合は、その中から1つの生産経路を選択する。ここでは、1つめの製品の生産経路として、生産経路1(処理ユニット#1→処理ユニット#4→処理ユニット#7)が選択されたとする。なお、確率更新法における、生産経路を選択する製品の順番(製品の生産ラインLへの投入順序)は、予め適宜決定される。
【0053】
次に、近似解演算部18は、前回生産経路が決定された製品である前回製品の生産経路に含まれる複数の処理ユニットUに基づいて、各生産経路の選択確率を基準選択確率から変更する。変更された選択確率を変更選択確率と呼ぶ。具体的には、近似解演算部18は、前回製品の生産経路を構成する処理ユニットUを含む生産経路の選択確率を低下させる。特に、近似解演算部18は前回製品の生産経路を構成する処理ユニットUをより多く含む生産経路の選択確率をより大きく低下させる。また、近似解演算部18は、前回製品の生産経路を構成する処理ユニットUを含まない生産経路の選択確率を向上させる。
【0054】
前回製品が上述の1つ目の製品である場合を考える。1つ目の製品の生産経路は生産経路1であり、生産経路1には、処理ユニット#1、処理ユニット#4、及び処理ユニット#7が含まれる。したがって、近似解演算部18は、生産経路1~27のうち、処理ユニット#1、処理ユニット#4、又は処理ユニット#7を含む生産経路の選択確率を基準選択確率から低下させる。各生産経路の変更選択確率の例が図7に示されている。
【0055】
具体的には、近似解演算部18は、処理ユニット#1、処理ユニット#4、及び処理ユニット#7のうちの1つを含む生産経路(生産経路5、6、8、9、11~13、16、20~22、及び25)の選択確率を、基準選択確率×(1-α)とする。ここで、αは10-10から10-1までの値を取り得るパラメータであり、後述のように適宜設定される。また、処理ユニット#1、処理ユニット#4、及び処理ユニット#7のうちの2つを含む生産経路(生産経路2~4、7、10、及び19)の選択確率を、基準選択確率×(1-2α)とする。さらに、処理ユニット#1、処理ユニット#4、及び処理ユニット#7の全てを含む生産経路(生産経路1)の選択確率を、基準選択確率×(1-3α)とする。
【0056】
また、近似解演算部18は処理ユニット#1、処理ユニット#4、及び処理ユニット#7を含まない生産経路(生産経路14、15、17、18、23、24、26、及び27)の選択確率を、基準選択確率×(1+6α)とする。
【0057】
その上で、近似解演算部18は、各生産経路の基準選択確率に基づいて、順次生産経路を決定していく順番において、前回製品の次の製品である今回製品(ここでは2つ目の製品)の生産経路を決定する。ここでも、近似解演算部18は、変更選択確率が最大の生産経路を選択するが、変更選択確率が最大の生産経路が複数ある場合はその中から1つの生産経路を選択する。
【0058】
近似解演算部18は、2つ目の製品の生産経路に含まれる処理ユニットUに応じて、再度各生産経路の変更選択確率を求め、求めた変更選択確率に基づいて、3つ目の製品の生産経路を選択する。このような処理を繰り返していくことで、近似生産計画を求める。
【0059】
上述した確率更新法によれば、直前に生産ラインLに投入された製品の生産経路を構成する処理ユニットUを含む生産経路が選択されにくくなる。したがって、生産ラインLにおいて干渉が起きる可能性が低減された生産計画が近似生産計画として求められる。また、確率更新法では、各製品の生産経路の選択確率(基準選択確率又は変更選択確率)は各生産経路に含まれる処理ユニットUのサイクルタイムに基づいて決定されるから、基本的には、ボトルネックのサイクルタイムや生産時間が最小の生産経路が選ばれ易くなっている。しかしながら、確率更新法では、選択確率のみに基づいて各製品の生産経路を決定しており、各製品の生産経路としてもっと良い生産経路があるかもしれない場合であってもその探索は行わない。その意味において、確率更新法も最適解を得るための演算を簡略化した簡易演算であるといえる。
【0060】
また、確率更新法において、互いに異なる複数の近似生産計画を得るために、近似解演算部18は、近似生産計画を得る演算を行う度に、上述のαの値を変更する。これにより、近似生産計画を得る演算を行う度に、各生産経路の変更選択確率が変動し、求められる複数の近似生産計画が互いに異なるものとなる可能性が高くなる。
【0061】
GA処理部20は、近似解演算部18が求めた複数の近似解を含む解群を初期個体群とした遺伝的アルゴリズムにより、最適解を探索する。これに限られるものではないが、本実施形態では、GA処理部20による遺伝的アルゴリズムにおける初期個体群の中には、1~2割程度の近似解が含められる。
【0062】
図8は、GA処理部20による遺伝的アルゴリズムの処理の流れを示す概念図である。なお、図8では、図17同様、第m世代の第n番目の解としての生産計画が、「生産計画m-n」と記載されている。図8に示される通り、初期個体群(第1世代)としてのN個の解(生産計画)の中に、近似解演算部18が求めた複数の近似生産計画が含められている。上述の通り、本実施形態では、初期個体群のうちの1~2割程度の個体が近似生産計画となっている。その他の個体はランダムに選択されてよい。
【0063】
以後の処理は、従来の遺伝的アルゴリズムと同様である。すなわち、第1世代のN個の個体それぞれの適応度が算出され、算出された第1世代のN個の個体それぞれの適応度に基づいて、第2世代のN個の個体(すなわち解としての生産計画)が生成される。次いで、第2世代のN個の個体それぞれの適応度が算出され、算出された第2世代のN個の個体それぞれの適応度に基づいて、第3世代のN個の個体が生成される。以後、上記同様の処理が世代を進めながら繰り返されていく。
【0064】
GA処理部20における遺伝的アルゴリズムも、従来同様、所定の終了条件を満たすまで実行される。所定の終了条件とは、例えば、所定の世代までの処理が完了したこと、所定の適応度を超える個体が生成されたこと、あるいは、所定の世代のN個の個体の平均適応度が所定の閾値以上となったこと、などである。
【0065】
図9図16は、本実施形態の効果を示すためのグラフである。
【0066】
図9図11は、生産ラインLの各処理ユニットUのサイクルタイムが図4に示す第1サイクルタイム表に示すものである場合における、GA処理部20の出力解である出力生産計画の負荷時間の分布を示すヒストグラムである。図9図11のグラフにおいて、横軸がGA処理部20の出力生産計画の負荷時間を示し、縦軸が頻度(GA処理部20が出力生産計画を出力した回数)を示す。図9図11の例では、最適解である最適生産計画の負荷時間は約0.2×10秒である。
【0067】
図9は、従来の、つまり、初期個体群を全てランダムに選択した場合の遺伝的アルゴリズムの処理結果を示し、図10は、近似解演算部18が数理計画法により求めた複数の近似解を初期個体群に含めた場合のGA処理部20による遺伝的アルゴリズムの処理結果を示し、図10は、近似解演算部18が確率更新法により求めた複数の近似解を初期個体群に含めた場合のGA処理部20による遺伝的アルゴリズムの処理結果を示す。図9図10を比較すると、数理計画法により求めた複数の近似解を初期個体群に含めることで、遺伝的アルゴリズムによって、従来よりも最適解に近い出力解を得ることができることが分かる。同様に、図9図11を比較すると、確率更新法により求めた複数の近似解を初期個体群に含めることで、遺伝的アルゴリズムによって、従来よりも最適解に近い出力解を得ることができることが分かる。
【0068】
図12図14は、生産ラインLの各処理ユニットUのサイクルタイムが図5に示す第2サイクルタイム表に示すものである場合における、GA処理部20の出力解である出力生産計画の負荷時間の分布を示すヒストグラムである。図12図14のグラフにおいても、横軸がGA処理部20の出力生産計画の負荷時間を示し、縦軸が頻度を示す。図12図14の例でも、最適解である最適生産計画の負荷時間は約0.2×10秒である。
【0069】
図12は、従来の、つまり、初期個体群を全てランダムに選択した場合の遺伝的アルゴリズムの処理結果を示し、図13は、近似解演算部18が数理計画法により求めた複数の近似解を初期個体群に含めた場合のGA処理部20による遺伝的アルゴリズムの処理結果を示し、図14は、近似解演算部18が確率更新法により求めた複数の近似解を初期個体群に含めた場合のGA処理部20による遺伝的アルゴリズムの処理結果を示す。図12図13を比較すると、各処理ユニットUのサイクルタイムが第2サイクルタイム表に示されたようなものである場合、つまり、数理計画法によって、生産ラインLにおいて干渉が多く発生してしまうような近似生産計画が求められ得る場合、数理計画法により求めた複数の近似解を初期個体群に含めても、従来に比して大きな効果が認められないことが分かる。これに比して、図12図14を比較すると、数理計画法によって、生産ラインLにおいて干渉が多く発生してしまうような近似生産計画が求められ得る場合であっても、確率更新法により求めた複数の近似解を初期個体群に含めることで、遺伝的アルゴリズムによって、従来よりも最適解に近い出力解を得ることができることが分かる。
【0070】
図15は、生産ラインLの各処理ユニットUのサイクルタイムが図4に示す第1サイクルタイム表に示すものである場合における、GA処理部20による遺伝的アルゴリズムにおける世代数と、各世代に含まれる解(生産計画)の負荷時間の関係を示すグラフである。図15のグラフにおいて、横軸が遺伝的アルゴリズムにおける世代数を示し、縦軸が負荷時間を示す。図15の例でも、最適解である最適生産計画の負荷時間は約0.2×10秒である。
【0071】
図15において、四角のプロットは、従来の、つまり、初期個体群を全てランダムに選択した場合の遺伝的アルゴリズムの処理結果を示し、三角のプロットは、近似解演算部18が数理計画法により求めた複数の近似解を初期個体群に含めた場合のGA処理部20による遺伝的アルゴリズムの処理結果を示し、丸のプロットは、近似解演算部18が確率更新法により求めた複数の近似解を初期個体群に含めた場合のGA処理部20による遺伝的アルゴリズムの処理結果を示す。四角のプロットと三角のプロットを比較すると、数理計画法により求めた複数の近似解を初期個体群に含めることで、遺伝的アルゴリズムによって、従来よりも早い世代で最適解に近い解を得ることができることが分かる。つまり、遺伝的アルゴリズムによる最適解の探索処理に係る処理時間(最適解にある程度近い解を得るまでの時間)が低減されていることが分かる。同様に、四角のプロットと丸のプロットを比較すると、確率更新法により求めた複数の近似解を初期個体群に含めることで、遺伝的アルゴリズムによって、従来よりも早い世代で最適解に近い解を得ることができることが分かる。
【0072】
図16は、生産ラインLの各処理ユニットUのサイクルタイムが図5に示す第2サイクルタイム表に示すものである場合における、GA処理部20による遺伝的アルゴリズムにおける世代数と、各世代に含まれる解(生産計画)の負荷時間の関係を示すグラフである。図16のグラフにおいて、横軸が遺伝的アルゴリズムにおける世代数を示し、縦軸が負荷時間を示す。図16の例でも、最適解である最適生産計画の負荷時間は約0.2×10秒である。
【0073】
図16においても、四角のプロットは、従来の、つまり、初期個体群を全てランダムに選択した場合の遺伝的アルゴリズムの処理結果を示し、三角のプロットは、近似解演算部18が数理計画法により求めた複数の近似解を初期個体群に含めた場合のGA処理部20による遺伝的アルゴリズムの処理結果を示し、丸のプロットは、近似解演算部18が確率更新法により求めた複数の近似解を初期個体群に含めた場合のGA処理部20による遺伝的アルゴリズムの処理結果を示す。四角のプロットと三角のプロットを比較すると、各処理ユニットUのサイクルタイムが第2サイクルタイム表に示されたようなものである場合、つまり、数理計画法によって、生産ラインLにおいて干渉が多く発生してしまうような近似生産計画が求められ得る場合、数理計画法により求めた複数の近似解を初期個体群に含めても、遺伝的アルゴリズムによる最適解の探索処理に係る時間の低減についても従来に比して大きな効果が認められないことが分かる。これに比して、四角のプロットと丸のプロットを比較すると、確率更新法により求めた複数の近似解を初期個体群に含めることで、遺伝的アルゴリズムによって、従来よりも早い世代で最適解に近い解を得ることができることが分かる。
【0074】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【0075】
10 最適解探索装置、12 通信インターフェース、14 メモリ、16 プロセッサ、18 近似解演算部、20 GA処理部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17