JPH06348684A - 組合せ最適化装置 - Google Patents
組合せ最適化装置Info
- Publication number
- JPH06348684A JPH06348684A JP13715993A JP13715993A JPH06348684A JP H06348684 A JPH06348684 A JP H06348684A JP 13715993 A JP13715993 A JP 13715993A JP 13715993 A JP13715993 A JP 13715993A JP H06348684 A JPH06348684 A JP H06348684A
- Authority
- JP
- Japan
- Prior art keywords
- combination
- cost
- plane
- defining
- moving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【目的】 各種の組合せ最適化問題を視覚的に定義する
部分と共通に使用できる最適化手段とを分離し、使用者
が難解な最適化手段を知らなくても容易に、組合せ最適
化を処理できるようにする。 【構成】 組合せ単位が移動する平面である移動平面の
形状と移動平面上の名称を視覚的に定義する手段101
と、移動平面上を移動する組合せ単位の形状と組合せ単
位上の点の名称を視覚的に定義する手段102と、移動
平面上を組合せ単位が移動できる種類を定義する手段1
03と、組合せ移動単位の位置に対応して組合せの良し
悪しの尺度であるコストを定義する手段104と、上記
各手段により定義された情報に基づき、コストが極大ま
たは極小となる移動平面上の組合せ単位の最適な配置と
最適な組合せを求める手段105とを備えている。
部分と共通に使用できる最適化手段とを分離し、使用者
が難解な最適化手段を知らなくても容易に、組合せ最適
化を処理できるようにする。 【構成】 組合せ単位が移動する平面である移動平面の
形状と移動平面上の名称を視覚的に定義する手段101
と、移動平面上を移動する組合せ単位の形状と組合せ単
位上の点の名称を視覚的に定義する手段102と、移動
平面上を組合せ単位が移動できる種類を定義する手段1
03と、組合せ移動単位の位置に対応して組合せの良し
悪しの尺度であるコストを定義する手段104と、上記
各手段により定義された情報に基づき、コストが極大ま
たは極小となる移動平面上の組合せ単位の最適な配置と
最適な組合せを求める手段105とを備えている。
Description
【0001】
【産業上の利用分野】本発明は、組合せ最適化分野にお
ける組合せ最適化問題を解法する組合せ最適化装置に関
するものである。
ける組合せ最適化問題を解法する組合せ最適化装置に関
するものである。
【0002】
【従来の技術】近年、組合せ最適化装置は、スケジュー
リング、レイアウトなどの組合せ最適化分野で盛んに利
用されるようになってきた。
リング、レイアウトなどの組合せ最適化分野で盛んに利
用されるようになってきた。
【0003】この組合せ最適化装置は、例えば、S. Kir
kpatrick, and V. A. Norton andM. P. Vecchi. "Optim
ization by Simulated Annealing" (Science, Vol. 22
0,pp671-680, May 1983)に記載されているシミューレー
ティッド・アニーリングや山登り法などの最適化方法に
よる構成が知られている。
kpatrick, and V. A. Norton andM. P. Vecchi. "Optim
ization by Simulated Annealing" (Science, Vol. 22
0,pp671-680, May 1983)に記載されているシミューレー
ティッド・アニーリングや山登り法などの最適化方法に
よる構成が知られている。
【0004】以下、図12を参照しながらスケジュール
問題を対象として、従来の組合せ最適化装置について説
明する。このスケジュール問題は、各仕事の順序関係な
どの制約条件を考慮して、最短時間で終了する仕事のス
ケジュールを決定する問題である。以下の簡単なスケジ
ュール問題を例として説明する。 問題 ・1日の作業時間は、20時間である。 ・仕事1は、4時間の作業時間を必要とする。 ・仕事2は、3時間の作業時間を必要とする。 ・仕事3は、3時間の作業時間を必要とする。 ・仕事4は、5時間の作業時間を必要とする。 ・仕事3は、仕事1が終了した後に実行する。 ・仕事2は、仕事3が終了した後に実行する。 ・仕事4は、仕事2が終了した2時間後に実行する。
問題を対象として、従来の組合せ最適化装置について説
明する。このスケジュール問題は、各仕事の順序関係な
どの制約条件を考慮して、最短時間で終了する仕事のス
ケジュールを決定する問題である。以下の簡単なスケジ
ュール問題を例として説明する。 問題 ・1日の作業時間は、20時間である。 ・仕事1は、4時間の作業時間を必要とする。 ・仕事2は、3時間の作業時間を必要とする。 ・仕事3は、3時間の作業時間を必要とする。 ・仕事4は、5時間の作業時間を必要とする。 ・仕事3は、仕事1が終了した後に実行する。 ・仕事2は、仕事3が終了した後に実行する。 ・仕事4は、仕事2が終了した2時間後に実行する。
【0005】図12において、1201は組合せ単位が
移動する平面の形状と移動平面上の点の名称を定義する
移動平面定義手段、1202は移動平面の形状を移動す
る組合せ単位の形状と組合せ単位上の点の名称を定義す
る組合せ単位定義手段、1203は移動平面上を組合せ
単位が移動できる種類を指定する移動種類定義手段、1
204は移動平面の組合せ移動単位の位置により組合せ
の善し悪しの尺度であるコストを定義するコスト定義手
段、1205はこれら各定義手段により定義された情報
に基づき、組合せ単位移動平面上の組合せ単位の最適な
配置と最適な組合せを求める最適化手段である。
移動する平面の形状と移動平面上の点の名称を定義する
移動平面定義手段、1202は移動平面の形状を移動す
る組合せ単位の形状と組合せ単位上の点の名称を定義す
る組合せ単位定義手段、1203は移動平面上を組合せ
単位が移動できる種類を指定する移動種類定義手段、1
204は移動平面の組合せ移動単位の位置により組合せ
の善し悪しの尺度であるコストを定義するコスト定義手
段、1205はこれら各定義手段により定義された情報
に基づき、組合せ単位移動平面上の組合せ単位の最適な
配置と最適な組合せを求める最適化手段である。
【0006】以下、図12を参照して従来の組合せ最適
化装置の動作について説明する。なお、ここでは、装置
の説明に主眼を置いており、効率は考慮していないこと
を前提とする。まず移動平面定義手段1201は、移動
平面の形状と平面上の点の名称を定義する。移動平面と
しては、1日の作業時間が20時間であり、4種類の仕
事があるので、4行20列の移動平面を定義する。具体
的には、4行20列の配列などのデータ構造とする。こ
の問題においては、移動平面上に点の名称を定義する必
要はない。
化装置の動作について説明する。なお、ここでは、装置
の説明に主眼を置いており、効率は考慮していないこと
を前提とする。まず移動平面定義手段1201は、移動
平面の形状と平面上の点の名称を定義する。移動平面と
しては、1日の作業時間が20時間であり、4種類の仕
事があるので、4行20列の移動平面を定義する。具体
的には、4行20列の配列などのデータ構造とする。こ
の問題においては、移動平面上に点の名称を定義する必
要はない。
【0007】次に組合せ単位の形状を定義する。仕事
1、仕事2、仕事3と仕事4は、それぞれ4時間、3時
間、3時間と5時間の作業時間を必要とするので、各仕
事を組合せ単位として、各形状は、1行4列、1行3
列、1行3列と1行5列の形状と定義する。次に組合せ
単位上の点を定義する。この点はコスト定義手段120
4で使用される。仕事1の1行4列の点を”仕事1の
右”、仕事2の1行1列の点を”仕事2の左”、1行3
列の点を”仕事2の右”、仕事3の1行1列の点を”仕
事3の左”、1行3列の点を”仕事3の右”、仕事4の
1行1列の点を”仕事3の左”と定義する。
1、仕事2、仕事3と仕事4は、それぞれ4時間、3時
間、3時間と5時間の作業時間を必要とするので、各仕
事を組合せ単位として、各形状は、1行4列、1行3
列、1行3列と1行5列の形状と定義する。次に組合せ
単位上の点を定義する。この点はコスト定義手段120
4で使用される。仕事1の1行4列の点を”仕事1の
右”、仕事2の1行1列の点を”仕事2の左”、1行3
列の点を”仕事2の右”、仕事3の1行1列の点を”仕
事3の左”、1行3列の点を”仕事3の右”、仕事4の
1行1列の点を”仕事3の左”と定義する。
【0008】次に移動種類定義手段1203は、各移動
単位の初期位置と移動の種類を定義する。仕事1は、移
動平面の1行の位置を左右に移動でき、仕事2は、移動
平面の2行の位置を左右に移動でき、仕事3は、移動平
面の3行の位置を左右に移動でき、仕事4は、移動平面
の4行の位置を左右に移動できるように定義する。
単位の初期位置と移動の種類を定義する。仕事1は、移
動平面の1行の位置を左右に移動でき、仕事2は、移動
平面の2行の位置を左右に移動でき、仕事3は、移動平
面の3行の位置を左右に移動でき、仕事4は、移動平面
の4行の位置を左右に移動できるように定義する。
【0009】次にコスト定義手段1204は、組合せ単
位の位置に対応して、コストの計算方法を定義する。仕
事3は、仕事1が終了した後に実行しなければならない
ので、”仕事3の左”は、”仕事1の右”より移動平面
上で左列か同列にあれば、50点コストに加算する。仕
事2は、仕事3が終了した後に実行しなければならない
ので、”仕事2の左”は、”仕事3の右”より移動平面
上で左列か同列にあれば、50点コストに加算する。仕
事4は、仕事2が終了した2時間後に実行しなければな
らないので、”仕事4の左”は、”仕事2の右”に2加
算した列より移動平面上で左列か同列にあれば、50点
コストに加算する。
位の位置に対応して、コストの計算方法を定義する。仕
事3は、仕事1が終了した後に実行しなければならない
ので、”仕事3の左”は、”仕事1の右”より移動平面
上で左列か同列にあれば、50点コストに加算する。仕
事2は、仕事3が終了した後に実行しなければならない
ので、”仕事2の左”は、”仕事3の右”より移動平面
上で左列か同列にあれば、50点コストに加算する。仕
事4は、仕事2が終了した2時間後に実行しなければな
らないので、”仕事4の左”は、”仕事2の右”に2加
算した列より移動平面上で左列か同列にあれば、50点
コストに加算する。
【0010】ここでは、コストが低い程、最適な配置と
なり、コストが0であれば、制約条件を満たしたスケジ
ューリングとなる。
なり、コストが0であれば、制約条件を満たしたスケジ
ューリングとなる。
【0011】最後に、最適化手段1205は、以上の情
報に基づき、最適化を実行する。この例では、山登り法
による最適化を説明する。まず、ランダムに組合せ単位
を選択し、それを移動平面上で左または右に移動する。
移動する前のコストと移動した後のコストを比較し、コ
ストが低い状態を採用する。この操作を繰り返し、コス
トの低い組合せ単位の配置つまりスケジュールを探索し
ていき、満足のいく状態になったとき、停止する。その
時の配置が解となる。
報に基づき、最適化を実行する。この例では、山登り法
による最適化を説明する。まず、ランダムに組合せ単位
を選択し、それを移動平面上で左または右に移動する。
移動する前のコストと移動した後のコストを比較し、コ
ストが低い状態を採用する。この操作を繰り返し、コス
トの低い組合せ単位の配置つまりスケジュールを探索し
ていき、満足のいく状態になったとき、停止する。その
時の配置が解となる。
【0012】
【発明が解決しようとする課題】しかしながら、上記従
来の方法では、第1にスケジュールやレイアウトなどの
組合せ最適化問題に応じて作成の困難な最適化手段を含
めてすべての定義手段を作り直す必要があり、組合せ単
位定義手段では複雑な組合せ単位の形状を容易に作成で
きないという問題点があった。
来の方法では、第1にスケジュールやレイアウトなどの
組合せ最適化問題に応じて作成の困難な最適化手段を含
めてすべての定義手段を作り直す必要があり、組合せ単
位定義手段では複雑な組合せ単位の形状を容易に作成で
きないという問題点があった。
【0013】第2に、最適化手法に応じて、実行時間や
解の精度が異なるにも関わらず、最適化手法を問題に応
じて選択できないという問題点があった。
解の精度が異なるにも関わらず、最適化手法を問題に応
じて選択できないという問題点があった。
【0014】本発明は、上記問題点に鑑み、第1に、組
合せ最適化問題で共通な最適化手段とその他の部分を分
離して、異なる組合せ最適化問題を容易に解決でき、移
動平面と組合せ単位を視覚的に容易に定義できるように
した組合せ最適化装置を提供することを目的とするもの
である。
合せ最適化問題で共通な最適化手段とその他の部分を分
離して、異なる組合せ最適化問題を容易に解決でき、移
動平面と組合せ単位を視覚的に容易に定義できるように
した組合せ最適化装置を提供することを目的とするもの
である。
【0015】本発明は第2に、最適化手法を複数用意し
て、問題に応じた最適化手法を自由に選択できるように
した組合せ最適化装置を提供することを目的とするもの
である。
て、問題に応じた最適化手法を自由に選択できるように
した組合せ最適化装置を提供することを目的とするもの
である。
【0016】
【課題を解決するための手段】本発明は、上記第1の目
的を達成するため、組合せ単位が移動する平面である移
動平面の形状と移動平面上の点の名称を視覚的に定義す
る視覚的移動平面定義手段と、移動平面上を移動する組
合せ単位の形状と組合せ単位上の点の名称を視覚的に定
義する視覚的組合せ単位定義手段と、移動平面上を組合
せ単位が移動できる種類を定義する移動種類定義手段
と、移動平面上の組合せ移動単位の位置に対応して組合
せの善し悪しの尺度であるコストを定義するコスト定義
手段と、これら各定義手段により定義された情報に基づ
き、コストが極大または極小となる移動平面上の組合せ
単位の最適な配置と最適な組合せを求める自動最適化手
段とを備えたものである。
的を達成するため、組合せ単位が移動する平面である移
動平面の形状と移動平面上の点の名称を視覚的に定義す
る視覚的移動平面定義手段と、移動平面上を移動する組
合せ単位の形状と組合せ単位上の点の名称を視覚的に定
義する視覚的組合せ単位定義手段と、移動平面上を組合
せ単位が移動できる種類を定義する移動種類定義手段
と、移動平面上の組合せ移動単位の位置に対応して組合
せの善し悪しの尺度であるコストを定義するコスト定義
手段と、これら各定義手段により定義された情報に基づ
き、コストが極大または極小となる移動平面上の組合せ
単位の最適な配置と最適な組合せを求める自動最適化手
段とを備えたものである。
【0017】本発明は、上記第2の目的を達成するた
め、自動最適化手段が、最適化時間により任意に最適化
方法を選択できる最適化方法選択手段を備えたものであ
る。
め、自動最適化手段が、最適化時間により任意に最適化
方法を選択できる最適化方法選択手段を備えたものであ
る。
【0018】
【作用】本発明は、上記第1の構成によって、組合せ最
適化問題によって異なる移動平面を定義する手段と組合
せ単位を定義する手段と移動種類を定義する手段と、こ
れらに対し組合せ単位の最適な配置と最適な組合せを求
める共通な最適化手段とを分離し、異なる組合せ最適化
問題でも移動平面の定義、組合せ単位の定義、移動種類
の定義を変更するだけで、作成の難しい最適化手段を意
識することなく、解を得ることができる。また、移動平
面や組合せ単位の形状や特別な点の名称を視覚的に容易
に定義することができる。
適化問題によって異なる移動平面を定義する手段と組合
せ単位を定義する手段と移動種類を定義する手段と、こ
れらに対し組合せ単位の最適な配置と最適な組合せを求
める共通な最適化手段とを分離し、異なる組合せ最適化
問題でも移動平面の定義、組合せ単位の定義、移動種類
の定義を変更するだけで、作成の難しい最適化手段を意
識することなく、解を得ることができる。また、移動平
面や組合せ単位の形状や特別な点の名称を視覚的に容易
に定義することができる。
【0019】本発明は、上記第2の構成によって、組合
せ最適化問題に応じた適切な最適化手法を選択すること
ができる。
せ最適化問題に応じた適切な最適化手法を選択すること
ができる。
【0020】
(実施例1)以下、図面を参照しながら本発明の第1の
実施例について説明する。図1は本発明の第1の実施例
における組合せ最適化装置の構成を示すブロック図であ
る。図1において、101は視覚的移動平面定義手段、
102は視覚的組合せ単位定義手段、103は移動種類
定義手段、104はコスト定義手段、105は自動最適
化手段である。
実施例について説明する。図1は本発明の第1の実施例
における組合せ最適化装置の構成を示すブロック図であ
る。図1において、101は視覚的移動平面定義手段、
102は視覚的組合せ単位定義手段、103は移動種類
定義手段、104はコスト定義手段、105は自動最適
化手段である。
【0021】以上のような構成を備えた組合せ最適化装
置において、以下、その動作について説明する。組合せ
最適化装置の使用者は、まず、図1の視覚的移動平面定
義手段101によって、図2に示す移動平面の形状と移
動平面特別点を定義する。図2は移動平面の形状を定義
している。具体的な方法としては、マウスなどの入力装
置を使用して、移動平面作成面201の上に移動平面2
02の形状を定義する。また、ある点に対して、制約条
件を与えるために、移動平面特別点203を定義する。
例えば、レイアウト問題などを想定した場合、柱の位置
や窓の位置を移動平面特別点とする。
置において、以下、その動作について説明する。組合せ
最適化装置の使用者は、まず、図1の視覚的移動平面定
義手段101によって、図2に示す移動平面の形状と移
動平面特別点を定義する。図2は移動平面の形状を定義
している。具体的な方法としては、マウスなどの入力装
置を使用して、移動平面作成面201の上に移動平面2
02の形状を定義する。また、ある点に対して、制約条
件を与えるために、移動平面特別点203を定義する。
例えば、レイアウト問題などを想定した場合、柱の位置
や窓の位置を移動平面特別点とする。
【0022】次に使用者は、図1の視覚的組合せ単位定
義手段102により、組合せ単位を定義する。図3は、
組合せ単位の定義手段を示す図である。図2の移動平面
202のように、視覚的移動平面定義手段101で定義
された移動平面が図3に示す移動平面301である。移
動平面301の点は、左上を原点として、X座標とY座
標を対応させる。組合せ単位(1)302と組合せ単位
(2)303が、定義された組合せ単位である。図4は
組合せ単位を示した図である。組合せ単位401の座標
も移動平面と同様に、左上を原点とする。組合せ単位特
別点(1)402と組合せ単位特別点(2)403も定
義される。
義手段102により、組合せ単位を定義する。図3は、
組合せ単位の定義手段を示す図である。図2の移動平面
202のように、視覚的移動平面定義手段101で定義
された移動平面が図3に示す移動平面301である。移
動平面301の点は、左上を原点として、X座標とY座
標を対応させる。組合せ単位(1)302と組合せ単位
(2)303が、定義された組合せ単位である。図4は
組合せ単位を示した図である。組合せ単位401の座標
も移動平面と同様に、左上を原点とする。組合せ単位特
別点(1)402と組合せ単位特別点(2)403も定
義される。
【0023】上記動作を従来例で示したスケジュール問
題を解く方法について応用してみる。まず図5に示すよ
うに、視覚的移動平面定義手段101により、移動平面
作成面501上にスケジュール問題の移動平面502を
定義する。次いで図6に示すように、視覚的組合せ単位
定義手段102により、定義された移動平面502であ
る移動平面601上に組合せ単位であるblock1(602),bl
ock2(603),block3(604),block4(605) を定義する。ま
た、組合せ単位特別点であるblock1.right(606),block
2.left(607),block2.right(608),block3.left(609),blo
ck3.right(610) とblock4.left(611)も同様に定義され
る。移動平面601は、スケジュール表を示し、組合せ
単位(602〜605)は、仕事を示している。
題を解く方法について応用してみる。まず図5に示すよ
うに、視覚的移動平面定義手段101により、移動平面
作成面501上にスケジュール問題の移動平面502を
定義する。次いで図6に示すように、視覚的組合せ単位
定義手段102により、定義された移動平面502であ
る移動平面601上に組合せ単位であるblock1(602),bl
ock2(603),block3(604),block4(605) を定義する。ま
た、組合せ単位特別点であるblock1.right(606),block
2.left(607),block2.right(608),block3.left(609),blo
ck3.right(610) とblock4.left(611)も同様に定義され
る。移動平面601は、スケジュール表を示し、組合せ
単位(602〜605)は、仕事を示している。
【0024】次に移動種類定義手段103により、組合
せ単位が移動できる種類を以下のように決定する。
せ単位が移動できる種類を以下のように決定する。
【0025】上記記述において、begin {movement}か
らend {movement}までの範囲が移動種類定義手段10
3により定義された記述である。begin {block1}から
end{block1}までの範囲がblock1つまり仕事1に関す
る記述である。x-direction= on; という記述は、block
1がX軸方向に動く自由度があることを示している。y-d
irection = off;という記述は、Y軸方向に動く自由度
がないということを示している。rotation = off; とい
う記述は、block1が、回転する自由度がないということ
を示している。つまり、このスケジューリング問題は、
組合せ単位のX軸方向の適当な配置を決定する問題とし
て表現できる。
らend {movement}までの範囲が移動種類定義手段10
3により定義された記述である。begin {block1}から
end{block1}までの範囲がblock1つまり仕事1に関す
る記述である。x-direction= on; という記述は、block
1がX軸方向に動く自由度があることを示している。y-d
irection = off;という記述は、Y軸方向に動く自由度
がないということを示している。rotation = off; とい
う記述は、block1が、回転する自由度がないということ
を示している。つまり、このスケジューリング問題は、
組合せ単位のX軸方向の適当な配置を決定する問題とし
て表現できる。
【0026】次にコスト定義手段104により、組合せ
の良し悪しの尺度を決定するコストを以下のうように定
義する。 begin {cost} cost = 0; if(not(get-x-point(block1. 3,0 ) < get-x-point(block3. 0,0 ))) cost = cost + 50; if(not(get-x-point(block3. 2,0 ) < get-x-point(block2. 0,0 ))) cost = cost + 50; if(not(get-x-point(block2. 2,0 ) + 2 < get-x-point(block4. 0,0 ) )) cost = cost + 50; end {cost}
の良し悪しの尺度を決定するコストを以下のうように定
義する。 begin {cost} cost = 0; if(not(get-x-point(block1. 3,0 ) < get-x-point(block3. 0,0 ))) cost = cost + 50; if(not(get-x-point(block3. 2,0 ) < get-x-point(block2. 0,0 ))) cost = cost + 50; if(not(get-x-point(block2. 2,0 ) + 2 < get-x-point(block4. 0,0 ) )) cost = cost + 50; end {cost}
【0027】上記記述において、begin {cost}からen
d {cost}までが、コストの定義に関する記述である。
block1. 3,0 は、block1のX座標が3、Y座標が0を示
す。get-x-point(block1. 3,0 ) という関数は、その点
の移動平面でのX座標を求める関数である。not(get-x-
point(block1. 3,0 ) < get-x-point(block3. 0,0 ))
は、block1がblock3より同じか右側にあることを示して
おり、そのとき、コストは50加算される。これは、次
の制約条件を表現している。 ・仕事3は、仕事1が終了した後に実行する。 このように、コストが高い程、制約条件が満たされてい
ないことを示している。この問題を解くためには、cost
= 0の組合せ単位の配置を求めることである。また、直
接、座標を入力するのではなく、組合せ単位特別点とし
て、入力すれば、定義しやすく、理解しやすい形式にな
る。組合せ単位特別点で表現すると以下のようになる。 begin {cost} cost = 0; if(not(get-x-point(block1.right) < get-x-point(block3.left))) cost = cost + 50; if(not(get-x-point(block3.right) < get-x-point(block2.left))) cost = cost + 50; if(not(get-x-point(block2.right) + 2 < get-x-point(block4.left)) ) cost = cost + 50; end {cost} 使用者は、以上の情報だけを定義する。以後の処理は、
自動最適化手段105が最適化を自動的に実行する。最
適化の手法は、いろいろ考えられるが、本実施例では、
山登り法によるアルゴリズムを説明する。まず、組合せ
最適化単位をランダムに1つ選択する。それを移動平面
上で移動種類の定義に従って、移動できる場所をランダ
ムに選択する。その新しい配置に対して、コスト定義に
従って、コストを計算する。もし、新しいコストが、移
動前のコストより低いならば、新しい配置を採用する。
この操作を繰り返し行なうことで、コストの低い最適な
配置を求めていく。最終的に得られた最適化結果が、図
7である。
d {cost}までが、コストの定義に関する記述である。
block1. 3,0 は、block1のX座標が3、Y座標が0を示
す。get-x-point(block1. 3,0 ) という関数は、その点
の移動平面でのX座標を求める関数である。not(get-x-
point(block1. 3,0 ) < get-x-point(block3. 0,0 ))
は、block1がblock3より同じか右側にあることを示して
おり、そのとき、コストは50加算される。これは、次
の制約条件を表現している。 ・仕事3は、仕事1が終了した後に実行する。 このように、コストが高い程、制約条件が満たされてい
ないことを示している。この問題を解くためには、cost
= 0の組合せ単位の配置を求めることである。また、直
接、座標を入力するのではなく、組合せ単位特別点とし
て、入力すれば、定義しやすく、理解しやすい形式にな
る。組合せ単位特別点で表現すると以下のようになる。 begin {cost} cost = 0; if(not(get-x-point(block1.right) < get-x-point(block3.left))) cost = cost + 50; if(not(get-x-point(block3.right) < get-x-point(block2.left))) cost = cost + 50; if(not(get-x-point(block2.right) + 2 < get-x-point(block4.left)) ) cost = cost + 50; end {cost} 使用者は、以上の情報だけを定義する。以後の処理は、
自動最適化手段105が最適化を自動的に実行する。最
適化の手法は、いろいろ考えられるが、本実施例では、
山登り法によるアルゴリズムを説明する。まず、組合せ
最適化単位をランダムに1つ選択する。それを移動平面
上で移動種類の定義に従って、移動できる場所をランダ
ムに選択する。その新しい配置に対して、コスト定義に
従って、コストを計算する。もし、新しいコストが、移
動前のコストより低いならば、新しい配置を採用する。
この操作を繰り返し行なうことで、コストの低い最適な
配置を求めていく。最終的に得られた最適化結果が、図
7である。
【0028】以上のように、上記第1の実施例によれば
処理が困難な最適化手法を知らなくても、使用者は、問
題に応じた部分を簡単に定義するだけで、組合せ最適化
問題を解くことが可能である。また、定義方法を視覚的
に示したことで、容易に問題に応じた移動平面や組合せ
単位の形状を定義することが可能である。
処理が困難な最適化手法を知らなくても、使用者は、問
題に応じた部分を簡単に定義するだけで、組合せ最適化
問題を解くことが可能である。また、定義方法を視覚的
に示したことで、容易に問題に応じた移動平面や組合せ
単位の形状を定義することが可能である。
【0029】(実施例2)次に、図8、図9および図1
0を参照しながら本発明の第2の実施例について説明す
る。この第2の実施例では、本発明をレイアウト問題に
適用した例を示す。装置の構成は図1と同じなので、動
作についてのみ述べる。
0を参照しながら本発明の第2の実施例について説明す
る。この第2の実施例では、本発明をレイアウト問題に
適用した例を示す。装置の構成は図1と同じなので、動
作についてのみ述べる。
【0030】本実施例における、レイアウト問題は次の
ような問題である。 ・部品1と部品2は、部品3から遠ざけたい。 ・部品1と部品2を近くに置きたい。
ような問題である。 ・部品1と部品2は、部品3から遠ざけたい。 ・部品1と部品2を近くに置きたい。
【0031】最初に、図8に示すように、移動平面作成
面801上で移動平面802を作成する。具体的には、
プリント基板のようなものが想定できる。次に、図9に
示すように、各組合せ単位の形状を定義する。定義され
た組合せ単位が、block1(902)、block2(90
3)、block3(904)である。さらに、組合せ単位上
に組合せ単位特別点を定義する。定義された組合せ単位
特別点は、block1.center(905)、block2.center
(906)、block3.center (907)である。
面801上で移動平面802を作成する。具体的には、
プリント基板のようなものが想定できる。次に、図9に
示すように、各組合せ単位の形状を定義する。定義され
た組合せ単位が、block1(902)、block2(90
3)、block3(904)である。さらに、組合せ単位上
に組合せ単位特別点を定義する。定義された組合せ単位
特別点は、block1.center(905)、block2.center
(906)、block3.center (907)である。
【0032】次に移動種類を定義する。
【0033】上記各組合せ単位は、xy軸の両方向に移動
できることを示しており、回転も可能なことを示してい
る。次に、コストは、以下のように定義される。 begin {cost} cost = 0; cost = cost + 1/distance(block1.center, block3.center); cost = cost + 1/distance(block2.center, block3.center); cost = cost + distance(block1.center, block2.center); end {cost} distanceは、ある点とある点との距離を求める関数であ
る。この定義に基づいて、自動最適化手段105が最適
化を実行する。図10は最適化された結果である。
できることを示しており、回転も可能なことを示してい
る。次に、コストは、以下のように定義される。 begin {cost} cost = 0; cost = cost + 1/distance(block1.center, block3.center); cost = cost + 1/distance(block2.center, block3.center); cost = cost + distance(block1.center, block2.center); end {cost} distanceは、ある点とある点との距離を求める関数であ
る。この定義に基づいて、自動最適化手段105が最適
化を実行する。図10は最適化された結果である。
【0034】以上のように、上記第2の実施例によれ
ば、処理が困難な最適化手法を知らなくても、使用者
は、問題に応じた部分を簡単に定義するだけで、組合せ
最適化問題を解くことが可能である。また、定義方法を
視覚的にしたことで、容易に問題に応じた移動平面や組
合せ単位の形状を定義することが可能である。
ば、処理が困難な最適化手法を知らなくても、使用者
は、問題に応じた部分を簡単に定義するだけで、組合せ
最適化問題を解くことが可能である。また、定義方法を
視覚的にしたことで、容易に問題に応じた移動平面や組
合せ単位の形状を定義することが可能である。
【0035】(実施例3)次に、図11を参照して本発
明の第3の実施例について説明する。この第3の実施例
では、図1における自動最適化手段105の代わりに、
最適化方法選択手段1101を有する自動最適化手段1
05Aを使用する。
明の第3の実施例について説明する。この第3の実施例
では、図1における自動最適化手段105の代わりに、
最適化方法選択手段1101を有する自動最適化手段1
05Aを使用する。
【0036】以上のような構成において、以下、その動
作について説明する。最適化手法は、高速な手法は最適
な解が得られにくく、最適な解を得るには、処理時間を
多く必要とするため、どのような問題でも適用できる万
能な手法は、存在しない。そのため、最適化を実行する
とき、図11に示す最適化方法選択手段1101によ
り、適切な最適化方法を選択して、最適化を実行する。
図11では、シミュレーティッド・アニーリングという
手法が選択されている。
作について説明する。最適化手法は、高速な手法は最適
な解が得られにくく、最適な解を得るには、処理時間を
多く必要とするため、どのような問題でも適用できる万
能な手法は、存在しない。そのため、最適化を実行する
とき、図11に示す最適化方法選択手段1101によ
り、適切な最適化方法を選択して、最適化を実行する。
図11では、シミュレーティッド・アニーリングという
手法が選択されている。
【0037】以上のように、上記第3の実施例によれ
ば、自動最適化手段105Aが、最適化方法選択手段1
101を備えることにより、使用者が選択する最適化時
間により、任意に最適化方法を選択できる。
ば、自動最適化手段105Aが、最適化方法選択手段1
101を備えることにより、使用者が選択する最適化時
間により、任意に最適化方法を選択できる。
【0038】
【発明の効果】本発明は、上記各実施例から明らかなよ
うに、第1の効果は、処理が困難な最適化手法を知らな
くても、使用者は、問題に応じた部分を簡単に定義する
だけで、組合せ最適化問題を解くことができることであ
る。また、定義方法を視覚的にしたことで、容易に問題
に応じた移動平面や組合せ単位の形状を定義することが
可能である。
うに、第1の効果は、処理が困難な最適化手法を知らな
くても、使用者は、問題に応じた部分を簡単に定義する
だけで、組合せ最適化問題を解くことができることであ
る。また、定義方法を視覚的にしたことで、容易に問題
に応じた移動平面や組合せ単位の形状を定義することが
可能である。
【0039】また本発明の第2の効果は、自動最適化手
段が最適化方法選択手段を備えることにより、使用者が
選択する最適化時間により、任意に最適化方法を選択で
きることである。
段が最適化方法選択手段を備えることにより、使用者が
選択する最適化時間により、任意に最適化方法を選択で
きることである。
【図1】本発明の第1および第2の実施例における組合
せ最適化装置の構成を示すブロック図
せ最適化装置の構成を示すブロック図
【図2】本発明の第1の実施例における視覚的移動平面
定義手段の動作を説明するための模式図
定義手段の動作を説明するための模式図
【図3】本発明の第1の実施例における視覚的組合せ単
位定義手段の動作を説明するための模式図
位定義手段の動作を説明するための模式図
【図4】本発明の第1の実施例における組合せ単位の模
式図
式図
【図5】本発明の第1の実施例におけるスケジュール問
題の視覚的移動平面定義手段の作動を説明するための模
式図
題の視覚的移動平面定義手段の作動を説明するための模
式図
【図6】本発明の第1の実施例におけるスケジュール問
題の視覚的組合せ単位定義手段の動作を説明するための
模式図
題の視覚的組合せ単位定義手段の動作を説明するための
模式図
【図7】本発明の第1の実施例における最適化された結
果を示す模式図
果を示す模式図
【図8】本発明の第2の実施例における視覚的移動平面
定義手段の動作を説明するための模式図
定義手段の動作を説明するための模式図
【図9】本発明の第2の実施例における視覚的組合せ単
位定義手段の動作を説明するための模式図
位定義手段の動作を説明するための模式図
【図10】本発明の第2の実施例における最適化された
結果を示す模式図
結果を示す模式図
【図11】本発明の第3の実施例における組合せ最適化
装置の構成を示すブロック図
装置の構成を示すブロック図
【図12】従来の組合せ最適化装置の構成を示すブロッ
ク図
ク図
101 視覚的移動平面定義手段 102 視覚的組合せ単位定義手段 103 移動種類定義手段 104 コスト定義手段 105、105A 自動最適化手段 1101 最適化方法選択手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野 島 晋 二 大阪府門真市大字門真1006番地 松下電器 産業株式会社内
Claims (2)
- 【請求項1】 組合せ単位が移動する平面である移動平
面の形状と移動平面上の点の名称を視覚的に定義する視
覚的移動平面定義手段と、前記移動平面上を移動する組
合せ単位の形状と組合せ単位上の点の名称を視覚的に定
義する視覚的組合せ単位定義手段と、前記移動平面上を
前記組合せ単位が移動できる種類を定義する移動種類定
義手段と、前記移動平面上の前記組合せ移動単位の位置
に対応して組合せの善し悪しの尺度であるコストを定義
するコスト定義手段と、前記各定義手段により定義され
た情報に基づき、コストが極大または極小となる移動平
面上の組合せ単位の最適な配置と最適な組合せを求める
自動最適化手段とを備えた組合せ最適化装置。 - 【請求項2】 自動最適化手段が、最適化時間により任
意に最適化方法を選択できる最適化方法選択手段を備え
ていることを特徴とする請求項1記載の組合せ最適化装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13715993A JP3095313B2 (ja) | 1993-06-08 | 1993-06-08 | 組合せ最適化装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13715993A JP3095313B2 (ja) | 1993-06-08 | 1993-06-08 | 組合せ最適化装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06348684A true JPH06348684A (ja) | 1994-12-22 |
| JP3095313B2 JP3095313B2 (ja) | 2000-10-03 |
Family
ID=15192204
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13715993A Expired - Fee Related JP3095313B2 (ja) | 1993-06-08 | 1993-06-08 | 組合せ最適化装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3095313B2 (ja) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6226510A (ja) * | 1985-07-26 | 1987-02-04 | Mitsubishi Electric Corp | 工程計画情報処理装置 |
| JPS63163671A (ja) * | 1986-12-26 | 1988-07-07 | Toshiba Corp | 割当て決定支援方式 |
| JPH01266602A (ja) * | 1988-04-19 | 1989-10-24 | Sekisui Chem Co Ltd | 生産工程表の作成方法 |
| JPH02105969A (ja) * | 1988-10-14 | 1990-04-18 | Hitachi Ltd | 最適化問題処理方法および装置 |
| JPH02226468A (ja) * | 1989-02-28 | 1990-09-10 | Fujitsu Ltd | スケジューリング処理装置 |
| JPH03149162A (ja) * | 1989-10-30 | 1991-06-25 | Nec Corp | 同期生産スケジユーリング立案装置 |
| JPH0410165A (ja) * | 1990-04-27 | 1992-01-14 | Hitachi Ltd | 最適計画作成方法 |
-
1993
- 1993-06-08 JP JP13715993A patent/JP3095313B2/ja not_active Expired - Fee Related
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6226510A (ja) * | 1985-07-26 | 1987-02-04 | Mitsubishi Electric Corp | 工程計画情報処理装置 |
| JPS63163671A (ja) * | 1986-12-26 | 1988-07-07 | Toshiba Corp | 割当て決定支援方式 |
| JPH01266602A (ja) * | 1988-04-19 | 1989-10-24 | Sekisui Chem Co Ltd | 生産工程表の作成方法 |
| JPH02105969A (ja) * | 1988-10-14 | 1990-04-18 | Hitachi Ltd | 最適化問題処理方法および装置 |
| JPH02226468A (ja) * | 1989-02-28 | 1990-09-10 | Fujitsu Ltd | スケジューリング処理装置 |
| JPH03149162A (ja) * | 1989-10-30 | 1991-06-25 | Nec Corp | 同期生産スケジユーリング立案装置 |
| JPH0410165A (ja) * | 1990-04-27 | 1992-01-14 | Hitachi Ltd | 最適計画作成方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3095313B2 (ja) | 2000-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103995771B (zh) | 任务进度展示方法及系统 | |
| JP2019171501A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
| US7098933B1 (en) | Acquiring and unacquiring alignment and extension points | |
| JP2019171498A (ja) | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム | |
| JP2000003384A5 (ja) | ||
| US5852442A (en) | Method of drawing a three-dimensional object | |
| JP2806312B2 (ja) | 図形入力装置 | |
| US20060066610A1 (en) | Method, device, and computer program product for displaying 3D grid in designing configuration model | |
| JPH06348684A (ja) | 組合せ最適化装置 | |
| JP2019171499A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
| JPH0896001A (ja) | フロー図編集装置 | |
| JP2003245843A (ja) | 加工装置および加工方法 | |
| JP2002329212A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
| JP2019171500A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
| JP2872854B2 (ja) | 図形処理方法及びその装置 | |
| JP3463257B2 (ja) | 機能選択画面表示方法と保守ツール | |
| JPH0916794A (ja) | 図形指示における視覚的フィードバック方法 | |
| JP4666877B2 (ja) | 画像処理装置 | |
| JPH0215304A (ja) | 数値制御情報作成方法 | |
| JPH0683884A (ja) | Cad/cam装置におけるパラメータ設定方法 | |
| JPH08171646A (ja) | 図形作成装置 | |
| JPH06149944A (ja) | 3次元cad装置 | |
| JPH09134396A (ja) | 表処理装置 | |
| JP2004288061A (ja) | プログラム及びユーザインターフェース並びにプログラムを記録したコンピュータ読取り可能な記録媒体 | |
| JP2006120034A (ja) | 設計データ生成システム、設計データ生成方法、設計データ生成プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |