CELLULAR DATA SYSTEM

お問合せ・サポート
Volume×Velocity×Variety=CDS
  • このエントリーをはてなブックマークに追加

CDSデータモデルを用いた実施例
「部品表のテーマ チャーハン問題編」製造計画の最適化シミュレーション

課題の背景

対象商品のライフサイクルが短く、モデルの組み合わせ(スペック表)の多い製造業では、商品のライフエンド時にキーパーツの在庫をいかに減らすかが求められます。他品種過ぎる製造形態のため、販売予測は当たらず、ユーザーは気まぐれ。一方で、残材になりそうなキーパーツの組み合わせからどんな製品が出来るかを逆展開し、戦略的に販売を仕掛けることでキーパーツの在庫を極力減らすことができるとの発想をすると、面白いことができそうです。今あるモノで何がすぐできるか?いわゆる「チャーハン問題」を検討します。

今持っている部品在庫からどの製品モデル(8種)を何台作る組み合わせが
在庫金額が一番少なくなるか?

課題イラスト

課題の要求に対して、CDSを利用したAPを開発し、その出力結果を確認します。

処理 入力データ CDSデータ CDS APIを使用した
アプリケーション
1.製品から部品を見たCDSデータの作成

製品の「部品構成マスタ」と部品の「品目マスタ」を用いて、CDSデータ設計を行いCDSデータを作成。

製品の
部品構成マスタ

部品の
品目マスタ

CDSデータ1

製品から部品を見たCDSデータ

 
2.目的結果出力のための「計算式P」のCDSデータ作成

CDSデータ1からCDS APIを使用して、num iを変数とする各製品作製の総金額を表す計算式PのCDSデータを取得する

 

目的結果出力のための
「計算式P」のCDSデータ

CDS APIを使用した
アプリケーション

3.部品から製品を見たCDSデータの作成

CDS APIを用いて部品中心に組み換えを行う

 

CDSデータ2

部品から製品を見たCDSデータ

CDS APIを使用した
アプリケーション

4.付与条件の取得

各部品においてnum iの和と現状の在庫数の積を項とするCDSデータを作成

在庫マスタ

付与条件のCDSデータ

CDS APIを使用した
アプリケーション

5.応用CDS APIを使用した付与条件の絞り込み

応用CDS APIを使用した付与条件の絞り込み

 

絞り込み後の付与条件のCDSデータ

CDS APIを使用した
アプリケーション

6.出力APを使用し結果を出力

各製品の台数出力AP

出力結果

出力結果

CDS APIを使用した
アプリケーション

1. 製品から部品を見たCDSデータの作成

製品の「部品構成マスタ」と部品の「品目マスタ」を用いて、CDSデータ設計を行いCDSデータを作成。

製品から部品をみたCDSデータ設計

製品 名i×メーカー i×(∑部品コード j×部品単価j)×num i 要求を満たす各製品 i の作製台数を変数num i と定義 変数の埋め込みが可能

この設計に基づいて製品・メーカーに注目して部品構成・単価・台数を表すCDSデータを作成すると以下になる

製品から部品をみたCDSデータ(CDSデータ1)

iPhone3GS×C Inc.×(338S0589×3.30+PMB8878×17.00+X-Gold 606×17.00+BT421560×3.40+BCM4325×3.70+
3.0 MP CMOS×10.50+SKY77340-21×0.80+TQM616035A×6.55+TQM666032A×6.58+TQM676031A×4.50+
PMB2525×1.98+AK8973×1.80+36MY1EE×18.00+K4X2G303PD-9GC8×86.00+TH58NVG8D2ELA89×95.00+
LIS331DL×1.90+338S0768-AE×5.76+X-PMV 610 PMB6820×3.30+339S0101×86.00+S5PC100×19.00+
BCM5974×40.00+PMB6952×32.50)×num1+iPad×A Inc.×(338S0589×3.30+PMB8878×17.00+X-Gold 606×17.00+
BT422915×4.40+BCM4329×3.80+SKY77340-21×0.80+TQM616035A×6.55+TQM666032A×6.58+
TQM676031A×4.50+BCM4750×2.30+AK8973×1.80+36MY1EE×18.00+K9HDG08U5M-LCB0×76.00+
LIS331DLH×2.25+S6T2MLC×6.25+X-PMV 610 PMB6820×6.14+A4×13.00+BCM5973×40.00+
PMB6952×32.50)×num2+iPhone4×D Inc.×(...)×num3+iPhone4 CDMA×B Inc.×(...)×num4+
iPad2×A Inc.×(...)×num5+iPad2×B Inc.×(...)×num6+iPhone4S WCDMA/CDMA×D Inc.×(...)×num7+iPad3×D Inc.(...)×num8

2. 課題を満たす計算式PのCDSデータの作成

CDSデータ1からCDS APIを使用して、num iを変数とする各製品作製の総金額を表す計算式PのCDSデータを取得する

計算式P

P = num1×397.41+num7×349.9+num3×281.55+num2×262.17+num6×255.91+num8×233.77+num5×218.65+num4×209.86

応用API mask(num,[1-9])

Pを文字の式で表すと以下になる

製品作製の総金額=製品1の台数×製品1を作るための材料の費用+製品2の台数×製品2を作るための材料の費用+製品3の台数×製品3を作るための材料の費用+...

“課題”の目的はこのP(製品作製の総金額)が最大になること

3.部品から製品を見たCDSデータ作成と付与条件の取得

製品から部品をみたCDSデータ設計

製品 名i×メーカー i×(∑部品コード j×部品単価j)×num i

CDS APIを用いて部品中心に組み換えを行う

