グラフは現場分析の結果を分かりやすく表示するだけではなく、計算やシミュレーションにも使えます。またそうでなくてはアクションに結び付く分析は出来ません。それをメインの目的としたグラフが計算グラフです。
ここでは計算グラフの作り方について、詳しく説明をいたします。
形態的に大きく分けると、共線グラフと面グラフとがあります。
無論その複合もあります。
またグラフの軸が等間隔目盛か、それ以外(たとえば対数目盛り)かという分け方があります。これにも複合型があります。
電卓やパーソナル.コンピュータの普及で、多少複雑な計算も気軽にできるようになりましたが、計算グラフはその内容が肌で感じるように直感でき、シミュレーションする方針も極めて立てやすいという他ではマネの出来ない大きなメリットがあります。
ではさっそく実例を紹介しましょう。
7ー1 面グラフ
分かり易い例として、ワープロによる作業時間を見積る計算グラフを例にして作り方を紹介します。
7ー1ー1 対象となる計算内容の関係式を設定します。
作業時間=原稿枚数X1枚当たり行数÷タイプ能力
= 総行数 ÷タイプ能力
7ー1ー2 各数字の取りうる値の範囲を設定します。
原稿枚数=100〜2000
1枚当たり行数=5〜70
総行数=500〜1400000
タイプ能力=1000〜20000 (この単位は、1時間当たりのタイプ行数)
作業時間=0.025〜1400時間
7ー1ー3 レイアウト。
本番のグラフを描く前には下描きを何回かおこない試してみます。
7ー1ー3ー1 第1段階の数式のグラフ化。
関係式を見れば分かるように2段階の計算になっているので、最初の計算の結果である総行数を次の計算につながりやすいように、横軸か縦軸かに割り当てます。
総行数=原稿枚数×1枚当たり行数
総行数を縦軸、原稿枚数を横軸、1枚当たり行数を斜線に割り当てます。
縦軸、横軸は値の変動の幅が大きいので対数目盛にしました。
各軸の数字の大きくなる方向については、最初はとりあえず馴染みのある図7-1-1の形にしました。
都合が悪いようでしたら後で直すことにします。そのための「下描き」です。
縦軸を総行数、下の面の横軸を原稿枚数としましたので、関係式から自動的に斜線の形は、図7-1-1の向きになります。(矢印は数値の大きくなる方向)
縦軸、横軸、斜線を数値の幅を充分余裕をもって刻み、下描きを完成させます。(図7-1-2参照)
このグラフの読み方ですが、横軸の原稿枚数から垂直に線を立ち上げて、斜めに描かれた原稿1枚当りの行数の線にぶつかった時の縦軸の取る値を読み取れば、それが総行数になります。
たとえば、原稿枚数100枚の点から垂線を立てて、原稿1枚当りの10行の斜線にぶつかった時の縦軸の値を読むと総行数は1000行となります。1枚当りの100行の斜線にぶつかった際の総行数は10000行になります。
斜線は必要に応じて途中の原稿1枚当りの行数の分を引きます。
7ー1ー3ー2 第2段階の数式のグラフ化。
第1段階で出た総行数と、更にタイプ能力とから、最終的な作業時間を求めるグラフの下描きを描きます。
作業時間=総行数÷タイプ能力、の数式です。
図7-1-3aを見てください。
縦軸は、前段の結果から総行数が入っています。
最終結果の作業時間は上の方の横軸に出したいと思います。
すると斜線にタイプ能力が来ます。
タイプ能力の斜線は、前段階で引いた、1枚当たり行数の斜線とは交差する向きに引きたいと思います。
図7-1-3bのようになります。
(交差しないと、2種類の斜線が並走することになり、運用するとき区別しにくいです)
各軸に要素を割り当てると、後は関係式から自動的に目盛の大きくなる方向が分かります。図7-1-3cを見てください。
縦軸、横軸、斜線を数値の幅を充分余裕をもって刻み、下描きを完成させます。(図7-1-4参照)
7ー1ー3ー3 2つの下描きを共通する総枚数の縦軸を重ねて、清書用のレイアウトを考えます。
図7-1-5を見てください。
このように、2つのレイアウトが考えられます。優劣というものはありませんので、省スペースを選ぶか見やすさを選ぶかの観点から、ふさわしいものを選ぶとよいでしょう。
使い方はどちらも同じです。太い矢印が計算のプロセスです。
「原稿枚数」の軸上の値の目盛から垂線を立ちあげ、該当する「1枚当たり行数」の斜線にぶつけます。
その時の交点の縦軸上の高さが「総行数」になっています。
交点から横に線を伸ばし、担当するオペレーターの「タイプ能力」の斜線にぶつけます。
その交点から、さらにま上に向かって線を伸ばし、「作業字間」軸にぶつかった箇所の目盛を読み取ります。その値が求める結果です。
図7-1-6が完成した計算グラフです。
ワープロのタイプなんて自分の業務とは関係ないという方もいるかも知れませんが、これは例えば同じ構造を持つ、
在庫回転数=客数×客単価÷平均在庫高
という計算の場合にも軸の名前と、目盛の刻み単位を変えれば使えます。
むしろ今の説明では、計算グラフを作る場合のコツを読み取ってください。
以上の箇所で引っ掛かる箇所があるとしたら、それは対数目盛の作り方でしょう。
もし数値の変動するそう広い幅ではないのでしたら、なにも対数目盛にする必要はなく、ごく一般的な等間隔目盛になります。
ただしその場合の斜線はここで見せた例のように平行ではなく、放射状に広がります。
数値の変動範囲が広い場合は、やはり対数目盛に頼ることになります。
7ー1ー4 対数目盛の刻み方
特に計算グラフを作る時など、ちょうど欲しい目盛のグラフ用紙が市販されていないことはよくあります。
また、計算グラフでなくとも、市販の方対数・両対数グラフの上にプロットしたデータが1つの隅にだけ片寄り、使いにくいことがあります。
こんな時、自分の好みの対数目盛のグラフ用紙を作ると便利です。
その作り方を紹介します。
まず基本的なところで、200mmの長さの軸を、1から10の値に刻むやり方をマスターします。対数はここでは自然対数ではなく、常用対数の方を使います。
考え方としては、値が1の時0mmで、値が10の時200mmとなればよいのですから、
a × log1 =0・・・・・(1)
a × log10=200・・・・(2)
の式を立てます。
(1)式は常に0になりますので、この際無視します。
(2)式でlog10の値は1ですので、a=200となります。
ここまで分かれば後は単純計算です。
値 式 目盛の刻み(mm)
1 200×log1 =200×0 = 0
2 200×log2 =200×0.3010= 60.2060
3 200×log3 =200×0.4771= 95.4243
4 200×log4 =200×0.6021=120.4120
5 200×log5 =200×0.6990=139.7940
6 200×log6 =200×0.7782=155.6303
7 200×log7 =200×0.8451=169.0196
8 200×log8 =200×0.9031=180.6180
9 200×log9 =200×0.9424=190.8485
10 200×log10 =200×1 =200
このように、各目盛の値が求まります。
次いで、同じ200mmの軸を、1から300の値に刻んでみます。
値が1の時0mm、値が300の時200mmです。
a × log1 =0 ・・・・・(3)
a × log300=200・・・・(4)
と、式が立ちます。
(3)式は無視し、(4)式より、
a=200÷log300
=200÷log(3×100)
=200÷(log3+log100)
=200÷(0.4771+2)
=80.7389
と、なります。
式に代入して、
値 式 目盛の刻み(mm)
1 80.7389×log1 =0
2 80.7389×log2 =24.3048
100 80.7389×log100=80.7389×2 =161.4778
110 80.7389×log110=80.7389×(log1.1+2)=164.8198
300 80.7389×log300=80.7389×(log3+2 ) =200
以上のように値を算出し、グラフ軸にこの値を刻んで、目盛線を立てます。
その際、1、10、100の線は太く、5、50の線は中細に、他の線は細く入れます。
では最後に200mmの長さの軸を、300から4000に刻むやり方を例にして、完全に必要な通りの目盛を刻むやり方をマスターします。
値が300の時に長さ0mm、値が4000の時に長さ200mmとなればよいのですから、
a × log(300×b) =0・・・・(5)
a × log(4000×b)=200・・・(6)
と、式を立てます。
(5)式でbという新しいパラメーターが出ましたが、これは(5)式が常に0という値を取る時、logの後に付く値は1でなくてはならないので、補正するための値です。
これにより、
300×b=1
b=1/300
が求まり、更に(6)式にbの値を代入し、
a × log(4000×1/300)=200
a × log(40/3)=200
a×(log40−log3)=200
a×{log(4×10)−log3}=200
a×(log4+1−log3)=200
a×1.1249=200
a=177.7875
が求まります。
これで式を作って、値を入れていけばよいのです。
値 式 目盛の刻み(mm)
300 177.7875×log(300÷300) = 0
400 177.7875×log(400÷300) = 22.2125
500 177.7875×log(500÷300) = 39.4419
1000 177.7875×log(1000÷300)= 92.9613
2000 177.7875×log(2000÷300)=146.4806
3000 177.7875×log(3000÷300)=177.7875
4000 177.7875×log(4000÷300)=200
以上のようにして、必要な目盛の刻みが分かります。
このプロセスを一般式の形にまとめますと、Ymmの長さの軸を、下限値X1から上限値X2まで刻むには、
a×log(X1×b)=0
a×log(X2×b)=Y
の式から、
b=1÷X1
a=Y÷(logX2−logX1)
と言う形で、a、bとを求め、希望の値Xを、
a×log(X×b)
の式に入れて行けばよいのです。
最近の表計算ソフトの載っているパソコンなら、この式を組み込むことで、簡単に一覧表を作ることが出来るでしょう。
普及しているBASIC言語で目盛の刻み目を求めるプログラムを次に例示します。
(必要なら行番号を入れてください)
DEF FNA(X)=LOG(X)/LOG(10)
INPUT ”軸の長さ=”;Y
INPUT ”最小値=”;X1
INPUT ”最大値=”;X2
L1=INT(FNA(X1))
L2=INT(FNA(X2))
H=X1
PRINT ”軸の長さ=”;Y
PRINT ”最小値=”;X1
PRINT ”最大値=”;X2
PRINT ”値 目盛り”
’
*LOOP
S=10^L1
E=10^(L1+1)
IF L1=L2 AND H=X2 THEN *ENDING
IF L1=L2 THEN E=X2:GOSUB *CALC:GOTO *ENDING
GOSUB *CALC
L1=L1+1
H=E
GOTO *LOOP
’
*ENDING
END
’
*CALC
FOR X=H TO E STEP S
IF X=H AND L1<>INT(FNA(X1)) THEN *EXIT
L=Y×(FNA(X)−FNA(X1))/(FNA(X2)−FNA(X1))
PRINT X,L
*EXIT
NEXT
RETURN
PRINTのところをLPRINTにすれば、画面表示ではなくプリンターで印字が出来ます。
またコンピュータの知識のある方なら、このルーチンを利用して、直接XYプロッターを駆動してグラフその物を描くことも出来ます。
7ー1ー5 面グラフの応用。
無論この程度の計算内容なら、ポケット・コンピュータなり、パーソナル・コンピュータなりにプログラムの形で入れて、気軽に利用することが出来ます。
それに対して計算グラフを利用するには、最低でも1枚、普通は2枚の三角定規が必要です。
それこそソロバンか、良くて電卓しかなかった時代ならともかく、今の時代に計算グラフの存在価値はあるのだろうかと疑問視する方もあるでしょう。
(確かにコンセントも乾電池がなくても使えるというメリットはありますが)
ところが計算グラフとはその本質から言って、計算機とは別の世界のものなのです。
具体的に言うと、アナログとデジタルの世界の違いです。
ソロバンに始まって、コンピュータまでをも含む計算機と言うものは、ある一定の値と、別の一定の値とをインプットし、何らかの処理をして結果である一定の値をアウトプットします。
これがデジタルの世界です。
むろん計算グラフもそのようなデジタル的な使い方が出来ます。
しかし、次のような使い方をしてみてください。
ワープロの作業時間を求める図7-1-6を使います。
これを加工して図7-1-7のように範囲を定めます。
下の方の横軸は原稿枚数です。この会社では1回当たりの原稿の枚数は一番少なくとも100枚以下になることはなく、また多いときでも500枚を越えることはないとします。
だったら事前に原稿枚数の100枚から500枚の範囲だけを色を塗っておきます。図の黄色く塗られた部分です。
次に、原稿1枚当たりの平均行数です。これも少ない時で20行、多くても50行の範囲です。
左下がりの斜線である「1枚当たり行数」の、20行から50行の範囲だけを色を塗っておきます。図の赤く塗られた部分です。
これで、よく会社で起こる「作業量」というものの発生する範囲が分かりました。
黄色い帯と赤い帯とが交差した橙色の平行四辺形の範囲内で、処理すべき作業が発生するのです。
この平行四辺形を縦軸方向から見てもっとも高い点と、もっとも低い点の間が「総行数」のある範囲です。
この範囲を縦軸から横方向に青線を引いておきます。
図7-1-8です。
次に、発生した業務を処理するタイプ能力の方です。
この会社のオペレーターの能力は一番早い人は1時間4000行、1番遅い人でも1時間2000行です。
タイプ能力を表す右下がりの斜線の2000から4000の範囲だけを色を塗っておきます。図7-1-9の青く塗られた部分です。
この範囲と、先ほどの青線で区切られた範囲との交差した平行四辺形の範囲の中が、発生した作業が処理される組み合わせが存在する範囲です。
図7-1-10の緑で塗られた部分です。
この範囲内のどこかの点から、上の横軸に対して垂線をぶつけ、そこの目盛の値を読み取ればそれが作業時間の見積です。
試みに作業時間の最小値と最大値を求めるならば、緑色の平行四辺形の最も左端と右端の点からの赤線による上への垂直線の交点の値を読んで、最も負荷の軽い条件の組合せなら0.5時間で作業が終わり、最も負荷が重い条件なら12.5時間掛ってしまいまうことが分かります。
求める値をある一定の点として捕えるのではなく、ある範囲の間に存在する1つの点として捕えるのです。
これが計算グラフがデジタルではない、アナログの世界のものであると言った、先程の言葉の意味です。
具体的に運用の際これがどのようなメリットがあるかと言うと、例えばこんな場合です。
「後1時間のうちに、これから入ってくる原稿をタイプしてしまわなければならない。原稿枚数は200枚から400枚の間、行数は20枚から30枚の間と思って欲しい。分担してタイプしてもいいからうちのオペレーターでこなせるだろうか?またその時は何人のオペレーターが必要だろうか?」
つまり、見積に必要なすべての要因がアバウトで(範囲で)示されている場合の見積です。
確かに電卓で各場合の最大値・最小値を求めて、範囲決定することも出来ますが、計算グラフならこうやります。
図7-1-11を見てください。タイムリミットは1時間なので、上の作業時間の1時間の目盛から赤色の垂線を下ろし、そこから右側の区域に収まるにはどうしたらよいかを考えるようにします。
原稿枚数の範囲を黄色で、原稿1枚当り行数の範囲を赤で色塗りします。2本の帯の交差した橙色の平行四辺形の区域内の作業が発生することが分かります。
考えられる総行数の最大値・最小値が分かりますので(一々縦軸の目盛の値を読み取る必要は、この場合ありません)、その2点(平行四辺形の2つの頂点)から横に青色の線を伸ばします。
作業時間1時間の線との交点の「タイプ能力」の斜線の値を読み取ります。
最悪の(最大値の)場合12000行/時、もっとも楽天的な予想の場合(最小値の場合)4000行/時、となります。
一番気楽な予想など当たるわけがないですし、また考えうるかぎりのもっとも悲惨な予測というものも、そうは実現はしないものです。
中間値を取って8000行/時、もしくは安全を考えて10000行/時の処理能力が必要とされると考えます。
分担してタイプ作業するので、4000行/時の能力のオペレーターを2名、もしくはそれに2000行/時の能力のオペレーターを1名加えて3名で当たれば、作業がこなせそうです。
ただし実際の作業、それも分担作業では稼働ロスが発生しますので、念のために30分以内でこなすための見積も出しておきます。
(これは余裕の取り過ぎですが、あくまでも計算の例ということです)
上の横軸の作業時間の0.5(時間)の目盛から赤色の垂線を下ろします。
その垂線の先程の総行数の最大値・最小値との交点を読み取ります。
最大24000行/時、最小8000行/時の能力が必要とされていることが分かります。
このように余裕度や条件を連続的に変えて、結果がどの範囲の中に収まるかを試行することが出来ます。
これがまさしくシミュレーションです。
しかも、デジタル・デザインのシミュレーションとは異なり、アナログ・デザインのシミュレーションは条件が連続的に変えられるだけではなく、結果を求めるための構造と、各要因がどちらの方向に変化することが、最終的にどちらの方向へと影響するかが、一目瞭然であるということです。
その意味で逆に言うと、複数の要因の結合によって何らかの構造を説明したグラフはすべて計算グラフとなりうるのです。
特に散布図によるグラフはほとんど計算グラフとして、アクションの方向を示唆するための計算グラフとしてそのまま利用できます。
と言うのは、散布図は必ず縦軸と横軸とがあり、現象を記述したデータは縦軸と横軸との掛け算、もしくは割り算の結果としてそこに点が打たれているからです。
文責 & HomePage 制作:(株)マネジメント・サイエンス研究所
コンサルタント 城 誠
目次へ戻る