造船所鋼板スト ックヤード における仕分け作業の効率化
正員 木村元正員 梶原 宏之

正員 中尾 洋一     Æ              
                                                         Æ 
                                                            

                   Æ           !               #                                            

                $                            "%                               
                       

 &'(はじめに造船所の水切り後のストックヤード では 、鋼板の大きさや形状・重量および造船所の敷地面積の都合上、鋼板を積み上げて保管せざ るをえないのが実情である。鋼板の移動や取り出しは 、クレーンによって最上段の鋼板から順に行わなければならない。ストックヤード の置場スペースが仕分け作業に対して不十分な場合は 、置場の鋼板を一枚ずつ積み替えて必要な板を取り出す「 板繰り」と呼ばれる膨大な作業を繰返す必要があり、これが造船工場の物流を停滞させる一因となっている。本稿はこれを解決するため、板繰り作業量を反映する簡便な評価関数を定式化し 、この評価値を最小化するように仕分け作業方法を工夫することにより板繰り作業を減らす試みについて研究したものである。
造船所の水切り場から運ばれた鋼板は、ショット・切断加工された後、ブロック毎に建造される 。本稿の対象とし ている造船所では 、各鋼板の切断日が決まっているため、水切りされた鋼板を切断日毎に仕分けて保管する 
仕分けるための   が設けられている。また、板継ぎの前段階においても、切断後の鋼板をブロック毎に  がある。切断日毎の仕分けを行う  九州大学大学院工学研究院
 株式会社大島造船所

  では 、置場に比較的余裕があるもStockyard 1
Arriving
steel plates

Stockyard 2

Sorting by cutting dateCutting off

The space is insufficient:
Therefore the plates mustbe turned over to pick up.

The space is enough,but there is no time
to turn over the plates.
  

Assembling

Sorting by subblocks            のの、水切り後の鋼板の入庫と次工程への運び出し作業のため、板繰り作業を行う余裕はない。ブロック毎に仕分けする   では 、ブロックの種類に対して置場の大きさが不足しているため、集積された鋼板の山から必要な鋼板を板繰り作業によって取り出す。このとき、同一ブロックを構成する鋼板を探して取り出す
ので 、該当する鋼板群が 、積み上げられた全鋼板の並びの中において一箇所にかたまっていれば 、板繰り作業が少なくなり都合が良い。本稿では 、切断日毎に仕分ける 
用し 、ブロック毎に仕分ける   における制約条件付きの余剰能力を利  の板繰り作業量低減を試みる。造船所関連における物流最適化の関連研究では、物の順番や配置は完全に観測可能である状況下でサーチ手法によって作業量を最小化する接近法が多い 。本稿で扱う問題は、ストックヤード に出入りする鋼板の種類や枚数は既知だが 、順番はヤード入口に鋼板が到着した順でしか観測できないため、確率統計学的な扱いが求められる問題である。

 スト ックヤード の設定あるストックヤード において   に示すように枚の鋼板が１枚ずつ順に入庫する。建造ブロックは

 種類存在し 、各鋼板には対応する建造ブロックを示すラベル  が付けられている。ただし  は  から  までの整数で表される。各ラベル  で示されるブロックを構成する鋼板の枚数を  で表すと、 である。入庫される鋼板は、 から  までの整数  で表される置場  のいずれかへ積まれる。このときストックヤード では入庫される鋼板の順序は予め知ることはできず、１枚ずつピックアップする時点で各鋼板を識別する。

枚の全鋼板の入庫が終了すると、 ! に示すように置場に積まれた鋼板を上から１枚ずつ取り上げて順に運び出す。このとき、番号が最小の置場にある鋼板から運び出し 、その置場の鋼板が無くなったら次の  、   、   

置場から運び出すという作業を繰り返す。以下      、   である。

Sorting
A sequence of arriving steel plates

b=3

b=1

b=2

b=2

b=3

b=2

b=1

From y=2

b=1(a) Putting plates to the stockyard

b=3
b=1
b=3
b=1
b=1
y=1

  

b=2
b=2
b=2
y=2"

