JPH10293784A - スケジューリング方法及び装置 - Google Patents
スケジューリング方法及び装置Info
- Publication number
- JPH10293784A JPH10293784A JP10132497A JP10132497A JPH10293784A JP H10293784 A JPH10293784 A JP H10293784A JP 10132497 A JP10132497 A JP 10132497A JP 10132497 A JP10132497 A JP 10132497A JP H10293784 A JPH10293784 A JP H10293784A
- Authority
- JP
- Japan
- Prior art keywords
- solution
- resource
- work
- time
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【課題】計画条件・計画目標の変化に対して柔軟な解作
成をする生産・交通スケジューリングシステムを提供す
ることである。 【解決手段】ステップ0103において、操作手順に関
する制約0102を生成し、操作の資源割当の組合せを
確率的に調整するステップ0106と、操作の必要資源
の時間的競合を解消してスケジュールの解候補を作成す
るステップ0107と、作成された解候補を評価して評
価値を算出するステップ0108と、算出された評価値
を上記の資源割当の確率的調整ステップ0106にフィ
ードバックするステップ0109を繰り返してスケジュ
ールの最適解探索処理を行うステップ0105でスケジ
ュールを表す解0113を作成し、解の表示とオペレー
タによる編集ステップ0114で解の表示と出力とデー
タ修正と解探索の再実行の指示をおこなう。
成をする生産・交通スケジューリングシステムを提供す
ることである。 【解決手段】ステップ0103において、操作手順に関
する制約0102を生成し、操作の資源割当の組合せを
確率的に調整するステップ0106と、操作の必要資源
の時間的競合を解消してスケジュールの解候補を作成す
るステップ0107と、作成された解候補を評価して評
価値を算出するステップ0108と、算出された評価値
を上記の資源割当の確率的調整ステップ0106にフィ
ードバックするステップ0109を繰り返してスケジュ
ールの最適解探索処理を行うステップ0105でスケジ
ュールを表す解0113を作成し、解の表示とオペレー
タによる編集ステップ0114で解の表示と出力とデー
タ修正と解探索の再実行の指示をおこなう。
Description
【0001】
【発明の属する技術分野】本発明は、生産、交通分野に
おけるスケジューリング業務を計算機で支援する方法及
び装置に関するものであり、具体的には計算機を利用し
た計画の立案方法、立案結果の表示方法、立案結果の修
正方法、立案結果の検証方法に関する。
おけるスケジューリング業務を計算機で支援する方法及
び装置に関するものであり、具体的には計算機を利用し
た計画の立案方法、立案結果の表示方法、立案結果の修
正方法、立案結果の検証方法に関する。
【0002】
【従来の技術】確率的探索技法を用いたスケジューリン
グ方法に関しては、(1)「ジョブショップスケジュー
リング問題解決方式」(特開平5−225203)に記
載されているとおり、あらかじめ使用資源が与えられた
いくつかの作業を含む複数の作業が与えられた場合に、
同じ資源を共有する作業間の実行順序を決定することを
スケジューリングと捉え、その解探索を遺伝的アルゴリ
ズム(GA)により実現する手法が知られている。
グ方法に関しては、(1)「ジョブショップスケジュー
リング問題解決方式」(特開平5−225203)に記
載されているとおり、あらかじめ使用資源が与えられた
いくつかの作業を含む複数の作業が与えられた場合に、
同じ資源を共有する作業間の実行順序を決定することを
スケジューリングと捉え、その解探索を遺伝的アルゴリ
ズム(GA)により実現する手法が知られている。
【0003】また、交通分野における車両入換計画作成
方法に関しては、(2)「入換トータルシステム」(安
斎 他:鉄道と電気技術,Vol.6,No.2,199
5)に記載されているとおり、車両入換計画作成のノウ
ハウを抽出したものをAIのルールとして取り込み計画
作成に反映させる手法が知られている。
方法に関しては、(2)「入換トータルシステム」(安
斎 他:鉄道と電気技術,Vol.6,No.2,199
5)に記載されているとおり、車両入換計画作成のノウ
ハウを抽出したものをAIのルールとして取り込み計画
作成に反映させる手法が知られている。
【0004】
【発明が解決しようとする課題】上記従来例(1)にお
いては、使用資源の時間的競合を解消して作業に実行順
序をつけることをスケジューリングと捉えGAにより解
探索を行なうが、作業の使用資源の割当は計画作成者が
手作業により与える必要がある。さらに、作成した解を
評価した結果、それが計画作成者の意図を十分に反映し
た解ではない、もしくは実行可能な順序をつけることが
不可能である場合には、その内容に応じて資源割当の組
合せを変更することが必要となることがあるが、上記従
来例においては、解の評価の度合を資源の割当に反映さ
せることができないという問題点があった。また、上記
従来例(1)においては、作業を実行するために必要と
される補助的な処理はスケジューリング対象ではないた
め、作成されたスケジュールが作業の実行順序について
は正しくても補助的処理の実行可能性が保証されていな
いために、実際には実行不可能であるという問題点もあ
った。
いては、使用資源の時間的競合を解消して作業に実行順
序をつけることをスケジューリングと捉えGAにより解
探索を行なうが、作業の使用資源の割当は計画作成者が
手作業により与える必要がある。さらに、作成した解を
評価した結果、それが計画作成者の意図を十分に反映し
た解ではない、もしくは実行可能な順序をつけることが
不可能である場合には、その内容に応じて資源割当の組
合せを変更することが必要となることがあるが、上記従
来例においては、解の評価の度合を資源の割当に反映さ
せることができないという問題点があった。また、上記
従来例(1)においては、作業を実行するために必要と
される補助的な処理はスケジューリング対象ではないた
め、作成されたスケジュールが作業の実行順序について
は正しくても補助的処理の実行可能性が保証されていな
いために、実際には実行不可能であるという問題点もあ
った。
【0005】上記従来例(2)においては、特定の鉄道
車両基地における車両入換計画を、車両基地に固有の計
画条件や計画目標を組み込んだ探索論理により作成をお
こうなうため、それらが変化した場合に実行可能解の探
索が困難になる、他の車両基地の車両入換計画作成に適
用することができない、というスケジューリングシステ
ムの保守・開発上の点で問題点があった。
車両基地における車両入換計画を、車両基地に固有の計
画条件や計画目標を組み込んだ探索論理により作成をお
こうなうため、それらが変化した場合に実行可能解の探
索が困難になる、他の車両基地の車両入換計画作成に適
用することができない、というスケジューリングシステ
ムの保守・開発上の点で問題点があった。
【0006】本発明の目的は、作業と作業の実行に必要
な補助的な処理を操作として同一視し、生産・交通スケ
ジューリング問題を、仕事の完了に必要な操作の手順と
各操作の使用資源と各操作の処理時刻(実行順序)を決
定することであると捉え、確率的探索技法の中で操作に
資源割当を生成・調整する手法と操作の使用資源の時間
的競合を解消する手法を融合することにより、計画条件
・計画目標の変化に対して柔軟な解作成をおこなう生産
・交通スケジューリングシステムを提供することにあ
る。
な補助的な処理を操作として同一視し、生産・交通スケ
ジューリング問題を、仕事の完了に必要な操作の手順と
各操作の使用資源と各操作の処理時刻(実行順序)を決
定することであると捉え、確率的探索技法の中で操作に
資源割当を生成・調整する手法と操作の使用資源の時間
的競合を解消する手法を融合することにより、計画条件
・計画目標の変化に対して柔軟な解作成をおこなう生産
・交通スケジューリングシステムを提供することにあ
る。
【0007】
【課題を解決するための手段】上記目的は、入力された
仕事データから操作手順に関する制約を生成するステッ
プにおいて、操作種類を示す節点を連結する有向ネット
ワーク構造を持つ操作手順に関する制約を生成し、操作
の資源割当の組合せを確率的に調整するステップにおい
て、操作手順に関する制約の各節点の資源の割当状況を
全ての仕事について示す染色体を解探索パラメータに設
定された個数だけ生成・調整し、操作の必要資源の時間
的競合を解消してスケジュールの解候補を作成するステ
ップにおいて、操作手順に関する制約と染色体から初期
解を作成し、初期解の中の使用資源を競合する操作のど
ちらか一方を、作業操作間に設定された作業に関する制
約を充足させつつ時間後方にずらすことにより競合を解
消して解候補を作成し、得られたスケジュールの解候補
を評価して評価値を算出するステップにおいて、所定の
制約条件から作成された解評価項目の充足の程度に応じ
て解候補の各々の評価値を算出し、評価値を上記の資源
割当の確率的調整ステップにフィードバックするステッ
プにおいて、解候補を作成する際に使用した染色体デー
タに算出した評価値を与え、スケジュール候補の最適解
探索処理を(1)資源割当の組合せを確率的に調整する
ステップ、(2)操作の必要資源の時間的競合を解消し
てスケジュールの解候補を作成するステップ、(3)解
候補を評価して評価値を算出するステップ、(4)評価
値を資源割当の確率的調整ステップにフィードバックす
るステップ、を繰り返すことによりおこない、最適化の
結果得られたスケジュールの解を表示してオペレータが
操作するステップにおいて、仕事データ、資源に関する
制約、解探索パラメータ、作業の順序に関する制約、解
評価項目を修正し、解探索の再実行を指示することで達
成される。
仕事データから操作手順に関する制約を生成するステッ
プにおいて、操作種類を示す節点を連結する有向ネット
ワーク構造を持つ操作手順に関する制約を生成し、操作
の資源割当の組合せを確率的に調整するステップにおい
て、操作手順に関する制約の各節点の資源の割当状況を
全ての仕事について示す染色体を解探索パラメータに設
定された個数だけ生成・調整し、操作の必要資源の時間
的競合を解消してスケジュールの解候補を作成するステ
ップにおいて、操作手順に関する制約と染色体から初期
解を作成し、初期解の中の使用資源を競合する操作のど
ちらか一方を、作業操作間に設定された作業に関する制
約を充足させつつ時間後方にずらすことにより競合を解
消して解候補を作成し、得られたスケジュールの解候補
を評価して評価値を算出するステップにおいて、所定の
制約条件から作成された解評価項目の充足の程度に応じ
て解候補の各々の評価値を算出し、評価値を上記の資源
割当の確率的調整ステップにフィードバックするステッ
プにおいて、解候補を作成する際に使用した染色体デー
タに算出した評価値を与え、スケジュール候補の最適解
探索処理を(1)資源割当の組合せを確率的に調整する
ステップ、(2)操作の必要資源の時間的競合を解消し
てスケジュールの解候補を作成するステップ、(3)解
候補を評価して評価値を算出するステップ、(4)評価
値を資源割当の確率的調整ステップにフィードバックす
るステップ、を繰り返すことによりおこない、最適化の
結果得られたスケジュールの解を表示してオペレータが
操作するステップにおいて、仕事データ、資源に関する
制約、解探索パラメータ、作業の順序に関する制約、解
評価項目を修正し、解探索の再実行を指示することで達
成される。
【0008】
【発明の実施の形態】以下、本発明に係るスケジューリ
ング方法及び装置の一実施例として、鉄道車両基地にお
ける車両入換計画作成システムについて説明する。
ング方法及び装置の一実施例として、鉄道車両基地にお
ける車両入換計画作成システムについて説明する。
【0009】本実施例は、鉄道車両基地における車両運
用計画業務を支援するシステムであり、車両基地に入区
する全ての車両(以下編成と呼ぶ)があらかじめ定めら
れた出区時刻までの間に所定の清掃・点検・修理等の作
業が受けられるように、車両基地内での編成の転線スケ
ジュールを作成するものである。
用計画業務を支援するシステムであり、車両基地に入区
する全ての車両(以下編成と呼ぶ)があらかじめ定めら
れた出区時刻までの間に所定の清掃・点検・修理等の作
業が受けられるように、車両基地内での編成の転線スケ
ジュールを作成するものである。
【0010】図1は本発明の基本構成を示す図である。
実施例の詳細な説明をはじめる前に、図1を用いて本発
明の概要を説明する。
実施例の詳細な説明をはじめる前に、図1を用いて本発
明の概要を説明する。
【0011】本発明により実現されるスケジューリング
方法・装置は、仕事のスケジュールを作成するために利
用される。ここで仕事とは、ある目的を達成するための
一連の作業のまとまりのことであり、仕事の開始時刻と
終了時刻はあらかじめ決められているものとする。仕事
の目的は本発明の実施例が対象とする具体的なスケジュ
ーリング問題により様々に異なる。生産工場における製
品の加工スケジュール作成問題を例にとると、原料を決
められた加工工程により処理して特定の製品を作ること
が一個の仕事にあたる。また、この場合には仕事の開始
時刻は原料の投入可能時刻、終了時刻は製品の納期、作
業は加工工程における各工程にそれぞれ該当する。仕事
データ0101は、複数の仕事に関するそれぞれの開始
時刻、終了時刻、必要とする作業に関する情報を少なく
とも含んでいる。本発明により実現されるスケジューリ
ング方法・装置はこの仕事データを処理し、複数の計画
条件やユーザ要求を高いレベルで満足する各仕事の実行
可能な「操作系列(シーケンス)」を作成する。操作と
は、スケジューリング対象においてそれ以上分割するこ
とのないなんらかの処理のことである。仕事における作
業も操作の一種である。また、作業をおこなうために必
要な補助的な処理も操作に該当する。上記の生産工場に
おける製品の加工スケジュール作成問題に関しては、各
工程間で加工途中の半製品を受け渡す処理、半製品を次
の工程の開始時刻まで貯蔵する処理、工程開始のための
段取り処理等がこれにあたる。操作は、少なくとも実行
の開始時刻、終了時刻、使用資源の3点を定義すること
により具体化される。使用資源は、原料、加工や搬送の
ための機械、機械を動かす人間、貯蔵スペースや搬送経
路等、操作を実行するために必要とされる物質的・人的
・空間的な対象であり、各操作種類ごとの利用可能な資
源の情報は資源に関する制約0102の中で定義され
る。また、例えばある工程間の半製品の搬送経路が、前
工程と後工程で使用される機械の物理的配置によって制
約を受けることがあるように、実行可能なスケジュール
を生成するために資源間の関係を利用することが必要と
なる場合がある。このような資源間の関係情報も資源に
関する制約に含まれる。
方法・装置は、仕事のスケジュールを作成するために利
用される。ここで仕事とは、ある目的を達成するための
一連の作業のまとまりのことであり、仕事の開始時刻と
終了時刻はあらかじめ決められているものとする。仕事
の目的は本発明の実施例が対象とする具体的なスケジュ
ーリング問題により様々に異なる。生産工場における製
品の加工スケジュール作成問題を例にとると、原料を決
められた加工工程により処理して特定の製品を作ること
が一個の仕事にあたる。また、この場合には仕事の開始
時刻は原料の投入可能時刻、終了時刻は製品の納期、作
業は加工工程における各工程にそれぞれ該当する。仕事
データ0101は、複数の仕事に関するそれぞれの開始
時刻、終了時刻、必要とする作業に関する情報を少なく
とも含んでいる。本発明により実現されるスケジューリ
ング方法・装置はこの仕事データを処理し、複数の計画
条件やユーザ要求を高いレベルで満足する各仕事の実行
可能な「操作系列(シーケンス)」を作成する。操作と
は、スケジューリング対象においてそれ以上分割するこ
とのないなんらかの処理のことである。仕事における作
業も操作の一種である。また、作業をおこなうために必
要な補助的な処理も操作に該当する。上記の生産工場に
おける製品の加工スケジュール作成問題に関しては、各
工程間で加工途中の半製品を受け渡す処理、半製品を次
の工程の開始時刻まで貯蔵する処理、工程開始のための
段取り処理等がこれにあたる。操作は、少なくとも実行
の開始時刻、終了時刻、使用資源の3点を定義すること
により具体化される。使用資源は、原料、加工や搬送の
ための機械、機械を動かす人間、貯蔵スペースや搬送経
路等、操作を実行するために必要とされる物質的・人的
・空間的な対象であり、各操作種類ごとの利用可能な資
源の情報は資源に関する制約0102の中で定義され
る。また、例えばある工程間の半製品の搬送経路が、前
工程と後工程で使用される機械の物理的配置によって制
約を受けることがあるように、実行可能なスケジュール
を生成するために資源間の関係を利用することが必要と
なる場合がある。このような資源間の関係情報も資源に
関する制約に含まれる。
【0012】仕事の操作系列は、ある仕事を完了するた
めに必要な操作の一連の流れであり、この流れに沿って
操作を順番に実行することにより仕事を支障なく完了す
ることが可能となる。以降では、仕事のスケジュール、
もしくはスケジューリング問題の解と記述した場合、そ
れらは仕事の操作系列を意味するものとする。
めに必要な操作の一連の流れであり、この流れに沿って
操作を順番に実行することにより仕事を支障なく完了す
ることが可能となる。以降では、仕事のスケジュール、
もしくはスケジューリング問題の解と記述した場合、そ
れらは仕事の操作系列を意味するものとする。
【0013】本発明により実現されるスケジューリング
方法・装置は、仕事データを入力として受取った後に、
ステップ0103において操作手順に関する制約010
4を生成する。操作手順に関する制約とは、与えられた
仕事を完了するために必要な操作の種類と、それら複数
の操作同士のつながりを規定する情報である。補助的な
処理を一切考慮する必要のない単純なスケジューリング
問題の場合、操作手順に関する制約は、図2(a)に示
すように仕事に含まれる作業の種類を実行順に並べた単
純なリストになる。しかしながら、作業間の補助的な処
理は各仕事ごとに厳密に定義される作業とは異なり、例
えば工程間の半製品の受け渡しの経路や方法が異なって
いても完成する製品は同じであるように、同じ結果をも
たらす処理が複数存在し、それらの選択に自由度がある
ことが多い。そのため、操作手順に関する制約は一般的
には図2(b)に示すように操作種類を節点とする複雑
な有向ネットワークとなる。
方法・装置は、仕事データを入力として受取った後に、
ステップ0103において操作手順に関する制約010
4を生成する。操作手順に関する制約とは、与えられた
仕事を完了するために必要な操作の種類と、それら複数
の操作同士のつながりを規定する情報である。補助的な
処理を一切考慮する必要のない単純なスケジューリング
問題の場合、操作手順に関する制約は、図2(a)に示
すように仕事に含まれる作業の種類を実行順に並べた単
純なリストになる。しかしながら、作業間の補助的な処
理は各仕事ごとに厳密に定義される作業とは異なり、例
えば工程間の半製品の受け渡しの経路や方法が異なって
いても完成する製品は同じであるように、同じ結果をも
たらす処理が複数存在し、それらの選択に自由度がある
ことが多い。そのため、操作手順に関する制約は一般的
には図2(b)に示すように操作種類を節点とする複雑
な有向ネットワークとなる。
【0014】この有向ネットワーク上で全ての作業節点
を実行順にたどって一本のパスを得て、そのパスの各節
点を時間的制約に違反しないように操作として具体化し
たものが仕事の一スケジュールである。図3にスケジュ
ールの視覚的表現であるガントチャートの一例を示す。
ガントチャートの縦軸と横軸はそれぞれスケジューリン
グ環境における資源と時間帯である。横棒0301をは
じめとする表の中の太い棒が一個の操作であり、棒の縦
の位置が操作の使用資源を、横の位置と棒の長さが実行
時間帯をそれぞれ表している。
を実行順にたどって一本のパスを得て、そのパスの各節
点を時間的制約に違反しないように操作として具体化し
たものが仕事の一スケジュールである。図3にスケジュ
ールの視覚的表現であるガントチャートの一例を示す。
ガントチャートの縦軸と横軸はそれぞれスケジューリン
グ環境における資源と時間帯である。横棒0301をは
じめとする表の中の太い棒が一個の操作であり、棒の縦
の位置が操作の使用資源を、横の位置と棒の長さが実行
時間帯をそれぞれ表している。
【0015】スケジューリング対象の仕事が一つの場合
は、このようにして得られる全てのスケジュールが実行
可能解となる。しかしながら、資源を共有し、時間的に
重なりがある複数の仕事が与えられた場合は、個々の仕
事のスケジュールを独立に作成しても操作間で使用資源
の時間的競合が発生し、実行可能解を得ることは困難で
ある。資源競合のない実行可能解を作成するためには、
操作手順の選択と操作の具体化(資源と時刻の割当)を
相互に関連させつつ適切に行うことが必要である。本発
明においては図1ステップ0105の解探索処理でそれ
を実現する。
は、このようにして得られる全てのスケジュールが実行
可能解となる。しかしながら、資源を共有し、時間的に
重なりがある複数の仕事が与えられた場合は、個々の仕
事のスケジュールを独立に作成しても操作間で使用資源
の時間的競合が発生し、実行可能解を得ることは困難で
ある。資源競合のない実行可能解を作成するためには、
操作手順の選択と操作の具体化(資源と時刻の割当)を
相互に関連させつつ適切に行うことが必要である。本発
明においては図1ステップ0105の解探索処理でそれ
を実現する。
【0016】本ステップは4個の内部ステップのループ
結合を基本構成とする。資源割当の確率的調整ステップ
(0106)は、操作種類の有向ネットワークの各節点
に資源を割当てたデータを入力として受取り、遺伝的ア
ルゴリズム(GA)に代表される組合せ問題の確率的探
索手法を用いてその割当資源の組合せをより望ましいも
のへと変化させる。この際に解探索パラメータ0110
を確率的探索の制御データとして使用する。資源競合の
解消ステップ(0107)は、操作手順の選択と操作の
具体化をおこない解候補を作成する。操作の使用資源は
前記ステップにおいて調整されたものを用いる。作成の
初期段階で各仕事のスケジュールを独立に作成し、発生
した資源競合を操作手順と操作の時間割当の変更により
解消する。異なる仕事の特定の作業間に実行順序が定義
されている場合には、その情報を作業の順序に関する制
約0111として取り込み、資源競合解消ルールとして
利用する。解候補の評価ステップ(0108)は、競合
解消ステップで得られた解候補に対し、解評価項目01
12に含まれる計画条件とユーザ要求の充足度とを判定
して充足度に応じた評価値を与える。この評価値は評価
値のフィードバックステップ(0109)により上記資
源割当の確率的調整ステップへ送られ、資源割当の最適
化に利用される。上記4ステップのループ処理を繰り返
すことにより、割当資源の組合せが徐々に最適化され、
最終的に質の高い実行可能解を生成することができる。
解探索ステップは、このループ処理を解探索パラメータ
に含まれる規定ループ回数だけ繰り返した後に、最終的
に得られた解候補を解0113として出力する。
結合を基本構成とする。資源割当の確率的調整ステップ
(0106)は、操作種類の有向ネットワークの各節点
に資源を割当てたデータを入力として受取り、遺伝的ア
ルゴリズム(GA)に代表される組合せ問題の確率的探
索手法を用いてその割当資源の組合せをより望ましいも
のへと変化させる。この際に解探索パラメータ0110
を確率的探索の制御データとして使用する。資源競合の
解消ステップ(0107)は、操作手順の選択と操作の
具体化をおこない解候補を作成する。操作の使用資源は
前記ステップにおいて調整されたものを用いる。作成の
初期段階で各仕事のスケジュールを独立に作成し、発生
した資源競合を操作手順と操作の時間割当の変更により
解消する。異なる仕事の特定の作業間に実行順序が定義
されている場合には、その情報を作業の順序に関する制
約0111として取り込み、資源競合解消ルールとして
利用する。解候補の評価ステップ(0108)は、競合
解消ステップで得られた解候補に対し、解評価項目01
12に含まれる計画条件とユーザ要求の充足度とを判定
して充足度に応じた評価値を与える。この評価値は評価
値のフィードバックステップ(0109)により上記資
源割当の確率的調整ステップへ送られ、資源割当の最適
化に利用される。上記4ステップのループ処理を繰り返
すことにより、割当資源の組合せが徐々に最適化され、
最終的に質の高い実行可能解を生成することができる。
解探索ステップは、このループ処理を解探索パラメータ
に含まれる規定ループ回数だけ繰り返した後に、最終的
に得られた解候補を解0113として出力する。
【0017】ステップ0114では解を表示装置011
6に表示し、入力装置0115からオペレータによる操
作を受け付ける。オペレータは、仕事データ、資源に関
する制約、解探索パラメータ、作業の順序に関する制
約、解評価項目を表示装置に出力させてそれらを編集
し、編集されたデータを用いて解探索処理を再び指示す
ることができる。オペレータによって承認を受けた解
は、正式な計画として登録され、実務フォーマットに変
換された上でプリンタ0117から出力される。
6に表示し、入力装置0115からオペレータによる操
作を受け付ける。オペレータは、仕事データ、資源に関
する制約、解探索パラメータ、作業の順序に関する制
約、解評価項目を表示装置に出力させてそれらを編集
し、編集されたデータを用いて解探索処理を再び指示す
ることができる。オペレータによって承認を受けた解
は、正式な計画として登録され、実務フォーマットに変
換された上でプリンタ0117から出力される。
【0018】本実施例は、図1に示される全てのデータ
と処理と装置を車両入換計画作成用に具体化することで
実現される。以降では、その詳細を図1との対応を明ら
かにしながら順次説明する。
と処理と装置を車両入換計画作成用に具体化することで
実現される。以降では、その詳細を図1との対応を明ら
かにしながら順次説明する。
【0019】まず本実施例の計画対象である、車両基地
における車両入換計画の概要を図4、図5、図6を用い
て説明する。
における車両入換計画の概要を図4、図5、図6を用い
て説明する。
【0020】図4は、仮想的な鉄道車両基地における車
両入換計画を示す帳票の一部である。帳票の各行が車両
基地内での編成の一回の転線を表している。ここで転線
とは、車両基地内の番線から別の番線への移動のことで
ある。例えば符号0401の転線は、編成02を番線0
7から番線05へ9時30分から移動することを表す。
さらに「内容」と「作業詳細」から、この転線は番線0
5で作業「清掃1」を受けるためのものであることが読
みとれる。各転線は開始時刻の順番に並んでおり、この
順番を遵守して転線をおこなうことにより、基地内に入
区する全ての編成が、予定された清掃・点検・修理等の
作業が受けられる番線へ次々に移動し、移動中や在線中
に互いに衝突することなしに出区予定時刻に車両基地を
出ていくことが可能となる。
両入換計画を示す帳票の一部である。帳票の各行が車両
基地内での編成の一回の転線を表している。ここで転線
とは、車両基地内の番線から別の番線への移動のことで
ある。例えば符号0401の転線は、編成02を番線0
7から番線05へ9時30分から移動することを表す。
さらに「内容」と「作業詳細」から、この転線は番線0
5で作業「清掃1」を受けるためのものであることが読
みとれる。各転線は開始時刻の順番に並んでおり、この
順番を遵守して転線をおこなうことにより、基地内に入
区する全ての編成が、予定された清掃・点検・修理等の
作業が受けられる番線へ次々に移動し、移動中や在線中
に互いに衝突することなしに出区予定時刻に車両基地を
出ていくことが可能となる。
【0021】図5は、当該車両基地のレイアウト図であ
る。7本の番線と入出区線を1本持っている。番線01
は2つの区に分割されており、それぞれの区に異なる編
成が在線できる。2区への出入りは1区に編成が在線し
ていない場合に限られるという特別な制約があるが、そ
れを除くと区は通常の番線と同じものとみなせるため、
以降の記述では特に断らない限り区を番線として扱うも
のとする。編成は番線及び入出区線の間につなげられた
転線ルートを通って他の番線もしくは車両基地の外部と
の間を行き来することができる。図4に示す車両基地
は、説明を分かり易くするために1本の転線ルートで全
ての番線と車両基地の外部を行き来できる単純な構造に
なっているが、特定の番線間のみを移動できる転線ルー
トが複数ある構造の場合にも本実施例は対応している。
また入出区線が複数本ある場合も同様である。図4の車
両基地も含めて、一般に車両基地内の番線は用途別に3
種類に分類できる。(1)作業番線:清掃・点検・修理
等の作業が可能な専用設備を持つ番線(2)留置番線:
作業番線の空きや出区を待つ間在線する番線(3)引上
番線:番線間を移動するために一時的に在線する番線作
業番線は、清掃可能番線、点検可能番線といったよう
に、可能な作業種類によってさらに細かく分類される。
同一設備で異なる作業が可能な場合もあるので、各作業
の可能番線は重複していることがある。留置番線は特別
の設備が不要なために、基地内のほとんどの番線がこれ
に該当する。作業番線の一部を留置番線として併用する
車両基地も存在し、その場合には作業番線の集合と留置
番線の集合には重なりがある。図4の車両基地を例にと
ると、引上線は番線06と番線07の2本である。レイ
アウトからわかるとおり、他の番線が番線06と番線0
7以外の別の番線に向かう場合には、必ず一度番線06
か番線07に「引き上げ」てから目的番線に移動しなけ
ればならない。すなわち、入出区を除けば、転線は発番
線か着番線のいずれか一方が必ず引上線になる。よっ
て、引上線はその使用頻度が高いために留置等の他の目
的で使用されることはほとんどなく、在線時間も極めて
短い。
る。7本の番線と入出区線を1本持っている。番線01
は2つの区に分割されており、それぞれの区に異なる編
成が在線できる。2区への出入りは1区に編成が在線し
ていない場合に限られるという特別な制約があるが、そ
れを除くと区は通常の番線と同じものとみなせるため、
以降の記述では特に断らない限り区を番線として扱うも
のとする。編成は番線及び入出区線の間につなげられた
転線ルートを通って他の番線もしくは車両基地の外部と
の間を行き来することができる。図4に示す車両基地
は、説明を分かり易くするために1本の転線ルートで全
ての番線と車両基地の外部を行き来できる単純な構造に
なっているが、特定の番線間のみを移動できる転線ルー
トが複数ある構造の場合にも本実施例は対応している。
また入出区線が複数本ある場合も同様である。図4の車
両基地も含めて、一般に車両基地内の番線は用途別に3
種類に分類できる。(1)作業番線:清掃・点検・修理
等の作業が可能な専用設備を持つ番線(2)留置番線:
作業番線の空きや出区を待つ間在線する番線(3)引上
番線:番線間を移動するために一時的に在線する番線作
業番線は、清掃可能番線、点検可能番線といったよう
に、可能な作業種類によってさらに細かく分類される。
同一設備で異なる作業が可能な場合もあるので、各作業
の可能番線は重複していることがある。留置番線は特別
の設備が不要なために、基地内のほとんどの番線がこれ
に該当する。作業番線の一部を留置番線として併用する
車両基地も存在し、その場合には作業番線の集合と留置
番線の集合には重なりがある。図4の車両基地を例にと
ると、引上線は番線06と番線07の2本である。レイ
アウトからわかるとおり、他の番線が番線06と番線0
7以外の別の番線に向かう場合には、必ず一度番線06
か番線07に「引き上げ」てから目的番線に移動しなけ
ればならない。すなわち、入出区を除けば、転線は発番
線か着番線のいずれか一方が必ず引上線になる。よっ
て、引上線はその使用頻度が高いために留置等の他の目
的で使用されることはほとんどなく、在線時間も極めて
短い。
【0022】図6は、図4の車両入換計画表をダイヤ形
式に変換した車両入換ダイヤの一部である。横軸は一日
の時間帯、縦軸は車両基地内の番線である。水平線06
01をはじめとする水平線が各番線における在線を、斜
線0602をはじめとする水平線同士を結ぶ斜線が番線
間の移動をそれぞれ表している。ある特定の編成が入区
から出区までの間に車両基地内を動き回る様子は、該当
編成の入出区から始まり入出区で終わる斜線と水平線か
らなる1本のすじをたどっていくことで容易にわかる。
また、車両入換ダイヤは、移動時と在線時の衝突がそれ
ぞれ斜線と水平線の時間的重なりとして視覚的に表現さ
れるため、それらの検出も容易である。
式に変換した車両入換ダイヤの一部である。横軸は一日
の時間帯、縦軸は車両基地内の番線である。水平線06
01をはじめとする水平線が各番線における在線を、斜
線0602をはじめとする水平線同士を結ぶ斜線が番線
間の移動をそれぞれ表している。ある特定の編成が入区
から出区までの間に車両基地内を動き回る様子は、該当
編成の入出区から始まり入出区で終わる斜線と水平線か
らなる1本のすじをたどっていくことで容易にわかる。
また、車両入換ダイヤは、移動時と在線時の衝突がそれ
ぞれ斜線と水平線の時間的重なりとして視覚的に表現さ
れるため、それらの検出も容易である。
【0023】以上をまとめると、車両入換計画作成問題
は、ある特定のレイアウトを持つ車両基地に入区する全
ての編成の出区迄の移動・在線の系列を、様々な制約条
件を考慮しながら作成することであるといえる。考慮す
べき制約条件は、必須制約と目標制約の2種類に分類で
きる。必須制約は、全ての実行可能な車両入換計画が必
ず満たさなければならない制約条件であり、(1)各編
成の出区時刻を守る(2)在線時の番線の競合、移動時
の転線ルートの競合がない(3)予定された作業が実行
可能な番線に規定時間以上在線し、なおかつ在線順序が
作業順序と等しいの3点が挙げられる。目標制約は必須
制約よりも弱い制約条件であり、これを充足しなくても
必須制約さえ充足していれば車両入換計画の実行可能性
が損なわれることはない。目標制約は車両入換計画の品
質に関わる制約条件と見なすことができ、目標制約の充
足度が高い車両入換計画であればあるほど高品質である
と言える。また目標制約はその種類が多く、システム開
発時にはその全てを十分に把握できない場合がある。さ
らに車両基地レイアウトや基地内の諸設備といった車両
基地特性の変化によっても目標制約は動的に変化する。
そこで、ここではある程度普遍的であると考えられる目
標制約のみを挙げる。
は、ある特定のレイアウトを持つ車両基地に入区する全
ての編成の出区迄の移動・在線の系列を、様々な制約条
件を考慮しながら作成することであるといえる。考慮す
べき制約条件は、必須制約と目標制約の2種類に分類で
きる。必須制約は、全ての実行可能な車両入換計画が必
ず満たさなければならない制約条件であり、(1)各編
成の出区時刻を守る(2)在線時の番線の競合、移動時
の転線ルートの競合がない(3)予定された作業が実行
可能な番線に規定時間以上在線し、なおかつ在線順序が
作業順序と等しいの3点が挙げられる。目標制約は必須
制約よりも弱い制約条件であり、これを充足しなくても
必須制約さえ充足していれば車両入換計画の実行可能性
が損なわれることはない。目標制約は車両入換計画の品
質に関わる制約条件と見なすことができ、目標制約の充
足度が高い車両入換計画であればあるほど高品質である
と言える。また目標制約はその種類が多く、システム開
発時にはその全てを十分に把握できない場合がある。さ
らに車両基地レイアウトや基地内の諸設備といった車両
基地特性の変化によっても目標制約は動的に変化する。
そこで、ここではある程度普遍的であると考えられる目
標制約のみを挙げる。
【0024】1.転線回数が少ない 2.各編成の余裕度が大きい 3.作業順序を守る 全ての編制の総転線回数が少ないということは、車両入
換を一個の作業としてトータルに捉えた場合のコストが
それだけ少ないということを意味する。余裕度とは、編
成が予定された作業を全て終了してから出区するまでの
空き時間のことである。余裕度が大きければ、列車ダイ
ヤの乱れ等のために出区予定時刻が早まった場合の対応
も容易であり、また空き時間を利用してさらに他の作業
を受けることも可能となるなど、スケジューリング環境
の動的変化に対して頑健な計画となる。(3)の作業順
序は、ここでは各編成に予定された複数の作業の実施順
序のことではなく、異なる編成の作業間に設定された実
施順序のことで、例えば、「清掃1は編成10、編成0
3、編成08の順序で実施する」といったものである。
換を一個の作業としてトータルに捉えた場合のコストが
それだけ少ないということを意味する。余裕度とは、編
成が予定された作業を全て終了してから出区するまでの
空き時間のことである。余裕度が大きければ、列車ダイ
ヤの乱れ等のために出区予定時刻が早まった場合の対応
も容易であり、また空き時間を利用してさらに他の作業
を受けることも可能となるなど、スケジューリング環境
の動的変化に対して頑健な計画となる。(3)の作業順
序は、ここでは各編成に予定された複数の作業の実施順
序のことではなく、異なる編成の作業間に設定された実
施順序のことで、例えば、「清掃1は編成10、編成0
3、編成08の順序で実施する」といったものである。
【0025】目標制約としては以上の他に、「各編成の
余裕度のばらつきが少ない」、「作業者の番線間の移動
距離が少ない」、「番線使用に偏りがない」、「番線使
用の優先順位を守る」といったものが考えられる。
余裕度のばらつきが少ない」、「作業者の番線間の移動
距離が少ない」、「番線使用に偏りがない」、「番線使
用の優先順位を守る」といったものが考えられる。
【0026】本発明の適用により、上記の車両入換計画
作成問題を解く計画作成システムを実現できる。以降で
は、図1における各データとステップの実現の詳細につ
いて順次説明する。
作成問題を解く計画作成システムを実現できる。以降で
は、図1における各データとステップの実現の詳細につ
いて順次説明する。
【0027】まず図0101の仕事データについて述べ
る。車両入換計画作成問題における1個の仕事は、1編
成の入区から出区までに実施すべき予定された作業のま
とまりのことである。図7に仕事データの具体例を示
す。この例においては、仕事データは複数の仕事から構
成されており、その中の仕事01は編成番号が03、入
区時刻が9時36分、出区時刻が11時03分、その間
に3個の作業が予定されており、各作業の所要時間もあ
らかじめ与えられる。この仕事データを入力としてステ
ップ0103で操作手順に関する制約を生成する。本実
施例における操作は下記の種類のいずれかに分類され
る。
る。車両入換計画作成問題における1個の仕事は、1編
成の入区から出区までに実施すべき予定された作業のま
とまりのことである。図7に仕事データの具体例を示
す。この例においては、仕事データは複数の仕事から構
成されており、その中の仕事01は編成番号が03、入
区時刻が9時36分、出区時刻が11時03分、その間
に3個の作業が予定されており、各作業の所要時間もあ
らかじめ与えられる。この仕事データを入力としてステ
ップ0103で操作手順に関する制約を生成する。本実
施例における操作は下記の種類のいずれかに分類され
る。
【0028】(1)作業操作 (2)留置操作 (3)
引上操作 (4)移動操作 作業操作は、各編成に予定された作業が実施可能な番線
での所要時間以上の在線を意味する。作業はさらに清掃
・点検・修理といったようにさらに細かく分けられ、そ
のそれぞれに応じて作業操作も分類される。また作業操
作が使用する資源は各作業が可能な番線である。留置操
作は、作業番線の空きを待つ間の番線での在線を意味す
る。留置操作が使用する資源は、留置番線として設定さ
れた番線のいずれかとなる。引上操作は引上線として設
定された番線における所用時間以上の在線を意味する。
移動操作は、文字どおり番線間もしくは番線と入出区線
を介した車両基地の外部との間の移動を意味し、その使
用資源は車両基地内の転線ルートである。作業操作が仕
事の完了に必須な操作であり、それ以外の操作(2)
(3)(4)が作業の実施のための補助的な処理に対応
する。図8に本実施例で使用する操作のデータ構造を示
す。各操作データには操作番号がつけられ、仕事番号、
操作種類、開始時刻、終了時刻、処理時間、使用資源の
6項目の情報を含む。操作種類が作業の場合、操作種類
には仕事の作業番号が入る。作業種類の詳細情報を知る
ためには、仕事番号が示す仕事を前記仕事データから取
り出し、その作業内容の項目を作業番号でアクセスす
る。以降の記述では、入区操作、出区操作という用語が
でてくる場合があるが、これらは入区時と出区時の移動
操作を意味するものであり、特に断らない限り通常の移
動操作として扱う。
引上操作 (4)移動操作 作業操作は、各編成に予定された作業が実施可能な番線
での所要時間以上の在線を意味する。作業はさらに清掃
・点検・修理といったようにさらに細かく分けられ、そ
のそれぞれに応じて作業操作も分類される。また作業操
作が使用する資源は各作業が可能な番線である。留置操
作は、作業番線の空きを待つ間の番線での在線を意味す
る。留置操作が使用する資源は、留置番線として設定さ
れた番線のいずれかとなる。引上操作は引上線として設
定された番線における所用時間以上の在線を意味する。
移動操作は、文字どおり番線間もしくは番線と入出区線
を介した車両基地の外部との間の移動を意味し、その使
用資源は車両基地内の転線ルートである。作業操作が仕
事の完了に必須な操作であり、それ以外の操作(2)
(3)(4)が作業の実施のための補助的な処理に対応
する。図8に本実施例で使用する操作のデータ構造を示
す。各操作データには操作番号がつけられ、仕事番号、
操作種類、開始時刻、終了時刻、処理時間、使用資源の
6項目の情報を含む。操作種類が作業の場合、操作種類
には仕事の作業番号が入る。作業種類の詳細情報を知る
ためには、仕事番号が示す仕事を前記仕事データから取
り出し、その作業内容の項目を作業番号でアクセスす
る。以降の記述では、入区操作、出区操作という用語が
でてくる場合があるが、これらは入区時と出区時の移動
操作を意味するものであり、特に断らない限り通常の移
動操作として扱う。
【0029】上記操作を具体化して適切な順序で並べた
ものが、仕事(編成の入区から出区までに予定された作
業のまとまり)のスケジュールを表す操作シーケンスで
ある。本実施例の操作シーケンスのデータ構造を図9に
示す。各操作シーケンスには他と区別するための相異な
るシーケンス番号が付けられる。操作シーケンスの主内
容は、符号0901の操作データへの参照リストであ
る。この他に付加的な情報として、スケジューリング対
象の仕事の仕事番号、操作リストの操作数、該操作シー
ケンスの余裕度が含まれる。
ものが、仕事(編成の入区から出区までに予定された作
業のまとまり)のスケジュールを表す操作シーケンスで
ある。本実施例の操作シーケンスのデータ構造を図9に
示す。各操作シーケンスには他と区別するための相異な
るシーケンス番号が付けられる。操作シーケンスの主内
容は、符号0901の操作データへの参照リストであ
る。この他に付加的な情報として、スケジューリング対
象の仕事の仕事番号、操作リストの操作数、該操作シー
ケンスの余裕度が含まれる。
【0030】図7の仕事データを入力として図1ステッ
プ0103において操作手順に関する制約を生成する。
車両入換計画作成問題における操作手順に関する制約の
例として、作業が一つの仕事の場合を図10(a)に示
す。この操作種類の有向ネットワーク上で、入区節点か
ら出区節点までの作業節点を含む任意の一本のパスが実
行可能な操作手順を表す。この例で最も簡単な操作手順
は、入区、作業、出区の3節点のみからなるパスであ
る。この操作手順に対して、入区と作業、作業と出区の
間に留置のための在線操作系列を挿入するに従ってより
複雑な操作手順が得られる。出区時刻を守ることを考慮
しなければ、挿入できる留置のための在線操作系列の数
に制限はなく、その場合には可能な操作手順の数は無数
に存在する。しかしながら、車両入換業務においては業
務効率・負担の観点から転線回数はできるだけ少ない方
が望ましく、また実際に作業の前後で留置を高々一回お
こなうだけで転線ルート・番線の競合を回避できる場合
がほとんどであるため、本実施例においては、図10
(b)のように有限のネットワーク構造を操作手順に関
する制約とする。このネットワークを用いると、最も簡
単な操作手順は先に述べた入区節点、作業節点、出区節
点の3節点のみからなるパスであり、最も複雑な操作手
順は作業の前後で留置線への在線を一度づつおこなう操
作系列を含むパスである。以降の記述では前者を操作手
順の最良パターン、後者を操作手順の最悪パターンと呼
ぶことにする。図から明らかに類推できるように、全て
の操作手順は最良パターンを部分ネットワークとして含
み、最悪パターンに部分ネットワークとして含まれる性
質を持つ。これは即ち最良パターンと最悪パターンから
全ての操作手順を構成することが可能であることを意味
する。そこで、本実施例で用いる操作手順に関する制約
のデータ構造は図11に示すものとした。各データに
は、他と区別するための相異なる番号がつけられ、付加
的な情報として対象の仕事の仕事番号を含む。主内容
は、符号1101の最悪パターンのリストと符号110
2の最良パターンのリストであり、各リストには操作種
類を表すデータが格納される。また、双方のパターンに
共通する作業節点の位置を記憶しておくために、それら
の対を同一資源操作対として格納する。以降の記述で
は、このデータ構造のデータを操作シーケンステンプレ
ート、または単にテンプレートと呼ぶことにする。
プ0103において操作手順に関する制約を生成する。
車両入換計画作成問題における操作手順に関する制約の
例として、作業が一つの仕事の場合を図10(a)に示
す。この操作種類の有向ネットワーク上で、入区節点か
ら出区節点までの作業節点を含む任意の一本のパスが実
行可能な操作手順を表す。この例で最も簡単な操作手順
は、入区、作業、出区の3節点のみからなるパスであ
る。この操作手順に対して、入区と作業、作業と出区の
間に留置のための在線操作系列を挿入するに従ってより
複雑な操作手順が得られる。出区時刻を守ることを考慮
しなければ、挿入できる留置のための在線操作系列の数
に制限はなく、その場合には可能な操作手順の数は無数
に存在する。しかしながら、車両入換業務においては業
務効率・負担の観点から転線回数はできるだけ少ない方
が望ましく、また実際に作業の前後で留置を高々一回お
こなうだけで転線ルート・番線の競合を回避できる場合
がほとんどであるため、本実施例においては、図10
(b)のように有限のネットワーク構造を操作手順に関
する制約とする。このネットワークを用いると、最も簡
単な操作手順は先に述べた入区節点、作業節点、出区節
点の3節点のみからなるパスであり、最も複雑な操作手
順は作業の前後で留置線への在線を一度づつおこなう操
作系列を含むパスである。以降の記述では前者を操作手
順の最良パターン、後者を操作手順の最悪パターンと呼
ぶことにする。図から明らかに類推できるように、全て
の操作手順は最良パターンを部分ネットワークとして含
み、最悪パターンに部分ネットワークとして含まれる性
質を持つ。これは即ち最良パターンと最悪パターンから
全ての操作手順を構成することが可能であることを意味
する。そこで、本実施例で用いる操作手順に関する制約
のデータ構造は図11に示すものとした。各データに
は、他と区別するための相異なる番号がつけられ、付加
的な情報として対象の仕事の仕事番号を含む。主内容
は、符号1101の最悪パターンのリストと符号110
2の最良パターンのリストであり、各リストには操作種
類を表すデータが格納される。また、双方のパターンに
共通する作業節点の位置を記憶しておくために、それら
の対を同一資源操作対として格納する。以降の記述で
は、このデータ構造のデータを操作シーケンステンプレ
ート、または単にテンプレートと呼ぶことにする。
【0031】本実施例において、図1ステップ0103
の操作手順における制約の生成に対応する処理は、操作
シーケンステンプレートの生成処理である。図12のフ
ローチャートを参照しながらこの処理の説明を行う。ま
ずステップ1201においてテンプレート数mの初期化
をおこなう。ステップ1202で終了判定をおこない、
テンプレート数mが仕事データの仕事数を超えた場合に
は処理を終了する。ステップ1203では、最悪パター
ン上の位置w、最良パターン上の位置b、共通資源を持
つ操作対(作業節点)の数sを初期化する。ステップ1
204では、テンプレートの仕事番号に仕事mの番号を
設定する。ステップ1205では最悪パターンと最良パ
ターンの先頭位置に操作種類「入区」を設定する。ステ
ップ1206では作業数カウンタnを初期化する。ステ
ップ1207ではループ処理の終了判定をおこない、作
業数カウンタnが仕事mの作業数を超えた場合にはルー
プ処理を終了し、ステップ1214でテンプレート数m
の値を1増やしてステップ1202の処理の終了判定へ
戻る。ループ処理を続行する場合には、ステップ120
8へ進み、最悪パターンに対して位置wを増やしながら
操作種類「留置」、「移動」、「引上」、「移動」を順
次設定する。これらは留置番線への在線のための一連の
操作系列を表す。次にステップ1209において最悪、
最良の両パターンに対して、位置w、bをそれぞれ増や
しながら操作種類「仕事mの作業番号nの作業」、「移
動」、「引上」を順次設定する。そしてステップ121
0で、直前のステップにおいて作業を設定した位置の対
を同一資源操作対として登録してsを1増やす。以上が
1回のループにおける処理であり、その後ステップ12
11で作業数カウンタnを1増やしてステップ1207
のループ処理の終了判定へ戻る。ループ処理を抜けた後
は、ステップ1212へ進む。このステップでは、最悪
パターンに対して位置wを増やしながら操作種類「留
置」、「出区」を設定する。次にステップ1213にお
いて、最良パターンに対して位置bを2減らして操作種
類「出区」を設定する。この処理の終了で1個のテンプ
レートが完成する。その後はテンプレート数mを1増や
して終了判定ステップ1202へ進む。以上の処理によ
り、仕事データ中の各仕事に対応する操作シーケンステ
ンプレートが生成される。
の操作手順における制約の生成に対応する処理は、操作
シーケンステンプレートの生成処理である。図12のフ
ローチャートを参照しながらこの処理の説明を行う。ま
ずステップ1201においてテンプレート数mの初期化
をおこなう。ステップ1202で終了判定をおこない、
テンプレート数mが仕事データの仕事数を超えた場合に
は処理を終了する。ステップ1203では、最悪パター
ン上の位置w、最良パターン上の位置b、共通資源を持
つ操作対(作業節点)の数sを初期化する。ステップ1
204では、テンプレートの仕事番号に仕事mの番号を
設定する。ステップ1205では最悪パターンと最良パ
ターンの先頭位置に操作種類「入区」を設定する。ステ
ップ1206では作業数カウンタnを初期化する。ステ
ップ1207ではループ処理の終了判定をおこない、作
業数カウンタnが仕事mの作業数を超えた場合にはルー
プ処理を終了し、ステップ1214でテンプレート数m
の値を1増やしてステップ1202の処理の終了判定へ
戻る。ループ処理を続行する場合には、ステップ120
8へ進み、最悪パターンに対して位置wを増やしながら
操作種類「留置」、「移動」、「引上」、「移動」を順
次設定する。これらは留置番線への在線のための一連の
操作系列を表す。次にステップ1209において最悪、
最良の両パターンに対して、位置w、bをそれぞれ増や
しながら操作種類「仕事mの作業番号nの作業」、「移
動」、「引上」を順次設定する。そしてステップ121
0で、直前のステップにおいて作業を設定した位置の対
を同一資源操作対として登録してsを1増やす。以上が
1回のループにおける処理であり、その後ステップ12
11で作業数カウンタnを1増やしてステップ1207
のループ処理の終了判定へ戻る。ループ処理を抜けた後
は、ステップ1212へ進む。このステップでは、最悪
パターンに対して位置wを増やしながら操作種類「留
置」、「出区」を設定する。次にステップ1213にお
いて、最良パターンに対して位置bを2減らして操作種
類「出区」を設定する。この処理の終了で1個のテンプ
レートが完成する。その後はテンプレート数mを1増や
して終了判定ステップ1202へ進む。以上の処理によ
り、仕事データ中の各仕事に対応する操作シーケンステ
ンプレートが生成される。
【0032】操作シーケンステンプレートは、図1ステ
ップ0105の解探索処理の主入力データとなる。本ス
テップの説明に入る前に、図1符号0102の資源に関
する制約と図1符号0110の解探索パラメータの本実
施例における実現の詳細を説明する。まず資源に関する
制約について説明する。車両入換計画作成問題において
操作が使用する資源は、車両基地内の番線及び転線ルー
トのいずれかである。各資源がどの種類の操作で使用可
能であるかという情報は、資源属性テーブルとして定義
される。そのデータ構造を図13に示す。テーブルの各
行が操作種類ごとの使用可能な資源のリストを表してい
る。各資源は複数の用途で使うことができるため、同じ
資源が別の行に重複して格納される場合がある。ただ
し、引上操作と移動操作の資源は他の用途には使われる
ことはないものとする。車両基地のレイアウトによって
は、特定の番線間の移動に用いる転線経路が制限される
場合があるため、実行可能なスケジュールの生成にはこ
の番線・転線経路の接続情報を利用する必要がある。そ
こで資源に関する制約として資源属性テーブルに加え
て、資源間の関係を定義する接続判定テーブルを採用す
る。そのデータ構造を図14に示す。テーブルの縦軸は
車両基地内の転線経路で横軸が同じく番線である。テー
ブルの各項目は縦の位置の転線経路と横の位置の番線が
接続されている、すなわち該番線が該転線経路を通って
移動可能であるかどうかを表す値が格納される。値TR
UEは接続可能を、値FALSEは接続不可能をそれぞ
れ表す。
ップ0105の解探索処理の主入力データとなる。本ス
テップの説明に入る前に、図1符号0102の資源に関
する制約と図1符号0110の解探索パラメータの本実
施例における実現の詳細を説明する。まず資源に関する
制約について説明する。車両入換計画作成問題において
操作が使用する資源は、車両基地内の番線及び転線ルー
トのいずれかである。各資源がどの種類の操作で使用可
能であるかという情報は、資源属性テーブルとして定義
される。そのデータ構造を図13に示す。テーブルの各
行が操作種類ごとの使用可能な資源のリストを表してい
る。各資源は複数の用途で使うことができるため、同じ
資源が別の行に重複して格納される場合がある。ただ
し、引上操作と移動操作の資源は他の用途には使われる
ことはないものとする。車両基地のレイアウトによって
は、特定の番線間の移動に用いる転線経路が制限される
場合があるため、実行可能なスケジュールの生成にはこ
の番線・転線経路の接続情報を利用する必要がある。そ
こで資源に関する制約として資源属性テーブルに加え
て、資源間の関係を定義する接続判定テーブルを採用す
る。そのデータ構造を図14に示す。テーブルの縦軸は
車両基地内の転線経路で横軸が同じく番線である。テー
ブルの各項目は縦の位置の転線経路と横の位置の番線が
接続されている、すなわち該番線が該転線経路を通って
移動可能であるかどうかを表す値が格納される。値TR
UEは接続可能を、値FALSEは接続不可能をそれぞ
れ表す。
【0033】次に解探索パラメータについて説明する。
本実施例においては、解探索処理の基本アーキテクチャ
として確率的探索手法の一つである遺伝的アルゴリズム
(GA)を利用する。GAは組合せ問題の解候補を生物
個体に見立て、各個体の形質を決める染色体情報に対し
て個体集団の世代交代サイクルの中で遺伝子オペレーシ
ョンを施すことにより、質の高い個体集団を探索する。
この探索を制御するために解探索パラメータが用いられ
る。本実施例における解探索パラメータを図15に示
す。採用したパラメータは「実行世代数」、「個体集団
のサイズ」、遺伝子オペレーションの際の「自然淘汰
率」、「突然変異率」、そして解探索の再実行時に用い
られる「延長世代数」とした。これらはどれもGAの適
用に際して一般的に用いられるものである。
本実施例においては、解探索処理の基本アーキテクチャ
として確率的探索手法の一つである遺伝的アルゴリズム
(GA)を利用する。GAは組合せ問題の解候補を生物
個体に見立て、各個体の形質を決める染色体情報に対し
て個体集団の世代交代サイクルの中で遺伝子オペレーシ
ョンを施すことにより、質の高い個体集団を探索する。
この探索を制御するために解探索パラメータが用いられ
る。本実施例における解探索パラメータを図15に示
す。採用したパラメータは「実行世代数」、「個体集団
のサイズ」、遺伝子オペレーションの際の「自然淘汰
率」、「突然変異率」、そして解探索の再実行時に用い
られる「延長世代数」とした。これらはどれもGAの適
用に際して一般的に用いられるものである。
【0034】図1ステップ0105の解探索処理の説明
をおこなう。前述したように、解探索処理の基本アーキ
テクチャにはGAを採用した。GAは組合せ問題に対す
る解探索手法の枠組の総称であり、それぞれの詳細な仕
様があらかじめ与えられているわけではない。GAの適
用にあたっては、構成部分を対象問題に対して適切に実
現する必要がある。以下その実現の詳細を図16のフロ
ーチャートを参照しながら順次説明するとともに、図1
の解探索処理の内部ステップである「資源割当の確率的
調整」、「資源競合の解消」、「解候補の評価」、「評
価値のフィードバック」の各ステップと構成部分との対
応関係を示す。まずステップ1601において、図17
に示す資源割当テーブルの初期化をおこなう。資源割当
テーブルとは、スケジューリング対象の全ての操作シー
ケンステンプレートの最悪パターン及び最良パターンの
各要素に資源を割り当てたデータのことである。資源割
当テーブルの生成は、操作手順に関する制約を表す有向
ネットワークの各節点に資源を割り当てる処理に対応す
る。解探索処理は本ステップにおいて、この資源割当テ
ーブルを解探索パラメータの集団個体数と等しい数だけ
初期化する。その後の処理においてこの資源割当テーブ
ルはGAの染色体とみなされ、GAの枠組みの中でその
内容が確率的に調整される。次にステップ1602では
世代数カウンタmを初期化する。ステップ1603では
処理の終了判定をおこない、世代数カウンタmが解探索
パラメータで設定された実行世代数を超えた場合には処
理を終了する。ステップ1604では染色体(資源割当
テーブル)の内容を確率的に調整する。本ステップが図
1ステップ0106の資源割当の確率的調整処理に対応
する。本ステップは内部ステップとしてGAの一般的な
遺伝子オペレーションである、自然淘汰(1605)、
交叉(1606)、突然変異(1607)の3個の処理
を含む。これらの処理はGAの定義の中に具体的な手法
が示されているわけではなく、GAの適用対象や染色体
の構造ごとに個別に実現する必要がある。その実現内容
については解探索処理を一通り説明した後で詳細に述べ
る。次にステップ1608において染色体ポインタnを
初期化する。ステップ1609ではループ処理の終了判
定をおこない、染色体ポインタnが解探索パラメータで
設定した集団個体数を超えた場合にはループ処理を終了
し、ステップ1610で世代数カウンタmを1増やして
ステップ1603の処理の終了判定へ戻る。ループ処理
を続行する場合にはステップ1611へ進み、n個目の
染色体を入力データとして解、すなわち仕事の操作シー
ケンスを生成する。本ステップが操作手順の選択と具体
化をおこなう図1ステップ0107の資源競合の解消処
理に対応する。次にステップ1612において生成した
解に対する計画条件とユーザ要求の充足度を評価する。
本ステップが図1ステップ0108の解候補の評価ステ
ップに対応する。その後は前記評価ステップで各解に与
えられた評価値をステップ1613において染色体にフ
ィードバックする。ここまでが1回のループ処理であ
り、これで1個の解候補が生成される。ステップ161
4では染色体ポインタnの値を1増やしてステップ16
09のループ処理の終了判定に戻る。
をおこなう。前述したように、解探索処理の基本アーキ
テクチャにはGAを採用した。GAは組合せ問題に対す
る解探索手法の枠組の総称であり、それぞれの詳細な仕
様があらかじめ与えられているわけではない。GAの適
用にあたっては、構成部分を対象問題に対して適切に実
現する必要がある。以下その実現の詳細を図16のフロ
ーチャートを参照しながら順次説明するとともに、図1
の解探索処理の内部ステップである「資源割当の確率的
調整」、「資源競合の解消」、「解候補の評価」、「評
価値のフィードバック」の各ステップと構成部分との対
応関係を示す。まずステップ1601において、図17
に示す資源割当テーブルの初期化をおこなう。資源割当
テーブルとは、スケジューリング対象の全ての操作シー
ケンステンプレートの最悪パターン及び最良パターンの
各要素に資源を割り当てたデータのことである。資源割
当テーブルの生成は、操作手順に関する制約を表す有向
ネットワークの各節点に資源を割り当てる処理に対応す
る。解探索処理は本ステップにおいて、この資源割当テ
ーブルを解探索パラメータの集団個体数と等しい数だけ
初期化する。その後の処理においてこの資源割当テーブ
ルはGAの染色体とみなされ、GAの枠組みの中でその
内容が確率的に調整される。次にステップ1602では
世代数カウンタmを初期化する。ステップ1603では
処理の終了判定をおこない、世代数カウンタmが解探索
パラメータで設定された実行世代数を超えた場合には処
理を終了する。ステップ1604では染色体(資源割当
テーブル)の内容を確率的に調整する。本ステップが図
1ステップ0106の資源割当の確率的調整処理に対応
する。本ステップは内部ステップとしてGAの一般的な
遺伝子オペレーションである、自然淘汰(1605)、
交叉(1606)、突然変異(1607)の3個の処理
を含む。これらの処理はGAの定義の中に具体的な手法
が示されているわけではなく、GAの適用対象や染色体
の構造ごとに個別に実現する必要がある。その実現内容
については解探索処理を一通り説明した後で詳細に述べ
る。次にステップ1608において染色体ポインタnを
初期化する。ステップ1609ではループ処理の終了判
定をおこない、染色体ポインタnが解探索パラメータで
設定した集団個体数を超えた場合にはループ処理を終了
し、ステップ1610で世代数カウンタmを1増やして
ステップ1603の処理の終了判定へ戻る。ループ処理
を続行する場合にはステップ1611へ進み、n個目の
染色体を入力データとして解、すなわち仕事の操作シー
ケンスを生成する。本ステップが操作手順の選択と具体
化をおこなう図1ステップ0107の資源競合の解消処
理に対応する。次にステップ1612において生成した
解に対する計画条件とユーザ要求の充足度を評価する。
本ステップが図1ステップ0108の解候補の評価ステ
ップに対応する。その後は前記評価ステップで各解に与
えられた評価値をステップ1613において染色体にフ
ィードバックする。ここまでが1回のループ処理であ
り、これで1個の解候補が生成される。ステップ161
4では染色体ポインタnの値を1増やしてステップ16
09のループ処理の終了判定に戻る。
【0035】以下では、解探索処理の構成ステップであ
る、資源割当テーブル(染色体)の初期化ステップ、染
色体の確率的調整ステップ、解(操作シーケンス)の生
成ステップ、解の評価ステップの実現の詳細を順次説明
していく。
る、資源割当テーブル(染色体)の初期化ステップ、染
色体の確率的調整ステップ、解(操作シーケンス)の生
成ステップ、解の評価ステップの実現の詳細を順次説明
していく。
【0036】図18のフローチャートを参照しながら資
源割当テーブル(染色体)の初期化処理を説明する。ま
ずステップ1801において個体番号mを初期化する。
ステップ1802では処理の終了判定をおこない、個体
番号mが解探索パラメータにおいて設定された集団個体
数を超えた場合には処理を終了する。処理が終了しない
場合には、ステップ1803に進みテンプレート番号n
を初期化する。ステップ1804ではループ処理の終了
判定をおこない、テンプレート番号nがテンプレート数
を超えた場合にはステップ1805で個体番号mを1増
やして処理の終了判定ステップ1802へ戻る。ループ
処理が終了しない場合はステップ1805へ進み、テン
プレートnの最悪パターンに資源を割り当てる。この処
理の詳細を図19のフローチャートを参照しながら説明
する。
源割当テーブル(染色体)の初期化処理を説明する。ま
ずステップ1801において個体番号mを初期化する。
ステップ1802では処理の終了判定をおこない、個体
番号mが解探索パラメータにおいて設定された集団個体
数を超えた場合には処理を終了する。処理が終了しない
場合には、ステップ1803に進みテンプレート番号n
を初期化する。ステップ1804ではループ処理の終了
判定をおこない、テンプレート番号nがテンプレート数
を超えた場合にはステップ1805で個体番号mを1増
やして処理の終了判定ステップ1802へ戻る。ループ
処理が終了しない場合はステップ1805へ進み、テン
プレートnの最悪パターンに資源を割り当てる。この処
理の詳細を図19のフローチャートを参照しながら説明
する。
【0037】まずステップ1901においてテンプレー
ト上の位置mを初期化する。ステップ1902では処理
の終了判定をおこない、テンプレート上の位置が最悪パ
ターンの操作数を超えた場合には処理を終了する。処理
を終了しない場合にはステップ1903に進み、操作種
類変数kに最悪パターンの位置mの値を設定する。ステ
ップ1904ではmがパターンの先頭かどうかを判定
し、mが先頭の場合にはステップ1905へ進み、資源
属性テーブルを参照しながら操作種類kの資源をランダ
ムに選択して位置mに設定する。mが先頭でない場合に
は資源属性テーブルと接続判定テーブルの双方を参照し
ながら、操作種類がkでなおかつ位置m−1の資源と接
続可能な資源をランダムに選択して位置mに設定する。
ステップ1907ではmを1増やして処理の終了判定ス
テップ1902へ戻る。
ト上の位置mを初期化する。ステップ1902では処理
の終了判定をおこない、テンプレート上の位置が最悪パ
ターンの操作数を超えた場合には処理を終了する。処理
を終了しない場合にはステップ1903に進み、操作種
類変数kに最悪パターンの位置mの値を設定する。ステ
ップ1904ではmがパターンの先頭かどうかを判定
し、mが先頭の場合にはステップ1905へ進み、資源
属性テーブルを参照しながら操作種類kの資源をランダ
ムに選択して位置mに設定する。mが先頭でない場合に
は資源属性テーブルと接続判定テーブルの双方を参照し
ながら、操作種類がkでなおかつ位置m−1の資源と接
続可能な資源をランダムに選択して位置mに設定する。
ステップ1907ではmを1増やして処理の終了判定ス
テップ1902へ戻る。
【0038】図18に戻り資源割当テーブルの初期化処
理の説明を続ける。ステップ1805の次はステップ1
806においてテンプレートnの最良パターンに資源を
割り当てる。本ステップは処理対象が最悪パターンから
最良パターンに代わっただけで処理内容はステップ18
05と全く同じである。ステップ1805とステップ1
806により最悪・最良両パターンに対して資源が割り
当てられるが、このままでは同一の作業節点に対して両
パターンに異なる資源が割り当てられる可能性がある。
そこでステップ1807において最悪パターンと最良パ
ターンの同一の作業節点が格納される位置の資源を同じ
ものにする。ここまでが1回のループ処理であり、これ
でテンプレート1個に対する資源割り当てが完了する。
ステップ1808ではテンプレート番号nの値を1増や
してステップ1804のループ処理の終了判定へ戻る。
理の説明を続ける。ステップ1805の次はステップ1
806においてテンプレートnの最良パターンに資源を
割り当てる。本ステップは処理対象が最悪パターンから
最良パターンに代わっただけで処理内容はステップ18
05と全く同じである。ステップ1805とステップ1
806により最悪・最良両パターンに対して資源が割り
当てられるが、このままでは同一の作業節点に対して両
パターンに異なる資源が割り当てられる可能性がある。
そこでステップ1807において最悪パターンと最良パ
ターンの同一の作業節点が格納される位置の資源を同じ
ものにする。ここまでが1回のループ処理であり、これ
でテンプレート1個に対する資源割り当てが完了する。
ステップ1808ではテンプレート番号nの値を1増や
してステップ1804のループ処理の終了判定へ戻る。
【0039】次に図16ステップ1604の染色体の確
率的調整処理について説明する。本処理は3個の内部ス
テップからなる。まず第1番目のステップ1605では
GAの遺伝子オペレーションのひとつである染色体の自
然淘汰処理をおこなう。図16ステップ1613の評価
値のフィードバックにより染色体に与えられた評価値を
用いて、評価値の低いものから順に解探索パラメータで
設定された自然淘汰率に応じた個数の染色体を削除す
る。探索の初期世代では染色体に評価値が与えられてい
ないため、この場合は特別に全ての染色体が同一の評価
値を持つものとして処理をおこなう。以下の交叉処理、
突然変異処理においても初期世代ではこれと同じ処理を
おこなうものとする。
率的調整処理について説明する。本処理は3個の内部ス
テップからなる。まず第1番目のステップ1605では
GAの遺伝子オペレーションのひとつである染色体の自
然淘汰処理をおこなう。図16ステップ1613の評価
値のフィードバックにより染色体に与えられた評価値を
用いて、評価値の低いものから順に解探索パラメータで
設定された自然淘汰率に応じた個数の染色体を削除す
る。探索の初期世代では染色体に評価値が与えられてい
ないため、この場合は特別に全ての染色体が同一の評価
値を持つものとして処理をおこなう。以下の交叉処理、
突然変異処理においても初期世代ではこれと同じ処理を
おこなうものとする。
【0040】次のステップ1605の交叉処理では、自
然淘汰処理によって減少した染色体数の分だけ新たな染
色体を生成して補充する。新たな染色体の生成は、染色
体集合から任意に2個の染色体を選択し、両者の要素
(これを遺伝子と呼ぶ)を合成することで実現する。染
色体が資源割当テーブルの場合にはその要素は資源であ
り、これが遺伝子にあたる。以降の記述では、生成元の
染色体を親染色体、新たに生成される染色体を子染色体
と呼ぶことにする。
然淘汰処理によって減少した染色体数の分だけ新たな染
色体を生成して補充する。新たな染色体の生成は、染色
体集合から任意に2個の染色体を選択し、両者の要素
(これを遺伝子と呼ぶ)を合成することで実現する。染
色体が資源割当テーブルの場合にはその要素は資源であ
り、これが遺伝子にあたる。以降の記述では、生成元の
染色体を親染色体、新たに生成される染色体を子染色体
と呼ぶことにする。
【0041】任意に選択した親染色体Aと親染色体Bか
ら子染色体Cを生成する処理について、図20のフロー
チャートを参照しながら説明をおこなう。まずステップ
2001においてテンプレート番号mを初期化する。ス
テップ2002では処理の終了判定をおこない、テンプ
レート番号mがテンプレート数を超えた場合には処理を
終了する。処理を終了しない場合にはステップ2003
に進み、親染色体Aと親染色体Bから子染色体のテンプ
レートmの最悪パターンを生成する。本ステップの詳細
を図21のフローチャートを用いて詳細に説明する。
ら子染色体Cを生成する処理について、図20のフロー
チャートを参照しながら説明をおこなう。まずステップ
2001においてテンプレート番号mを初期化する。ス
テップ2002では処理の終了判定をおこない、テンプ
レート番号mがテンプレート数を超えた場合には処理を
終了する。処理を終了しない場合にはステップ2003
に進み、親染色体Aと親染色体Bから子染色体のテンプ
レートmの最悪パターンを生成する。本ステップの詳細
を図21のフローチャートを用いて詳細に説明する。
【0042】まずステップ2101において最悪パター
ン上の位置mを初期化する。ステップ2102では終了
判定をおこない、位置mが最悪パターンの長さを超えた
場合には処理を終了する。処理を終了しない場合には、
ステップ2103に進み資源変数a及びbに、親Aと親
Bの最悪パターン上の位置mの値をそれぞれ格納する。
ステップ2104ではmがパターンの先頭かどうかを判
定し、先頭であればステップ2105において確率Pc
でaまたはbを子染色体の最悪パターン上の位置mに設
定する。ここで確率Pcは、より評価値の高い親の遺伝
子を子染色体が継承する可能性がその優秀さの程度を反
映するように動的に決定される値である。親染色体Aが
優秀である場合の確率Pcの算出式を以下に示す。Pc
=(親染色体Aの評価値)/((親染色体Aの評価値)
+(親染色体Bの評価値))ステップ2105の終了後
はステップ2106へ進み位置mの値を1増やしてステ
ップ2102の処理の終了判定へ戻る。位置mが先頭で
はない場合はステップ21 場合はステップ2109へ進み確率Pcでaまたはbを
子染色体の最悪パターンの位置mに設定する。ステップ
2109の終了後はステップ2106へ進み位置 体の最悪パターンの位置mに設定する。ステップ211
1の終了後はステップ2106へ進み位置mの値を1増
やしてステップ2102の処理の終了判定へ戻る。ステ
ップ2110の判定処理が偽の場合はステップ2112
で再び接続判定を へ進みaを子染色体の最悪パターンの位置mに設定す
る。ステップ2113の終了後はステップ2106へ進
み位置mの値を1増やしてステップ2102の処理の終
了判定へ戻る。どちらも接続可能では無い場合にはステ
ップ2114へ進み確率Pcでaまたはbを子染色体の
最悪パターンの位置mに設定する。ステップ2114の
終了後はステップ2106へ進み位置mの値を1増やし
てステップ2102の処理の終了判定へ戻る。
ン上の位置mを初期化する。ステップ2102では終了
判定をおこない、位置mが最悪パターンの長さを超えた
場合には処理を終了する。処理を終了しない場合には、
ステップ2103に進み資源変数a及びbに、親Aと親
Bの最悪パターン上の位置mの値をそれぞれ格納する。
ステップ2104ではmがパターンの先頭かどうかを判
定し、先頭であればステップ2105において確率Pc
でaまたはbを子染色体の最悪パターン上の位置mに設
定する。ここで確率Pcは、より評価値の高い親の遺伝
子を子染色体が継承する可能性がその優秀さの程度を反
映するように動的に決定される値である。親染色体Aが
優秀である場合の確率Pcの算出式を以下に示す。Pc
=(親染色体Aの評価値)/((親染色体Aの評価値)
+(親染色体Bの評価値))ステップ2105の終了後
はステップ2106へ進み位置mの値を1増やしてステ
ップ2102の処理の終了判定へ戻る。位置mが先頭で
はない場合はステップ21 場合はステップ2109へ進み確率Pcでaまたはbを
子染色体の最悪パターンの位置mに設定する。ステップ
2109の終了後はステップ2106へ進み位置 体の最悪パターンの位置mに設定する。ステップ211
1の終了後はステップ2106へ進み位置mの値を1増
やしてステップ2102の処理の終了判定へ戻る。ステ
ップ2110の判定処理が偽の場合はステップ2112
で再び接続判定を へ進みaを子染色体の最悪パターンの位置mに設定す
る。ステップ2113の終了後はステップ2106へ進
み位置mの値を1増やしてステップ2102の処理の終
了判定へ戻る。どちらも接続可能では無い場合にはステ
ップ2114へ進み確率Pcでaまたはbを子染色体の
最悪パターンの位置mに設定する。ステップ2114の
終了後はステップ2106へ進み位置mの値を1増やし
てステップ2102の処理の終了判定へ戻る。
【0043】図20に戻り子染色体の生成処理について
の説明を続ける。ステップ2003の終了後は、ステッ
プ2004で親染色体Aと親染色体Bから子染色体のテ
ンプレートmの最良パターンを生成する。本ステップは
処理対象が最悪パターンから最良パターンに代わっただ
けで処理内容はステップ2003と全く同じである。ス
テップ2003とステップ2004により子染色体のテ
ンプレートmの最悪・最良両パターンが生成されるが、
このままでは同一の作業節点に対して両パターンに異な
る資源が割り当てられる可能性がある。そこでステップ
2005において最悪パターンと最良パターンの同一の
作業節点が格納される位置の資源を同じものにする。ス
テップ2006ではテンプレート番号mの値を1増やし
て処理の終了判定ステップ2002に戻る。
の説明を続ける。ステップ2003の終了後は、ステッ
プ2004で親染色体Aと親染色体Bから子染色体のテ
ンプレートmの最良パターンを生成する。本ステップは
処理対象が最悪パターンから最良パターンに代わっただ
けで処理内容はステップ2003と全く同じである。ス
テップ2003とステップ2004により子染色体のテ
ンプレートmの最悪・最良両パターンが生成されるが、
このままでは同一の作業節点に対して両パターンに異な
る資源が割り当てられる可能性がある。そこでステップ
2005において最悪パターンと最良パターンの同一の
作業節点が格納される位置の資源を同じものにする。ス
テップ2006ではテンプレート番号mの値を1増やし
て処理の終了判定ステップ2002に戻る。
【0044】図16に戻り、ステップ1607の突然変
異処理について説明する。突然変異は染色体の遺伝子コ
ードをランダムに変化する処理であり、これにより解探
索が局所解に陥ることを防ぐ。この際、全くランダムに
遺伝子を変化させると実行可能解が得られなくなる可能
性が非常に高くなる。そこでこれを防ぐために、資源に
関する制約である資源割当テーブルと接続判定テーブル
を参照しながら適切な資源(遺伝子)を選択する必要が
ある。本ステップの詳細を図22のフローチャートを参
照しながら説明する。
異処理について説明する。突然変異は染色体の遺伝子コ
ードをランダムに変化する処理であり、これにより解探
索が局所解に陥ることを防ぐ。この際、全くランダムに
遺伝子を変化させると実行可能解が得られなくなる可能
性が非常に高くなる。そこでこれを防ぐために、資源に
関する制約である資源割当テーブルと接続判定テーブル
を参照しながら適切な資源(遺伝子)を選択する必要が
ある。本ステップの詳細を図22のフローチャートを参
照しながら説明する。
【0045】まずステップ2201においてテンプレー
ト番号mを初期化する。ステップ2202では処理の終
了判定をおこない、テンプレート番号mがテンプレート
数を超えた場合には処理を終了する。処理を終了しない
場合にはステップ2203に進み、テンプレートmの最
悪パターンに突然変異を施す。本ステップの詳細を図2
3のフローチャートを用いて詳細に説明する。
ト番号mを初期化する。ステップ2202では処理の終
了判定をおこない、テンプレート番号mがテンプレート
数を超えた場合には処理を終了する。処理を終了しない
場合にはステップ2203に進み、テンプレートmの最
悪パターンに突然変異を施す。本ステップの詳細を図2
3のフローチャートを用いて詳細に説明する。
【0046】まずステップ2301において最悪パター
ン上の位置nを初期化する。ステップ2302では処理
の終了判定をおこない、位置nが最悪パターンの長さを
超えた場合には処理を終了する。処理を終了しない場合
にはステップ2303に進み、整数変数vに1から10
00までの値をランダムに格納する。ステップ2304
ではvと解探索パラメータで設定された突然変異率との
大小比較を行う。vが突然変異率より大きい場合はステ
ップ2305で位置nの値を1増やして処理の終了判定
2301へ戻る。vが突然変異率より小さい場合はステ
ップ2306へ進み、操作種類変数kにテンプレートm
の最悪パターンの位置nの値を設定する。ステップ23
07では位置nがパターンの先頭であるかを判定する。
位置nが先頭でない場合はステップ2308に進み、資
源属性テーブルと接続判定テーブルの双方を参照しなが
ら、操作種類がkでなおかつ位置n−1の資源と接続可
能な資源をランダムに選択して位置nに設定する。位置
nが先頭の場合はステップ2309へ進み、資源属性テ
ーブルを参照しながら操作種類kの資源をランダムに選
択して位置nに設定する。ステップ2308とステップ
2309の終了後は、どちらもステップ2305で位置
nの値を1増やして処理の終了判定ステップ2305へ
戻る。
ン上の位置nを初期化する。ステップ2302では処理
の終了判定をおこない、位置nが最悪パターンの長さを
超えた場合には処理を終了する。処理を終了しない場合
にはステップ2303に進み、整数変数vに1から10
00までの値をランダムに格納する。ステップ2304
ではvと解探索パラメータで設定された突然変異率との
大小比較を行う。vが突然変異率より大きい場合はステ
ップ2305で位置nの値を1増やして処理の終了判定
2301へ戻る。vが突然変異率より小さい場合はステ
ップ2306へ進み、操作種類変数kにテンプレートm
の最悪パターンの位置nの値を設定する。ステップ23
07では位置nがパターンの先頭であるかを判定する。
位置nが先頭でない場合はステップ2308に進み、資
源属性テーブルと接続判定テーブルの双方を参照しなが
ら、操作種類がkでなおかつ位置n−1の資源と接続可
能な資源をランダムに選択して位置nに設定する。位置
nが先頭の場合はステップ2309へ進み、資源属性テ
ーブルを参照しながら操作種類kの資源をランダムに選
択して位置nに設定する。ステップ2308とステップ
2309の終了後は、どちらもステップ2305で位置
nの値を1増やして処理の終了判定ステップ2305へ
戻る。
【0047】図22に戻り突然変異処理の説明を続け
る。ステップ2203の終了後はステップ2204に進
み、テンプレートmの最良パターンに対して突然変異を
施す。本ステップは、処理対象が最悪パターンから最良
パターンに代わっただけで処理内容はステップ2203
と全く同じである。ステップ2203とステップ220
4により染色体のテンプレートmの最悪・最良両パター
ンに突然変異が施されるが、このままでは同一の作業節
点に対して両パターンに異なる資源が割り当てられる可
能性がある。そこでステップ2205において最悪パタ
ーンと最良パターンの同一の作業節点が格納される位置
の資源を同じものにする。ステップ2206ではテンプ
レート番号mの値を1増やして処理の終了判定ステップ
2202に戻る。
る。ステップ2203の終了後はステップ2204に進
み、テンプレートmの最良パターンに対して突然変異を
施す。本ステップは、処理対象が最悪パターンから最良
パターンに代わっただけで処理内容はステップ2203
と全く同じである。ステップ2203とステップ220
4により染色体のテンプレートmの最悪・最良両パター
ンに突然変異が施されるが、このままでは同一の作業節
点に対して両パターンに異なる資源が割り当てられる可
能性がある。そこでステップ2205において最悪パタ
ーンと最良パターンの同一の作業節点が格納される位置
の資源を同じものにする。ステップ2206ではテンプ
レート番号mの値を1増やして処理の終了判定ステップ
2202に戻る。
【0048】以上で図16の解探索処理における染色体
の確率的調整ステップ1604の説明を終える。次に解
(操作シーケンス)の生成ステップ1611について説
明する。
の確率的調整ステップ1604の説明を終える。次に解
(操作シーケンス)の生成ステップ1611について説
明する。
【0049】まず本ステップの処理の基本的な考え方を
以下に示す。
以下に示す。
【0050】1.余裕度をなるべく大きくとりながら各
仕事の操作シーケンスを独立に初期化する。
仕事の操作シーケンスを独立に初期化する。
【0051】2.初期解に資源競合もしくは作業操作間
の順序制約違反を起こす操作対が存在する場合は、 (a)操作の時間割当の変更(操作のシフト) (b)操作手順の変更 の2つの処理を適切におこなうことにより解消を図る。
ただし留置操作は資源競合解消の対象からはずす。
の順序制約違反を起こす操作対が存在する場合は、 (a)操作の時間割当の変更(操作のシフト) (b)操作手順の変更 の2つの処理を適切におこなうことにより解消を図る。
ただし留置操作は資源競合解消の対象からはずす。
【0052】3.資源を競合する操作対からシフト操作
を選択(操作の順序付け)する際には、 (a)作業操作間の順序制約違反が新たに発生しない (b)各操作シーケンスの余裕度が均等になる の2点を考慮しながらおこなう。すなわち上記(a)
(b)を資源競合解消ルールとして用いる。
を選択(操作の順序付け)する際には、 (a)作業操作間の順序制約違反が新たに発生しない (b)各操作シーケンスの余裕度が均等になる の2点を考慮しながらおこなう。すなわち上記(a)
(b)を資源競合解消ルールとして用いる。
【0053】4.(1)〜(3)によっても解消できな
い資源競合と作業間の順序制約違反が残った場合には、
その後の実行世代で、図16の染色体の確率的調整ステ
ップ1604により解消可能な資源割当の組合せが生成
されることを期待して解消をあきらめる。
い資源競合と作業間の順序制約違反が残った場合には、
その後の実行世代で、図16の染色体の確率的調整ステ
ップ1604により解消可能な資源割当の組合せが生成
されることを期待して解消をあきらめる。
【0054】留置操作に関する資源競合が存在する場合
も、上記と同様の考え方から本ステップでは何の処理も
おこなわない。
も、上記と同様の考え方から本ステップでは何の処理も
おこなわない。
【0055】次に図24のフローチャートを参照しなが
ら本ステップの詳細を説明する。このフローチャートを
利用して全体の処理の流れを一通り説明した後に、さら
に詳しい解説が必要と思われる構成ステップについて説
明をおこなう。
ら本ステップの詳細を説明する。このフローチャートを
利用して全体の処理の流れを一通り説明した後に、さら
に詳しい解説が必要と思われる構成ステップについて説
明をおこなう。
【0056】まずステップ2401において全ての仕事
の操作シーケンスを独立に初期化する。ステップ240
2では初期解に対して順序制約違反の解消をおこなう。
ステップ2403において全ての操作シーケンスの操作
からガントチャートを構成する。図25に本実施例で使
用するガントチャートのデータ構造を示す。基本要素は
操作データへの参照であり、それらが使用資源ごとにリ
ストを構成する。各リストは操作の開始時刻の順番で常
に整列されている。図24に戻って説明を続ける。ステ
ップ2404では、ガントチャートを利用して資源競合
操作対の集合を作成する。ステップ2405では、各操
作シーケンスの余裕度を計算し、余裕度が負数、すなわ
ち出区時刻をオーバーする編成が一つでも存在する場合
にはフラグOutOverに符号TRUEを、そうではない
場合には符号FALSEを設定する。ステップ2406
では処理の終了判定をおこない、資源競合の数と作業順
序違反の数が共に0であるか、またはフラグOutOver
がTRUEである場合には処理を終了する。処理を終了
しない場合にはステップ2407に進み、シフト開始時
刻が最も早い資源競合操作対と同じく順序制約違反操作
対の間でシフト開始時刻を比較する。資源競合操作対の
シフト開始時刻が早い場合にはステップ2408でその
資源競合を解消する。順序制約違反操作対のシフト開始
時刻が早い場合にはステップ2409でその順序制約違
反を解消する。上記両ステップのどちらかを終了した後
は、ステップ2410に進み操作変数pにシフトした操
作を格納する。ステップ2411において操作シーケン
スの中でpの前方に発生した資源競合を解消する。次に
ステップ2404の資源競合操作対集合の生成処理を再
び行う。ステップ2412では順序制約式の充足度を判
定し、ステップ2405へ戻る。
の操作シーケンスを独立に初期化する。ステップ240
2では初期解に対して順序制約違反の解消をおこなう。
ステップ2403において全ての操作シーケンスの操作
からガントチャートを構成する。図25に本実施例で使
用するガントチャートのデータ構造を示す。基本要素は
操作データへの参照であり、それらが使用資源ごとにリ
ストを構成する。各リストは操作の開始時刻の順番で常
に整列されている。図24に戻って説明を続ける。ステ
ップ2404では、ガントチャートを利用して資源競合
操作対の集合を作成する。ステップ2405では、各操
作シーケンスの余裕度を計算し、余裕度が負数、すなわ
ち出区時刻をオーバーする編成が一つでも存在する場合
にはフラグOutOverに符号TRUEを、そうではない
場合には符号FALSEを設定する。ステップ2406
では処理の終了判定をおこない、資源競合の数と作業順
序違反の数が共に0であるか、またはフラグOutOver
がTRUEである場合には処理を終了する。処理を終了
しない場合にはステップ2407に進み、シフト開始時
刻が最も早い資源競合操作対と同じく順序制約違反操作
対の間でシフト開始時刻を比較する。資源競合操作対の
シフト開始時刻が早い場合にはステップ2408でその
資源競合を解消する。順序制約違反操作対のシフト開始
時刻が早い場合にはステップ2409でその順序制約違
反を解消する。上記両ステップのどちらかを終了した後
は、ステップ2410に進み操作変数pにシフトした操
作を格納する。ステップ2411において操作シーケン
スの中でpの前方に発生した資源競合を解消する。次に
ステップ2404の資源競合操作対集合の生成処理を再
び行う。ステップ2412では順序制約式の充足度を判
定し、ステップ2405へ戻る。
【0057】以上が解(操作シーケンス)の生成処理の
概要である。次に、詳しい解説が必要と思われる構成ス
テップの詳細を順次説明する。なお以降の説明で使用す
るフローチャートの中で、データの内部要素を参照する
場合には参照記号「.」を用いる場合がある。例えば、
「テンプレートm.最良パターン」と記述した場合は、
テンプレートmの最良パターンを指す。
概要である。次に、詳しい解説が必要と思われる構成ス
テップの詳細を順次説明する。なお以降の説明で使用す
るフローチャートの中で、データの内部要素を参照する
場合には参照記号「.」を用いる場合がある。例えば、
「テンプレートm.最良パターン」と記述した場合は、
テンプレートmの最良パターンを指す。
【0058】まず図24ステップ2401の操作シーケ
ンス初期化処理を説明する。資源競合や作業順序制約の
違反の発生を考慮せずに各操作シーケンスを独立に作成
する場合、最も余裕度が大きい操作手順は、最も操作数
が少ない最良パターンであることは自明である。そこで
本ステップでは、操作シーケンステンプレートの最良パ
ターンの各操作を具体化して初期解を生成する。本ステ
ップの処理の詳細を図26のフローチャートを参照しな
がら説明する。
ンス初期化処理を説明する。資源競合や作業順序制約の
違反の発生を考慮せずに各操作シーケンスを独立に作成
する場合、最も余裕度が大きい操作手順は、最も操作数
が少ない最良パターンであることは自明である。そこで
本ステップでは、操作シーケンステンプレートの最良パ
ターンの各操作を具体化して初期解を生成する。本ステ
ップの処理の詳細を図26のフローチャートを参照しな
がら説明する。
【0059】ステップ2601においてテンプレート番
号mを初期化する。ステップ2602では処理の終了判
定をおこない、テンプレート番号mがテンプレート数を
超えた場合には処理を終了する。処理を終了しない場合
にはステップ2603へ進み、仕事番号wにテンプレー
トmの仕事番号を格納する。ステップ2604では操作
番号nを初期化する。ステップ2605では操作番号n
を用いてループ処理の終了判定をおこなう。操作番号n
がテンプレートmの最良パターンの要素数を超えた場合
には、テンプレートmに対する操作シーケンスの生成が
完了したのでループ処理を終了する。その後はまずステ
ップ2615で、操作シーケンスの最後の操作の終了時
刻が仕事wの終了時刻と等しくなるように操作の割当時
間を調整する。具体的には、操作シーケンスの最後の作
業操作の処理時間を適切な長さまで延ばすことで実現す
る。次にステップ2616で操作シーケンスの余裕度を
計算する。そしてステップ2606でテンプレート番号
mの値を1増やしてステップ2602の処理の終了判定
に戻る。ループ処理を続ける場合にはステップ2607
へ進み、操作種類変数kにテンプレートmの最良パター
ンにおける位置nの値を、資源変数vに資源割当テーブ
ルのテンプレートmの最良パターンにおける位置nの値
をそれぞれ格納する。ステップ2608では新しい操作
データを生成(操作変数opに格納)し、それを操作シ
ーケンスmの第n番目に設定する。ステップ2609で
はopの仕事番号にwを、操作種類にkを、使用資源に
vをそれぞれ設定する。ステップ2610ではopの処
理時間を設定する。操作種類が作業の場合には、仕事デ
ータの作業内容を参照して所要時間を取得し、その値を
処理時間に設定する。それ以外の操作の場合は、あらか
じめ決められた所要時間(例:番線01から番線07へ
の移動は5分)を処理時間に設定する。ステップ261
1では操作種類kが入区であるかどうか判定し、入区の
場合はステップ2612で操作opの開始時刻に仕事w
の開始時刻を設定する。入区ではない場合はステップ2
613でopの開始時刻に操作シーケンスの一つ前の操
作の終了時刻を設定する。一般的な仕事のスケジューリ
ング問題においては、同一操作シーケンス中の隣合う操
作は時間的重なりがなければ開始時刻と終了時刻の関係
に制約がないことが多い。しかしながら、車両入換計画
作成問題においては各操作の処理が連続していなければ
得られた解は実行可能ではないため、このような問題固
有の時刻割当処理が必要となる。以降で説明する操作の
シフト処理においてもこの操作の連続性に関する制約を
遵守する必要があるため、シフト処理を施した場合にシ
フトした操作の後ろに位置する操作のみならず前に存在
する操作も処理時間帯が変化する。それに付随して資源
競合や順序制約違反が新たに発生する可能性があるた
め、車両入換計画作成問題においては一般的な仕事のス
ケジューリング問題よりも実行可能な操作シーケンスの
生成処理が複雑なものとなる。
号mを初期化する。ステップ2602では処理の終了判
定をおこない、テンプレート番号mがテンプレート数を
超えた場合には処理を終了する。処理を終了しない場合
にはステップ2603へ進み、仕事番号wにテンプレー
トmの仕事番号を格納する。ステップ2604では操作
番号nを初期化する。ステップ2605では操作番号n
を用いてループ処理の終了判定をおこなう。操作番号n
がテンプレートmの最良パターンの要素数を超えた場合
には、テンプレートmに対する操作シーケンスの生成が
完了したのでループ処理を終了する。その後はまずステ
ップ2615で、操作シーケンスの最後の操作の終了時
刻が仕事wの終了時刻と等しくなるように操作の割当時
間を調整する。具体的には、操作シーケンスの最後の作
業操作の処理時間を適切な長さまで延ばすことで実現す
る。次にステップ2616で操作シーケンスの余裕度を
計算する。そしてステップ2606でテンプレート番号
mの値を1増やしてステップ2602の処理の終了判定
に戻る。ループ処理を続ける場合にはステップ2607
へ進み、操作種類変数kにテンプレートmの最良パター
ンにおける位置nの値を、資源変数vに資源割当テーブ
ルのテンプレートmの最良パターンにおける位置nの値
をそれぞれ格納する。ステップ2608では新しい操作
データを生成(操作変数opに格納)し、それを操作シ
ーケンスmの第n番目に設定する。ステップ2609で
はopの仕事番号にwを、操作種類にkを、使用資源に
vをそれぞれ設定する。ステップ2610ではopの処
理時間を設定する。操作種類が作業の場合には、仕事デ
ータの作業内容を参照して所要時間を取得し、その値を
処理時間に設定する。それ以外の操作の場合は、あらか
じめ決められた所要時間(例:番線01から番線07へ
の移動は5分)を処理時間に設定する。ステップ261
1では操作種類kが入区であるかどうか判定し、入区の
場合はステップ2612で操作opの開始時刻に仕事w
の開始時刻を設定する。入区ではない場合はステップ2
613でopの開始時刻に操作シーケンスの一つ前の操
作の終了時刻を設定する。一般的な仕事のスケジューリ
ング問題においては、同一操作シーケンス中の隣合う操
作は時間的重なりがなければ開始時刻と終了時刻の関係
に制約がないことが多い。しかしながら、車両入換計画
作成問題においては各操作の処理が連続していなければ
得られた解は実行可能ではないため、このような問題固
有の時刻割当処理が必要となる。以降で説明する操作の
シフト処理においてもこの操作の連続性に関する制約を
遵守する必要があるため、シフト処理を施した場合にシ
フトした操作の後ろに位置する操作のみならず前に存在
する操作も処理時間帯が変化する。それに付随して資源
競合や順序制約違反が新たに発生する可能性があるた
め、車両入換計画作成問題においては一般的な仕事のス
ケジューリング問題よりも実行可能な操作シーケンスの
生成処理が複雑なものとなる。
【0060】図26の説明を続ける。ステップ2612
またはステップ2613のいずれかを終了した後に、ス
テップ2614で操作opの終了時刻を設定する。ここ
までが一回のループ処理であり、ステップ2617で操
作番号nの値を1増やしてループ処理の終了判定ステッ
プ2605へ戻る。
またはステップ2613のいずれかを終了した後に、ス
テップ2614で操作opの終了時刻を設定する。ここ
までが一回のループ処理であり、ステップ2617で操
作番号nの値を1増やしてループ処理の終了判定ステッ
プ2605へ戻る。
【0061】図24ステップ2402の順序制約式違反
解消処理について説明する。順序制約式とは、2つの作
業操作の開始時刻と終了時刻、もしくは定数からなる不
等式・等式のことである。作業操作Aと作業操作Bを用
いて構成される順序制約式の全てを以下に示す。
解消処理について説明する。順序制約式とは、2つの作
業操作の開始時刻と終了時刻、もしくは定数からなる不
等式・等式のことである。作業操作Aと作業操作Bを用
いて構成される順序制約式の全てを以下に示す。
【0062】 1.A.開始時刻 * B.開始時刻 2.A.終了時刻 * B.開始時刻 3.A.開始時刻 * B.終了時刻 4.A.終了時刻 * B.終了時刻 5.A.開始時刻 # 定数 6.A.終了時刻 # 定数 7.B.開始時刻 # 定数 8.B.終了時刻 # 定数 符号*は演算子 < > ≦ ≧ = のいずれかを表
し、符号#は演算子> ≧ = のいずれかを表す。ス
テップ2402では、設定された順序制約式に違反する
操作対を発見し、操作のシフトにより違反の解消を行
う。図27に本実施例で使用する順序制約式のデータ構
造を示す。このデータ構造は、使用する演算子、左辺の
操作、右辺の操作(もしくは定数)に関する情報と制御
用データへの参照からなる。制御用データは順序制約違
反の解消時に用いる情報であり、該順序制約式が違反状
態にあるかどうかを示す違反フラグ、該順序制約式が有
効であるかどうかを示す有効フラグ、左辺と右辺の操作
データへの参照、違反解消時にシフトする操作、シフト
の開始時刻、シフトの幅、シフトの種類からなる。
し、符号#は演算子> ≧ = のいずれかを表す。ス
テップ2402では、設定された順序制約式に違反する
操作対を発見し、操作のシフトにより違反の解消を行
う。図27に本実施例で使用する順序制約式のデータ構
造を示す。このデータ構造は、使用する演算子、左辺の
操作、右辺の操作(もしくは定数)に関する情報と制御
用データへの参照からなる。制御用データは順序制約違
反の解消時に用いる情報であり、該順序制約式が違反状
態にあるかどうかを示す違反フラグ、該順序制約式が有
効であるかどうかを示す有効フラグ、左辺と右辺の操作
データへの参照、違反解消時にシフトする操作、シフト
の開始時刻、シフトの幅、シフトの種類からなる。
【0063】シフトの種類については図28を用いて詳
しく説明する。まずシフト種類Typelは、シフトする操
作の開始時刻が順序制約式に含まれている場合である。
例として順序制約式 「作業操作Aの開始時刻 < 作
業操作Bの開始時刻」を用いる。この順序制約式に違反
した状況では、シフト対象となるのは作業操作Bであ
り、シフト幅wは「Bの開始時刻 − Aの開始時刻」
により計算される。シフトの方法は図のように作業操作
Bの全体をw以上後ろへずらす。これにより順序制約式
の違反が充足される。
しく説明する。まずシフト種類Typelは、シフトする操
作の開始時刻が順序制約式に含まれている場合である。
例として順序制約式 「作業操作Aの開始時刻 < 作
業操作Bの開始時刻」を用いる。この順序制約式に違反
した状況では、シフト対象となるのは作業操作Bであ
り、シフト幅wは「Bの開始時刻 − Aの開始時刻」
により計算される。シフトの方法は図のように作業操作
Bの全体をw以上後ろへずらす。これにより順序制約式
の違反が充足される。
【0064】次にシフト種類Type2は、シフトする操
作の終了時刻が順序制約式に含まれている場合である。
例として順序制約式「作業操作Aの開始時刻 < 作業
操作Bの終了時刻」を用いる。この順序制約式に違反し
た状況では、シフト対象となるのは作業操作Bである。
Type1と同様に作業操作Bの全体を後ろへずらすこと
により順序制約違反を解消できるが、その代わりにBの
終了時刻の延長によっても同じく順序制約違反を解消で
きる。なおかつこの場合には、操作の連続性を保つため
に操作シーケンスのBの前方にある操作に対して割当時
間を変化させる必要がない。そこでこの場合には、「B
の終了時刻 − Aの開始時刻」で計算される幅wだけ
作業操作Bの終了時刻を延長することにより順序制約の
違反を解消する。
作の終了時刻が順序制約式に含まれている場合である。
例として順序制約式「作業操作Aの開始時刻 < 作業
操作Bの終了時刻」を用いる。この順序制約式に違反し
た状況では、シフト対象となるのは作業操作Bである。
Type1と同様に作業操作Bの全体を後ろへずらすこと
により順序制約違反を解消できるが、その代わりにBの
終了時刻の延長によっても同じく順序制約違反を解消で
きる。なおかつこの場合には、操作の連続性を保つため
に操作シーケンスのBの前方にある操作に対して割当時
間を変化させる必要がない。そこでこの場合には、「B
の終了時刻 − Aの開始時刻」で計算される幅wだけ
作業操作Bの終了時刻を延長することにより順序制約の
違反を解消する。
【0065】全ての順序制約式は、式の要素の値を演算
子に従って比較することにより違反、無違反の判定が可
能である。また順序制約式が違反状態の場合には、違反
操作対に対するシフト対象操作、シフト幅、シフト開始
時刻、シフト種類を複雑な処理をせずに一意に決定する
ことができる。
子に従って比較することにより違反、無違反の判定が可
能である。また順序制約式が違反状態の場合には、違反
操作対に対するシフト対象操作、シフト幅、シフト開始
時刻、シフト種類を複雑な処理をせずに一意に決定する
ことができる。
【0066】図29のフローチャートを参照しながら順
序制約式違反解消処理について説明する。まずステップ
2901において、有効フラグがTRUEである順序制
約式に対してその充足度を判定する。違反状態の順序制
約式に対しては、違反操作対に対するシフト対象操作、
シフト幅、シフト開始時刻、シフト種類を決定してそれ
らの値を制御データの各項目に設定する。ステップ29
02では処理の終了判定をおこない、違反状態の順序制
約式の数が0の場合には処理を終了する。処理を終了し
ない場合にはステップ2409に進み、シフト開始時刻
が最も早い順序制約式の違反を解消する。その後は再び
ステップ2901の順序制約式の充足度判定へ戻る。シ
フト開始時刻が最も早い順序制約違反を順次解消してい
くことにより、最終的に順序制約違反のない操作シーケ
ンス集合を生成することができる。
序制約式違反解消処理について説明する。まずステップ
2901において、有効フラグがTRUEである順序制
約式に対してその充足度を判定する。違反状態の順序制
約式に対しては、違反操作対に対するシフト対象操作、
シフト幅、シフト開始時刻、シフト種類を決定してそれ
らの値を制御データの各項目に設定する。ステップ29
02では処理の終了判定をおこない、違反状態の順序制
約式の数が0の場合には処理を終了する。処理を終了し
ない場合にはステップ2409に進み、シフト開始時刻
が最も早い順序制約式の違反を解消する。その後は再び
ステップ2901の順序制約式の充足度判定へ戻る。シ
フト開始時刻が最も早い順序制約違反を順次解消してい
くことにより、最終的に順序制約違反のない操作シーケ
ンス集合を生成することができる。
【0067】図30のフローチャートを用いて最も早い
順序制約違反の解消処理を詳細に説明する。まずステッ
プ3001において制御データ変数datに違反を解消す
る順序制約式の制御データを格納する。ステップ300
2では、操作変数opに制御データdatのシフト対象操
作を、整数変数widthに制御データdatのシフト幅をそ
れぞれ格納する。ステップ3003ではシフト種類の判
定を行う。制御データdatのシフト種類がtypelの場合
には、ステップ3004においてシフト操作op、シフ
ト幅widthで操作のシフトと空き時間帯の調整をおこな
い処理を終了す こない処理を終了する。上記の処理により、図28で説
明した2つのシフト種類のそれぞれに対応した違反解消
処理を実行する。ステップ2904の操作のシフトと空
き時間帯の調整処理の詳細を、図31のフローチャート
を参照しながら説明する。
順序制約違反の解消処理を詳細に説明する。まずステッ
プ3001において制御データ変数datに違反を解消す
る順序制約式の制御データを格納する。ステップ300
2では、操作変数opに制御データdatのシフト対象操
作を、整数変数widthに制御データdatのシフト幅をそ
れぞれ格納する。ステップ3003ではシフト種類の判
定を行う。制御データdatのシフト種類がtypelの場合
には、ステップ3004においてシフト操作op、シフ
ト幅widthで操作のシフトと空き時間帯の調整をおこな
い処理を終了す こない処理を終了する。上記の処理により、図28で説
明した2つのシフト種類のそれぞれに対応した違反解消
処理を実行する。ステップ2904の操作のシフトと空
き時間帯の調整処理の詳細を、図31のフローチャート
を参照しながら説明する。
【0068】ここではシフト操作をop、シフト幅をwi
dthとする。まずステップ3101において操作opをシ
ーケンス中で幅widthだけシフトする。この処理の概要
を図32を用いて説明する。操作3201をシフト対象
の操作とすると、まずこの操作から操作シーケンスを前
にたどって、直前に作業か留置操作がある操作まで戻
る。図32では操作3202がそれに該当する。次に操
作3202以降の部分シーケンスを幅widthだけ後ろへ
ずらす。すなわち、部分シーケンスに含まれる全ての操
作の開始時刻と終了時刻に値widthを加える。操作を前
にたどる処理は、移動操作と引上操作処理時間を一定に
保つために必要とされる。この処理をおこなわないと、
シフト操作後の空き時間帯の調整処理で両者の処理時間
が延長される場合がある。
dthとする。まずステップ3101において操作opをシ
ーケンス中で幅widthだけシフトする。この処理の概要
を図32を用いて説明する。操作3201をシフト対象
の操作とすると、まずこの操作から操作シーケンスを前
にたどって、直前に作業か留置操作がある操作まで戻
る。図32では操作3202がそれに該当する。次に操
作3202以降の部分シーケンスを幅widthだけ後ろへ
ずらす。すなわち、部分シーケンスに含まれる全ての操
作の開始時刻と終了時刻に値widthを加える。操作を前
にたどる処理は、移動操作と引上操作処理時間を一定に
保つために必要とされる。この処理をおこなわないと、
シフト操作後の空き時間帯の調整処理で両者の処理時間
が延長される場合がある。
【0069】上記の処理により出区時刻が予定時刻を超
過する。そこで出区操作が予定時刻に間に合うように、
できるだけ出区直前の作業操作か留置操作の処理時間を
短縮する。短縮の限度は、作業操作の場合は作業の所要
時間、留置操作の場合は留置番線の在線最小時間であ
る。限度を超えても予定時刻をオーバーする場合にはそ
こで短縮処理を打ち切る。
過する。そこで出区操作が予定時刻に間に合うように、
できるだけ出区直前の作業操作か留置操作の処理時間を
短縮する。短縮の限度は、作業操作の場合は作業の所要
時間、留置操作の場合は留置番線の在線最小時間であ
る。限度を超えても予定時刻をオーバーする場合にはそ
こで短縮処理を打ち切る。
【0070】以上が操作のシフト処理の概要である。こ
の処理により、後ろにずれた部分シーケンスの先頭操作
とその直前の操作の間に空き時間が生じる。実行可能な
車両入換計画を生成するためには操作の連続性に関する
制約を遵守する必要があるため、この空き時間をなんら
かの方法で埋める処理が必要となる。その方法として以
下の2つが考えられる。(1)直前の操作の終了時刻を
延長する。図32の場合は操作3204の終了時刻を延
長して直後の操作の開始時刻と等しくする。(2)留置
番線への転線操作系列を挿入する。ただし、作業の合間
の留置番線への在線は高々1回であるとの制限があるた
め、既に留置番線への転線操作系列が挿入されている場
合にはこの手法は使えない。
の処理により、後ろにずれた部分シーケンスの先頭操作
とその直前の操作の間に空き時間が生じる。実行可能な
車両入換計画を生成するためには操作の連続性に関する
制約を遵守する必要があるため、この空き時間をなんら
かの方法で埋める処理が必要となる。その方法として以
下の2つが考えられる。(1)直前の操作の終了時刻を
延長する。図32の場合は操作3204の終了時刻を延
長して直後の操作の開始時刻と等しくする。(2)留置
番線への転線操作系列を挿入する。ただし、作業の合間
の留置番線への在線は高々1回であるとの制限があるた
め、既に留置番線への転線操作系列が挿入されている場
合にはこの手法は使えない。
【0071】(1)に関してはその処理内容は自明であ
る。(2)の留置番線への転線操作系列の挿入処理につ
いては、その概要を図33を用いて説明する。まず空き
時間帯の前後の作業操作の間にある移動操作と引上操作
(図33では部分操作系列3301)を全て削除する。
次に該操作シーケンスの雛型となった操作シーケンステ
ンプレートと資源割当テーブルから最悪パターンを取り
出す。それぞれの最悪パターンから空き時間帯に対応す
る部分パターンを取り出す。この部分パターンが留置番
線への在線操作系列となっている。図33では部分パタ
ーン3302と部分パターン3303がそれに該当す
る。これらの部分パターンから部分操作シーケンスを具
体化して空き時間帯に挿入する。
る。(2)の留置番線への転線操作系列の挿入処理につ
いては、その概要を図33を用いて説明する。まず空き
時間帯の前後の作業操作の間にある移動操作と引上操作
(図33では部分操作系列3301)を全て削除する。
次に該操作シーケンスの雛型となった操作シーケンステ
ンプレートと資源割当テーブルから最悪パターンを取り
出す。それぞれの最悪パターンから空き時間帯に対応す
る部分パターンを取り出す。この部分パターンが留置番
線への在線操作系列となっている。図33では部分パタ
ーン3302と部分パターン3303がそれに該当す
る。これらの部分パターンから部分操作シーケンスを具
体化して空き時間帯に挿入する。
【0072】留置番線への転線操作系列の挿入処理は、
仕事の操作手順の変更処理とみなすことができる。以降
で詳しく説明するが、この処理を適切におこなうことに
より順序制約違反と資源競合の新たな発生を防止するこ
とが可能となる。
仕事の操作手順の変更処理とみなすことができる。以降
で詳しく説明するが、この処理を適切におこなうことに
より順序制約違反と資源競合の新たな発生を防止するこ
とが可能となる。
【0073】空き時間帯の調整に手法(1)を適用した
場合には、操作手順か変化することがないため余分な転
線の発生を極力抑えることが可能である。しかしなが
ら、これにより処理時間が延長された作業操作または留
置操作が資源競合を起こす可能性が高い。さらに、作業
操作については順序制約違反の発生の可能性もある。こ
れに対して手法(2)を適用した場合は、転線回数が増
えるデメリットがあるが、直前の操作の割当時間は変化
しないためそれに対する資源競合や順序制約違反が新た
に発生することはない。また以降で詳しく述べるが、本
実施例における資源競合の解消ステップは留置操作を解
消の対象としないため、留置番線への転線操作系列を挿
入しても新たに資源競合を起こす可能性がある操作は、
挿入された移動操作と引上操作だけである。これらの操
作は処理時間が一定でなおかつ非常に短いため、競合が
発生する頻度は作業操作や留置操作の終了時刻を延長し
た場合と比べると極めて少ない。空き時間帯の2つの手
法の使い分けは、図31に戻り操作のシフトと空き時間
帯の調整処理を説明する中で明らかにする。
場合には、操作手順か変化することがないため余分な転
線の発生を極力抑えることが可能である。しかしなが
ら、これにより処理時間が延長された作業操作または留
置操作が資源競合を起こす可能性が高い。さらに、作業
操作については順序制約違反の発生の可能性もある。こ
れに対して手法(2)を適用した場合は、転線回数が増
えるデメリットがあるが、直前の操作の割当時間は変化
しないためそれに対する資源競合や順序制約違反が新た
に発生することはない。また以降で詳しく述べるが、本
実施例における資源競合の解消ステップは留置操作を解
消の対象としないため、留置番線への転線操作系列を挿
入しても新たに資源競合を起こす可能性がある操作は、
挿入された移動操作と引上操作だけである。これらの操
作は処理時間が一定でなおかつ非常に短いため、競合が
発生する頻度は作業操作や留置操作の終了時刻を延長し
た場合と比べると極めて少ない。空き時間帯の2つの手
法の使い分けは、図31に戻り操作のシフトと空き時間
帯の調整処理を説明する中で明らかにする。
【0074】ステップ3101を終了した後はステップ
3102へ進み、空き時間帯の調整処理(1)をおこな
う。次にステップ3103でシフトした操作opの種類
判定をおこない、opが作業操作ではない場合には処理
を終了する。これはすなわち、移動操作や引上操作がシ
フト対象の場合には直前に留置番線への転線操作系列を
挿入することはないということを意味する。opが作業
操作の場合にはステップ3105においてopの直前に
資源競合(留置操作を除く)もしくは順序制約違反が新
たに発生したかどうか判定する。発生していなければ処
理を終了する。発生している場合はステップ3106で
延長した処理時間を元に戻し、ステップ3107で空き
時間帯の調整処理(2)をおこない処理を終了する。
3102へ進み、空き時間帯の調整処理(1)をおこな
う。次にステップ3103でシフトした操作opの種類
判定をおこない、opが作業操作ではない場合には処理
を終了する。これはすなわち、移動操作や引上操作がシ
フト対象の場合には直前に留置番線への転線操作系列を
挿入することはないということを意味する。opが作業
操作の場合にはステップ3105においてopの直前に
資源競合(留置操作を除く)もしくは順序制約違反が新
たに発生したかどうか判定する。発生していなければ処
理を終了する。発生している場合はステップ3106で
延長した処理時間を元に戻し、ステップ3107で空き
時間帯の調整処理(2)をおこない処理を終了する。
【0075】図24に戻り解(操作シーケンス)の生成
処理における主要な構成ステップの説明を続ける。次は
ステップ2404の資源競合操作対集合の生成処理につ
いて説明する。まず本実施例で用いる資源競合操作対の
データ構造を図34に示す。
処理における主要な構成ステップの説明を続ける。次は
ステップ2404の資源競合操作対集合の生成処理につ
いて説明する。まず本実施例で用いる資源競合操作対の
データ構造を図34に示す。
【0076】各資源競合操作対は他と区別するための相
異なる操作対番号が与えられる。データの内容は、操作
対を構成する2個の操作データへの参照、競合解消時に
シフト処理によりつけられる操作間の順序、シフト開始
時刻、シフト幅からなる。操作間順序が1→2の場合
は、競合解消時に操作2を後ろへシフトすることを意味
し、逆に操作間順序が2→1の場合は操作1を後ろへシ
フトすることを意味する。シフト開始時刻とシフト幅
は、操作間に付けられる順序に従って決定される。
異なる操作対番号が与えられる。データの内容は、操作
対を構成する2個の操作データへの参照、競合解消時に
シフト処理によりつけられる操作間の順序、シフト開始
時刻、シフト幅からなる。操作間順序が1→2の場合
は、競合解消時に操作2を後ろへシフトすることを意味
し、逆に操作間順序が2→1の場合は操作1を後ろへシ
フトすることを意味する。シフト開始時刻とシフト幅
は、操作間に付けられる順序に従って決定される。
【0077】次に図35のフローチャートを参照しなが
ら資源競合操作対集合の生成処理の詳細を説明する。ス
テップ3501で資源変数mを初期化する。ステップ3
502は処理の終了判定をおこない、資源変数mが資源
総数を超えた場合には処理を終了する。処理を終了しな
い場合にはステップ3503に進み、ガントチャートを
利用して資源mを使用する全ての操作対を取り出し部分
処理3504を施す。この処理の詳細は、まずステップ
3505において操作対のそれぞれの操作の種類を判定
する。どちらかの操作の種類が留置の場合には部分処理
を終了する。どちらの種類も留置ではない場合はステッ
プ3506へ進み、操作対を構成する操作op1と操作
op2が時間的重なりがあるかどうかを判定する。時間
的重なりがなければ部分処理を終了する。時間的重なり
がある場合には、ステップ3507において操作対(o
p1,op2)から資源競合操作対集合を作成する。そ
の後ステップ3508で資源競合操作対を集合に加えて
部分処理を終了する。全ての操作対に対して部分処理3
504を施した後は、ステップ3509で資源変数の値
を1増やして終了判定ステップ3502へ戻る。ステッ
プ3507の資源競合操作対集合の作成処理について詳
細に説明する。資源競合は、操作対のどちらの操作に対
しても適切な幅だけ後ろへシフトすることにより解消可
能である。したがって、操作対に2通りの順序のどちら
をつけることも可能であるが、本実施例では以下に示す
基本方針のもとで操作対に順序を付ける。(1)新たな
順序制約違反が発生しない操作を付ける。(2)どちら
の順序でも順序制約違反が発生しなければ、シフト処理
を施した場合に前方に留置番線への転線操作系列を挿入
しなくても済む(すなわち既に挿入済みであるか、直前
の操作の終了時刻を延長しても資源競合と順序制約違反
がおこらない)方の操作をシフトする順序をつける。
(3)どちらの順序でも順序制約違反が発生する場合は
余裕度の大きい操作をシフトする順序をつける。この場
合はどちらの順序のもとでシフト処理を施しても明らか
に順序制約違反が発生する。(4)どちらの順序でも留
置番線への転線操作系列を挿入しなくても済む、または
どちらの順序でも留置番線への転線操作系列の挿入が必
要となる場合は、余裕度の大きい操作をシフトする順序
をつける。この基本的方針のもとで競合操作対に順序づ
けをおこなって資源競合を解消すれば、各操作シーケン
スの余裕度が均等でなおかつ順序制約を極力充足する実
行可能解の生成を期待できる。
ら資源競合操作対集合の生成処理の詳細を説明する。ス
テップ3501で資源変数mを初期化する。ステップ3
502は処理の終了判定をおこない、資源変数mが資源
総数を超えた場合には処理を終了する。処理を終了しな
い場合にはステップ3503に進み、ガントチャートを
利用して資源mを使用する全ての操作対を取り出し部分
処理3504を施す。この処理の詳細は、まずステップ
3505において操作対のそれぞれの操作の種類を判定
する。どちらかの操作の種類が留置の場合には部分処理
を終了する。どちらの種類も留置ではない場合はステッ
プ3506へ進み、操作対を構成する操作op1と操作
op2が時間的重なりがあるかどうかを判定する。時間
的重なりがなければ部分処理を終了する。時間的重なり
がある場合には、ステップ3507において操作対(o
p1,op2)から資源競合操作対集合を作成する。そ
の後ステップ3508で資源競合操作対を集合に加えて
部分処理を終了する。全ての操作対に対して部分処理3
504を施した後は、ステップ3509で資源変数の値
を1増やして終了判定ステップ3502へ戻る。ステッ
プ3507の資源競合操作対集合の作成処理について詳
細に説明する。資源競合は、操作対のどちらの操作に対
しても適切な幅だけ後ろへシフトすることにより解消可
能である。したがって、操作対に2通りの順序のどちら
をつけることも可能であるが、本実施例では以下に示す
基本方針のもとで操作対に順序を付ける。(1)新たな
順序制約違反が発生しない操作を付ける。(2)どちら
の順序でも順序制約違反が発生しなければ、シフト処理
を施した場合に前方に留置番線への転線操作系列を挿入
しなくても済む(すなわち既に挿入済みであるか、直前
の操作の終了時刻を延長しても資源競合と順序制約違反
がおこらない)方の操作をシフトする順序をつける。
(3)どちらの順序でも順序制約違反が発生する場合は
余裕度の大きい操作をシフトする順序をつける。この場
合はどちらの順序のもとでシフト処理を施しても明らか
に順序制約違反が発生する。(4)どちらの順序でも留
置番線への転線操作系列を挿入しなくても済む、または
どちらの順序でも留置番線への転線操作系列の挿入が必
要となる場合は、余裕度の大きい操作をシフトする順序
をつける。この基本的方針のもとで競合操作対に順序づ
けをおこなって資源競合を解消すれば、各操作シーケン
スの余裕度が均等でなおかつ順序制約を極力充足する実
行可能解の生成を期待できる。
【0078】基本方針を具体化した処理の詳細を、図3
6のフローチャートを参照しながら説明する。まずステ
ップ3601において資源競合操作対変数pairに新し
い資源競合操作対を生成して格納する。ステップ360
2では生成対象の操作対(op1,op2)に対して、o
p1をシフトした場合とop2をシフトした場合のシフト
幅をそれぞれ算出する。ステップ3603ではop1か
op2のどちらかが入区または出区操作かどうかの判定
をおこなう。どちらかが入区または出区操作の場合はス
テップ3604へ進み入区または出区操作ではない方の
操作をシフトする順序をpair.順序に設定する。その
後はpairに他の値を適切に設定して処理を終了する。
どちらも入区または出区操作ではない場合は、ステップ
3605でop1とop2が共に作業操作であるかどうか
の判定をおこなう。少なくともどちらかが作業操作では
ない場合は、ステップ3610に進む。共に作業操作の
場合はステップ3606に進み、op1とop2のどちら
もシフトすることによりop1とop2の間の順序制約違
反を新たに生じるかどうか判定する。どちらも新たに発
生しなければステップ3610へ進む。どちらか少なく
とも一方が新たに順序制約式違反を発生する場合にはス
テップ3607でどちらをシフトしてもop1とop2の
間に順序制約式違反を生じるかどうか判定する。どちら
も生じる場合はステップ3608で余裕度が大きい操作
をシフトする順序をpair.順序に設定する。どちらか
片方のみが順序制約違反を生じる場合はステップ360
9へ進み、順序制約違反を生じないシフトをおこなう順
序をpair.順序に設定する。ステップ3608または
ステップ3609の終了後は、共にpairに他の値を適
切に設定して処理を終了する。ステップ3610では、
op1とop2のどちらかだけが、シフト後に直前の作業
または留置操作の処理時間をシフト幅だけ延長すると資
源競合か順序制約違反を新たに生じるかどうか判定す
る。これが真の場合はステップ3611で競合と違反が
生じないシフトをおこなう順序をpair.順序に設定す
る。偽の場合は余裕度が大きい操作をシフトする順序を
pair.順序に設定する。ステップ3611またはステ
ップ3612の終了後は、共にpairに他の値を適切に
設定して処理を終了する。
6のフローチャートを参照しながら説明する。まずステ
ップ3601において資源競合操作対変数pairに新し
い資源競合操作対を生成して格納する。ステップ360
2では生成対象の操作対(op1,op2)に対して、o
p1をシフトした場合とop2をシフトした場合のシフト
幅をそれぞれ算出する。ステップ3603ではop1か
op2のどちらかが入区または出区操作かどうかの判定
をおこなう。どちらかが入区または出区操作の場合はス
テップ3604へ進み入区または出区操作ではない方の
操作をシフトする順序をpair.順序に設定する。その
後はpairに他の値を適切に設定して処理を終了する。
どちらも入区または出区操作ではない場合は、ステップ
3605でop1とop2が共に作業操作であるかどうか
の判定をおこなう。少なくともどちらかが作業操作では
ない場合は、ステップ3610に進む。共に作業操作の
場合はステップ3606に進み、op1とop2のどちら
もシフトすることによりop1とop2の間の順序制約違
反を新たに生じるかどうか判定する。どちらも新たに発
生しなければステップ3610へ進む。どちらか少なく
とも一方が新たに順序制約式違反を発生する場合にはス
テップ3607でどちらをシフトしてもop1とop2の
間に順序制約式違反を生じるかどうか判定する。どちら
も生じる場合はステップ3608で余裕度が大きい操作
をシフトする順序をpair.順序に設定する。どちらか
片方のみが順序制約違反を生じる場合はステップ360
9へ進み、順序制約違反を生じないシフトをおこなう順
序をpair.順序に設定する。ステップ3608または
ステップ3609の終了後は、共にpairに他の値を適
切に設定して処理を終了する。ステップ3610では、
op1とop2のどちらかだけが、シフト後に直前の作業
または留置操作の処理時間をシフト幅だけ延長すると資
源競合か順序制約違反を新たに生じるかどうか判定す
る。これが真の場合はステップ3611で競合と違反が
生じないシフトをおこなう順序をpair.順序に設定す
る。偽の場合は余裕度が大きい操作をシフトする順序を
pair.順序に設定する。ステップ3611またはステ
ップ3612の終了後は、共にpairに他の値を適切に
設定して処理を終了する。
【0079】図24に戻り解(操作シーケンス)の生成
処理における主要な構成ステップの説明を続ける。ステ
ップ2408の最も早い資源競合の解消処理について、
図37のフローチャートを参照しながら説明する。
処理における主要な構成ステップの説明を続ける。ステ
ップ2408の最も早い資源競合の解消処理について、
図37のフローチャートを参照しながら説明する。
【0080】まずステップ3701において資源競合操
作対変数pairにシフト開始時刻が最も早い資源競合操
作対を格納する。次にステップ3702で操作変数op
にシフト対象操作を、操作変数keepに固定する操作
を、整数変数widthにシフト幅をそれぞれpairから取
り出して格納する。ステップ3703ではkeepが操作
シーケンスの中の最後の作業操作であり、なおかつその
後ろに留置番線への転線操作系列が挿入されていないか
どうかを判定する。これが真の場合はkeepは出区前の
待機を兼ねた作業操作であるため、処理時間を大幅に短
縮することが可能である。よってステップ3704でk
eepの処理時間を最大限縮め、ステップ3705でkeep
の後ろに留置番線への転線操作系列を挿入して処理を終
了する。挿入の方法は図31ステップ3107と同様で
ある。判定が偽の場合は図30の順序制約違反の解消処
理で説明したステップ3004の操作のシフトと空き時
間帯の調整処理を、シフト操作op、シフト幅widthと
して実行して処理を終了する。 図24に戻り解(操作
シーケンス)の生成処理における主要な構成ステップの
説明を続ける。ステップ2409の最も早い順序制約式
の違反解消処理については図29の順序制約式違反解消
処理の説明で述べた。ステップ2411のシフト操作の
前方に生じた資源競合の解消処理について図38のフロ
ーチャートを参照しながら説明する。
作対変数pairにシフト開始時刻が最も早い資源競合操
作対を格納する。次にステップ3702で操作変数op
にシフト対象操作を、操作変数keepに固定する操作
を、整数変数widthにシフト幅をそれぞれpairから取
り出して格納する。ステップ3703ではkeepが操作
シーケンスの中の最後の作業操作であり、なおかつその
後ろに留置番線への転線操作系列が挿入されていないか
どうかを判定する。これが真の場合はkeepは出区前の
待機を兼ねた作業操作であるため、処理時間を大幅に短
縮することが可能である。よってステップ3704でk
eepの処理時間を最大限縮め、ステップ3705でkeep
の後ろに留置番線への転線操作系列を挿入して処理を終
了する。挿入の方法は図31ステップ3107と同様で
ある。判定が偽の場合は図30の順序制約違反の解消処
理で説明したステップ3004の操作のシフトと空き時
間帯の調整処理を、シフト操作op、シフト幅widthと
して実行して処理を終了する。 図24に戻り解(操作
シーケンス)の生成処理における主要な構成ステップの
説明を続ける。ステップ2409の最も早い順序制約式
の違反解消処理については図29の順序制約式違反解消
処理の説明で述べた。ステップ2411のシフト操作の
前方に生じた資源競合の解消処理について図38のフロ
ーチャートを参照しながら説明する。
【0081】まずステップ3801において、シフトし
た操作pの前方にある全ての操作に関する資源競合操作
対の集合を生成する。本ステップの詳細を図39のフロ
ーチャートを参照しながら説明する。
た操作pの前方にある全ての操作に関する資源競合操作
対の集合を生成する。本ステップの詳細を図39のフロ
ーチャートを参照しながら説明する。
【0082】まずステップ3901において、操作変数
tmpにpを含む操作シーケンスの先頭操作を格納する。
次にステップ3902では処理の終了判定をおこない、
tmpとpが同一操作の場合は処理を終了する。処理を終
了しない場合にはステップ3903に進みtmpの種類が
留置であるかどうか判定する。tmpの種類が留置の場合
にはステップ3909でtmpに操作シーケンス中のtmp
の次の操作を格納し、ステップ3902の終了判定処理
に戻る。tmpの種類が留置ではない場合にはステップ3
904に進み、ガントチャートを利用してtmpと同じ資
源を使用する全ての操作に対して部分処理3905を施
す。部分処理はまずステップ3906でtmpと該操作の
間に時間的重なりがあるかどうかを判定する。時間的重
なりがない場合は部分処理を終了する。時間的重なりが
ある場合はステップ3907でtmpをシフトする順序で
資源競合操作対集合を生成する。ステップ3908にお
いて資源競合操作対を集合に加えて部分処理を終了す
る。部分処理を終了した後は、ステップ3909でtmp
に操作シーケンス中のtmpの次の操作を格納し、ステッ
プ3902の終了判定処理に戻る。
tmpにpを含む操作シーケンスの先頭操作を格納する。
次にステップ3902では処理の終了判定をおこない、
tmpとpが同一操作の場合は処理を終了する。処理を終
了しない場合にはステップ3903に進みtmpの種類が
留置であるかどうか判定する。tmpの種類が留置の場合
にはステップ3909でtmpに操作シーケンス中のtmp
の次の操作を格納し、ステップ3902の終了判定処理
に戻る。tmpの種類が留置ではない場合にはステップ3
904に進み、ガントチャートを利用してtmpと同じ資
源を使用する全ての操作に対して部分処理3905を施
す。部分処理はまずステップ3906でtmpと該操作の
間に時間的重なりがあるかどうかを判定する。時間的重
なりがない場合は部分処理を終了する。時間的重なりが
ある場合はステップ3907でtmpをシフトする順序で
資源競合操作対集合を生成する。ステップ3908にお
いて資源競合操作対を集合に加えて部分処理を終了す
る。部分処理を終了した後は、ステップ3909でtmp
に操作シーケンス中のtmpの次の操作を格納し、ステッ
プ3902の終了判定処理に戻る。
【0083】図38に戻ってシフトした操作の前方に生
じた資源競合の解消処理の説明を続ける。ステップ38
01を終了した後にステップ3802に進み、処理の終
了判定をおこなう。資源競合操作対集合の数が0の場合
は処理を終了する。集合の数が0でない場合にはステッ
プ2409の最も早い資源競合の解消処理をおこなう。
その後はステップ3801へ戻る。以上で図16の解探
索処理における解(操作シーケンス)の生成処理の詳細
説明を終える。次に解探索処理における解の評価ステッ
プについて説明する。本ステップでは、生成した解があ
らかじめ設定した解の評価項目をどの程度充足している
かをチェックして、項目の違反件数と違反内容に応じた
ペナルティから減点法で評価値を与える。本実施例で用
いる解評価項目の例を図40に示す。この解評価項目に
対する項目の削除・追加や、違反時のペナルティの調整
は容易にできる。図41のフローチャートを参照しなが
ら解の評価処理の詳細を説明する。
じた資源競合の解消処理の説明を続ける。ステップ38
01を終了した後にステップ3802に進み、処理の終
了判定をおこなう。資源競合操作対集合の数が0の場合
は処理を終了する。集合の数が0でない場合にはステッ
プ2409の最も早い資源競合の解消処理をおこなう。
その後はステップ3801へ戻る。以上で図16の解探
索処理における解(操作シーケンス)の生成処理の詳細
説明を終える。次に解探索処理における解の評価ステッ
プについて説明する。本ステップでは、生成した解があ
らかじめ設定した解の評価項目をどの程度充足している
かをチェックして、項目の違反件数と違反内容に応じた
ペナルティから減点法で評価値を与える。本実施例で用
いる解評価項目の例を図40に示す。この解評価項目に
対する項目の削除・追加や、違反時のペナルティの調整
は容易にできる。図41のフローチャートを参照しなが
ら解の評価処理の詳細を説明する。
【0084】まずステップ4101において項目番号m
を初期化する。ステップ4102では処理の終了判定を
おこない、項目番号mが解の評価項目数を超えた場合に
は処理を終了する。処理を終了しない場合にはステップ
4103に進み、得点pに規定の最高得点を格納する。
ステップ4104では評価項目mに対する解の充足度を
判定し、項目に違反した件数を記憶しておく。ステップ
4105において得点pから式、「違反件数×評価項目
mのペナルティ」により算出した得点を引く。ステップ
4106で項目番号mの値を1増やして終了判定ステッ
プ4102へ戻る。
を初期化する。ステップ4102では処理の終了判定を
おこない、項目番号mが解の評価項目数を超えた場合に
は処理を終了する。処理を終了しない場合にはステップ
4103に進み、得点pに規定の最高得点を格納する。
ステップ4104では評価項目mに対する解の充足度を
判定し、項目に違反した件数を記憶しておく。ステップ
4105において得点pから式、「違反件数×評価項目
mのペナルティ」により算出した得点を引く。ステップ
4106で項目番号mの値を1増やして終了判定ステッ
プ4102へ戻る。
【0085】以上で図16の解探索処理の詳細説明を終
える。本発明の基本構成(図1)に示されるデータと処
理と装置の本実施例における具体化についての説明を続
ける。図1の解0113は、図16のフローチャートに
基づいて説明した解探索処理で得られる全ての仕事(編
成)に対する操作シーケンスである。そのデータ構造は
図9で示した。
える。本発明の基本構成(図1)に示されるデータと処
理と装置の本実施例における具体化についての説明を続
ける。図1の解0113は、図16のフローチャートに
基づいて説明した解探索処理で得られる全ての仕事(編
成)に対する操作シーケンスである。そのデータ構造は
図9で示した。
【0086】本実施例では、図1ステップ0114にお
ける解の表示とオペレータの操作処理において、解を表
示装置0116に表示し、入力装置0115からオペレ
ータによる操作を受け付ける。オペレータは、図7の仕
事データ、図13の資源属性テーブル、図14の接続判
定テーブル、図15の解探索パラメータ、図27の順序
制約式、図40の解評価項目を表示装置に出力させてそ
れらを編集し、編集されたデータを用いて図16の解探
索処理の実行を再び指示することができる。オペレータ
によって承認を受けた解は、正式な車両入換計画として
登録され、実務フォーマットに変換された上でプリンタ
0117から出力される。
ける解の表示とオペレータの操作処理において、解を表
示装置0116に表示し、入力装置0115からオペレ
ータによる操作を受け付ける。オペレータは、図7の仕
事データ、図13の資源属性テーブル、図14の接続判
定テーブル、図15の解探索パラメータ、図27の順序
制約式、図40の解評価項目を表示装置に出力させてそ
れらを編集し、編集されたデータを用いて図16の解探
索処理の実行を再び指示することができる。オペレータ
によって承認を受けた解は、正式な車両入換計画として
登録され、実務フォーマットに変換された上でプリンタ
0117から出力される。
【0087】
【図1】本発明の基本構成である。
【図2】操作手順に関する制約の説明図である。
【図3】ガントチャートの例である。
【図4】車両入換計画表の例である。
【図5】車両基地レイアウトの例である。
【図6】車両入換ダイヤの例である。
【図7】本実施例における仕事データのデータ構造であ
る。
る。
【図8】本実施例における操作データのデータ構造であ
る。
る。
【図9】本実施例における操作シーケンスのデータ構造
である。
である。
【図10】本実施例における操作手順に関する制約の説
明図である。
明図である。
【図11】操作シーケンステンプレートのデータ構造で
ある。
ある。
【図12】操作シーケンステンプレート生成処理フロー
である。
である。
【図13】資源属性テーブルのデータ構造である。
【図14】接続判定テーブルのデータ構造である。
【図15】本実施例における解探索パラメータの説明図
である。
である。
【図16】本実施例における解探索処理フローである。
【図17】資源割当テーブルのデータ構造である。
【図18】資源割当テーブルの初期化処理フローであ
る。
る。
【図19】操作シーケンステンプレートの最悪パターン
に資源を割り当てる処理のフローである。
に資源を割り当てる処理のフローである。
【図20】子染色体の生成処理フローである。
【図21】親染色体から子染色体の操作シーケンステン
プレートの最悪経路を生成する処理のフローである。
プレートの最悪経路を生成する処理のフローである。
【図22】突然変異処理フローである。
【図23】操作シーケンステンプレートの最悪経路に対
する突然変異処理フローである。
する突然変異処理フローである。
【図24】操作シーケンスの生成処理フローである。
【図25】本実施例におけるガントチャートのデータ構
造である。
造である。
【図26】操作シーケンスの初期化処理フローである。
【図27】本実施例における順序制約式のデータ構造で
ある。
ある。
【図28】順序制約違反操作対の説明図である。
【図29】順序制約違反の解消処理フローである。
【図30】最も早い順序制約違反の解消処理フローであ
る。
る。
【図31】操作のシフトと空き時間帯の調整処理であ
る。
る。
【図32】操作のシフト処理の説明図である。
【図33】留置番線への転線操作系列の挿入処理の説明
図である。
図である。
【図34】資源競合操作対のデータ構造である。
【図35】資源競合操作対集合生成処理フローである。
【図36】資源競合操作対生成処理フローである。
【図37】最も早い資源競合の解消処理フローである。
【図38】ある操作の前方に生じた資源競合の解消処理
フローである。
フローである。
【図39】ある操作の前方の全ての処理に関する資源競
合操作対の生成処理フローである。
合操作対の生成処理フローである。
【図40】本実施例における解評価項目の説明図であ
る。
る。
【図41】解の評価処理フローである。
0101…仕事データ、0102…資源に関する制約、
0103…操作手順に関する制約の生成、0104…操
作手順に関する制約、0105…解探索処理、0106
…資源割当の確率的調整、0107…資源競合の解消、
0108…解候補の評価、0109…評価値の
フィードバック、0111…作業の順序に関する制約、
0112…解評価項目、0113…解、0114…解の
表示とオペレータの操作、0115…入力装置、011
6…表示装置、 0117…プリンタ。
0103…操作手順に関する制約の生成、0104…操
作手順に関する制約、0105…解探索処理、0106
…資源割当の確率的調整、0107…資源競合の解消、
0108…解候補の評価、0109…評価値の
フィードバック、0111…作業の順序に関する制約、
0112…解評価項目、0113…解、0114…解の
表示とオペレータの操作、0115…入力装置、011
6…表示装置、 0117…プリンタ。
Claims (16)
- 【請求項1】操作集合Oは、必須操作集合Wと補助操作
集合VからO≡W∪Vと構成される順序関係≦を持つ半
順序集合で、要素opは資源集合Rの要素である資源r
と時刻集合Tの要素である開始時刻stと時刻集合Tの
要素である終了時刻ftを属性として持ち、仕事Ji(i
=1,2,・・・)は、Ji⊂Wである全順序部分集合
で、全ての要素の属性が未割当で、J1∩J2∩・・・=
φであり、仕事JiのスケジュールSiは、Ji⊂Si⊂O
である全順序部分集合で、全ての要素の属性が割当済み
で、S1∩S2∩・・・=φであり、与えられた全ての仕
事のスケジュールSall≡S1∪S2∪・・・を作成する
情報処理装置を利用するスケジューリング方法であっ
て、 (1)入力された仕事データから、各仕事が使用可能な
操作と操作間の順序を示す操作手順に関する制約を、操
作を節点とする有向ネットワークとして生成するステッ
プと、(2)操作の資源割当の組合せを確率的に調整す
るステップと、(3)操作の必要資源の時間的競合を解
消して全ての仕事のスケジュールの解候補を作成するス
テップと、(4)ステップ(3)の実行により得られた
解候補を評価して評価値を算出するステップと、(5)
ステップ(4)の実行により得られた評価値を上記の資
源割当の確率的調整ステップにフィードバックするステ
ップと、(6)解候補の最適解探索処理を上記のステッ
プ(2)〜(5)をを繰り返すことにより行なうステッ
プと、(7)最適化の結果得られた全ての仕事のスケジ
ュールを表す解を表示してオペレータが編集するステッ
プとを有することを特徴とするスケジューリング方法。 - 【請求項2】請求項1において、ステップ(2)は、前
記操作手順に関する制約の各節点の資源の割当状況を全
ての仕事について示す染色体を、資源の属性と資源間の
関係を示す資源に関する制約を充足させつつ解探索パラ
メータに設定された個数作成することを特徴とする請求
項1項記載のスケジューリング方法。 - 【請求項3】請求項1において、ステップ(2)は、染
色体に与えられた評価値に基づいて、染色体に少なくと
も自然淘汰処理、交叉処理、突然変異処理を含む遺伝的
操作を施して、操作手順に関する制約の各節点の資源の
割当状況が異なる新たな染色体データを作成することを
特徴とする請求項1項記載のスケジューリング方法。 - 【請求項4】請求項3において、前記交叉処理は、ラン
ダムに選択された2個の染色体の同一節点の資源の割当
状況からどちらか一方を選択して新しい染色体の同一節
点に設定することを特徴とする請求項1項記載のスケジ
ューリング方法。 - 【請求項5】請求項4において、ランダムに選択された
2個の染色体の同一節点の資源の割当状況からどちらか
一方を選択する際には、資源に関する制約を充足する資
源の割当状況を選択し、どちらも資源に関する制約を充
足する場合には、評価値の高い染色体データの資源の割
当状況を継承する可能性が、その評価値の相対的な高さ
の程度を反映するように動的に決定された確率に従って
選択をおこなうことを特徴とする請求項1項記載のスケ
ジューリング方法。 - 【請求項6】請求項3において、前記突然変異処理は、
染色体の一部の節点の資源の割当状況を、資源に関する
制約に違反しない限りにおいて確率的に変更することを
特徴とする請求項1項記載のスケジューリング方法。 - 【請求項7】請求項1において、ステップ(3)は、
(a)各仕事に対して操作手順と、各操作の使用資源
と、各操作の処理時間を示す操作シーケンスを作成し、
全ての操作シーケンスについて作業の順序に関する制約
の充足処理を施して各仕事のスケジュールとする各仕事
のスケジュールの初期化サブステップと、(b)(a)
の実行により得られた全ての仕事のスケジュールの解候
補から、使用資源の時間的競合を起こす操作対を選択し
て資源競合を解消するサブステップを有することを特徴
とする請求項1項記載のスケジューリング方法。 - 【請求項8】請求項7において、サブステップ(a)
は、各仕事の操作手順を操作手順に関する制約から選択
し、各操作の使用資源を染色体から得た資源の割当状況
に基づき割り当てることを特徴とする請求項1項記載の
スケジューリング方法。 - 【請求項9】請求項7において、サブステップ(a)
は、作業操作の開始時刻と作業操作の終了時刻と定数か
らなる不等式または等式である順序制約式を作業の順序
に関する制約として、順序制約式に含まれるいずれかの
操作の開始時刻と終了時刻を時間後方へずらすことによ
り作業の順序に関する制約を充足することを特徴とする
請求項1項記載のスケジューリング方法。 - 【請求項10】請求項7において、サブステップ(b)
は、使用資源の時間的競合を起こす操作対に対して2つ
の操作の一方を選択して、選択した操作の開始時刻と終
了時刻を時間後方へずらす処理により使用資源の時間的
競合を解消することを特徴とする請求項1項記載のスケ
ジューリング方法。 - 【請求項11】請求項10において、開始時刻と終了時
刻を時間後方へずらされた操作と、該操作の時間前方に
存在する同一の仕事のスケジュールに含まれる操作との
間に生じた空き時間を、(1)操作の終了時刻の延長、
(2)操作手順の部分変更、のいずれかにより調整する
ことを特徴とする請求項1項記載のスケジューリング方
法。 - 【請求項12】請求項10において、2つの操作の一方
を選択する場合には、開始時刻と終了時刻を時間後方へ
ずらすことにより新たな順序制約式違反を生じない操作
を選択することを特徴とする請求項1項記載のスケジュ
ーリング方法。 - 【請求項13】請求項1において、ステップ(4)は、
所定の制約条件から作成された解評価項目の充足の程度
に応じて解候補の各々の評価値を算出することを特徴と
する請求項1項記載のスケジューリング方法。 - 【請求項14】請求項1において、ステップ(5)は、
前記ステップ(4)で算出した評価値を、解候補を作成
する際に使用した染色体に与えることを特徴とする請求
項1項記載のスケジューリング方法。 - 【請求項15】請求項1において、ステップ(5)は、
オペレータが入力装置を用いて、仕事データ、資源に関
する制約、解探索パラメータ、作業の順序に関する制
約、解評価項目を修正し、解探索の再実行を指示するこ
とを特徴とする請求項1項記載のスケジューリング方
法。 - 【請求項16】操作集合Oは、必須操作集合Wと補助操
作集合VからO≡W∪Vと構成される順序関係≦を持つ
半順序集合で、要素opは資源集合Rの要素である資源
rと時刻集合Tの要素である開始時刻stと時刻集合T
の要素である終了時刻ftを属性として持ち、仕事Ji
(i=1,2,・・・)は、Ji⊂Wである全順序部分
集合で、全ての要素の属性が未割当で、J1∩J2∩・・
・=φであり、仕事JiのスケジュールSiは、Ji⊂Si
⊂Oである全順序部分集合で、全ての要素の属性が割当
済みで、S1∩S2∩・・・=φであり、与えられた全て
の仕事のスケジュールSall≡S1∪S2∪・・・を作成
する情報処理装置を利用するスケジューリング装置であ
って、 (1)入力された仕事データから、各仕事が使用可能な
操作と操作間の順序を示す操作手順に関する制約を、操
作を節点とする有向ネットワークとして生成する手段
と、(2)操作の資源割当の組合せを確率的に調整する
手段と、(3)操作の必要資源の時間的競合を解消して
全ての仕事のスケジュールの解候補を作成する手段と、
(4)手段(3)の実行により得られた解候補を評価し
て評価値を算出する手段と、(5)手段(4)の実行に
より得られた評価値を上記の資源割当の確率的調整手段
にフィードバックする手段と、(6)解候補の最適解探
索処理を上記の手段(2)〜(5)をを繰り返すことに
より行なう手段と、(7)最適化の結果得られた全ての
仕事のスケジュールを表す解を表示してオペレータが編
集する手段とを有することを特徴とするスケジューリン
グ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10132497A JPH10293784A (ja) | 1997-04-18 | 1997-04-18 | スケジューリング方法及び装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10132497A JPH10293784A (ja) | 1997-04-18 | 1997-04-18 | スケジューリング方法及び装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10293784A true JPH10293784A (ja) | 1998-11-04 |
Family
ID=14297648
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10132497A Pending JPH10293784A (ja) | 1997-04-18 | 1997-04-18 | スケジューリング方法及び装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10293784A (ja) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005007483A1 (ja) * | 2003-07-18 | 2005-01-27 | Hitachi, Ltd. | 車両入換計画作成支援装置 |
| JP2007196880A (ja) * | 2006-01-27 | 2007-08-09 | Toshiba Corp | 構内作業計画システム、方法およびプログラム |
| JP2008140097A (ja) * | 2006-12-01 | 2008-06-19 | Hitachi Ltd | プロジェクト評価装置、プロジェクト評価方法、および、記憶媒体 |
| JP2012086779A (ja) * | 2010-10-22 | 2012-05-10 | Mitsubishi Electric Corp | 留置計画作成装置 |
| CN107679750A (zh) * | 2017-09-30 | 2018-02-09 | 桂林电子科技大学 | 一种基于自适应系数遗传算法的云制造服务资源匹配方法 |
| CN109543892A (zh) * | 2018-11-14 | 2019-03-29 | 成都英孚克斯科技有限公司 | 一种基于遗传算法的路径选择方法 |
| CN110209487A (zh) * | 2019-06-08 | 2019-09-06 | 西安电子科技大学 | 基于遗传算法的isar资源调度方法 |
| CN115879782A (zh) * | 2023-01-05 | 2023-03-31 | 深圳市鼎山科技有限公司 | 一种基于物联网的生产供应链监测管理系统及方法 |
| JP2024055015A (ja) * | 2022-10-06 | 2024-04-18 | 株式会社日立製作所 | 最適解探索処理装置および最適解探索処理方法 |
| CN118627854A (zh) * | 2024-08-09 | 2024-09-10 | 南京元五科技有限公司 | 一种智能化的订单柔性加工排产管理方法 |
-
1997
- 1997-04-18 JP JP10132497A patent/JPH10293784A/ja active Pending
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005007483A1 (ja) * | 2003-07-18 | 2005-01-27 | Hitachi, Ltd. | 車両入換計画作成支援装置 |
| JP2007196880A (ja) * | 2006-01-27 | 2007-08-09 | Toshiba Corp | 構内作業計画システム、方法およびプログラム |
| JP2008140097A (ja) * | 2006-12-01 | 2008-06-19 | Hitachi Ltd | プロジェクト評価装置、プロジェクト評価方法、および、記憶媒体 |
| JP2012086779A (ja) * | 2010-10-22 | 2012-05-10 | Mitsubishi Electric Corp | 留置計画作成装置 |
| CN107679750B (zh) * | 2017-09-30 | 2020-10-02 | 桂林电子科技大学 | 一种基于自适应系数遗传算法的云制造服务资源匹配方法 |
| CN107679750A (zh) * | 2017-09-30 | 2018-02-09 | 桂林电子科技大学 | 一种基于自适应系数遗传算法的云制造服务资源匹配方法 |
| CN109543892A (zh) * | 2018-11-14 | 2019-03-29 | 成都英孚克斯科技有限公司 | 一种基于遗传算法的路径选择方法 |
| CN110209487A (zh) * | 2019-06-08 | 2019-09-06 | 西安电子科技大学 | 基于遗传算法的isar资源调度方法 |
| CN110209487B (zh) * | 2019-06-08 | 2022-12-06 | 西安电子科技大学 | 基于遗传算法的isar资源调度方法 |
| JP2024055015A (ja) * | 2022-10-06 | 2024-04-18 | 株式会社日立製作所 | 最適解探索処理装置および最適解探索処理方法 |
| CN115879782A (zh) * | 2023-01-05 | 2023-03-31 | 深圳市鼎山科技有限公司 | 一种基于物联网的生产供应链监测管理系统及方法 |
| CN115879782B (zh) * | 2023-01-05 | 2023-05-09 | 深圳市鼎山科技有限公司 | 一种基于物联网的生产供应链监测管理系统及方法 |
| CN118627854A (zh) * | 2024-08-09 | 2024-09-10 | 南京元五科技有限公司 | 一种智能化的订单柔性加工排产管理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Petering et al. | Mixed-integer programming for railway capacity analysis and cyclic, combined train timetabling and platforming | |
| Borndörfer et al. | Integrated optimization of rolling stock rotations for intercity railways | |
| Corréa et al. | Scheduling and routing of automated guided vehicles: A hybrid approach | |
| US8392233B2 (en) | Rolling stock scheduling apparatus and method | |
| König | A review on railway delay management | |
| US20130318002A1 (en) | Resource management plan creation device and resource management plan creation method | |
| Shakibayifar et al. | An intelligent simulation platform for train traffic control under disturbance | |
| JP4241584B2 (ja) | 車両基地構内入換シーケンス作成装置、方法及びプログラム | |
| JPH10293784A (ja) | スケジューリング方法及び装置 | |
| Elizondo et al. | An evolutionary and constructive approach to a crew scheduling problem in underground passenger transport | |
| Hassani et al. | Planning and scheduling problems of production systems: review, classification and opportunities | |
| JP6929034B2 (ja) | 運用計画作成方法および運用計画作成システム | |
| JP7659474B2 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
| JPH11143938A (ja) | 資源割当計画作成方法及び資源割当計画作成システム | |
| JP7530248B2 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
| Chiang et al. | Railway scheduling system using repair-based approach | |
| Powell et al. | Strategic, tactical and real-time planning of locomotives at Norfolk Southern using approximate dynamic programming | |
| Mesa et al. | Effective allocation of fleet frequencies by reducing intermediate stops and short turning in transit systems | |
| JP6187429B2 (ja) | 物流計画作成装置および物流計画作成方法 | |
| Tomiyama et al. | Railway Rolling-Stock-Assignment-Scheduling Algorithm for Minimizing Inspection Cost. | |
| Hoogervorst | Improving the scheduling and rescheduling of rolling stock: Solution methods and extensions | |
| JP5096698B2 (ja) | スケジュール修正装置 | |
| CN113222226A (zh) | 动车所调车的方法、装置、电子设备及存储介质 | |
| JP7842055B2 (ja) | 構内入換支援システム、構内入換支援方法、および車両運用管理支援システム | |
| Maliqari et al. | Integrated Optimization of Railway Timetables and Rolling Stock Scheduling |