(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024171885
(43)【公開日】2024-12-12
(54)【発明の名称】生産物流計画生成装置、最適化問題求解装置および生産物流計画生成方法
(51)【国際特許分類】
G06Q 10/04 20230101AFI20241205BHJP
G06Q 50/04 20120101ALI20241205BHJP
G06Q 10/087 20230101ALI20241205BHJP
G06Q 10/083 20240101ALI20241205BHJP
【FI】
G06Q10/04
G06Q50/04
G06Q10/087
G06Q10/083
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023089158
(22)【出願日】2023-05-30
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】伊藤 瑞生
(72)【発明者】
【氏名】杉田 悠介
(72)【発明者】
【氏名】小埜 和夫
【テーマコード(参考)】
5L010
5L049
5L050
【Fターム(参考)】
5L010AA04
5L010AA16
5L049AA04
5L049AA16
5L049CC04
5L050CC04
(57)【要約】
【課題】生産物流計画に関する最適化問題を求解することが、より容易になる生産物流計画生成装置、生産物流計画生成方法等を提供することを目的とする。
【解決手段】生産物流計画に関し、目的関数と制約条件を有する最適化問題を求解する生産物流計画生成装置100であって、最適化問題の生成に必要な入力情報を取得する入力情報取得部11と、入力情報を基に、緩和変数を含む第一の最適化問題を生成する第一段階問題生成部12と、第一の最適化問題を演算し、目的関数に対する最適解を求める第一段階最適化処理部13と、緩和変数について統計量を固定した第二の最適化問題を生成する第二段階問題生成部14と、第一段階最適化処理部で演算された最適解を初期解とし、第二の最適化問題を演算し、目的関数に対する最適解を求める第二段階最適化処理部15と、を備える生産物流計画生成装置100。
【選択図】
図3
【特許請求の範囲】
【請求項1】
生産物流計画に関し、目的関数と制約条件を有する最適化問題を求解する生産物流計画生成装置であって、
前記最適化問題の生成に必要な入力情報を取得する入力情報取得部と、
前記入力情報を基に、緩和変数を含む第一の最適化問題を生成する第一段階問題生成部と、
前記第一の最適化問題を演算し、目的関数に対する最適解を求める第一段階最適化処理部と、
前記緩和変数について統計量を固定した第二の最適化問題を生成する第二段階問題生成部と、
前記第一段階最適化処理部で演算された最適解を初期解とし、前記第二の最適化問題を演算し、目的関数に対する最適解を求める第二段階最適化処理部と、
を備える生産物流計画生成装置。
【請求項2】
前記第二段階最適化処理部は、前記緩和変数以外の決定変数の定義域を限定して前記第二の最適化問題を演算する請求項1に記載の生産物流計画生成装置。
【請求項3】
前記第二段階最適化処理部は、前記初期解を基に決定変数の定義域を限定する請求項2に記載の生産物流計画生成装置。
【請求項4】
前記第一段階最適化処理部は、目的関数および制約条件がともに1次式で構成される線形計画問題を前記第一の最適化問題として演算し、
前記第二段階最適化処理部は、目的関数に2次式を備える2次計画問題を前記第二の最適化問題として演算する請求項1に記載の生産物流計画生成装置。
【請求項5】
前記第二段階問題生成部で生成される目的関数は、前記第一段階最適化処理部で生成される目的関数に2次項を加算したものである請求項4に記載の生産物流計画生成装置。
【請求項6】
前記2次項は、輸送量平準化または集約参考度を表す請求項5に記載の生産物流計画生成装置。
【請求項7】
前記第二の最適化問題の制約条件は、前記第一の最適化問題の制約条件に加え、前記緩和変数について統計量を固定する制約条件を加えたものである請求項1に記載の生産物流計画生成装置。
【請求項8】
前記緩和変数について統計量を固定する制約条件は、前記第一段階最適化処理部で求められた、前記緩和変数の最適解を用いて作成される請求項7に記載の生産物流計画生成装置。
【請求項9】
目的関数と制約条件を有する最適化問題を求解する最適化問題求解装置であって、
緩和変数を含む第一の最適化問題を演算し、目的関数に対する最適解を求める第一段階最適化処理部と、
前記第一段階最適化処理部で演算された最適解を初期解とし、前記緩和変数について統計量を固定するとともに前記緩和変数以外の決定変数の定義域を限定して、第二の最適化問題を演算し、目的関数に対する最適解を求める第二段階最適化処理部と、
を備える最適化問題求解装置。
【請求項10】
前記第一段階最適化処理部は、目的関数および制約条件がともに1次式で構成される線形計画問題を前記第一の最適化問題として演算し、
前記第二段階最適化処理部は、目的関数に2次式を備える2次計画問題を前記第二の最適化問題として演算する請求項9に記載の最適化問題求解装置。
【請求項11】
生産物流計画に関し、目的関数と制約条件を有する最適化問題を求解する生産物流計画生成方法であって、
プロセッサがメモリに記録されたプログラムを実行することにより、
前記最適化問題の生成に必要な入力情報を取得し、
前記入力情報を基に、緩和変数を含む第一の最適化問題を生成し、
前記第一の最適化問題を演算し、目的関数に対する最適解を求め、
前記緩和変数について統計量を固定した第二の最適化問題を生成し、
前記第一の最適化問題に対し演算された最適解を初期解とし、前記第二の最適化問題を演算し、目的関数に対する最適解を求める、
生産物流計画生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生産物流計画生成装置、最適化問題求解装置および生産物流計画生成方法に関する。本発明は、特に、生産物に対する物流計画を立案するときに好適に使用できる生産物流計画生成装置等に関する。
【背景技術】
【0002】
近年、企業のグローバル化が進み、調達、生産、物流、販売プロセスの情報を一元的に管理し全体最適を図る経営手法であるサプライチェーンマネジメントが注目されている。そのために、生産物流計画等に関し、目的関数と制約条件を有する最適化問題を求解する手法が用いられることがある。産業分野における生産物流計画等の実問題では、各商品の需要量に応じた適切な生産配分、輸送ルートの選出、在庫配置をコスト最小化のもと計画する必要がある。
社会課題で解くことが求められるサプライチェーンマネジメントは問題規模が大きく複雑で、全ての制約条件を満たそうとすると実行不可能となるケースが多々ある。
そのため、従来は、多数の制約条件の中から違反の原因となる制約式を特定し、制約式を除外・変更したり、該当する制約式に含まれる変数を定数に置き換える等して対応していた。もしくは対応する入力データにバッチ処理等を施すことで対応していた。
【0003】
特許文献1には、スケジュール作成装置は、数理計画問題に基づいて、生産又は物流に係るスケジュールを作成することが記載されている。緩和問題構築部は、数理計画問題から制約の一部を取り除き、取り除いた制約の違反量に対してペナルティが課されるように目的関数を修正したラグランジュ緩和問題を構築する。緩和問題求解部は、緩和問題構築部で構築したラグランジュ緩和問題を求解する。固定化部は、緩和問題求解部で求解した結果に基づいて数理計画問題に含まれる条件を固定化する。主問題求解部は、固定化部で条件を固定化した数理計画問題を求解する。
【0004】
特許文献2には、最適化支援装置について記載されている。この最適化支援装置は、最適化問題の入力情報を取得する入力情報取得部、最適化問題の決定変数を設定する決定変数設定部、最適化問題の一部の制約条件を緩和した子問題の目的関数を設定する目的関数設定部、分解した決定変数を変数、目的関数の係数をノード間の結合の重みの値として量子計算機に入力する入力部を備える。また、この最適化支援装置は、量子計算機から子問題の最適解を取得し、子問題の目的関数の最適値を求める結果取得部、最適解を束ねた緩和解と、最適値を加え合わせた緩和最適値に基づき、一部の制約条件具備の場合、緩和解を元の最適化問題の最適解とし、一部の制約条件不備の場合、緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする最適解決定部をさらに備える。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-191803号公報
【特許文献2】特開2020-181576号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
生産物流計画を最適化問題として解くにあたり、例えば、欠品量や下限在庫不足量という、制約を緩和させる変数である緩和変数を用いない定式化では計画が立てられない、すなわち実行可能解がないケースが多くあった。これを避けるため、緩和変数を導入すると、問題規模が大きくなり、例えば、2次式を含む2次計画問題が解けなくなってしまうという問題があった。一般に2次計画問題を解くことは、1次式のみで構成される線形計画問題を解くことに比べて非常に難しい。
本発明は、生産物流計画に関する最適化問題を求解することが、より容易になる生産物流計画生成装置、生産物流計画生成方法を提供することを目的とする。また、従来より、最適化問題を求解することが、より容易になる最適化問題求解装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するため本発明は、生産物流計画に関し、目的関数と制約条件を有する最適化問題を求解する生産物流計画生成装置であって、最適化問題の生成に必要な入力情報を取得する入力情報取得部と、入力情報を基に、緩和変数を含む第一の最適化問題を生成する第一段階問題生成部と、第一の最適化問題を演算し、目的関数に対する最適解を求める第一段階最適化処理部と、緩和変数について統計量を固定した第二の最適化問題を生成する第二段階問題生成部と、第一段階最適化処理部で演算された最適解を初期解とし、第二の最適化問題を演算し、目的関数に対する最適解を求める第二段階最適化処理部と、を備える生産物流計画生成装置を提供する。この場合、生産物流計画に関する最適化問題を求解することが、より容易になる生産物流計画生成装置を提供することができる。
【0008】
ここで、第二段階最適化処理部は、緩和変数以外の決定変数の定義域を限定して第二の最適化問題を演算するようにできる。この場合、第二の最適化問題に対する最適解を求解するときの算出速度が向上する。
また、第二段階最適化処理部は、初期解を基に決定変数の定義域を限定するようにできる。この場合、第二の最適化問題に対する最適解が存在すると予想される範囲を定義域とすることができる。
さらに、第一段階最適化処理部は、目的関数および制約条件がともに1次式で構成される線形計画問題を第一の最適化問題として演算し、第二段階最適化処理部は、目的関数に2次式を備える2次計画問題を第二の最適化問題として演算するようにできる。この場合、生産物流計画に関する2次計画問題を求解することが、より容易になる。
またさらに、第二段階問題生成部で生成される目的関数は、第一段階最適化処理部で生成される目的関数に2次項を加算したものにすることができる。この場合、線形計画問題による最適解を基に、より容易に2次計画問題を求解することができる。
また、2次項は、輸送量平準化または集約参考度を表すようにできる。この場合、生産物流計画において重要なパラメータに対し最適解を求めることができる。
さらに、第二の最適化問題の制約条件は、第一の最適化問題の制約条件に加え、緩和変数について統計量を固定する制約条件を加えたものにすることができる。この場合、緩和変数について統計量を固定することを、制約条件を設定することで実現できる。
またさらに、緩和変数について統計量を固定する制約条件は、第一段階最適化処理部で求められた、緩和変数の最適解を用いて作成するようにできる。この場合、緩和変数を、より妥当な統計量に固定することができる。
【0009】
また、本発明は、目的関数と制約条件を有する最適化問題を求解する最適化問題求解装置であって、緩和変数を含む第一の最適化問題を演算し、目的関数に対する最適解を求める第一段階最適化処理部と、第一段階最適化処理部で演算された最適解を初期解とし、緩和変数について統計量を固定するとともに緩和変数以外の決定変数の定義域を限定して、第二の最適化問題を演算し、目的関数に対する最適解を求める第二段階最適化処理部と、を備える最適化問題求解装置を提供する。この場合、従来より、最適化問題を求解することが、より容易になる最適化問題求解装置を提供することができる。
【0010】
ここで、第一段階最適化処理部は、目的関数および制約条件がともに1次式で構成される線形計画問題を第一の最適化問題として演算し、第二段階最適化処理部は、目的関数に2次式を備える2次計画問題を第二の最適化問題として演算するようにできる。この場合、2次計画問題を求解することが、より容易になる。
【0011】
さらに、本発明は、生産物流計画に関し、目的関数と制約条件を有する最適化問題を求解する生産物流計画生成方法であって、プロセッサがメモリに記録されたプログラムを実行することにより、最適化問題の生成に必要な入力情報を取得し、入力情報を基に、緩和変数を含む第一の最適化問題を生成し、第一の最適化問題を演算し、目的関数に対する最適解を求め、緩和変数について統計量を固定した第二の最適化問題を生成し、第一の最適化問題に対し演算された最適解を初期解とし、第二の最適化問題を演算し、目的関数に対する最適解を求める、生産物流計画生成方法を提供できる。この場合、生産物流計画に関する最適化問題を求解することが、より容易になる生産物流計画生成方法を提供することができる。
【発明の効果】
【0012】
本発明によれば、生産物流計画に関する最適化問題を求解することが、より容易になる生産物流計画生成装置、生産物流計画生成方法を提供することができる。また、従来より、最適化問題を求解することが、より容易になる最適化問題求解装置を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】本実施形態に係るサプライチェーン最適化システムの構成の概略を示した図である。
【
図2】本実施形態の生産物流計画生成装置のハードウェア構成を示した図である。
【
図3】生産物流計画生成装置の機能構成を示したブロック図である。
【
図4】第一段階問題生成部、第一段階最適化処理部、第二段階問題生成部および第二段階最適化処理部における処理の流れを説明したフローチャートである。
【発明を実施するための形態】
【0014】
以下、サプライチェーン最適化システムの一実施形態について、図面に基づいて詳細に説明する。尚、以下の説明において、同一の又は類似する構成に共通の符号を付して重複した説明を省略することがある。また同一あるいは同様の機能を有する要素が複数ある場合に同一の符号に異なる添字を付して説明することがある。また複数の要素を区別する必要がない場合は添字を省略して説明することがある。
【0015】
<サプライチェーン最適化システム10の構成の概略の説明>
図1は、本実施形態に係るサプライチェーン最適化システム10の構成の概略を示した図である。
図1に示すように、本実施形態のサプライチェーン最適化システム10は、生産物流計画生成装置100と、ユーザ端末200と、生産物流情報通信システム300とを備える。生産物流計画生成装置100、ユーザ端末200および生産物流情報通信システム300は、ネットワーク1に接続されている。
【0016】
生産物流計画生成装置100は、生産物流計画に関し、目的関数と制約条件を有する最適化問題を求解する。生産物流計画生成装置100は、生産物流計画における対象商品の商品数や、重要指標である目的関数項、考慮すべき制約条件数の多寡に係わらず、各工場における商品の製造量、各倉庫における在庫量、輸送経路および輸送量等、所望期間の生産物流計画を効率的に生成することが可能な演算装置である。
ユーザ端末200は、生産物流計画生成装置100から、対象商品の生産物流計画に関する情報提供を受ける端末である。
生産物流情報通信システム300は、生産物流計画において必要な情報を生産物流計画生成装置100に対し送信する。
ネットワーク1は、生産物流計画生成装置100、ユーザ端末200および生産物流情報通信システム300の間の情報通信に用いられる通信手段であり、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)である。情報通信に用いられる通信回線は、有線か無線かを問わず、またこれらを併用してもよい。また、生産物流計画生成装置100、ユーザ端末200および生産物流情報通信システム300は、ゲートウェイ装置やルータ等の中継装置を用い、複数のネットワークや通信回線を介して接続されてもよい。
【0017】
サプライチェーン最適化システム10は、例えば、以下のような形態として利用される。つまり、ユーザ端末200を操作するユーザから、生産物流計画の作成依頼を生産物流計画生成装置100に対し送信する。生産物流計画生成装置100は、生産物流情報通信システム300から生産物流計画において必要な情報を取得し、生産物流計画を立案する。そして立案した生産物流計画を、ユーザ端末200に返信する。この場合、例えば、生産物流計画生成装置100を、クラウド上で動作するサーバコンピュータに実装し、クラウドサービスとして提供することができる。
【0018】
生産物流計画生成装置100、ユーザ端末200および生産物流情報通信システム300は、例えば、サーバコンピュータ、汎用のパーソナルコンピュータ(PC)、モバイルコンピュータ、携帯電話、スマートフォン、タブレット等のコンピュータ装置である。そして、これらは、OS(Operating System)による管理下において、各種アプリケーションソフトウェアを動作させる。生産物流計画生成装置100、ユーザ端末200および生産物流情報通信システム300は、何れもほぼ同様のハードウェア構成を備える。よって、以下、生産物流計画生成装置100について代表してハードウェア構成の説明を行う。
【0019】
図2は、本実施形態の生産物流計画生成装置100のハードウェア構成を示した図である。
図示するように、生産物流計画生成装置100は、記憶部101、メモリ103、演算部104、および通信部105を備えている。
記憶部101は、SSD(Solid State Drive)やハードディスクドライブ等の不揮発性記憶素子で構成される。
メモリ103は、RAM(Random Access Memory)等の揮発性記憶素子で構成される。また、ROM(Read Only Memory)等の不揮発性記憶素子で構成されていてもよい。メモリ103には、生産物流情報通信システム300から得た生産・物流データ120が保持される。
演算部104は、プログラム102をメモリ103に呼び出して、演算や判定等を行うCPU(Central Processing Unit)等のプロセッサである。
通信部105は、ネットワーク1と接続して、ユーザ端末200や生産物流情報通信システム300と通信を行うネットワークインタフェースである。
また、図示はしていないが、生産物流計画生成装置100は、ビデオメモリやディスプレイ等からなる表示部や、キーボート、マウス等の入力部を備えていてもよい。なお、表示部および入力部は、これらの双方の機能を兼ね備えるタッチパネルであってもよい。
【0020】
<生産物流計画生成装置100の詳細説明>
次に、生産物流計画生成装置100について詳細に説明する。
図3は、生産物流計画生成装置100の機能構成を示したブロック図である。
生産物流計画生成装置100は、入力情報取得部11、第一段階問題生成部12、第一段階最適化処理部13、第二段階問題生成部14、第二段階最適化処理部15、結果出力部16を備える。そして、生産物流計画生成装置100は、プログラム102を実行することにより、これらの部を動作させ、最終生産物流計画案として出力する。
【0021】
入力情報取得部11は、生産物流情報通信システム300から、生産物流計画に関する最適化問題の生成に必要な入力情報を取得する。入力情報には、生産・物流データ120が含まれる。
【0022】
生産・物流データ120には、工場・倉庫データ、商品データ、需要予測データ、輸送経路データ、初期在庫データ、生産能力データが含まれる。
工場・倉庫データには、商品を製造・保管・出荷する工場および倉庫のデータが格納されている。例えば、工場Xでは商品Aを1週間で50個生産することができるという情報などが格納されている。
商品データには、生産・物流計画で取り扱う全ての商品についてのデータが格納されている。
需要予測データには、各出荷倉庫から各商品がどれくらい出荷されるかについてのデータが格納されている。例えば、出荷倉庫Yからは1ヶ月あたり商品Aが1000個、商品Bが2000個出荷されることが予想されるという情報などが格納されている。
輸送経路データには、各工場および倉庫間の輸送コストが格納されている。例えば、商品Aを工場Xから倉庫Zに輸送するときにかかる費用は商品Aについて、1個あたり3円であるという情報などが格納されている。
初期在庫データには、計画立案時点で、各工場・倉庫に各商品の在庫がどれくらい保管されているかの情報が格納されている。例えば、倉庫Zには計画立案時点で、商品Aが400個、商品Bが500個、商品Cが600個保管されているという情報などが格納されている。
【0023】
第一段階問題生成部12は、入力情報取得部11で取得した入力情報を基に、緩和変数を含む第一の最適化問題を生成する。第一段階問題生成部12では、以下のように、決定変数、定数、集合、目的関数、制約条件を定めて、第一の最適化問題として定式化する。
【0024】
(決定変数)
xi,j,d:商品iを場所jで1か月間に生産する割合(d月目)
wi,j1,j2,d:商品iを場所j1から場所j2に1か月間で輸送する量(d月目)
si,j,d:商品iの場所jにおける在庫量(d月目)
gi,j,d:下限在庫の制約条件を緩和するための変数(0以上)
hi,j,d:場所jにおける商品iの欠品数(0以上)
ここでは、工場・倉庫をまとめて場所と呼ぶことにする。下限在庫とは、各場所について急な需要に対応するため出来れば保有しておくべき在庫量を指す。上記決定変数のうち、gi,j,dとhi,j,dが緩和変数である。緩和変数とは、各種制約条件を緩和することを表現する変数(違反量を表現する補助変数)のことを言う。
【0025】
(定数)
cm
i,j,d:商品iを場所jで1か月間生産するときのコスト(円/月)
ct
i,j1,j2,d:商品iを場所j1から場所j2に輸送するときのコスト(円/個)
cs
i,j:商品iの場所jにおける保管コスト(円/個)
ai,j,d:商品iを場所jで生産する能力(個/月)
di,j,d:商品iの場所jにおける出荷量(個)
uj:場所jの保管可能な在庫量上限(個)
li,j,d:商品iの場所jにおける下限在庫量(個)
ここでは、工場・倉庫をまとめて場所と呼ぶことにする。下限在庫とは、各場所について急な需要に対応するため出来る限り保有しておくべき在庫量を指す。
【0026】
(集合)
Pj:場所jへ向かうことができる場所の集合
Qj:場所jから向かうことができる場所の集合
【0027】
(目的関数(最小化))
目的関数は、生産コスト、輸送コスト、保管コスト、下限在庫不足量、欠品許容量を足し合わせたものであり式1で表される。
【0028】
【0029】
ただし、この他に各種コストが付け足されてもよい。λ(λ1、λ2)は各目的関数項に重み付けをするためのペナルティ係数を示す。式1は全て1次式で構成されている。
【0030】
(制約条件)
第一段階問題生成部12が生成する制約条件は、例えば、以下の(1)~(4)である。
(1)期間dに場所jにある商品iの在庫数+期間dに場所jで生産した商品iの個数+期間dに他の場所から場所jへ輸送された商品iの在庫数+期間dに場所jから他の場所へ輸送された商品iの在庫数-期間dに場所jから出荷された商品iの個数=期間(d+1)に場所jにある商品iの在庫数-場所jにおける商品iの欠品数
【0031】
【0032】
(2)場所jにおいて商品iの在庫量は、設定した下限在庫数を下回ってはいけない。
【0033】
【0034】
(3)場所jで生産能力以上の商品個数を生産してはいけない。
【0035】
【0036】
(4)場所jの在庫量は在庫上限を上回ってはいけない。
【0037】
【0038】
ただし、必要に応じて、これらの制約条件の他にさらに制約条件を付加・削除してもよい。例えば、1か所の工場でつくることができる商品種類数より多くの種類の商品をつくってはいけないという制約を加えてもよい。
以上の制約条件は全て1次式で表されており、目的関数と合わせて線形計画問題として解くことができる。
【0039】
第一段階最適化処理部13は、第一の最適化問題を演算し、目的関数に対する最適解を求める。これにより、第一段階最適化処理部13は、生産物流計画に関する各種コストを最小化するような最適解を求める。第一段階最適化処理部13では、以上の決定変数、定数、目的関数、制約条件を用いて、線形計画問題の最適化計算を行う。この計算は、例えば、最適化ソルバーを使用して行うことができる。最適化ソルバーとしては、例えば、PuLPやGurobiを用いることができる。
【0040】
第一段階最適化処理部13の出力結果として、上記決定変数のxi,j,d、wi,j1,j2,d、si,j,d、gi,j,d、hi,j,dに定数値が割り当てられた結果が得られる。この場合、第一段階最適化処理部13は、目的関数および制約条件がともに1次式で構成される線形計画問題を第一の最適化問題として演算する、と言うこともできる。
【0041】
第二段階問題生成部14は、緩和変数について統計量を固定した第二の最適化問題を生成する。第二段階問題生成部14では、以下のように、決定変数、定数、目的関数、制約条件を定めて、最適化問題として定式化する。このとき、目的関数に2次項を追加する。また制約条件には、制約条件を緩和することを表現する変数、つまり違反量を表現する補助変数である緩和変数に対して、その統計量を固定する制約式を追加する。
【0042】
(決定変数)
xi,j,d:商品iを場所jで1か月間に生産する割合(d月目)
wi,j1,j2:商品iを場所j1から場所j2に1か月間で輸送する量(d月目)
si,j,d:商品iの場所jにおける在庫量(d月目)
gi,j,d:下限在庫の制約条件を緩和するための変数(0以上)
hi,j,d:場所jにおける商品iの欠品数(0以上)
ここでは、工場・倉庫をまとめて場所と呼ぶことにする。下限在庫とは、各場所について急な需要に対応するため保有しておくべき在庫量を指す。上記決定変数のうち、gi,j,dとhi,j,dが緩和変数である。
【0043】
(定数)
cm
i,j,d商品iを場所jで1か月間生産するときのコスト(円/月)
ct
i,j1,j2,d:商品iを場所j1から場所j2に輸送するときのコスト(円/個)
cs
i,j:商品iの場所jにおける保管コスト(円/個)
ai,j,d:商品iを場所jで生産する能力(個/月)
di,j,d:商品iの場所jにおける出荷量(個)
uj:場所jの保管可能な在庫量上限(個)
li,j,d:商品iの場所jにおける下限在庫量(個)
mg:第一段階目の出力結果であるgの総和
mh:第二段階目の出力結果であるhの総和
ここでは、工場・倉庫をまとめて場所と呼ぶことにする。下限在庫とは、各場所について急な需要に対応するため出来れば保有しておくべき在庫量を指す。
【0044】
(集合)
Pj:場所jへ向かうことができる場所の集合
Qj:場所jから向かうことができる場所の集合
【0045】
(目的関数(最小化))
目的関数は、生産コスト、輸送コスト、保管コスト、下限在庫不足量、欠品許容量、輸送量平準化を足し合わせたものであり式6で表される。
【0046】
【0047】
ただし、この他に各種コストが付け足されてもよい。例えば、似た商品は同じ生産ラインで生産するという目的関数を付け加えてもよい。λ(λ1、λ2、λ3)は各目的関数項に重み付けをするためのペナルティ係数を示す。この場合、第二段階問題生成部14で生成される目的関数は、第一段階最適化処理部13で生成される目的関数に2次項を加算したものである、と言うこともできる。つまり、式1と式6とを比較すると、式6は式1に対し、輸送量平準化を表す第6項が2次項として加わる。また、2次項として、集約参考度(一般には商品類似度)を表すものを加えてもよい。輸送量平準化や集約参考度を表す2次項を目的関数に加えることで、生産物流計画において重要なパラメータに対し最適解を求めることができる。
【0048】
(制約条件)
第二段階問題生成部14が生成する制約条件は、例えば、以下の(5)~(10)である。
(5)期間dに場所jにある商品iの在庫数+期間dに場所jで生産した商品iの個数+期間dに他の場所から場所jへ輸送された商品iの在庫数+期間dに場所jから他の場所へ輸送された商品iの在庫数-期間dに場所jから出荷された商品iの個数=期間(d+1)に場所jにある商品iの在庫数-場所jにおける商品iの欠品数
【0049】
【0050】
(6)場所jにおいて商品iの在庫量は、設定した下限在庫数を下回ってはいけない。
【0051】
【0052】
(7)場所jで生産能力以上の商品個数を生産してはいけない。
【0053】
【0054】
(8)場所jの在庫量は在庫上限を上回ってはいけない。
【0055】
【0056】
(9)緩和変数gi,j,dの統計量を固定するための制約式
【0057】
【0058】
(10)緩和変数hi,j,dの統計量を固定するための制約式
【0059】
【0060】
この場合、第二の最適化問題の制約条件は、第一の最適化問題の制約条件に加え、緩和変数について統計量を固定する制約条件を加えたものである、と言うことができる。つまり、第一の最適化問題の制約条件は、式2~5であり、第二の最適化問題の制約条件は、式7~12である。そして、式2~5と式7~10とは同じであるため、第二の最適化問題の制約条件は、緩和変数について統計量を固定する、式11~12が加わったものであると言うことができる。
【0061】
また、式11~12は、緩和変数に対して、その統計量を固定する制約式である。この場合、緩和変数について統計量を固定することを、制約条件を設定することで実現できる。式11では、gi,j,dの総和がmg以下であるように、その統計量を固定する。また、式12では、hi,j,dの総和がmh以下であるように、その統計量を固定する。mgは、第一段階最適化処理部13が、第一の最適化問題で、gi,j,dについて求めた最適解であり、定数である。mhは、第一段階最適化処理部13が、第一の最適化問題で、hi,j,dについて求めた最適解であり、定数である。つまり、緩和変数について統計量を固定する制約条件は、第一段階最適化処理部13で求められた、緩和変数の最適解を用いて作成される、と言うこともできる。この場合、緩和変数を、より妥当な統計量に固定することができる。
【0062】
ただし、必要に応じてこの他に制約条件を付加・削除してもよい。例えば、1か所の工場でつくることができる商品種類数より多くの種類の商品をつくってはいけないという制約を加えてもよい。制約条件を表す式7~12のうち、式11と式12が第二段階問題生成部で新たに加わる制約式である。緩和変数gi,j,dと緩和変数hi,j,dは第一段階の結果から解を悪化させてはいけないため、その統計量、すなわち本定式化の場合では総和に関する不等式を設定した。
以上の制約条件は全て1次式で表されており、目的関数と合わせて2次計画問題として解くことができる。
【0063】
第二段階最適化処理部15は、第一段階最適化処理部13で演算された最適解を初期解とし、第二の最適化問題を演算し、目的関数に対する最適解を求める。これにより、第二段階最適化処理部15は、生産物流計画に関する各種コストを最小化するような最適解を求める。第二段階最適化処理部15で演算される最適解は、第一段階最適化処理部13で演算された最適解に近い値になると予想される。よって、このとき第一段階最適化処理部13で演算された最適解を初期解として用いることで、第二段階最適化処理部15での算出速度が向上する。第二段階最適化処理部15では、以上の決定変数、定数、目的関数、制約条件を用いて、2次計画問題の最適化計算を行う。この計算は、例えば、最適化ソルバーを使用して行うことができる。最適化ソルバーとしては、例えば、CMOSアニーリングを用いることができる。
【0064】
このとき、第二段階最適化処理部15は、緩和変数以外の決定変数の定義域を限定して第二の最適化問題を演算する。これにより、第二の最適化問題に対する最適解を求解するときの算出速度がさらに向上する。この場合、決定変数であるxi,j,d、wi,j1,j2,d、si,j,dについて、その数値範囲を限定して演算する。具体的には、第二段階最適化処理部15は、第一段階最適化処理部13で演算された最適解である初期解を基に決定変数の定義域を限定する。さらに具体的には、例えば、決定変数の定義域を初期解以上とする。また、例えば、決定変数の定義域を初期解以下とする。さらに、例えば、初期解の定義域を、初期解を挟み所定の範囲内とする。この範囲は、決定変数ごとに予め定められた範囲としてもよく、初期解ごとに変更するようにしてもよい。これにより、第二の最適化問題に対する最適解が存在すると予想される範囲を定義域とすることができる。
【0065】
出力結果として、上記決定変数のxi,j,d、wi,j1,j2,d、si,j,d、gi,j,d、hi,j,dに定数値が割り当てられた結果が得られる。この場合、第二段階最適化処理部15は、目的関数に2次式を備える2次計画問題を第二の最適化問題として演算する、と言うこともできる。
【0066】
図4は、第一段階問題生成部12、第一段階最適化処理部13、第二段階問題生成部14および第二段階最適化処理部15における処理の流れを説明したフローチャートである。
【0067】
はじめに、第一段階問題生成部12が、月次で計画を作成する際に最小化すべきコストとして目的関数を設定する(S1)。
【0068】
次に、第一段階問題生成部12が、月次で計画を作成する際に満たすべき条件である制約条件を設定する(S2)。
【0069】
さらに、第一段階最適化処理部13が、最小構成単位時間を月とし、1~12月の各1か月間の各工場における商品の製造量、各倉庫の在庫量、輸送経路および輸送量を表す決定変数を決定する(S3)。即ち、第一段階最適化処理部13が、S1で設定された目的関数およびS2で設定された制約条件を有する線形計画問題の最適化計算を行う。
【0070】
そして、第二段階問題生成部14が、S3で導出した結果を使用し、第2段階で解く際の初期解を取得する(S4)。その際、1段階目で解いた結果をもとに、2段階目で解く際の変数の定義域を限定させる。
【0071】
次に、第二段階問題生成部14は、目的関数の更新を行う(S5)。すなわち目的関数に2次項を新たに設定することで2次計画問題の形になるように目的関数の更新を行う。
【0072】
さらに、第二段階問題生成部14は、制約条件の更新を行う(S6)。その際、緩和変数は初期解の時点で、その統計量を固定する。
【0073】
そして、第二段階最適化処理部15は、第2段階で設定した2次計画問題について、最小構成単位時間を月とし、1~12月の各1か月間の各工場における商品の製造量、各倉庫の在庫量、輸送経路および輸送量を表す決定変数を決定する(S7)。即ち、第二段階最適化処理部15が、S5で更新された目的関数およびS6で更新された制約条件を有する2次計画問題の最適化計算を行う。
【0074】
以上のようにして、第一段階問題生成部12、第一段階最適化処理部13、第二段階問題生成部14および第二段階最適化処理部15は、S1からS7のステップを順次実行していき、2次の目的関数を計画に考慮した月ごとの最終生産物流計画案を作成し、最適化処理を終了する。
以上が、第一段階問題生成部12、第一段階最適化処理部13、第二段階問題生成部14および第二段階最適化処理部15における2段階最適化処理の操作内容となる。
【0075】
第二段階最適化処理部15の全処理が終了後、結果出力部16において、最適化問題の結果である全ての決定変数を取得することで所望期間の生産物流計画を作成し、ディスプレイに表示させる。情報の出力形式は任意であり、データファイル等の様々な形式で出力することができる。
【0076】
これまでの説明から明らかなように、生産物流計画生成装置100は、入力情報取得部11、第一段階問題生成部12、第一段階最適化処理部13、第二段階問題生成部14、第二段階最適化処理部15、結果出力部16を含み、生産物流計画の大規模問題に対して2次項を考慮した結果を出力する。最適解を求解するには、最適化ソルバーを使い、2次計画問題である生産物流計画問題を2段階で解く。1段階目では制約条件を緩和することを表現する変数、すなわち違反量を表現する補助変数である緩和変数を使用して1次式だけを考慮した計画を立案する。2段階目では初期解として1段階目で出力した解を使用する。その際、緩和変数は初期解の時点で、その統計量を固定する。さらに1段階目で解いた結果をもとに、2段階目で解く際の変数の定義域を限定させることで問題規模を削減する。よって、本実施の形態では、線形計画問題による最適解を基に、より容易に2次計画問題を求解することができる。即ち、本実施の形態では、生産物流計画に関する2次計画問題を求解することが、より容易になる。そして、2次計画問題である生産物流計画を立案することが可能となる。
【0077】
大規模な最適化問題を解くために、従来は、例えば、解くべき最適化問題を、制約条件を緩和した複数の子問題に分割し、各子問題の最適解を加え合わせて元の最適化問題の緩和最適解を得る場合があった。即ち、制約条件を緩和した子問題を複数設定し、各最適解を加え合わせて大規模な組合せ最適化問題を解く手法である。しかし、子問題を複数設定してしまうと、「全国に対して課される下限在庫」等の、問題全体を通して課される制約式に対応できないという問題が生じる。本実施形態によれば、子問題を設定する必要はないので、このような問題は生じない。
【0078】
また、本実施形態によると、生産・物流データを入力することにより、所望期間の生産物流計画を自動で生成することができる。
さらに、本実施形態によると、従来多数の制約条件の中から違反の原因となる制約式を特定し、該当箇所を個別に対処していた生産計画、物流計画を一括で最適化することができる。
またさらに、本実施形態によると、従来は人手で作成していた各工場への生産依頼を、機械化することができる。
そして、本実施形態によると、目的関数の各項に重み付けをすることで、ユーザ側で中のアプリケーションを変更する必要なく、各目的関数項に対して容易に重要評価指標の順位付けをすることができる。
また、本実施形態によると、目的関数の各項に2次項を含んだ大規模問題を最適化することができる。
さらに、本実施形態では、2段最適化処理における各最適化を、数理計画問題として定式化し、最適化ソルバーを利用して最適化計算を行うので、大規模な最適化問題であっても短時間で解くことができる。
【0079】
以上、一実施形態について詳述したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0080】
なお、上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。
また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。この場合、生産物流計画生成装置100が行う処理は、ソフトウェアとハードウェア資源とが協働することにより実現される。即ち、生産物流計画生成装置100に設けられたコンピュータ内部のプロセッサが、上述した各機能を実現するプログラムをメモリにロードして実行し、これらの各機能を実現させる。
【0081】
よって、生産物流計画生成装置100が行う処理は、生産物流計画に関し、目的関数と制約条件を有する最適化問題を求解する生産物流計画生成方法であって、プロセッサがメモリに記録されたプログラムを実行することにより、最適化問題の生成に必要な入力情報を取得し、入力情報を基に、緩和変数を含む第一の最適化問題を生成し、第一の最適化問題を演算し、目的関数に対する最適解を求め、緩和変数について統計量を固定した第二の最適化問題を生成し、第一の最適化問題に対し演算された最適解を初期解とし、第二の最適化問題を演算し、目的関数に対する最適解を求める、生産物流計画生成方法と捉えることができる。
【0082】
また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0083】
なお、上述した例では、生産物流計画に対しコストを最小化する生産物流計画生成装置について説明したが、上記手法の適用は、これに限られるものではない。例えば、生産物流計画に関する目的関数を最大化する場合でも適用できる。また、生産物流計画に限られるものではなく、与えられた制約条件の下で、ある目的関数を最大または最小にする解を求める最適化問題を求解する装置に対し適用することができる。
【0084】
この場合、この装置は、目的関数と制約条件を有する最適化問題を求解する最適化問題求解装置であって、緩和変数を含む第一の最適化問題を演算し、目的関数に対する最適解を求める第一段階最適化処理部13と、第一段階最適化処理部13で演算された最適解を初期解とし、緩和変数について統計量を固定するとともに緩和変数以外の決定変数の定義域を限定して、第二の最適化問題を演算し、目的関数に対する最適解を求める第二段階最適化処理部15と、を備える最適化問題求解装置として捉えることができる。
これにより、従来より、最適化問題を求解することが、より容易になる最適化問題求解装置を提供することができる。
【0085】
またこの場合、第一段階最適化処理部13は、例えば、目的関数および制約条件がともに1次式で構成される線形計画問題を第一の最適化問題として演算し、第二段階最適化処理部15は、目的関数に2次式を備え、制約条件が1次式の最適化問題を第二の最適化問題として演算する。また、例えば、第二段階最適化処理部15で演算される目的関数は、第一段階最適化処理部13で演算される目的関数に2次項を加算したものである。
さらにこの場合、最適化問題は自装置において生成することは必須ではなく、予め与えられたものであってもよい。最適化問題は、例えば、最適化問題の作成者により入力され、入力情報取得部11が取得する。よって、この場合、第一段階問題生成部12および第二段階問題生成部14は、必ずしも必要ではない。
【0086】
以上、本実施の形態について説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
例えば、生産物流計画生成装置100の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、生産物流計画生成装置100が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【符号の説明】
【0087】
1…ネットワーク、10…サプライチェーン最適化システム、11…入力情報取得部、12…第一段階問題生成部、13…第一段階最適化処理部、14…第二段階問題生成部、15…第二段階最適化処理部、16…結果出力部、100…生産物流計画生成装置、101…記憶部、102…プログラム、103…メモリ、104…演算部、105…通信部、120…生産・物流データ、200…ユーザ端末、300…生産物流情報通信システム