JP2016207157A - 作業計画作成装置、作業計画作成方法、およびプログラム - Google Patents

作業計画作成装置、作業計画作成方法、およびプログラム Download PDF

Info

Publication number
JP2016207157A
JP2016207157A JP2015091780A JP2015091780A JP2016207157A JP 2016207157 A JP2016207157 A JP 2016207157A JP 2015091780 A JP2015091780 A JP 2015091780A JP 2015091780 A JP2015091780 A JP 2015091780A JP 2016207157 A JP2016207157 A JP 2016207157A
Authority
JP
Japan
Prior art keywords
mountain
optimal
slab
optimal solution
slab group
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.)
Granted
Application number
JP2015091780A
Other languages
English (en)
Other versions
JP6488859B2 (ja
Inventor
哲明 黒川
Tetsuaki Kurokawa
哲明 黒川
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 Steel Corp
Original Assignee
Nippon Steel and Sumitomo Metal 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 Steel and Sumitomo Metal Corp filed Critical Nippon Steel and Sumitomo Metal Corp
Priority to JP2015091780A priority Critical patent/JP6488859B2/ja
Publication of JP2016207157A publication Critical patent/JP2016207157A/ja
Application granted granted Critical
Publication of JP6488859B2 publication Critical patent/JP6488859B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 作業予定の変更だけでなく、作業予定の変更に依らない時間経過により作業が進行することによる対象プロセスの状態の推移に対しても最適解の変動を必要最低限に留めた一貫性のある最適解が得られるようにする。
【解決手段】 前回の最適計算における最適解の要素x[jopt_pr]のうち、今回の最適計算において実現可能な要素が、今回の最適計算における最適解の要素x[jopt]として再現されない場合に、目的関数Jの値に対しペナルティを課すペナルティ項を目的関数Jに含める。
【選択図】 図2

Description

本発明は、作業計画作成装置、作業計画作成方法、およびプログラムに関し、特に、状態が時々刻々と変化し得る対象物に対する作業計画を作成するために用いて好適なものである。
時々刻々と変化するプロセス状態に対応するために、リアルタイムに作業指示を出力する必要がある作業プロセスにおいては、作業制約、プロセス拘束条件、および作業指標等をモデル化(数式化)し、数理計画法やヒューリスティックなアルゴリズムによる最適計算を行うことにより最適な作業指示(作業方針や運転方法)を導出することが行われる。この場合、一定周期あるいは特定の事象の生起等をトリガーとした不定期に、その時点での最新のプロセス情報を基に最適計算を再実行し、その最適計算の結果をその時点での作業指示として出力する。このようにすることにより、時々刻々と変化する作業予定の変更や外乱等に対応する作業計画を作成することができる。リアルタイムに最適計算を繰り返し実行するシステムでは、計算の度に生じる外部条件の変化が解に的確に反映され、解の内、外部条件の変化に影響がある部分が更新され、そうでない部分は以前に計算された解が継承されることが望まれる。
このように、リアルタイムに最適計算を繰り返し実行し、それぞれの実行タイミングにおける最適計算の計算結果により作業指示を決定するシステムにおいては、毎回の最適計算の結果が一貫性を持っていること(それぞれの最適計算における最適解を安定させること)が不可欠である。
リアルタイムで行われる最適計算の結果に一貫性を持たせる方法として、現状の作業では、最適計算を行うシステムにおいても、作業開始前に最適計算を一度実施し、作業開始後には、作業予定の変更のあったところ(例えば、ヤードにおける鋼材の配置を決める場合にはヤードへの到着予定が変更となった鋼材のみ)を限定的(局所的)に変更するという方法を用いている。すなわち、リアルタイムに最適計算を行うのでなく、バッチ最適計算によりバッチ最適解を導出し、人またはスケジュール修正ルールによる部分介入、若しくはルールベースに基づいて、バッチ最適解を修正する方法がとられている。スケジュール修正ルール(断片知識の集合)による再スケジュール方法については、特許文献1に開示されている。また、ルールベースシステムによる再スケジューリングを行う技術が特許文献2、3に開示されている。
このような方法(局所的なバッチ最適解の変更を行う方法)では、計算条件の変化があった場合であっても、作業予定の変更部分のみを変更すれば、その変化後の計算条件下における最適解が得られる場合もあり得る。しかしながら、一般には、作業予定の変更により、最適解を変更すべき範囲が玉突きで作業予定の変更部分以外にも及ぶことが十分あり得る。したがって、作業予定の変更部分のみの変更では、計算条件の変化の下で最適解が得られる保証がなく、実質的に最適作業が維持できていない問題がある。
従って本来は、リアルタイムに(例えば一定周期に)、その時々の計算条件の変化を反映させ改めて最適計算を実行し、その最適計算の解を利用することが考えられる。この考え方に基づく方法として、特許文献4に記載の方法がある。特許文献4には、発生が予想される作業予定の変動が生じた場合に解く必要が生じる再スケジューリング問題を作成して解を導出する方法が開示されている。
特開平2−181001号公報 特開平6−44258号公報 特開平6−203037号公報 特開2010−257383号公報 特開2011−105483号公報
しかしながら、特許文献4に記載の方法は、予め想定される作業予定の変更を念頭に置いたものである。したがって、最適計算の際に考慮できる作業予定の変更が極めて限定されるという問題がある。さらに、再スケジューリング問題の作成方法が必ずしも系統的でなく、適用できる作業計画が限定されるという問題がある。
また、作業予定の変更がなくとも、作業の進行に伴いプロセス状態は常に変化することから、最適計算における初期状態が変化することになる。しかしながら、特許文献4に記載の方法では、このことについての考慮がなされていない。従って、特許文献4に記載の方法では、一貫性のある最適解が得られず最適計算の度に異なる最適解が得られる事態が起こり得るという問題がある。
尚、時間経過により作業が進行することによるプロセス状態の推移以外に計算条件の変化がなくとも、最適計算における初期状態の推移のみで最適解が変化するということは、「最適性原理(最適解を持つ問題の部分問題の最適解は元の最適解の部分解である)」に反しない。通常の最適化問題、取り分け実プロセスにおける最適化問題では、最適解が唯一であることは極めて稀であり、複数の最適解(最適解空間(集合))を持つのが一般的であるからである。すなわち、初期条件の変化の下で常に同一の最適解が算出されることはほとんど期待できず、普通は、最適計算の度に最適解空間(集合)の中から異なる解が選択されることになり、解の変動が避けられない。
したがって、作業開始後の予定変更等の様々な外乱が生じる環境下においても、その外乱の情報をリアルタイムに取り込み、それを基に最適計算を実行し、様々な外乱の影響を反映させつつも常に最適解の一貫性を失わないリアルタイム最適解計算手法の導入を行うことが期待される。
本発明は、以上のような問題点に鑑みてなされたものであり、作業予定の変更だけでなく、作業予定の変更に依らない時間経過により作業が進行することによる対象プロセスの状態の推移に対しても最適解の変動を必要最低限に留めた一貫性のある最適解が得られるようにすることを目的とする。
本発明の作業計画作成装置は、複数の対象物に対する作業を行うための作業計画を、最適化問題を解くことにより作成する作業計画作成装置であって、前記作業の良否を評価するための評価指標が関数で表現された項である評価指標項を少なくとも1つ含む目的関数であって、前記対象物に対する作業の指示に反映される情報を決定変数として含む目的関数を設定する目的関数設定手段と、前記作業における制約が関数で表現された制約式を設定する制約式設定手段と、前記制約式を満足する範囲で前記目的関数の値を最大または最小にする前記決定変数を要素とする最適解を、最適計算を行うことにより導出する最適解導出手段と、を有し、前記最適解導出手段は、前記作業計画の前提条件が変化した場合に、当該前提条件の変化前の最適解を更新して新たな最適解を導出し、前記目的関数は、前記最適解導出手段により導出された前記前提条件が変化する前の最適解である前回最適解と、前記新たな最適解である今回最適解とが異なる場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であるペナルティ項をさらに含むことを特徴とする。
本発明の操業計画作成方法は、複数の対象物に対する作業を行うための作業計画を、最適化問題を解くことにより作成する作業計画作成方法であって、前記作業の良否を評価するための評価指標が関数で表現された項である評価指標項を少なくとも1つ含む目的関数であって、前記対象物に対する作業の指示に反映される情報を決定変数として含む目的関数を設定する目的関数設定工程と、前記作業における制約が関数で表現された制約式を設定する制約式設定工程と、前記制約式を満足する範囲で前記目的関数の値を最大または最小にする前記決定変数を要素とする最適解を、最適計算を行うことにより導出する最適解導出工程と、を有し、前記最適解導出工程は、前記作業計画の前提条件が変化した場合に、当該前提条件の変化前の最適解を更新して新たな最適解を導出し、前記目的関数は、前記最適解導出工程により導出された前記前提条件が変化する前の最適解である前回最適解と、前記新たな最適解である今回最適解とが異なる場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であるペナルティ項をさらに含むことを特徴とする。
本発明のプログラムは、前記操業計画作成装置の各手段としてコンピュータを機能させることを特徴とする。
本発明によれば、前回の最適解と今回の最適解とが異なる場合に目的関数の値に対しペナルティを課すためのペナルティ項を目的関数に含めるようにした。したがって、作業予定の変更だけでなく、作業予定の変更に依らない時間経過により作業が進行することによる対象プロセスの状態の推移に対しても最適解の変動を必要最低限に留めた一貫性のある最適解を得ることができる。
ヤードの一般的なレイアウトの一例を示す図である。 作業計画作成装置の機能的な構成の一例を示す図である。 初期時刻における山立て対象スラブグループリストの一例を示す図である。 初期時刻における最適山リストの一例を示す図である。 初期時刻から20時刻が経過したタイミングにおける山立て対象スラブグループリストであって、スラブグループに変更がない場合の山立て対象スラブグループリストの一例を示す図である。 実現可能山を抽出する際の処理の第1の例を概念的に説明する図である。 実現可能山を抽出する際の処理の第2の例を概念的に説明する図である。 本実施形態の手法によって得られた、初期時刻から20時刻が経過したタイミングにおける最適山リストの一例を示す図である。 比較例の手法によって得られた、初期時刻から20時刻が経過したタイミングにおける最適山リストの一例を示す図である。 初期時刻から20時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着する予定のスラブグループの到着順に変更があった場合の山立て対象スラブグループリストの一例を示す図である。 初期時刻から20時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着する予定のスラブグループの属性に変更があった場合の山立て対象スラブグループリストの一例を示す図である。 初期時刻から20時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着したスラブグループの位置に変更があった場合の山立て対象スラブグループリストの一例を示す図である。 作業計画作成装置の処理の一例を説明するフローチャートである。
以下、図面を参照しながら、本発明の一実施形態を説明する。本実施形態では、作業計画が、鋼材置場において搬送機器を用いて複数の鋼材を複数の山に分けて山積みする際の各鋼材が属する山と各山における各鋼材の位置(積段)とを含む山立て計画である場合を例に挙げて説明する。
(ヤードにおける作業)
まず、鋼材置場の一例であるヤードにおける作業の一例を説明する。
製鉄プロセスにおいて、例えば製鋼工程から次工程の圧延工程へ鋼材を搬送する際、鋼材は、一旦ヤードと呼ばれる一時保管場所(鋼材置場)に置かれた後、次工程である圧延工程の処理時刻に合わせてヤードから搬出される。そのヤードのレイアウトの一例を図1に示す。ヤードとは、図1に示すように、上流工程より払い出されたスラブなどの鋼材を、下流工程に供給するためのバッファーエリアとして、縦横に区画された置場101〜104である。縦方向(クレーン1A、1B、2A、2Bの移動可能方向)の分割区分を"棟"、横方向の分割区分を"列"と称することが多く、搬送指令を作成する際は"棟"及び"列"を指定することにより、どこへ鋼材を搬送するかを示す。
図1に示す例では、まず、前工程である製鋼工程の連鋳機110から搬出された鋼材は、パイラー111を経由して受入テーブルXでヤードまで運ばれ、クレーン1A、1B、2A、2Bにより、区画された置場101〜104の何れかに搬送され、山積みして置かれる。そして、後工程である圧延工程の製造スケジュールに合わせ、再びクレーン1A、1B、2A、2Bにより払出テーブルZに載せられ、圧延工程へと搬送される。
一般に、ヤードにおいて鋼材は、前記の様に山積みされた状態で置かれる。これは、限られたヤード面積を有効に活用するためである。一方、鋼材を積上げる際、次工程へ供給し易いよう、次工程における処理順番に鋼材が上から積まれている必要がある。ここで、鋼材を複数の山に分けることを山分けと呼び、山分けをしながら、各山に鋼材を積み上げることを山立てと呼ぶ。
(作業計画作成装置)
図2は、本実施形態の作業計画作成装置200の機能的な構成の一例を示す図である。作業計画作成装置200のハードウェアは、例えば、CPU、ROM、RAM、HDD、および各種のインターフェースを備えた情報処理装置、PLC(Programmable Logic Controller)、またはASIC(Application Specific Integrated Circuit)等の専用のハードウェアを用いることにより実現することができる。
<計画対象物リスト取得部201>
計画対象物リスト取得部201は、山立て計画の対象物の一例であるスラブのリストである山立て対象スラブグループリスト(スラブの到着予定リスト)を取得する。尚、山立て対象スラブグループリストは、一定周期に取得されてもよいし、特定の事象の生起等をトリガーとして不定期に取得されてもよい。
計画対象物リスト取得部201は、例えば、CPUが、通信インターフェースで受信した山立て対象スラブグループリスト300、500のデータをHDDやRAMに記憶することにより実現される。
図3は、山立て計画の作成を最初に行う際に取得される山立て対象スラブグループリスト300の一例を示す図である。本実施形態では、複数のスラブの単位で、当該複数のスラブがヤードに同時刻に到着する場合を例に挙げて説明する。以下の説明では、この複数のスラブを必要に応じて「スラブグループ」と称する。
山立て対象スラブグループリスト300、500は、例えば、鋼材全般に関するデータベースを備える鋼材管理装置から作業計画作成装置200に送信される。
図3において、SLGr.IDは、各スラブグループの識別番号である。
到着時刻は、各スラブグループのヤードへの到着時刻または到着予定時刻である。ここでは、山立て計画の作成の開始時刻を「0(ゼロ)」とする。SLGr.IDが「0(ゼロ)」のスラブグループの到着時刻が「0(ゼロ)」である。したがって、山立て計画の作成の開始時に、SLGr.IDが「0(ゼロ)」のスラブグループのスラブがヤードに到着したところとなる。よって、図3に示す山立て対象スラブグループリスト300における各スラブグループの到着時刻は全て到着予定時刻である。また、山立て計画の作成の開始時には、ヤードには何もないものとする。尚、以下の説明では、山立て計画の作成の開始時刻を必要に応じて「初期時刻」と称する。
払出順は、各スラブグループの圧延工程への搬送順である。払出順の値が小さいスラブグループであるほど、早く圧延工程へ搬送する必要がある。
鋼材数は、各スラブグループを構成するスラブ(鋼材)の数である。
最大幅・最小幅は、それぞれ、各スラブグループを構成するスラブの最大幅・最小幅である。
最大長・最小長は、それぞれ、各スラブグループを構成するスラブの最大長・最小長である。
図4は、本実施形態の手法で最適計算を行うことにより得られた、初期時刻における結果(最適山リスト400)の一例を示す図である。
尚、最適計算の手法の詳細については、目的関数設定部204、制約式設定部205、および最適解導出部206の欄において後述する。また、この例では各スラブは、最適計算の結果(最適山リスト400)の通りにヤードに置かれるものとする(各スラブは、最適計算の結果(最適山リスト400)と異なるようにスラブに置かれることはないものとする)。
このように、各スラブが、最適計算の結果(最適山リスト400)の通りにヤードに置かれる場合、後述する図5に示す山立て対象スラブグループリスト500の(ヤードに到着しているスラブグループの)置場、積段、本/仮、最適山ID、および最適段は、図4に示す最適山リスト400から得られる。尚、最適計算結果通りにヤードに置かれない場合は図5に示す山立て対象スラブグループリスト500の(ヤードに到着しているスラブグループの)置場、積段、および本/仮の値は、実際のヤードにおけるスラブの配置から与えられなければならない。また、最適計算結果通りでなくともオペレータの指示により本山あるいは仮山として置かれた場合は、それを本/仮の値に反映させることもできるものとする(後述する段落[0143]〜[0145]、図12を参照)。
図4において、最適山IDは、図4の最適計算結果に基づいた各スラブグループが属する山の識別番号である。
積段は、各スラブグループが積まれている山における当該スラブグループの積段である。ここでは、最下段の積段の値を「1」とし、或る段の1つ上段の積段の値は、当該或る段の積段の値に「1」を加算した値になるものとする。尚、ヤードに置かれていないスラブグループについては、積段の値を「0(ゼロ)」とする。
最適段は、図4の最適計算結果に基づいた各スラブグループの最適山における積段である。ここでは、後述する図5の積段と同様にして最適段の値が決められるものとする。
また、図4において、SLGr.ID、払出順、および到着時刻は、それぞれ図3を参照しながら説明したものと同じ内容を意味する。
また、図4において、仮置有無は、最適計算において仮置きが発生したか否かを示す。仮置きが発生したスラブグループについては、仮置有無の値として「1」が与えられ、仮置きが発生しなかったスラブグループについては、仮置有無の値として「0(ゼロ)」が与えられるものとする。
尚、最適計算において、初めて仮置きが発生したときにだけ、仮置有無の値として「1」が与えられる。すなわち、仮置有無の値として「1」が与えられたスラブグループについては、その後の最適計算における仮置有無の値としては(仮置きであったとしても)「0(ゼロ)」が与えられる。これは、ここでは仮置き発生の判定を、スラブがヤードに到着した時に行う方法を採っているからで、既に仮置きされたスラブがヤードにある状態を初期状態とするリスケジュール時の最適計算では、スラブのヤードへの到着が済んでいるので、当該スラブが仮置きと判定されることはないからである。
図5は、山立て計画の作成を2回目に行う際に取得される山立て対象スラブグループリスト500の一例を示す図である。
図5に示す山立て対象スラブグループリスト500は、各スラブグループの到着予定が、山立て対象スラブグループリスト300に示されるものから変更されておらず、また、到着予定時刻を経過したスラブグループは、到着予定時刻の通りに到着した場合の山立て対象スラブグループリストの一例を示す。
図5において、SLGr.ID、到着時刻、払出順、鋼材数、最大幅、最小幅、最大長、最小長、積段、最適山ID、最適段は、それぞれ図3および図4を参照しながら説明したものと同じ内容を意味する。
図5に示す山立て対象スラブグループリスト500は、初期時刻から「20」が経過したタイミングで取得されるものである。したがって、図5に示す山立て対象スラブグループリスト500の各スラブグループの到着時刻は、図3に示した山立て対象スラブグループリスト300の各スラブグループの到着時刻から「20」を減算した値になる。ここで、SLGr.IDが「0(ゼロ)」〜「6」のスラブグループの到着時刻は、負の値である。到着時刻が負の値であることは、スラブがヤードに実際に置かれていることを示す。図5では、ヤードに実際に置かれているスラブグループをグレーで示す。
図5において、置場は、各スラブグループのスラブが実際に置かれているヤードの置場である。尚、ヤードに置かれていないスラブグループについては、置場及び積段の値を「0(ゼロ)」とする。
ここで、「置場」、「積段」とも、図3に示す初期時刻における山立て対象スラブグループリスト300(スラブグループの到着予定情報)に基づいて計算された図4に示す最適山リスト400(最適計算結果)に従ってヤードに置かれた結果となっている。
ヤードにおける最終置場にスラブを直接搬送できず、最終置場とは別の場所(仮置場)に一旦仮置きされ、状況が整ったら、仮置場から最終置場に搬送する場合がある。この様に、元の置かれた状態から最終的に置かれる状態へ直接搬送できず、一旦仮置きを要する場合には、この仮置き場への搬送が無駄な搬送となる。したがって、仮置きが発生するスラブの数を減らすことが望ましい。
本/仮は、ヤードに既に到着している各スラブグループを、図4に示す最適山リスト400(最適計算結果)に従い本山置き或いは仮山置きした結果を示す。ここでは、仮置きが発生したスラブグループについては、本/仮の値として「0(ゼロ)」が与えられ、仮置きが発生しなかった(即ち本山置き)スラブグループについては、本/仮の値として「1」が与えられるものとする。尚、ヤードに置かれていないスラブグループについては、本/仮の値を「0(ゼロ)」とする。
最適山IDは、図4に示す最適山リスト400(最適計算結果)に基づいた各スラブグループが属する山の識別番号である。
最適段も、図4に示す最適山リスト400(最適計算結果)に基づいた各スラブグループの最適山における積段である。ここでは、前述した積段と同様にして最適段の値が決められるものとする。
前述したように、初期時刻より20時刻だけ経過した時点においてヤードに到着しているスラブグループは、SLGr.IDが「0」〜「6」のスラブグループである。
例えば、図4に示す最適山リスト400(初期時刻における最適計算の結果)によると、SLGr.IDが「0(ゼロ)」のスラブグループのスラブは、最適山IDが「5」の山の6段目に置かれることになる。しかしながら、最適山ID「5」の山を構成するスラブグループのうち、5段目に置かれるSLGr.IDが「15」のスラブグループはヤードに到着していない。したがって、SLGr.IDが「0(ゼロ)」のスラブグループを仮置きする必要がある。よって、図5の山立て対象スラブグループリスト500において、SLGr.IDが「0(ゼロ)」のスラブグループの本/仮の値は「0」となる(すなわち仮置きとなる)。また、仮置きのスラブグループの置場として、10番以降の置場のうち、スラブが置かれていない任意の置場が選択されるものとする。したがって、図5に示す山立て対象スラブグループリスト500において、SLGr.IDが「0(ゼロ)」のスラブグループの置場は「15」となり、積段は「1」となり、最適山IDは「5」となり、最適段は「6」となる。
同様に、図4に示す最適山リスト400によると、SLGr.IDが「2」のスラブグループは、最適山IDが「3」の山の2段目に置かれることになる。しかしながら、最適山ID「3」の山を構成するスラブグループのうち、1段目に置かれるSLGr.IDが「11」のスラブグループはヤードに到着していない。したがって、図5に示す山立て対象スラブグループリスト500において、SLGr.IDが「2」のスラブグループの仮置場は「13」となり、積段は「1」となり、本/仮の値は「0(ゼロ)」となり、最適山IDは「3」となり、最適段は「2」となる。
また、図4に示す最適山リスト400によると、SLGr.IDが「6」のスラブグループは、最適山IDが「7」の山の5段目に置かれることになる。しかしながら、最適山ID「7」の山を構成するその他のスラブグループはヤードに到着していない。したがって、図5に示す山立て対象スラブグループリスト500において、SLGr.IDが「6」のスラブグループの仮置場は「17」となり、積段は「1」となり、本/仮の値は「0(ゼロ)」となり、最適山IDは「7」となり、最適段は「5」となる。
一方、図4に示す最適山リスト400によると、SLGr.IDが「1」のスラブグループは、最適山IDが「5」の山の1段目に置かれることになる。したがって、SLGr.IDが「1」のスラブグループを、直接本置場に置くことができる。ここで、直接本置場に置かれる場合には、最適山IDと同じ番号の置場にスラブを置くものとする。したがって、図5に示す山立て対象スラブグループリスト500において、SLGr.IDが「1」のスラブグループの置場は「5」となり、積段は「1」となり、本/仮の値は「1」となり、最適山IDは「5」となり、最適段は「1」となる。
また、図4に示す最適山リスト400によると、SLGr.IDが「3」のスラブグループは、最適山IDが「6」の山の1段目に置かれることになる。したがって、SLGr.IDが「3」のスラブグループを、直接本置場に置くことができる。よって、図5に示す山立て対象スラブグループリスト500において、SLGr.IDが「3」のスラブグループの置場は「6」となり、積段は「1」となり、本/仮の値は「1」となり、最適山IDは「6」となり、最適段は「1」となる。
SLGr.IDが「3」のスラブグループに続いてヤードに到着するSLGr.IDが「4」のスラブグループは、図4に示す最適山リスト400によると、最適山IDが「6」の山の2段目に置かれることになる。最適山IDが「6」の山の1段目には、SLGr.IDが「3」のスラブグループが既に置かれている。したがって、SLGr.IDが「3」のスラブグループを、直接本置場に置くことができる。よって、図5において、SLGr.IDが「4」のスラブグループの置場は「6」となり、積段は「2」となり、本/仮の値は「1」となり、最適山IDは「6」となり、最適段は「2」となる。
SLGr.IDが「4」のスラブグループに続いてヤードに到着するSLGr.IDが「5」のスラブグループは、図4に示す最適山リスト400によると、最適山IDが「5」の山の2段目に置かれることになる。最適山IDが「5」の山の1段目には、SLGr.IDが「1」のスラブグループが既に置かれている。したがって、SLGr.IDが「5」のスラブグループを、直接本置場に置くことができる。よって、図5に示す山立て対象スラブグループリスト500において、SLGr.IDが「5」のスラブグループの置場は「5」となり、積段は「2」となり、本/仮の値は「1」となり、最適山IDは「5」となり、最適段は「2」となる。
以上のように、初期時刻から20時刻が経過した時点において、最終山姿と一致しているスラブグループは、置場5に置かれるSLGr.IDが「1」、「5」のスラブグループと、置場6に置かれるSLGr.IDが「3」、「4」のスラブグループである。
山立て問題では、「仮置きスラブ発生数」と「山の総数」との2つを目的関数とすれば「最適性の原理」を満足する。したがって、リアルタイム最適解安定性を確保するには、最適解が複数存在する場合において、各最適計算時に、時間的状態遷移以外の入力条件の変化がなければ当該複数の最適解のうち常に同一の最適解を選択する機能を有することが必要となる。また、そのように選択された唯一の最適解に沿って最適計算が進行する様、各最適計算のタイミングで、(山立て計画の作成開始時の原問題に対する)部分問題を適切に設定することが必要である。
このように、山姿が定まっていく過程で、或る時点で解く山立て問題は、それ以前に解いた山立て問題の部分問題である。このことが成り立つには、順次ヤードに到着するスラブが、最適計算で得られた最適解の通りの山姿に確実に積み上げられることが必要である。そして、それぞれの最適計算時における山姿の中間状態(最適解)が、それぞれの最適計算時におけるスラブの初期状態を正確に反映していることが必要となる。
具体的には、ヤードに到着完了し、最終山姿(圧延工程に搬送できる状態の山姿)と一致するスラブグループのうち、同一山で上下に隣接するスラブグループを、確定スラブグループとして纏め、搬送対象(最適計算の対象)から除外する。このように、本実施形態では、最終山姿と一致するスラブグループを順次確定スラブグループとすることにより、徐々に問題規模を縮小していく(すなわち、部分問題としていく)。
これを実現するには、各最適計算時点で、ヤードに到着済みのスラブグループのそれぞれが最終山姿と一致しているか否かを判定する機能と、その判定した結果を基にして確定スラブグループを考慮した最適計算を行う機能とが必要になる。本実施形態では、前者の機能が、確定対象物判定部202で実現される。また、後者の機能が、後述する実現可能解抽出部203、目的関数設定部204、制約式設定部205、および最適解導出部206で実現される。
<確定対象物判定部202>
本実施形態では、ヤードに到着したスラブは、直前(前回)の最適計算の結果に基づいた山姿でヤードに置かれるものとする。つまり、前述したように、スラブには、直接最終置場に置かれるものと、一旦、仮置場に置かれ、将来到着予定の下積みスラブが到着した後に最終置場に搬送されるものとがある。そして、その判断は、直前(前回)の最適計算により計算された最適解(前回解)によるものとする。したがって、前回解で仮置きが不要として直接本置場に置かれたスラブは、その時点で、最終山姿に一致していると見なすことができる。よって、今回以降の最適計算(リスケジュール)では、後述する実現可能解抽出部203により確定対象物以外の選択肢を除外する或いは確定対象物が分離しない様な制約式を付与(後述する変形例2を参照)することで、確定対象物が最適計算結果に表れる様にする。それを行うためには、各最適計算(リスケジュール)を行う際に、最終山姿と一致しているスラブの範囲を明確にする必要がある。また、このように、最終山姿と一致しているスラブを最適計算の対象から徐々に除外していっても、前述した『最適性の原理』が成立することにより、何ら最適性が揺らぐことがない(最終山姿と一致しているスラブを除外せずに計算した結果と等価となる)ことが保証されている。
確定対象物判定部202は、前回の最適計算で計算された最適解に基づく最適山姿と、今回の最適計算を行う際にヤードに到着しているスラブの積姿とを比較することにより、計画対象物リスト取得部201で取得された山立て対象スラブグループリストに含まれるスラブグループが、最終山姿と一致しているスラブグループであるか否かを判定する。以下の説明では、このようなスラブグループを必要に応じて「確定スラブグループ」と称する。
尚、計画対象物リスト取得部201が初期時刻における山立て対象スラブグループリスト300を取得した際には、ヤードに置かれているスラブはないので、確定対象物判定部202による処理は省略される。
確定対象物判定部202は、今回の最適計算に使用する山立て対象スラブグループリストとして計画対象物リスト取得部201から取得した山立て対象スラブグループリストのSLGr.IDと、前回の最適計算の結果(最適山リスト)のSLGr.IDとが一致しているか否かを、一致しなくなるまで各山の最下段から順に判定する。
尚、前回の最適計算に使用した山立て対象スラブグループリストが、図3に示した山立て対象スラブグループリスト300である場合、前回の最適計算の結果は、図4に示した最適山リスト400であり、今回の最適計算に使用する山立て対象スラブグループリストは、図5に示した山立て対象スラブグループリスト500である。
より具体的に説明すると、まず、確定対象物判定部202は、今回の最適計算に使用する山立て対象スラブグループリスト500の最適山IDとして未選択の最適山IDを1つ選択する。ただし、最適山を構成するスラブグループが全て未到着の最適山IDは、選択対象外とする。
次に、確定対象物判定部202は、前記選択した最適山IDの積段が「1」(すなわち最下段)であるSLGr.IDを特定する。
次に、確定対象物判定部202は、前回の最適計算の結果(最適山リスト400)において、前記選択した最適山IDおよび積段(=「1」)のSLGr.IDを特定する。
そして、確定対象物判定部202は、今回の最適計算に使用する山立て対象スラブグループリスト500から特定したSLGr.IDと、前回の最適計算の結果(最適山リスト400)から特定したSLGr.IDとが一致する場合、当該SLGr.IDのスラブグループは、最終山姿と一致していると判定する。
次に、確定対象物判定部202は、前記選択した最適山IDの積段をインクリメントし(1つ上段を選択し)、当該選択した最適山IDの当該インクリメントした積段におけるSLGr.IDが、今回の最適計算に使用する山立て対象スラブグループリスト500と、前回の最適計算の結果(最適山リスト400)とで一致するか否かを判定する。
このような判定を、SLGr.IDが、今回の最適計算に使用する山立て対象スラブグループリスト500と、前回の最適計算の結果(最適山リスト400)とで一致しなくなるまで、積段をインクリメントしながら行う。これにより、前記選択した最適山IDの山に属するスラブグループのうちヤードに到着しているスラブグループが最終山姿と一致しているか否かを判定することができる。
以上のようにして、確定対象物判定部202は、前記選択した最適山IDの山において、最下段から、前記判定により最終山姿と一致するとされた積段の最大値までのスラブグループが、最終山姿と一致しているスラブグループ(確定スラブグループ)であると判定する。また、最適計算結果通りでなくともオペレータの指示により本山として置かれた場合は、それを確定スラブグループとみなすこともできるものとする。
一方、今回の最適計算に使用する山立て対象スラブグループリスト500から特定したSLGr.IDと、前回の最適計算の結果(最適山リスト400)から特定したSLGr.IDとが一致しない場合、確定対象物判定部202は、前記選択した最適山IDの前記選択した積段よりも上の積段のスラブグループは、最終山姿と一致していないスラブグループである(確定スラブグループではない)と判定する。
今回の最適計算に使用する山立て対象スラブグループリスト500のスラブグループのうち、確定スラブグループと判定されなかったスラブグループが、今回の最適計算の対象になり、確定スラブグループは、今回の最適計算の対象から除外される。すなわち、今回の最適計算において、確定スラブグループの最適山IDおよび最適段は、今回の最適計算に使用する山立て対象スラブグループリスト500の値で固定される。
確定対象物判定部202は、以上の判定を、今回の最適計算に使用する山立て対象スラブグループリスト500のヤード既到着スラブのある全ての最適山IDの山について個別に行う。
図5に示す山立て対象スラブグループリスト500の例においては、SLGr.IDが「1」、「3」、「4」、「5」のスラブグループが確定スラブグループであると判定される。
ここで、確定スラブグループは、ヤードに到着しているスラブにより構成される山(既存山)の最下段を含む下層部に必ず位置し、最下段を含まない山の中間部のみで確定スラブグループになることはない。また、同一の既存山において、2つ以上の異なる確定スラブグループが存在することもない(最終山姿に一致していないスラブグループを間に挟んで当該スラブグループの上下に確定スラブグループが存在することもない)。
確定対象物判定部202は、例えば、CPUが、ROMに記憶されたプログラムを実行することにより実現される。
<実現可能解抽出部203>
[第1の例]
<<最適化対象最小単位の設定>>
実現可能解抽出部203は、今回の最適計算の最小単位とするスラブグループを設定する。
まず、確定対象物判定部202により確定スラブグループとして判定されなかったスラブグループについては、前回の最適計算で設定されたスラブグループを、今回の最適計算で最小単位とするスラブグループとする。
一方、確定対象物判定部202により確定スラブグループとして判定されたスラブグループのうち、最適山IDが同一であり、且つ、積段が連続する複数のスラブグループについては、当該複数のスラブグループを1つのスラブグループに纏め、今回の最適計算で最小単位とするスラブグループとする。
その他の確定スラブグループについては、個々の確定スラブグループを、今回の最適計算で最小単位とするスラブグループとする。
図5に示す山立て対象スラブグループリスト500の例においては、SLGr.IDが「1」、「5」の2つのスラブグループ(確定スラブグループ)が1つのスラブグループに纏められ、今回の最適計算で最小単位とするスラブグループとなる。また、SLGr.IDが「3」、「4」の2つのスラブグループ(確定スラブグループ)が1つのスラブグループに纏められ、今回の最適計算で最小単位とするスラブグループとなる。その他のスラブグループについては、個々のスラブグループが、今回の最適計算で最小単位とするスラブグループとなる。
<<確定スラブグループの最適計算での取り扱い>>
次に、実現可能解抽出部203は、確定スラブグループに対する最適山および積段が最適計算によって変わらないようにすると共に、前述したようにして1つのスラブグループに纏められたスラブグループが分離されないようにする。
本実施形態では、山分け計画に集合分割問題を適用する場合を例に挙げて説明する。すなわち、最適化問題を、実現可能山の集合Fから、山分けの対象となるスラブグループの全体集合Tを分割する最適な実現可能山の組み合わせ(実現可能山の集合Fの部分集合)を求める問題とする。尚、実現可能山は、最適計算で実現することが可能な解の要素である実現可能解と同じ意味を有するが、本実施形態では山分け計画を作業計画の例に挙げて説明する。そこで、本実施形態では、実現可能解を、必要に応じて、より直感的に理解し易い実現可能山と称する。
以上のように山分け計画に集合分割問題を適用する前提として、本実施形態では、実現可能解抽出部203は、以下のようにして、実現可能山の集合Fを導出する。
図6は、実現可能山を抽出する際の処理の第1の例を概念的に説明する図である。
尚、図6では、表記の都合上、実現可能解抽出部203で前述したように最小単位として設定された1つのスラブグループを鋼材と表記する。すなわち、1つのスラブグループとして纏められた複数の確定スラブグループについては、当該複数の確定スラブグループが、最小単位として設定されたスラブグループとなる。その他の確定スラブグループおよび確定スラブグループ以外のスラブグループについては、個々のスラブグループが、最小単位として設定されたスラブグループとなる。
また、ここでは、山の最下段から順次上段に向かって実現可能なスラブグループのみを積み上げる(分岐する)樹形図(分岐木)により実現可能山を抽出する場合を例に挙げて説明する。
このツリー構造の樹形図では、各ノードにスラブグループが属するようにすると共に、最下段のスラブグループが属するノードが根ノードに属するようにする。そして、下段に配置されるスラブグループが属するノードを、その1つ上段に配置されるスラブグループの親ノードとする。
ここで、山分けの対象となるスラブグループの全体集合をT={1、2、・・・、N}とする。また、以下の説明では、山分けの対象となるスラブグループを必要に応じて「対象スラブグループ」と称し、2つの対象スラブグループのペアを必要に応じて「スラブグループペア」と称する。
確定スラブグループも対象スラブグループに含まれるが、複数の確定スラブグループが1つのスラブグループとして纏められている場合には、当該複数の確定スラブグループにより1つの対象スラブグループが構成されるものとする。
実現可能解抽出部203は、全体集合Tの要素となる対象スラブグループごとに、山積み制約を満たす対象スラブグループの集合(対象スラブグループの上に配置することが出来るスラブグループの集合)を抽出する。すなわち、実現可能解抽出部203は、対象スラブグループを1つ選択し、当該対象スラブグループを含むスラブグループペアが山積み制約を満たすか否かを判定する。当該選択した対象スラブグループに対し、山積み制約を満たすか否かを判定する対象となるスラブグループは、全体集合Tの要素となる対象スラブグループのうち、当該選択した対象スラブグループを除く対象スラブグループになる。
実現可能解抽出部203は、以上の判定を、全体集合Tの要素となる対象スラブグループとしてとり得る全ての対象スラブグループについて行う。
以上の結果、対象スラブグループ1に対して山積み制約を満たす対象スラブグループ(対象スラブグループ1の上に配置することが出来る対象スラブグループ)の上載せ可能集合A1、対象スラブグループ2に対して山積み制約を満たす対象スラブグループ(対象スラブグループ2の上に配置することが出来る対象スラブグループ)の上載せ可能集合A2、・・・、対象スラブグループNに対して山積み制約を満たす対象スラブグループ(対象スラブグループNの上に配置することが出来る対象スラブグループ)の上載せ可能集合ANが、それぞれ抽出される。
山積み制約は、ヤードの管理方法等により様々な条件が考えられるが、例えば以下のような条件を想定することができる。
(1)払出順条件:払出順が早いスラブグループの方が、払出順が遅いスラブグループよりも必ず山の上側に位置しなければならない。
(2)幅条件:或るスラブグループの最大幅が、当該或るスラブグループの下に位置するスラブグループの最小幅よりも狭いならば無条件で、当該或るスラブグループを、当該直下に位置するスラブグループの上に置ける。或るスラブグループの最大幅が、当該或るスラブグループの下に位置するスラブグループの最小幅よりも広い場合には、両者の幅の差が、作業制約により定まる基準値以下であれば、当該或るスラブグループを、当該下に位置するスラブグループの上に置けるが、それを越えると置けない。
(3)長さ条件:或るスラブグループの最大長が、当該或るスラブグループの下に位置するスラブグループの最小長よりも短いならば無条件で、当該或るスラブグループを、当該下に位置するスラブグループの上に置ける。或るスラブグループの最大長が、当該或るスラブグループの下に位置するスラブグループの最小長よりも長い場合には、両者の長さの差が、作業制約により定まる基準値以下であれば、当該或るスラブグループを、当該直下に位置するスラブグループの上に置けるが、それを越えると置けない。
スラブグループペアで山積み制約をチェックする場合、(2)幅条件については、或るスラブグループの最大幅が、当該或るスラブグループの下に位置するスラブグループの最小幅よりも広い場合に、当該或るスラブグループを、当該或るスラブグループの下に位置するスラブグループの上に置く場合には、両者の幅の差が、作業制約により定まる基準値以下であることを満たすようにする((2)´)。山を下から作成する場合、(2)´を満たすように積み上げると、結果的に(2)を満たすものとなる。(3)長さ条件についても同様である。
実現可能解抽出部203は、最下段に設定した対象スラブグループ(初期ノードとして設定した対象スラブグループ)gからは、当該対象スラブグループgに対して山積み制約を満たす対象スラブグループの集合Agが分岐可能(二段目に山積み可能)であり、二段目に山積み可能とした対象スラブグループの集合Agに含まれる対象スラブグループのうち着目スラブグループg'からは、集合Agと着目スラブグループg'に対して山積み制約を満たす対象スラブグループの集合Ag'との積集合(共通部分:intersection)が分岐可能(三段目に山積み可能)であるとし、以降、着目スラブグループを順次上段にずらしながら、着目スラブグループに対して、それまでの積集合と着目スラブグループに対して山積み制約を満たす対象スラブグループの集合との積集合が分岐可能であるとする。
例えば、図6の一番上の分岐について説明する。図6では、表記の都合上、対象スラブグループを鋼材と表記する。
まず、最下段に設定した対象スラブグループa1(鋼材a1)に対しては、上載せ可能集合A1が分岐可能である(図6の分岐1を参照)。次に、二段目において着目スラブグループを対象スラブグループa2(鋼材a2)とすると、(1、2)枝に対しては、上載せ可能集合A1∩A2が分岐可能である(図6の分岐2を参照)。次に、三段目において着目スラブグループを対象スラブグループa3(鋼材a3)とすると、(1、2、3)枝に対しては、上載せ可能集合A1∩A2∩A3が分岐可能である(図6の分岐3を参照)、という具合である。
実現可能解抽出部203は、このような分岐を、(i、j、・・・、s)枝に対し上載せ可能集合Ai∩Aj・・・∩As=φ(空集合)になるか、当該枝の山高さが上限値になるまで続ける。その結果、実現可能解抽出部203は、空集合になるまでの枝を、或いは、空集合になる前に山高さが上限値を超えた場合は上限値以下の高さになるまでの枝を、実現可能山とする。
例えば、図6の一番上の分岐について説明すると、最下段の対象スラブグループa1(鋼材a1)→二段目の対象スラブグループa2(鋼材a2)→三段目の対象スラブグループa3(鋼材a3)で空集合になったとする。この場合、空集合になるまでの(1、2)枝、(1、2、3)枝が実現可能山として抽出される。すなわち、{最下段に対象スラブグループa1(鋼材a1)、二段目に対象スラブグループa2(鋼材a2)}という集合と、{最下段に対象スラブグループa1(鋼材a1)、二段目に対象スラブグループa2(鋼材a2)、三段目に対象スラブグループa3(鋼材a3)}という集合とが実現可能山として抽出される。
また、最下段の対象スラブグループa1(鋼材a1)→二段目の対象スラブグループa2(鋼材a2)→三段目の対象スラブグループa3(鋼材a3)→四段目の対象スラブグループa4(鋼材a4)でまだ空集合にならないが、四段目で山高さが上限値を超えたとする。この場合、上限値以下の高さになるまでの、(1、2)枝、(1、2、3)枝が実現可能山として抽出される。
また、本実施形態では、樹形図において、各スラブグループを配置する際に、以下の確定スラブグループ積順条件を満足するようにする。
(4)確定スラブグループ積順条件:確定スラブグループは、最下段のスラブグループが属する根ノードにしか配置されず、且つ、当該根ノード以外には配置されない。
(4)確定スラブグループ積順条件について説明する。
ここでは、確定対象物判定部202により確定スラブグループであると判定されたスラブグループを根ノード(図6の最左ノード)に配置する。その際、実現可能解抽出部203は、1つのスラブグループとして纏めた複数の確定スラブグループについては、同一の根ノードに配置する。また、実現可能解抽出部203は、確定対象物判定部202により確定スラブグループであると判定されたスラブグループを、前記配置した根ノード以外のノードに配置しないようにする(すなわち、分岐対象から除外する)。以上のようにすることによって、確定スラブグループは、分岐対象から除外される。したがって、確定スラブグループに対する最適山および積段が最適計算によって変化することと、1つのスラブグループに纏められた複数のスラブグループが分離されることとを防止することができる。
例えば、或る時刻t1において、スラブグループA、Bは、置場1に下からスラブグループA、Bの順に積まれており、確定スラブグループであるとする。この場合、次の最適計算に際し、実現可能解抽出部203は、スラブグループA、Bを1つのスラブグループに纏め、図6の根ノード(図6の最左ノード)とすると共に、スラブグループA、Bを分岐対象から除外する。例えば図6で根ノードの内、鋼材a1をこの確定スラブグループとすると、鋼材a1を分岐対象から除外することに相当する(鋼材a1が確定スラブグループの場合、図6の分岐1、2に鋼材a1(スラブグループA、B)が含まれるのは不適切である)。
続いて、その後の時刻t2において、スラブグループC、Dは、置場1において、スラブグループBの上に、スラブグループC、Dの順に積まれており、確定スラブグループであるとする。この場合、次の最適計算に際し、スラブグループA、B、C、Dを確定スラブグループとして固定して1つのスラブグループとして扱い、図6の根ノード(図6の最左ノード)の1要素とする(今度は、スラブグループA、B、C、Dが図6の例えば鋼材a1の中身となり、鋼材a1は分岐2以降の分岐対象に含まれない)と共に、分岐対象より除外する。具体的には、図6において、樹形図の根ノードであって、いずれのスラブグループも属していない根ノードに、確定スラブグループA、B、C、Dを配置すると共に、樹形図のその他のノードに確定スラブグループA、B、C、Dが配置されないようにする。
確定スラブグループが単独で1つ存在する場合には、当該確定スラブグループを分岐1の1要素とすると共に、分岐対象から除外する。例えば、スラブグループEは、置場2の最下段に置かれており、確定スラブグループであるとする。この場合、次の最適計算に際し、当該スラブグループEを、分岐1の1要素とすると共に、分岐対象より除外する。具体的には、図6において、樹形図の根ノードであって、何れのスラブグループも属していない根ノードに、確定スラブグループEを配置すると共に、樹形図のその他のノードに、確定スラブグループEが配置されないようにする。
[第2の例]
第1の例では、今回の最適計算で最小単位とするスラブグループを設定し、確定スラブグループを樹形図の根ノードに配置すると共に、当該確定スラブが当該根ノード以外のノードに配置されないようにした。ただし、必ずしもこのようにする必要はなく、確定スラブグループのうちの最下段に位置する確定スラブグループの位置を、樹形図(分岐木)において最下段で固定すると共に、ノードの下段(積み位置では上段)に確定スラブグループへの分岐が存在する場合には、確定スラブグループへの分岐のみを残し、確定スラブグループ以外のスラブグループへの分岐を削除するようにしていれば、第1の例のようにする必要はない。
第2の例では、実現可能解抽出部203は、今回の最適計算で最小単位とするスラブグループを設定せず、且つ、(4)確定スラブグループ積順条件を山積み制約に含めずに、例えば、(1)払出順条件、(2)幅条件、および(3)長さ条件を山積み制約として、前述したようにして樹形図を作成し、実現可能山の集合を作成する。
そして、実現可能解抽出部203は、作成した樹形図において、確定スラブグループが根ノードに位置しない分岐を削除する。
図7は、実現可能山を抽出する際の処理の第2の例を概念的に説明する図である。図7でも、図6と同様、表記の都合上、実現可能解抽出部203で前述したように最小単位として設定された1つのスラブグループを鋼材と表記する。ただし、図6では、最下段のノードについては、1つのスラブグループとして纏められた複数の確定スラブグループが配置されることがあるものとしたが、図7におけるノード(鋼材)には、1つのスラブグループのみが配置されるものとする。
図7において、例えば、確定スラブグループa1(鋼材a1)、確定スラブグループa2(鋼材a2)、および確定スラブグループa4(鋼材a4)が最下段からこの順で積まれるものとして1つのスラブグループに纏められたとする。
この場合、実現可能解抽出部203は、最下段に設定した対象スラブグループa1(鋼材a1)に対する上載せ可能集合A1のうち、対象スラブグループa2以外への分岐(ノード)を削除する(図7では二重取り消し線により分岐(ノード)が削除されたことを示す)。また、実現可能解抽出部203は、二段目に設定した対象スラブグループa2(鋼材a2)に対する上載せ可能集合A2のうち、対象スラブグループa4以外への分岐(ノード)を削除する。尚、実現可能解抽出部203は、以上のようにして分岐(ノード)を削除した場合、当該削除した分岐(ノード)よりも枝の末端側の分岐(ノード)についても削除する。
以上のようにして、山分けの対象となるスラブグループの全体集合Tから得られる実現可能山の集合のうち、確定スラブグループが最下段に位置しない実現可能山と、確定スラブグループの積順と異なる積順になる実現可能山とを除いた実現可能山の集合Fが得られる。
[前回の最適計算の結果と同じ実現可能山jの抽出]
そして、実現可能解抽出部203は、以上の第1の例または第2の例で説明したようにして得られた実現可能山の集合Fの中から、前回の最適計算による最適解{x[jopt_pr]}に示される実現可能山jopt_prと同じ実現可能山jを抽出する。実現可能解抽出部203は、実現可能山の集合Fの中に含まれる実現可能山と、前回の最適計算の結果(最適山リスト)とを比較し、実現山可能山の集合Fに含まれる実現可能山が、前回の最適計算の結果(最適山リスト)のいずれかと一致する場合には、その実現可能山のSLGr.IDを前回の最適計算による最適解の要素として{jopt_pr}に登録する。
また、実現可能解抽出部203は、以上の第1の例または第2の例で説明したようにして得られた実現可能山の集合Fに含まれる実現可能山作成時の仮置き数を、後述する(1)式の右辺第2項の評価値Cjとして求める。
実現可能解抽出部203は、例えば、CPUが、ROMに記憶されたプログラムを実行することにより実現される。
<目的関数設定部204>
本実施形態では、実現可能山の集合Fから、最適な実現可能山の組み合わせ(集合)を求め、当該組み合わせを最適な山分け(最適解)とする。ここでの最適化問題は、実現可能山の集合Fから、山分けの対象となるスラブグループの全体集合Tを分割する最適な実現可能山の組み合わせ(実現可能山の集合Fの部分集合)を求める問題、つまり「集合分割問題」として定式化される。
したがって、ここでの最適化計算の決定変数は、実現可能山の集合Fの要素である実現可能山jを最適解として採用するか否かを表す変数x[j]である。ここでは、変数x[j]は、その値が「1」である場合には、実現可能山jを最適解の要素(最適山の一つ)として採用することを表し、その値が、「0(ゼロ)」である場合には、実現可能山jを最適解の要素(最適山の一つ)として採用しないことを表す0-1変数であるものとする。
また、実現可能山jは、1からmまでの変数(j=1、・・・、m)である。実現可能山jの数の最大値mは、実現可能山の集合Fの要素数である。前述したように、実現可能山の集合Fは、山分けの対象となるスラブグループの全体集合Tから得られる実現可能山の集合のうち、確定スラブグループが最下段に位置しない実現可能山と、1つのスラブグループとして纏められた複数の確定スラブグループの積順と異なる積順になる実現可能山とを除いたものになる。
本実施形態では、以下の(1)式および(2)式に示す目的関数Jを用いる。
Figure 2016207157
(1)式において、k1、k2、k3は、重み係数である。重み係数k1、k2、k3は、(1)式の右辺の各項の重みを定めるものであり、重み係数k1、k2は、オペレータにより指定される(第3項および重み係数k3の詳細について後述する)。
jは、実現可能山jに対する評価値(コスト)である。(1)式の右辺第1項は、ヤードにおける総山数を表す。一方、(1)式の右辺第2項は、仮置きの総発生数を表す。ここでは、山作成時の搬送機器(クレーン1A、1B、2A、2B等)の操作負荷を、仮置きの発生数で評価する。
したがって、(1)式の右辺第2項の評価値Cjは、山作成時の仮置き数に対応しており、これが少ないほど搬送機器の操作負荷が少なくなる。本実施形態では、後述する最適化問題を最小化問題とするので、仮置き数Cjが小さいほど高評価となる。
目的関数設定部204は、実現可能解抽出部203により導出された実現可能山の集合Fの要素である実現可能山jのそれぞれについて、仮置きの発生数を導出し、導出した仮置きの発生数に基づいて、前述した基準に従って、評価値Cjを導出する。
(1)式の右辺第3項は、前回の最適計算による最適解の要素x[jopt_pr]のうち、今回の最適計算による最適解の要素x[jopt](jopt_prは、前回の最適計算により得られる実現可能山jであり、joptは、今回の最適計算により得られる実現可能山jである)として選択されないものの数が多いほど、低い評価を示す値になるようにする(すなわち、ペナルティを課すようにする)ためのペナルティ項である。本実施形態では、最適化問題を最小化問題とするので、(1)式の右辺第3項は、今回の最適計算による最適解の要素x[jopt]のうち、前回の最適計算による最適解の要素x[jopt_pr]と同じでないものの数が多いほど、大きな値になる。
ただし、(1)式の右辺第3項の値が、他の評価項目((1)式の右辺第1項および第2項)に影響しないように、今回の最適計算による最適解の要素x[jopt]の全てが、前回の最適計算による最適解の要素x[jopt_pr]から変化しても、(1)式の右辺第3項の値が、当該他の評価項目の最小感度よりも小さくなるようにする。このように、(1)式の右辺第3項の値としてとり得る最大値を、他の評価項目の最小感度よりも小さくすることにより、前回の最適計算による最適解{x[jopt_pr]}({x[jopt_pr]}は、前回の最適計算による最適解の要素x[jopt_pr]の集合である)より僅かでも目的関数Jが改善されるならば、最適解{x[jopt]}が変更され、全く改善がない場合には、前回の最適計算による最適解{x[jopt_pr]}が保持されることが期待できる。
尚、以下の説明では、今回の最適計算による最適解の要素x[jopt]が、前回の最適計算による最適解の要素x[jopt_pr]と同じになることを必要に応じて「最適解の要素の承継」と称する。
このペナルティ項((1)式の右辺第3項)は、計算条件の変化により、前回の最適計算による最適解{x[jopt_pr]}を更新した方が、最適解{x[jopt]}が僅かでも改善されるのであれば、最適解の要素の継承に拘らず、最適解{x[jopt]}を更新(変更)すべきであるが、そうでないのであれば、前回の最適計算による最適解の要素x[jopt_pr]からのずれに対しペナルティを課すことを意味する。
したがって、ペナルティ項((1)式の右辺第3項)を除いた本来の目的関数の値の最適解の変更に伴う最小感度が、今回の最適計算による最適解の要素x[jopt]の全てが、前回の最適計算による最適解の要素x[jopt_pr]から変化した場合のペナルティ項の値よりも大きくなるようにする。尚、今回の最適計算による最適解の要素x[jopt]の全てが、前回の最適計算による最適解の要素x[jopt_pr]から変化した場合は、最適解の要素の承継という意味では最悪の場合になる。
(1)式に示すように、本実施形態では、ペナルティ項((1)式の右辺第3項)を除いた本来の目的関数を、総山数と仮置き総発生数との重み付き線形和で表す。したがって、重み係数k1、k2をそれぞれ「10」、「2」とすると(k1=10、k2=2)、この場合の、最小感度(摂動単位)は、仮置き発生数が「1」増えた場合の2(=k2)となる。したがって、今回の最適計算による最適解の要素x[jopt]の全てが、前回の最適計算による最適解の要素x[jopt]から変化しても、「2」より小さくなる程度のペナルティ項を、本来の目的関数に追加する。
このような観点から、前述した例では、(1)式の右辺第3項の重み係数k3は、nopt・k3<k2(<k1)となるようにする。ここで、noptは、前回の最適計算により得られた総山数の内、今回実現可能な山数である。(即ち{jopt_pr}の要素数)したがって、(2)式に示すようにして重み係数k3が定められる。尚、(2)式においてαは「1」未満の値であり、オペレータにより指定される。
また、(1)式の右辺第3項で総和を求める対象となっている{jopt_pr}は、今回の最適計算による最適解の要素x[jopt]のうち、前回の最適計算による最適解の要素x[jopt_pr]に一致する実現可能山joptの集合である。
前回の最適計算による最適解の要素x[jopt_pr]として採用された実現可能山jopt_prが、今回の最適計算においては実現可能山jではない場合、当該前回の最適計算による最適解の要素x[jopt_pr]として採用された実現可能山jopt_prは、{jopt_pr}に含まれない((1)式の右辺第3項のj∈{jopt_pr}を参照)。したがって、前記前回の最適計算による最適解(山){jopt_pr}のうち、今回の最適計算においては実現可能山jでない山は、ペナルティ項((1)式の右辺第3項)における積算の対象から外れることになる。よって、このような場合には、前回の最適計算による最適解の要素x[jopt_pr]が、今回の最適解計算による最適解の要素x[jopt]として承継されなくても、ペナルティを課さないという点で合理的となっている。
以上のことから、ペナルティ項((1)式の右辺第3項)の計算では、前回の最適計算による最適解の要素x[jopt_pr]の実現可能山jopt_prが、今回の最適計算では、山積み制約に違反する山である場合、または、オペレータの介入等により明らかに再現することが難しい山(仮置きを複数回必要とする山等)である場合には、ペナルティ項によるペナルティの対象から予め除外される。
集合分割問題では、制約を充足する山である各実現可能山jを、最適な山分けとして採用するか否かを決定変数x[j]により表す。すなわち、実現可能山jと決定変数x[j]とが1対1に対応する。したがって、前回の最適計算における最適解{x[jopt_pr]}による最適山の集合を{jopt_pr}とすれば、前回の最適計算における最適解の要素x[jopt_pr]が、今回の最適解の要素x[jopt]として採用されたか否かは、x[jopt_pr]が「1」であるか「0(ゼロ)」であるかで判断できる。したがって、前回の最適計算における最適解の要素x[jopt_pr]が採用されない場合のペナルティ項を、(1)式の右辺第3項のように極めて簡潔に表現することができる。
目的関数設定部204は、重み係数k1、k2、実現可能山jの最大値m、変数α、前回の最適計算により得られた総山数nopt、および実現可能山jとしてとり得る値を、(1)式および(2)式に設定することにより目的関数Jを設定する。尚、最初に最適計算を行う場合には、前回の最適計算の結果はないので、(1)式の右辺第3項の値は「0(ゼロ)」になる。
目的関数設定部204は、例えば、CPUが、ROMに記憶されたプログラムを実行することにより実現される。
<制約式設定部205>
本実施形態では、最適化問題を集合分割問題としている。したがって、最適化計算での制約式は、「いずれのスラブグループgも、複数の実現可能山jに重複して配置されてはならず、且つ、いずれかの1つの実現可能山jに配置されなければならない。」ことが唯一の制約条件となり、以下の(3)式で表すことができる。
Figure 2016207157
(3)式において、Set_gは、スラブグループgを含む実現可能山の集合である。また、スラブグループgは、1、・・・、N(Nは、山分けの対象となるスラブグループの数)である。
制約式設定部205は、スラブグループgを含む実現可能山の集合Set_gおよび実現可能山jとしてとり得る値を設定することにより、制約式を設定する。
制約式設定部205は、例えば、CPUが、ROMに記憶されたプログラムを実行することにより実現される。
<最適解導出部206>
本実施形態では、最適化問題を最小化問題とする。したがって、最適解導出部206は、(3)式の制約式を満足する範囲で、(1)式の目的関数Jの値を最小にする変数x[jopt]の集合{x[jopt]}を最適解として導出して記憶する。最適解は、次回の最適解の導出が終了するまで記憶されていればよく、それ以降は削除されるようにしてもよい。尚、個々の変数x[jopt]が最適解{x[jopt]}の要素になる。
本実施形態における最適化計算は、0-1計画問題として定式化できる。0−1計画問題は、通常、分枝限定法等により変数x[j]の0−1条件(変数x[j]∈{0,1})を緩和した線形計画問題を繰り返し解く必要がある(通常は2n回のオーダの繰り返しが必要になる)。これに対し、本実施形態では、1回または数回の線形計画問題を解くだけで(1、0)の最適解を求めることができる場合があるなど比較的少ない(浅い)分岐により最適解に至ることが期待できる。
なぜならば、最適化問題を「集合分割問題」として定式化したことにより、制約式の両辺の係数行列を「1」または「0(ゼロ)」とできるため、解空間境界の端点が1−0格子点となるからである。つまり、一般の整数計画問題の最適解は実行可能領域「内部解」であるが、「集合分割問題」の最適解は線形計画問題と同様「頂点解」となることが多いことを利用して高速解法が可能となる。
尚、前述した図4は、初期時刻における山立て対象スラブグループリスト300に従って、以上のようにして最適計算を行った結果から得られる最適山リスト400である。前述したように、最初の最適計算においては、確定対象物判定部202の処理はスキップされる(確定スラブグループは存在しない)。また、(1)式の右辺第3項は、「0(ゼロ)」になる。
ここでは、重み係数k1を「10」とし、重み係数k2を「2」とした。図4より、山総数は「7」であり(図4の最適山IDの最大値「7」を参照)、仮置きの総発生数は「9」である(図4の仮置有無が「1」の総数を参照)。したがって、この場合の目的関数Jの値は、88(=10×7+2×9)である。
図4に示す最適山リスト400の通りに、ヤードに到着したスラブグループ(を構成するスラブ)をヤードに配置する。そして、初期時刻から20時刻が経過したタイミングにおける山立て対象スラブグループリストが、図5に示した山立て対象スラブグループリスト500として取得される。前述したように、図5に示した山立て対象スラブグループリスト500では、SLGr.IDが「0(ゼロ)」〜「6」のスラブグループは、ヤードに既に配置されていることが示される。
この山立て対象スラブグループリスト500を初期値として、前述のようにして最適計算を行う。このときは、前回の最適計算の結果(最適山リスト400)が存在する。したがって、確定スラブグループが確定対象物判定部202により判定されると共に、(1)式の右辺第3項が設定される。
図8は、本実施形態の手法で最適計算を行うことにより得られた、初期時刻から20時刻が経過したタイミングにおける結果(最適山リスト800)の一例を示す図である。
ここでは、重み係数k1を「10」とし、重み係数k2を「2」とした。また、重み係数k3は「0.14(=k2/7×0.5)」とした(α=0.5、nopt=7)。
尚、図8において仮置有無の値が「0(1)」となっているのは、過去(ここでは初期時刻)に仮置きが発生したことを示す(段落[0029]、図4を参照)。
また、この場合の目的関数Jの値は、総山数が「7」であり(図8の最適山IDの最大値「7」を参照)、仮置きの総発生数が「6」であり(図8の仮置有無が「1」の総数を参照)、全ての最適解の要素x[jopt]が一致していることから、「82(=10×7+2×6)」となる。
図4と図8とを比較すると、最適山IDは異なるものの、全ての最適解の要素x[jopt]が一致していることが分かる。
また、図示を省略するが、初期時刻から20時刻が経過した以降の時刻(初期時刻から70時刻、110時刻、150時刻、170時刻、180時刻)が経過したタイミングにおいても、初期時刻から20時刻が経過したタイミングと同様に最適計算を行った。すなわち、1つ前のタイミングにおける最適山リストの通りに、ヤードに到着したスラブグループをヤードに配置する。そして、初期時刻から前記の時刻が経過したタイミングにおける山立て対象スラブグループリストを取得する。そして、取得した山立て対象スラブグループリストに従って、前述した本実施形態の手法で最適計算を行うことにより、最適山リストを導出する。その結果、全ての時刻において、全ての最適解の要素x[jopt]が図4に示した初期時刻における最適山リスト400と一致したことを確認した。
一方、本実施形態の手法との比較を行うために、公知の分岐限定法における初期解に、前回の最適計算における最適解{x´[jopt]}を設定する手法を比較例として採用した。尚、かかる手法を採用したのは、かかる手法は、最適解の一貫性が保たれるようにするための手法として採用し得ると想定されるからである。
集合分割問題とする場合の分岐限定法における最適計算の変数としては、前回の最適計算で抽出された実行可能山jを最適山として採用する場合に「1」、採用しない場合に「0(ゼロ)」とする0-1変数x´[j]が使われる。
前回の最適計算によりx´[jopt_pr]=1となった実行可能山jopt_prの集合{jopt_pr}を最適解として記憶しておく。
今回の最適計算の際に抽出した実行可能山j´の中に、前回の最適計算によりx´[jopt_pr]=1となった実行可能山jopt_prと同じ山があれば、当該実行可能山j´の0-1変数x´[j]の初期解として「1」を設定する。
一方、今回の最適計算の際に抽出した実行可能山j´の中に、前回の最適計算によりx´[jopt_pr]=1となった実行可能山joptと同じ山がなければ、当該実行可能山j´の0-1変数x´[j]の初期解として「0(ゼロ)」を設定する。
尚、分岐限定法は、公知の技術で実現できるので、ここでは、その詳細な説明を省略する。
図9は、以上の比較例の手法で最適計算を行うことにより得られた、初期時刻から20時刻が経過したタイミングにおける結果(最適山リスト900)の一例を示す図である。
図9では、図4に示した最適山リスト400を、初期時刻から20時刻が経過したタイミングにおける初期解として分岐限定法により最適計算を行った結果を示す。
まず、ヤードに到着済みで確定しているスラブグループ(SLGr.ID「1」、「5」と、SLGr.ID「3」、「4」)は、最適山IDは異なるものの、図4に示した最適山リスト400と一致する。
次に、図9において、最適山IDが「1」の最適山と、最適山IDが「2」の最適山は、図4に示した最適山リスト400と一致する。一方、図4における最適山IDが「3」、「5」、「6」、「7」の最適山に相当する最適山は、図9に示す最適山リスト900にはない。また、図5における最適山IDが「4」の最適山は、図9における最適山IDが「6」の最適山に相当する。
以上のように、7つの最適山のうち、同じ山は3つであり、4つの最適山は異なる山となっている。したがって、比較例では、最適解が維持されていないことが分かる。
尚、この場合の目的関数Jの値は、総山数が「7」であり(図9の最適山IDの最大値「7」を参照)、仮置きの総発生数が「6」であるから(図9の仮置有無が「1」の総数を参照)、「82(=10×7+2×6)」となり、段落[0112]で求めた値と一致しておりいずれも最適値であることが判る。
また、図示を省略するが、初期時刻から20時刻が経過した以降の時刻(初期時刻から70時刻、110時刻、150時刻、170時刻、180時刻)が経過したタイミングにおいても、前述した比較例の手法により、最適山リストを導出した。その結果、全ての時刻において、最適解の要素x[jopt]の一部が図4に示した初期時刻における最適山リスト400と異なり、且つ、最適計算を行うタイミング毎に最適解の要素x[jopt]が変動したことを確認した。
最適解導出部206は、例えば、CPUが、ROMに記憶されたプログラムを実行することにより実現される。
<最適解出力部207>
最適解出力部207は、最適解導出部206により最適解{x[jopt]}が導出されると、当該最適解{x[jopt]}を示す情報を出力する。例えば、最適解出力部207は、初期時刻における最適解{x[jopt]}が導出されると、図4に示した最適山リスト400の情報を出力し、その後、初期時刻から20時刻が経過したタイミングにおける最適解{x[jopt]}が導出されると、図8に示した最適山リスト800の情報を出力する。
出力の形態としては、例えば、コンピュータディスプレイへの表示、作業計画作成装置200内の記憶媒体や外部の記憶媒体への記憶、および外部装置への送信の少なくとも1つを採用することができる。
また、最適解出力部207は、最適解導出部206により導出された最適解{x[jopt]}に基づいて、どの位置のスラブグループを、どの位置に搬送するのかを示す搬送指示信号を生成し、当該搬送指示信号を、搬送装置に送信してもよい。
最適解出力部207は、例えば、CPUが、最適解{x[jopt]}を示す情報を、HDDに記憶したり、通信インターフェースや入出力インターフェースを介して出力したりすることにより実現される。
(外乱がある場合の例)
図5に示した山立て対象スラブグループリスト500では、山立て対象スラブグループリスト300に示される各スラブグループの到着予定に対し、各スラブグループの到着予定に変更がない理想的な条件である場合を例に挙げて説明した。
そこで、本実施形態の手法のより高い有用性を示すために、ここでは、到着予定に変更(到着順の変更、到着予定のスラブの属性の変更等)があっても、本実施形態の手法が、理想的な条件下と同様に、前述した効果を発揮できるか否かを、前述した比較例の手法と比較する。
尚、ここでも、初期時刻における条件を前述した条件と同じにした。すなわち、初期時刻における山立て対象スラブグループリストは、図3に示した山立て対象スラブグループリスト300であり、初期時刻における最適山リスト(山立て対象スラブグループリスト300に従った最適計算の結果)は、図4に示した最適山リスト400であるものとする。
ただし、ここでは、初期時刻から20時刻が経過した時点で、ヤードに到着する予定のスラブグループの到着順、ヤードに到着する予定のスラブグループの属性、ヤードに到着したスラブグループの位置が、初期時刻における山立て対象スラブグループリスト300および最適山リスト400から変更されたものとする。
そして、本実施形態の手法であるリアルタイム最適化機能が、以上の変更を適切に判断し、必要な解の修正を行えるかということや、必要以上の解の変更を行っていないかということ等について検証を行った。
ここでは、前述したのと同様に、重み係数k1、k2をそれぞれ「10」、「2」とした(k1=10、k2=2)。初期時刻における最適山の総数は「7」であるから、前述したのと同様に、重み係数k3を「0.14(=k2/7×0.5)」とした(α=0.5、nopt=7)。
<到着順の変更があった場合>
まず、初期時刻から20時刻が経過した時点で、ヤードに到着する予定のスラブグループの到着順に変更があった場合について示す。
図10は、初期時刻から20時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着する予定のスラブグループの到着順に変更があった場合の山立て対象スラブグループリスト1000の一例を示す図である。図10でも、図5と同様に、ヤードに実際に置かれているスラブグループをグレーで示す。
具体的に図10では、SLGr.IDが「17」のスラブグループの到着順と、SLGr.IDが「18」のスラブグループの到着順とが初期時刻(図3)とは逆になる。すなわち、図3に示したように、初期時刻では、SLGr.IDが「17」のスラブグループの到着時刻(到着予定時刻)は「105」、SLGr.IDが「18」のスラブグループの到着時刻(到着予定時刻)は「106」である。この予定の通りに、初期時刻から20時刻が経過すれば、SLGr.IDが「17」のスラブグループの到着時刻(到着予定時刻)は「85」、SLGr.IDが「18」のスラブグループの到着時刻(到着予定時刻)は「86」になるはずである。
ところが、ここでは、この到着予定が変更され、図10に示すように、初期時刻から20時刻が経過したタイミングで、SLGr.IDが「17」のスラブグループの到着時刻(到着予定時刻)が「86」、SLGr.IDが「18」のスラブグループの到着時刻(到着予定時刻)が「85」になったものとする(図10の下線の部分を参照)。
このように到着予定が変更されると、SLGr.IDが「17」の払出順が「11」、SLGr.IDが「18」の払出順が「8」であることから、到着順と払出順が逆順になる。したがって、初期時刻における最適山リスト400の最適山IDが「6」の山を作る際に、山繰り(仮置き数)が増える。したがって、そのままでは、目的関数の値が悪化してしまう。
尚、前記において、逆順とは、到着順が先(後)のスラブグループの払出順が先(後)であることをいう。例えば、2つのスラブグループがあり、一方のスラブグループのヤードへの到着順が、他のスラブグループよりも先であり、且つ、一方のスラブグループの圧延工程への搬送順(払出順)が、他のスラブグループよりも先であるものとする。この場合、一方のスラブグループが先にヤードに到着し、一方のスラブグループの上に他方のスラブグループが積まれると、一方のスラブグループを他方のスラブグループよりも先に圧延工程へ搬送するために、他方のスラブグループをどけてから一方のスラブグループを圧延工程へ搬送する必要が生じ、山作成時の搬送機器の操作負荷が大きくなる。
<<比較例における検証結果>>
・最適解
最適解については、初期時刻における最適解(図4)と比較すると、2つの最適山が一致し、5つの最適山が変更された。
初期時刻における最適解は、以下の通りである。
「(22),(23,21),(12,9,27,26,6,29)(11,2,25,14)(1,5,20,16,15,0)(3,4,13,17,18,19)(7,8,10,24,28)
初期時刻から20時刻が経過したタイミングにおける最適解は、以下の通りである。
「(22),(23,21),(12,9,27,26,28)(11,2,25,17,7)(1,5,20,16,15)(3,4,13,14,18,19)(7,8,10,6,24,29,0)
前記において、1つの括弧()は、1つの最適山を示し、当該括弧内の数字は、当該括弧で示される最適山のSLGr.IDを下段に位置するものほど左になるように「,」で区切って並べて示したものであり、下線は、異なる(初期解から変更された)最適山であることを示す(以上のことは、以下でも同じである)。
・最適値
目的関数の値(最適値)は「82(=10×7+2×6)」になった(k1=10、k2=2)。
初期解「(22),(23,21),(12,9,27,26,6,29)(11,2,25,14)(1,5,20,16,15,0)(3,4,13,17,18,19)(7,8,10,24,28)」の20時刻経過時に
おける目的関数の値(最適値)は、到着順予定変更のあったSLGr.ID「18」の仮置きが増え「84(=10×7+2×7)」であるので(段落[0112]を参照)、目的関数の値(最適値)は、それよりも良い値になり、スラブグループの到着順の変更による目的関数の値(最適値)の悪化は回避された。しかしながら、前述したように、最適解の一貫性はない。
<<本実施形態の手法における検証結果>>
・最適解
最適解については、初期時刻における最適解(図4)と比較すると、5つの最適山が一致し、2つの最適山が変更された。
初期時刻における最適解は、以下の通りである。
「(22),(23,21),(12,9,27,26,6,29),(11,2,25,14),(1,5,20,16,15,0),(3,4,13,17,18,19),(7,8,10,24,28)」
初期時刻から20時刻が経過したタイミングにおける最適解は、以下の通りである。
「(22),(23,21),(12,9,27,26,6,29),(11,2,25,17),(1,5,20,16,15,0),(3,4,13,14,18,19),(7,8,10,24,28)」
このように、これらの最適解では、SLGr.IDが「14」のスラブグループとSLGr.IDが「17」のスラブグループとが入れ替わっているところだけが異なる。これは、今回の外乱(SLGr.IDが「17」のスラブグループの到着順とSLGr.IDが「18」のスラブグループの到着順とが入れ替わったこと)による影響であり、この影響による変更を最小限にとどめた解であると考えられる。
・最適値
目的関数の値(最適値)は「82.2857(=10×7+2×6+0.143×2)」であった(k1=10、k2=2、nopt=7、α=5)。
したがって、(1)式の右辺第3項の寄与分は「0.2857」である。これを除いた目的関数の値(最適値)は「82」になり、(1)式の右辺第3項のない目的関数の値(前記<<比較例における検証結果>>における目的関数の値)と一致するので、これも最適解である。したがって、比較例のように最適解を変更させる必要がないことが分かる。このように、本実施形態の手法では、スラブグループの到着順の変更による目的関数の値(最適値)の悪化を回避し、最適性を確保しながらも前回解を出来るだけ継承した解を導出している。
<到着予定のスラブグループの属性の変更があった場合>
次に、初期時刻から20時刻が経過した時点で、ヤードに到着する予定のスラブグループの属性に変更があった場合について示す。
図11は、初期時刻から20時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着する予定のスラブグループの属性に変更があった場合の山立て対象スラブグループリスト1100の一例を示す図である。図11でも、図5と同様に、ヤードに実際に置かれているスラブグループをグレーで示す。
具体的に図11では、SLGr.IDが「21」のスラブグループと、SLGr.IDが「22」のスラブグループとの寸法情報が初期時刻(図3)におけるものと異なる。すなわち、初期時刻では、図3に示したように、SLGr.IDが「21」のスラブグループの最大幅、最小幅、最大長、最小長は、それぞれ「850」、「850」、「9190」、「9190」の予定であり、SLGr.IDが「22」のスラブグループの最大幅、最小幅、最大長、最小長は、それぞれ「850」、「850」、「6130」、「6130」の予定であった。これに対し、初期時刻から20時刻が経過したタイミングでは、図11に示すように、SLGr.IDが「21」のスラブグループの最大幅、最小幅、最大長、最小長は、それぞれ「1550」、「1550」、「13260」、「13260」の予定に変更され、SLGr.IDが「22」のスラブグループの最大幅、最小幅、最大長、最小長は、それぞれ「1550」、「1550」、「11070」、「11070」の予定に変更された(図11の下線の部分を参照)。
このように払出順(圧延工程への搬送順)が比較的遅いスラブグループの寸法が大きくなるので、山立てがし易くなり、山数をより少なくできる(目的関数の値を改善できる)可能性があることが想定される。
<<比較例における検証結果>>
・最適解
最適解については、初期時刻における最適解(図4)と比較すると、初期時刻では最適山の数が7つであったのが、5つになり、初期時刻における最適山と一致する最適山はなかった。
初期時刻における最適解は、以下の通りである。
(22)(23,21)(12,9,27,26,6,29)(11,2,25,14)(1,5,20,16,15,0)(3,4,13,17,18,19)(7,8,10,24,28)
初期時刻から20時刻が経過したタイミングにおける最適解は、以下の通りである。
(23,22,21,12,9,27,26,28)(11,2,16,17,14,18,19)(1,5,20,15,0)(3,4,25,13)(7,8,10,6,24,29)
・最適値
目的関数の値(最適値)は「66(=10×5+2×8)」であった(k1=10、k2=2)。
初期解の20時刻経過時における目的関数の値(最適値)は、前述したように「82(=10×7+2×6)」である(段落[0112]を参照)。したがって、目的関数の値は、それよりも大幅に良い値になり、到着予定のスラブグループの寸法の変更による総山数の減少により、目的関数の値(最適値)は改善された。しかしながら、前述したように、最適解の一貫性はない。
<<本実施形態の手法における検証結果>>
・最適解
最適解については、初期時刻における最適解(図4)と比較すると、3つの最適山が1つの最適山にまとまり、残りの4つの最適山は全て一致した。
初期時刻における最適解は、以下の通りである。
(22)(23,21)(11,2,25,14),(12,9,27,26,6,29),(1,5,20,16,15,0),(3,4,13,17,18,19),(7,8,10,24,28)」
初期時刻から20時刻が経過したタイミングにおける最適解は、以下の通りである。
(23,22,21,11,2,25,14),(12,9,27,26,6,29),(1,5,20,16,15,0),(3,4,13,17,18,19),(7,8,10,24,28)」
このように、到着予定のスラブグループの寸法の変更により、複数の山を纏めることができるようになり、当該変更により山数を少なくできるという利益をきちんと享受しつつも、それ以外の山は完全に変更なく継承されることが分かる。
・最適値
目的関数の値(最適値)は、「66.429(=10×5+2×8+0.143×3)」であった(k1=10、k2=2、nopt=7、α=5)。
したがって、(1)式の右辺第3項の寄与分は「0.429」である。これを除いた目的関数の値(最適値)は「66」になり、(1)式の右辺第3項のない目的関数の値(前記<<比較例における検証結果>>における目的関数の値)と一致するので、これも最適解である。したがって、本実施形態の手法では、スラブグループの属性の変更による目的関数の値(最適値)の悪化を回避し、最適性を確保している。
<ヤードに到着済みのスラブグループの位置の変更があった場合>
次に、ヤードに到着したスラブグループの一部が、オペレータの介入により、初期時刻における最適山リストとは異なる置き方で置かれた場合について示す。
図12は、初期時刻から20時刻が経過したタイミングにおける山立て対象スラブグループリストであって、ヤードに到着したスラブグループの位置に変更があった場合の山立て対象スラブグループリスト1200の一例を示す図である。図12でも、図5と同様に、ヤードに実際に置かれているスラブグループをグレーで示す。
具体的に図12では、SLGr.IDが「5」のスラブグループと、SLGr.IDが「6」のスラブグループの山姿(位置)が、図4に示した最適山リスト400に従う山姿の通りでない。
すなわち、SLGr.IDが「5」のスラブグループの位置は、初期時刻では、図4に示したように、最適山IDが「5」の最適山の2段目であるとされていたが、初期時刻から20時刻が経過したタイミングにおいて実際に置かれている位置は、図12に示すように、最適山IDが「5」の最適山の3段目である(図12の下線の部分を参照)。
また、SLGr.IDが「6」のスラブグループの位置は、初期時刻では、図4に示したように、最適山IDが「7」の最適山の5段目であるとされていたが、初期時刻から20時刻が経過したタイミングにおいて実際に置かれている位置は、図12に示すように、最適山IDが「5」の最適山の3段目である(図12の下線の部分(置場、積段の値)を参照)。したがって、SLGr.IDが「6」のスラブグループは、初期時刻の段階では、仮置きが必要であるとされていたが(図4の仮置有無の値を参照)、初期時刻から20時刻が経過したタイミングでは、オペレータが最適山リスト400とは異なる置き方をしたために、仮置きが不要となり、確定スラブグループになっている(図12の下線の部分(本/仮の値)を参照)。
このように、オペレータによる介入があると、最適山IDが「5」および「7」の最適山については、図4に示した最適山リスト400におけるものと同じ山にすることができなくなる。この場合に、その他の最適山についての異同を検証した。
<<比較例における検証結果>>
・最適解
最適解については、初期時刻における最適解(図4)と比較すると、オペレータの介入の影響を受ける2つの最適山と、オペレータの介入する1つの最適山が変更された。
初期時刻における最適解は、以下の通りである。
「(22),(23,21),(12,9,27,26,6,29),(11,2,25,14),(1,5,20,16,15,0),(3,4,13,17,18,19),(7,8,10,24,28)
初期時刻から20時刻が経過したタイミングにおける最適解は、以下の通りである。
「(22),(23,21),(12,9,27,26,28),(11,2,25,14),(1,6,5,20,16,15,0),(3,4,13,17,18,19),(7,8,10,24,29)
オペレータが介入したSLGr.IDが「5」、「6」のスラブグループが関連する最適山IDが「5」、「3」の最適山(初期時刻においては、最適山IDが「5」、「7」の最適山)は、それぞれ、(12,9,27,26,6,29)→(12,9,27,26,28)、(1,5,20,16,15,0)→(1,6,5,20,16,15,0)のように当然変化している。これに加え、最適山IDが「7」の最適山の最上段のスラブグループは、初期時刻においては、SLGr.IDが「28」のスラブグループであったが、初期時刻から20時刻が経過したタイミングにおいては、SLGr.IDが「29」のスラブグループになった。したがって、比較例では、オペレータの介入により直接影響する最適山IDが「5」、「3」の最適山の他、オペレータの介入による直接の影響がない最適山IDが「7」の最適山についても、初期時刻における最適解の要素(前回の最適計算により得られた最適解の要素)と異なることが分かる。
・最適値
目的関数の値(最適値)は「82(=10×7+2×6)」であった(k1=10、k2=2)。
<<本実施形態の手法における検証結果>>
・最適解
最適解については、初期時刻における最適解(図4)と比較すると、オペレータの介入の影響を受ける2つの最適山のみが変更された。
初期時刻における最適解は、以下の通りである。
「(22),(23,21),(12,9,27,26,6,29),(11,2,25,14),(1,5,20,16,15,0),(3,4,13,17,18,19),(7,8,10,24,28)」
初期時刻から20時刻が経過したタイミングにおける最適解は、以下の通りである。
「(22),(23,21),(12,9,27,26,29),(11,2,25,14),(1,6,5,20,16,15,0),(3,4,13,17,18,19),(7,8,10,24,28)」
オペレータが介入したSLGr.IDが「5」、「6」のスラブグループが関連する最適山IDが「5」、「3」の最適山(初期時刻においては、最適山IDが「5」、「7」の最適山)以外の最適山IDが「1」、「2」、「4」、「6」、「7」の最適山については、初期時刻における最適山と一致していることが分かる。
初期時刻における最適山から変更された最適山IDが「5」、「3」の最適山についても、SLGr.IDが「6」のスラブグループは、最適山IDが「3」の5段目に配置する予定であったが、オペレータの介入により、最適山IDが「5」の2段目に装入されるだけであり、それ以外の未介入の部分については全て継承されている。すなわち、オペレータによる介入があった箇所以外は全く変更がない最適解が得られている。
・最適値
目的関数の値(最適値)は「82(=10×7+2×6+0.143×0)」であった(k1=10、k2=2、nopt=6、α=5)。
尚、オペレータによる介入が行われた最適山IDが「5」のスラブグループでは、下層部のSLGr.IDが「1」、「6」、「5」が確定スラブグループとして固定される。したがって、これに対応する初期時刻における最適解の要素(図4の最適山IDが「5」の最適山(1,5,20,16,15,0))と、最適山IDが「5」の最適山に強制的に固定されたSLGr.IDが「6」のスラブグループを構成要素としていた初期時刻における最適解の要素(図4の最適山IDが「7」の最適山(12,9,27,26,6,29))は、今回の最適計算において再現することは不可能であるため、前回の最適計算における最適解の要素{jopt}には含まれない。したがって、(1)式の右辺第3項の値は「0(ゼロ)」になる。
このように、本実施形態の手法では、オペレータの介入によってヤードに到着済みのスラブの位置が前回の最適計算による最適解と異なる位置になっても、到着予定のスラブグループの属性の変更や、ヤード到着予定のスラブグループの到着順の変更があった場合と同様に、前回の最適計算による最適解の要素を可及的に多く承継することが分かる。
(フローチャート)
次に、図13のフローチャートを参照しながら、本実施形態の作業計画作成装置200の処理の一例を説明する。
まず、ステップS1301において、計画対象物リスト取得部201は、山立て対象スラブグループリストを取得するまで待機する。前述した例では、計画対象物リスト取得部201は、初期時刻における山立て対象スラブグループリスト300を取得した後、20時刻が経過すると山立て対象スラブグループリスト500を取得する。尚、ステップS1302以降の処理は、1つの山立て対象スラブグループリストが取得される度に繰り返し実行される。
次に、ステップS1302において、確定対象物判定部202は、ステップS1301で取得された山立て対象スラブグループリストに含まれるスラブグループが、最終山姿と一致しているスラブグループ(確定スラブグループ)であるか否かを判定する。具体的に確定対象物判定部202は、ステップS1301で取得された山立て対象スラブグループリストのSLGr.IDと、前回の最適計算の結果(最適山リスト)のSLGr.IDとが一致しているか否かを、一致しなくなるまで各山の最下段から順に判定する。尚、最初にステップS1302を通過する際(前回の最適計算の結果が存在しない場合)には、ステップS1302における処理はスキップされる。
次に、ステップS1303において、実現可能解抽出部203は、ステップS1301取得した山立て対象スラブグループリストから、山積み制約を満たすように、スラブグループをノード、最下段に配置されるスラブグループを根ノード、下段に配置されるスラブグループが属するノードを、その1つ上段に配置されるスラブグループの親ノードとする樹形図を作成する。この際、実現可能解抽出部203は、樹形図において、(1つのスラブグループとして纏められた複数の確定スラブグループのうち2段目よりも上に位置する確定スラブグループを除いて)確定スラブグループの位置を最下段で固定すると共に、確定スラブグループの位置が最下段でない分岐を削除する。これにより、確定スラブグループの位置が固定される。
そして、実現可能解抽出部203は、作成した樹形図の要素を実現可能山の集合Fとして抽出する。また、実現可能解抽出部203は、後述する目的関数設定部204にて目的関数Jを設定するため以下の第1の処理および第2の処理も行う。前記第1の処理として実現可能解抽出部203は、抽出された実現可能山と、前回の最適計算の結果(最適山リスト)とを比較し、抽出された実現可能山が、前回の最適計算の結果(最適山リスト)のいずれかと一致する場合は、その実現可能山のSLGr.IDを前回の最適計算による最適解の要素として{jopt_pr}に登録する。前記第2の処理として実現可能解抽出部203は、抽出された実現可能山作成時の仮置き数を評価値Cjとして求める。
次に、ステップS1304において、目的関数設定部204は、目的関数Jを設定する((1)式および(2)式を参照)。
次に、ステップS1305において、制約式設定部205は、制約式を設定する((3)式を参照)。
次に、ステップS1306において、最適解導出部206は、ステップS1305で設定された制約式を満足する範囲で、ステップS1304で設定された目的関数Jの値を最小にする変数x[jopt]の集合{x[jopt]}を最適解として導出する。
次に、ステップS1307において、最適解出力部207は、ステップS1306で導出された最適解{x[jopt]}を示す情報を出力する。
次に、ステップS1308において、作業計画作成装置200は、山立て計画の作成を終了するか否かを判定する。この判定の方法は、特に限定されないが、例えば、作業計画作成装置200に対するオペレータの操作による指示があったか否か、上位のコンピュータからの指示があったか否か、または予め設定されたタイミングが経過したか否かにより行うことができる。
この判定の結果、山立て計画の作成を終了しない場合には、前述したステップS1301に戻り、次のタイミングにおける最適解{x[jopt]}の導出と出力を前述したようにして行う。
そして、山立て計画の作成を終了すると判定されると、図13のフローチャートによる処理を終了する。
(まとめ)
以上のように本実施形態では、前回の最適計算における最適解の要素x[jopt_pr]のうち、実現可能山jについての要素が、今回の最適計算における最適解の要素x[jopt]として再現されない場合に、目的関数Jの値に対しペナルティを課すペナルティ項を目的関数Jに含める((1)式の右辺第3項)。
したがって、作業予定の変更だけでなく、作業予定の変更に依らない時間経過により作業が進行することによる対象プロセスの状態の推移に対しても最適解の変動を必要最低限に留めた一貫性のある最適解を得ることができる。
具体的に、本実施形態では、目的関数Jを、評価指標(総山数および山作成時の搬送機器の操作負荷)を定式化した項((1)式の右辺第1項・第2項)とペナルティ項との重み付き線形和で表す。そして、ペナルティ項を、前回の最適計算における最適解の要素x[jopt_pr]のうち、今回の最適計算において実現可能山jとなる要素が、今回の最適計算における最適解の要素x[jopt]として選択されない場合に、目的関数Jの値に対しペナルティを課す項とする。そして、ペナルティ項を除いた場合の前記目的関数の値の、最適解の要素x[jopt]の変更に伴う最小感度が、ペナルティ項としてとり得る値の最大値よりも大きくなるようにする。
したがって、計算条件の変化により、前回の最適計算における最適解{x[jopt]}を更新した方が、目的関数の値(最適値)Jが僅かでも改善される場合には、前回の最適計算における最適解の要素x[jopt_pr]の選択がどのようになされているかに関わらず、今回の最適計算において最適解{x[jopt]}が更新(変更)され、そうでない場合には、前回の最適計算における最適解{x[jopt_pr]}からの変更分に対しペナルティを課すことができる。
また、本実施形態では、実際にヤードに置かれ、実作業が完了したスラブグループを確定スラブグループとして、その他のスラブグループと区別する。そして、確定スラブグループについては、最適計算において変数として扱わずに確定制約として固定し、最適計算の対象から除外する。
具体的には、山立て問題を集合分割問題として解く場合に、樹形図において、確定スラブグループについては、ヤードに置かれている配置と異なる配置にすることを許容しないようにする。
したがって、時間の経過に伴い、作業が進行するにつれて、確定スラブグループが増えることにより、対象となる問題(確定スラブグループが無い場合の元々の問題の部分問題)を徐々に小さくすることができる。
(変形例)
<変形例1>
(1)式の右辺第3項では、今回の最適計算による最適解の要素x[jopt]のうち、前回の最適計算による最適解の要素x[jopt_pr]と同じものが選択されない数が多いほど、低い評価を示す値になるようにする場合を例に挙げて説明した。
しかしながら、必ずしもこのようにする必要はない。
例えば、(1)式の右辺第3項を、前回の最適計算による最適解の要素x[jopt_pr]と異なる要素x[jopt]のうち、今回の最適計算による最適解の要素x[jopt]として選択された要素の数が多いほど、低い評価を示すようにすることができる。具体的には、(1)式を以下の(4)式にすることができる。
Figure 2016207157
(4)式において、{jopt}(の上付き−)は、今回の最適計算による最適解の要素x[jopt]のうち、前回の最適計算による最適解の要素x[jopt]に一致する要素の実行可能山joptの補集合(すなわち、今回の最適計算による最適解の要素x[jopt]のうち、前回の最適計算による最適解の要素x[jopt_pr]以外の要素の集合)である。
また、(1)式の右辺第3項を、前回の最適計算による最適解の要素x[jopt_pr]と異なる要素x[j]のうち、今回の最適計算による最適解の要素x[jopt]として選択された要素の数が多いほど、低い評価を示す値であって、それらの差の絶対値が大きいほど、低い評価を示す値にすることができる。具体的には、(1)式を以下の(5)式にすることができる。
Figure 2016207157
ここで、評価値C2jは、各実現可能山jと、前回の最適計算による最適解の集合{jopt_pr}の各要素との山姿を比較し、最も近い要素との差が小さいほど、高い評価を示す値になるようにする。本実施形態のように、最適化問題を最小化問題とする場合には、評価が高い場合ほど評価値C2jを小さくする。例えば、実行可能山jに対する評価値C2jを考える場合、実行可能山jと、前回の最適計算による最適解の集合[jopt_pr]の各要素とを比較し、前回の最適計算による最適解jopt_prを実行可能山jに変更する場合の作業負荷を考え、前回の最適計算による最適解の集合{jopt_pr}の中で最も少ない作業負荷を評価値C2jとするなどの様に考える。尚、最適化問題を最大化問題とする場合には評価が高い場合ほど評価値C2jを大きくする。(5)式を用いることで、今回の最適計算による最適解の要素x[jopt]と、前回の最適計算による最適解の要素x[jopt_pr]との差を評価指標とすることができ、よりきめの細かい評価をすることができる。
また、(5)式を採用する場合には、例えば、以下の(6)式のようにして重み係数k3を定めることにより、(5)式の値を、他の評価項目((1)式の右辺第1項および第2項)の最小感度よりも小さくすることができる。
Figure 2016207157
<変形例2>
本実施形態では、最適化問題を集合分割問題とする場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、特許文献5に記載のように、2つのスラブグループの関係に基づいて最適化問題を定式化してもよい。
このようにする場合には、まず、確定スラブグループの制約は確定スラブグループに含まれる任意の2つのスラブグループの関係を確定制約とする。例えば、2つのスラブグループ(i1,i2)が最適山ID(=m1)に上下に連続して置かれている場合に、山仕分け変数x[i1][m1]=1、x[i2][m1]=1、積位置関係変数y[i1][i2][m1]=1とする制約を設定する。山仕分け変数x[i1][m1]は、スラブグループ(=i1)が最適山ID(=m1)に置かれる場合に「1」、そうでない場合に「0(ゼロ)」が与えられる0-1変数である。積位置関係変数y[i1][i2][m1]は、最適山ID(=m1)において、2つのスラブグループ(=i1、i2)が、スラブグループi1が下、スラブグループi2が上となるように上下に連続して置かれる場合に「1」、そうでない場合に「0(ゼロ)」が与えられる0-1変数である。
また、2つのスラブグループの関係で表現された最適化問題における前回の最適計算での最適解の要素についても、前回最適山を構成する当該2つのスラブグループの関係が採択されなかった場合に、ペナルティを課すようにすればよい。
さらに、集合分割問題以外の解法は、特許文献5に開示された解法に限定されるものではない。前述したように、確定スラブグループの位置を固定条件(確定スラブグループの位置を変えない条件)として制約条件に反映し、前回の最適計算による最適解の要素と異なる要素が今回の最適計算で得られた場合のペナルティを目的関数に反映させることにより制約条件と目的関数とを設定して最適解を導出する方法に広く一般に適用可能である。
<変形例3>
本実施形態では、(1)式の右辺第1項・第2項において、総山数と、山作成時の搬送機器の操作負荷とを評価する場合を例に挙げて説明した。しかしながら、評価指標は、これらに限定されない。例えば、これらの評価に加えてまたは代えて、ヤードに到着した際のスラブの放熱に関する評価と、ヤードから圧延工程に搬送される際のスラブの放熱に関する評価との少なくとも何れか一方を採用してもよい。ヤードに到着した際のスラブの放熱に関する評価とは、例えば山積みされたスラブは空気に直接触れる表面積の大きい最上段ほど放熱が激しいことから、出来るだけその様な時間が短くなるよう、山の作成開始から完了(完了後は保温設備を閉める)までの時間を少なくすることが要請される。ヤードから圧延工程に搬送される際のスラブの放熱に関する評価も同様に山の分解(払出)開始から完了までの時間が短いことが要請される。その様な山の作成時間、分解時間を評価指標とすることもできる。また、例えば、山作成時の搬送機器の操作負荷を評価指標として採用せず、総山数のみを評価指標としてもよい。
<変形例4>
本実施形態では、仮置きの総発生数で、山作成時の搬送機器の操作負荷を評価する場合を例に挙げて説明した((1)式の右辺第2項)。しかしながら、必ずしもこのようにして山作成時の搬送機器の操作負荷を評価しなくてもよい。例えば、ヤードへの到着順と圧延工程への搬送順(払出順)とが逆順になるスラブグループの総数で、山作成時の搬送機器の操作負荷を評価してもよい。
<変形例5>
本実施形態では、最適化問題を最小化問題とする場合を例に挙げて説明した。しかしながら、最適化問題を最大化問題としてもよい。このようにした場合、例えば、(1)式の右辺第1項および第3項にそれぞれ(−1)を乗算すると共に、評価が高いほど評価値Cjが大きくなるように評価値Cjを導出すればよい。
<変形例6>
本実施形態では、山立て計画を作成する場合を例に挙げて説明した。しかしながら、複数の対象物に対する作業を行うための作業計画を作成するものであれば、どのようなものであっても本実施形態の手法を適用することができる。例えば、複数の対象物の処理順を定める作業計画や、複数の対象物の分類先を定める作業計画等に、本実施形態の手法を適用することができる。
また、目的関数は、採用する作業計画に応じて、作業の良否を評価するための評価指標が関数で表現された項と、前回の最適解と今回の最適解とが異なる場合に、目的関数の値に対しペナルティを課すためのペナルティ項とを含むように定めればよい。さらに、決定変数も、採用する作業計画に応じて、対象物に対する作業の指示に反映される情報を定めればよい。また、制約式についても、採用する作業計画に応じて、作業における制約を数式で表現すればよい。
例えば、複数の対象物の処理順を定める作業計画の作成に適用する場合、当該処理順や処理時刻を決定変数にすることができる。この場合、例えば、前回の最適解から定まる処理順と今回の最適解から定まる処理順を比較し、任意の二つの対象物の処理順が入れ替わっている回数に対しペナルティを課すように目的関数を設定すれば良い。
また、複数の対象物の分類先を定める作業計画の作成に適用する場合、当該対象物を当該分類先に割り当てるか否かを決定変数とすることができる。この場合、前回の最適解における当該対象物と当該分類先との割り当て関係と今回の最適解における当該対象物と当該分類先との割り当て関係とを比較しそれが食い違う当該対象物の数に対しペナルティを課すように目的関数を設定すれば良い。
<その他の変形例>
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体及び前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
(請求項との関係)
以下に、以上の説明と請求項との関係の一例を示す。ただし、請求項の記載は、以下の内容に限定されるものではない(前述した変形例の記載等を参照)。
<請求項1>
目的関数は、例えば、(1)式、(4)式、または(5)式を用いることにより実現される。
評価指標項は、例えば、(1)式、(4)式、または(5)式の右辺第1項・第2項により実現される。
ペナルティ項は、例えば、(1)式の右辺第3項、(4)式の右辺第3項、または(5)式の右辺第3項により実現される。
前回最適解は、例えば、前回の最適計算による最適解{x[jopt_pr]}により実現され、今回最適解は、例えば、今回の最適計算による最適解{x[jopt]}により実現される。
<請求項2>
ペナルティ項は、例えば、(1)式の右辺第3項により実現される。
<請求項3>
ペナルティ項は、例えば、(4)式の右辺第3項または(5)式の右辺第3項により実現される。
<請求項4、5>
請求項4、5は、例えば、(1)式および(2)式、または、(5)式および(6)式により実現される。
<請求項7、12>
樹形図は、例えば、図6または図7に示す樹形図により実現される。
決定変数は、例えば、(1)式、(4)式、または(5)式のx[j]により実現される。
<請求項8>
請求項8における樹形図は、例えば、図6に示す樹形図により実現される。
<請求項9>
制約式は、例えば、(3)式により実現される。
200:作業計画作成装置、201:計画対象物リスト取得部、202:確定対象物判定部、203:実現可能解抽出部、204:目的関数設定部、205:制約式設定部、206:最適解導出部、207:最適解出力部、300・500・1000・1100・1200:山立て対象スラブグループリスト、400・800・900:最適山リスト

Claims (14)

  1. 複数の対象物に対する作業を行うための作業計画を、最適化問題を解くことにより作成する作業計画作成装置であって、
    前記作業の良否を評価するための評価指標が関数で表現された項である評価指標項を少なくとも1つ含む目的関数であって、前記対象物に対する作業の指示に反映される情報を決定変数として含む目的関数を設定する目的関数設定手段と、
    前記作業における制約が関数で表現された制約式を設定する制約式設定手段と、
    前記制約式を満足する範囲で前記目的関数の値を最大または最小にする前記決定変数を要素とする最適解を、最適計算を行うことにより導出する最適解導出手段と、を有し、
    前記最適解導出手段は、前記作業計画の前提条件が変化した場合に、当該前提条件の変化前の最適解を更新して新たな最適解を導出し、
    前記目的関数は、前記最適解導出手段により導出された前記前提条件が変化する前の最適解である前回最適解と、前記新たな最適解である今回最適解とが異なる場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であるペナルティ項をさらに含むことを特徴とする作業計画作成装置。
  2. 前記ペナルティ項は、前記前回最適解の要素のうち、前記今回最適解の最適計算のタイミングにおいて実現することが可能な要素が、前記今回最適解の要素として選択されない場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であることを特徴とする請求項1に記載の作業計画作成装置。
  3. 前記ペナルティ項は、前記前回最適解の要素のうち、前記今回最適解の最適計算のタイミングにおいて実現することが可能な要素と異なる要素が、前記今回最適解の要素として選択された場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であることを特徴とする請求項1に記載の作業計画作成装置。
  4. 前記目的関数から前記ペナルティ項を除いた場合の目的関数の値の、最適解の変更に伴う最小感度は、前記ペナルティ項としてとり得る最大の値よりも大きいことを特徴とする請求項2または3に記載の作業計画作成装置。
  5. 前記目的関数は、前記評価指標項および当該評価指標項に対する重み係数の乗算値と、前記ペナルティ項および当該ペナルティ項に対する重み係数の乗算値との和で表現され、
    前記目的関数から前記ペナルティ項を除いた場合の目的関数の値の、最適解の変更に伴う最小感度が、前記ペナルティ項としてとり得る最大の値よりも大きくなるように、前記ペナルティ項に対する重み係数と、前記評価指標項に対する重み係数との関係が定められていることを特徴とする請求項4に記載の作業計画作成装置。
  6. 前記複数の対象物から、実作業において作業の結果が確定している対象物である確定対象物を判定する確定対象物判定手段をさらに有し、
    前記決定変数の、前記確定対象物に係る部分については、前記実作業における作業の結果に対応する値に固定し、前記最適化問題を解く対象から外すことを特徴とする請求項2〜5の何れか1項に記載の作業計画作成装置。
  7. 前記複数の対象物のそれぞれについての、前記作業の予定および属性を含む計画対象物リストを取得する計画対象物リスト取得手段と、
    前記計画対象物リスト取得手段により取得された前記計画対象物リストと、前記作業における制約を示す所定の条件とに基づいて、各ノードに前記対象物が属する樹形図を作成し、当該作成した樹形図に基づいて、実現することが可能な複数の前記対象物の組み合わせを、前記今回最適解の最適計算のタイミングにおいて実現することが可能な要素である実現可能解として抽出する実現可能解抽出手段と、をさらに有し、
    前記最適化問題は、集合分割問題であり、
    前記決定変数は、前記実現可能解を前記最適解の要素として採用するか否かを表す0-1変数であり、
    前記実現可能解抽出手段は、前記確定対象物が属するノードを、前記実作業の結果に対応するノードに固定すると共に、当該ノードと異なるノードに、当該確定対象物が属さないようにすることを特徴とする請求項6に記載の作業計画作成装置。
  8. 前記実現可能解抽出手段は、前記確定対象物が根ノードに属するようにすることを特徴とする請求項7に記載の作業計画作成装置。
  9. 前記制約式は、いずれの前記対象物も、複数の位置に配置されてはならず、且つ、いずれかの1つの位置に配置されなければならないことを数式で表現したものであることを特徴とする請求項7または8に記載の作業計画作成装置。
  10. 前記実現可能解抽出手段は、前記抽出した実現可能解のうち、前記最適解導出手段により導出された前記前回最適解の要素と同じ要素をさらに抽出することを特徴とする請求項7〜9の何れか1項に記載の作業計画作成装置。
  11. 前記作業計画は、鋼材置場において搬送機器を用いて複数の鋼材を複数の山に分けて山積みする際の各鋼材が属する山と各山における各鋼材の位置とを含む山立て計画であることを特徴とする請求項7〜10の何れか1項に記載の作業計画作成装置。
  12. 前記対象物は、前記所定の機器を用いて、複数の山の何れかの山に山積みされるものであり、
    前記樹形図は、前記山の最下段に配置される対象物が根ノードに属する樹形図であって、下段に配置される対象物が属するノードを、その1つ上段に配置される対象物の親ノードとする樹形図であり、
    前記実現可能解抽出手段は、前記計画対象物リストに基づいて、前記根ノードから順に、前記所定の条件を満たす前記対象物を前記ノードに配置することにより前記樹形図を作成することを特徴とする請求項11に記載の作業計画作成装置。
  13. 複数の対象物に対する作業を行うための作業計画を、最適化問題を解くことにより作成する作業計画作成方法であって、
    前記作業の良否を評価するための評価指標が関数で表現された項である評価指標項を少なくとも1つ含む目的関数であって、前記対象物に対する作業の指示に反映される情報を決定変数として含む目的関数を設定する目的関数設定工程と、
    前記作業における制約が関数で表現された制約式を設定する制約式設定工程と、
    前記制約式を満足する範囲で前記目的関数の値を最大または最小にする前記決定変数を要素とする最適解を、最適計算を行うことにより導出する最適解導出工程と、を有し、
    前記最適解導出工程は、前記作業計画の前提条件が変化した場合に、当該前提条件の変化前の最適解を更新して新たな最適解を導出し、
    前記目的関数は、前記最適解導出工程により導出された前記前提条件が変化する前の最適解である前回最適解と、前記新たな最適解である今回最適解とが異なる場合に、前記目的関数の値に対しペナルティを課すことが関数で表現された項であるペナルティ項をさらに含むことを特徴とする作業計画作成方法。
  14. 請求項1〜12の何れか1項に記載の作業計画作成装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
JP2015091780A 2015-04-28 2015-04-28 作業計画作成装置、およびプログラム Active JP6488859B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015091780A JP6488859B2 (ja) 2015-04-28 2015-04-28 作業計画作成装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015091780A JP6488859B2 (ja) 2015-04-28 2015-04-28 作業計画作成装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2016207157A true JP2016207157A (ja) 2016-12-08
JP6488859B2 JP6488859B2 (ja) 2019-03-27

Family

ID=57487725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015091780A Active JP6488859B2 (ja) 2015-04-28 2015-04-28 作業計画作成装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP6488859B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018100166A (ja) * 2016-12-20 2018-06-28 新日鐵住金株式会社 ヤード管理装置、ヤード管理方法、およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007137612A (ja) * 2005-11-18 2007-06-07 Nippon Steel Corp 鋼材の山分け計画方法、装置、及びコンピュータプログラム
JP2009082985A (ja) * 2007-09-10 2009-04-23 Jfe Steel Kk 加熱炉装入順・圧延順決定方法、その決定装置および鋼板製造方法、加熱炉装入順・圧延順決定プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007137612A (ja) * 2005-11-18 2007-06-07 Nippon Steel Corp 鋼材の山分け計画方法、装置、及びコンピュータプログラム
JP2009082985A (ja) * 2007-09-10 2009-04-23 Jfe Steel Kk 加熱炉装入順・圧延順決定方法、その決定装置および鋼板製造方法、加熱炉装入順・圧延順決定プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018100166A (ja) * 2016-12-20 2018-06-28 新日鐵住金株式会社 ヤード管理装置、ヤード管理方法、およびプログラム

Also Published As

Publication number Publication date
JP6488859B2 (ja) 2019-03-27

Similar Documents

Publication Publication Date Title
Qu et al. A GRASP with adaptive large neighborhood search for pickup and delivery problems with transshipment
Henn et al. Metaheuristics for order batching and sequencing in manual order picking systems
JP7046090B2 (ja) 出庫方法及び装置
Ahmadizar et al. Two-level vehicle routing with cross-docking in a three-echelon supply chain: A genetic algorithm approach
Henn Order batching and sequencing for the minimization of the total tardiness in picker-to-part warehouses
Tang et al. Research into container reshuffling and stacking problems in container terminal yards
Muter et al. Solving a robust airline crew pairing problem with column generation
Zhen Container yard template planning under uncertain maritime market
Tang et al. Models and algorithms for shuffling problems in steel plants
US7801640B1 (en) Continuous item picking in a distribution center using coordinated item picking periods
Gharehgozli et al. Polynomial time algorithms to minimize total travel time in a two-depot automated storage/retrieval system
Hu et al. Robust Parallel Machine Scheduling Problem with Uncertainties and Sequence‐Dependent Setup Time
CN110751309B (zh) 一种不正常航班的恢复方法、电子设备及存储介质
JP2018073171A (ja) 鋼材の山分け計画作成装置、鋼材の山分け計画作成方法、およびプログラム
JP6488859B2 (ja) 作業計画作成装置、およびプログラム
JP2012243024A (ja) 生産スケジュール作成装置及び生産スケジュール作成方法
JP6468235B2 (ja) 配船計画作成方法、製鉄所操業方法、及び配船計画作成装置
CN105512313B (zh) 一种增量式数据处理的方法和装置
JP6776873B2 (ja) ヤード管理装置、ヤード管理方法、およびプログラム
Ma et al. Optimal shipping path algorithm design for coastal port
JP2017120561A (ja) 物流計画立案装置、方法及びプログラム
Horvat An approach to order picking optimization in warehouses
JP6769355B2 (ja) ヤード管理装置、ヤード管理方法、およびプログラム
JP6515339B2 (ja) 鋼材の山分け計画立案装置およびプログラム
CN102542364A (zh) 物料需求计划中平衡替代物料的方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190211

R151 Written notification of patent or utility model registration

Ref document number: 6488859

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350