b=3
b=1
b=3
b=1
b=1
y=1

b=2
b=2
b=2
b=2y=2  b=2b=2

From y=1

b=1

b=1

b=3b=1b=3

A resulting sequence of the steel plates(b) Taking plates out from the stockyard

 板繰り作業の定量化：コスト 関数の定義
ストックヤード から出庫（ または入庫）する鋼板の並び順に積まれた鋼板の山から 、ブロック別に仕分けを行う作業を考える。必要最小限の仕分けスペースしかないストックヤード で上記の作業を行う場合、並び順の中で目標とする鋼板が含まれている区間長と同じ回数の板繰り回数が最小限でも必要である。そこで本稿では 、板繰りに要する作業量の目安として、枚の全鋼板の並びにおける同一建造ブロックが含まれている区間長の合計をコスト関数とし て定義する。
 を以下に定式化する。あるブ全鋼板のある任意の並び 順（ 以降シーケンスと呼ぶ ） のコスト関数

 枚の鋼板は、ストックヤード に入庫する鋼板の並び順に端からインデックス によって表す。ただし     である。ブロック  を構成し インデックス で示されるある鋼板に対し 、出庫（ または 入庫 ）する枚の全鋼板のシ ーケンス における位置を関数    と表す。     
ただし           である。このときブロック  が全鋼板のシーケンスに占める区間長を   と表すと  
 は全ブロックに対してこの区間長を        #  と表される。よってコスト関数

ロック を構成する合計した値になる：

 は鋼板数
$ での  通りのシーケンス



¼



の各ブロック区間長

 とコスト

N=8 の計算例を示す。

N=8Ls(3)=5b=3

b=1

b=2

b=2

b=3b=2b=1

b=1

b=1

Ls(2)=4b=1

b=1

b=2Ls’(1)=3b=2b=2

b=3Ls’(2)=3b=3Ls(3)=2Ls(1)=7(b) Sequence S’: Cost function C(S’)=3+3+2=8.

(a) Sequence S: Cost function C(S)=7+4+5=16.

   % & "    "  $









 解析

 全鋼板の並びにおける１建造ブロックの区間長の期待値枚の鋼板がランダムな順序で並んでいると仮定する。全鋼板のシ ーケンスにおいて、端から注目する建造ブロック を構成する鋼板の間に割って入る他のブロックの鋼板の枚数を 枚とすると、'  で 枚となる確率を    とすると、 ' の場合、 ' シーケンスの一番端でいきなり注目する建造ブロックが現れる確率に等しいので 、 '   である。  では 、  は一番端で他ブロックが出る確率   およびその条件下で該当ブロックの現れる確率    の積である。ランダムなシーケンスにおいて表される：     は一番端で他ブロックが出る確率    およびその条件下で他ブロックが現れる確率      およびさらにこれらの条件下で該当ブロックの現れる確率     の積で表される：       では 、    は一番端で他ブロックが出る確率    およびその条件下で他ブロックが現      およびこれらの条件下で他ブロックが現れる確率     およれる確率  の積で表される：
びこれらの条件下で該当ブロックが現れる確率           
同様に 、 では 、   
 # 

一般に と表せる。

 #

