日本包装学会露ＶｂＬ３ｊＶｂ.‘α994ノ

一般論文

オブジェクト指向による三次元配置決定システム
島田哲夫＊清水淳也＊山崎潔“

3D-LoadingPatternDeterminationSystem
BasedonObject-orientedApproach
TetsuoSIⅡＭＡＤＡ．，JunyaSHIMIZUo，ＫｉｙｏｓｈｉＹＡＭＡＳＡＫＩ｡．

Thisstudyaimstodevelopaloadingpatterndeterminationsystembasedonobject
oIientedappr℃ach・Ｗｉｔｈ１℃specttoloadmgpatterndetelminatｉｏｎｐ１℃blem,thereareth1℃e

importantfactoだ：（１）theloadingexperttechniqueofpackagesinthefieldofdistribution，(2)optimalpattemdetermmationalgorithms，（３）infOrmationsystem・Theautho庵have

alreadydevelopedaloadingpatterndetermmationsystemincludiｎｇｔｈｅａｂｏｖｅｔｗｏｆａｃｔｏ函：(1)theloadingexperttechniqueand（２）optimalalgorithmS
Asdesclibedinｔｈｉｓ妃port，the妃ｈａｖｅｂｅｅｎａ1℃maIkablemcmeasemtheuseofstlategic
mfOrmationaboutmanagementａｓｗｅＵａｓｔｈｅｅｘｐｅｒｔｋｎｏｗｌｅｄｇｅａｂｏｕｔpackagingand

distnbution・ＴｈｅｎｗｅｉｎｔｅｎｄｅｄｔｏｄｅＩｉｖｅａｓｃｈｅｍｅｔodevelopaloadingpattemdetermination
systembasedonobject－olientedapprDachasthenextstep．
Keywords：InfOrmationsystem,Object-orientedapproach,Loadingpattern,Optimalpatterndesign，ThrDedimensionalpattem

一定のパレット上に包装品を積み付ける方法は、包装設計および物流設計の両方に関わる重要な課題である。木論文では積み付けパターンを自動決定するための包装・物流設計に的を絞った「オブジェクト指向による三次元配置決定システム」について記述する。包装･物流設計に関するソフトウェアは､現在よりきめの細かい機能を求められつつあるため、設計情報がl加Ⅱする一方、経営戦略に絡んだ他部署の情報も包装技術に加味されるようになってきている。そこで、画面上に多くのデータを表示させながら設計に不可欠な繰り返し入力による最適解の導出作業を効率よくおこない、さらに設計技術の進展にともなって大規模化する傾向にあるソフトウェアの維持管理の効率化のため、抜本的なプログラミング手法の変更が必要となる。
本稿では、今後包装･物流分野のシステム開発の課題であるマンマシーンインタフェースの改善を図り、かつ大規模システム化を可能とするマルチウィンドウシステムについて検討し、積み付けパターン配置決定システムを柵築した。

キーワード：情報システム、オブジェクト指向、最適パターン設計、３次元パターン

・流i､科学大学（〒651-21兵庫県神戸市西区学園西町3-1）：UnivemsityofMarketing＆DistributionSciences,３－１，
Gakuen-nishimachi,Nishi-ku,Kobe-shi,Hyogo,651-21..兵廊県立工業技術センター（〒654兵庫県神戸市須磨区
行平町3-1-12）：HyogoPrefecturallnstituteoflndustrialResearch,3-1-12,Yukihira,Suma-ku,Kobe-shi，６５４－２３８－オプジェクＭｹﾞｿ可による三2t元函d醜G定システム

1.緒言いる。さらに設計技術の進展にともなって規模が拡大する傾向にあるソフトウェアの維持

包装･物流設計に関する重要な問題として、一定パレット上に包装品を規則正しく配置す管理のため、抜本的なプログラミング手法の変更が必要となる。

る問題がある。この問題には（１）包装･物流

本論文では、今後包装・物流分野のシステ技術に関する要素、（２）最適配置というアルム開発の課題であるマンマシーンインターフゴリズムに関する要素、（３）情報システム構

ェースの改善と大規模システム構築のためオ築というソフトウェア開発に関する要素等がブジェクト指向による三次元配置決定システ互いに絡まっているため、容易に解決を図る

ムについて記述する。

ことが難しい課題がある。そこで筆者らは積オブジェクト指向の言語仕様4)5)は、物やみ付けパターンに関する三次元配置問題を解

概念など世の中にあるものをオブジェクトくため、包装物流分野での制約条件を整理（データとそれを処理する関数のまとまり）し、積み付け作業における各種条件と積載効であると定義することからはじめる。さらに率の最適性とのトレードオフから現状に沿っ機能と属性を含んだ同じオブジェクトの抽象た方法を提案した】)~3)。本稿では（３）情報シ概念をクラスという。その特徴はカプセル化

ステムを構築するためのソフトウェア開発に(オブジェクト内部のデータを外部から直接関する要素からこの問題を考える。

アクセスできないようにすること)、継承(似従来包装・物流設計に関するソフトウェアた性質をもつクラス間の結合の方法)、多態

は、一定の決まった手続きにしたがい、順序性（少しずつ異なっているが、似通った機能よくデータを入力していくことにより、一つを多重に定義するすることを可能とするこまたは複数の結果を導出していた。設計に必と）の３つに集約することができる。またオ

要な包装・物流に関する知識やデータが少な

ブジェクト指向プログラミングの利点は、現くて済み、かつ最適な設計に至るまでの繰り実の世界を克明にモデル化すれば、オブジェ返しが比較的少ない作業では従来のプログラクト間でのメッセージの受け渡しを記述するミング方法で十分である。しかし今後ますまのみで事態が進行していくことにある。すな

す多様化が進み、設計時点できめの細かい情わち、規格化することを念頭において言語仕報が必要となるため、包装設計に関する各種様が規定されており、しかも規模の拡大に必データは増加する方向にあり、さらに経営戦然的に伴ってくる複雑さを解消するため、部略に絡んだ他部署の情報も加味されようとし品間のつながりをスムーズにおこなうことがている。

できるように工夫されているのである。

そこで、画面上に多くのデータを表示させ本稿の三次元配置決定システムはマルチウながら操作性よく入力でき、しかも設計に不ィンドウをおもな機能としている（Fig.１)。

可欠な部分データの繰り返し入力による最適

Microsoft-WINDOWSやMacintosh-OS解の導出作業を効率よくおこなえるようなシをはじめとして、マルチウィンドウは今後のステムを構築することが今後の課題となってマンマシーンインターフェースの主流であ－２３９－

日本包菱学会雄ＶｂＬ３Ⅳb・‘α994）

IulliwiDdousysle8basedooobjeclo｢ieoledapD｢oacIl
LoadiogOatte『Meteminaliousysteu

Fig2SystemConfigu｢ationた操作性のよいマルチウィンドウ機能をもつ業務処理システムを独自に構築する必要がある。

そこで本稿の目的は、ウィンドウをオブジェクトとして部品化することにより、包装・Fig.１Loadingpattemdeterminationsystem

物流技術に適合したマルチウィンドウ機能を有する３次元配置決定システム（Fig.２）を作る。その理由として、ウィンドウを用いるこ成することである。とにより、画面をより広く使うことおよび画

なおハードウェアはＮＥＣの9801FＡ（メモ面を見やすくすることが容易に可能となる利リ４ＭＢ）を用い、ＭＳ－ＤＯＳのVer､5.0上で点をあげることができる。しかし、そのよう稼働するオブジェクト指向言語TurboO+をな利点の反面、プログラマが管理する情報は用いて構築することとする。

ウィンドウを用いないシステムと比べると一般に多くなる。ウィンドウを表示するために

2.マルチウィンドウシステムの構成

は、まずウィンドウの大きさ、ウィンドウのタイトル、そしてウィンドウがオーバーラッ

オブジェクト指向プログラミングの基本

プするときには背景のデータ等を管理しなくは、一定のデータとその処理関数をまとめたてはならず、ウィンドウの数が少数であればオブジェクトを単位として構成することにあいいが、これが多くなってくると、プログラる。

