
課題の背景
対象商品のライフサイクルが短く、モデルの組み合わせ(スペック表)の多い製造業では、商品のライフエンド時にキーパーツの在庫をいかに減らすかが求められます。他品種過ぎる製造形態のため、販売予測は当たらず、ユーザーは気まぐれ。一方で、残材になりそうなキーパーツの組み合わせからどんな製品が出来るかを逆展開し、戦略的に販売を仕掛けることでキーパーツの在庫を極力減らすことができるとの発想をすると、面白いことができそうです。今あるモノで何がすぐできるか?いわゆる「チャーハン問題」を検討します。
課題の要求に対して、CDSを利用したAPを開発し、その出力結果を確認します。
処理 | 入力データ | CDSデータ | CDS APIを使用した アプリケーション |
---|---|---|---|
1.製品から部品を見たCDSデータの作成
製品の「部品構成マスタ」と部品の「品目マスタ」を用いて、CDSデータ設計を行いCDSデータを作成。 |
製品の 部品の |
CDSデータ1 製品から部品を見たCDSデータ |
|
2.目的結果出力のための「計算式P」のCDSデータ作成
CDSデータ1からCDS APIを使用して、num iを変数とする各製品作製の総金額を表す計算式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を使用した |
製品の「部品構成マスタ」と部品の「品目マスタ」を用いて、CDSデータ設計を行いCDSデータを作成。
∑ 製品 名i×メーカー i×(∑部品コード j×部品単価j)×num i
この設計に基づいて製品・メーカーに注目して部品構成・単価・台数を表すCDSデータを作成すると以下になる
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
CDSデータ1からCDS APIを使用して、num iを変数とする各製品作製の総金額を表す計算式PのCDSデータを取得する
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])
製品作製の総金額=製品1の台数×製品1を作るための材料の費用+製品2の台数×製品2を作るための材料の費用+製品3の台数×製品3を作るための材料の費用+...
“課題”の目的はこのP(製品作製の総金額)が最大になること
∑ 製品 名i×メーカー i×(∑部品コード j×部品単価j)×num i
CDS APIを用いて部品中心に組み換えを行う
∑ {∑ 製品名i×メーカー i}×部品コード j×部品単価 j×{∑ num i}
CDS APIのgetSubFormula(部品コード j)
データの同値関係を保ちながらデータの構成を自在に変換できる
{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}+...
CDSデータ2においてnum iの和と、現状の在庫マスタから在庫数の積を項とする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...
使用される各部品から見て、その部品を使用した製品数の合計は当該部品の在庫数を超えることはない
応用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
数値因子を利用した数値計算処理
加算の例
A×3+A×2 => A×5
乗算の例
(A×3)×2 => A×6
CDSデータに数値を埋め込むことでCDSデータ上での四則演算が可能
【解説!】数値因子を使用した数値計算処理のAPIを利用すればシンプルに絞り込みのロジックを記述できる
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
num1×397.41+num7×349.9+num3×281.55+num2×262.17+num6×255.91+num8×233.77+num5×218.65+num4×209.86
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
付与条件と計算式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通り)で行い、
最も在庫総金額が小さい順序での各製品の作製台数を確認
【出典】ビジネスコンピュータ様