建造ブロック を構成する鋼板のうち、全鋼板のシーケンスにおいて最も端の位置となる   を用いて以下の式で与えられる：は、(     #  



#



  の期待値

 #

ただし ( は期待値計算の操作を表す。分布はシーケンスの前後に対して対称なので 、もう片方の端の位置   の期待値は (    
ンス に占める区間長   の期待値はである

 (    #  である。よってブロック  が全鋼板のシーケ

(  (           # 

 #

ブロックの区間長の分散の計算については 、シーケンスの片方の端からの位置という確率変数と、もう片方の端からの位置という確率変数が互いに独立ではないため、シーケンスの端からの距離 の分散から計算することはできない。よって、シーケンスの片方の端からの距離 の場合における、もう片方の端からの距離   を用いて計算する。   を求めた場合同様、
 
 '                                                  

 の場合の条件付確率*+,                   )

$   である。よってブロック長の分散 -    は、以下の式で表される：となる。ただし 、-              (  .    である。式  . を用いて数値計算によって
'' の場合について数値計算した結果
が ) 左側である。ただし 誤差棒は偏差すなわち -    を表す。ブロックの区間長   の期待値
はブロックを構成する板の枚数  が増加すると最初は急激に増加し 、その後全鋼板枚数 に漸近する性質をただし持つことが分かる。

 全鋼板枚数の増加に対するコスト 関数の変化
 が全ての  において一定であると仮定し 、全鋼板枚数 が変化した場合においてコスト関数がど のように変化するかを考える。ブロックの種類  は  で表されるので 、コスト関 (   で与えられる。式  を利用し 、 * ' ' の３種類について数値計算を行っ数は
 ブロックあたりの鋼板枚数た結果が ) の右側のグラフである。全鋼板数に対してコスト関数はほぼ のオーダーで増加する。

100
30000

9025000

80

5 plates/block

70C(S)

Expected Ls(b)

20000

6050

15000
10 plates/block

40
10000

3020 plates/block

20
5000

10000510152025303540

45050

50100150200 ) / (%           "&!"   

250300350400450500

Nn_b  0     & 1"  ''  " 
2 3 (%     4     & 1"    /  !* ' '

 スト ックヤード での仕分けによる板繰り作業量低減の提案
本稿では、ストックヤード において鋼板をブロックのグループ 毎に仕分けする方法を提案し 、これによるコ

 の大きさがブロックの種類  に対して不十分、つまり一般に    であることが多い。そこで 、ブロックの種類  を 個のグループへ分割し 、該当する鋼板をグループ分けされたそれぞれの置場へ仕分ける。* は、全鋼板枚数$ 、ブロックの種類  の場合において、置場 
 種類のグループへ分割して仕分ける例を示す。
スト関数の低減について解析する。当然ながらブロック毎に仕分けできれば理想的なのだが、置場Sorting to classify the plates
into several block groups
A sequence of arriving steel plates

b=3

b=1

b=2

b=2

 * 5"

b=3

b=2

b=1

b=3
b=1
b=3
b=1
b=1
y=1
Group 1:b=1 or 3b=1

    "   

b=2
b=2
b=2
y=2
Group 2:b=2   % &



$





ストックヤード へ到着する鋼板のシーケンスを 、ヤード から出庫する鋼板のシーケンスを

¼





と表す。 ¼ に

  から順に   までに対応する区間が存在し 、それぞれの置場  に対応する部分列を と表す。置場  へ置かれるブロックの集合を  と表す。本提案手法による仕分けでは 、シーケンス に含まれるブロック  の鋼板の並び方に注目すると、 での  の鋼板の並び方は順序が逆になっているだけである。よって においてブ ロック長   を構成する鋼板のうち、   に所属する鋼板のみがにおいて   を構成する。ただし    である。よって常に以下が成り立つ。
¼は各置場

¼¼


¼中では部分列¼

       
¼



¼



'

の範囲以外の部分列中にはブロック を構成する鋼板は存在しないので 、
¼



¼

    式 '  より   

よって式   より












¼
 

¼



¼



¼





以上より、本稿で提案する仕分けによるコストは 、仕分け無しの場合のコスト以下になることが保障される。
1800
1700
1600
1500
1400
1300

Not sorted (Y=1)

1200
1100
Expected C(S)

1000
900
800
700
600
500
400
300
200
Divide into two groups (Y=2)

10000 + (%    

'' 6   + は全鋼板数



たとき、

5 

1015

 "  67   6  






2025& 



nb30

       &35 4045

   50  &   *'   1" '' がランダムに並んでいる場合において１ブロックあたりの構成枚数

 すなわちグループに分割しない場合と 68  を変化させ すなわち  グループに分割した場合のコスト関数の期待値をプロットしたものである。それぞれのグループの鋼板の枚数がほぼ等し くなるようにブロックを２つのグループへ分割して仕分けることにより、コスト関数がほぼ 半分（ *〜* ％）に減少することが分かる。

 実データによるシミュレーション
ここでは造船所の水切り場における . 日分の実データを用いてシミュレーションを行い、提案手法によりどの程度改善できるかを確認した。実データでは 、加工日によって鋼板の処理枚数*〜)) とかなり変動するが 、 日あたりの処理枚数は平均 ', * 枚（ 標準偏差 +$ ,$ ）である。, には 、本シミュレーションにおいて用いた実データのブロック種類数とそのブロックを構成する鋼板枚数について、全鋼板合計枚数が ,'〜'' 枚程度の切断日についていくつか示している。9 !  には 、, の切断日のデ ータにおいて 、入庫順序が完全にランダムであると仮定したときのコスト関数の期待値と標準偏差を推定した場合と、シミュレーションにより並び方をランダムにしたシーケンスを '''' サンプル生成し 、その平均と分散を求めた場合との比較

40
204
96
84
83
80
77
73
49

35

number of plates

30

25

20

15

10

5

0
0

2

 ,  &  &46

     9 !  (& "&  7"&  !(& 810
block number12  !"   &   



14

16

 "&!    !

      * '.,

18

    ''''  &

')

$

* '')

.+,'+ ,.$

'+ +$),$,. +,

$,$ *$

$)+')$ )$$+')+ )'.$'

+'* )$+'+'* )+,,*))' .**))* )',,)$$, )+.)$. )'$).

' $,

'$ )

を掲げた。コスト関数の理論的な期待値と分散は 、式  . に示される切断日毎の各ブロック長の理論的な期待値と分散を合計して計算した。
$ 右側のグラフは加工日毎のそれぞれの仕分け方法によるコスト を示す。$ 左側のグラフは 、結果を日ごとの処理枚数の降順に並び替えたものであるが 、表示の都合上、例外的に大きなサンプル点のみをプロットしていない。グラフ中で 67   6となっているのは 、ブロックグループ毎に仕分けし ない場合であり、現状のクレーンのオペレ ーション状況を表す。この仕分け無しの場合のコスト))は平均値 ,$ '（ 標準偏差 +*.  ）である。

6

6と表されているプロットは、ブロックグループを  種類に分割して仕分ける場合を表す。分割方法とし ては 、ブロックを構成する鋼板の枚数の多いブロックと少ないブロックを降順に並べ、枚数の多いブロックのグループと枚数の少ないブロックのグループに分割した。このときそれぞれのグループに含まれる鋼板の合計数ができる限り等し くなるように分割するが 、ど うしても等し くならないときは枚数の少ないブロックのグループのほ うが合計枚数が多くなるよう分割する。この分割による仕分けによって評価されるコスト

は平均値 ),' *（ 標準偏差 ))  ）である。仕分け無しの場合のコスト
コスト減できた。

¼



¼



 と  グループに仕分けし た場合の の比率の平均は ' *..$（ 標準偏差 ' '$.'' である。本手法により、コスト関数の値を約 )' ％削

3000
3000
2750

Not sorted (Y=1)
Divided into two groups (Y=2)

2750

Not sorted (Y=1)
Divided into two groups (Y=2)

2500

2500
2250
2250
CostFunction C(S)CostFunction C(S)

2000
2000
1750
1500
1250

1750
1500
1250
1000

1000

750

750
500

500

250

250

000

5

10

15

20
Cutting Date $ / 4  "  

2530& "  2 3 9  &

35



40

 0 "    

2040

60

80

100120140
Number of plates N

160

180

200220240

    %    !     %    !  : 

 考察