マ自身が管理するのは困難になってくる。ま本ウィンドウシステムの構成要素は、アイた既存のマルチウィンドウシステムは汎用性テムタイプ（本システムを構成する個々の要を重視するあまり、たとえば包装・物流業務素）とマネージャタイプ（本システムを管理に特化した処理を構築することが不得手であする要素）のクラス（オブジェクトの抽象概ると言われている。

念）に大別することができる。またアイテム

このようにウィンドウシステムの利点を生タイプはさらにアイコン・ポタンタイプと、かし、かつ既存のウィンドウシステムの欠点ウィンドウタイプ、コレクションタイプに分を克服するためには、包装・物流業務に沿っけることにする。Ｆｉｇ．３はマルチウィンドウ－２４０－

オブジェクトj胃I雁i7による三Zt元配Z彫､定システム

ＩｂｊｅｃｌＴ１ｌ仙願i1-…－－ 〔coIloc(１．．，…叩｡､】－…ｉ任せている。すなわち、実,wlwmMmTMⅢw,:wMmh駕篭鱒#トー－－－｢I,LL=Lwl皿⑱.…w…1蕊溌⑥画面……位置鍍川~mT:1MⅢ－２４１－

日２次包鋳学会議ＶｂＬ３Ⅳb・‘α994）のクラスの機能は以下のとおりである。

タンを画面に表示、ボタンの両面上の表示位（１）Ｌｉｎｅｌｔｅｍクラス

置を変更、などがあり、これらの関数のイン・ボタン、アイコンタイプクラスの基本とターフェース規約は継承もとであるScreenなる抽象クラス。

ltemクラスのものと同じである。このように・基本クラスであるScreenltemクラス

インターフェース規約が決まっているというより外部とのインターフェースだけを継承．

ことはオブジェクトをScreenltemクラスの・画面上における３つの座標を保持している。

オブジェクトとして管理しているManager（２）Buttonクラス

クラスや、後に説明するコレクションにとっ・一般的なポタンクラス。てはきわめて重要なことである。つまり、イ・外部からの入力情報をオブジェクトが保ンターフェースが決まっていればマネージ持している情報と比較し、適切な入力なャーやコレクションはオブジェクトがどんなら一定の反応を示す。

クラスのオブジェクトであれ、ScreenＩｔｅｍ（３）Ｍｅｎｕクラス

クラスから継承されたクラスのオブジェクト

・画面上部に並ぶプルダウンメニューのたである限り、それに対して決まった処理を行めのクラス。

うだけですみ、システムが拡張、変更されて・外部から適切な入力情報を受けるとプルダウンメニュー等を開く。

もそれに対して柔軟に対応できるからである。

（４）RadioButtonクラス

・基本的にはButtonクラスの機能と同じ2.2ウィンドウの構成であるが、このクラスは外部から入力情マルチウィンドウシステムの主要機能につ報毎にTrue､Falseのふたつの状態を交いて以下に述べる。ウィンドウを用いること互に変えながら保持している。

により、画面をより広く使うことおよび画面本システムのアイテムタイプのクラスのすを見やすくすること、が容易に可能となる。

べてのもととなるクラスであるScreenltem

Fig.５は本システムで構築したウィンドウクラスからＬｉｎｅｌｔｅｍクラスを導き出す。こタイプクラスの継承関係である。各々のクラれによりScreen-Itemクラスの画面卜のあるスの機能は以下のとおりである。

一点の情報を管理するという機能に、新たに画面上もう一点の座標を管理する機能を付け加えたことになる。さらにLineltemクラス

Iectao81e-Item-PoDuD-IectaD8le-Iiodow
Fig5Sequenceofwindowtypeclass

から、画面にボタンを表示する、マウスからの入力情報を処理し、それに対して処理結果(1)Rectangle-Itemクラスを返す､等々の機能を付け加えたButtonクラ・ウィンドウタイプの基本となる抽象クラス。

スを導き出している。このButtonクラスの・ＬｉｎｅＩｔｅｍクラスより外部とのインター関数の機能は、入力情報を受け取りそれに対フェースと画面上の３つの座標を保持としての処理、入力情報の受け取りを許可、ポいう機能を継承。

－２４２－

オプジェク城箭向による三２t元寵箇R決定システム

・画面上における４つの座標を保持。

エクトをプログラマが管理・統合するのは困（２）Popup-Rectangleクラス

難になってくる。この困難を解決するために・ウィンドウタイプのクラスはオーバーラ必要となってくるのがコレクション、コンテップが出来ることを前提としている。こナ・クラスという概念である。つまりオブジのクラスではオブジェクトが生成される

ェクト一つ一つをプログラマが管理するので前にオパーラヅプ領域を待避し、オブジはなくコレクションという管理・統合専門のェクト消滅時にはこれをもとに戻していオブジェクトにそれを任せるというものである。

る。こうすることによりプログラマは多数の（３）Windowクラスオブジェクトの管理に悩まされるということ・オーバーラップができるほか画面内で自を避けることができるのである。

由にその位置を変えたりサイズを変更できる。

Ｆｉｇ．６は本システムで構築したコレクションタイプクラスの継承関係を示している。

・このシステムではこのウィンドウを単位各々のクラスの機能は以下のとおりである。

としてシステムを作ることを前提として（１）ScreenltemCollectionクラス

・コレクションタイプのクラスの基本とないる。

基本となるWindowクラスでウィンドウ内のアイコン・ボタンが押されたときには主たる機能を定義した関数を呼び出すようにしてる抽象クラス。

・外部から登録されたオブジェクトを管理・統合する。

いる。この関数に多態性を持たせているため（２）ButtonCollection

Windowクラスを継承したクラスにおいて、・ポタンタイプのクラスのオブジェクトを関数をそれぞれに定義することにより、基本管理・統合する。となる部分を変えないでアイコン・ボタンが（３）MenuCollection

クリックされたときの処理をおこなうことが・プルダウンメニューオブジェクトを管できる。

理・統合する。

（４）Rectangle-Item-Collection
2.3コレクションの構成

oウィンドウ、メッセージ・ボックスなど

本マルチウィンドウシステムは多数のオブジェクトによって構成されている。オブジェ
クトの数が多数になってくると各々のオプジのウィンドウタイプのクラスのオブジェクトを管理・統合する。
ScreenItemCollectionクラス、その派生

Ⅷ伽MMmT:WiW::雨加川MⅢ
Ｆｉｇ．６SequenceofcoIIectiontypecIass－２４３－

日本包鍵学会灘ﾘﾉｂＬ３ハル｡.‘α994）

クラスであるButtonCollectionクラス、ステムづくりが必要となる。

Rectangle-Itemクラスなどがコレクションマルチウインドウシステムを用いて積み付クラスである。まずコレクションタイプのクけパターンという３次元配置決定システムをラスの基本クラスであるScreenltem実現する場合の処理の概略の比較である

Collectionクラスには、管理するオブジェク(Fig.７)。Fig.７（1）は従来からの積み付けトを登録、そして管理しているオブジェクトパターン決定のための手順である。まず包装を消去などがあり、これら関数を使用してプ品の縦（L)、横（Ｗ)、高さ（D）を入力する。