部品から製品をみたCDSデータ設計

∑ {∑ 製品名i×メーカー i部品コード j×部品単価 j×{∑ num i}

CDS APIのgetSubFormula(部品コード j)

【CDSのココが凄い!】

データの同値関係を保ちながらデータの構成を自在に変換できる

部品から製品をみたCDSデータ(CDSデータ2)の作成

{iPhone3GS×C Inc.+iPad A Inc.+iPhone4×D Inc.+iPhone4×CDMA B Inc.338S0589×3.30×{num1+num2+num3+num4}+{iPad2×A Inc.+iPad2×B Inc.338S0940×3.00×{num5+num6}+{iPad3×D Inc.338S0987×3.00×{num8}+{iPhone4S×WCDMA/CDMA×D Inc.CLI560B0×3.30×{num7}+{iPhone4 CDMA×B Inc.+iPad2×B Inc.MDM6600×19.05×{num4+num6}+...

4. 付与条件の取得

CDSデータ2においてnum iの和と、現状の在庫マスタから在庫数の積を項とするCDSデータを作成

付与条件のCDSデータ

(num1+num2+num3+num4)×200000+(num5+num6)×10000+num8×50000+num7×3000+(num4+num6)×240000+...

これは、以下の意味となる(“付与条件”と呼ぶ)

(num1+num2+num3+num4)<=200000 & (num5+num6)<=10000 & num8<=50000 & num7<=3000 &(num4+num6)<=240000 &...

これを文字の式で表すと以下になる

(部品1を使用する製品1+部品1を使用する製品2+部品1を使用する製品3+部品1を使用する製品4)<=20000 と (部品2を使用する製品5+部品2を使用する製品6)<=10000 と 部品3を使用する製品7<=50000 と 部品4を使用する製品8<=3000...

【解説!】

使用される各部品から見て、その部品を使用した製品数の合計は当該部品の在庫数を超えることはない

5. 応用CDS APIを使用した付与条件の絞り込み

応用CDS API(*1)を使用した付与条件の絞り込みを行う

在庫マスタから在庫数の積を項とするCDSデータ

応用CDS API(*1)を使用した付与条件の絞り込み(*2)

num4×120000+num7×3000+num8×50000+(num1+num2)×10000+(num3+num5+num6)×10000

これは、以下の意味となる

num4<=120000 & num7<=3000 & num8<=50000 & (num1+num2)<=10000 & (num3+num5+num6)<=10000

*1:応用CDS API

数値因子を利用した数値計算処理

加算の例
A×3+A×2 => A×5
乗算の例
(A×3)×2 => A×6

【CDSのココが凄い!】

CDSデータに数値を埋め込むことでCDSデータ上での四則演算が可能

【解説!】数値因子を使用した数値計算処理のAPIを利用すればシンプルに絞り込みのロジックを記述できる

*2:付与条件の絞り込み絞り込みのロジックは以下

l, m, n を 0 < l < m < l + m < n を満たす整数とする

num i <= l, num i <= m

num i <= l

(num i + num j) <= l,
num i <= m

(num i + num j) <= l

(num i + num j) <= n,
num i <= l
num j <= m

num i <= l
num j <= m

6. 出力APを使用し結果を出力

目的結果出力のための計算式PのCDSデータ

num1×397.41+num7×349.9+num3×281.55+num2×262.17+num6×255.91+num8×233.77+num5×218.65+num4×209.86

付与条件のCDSデータ

num4×120000+num7×3000+num8×50000+(num1+num2)×10000+(num3+num5+num6)×10000

各製品の台数出力AP(*3)

出力結果

num1×10000+num2×0+num3×10000+num4×120000+num5×0+num6×0+num7×3000+num8×50000

*3:付与条件と計算式Pからnum iの求め方

付与条件と計算式Pより

num4<=120000,
num7<=3000,
num8<=50000

→無条件に各最大値に確定
num4=120000, num7=3000, num8=50000

(num1+num2)<=10000

→計算式Pにおいて、num1の係数397.41 > num2の係数262.17 より、num1=10000, num2=0 に確定

(num3+num5+num6)<=10000

→計算式Pにおいて、num3の係数281.55 > num6の係数255.91 > num5の係数218.65より、num3=10000, num5=0, num6=0 に確定

【解説!】在庫金額を償却するためには、より材料費が高い製品をつくる必要があるため、係数が高いものが選ばれる。

結果

出力結果から、課題の答えは以下となる。

Model Num
iPhone3GS C Inc. 10000(=num1)
iPad A Inc. 0(=num2)
iPhone4 D Inc. 10000(=num3)
iPhone4 CDMA B Inc. 120000(=num4)
iPad2 A Inc. 0(=num5)
iPad2 B Inc. 0(=num6)
iPhone4S WCDMA/CDMA D Inc. 3000(=num7)
iPad3 D Inc. 50000(=num8)

CDSを利用することで効率的に、
1.残材のキーパーツの組み合わせからどんな製品ができるかを逆転開し、
2.論理的に絞り込むことで、どの製品がいくつ出来そうか、
が分かりました。
今あるモノで何がすぐできるか?「チャーハン問題」のシンプルな答えです

ちなみに、最適化シミュレーションにおける通常の開発手順だと...

1)製品の作製順序を決め、各製品を順に部品在庫がある限り作製する。

2)すべての製品を作製し終えたときの各製品の作製台数と在庫総金額を確認

3)1)と2)を製品の作製順序の全通り(8!=40320通り)で行い、
最も在庫総金額が小さい順序での各製品の作製台数を確認

【出典】ビジネスコンピュータ様