鋼板の入庫順序が完全にランダムであると仮定した場合のコスト関数の期待値については、式  で示されるブロック長の期待値を合計することで厳密に計算できる。しかしコスト関数の分散については式 .
で示されるブロック長の母分散を合計するだけでは ' ％程度大きめの値になってし まうことが 9 ! によって示されている。上記のコスト関数の推定計算方法のうち、期待値の計算は理論的な厳密解法である。ところが厳密な分散の計算では 、切断日毎の各ブロック長の理論的な分散合計にブ ロック長の共分散を加える必要があるのだが 、この計算が困難なため 9 !  では「 各ブロックのブロック長が互いに独立」であると仮定して共分散＝０とし て計算している。実際には互いのブロック長は負の相関を持つため、コストの分散（標準偏差）の予測値がシミュレーション結果よりやや大きめになったと考えられる。
本稿では鋼板ブロック群を  グループのブロック集合に分割して仕分ける方法のみ示し たが 、分割数を グループに増やせば 、コスト関数は  に比例して小さくなる。

実問題ではブロックを構成する鋼板の枚数にはばらつきがあるので 、ブロックグループへの仕分け方法には様々な方法が考えられる。本稿では 、枚数の多いブロックのグループと枚数の少ないブロックの２グループに分割し 、各グループでの合計枚数がほぼ 等し くなるように分割したが 、これが最善であるかどうかは不明である。他にも平均ブロック枚数が同じになるようにそろえたり、厳密に枚数が等し くなるよう分割する方法など も考えられる。なるべく均等な枚数になるようにブロック群を分割する簡便かつ強力な方法とし て、機械に仕事を割り当てる問題に適用される「 /;9 則    & " 」と呼ばれる経験則的方法を応用することが考えられる。これは、機械が空いたとき 、残った仕事の中で最も時間を要するものを割り当てていくという単純な規則である。本稿のブロック群分割問題においては、「 機械」がグループで、「 仕事」がブロック、「 仕事時間」がブロックの枚数に対応する。最善の分割方法についての検討は今後の課題である。
本稿では 、水切り後に入庫してくる鋼板の順序は未知で完全にランダ ムであると仮定しているが 、実際には統計的なパターンがあると考えられる。例えば 、板長が長いものが先に到着するなど が考えられている。このような傾向やパターンを利用することにより、統計学的に妥当な分割方法とすることも考えられる。

実データを用いたシミュレーションでは、切断日毎にのみ仕分けしていたストックヤード １において、切断日あたり  区画の置場を確保してある程度のブロック毎の仕分けを行うことにより、後工程での板繰り作業に関してコスト関数を )' ％程度削減できることを示した。だが、切断日毎に仕分けるストックヤー
ド で従来の  倍の区画を確保することは 、本稿の対象とし ている造船所では非現実的である。幸いにも、切断日によって処理する鋼板枚数が大きく異なるので 、これらのピ ークを持つ切断日のみ特別に区画を用意するのが最も現実的だろうと考えられる。
板繰り作業を定量化するために式  で示されるコスト関数を定義したが 、実際の作業量は、全鋼板の中から取り出すブロックの順番や、 の   での設備能力によって大きく変わる。式  で定義したコスト関数と、実際の板繰り作業量との相関についての詳しい調査は今後の課題である。

 おわりにストックヤード から出庫される鋼板の並び方（シーケンス）に対して、板繰り作業量を反映するコスト関数を定義し 、処理するブロック毎の板の枚数とコスト関数との関係について分析した。鋼板をブロック群のグループ別に仕分ける新しい簡便な仕分け方法を提案し 、コスト関数が減ることを解析した。数値計算と実データを用いたシミュレーションにより、提案手法の有効性を示した。本研究で得られた知見は 、実際の現場へ適用する予定である。実際の板繰り作業がど の程度軽減したのかを定量的に評価する方法の確立と実際の現場における本提案手法の有効性の検証は今後の課題である。

参考文献
 荒井 誠，西原 弘之：造船業におけるクレーン問題への遺伝的最適化アルゴ リズムの適用，日本造船学会

講演会論文集 第  号 '')，$<$) 奥本 泰久，井関 隆太郎：タブサーチ法による鋼板切断順序の最適化，西部造船会 第 '+ 回例会論文梗

概 ''，*< 西 竜志，山本 慎一郎，小西 正躬：製品移動回数と向先集約度を考慮した倉庫配置計画問題に対するビーム探索法の効率化，電気学会論文誌 電子情報システム部門誌，- ) 7 ) '') '.<'*