ログラマはオブジェクトの管理をコレクショさらにパレットの縦に余裕寸法（La）を差しンクラスに任せることができる。ここで各オ引いた縦方向の有効長(Lp-La）と、パレッ

ブジェクトはリスト構造をとって管理するよトの横（Ｗｐ）に余裕寸法（Ｗａ）を差し引いうにしている。登録されるべきオブジェクトた横方向の有効長（Ｗｐ－Ｗａ)、および積みの数は不特定多数であり、個数を限定すれば段数（dn）を入力する。このようにして包装汎用性を失わせる結果となるためであり、リ品の縦、横、高さでパターンを構成したときスト構造にしておくと、オブジェクトが生成の全領域が、有効なパレットの領域内になるする度にリスト化することが可能となるからかどうかを判定する。これを満たし、段当りである。の積み段数の最も大きなものを最適な積み段数（Np）とする（なお倉庫高さ（Hmax)、パ3.配置決定システム

レット高さ（Dp）は一定とする)。ここで積載効率は3.1手続き指向とオブジェクト指向の比較（１）面積効率（Aoif）

上述したマルチウィンドウシステム上に積鞄-孟砦1鶚|里;誌）

み付けパターンのための配置決定システムを構築することにする。

（２）体積効率（W6jJ

積み付けパターンは、対象とする製品の大WbIY＝Ａｄ,．(，｡。、＋Ｄｐ)・ｄｐ
Ｈ…

きさおよび重量等により異なり,規格化することは困難である。包装品の大きさに関するとなる。

パラメータである縦・横・高さと、パレット

従来の手続き型の処理では、処理開始からの広さに関するパラメータである縦方向の有処理終了まで一方向の流れのため、基本的に効長および横方向の有効長などの相互関係

は、－組の入力に対して－つの結果が得られに、規則性を加味した積載効率から積み付けて終了する。しかし、最適な設計結果を得るパターンを決定しなければならない。

ためには、必要となる－部のデータのみ修正

しかも、内容品によっては、外装寸法のパ入力し、繰り返し作業により、設計結果を収ラメータを変更することが可能なものも含ま束させる必要がある。Ｆｉｇ．７（2）はオブジれており、修正入力による結果の照合を繰りェクト指向に基づく処理内容である。従来

返し、最適な包装設計に収束させるためのシ型の処理では入力すべき順番が決まっている－２４４－

オブジェクトj間V可による三次元配圃決定システム

ＳＴＡＲＴ

ＳＴＡＲＴ

ＢＯＸ－ＬＥＮＧＴＨ

ＢＯＸ－ＷＩＤＴＨ

ＢＤＸ－ＰＴＨＰＡＬＬＥＴ－ＬＥＮ

ＬＥＮ

IlPll,‘ 謡||,皿 ;H'''@ＢＯＸ
OＸ

llmll,

BＯＸ

ＢＯＸ

ＷＩＤ

ＤＥＰ

PＡＬＬＥＴPＡＬＬＥＴ

ＬＥＮ

ＷＩＤ

BＯＸ
ＴｌＥＲ

ＰＡＬＬＥＴ－ＵＩＤ

ＢＯＸＴＩＥＲＬＤＡＤｌＮＧPＡＴＴＥＲＮ

ＥＮＤ

（２）

（１）

ｏｂｊｅｃｔ－ｏｒｉｅｎｔｅｄＷｏｇ．

ｐｒｏｃｅｄｕｒｅ－ｏｒＩｅｎｔｅｄｐｒｏｇ．

Fu9．７LoadingpattemdetenninationfIow

ため、その順に従って処理が進行し、積み段コン・ボタン機能が必要である。

数のみ変更したいとか、パレット横のデータ

Ｆｉｇ．８は数値入力時の表示画面である。数を変えたいという柔軟な設計作業に不可欠な値入力には（Ｏから９）までの数値および修正作業の操作に不向きである。逆に本シス(BS）バックスペースなどのボタンが必要でテムでは一度すべての値を入力し、表示されある。それぞれのボタンを押下することによた図と積載効率の値を見ながら積み段数のみり対応する数値等を選択することができる。

変更したいとか、パレットの横の値を、最適な値になるように微調整をおこなうといった繰り返し作業が可能となる。
３２アイコン・ボタン機能

オペレータとシステムとの会話（マンマシーンインターフェース）の基本としてアイコン・ボタン機能は重要である。システム環

境設定時や終了時点などはいうに及ばず、インクラクションがおこる箇所はすべて、アイ－２４５－

Ｆｉｇ８Ｉｃｏｎ＆Buttonfunction

、と包鍵学会鯵VbL3jVbb‘（、９４）蓬識讓伽Ｗ;伽ｺﾞIiwwJ川Ⅱ(1)Windowクラス
・オーバーラップができるほか画面内で自由にその位置を変えたりサイズを変更できる。

・ウィンドウを単位として配置決定システ

ムを作成している。

(2)String-receivewindowクラス
・文字入力を受け付けるための抽象クラス。
・Ｗｍｄｏｗクラスより継承。

Fig.９Multi-Windowfunction(3)Box3Dwindowクラス
3.4配置決定システムの構成・積み付けパターンを三次元立体表示する

マルチウィンドウシステム上でアプリケーためのクラス。

ションを構築することが可能となる方法を以oString-receivewmdowより外部と下に述べる。ハードウェアとしてマウス．のインターフェースだけを継承

キーボードおよびディスプレイを用いて、ア(4)Value-mput-windowクラス

イコン・ボタンやウィンドウおよびこれらを・数字入力をおこなうためのクラス。

複数管理することなどは、マルチウィンドウ・入力された数値はString-receivc－２４６－

オブジェクトji;向ｿによる三2t元８日歴決定システム

Windowクラスのオブジェクトに送るこ

更および形状の変更が可能な製品であれば、とを前提としている。

包装品の縦を400.0ｍｍから380.0ｍｍに変更（５）Integer-input-windowクラス
・整数入力をおこなうためのクラス。

することにより、積載効率は８４．８％になる

アプリケーションはWindowクラスからの380.0ｍｍから300.0ｍｍに変更することによ

継承で構成すればよい。まず文字入力受け入り積載効率は59.5％、８４８％から99.2％に大れのための抽象クラスであるStrmg-receive

きく効率を向上せさることが可能となる(Fig.１３)。さらに包装品の縦を400.0ｍｍ、windowクラスを継承する。積み付けパターンを三次元立体表示するためには、（１）包装品の縦･横･高さを収得、（２）パレットの縦・横を収得、（３）積み段数を収得、（４）積み付
けパターンデータのファイルを読み込む、(5)最適な積み付けパターンを決定等の処理(1)をBox3Dwindowクラスでおこなう必要がある。またそれぞれの形状に関する値は整数入力をおこなうためのクラスであるInteger

mput-windowクラスで再入力を可能とし、再入力が完了した時点で、このウィンドウはString-receivewindowに値をメッセージとして送るようにしている。Box3dwindow

がString-receivewindowから継承されてい(2)るのはこのメッセージを正しく受けとめるためである。

3.5本システム構築結果と考察
Fig.１１（１）（２）（3）は包装品の縦､横､高さ、パレットの縦、横および積み段数を入力したときの積み付けパターンの３次元イメージ表示をおこなっているディスプレイ画面で(3)ある。

Ｆｉｇ．１２は包装品の縦400.0ｍｍ、横200.0ｍｍ、高さ200.0ｍｍ、パレットの縦１１００ｍｍ、横1100ｍｍおよび積み段数５の積み付けパターンである。このときの積載効率は59.5％である。そこで内容品の梱包方法の変－２４７－

FigllLoadingpatternmaking

日率包鋳学会厳ﾘﾉｂＬ３ﾉVbb‘α994）

Figl20biect-orientedloadingpatterndesign(1)Fig.１４０bject-orientedIoadingpattemdesign(3)るだけで、新規ウィンドウを開いて処理することが可能となるためである。

このシステムは包装・物流業務のなかの積み付け作業に的を絞って作成したが今後包装･物流設計の全般に広げていく予定である。
<引用文献＞、島田哲夫､山崎潔､_森和之、“パッケージ設
Fig.１３０bject-orientedIoadingpattemdesign(2)計用ＣＡＤシステム入門"、日報、（1990）
２）Shimada,Yamasaki,Thedevelopmentof(Fig.１４)。このような設計結果について図

astrategicinfOImationsystemappliedto

形と評価値をディスプレイに表示し、最適なpackagingdesign,ＰＡＣＫＡＧＩＮＧＴＥＣＨＮＯ値になるように逐次設計作業を繰り返すこと

ＬＯＧＹ＆SCIENCE,６（２）７９－８６，Johnで操作性のよいシステムを構築することが可Wiley＆Ｓｏｎｓ

能となる。

３）島田哲夫、潮俊光、戦略情報処理入門鰯、ダイ

また上述したマルチウィンドウ機能を有するシステムの利点は、積み付け作業の仕様変

ヤモンド社、（1993）
４）Ｂ､ストラウストラップ、プログラミング言語Ｃ

更に対して、特に有効である。なぜならそれぞれの処理が部品化（オブジェクト化）され第２版、トッパン、（1993）
５）スコットマイヤー、EffectiveC、ソフトパンク、ているため、あらたな業務内容に対応する部（1993）品（オブジェクト）を従来の処理につけ加え(原稿受付1994年１月２１日）(審査受理1994年７月２２日）－２４８－