経営システム科学 I’97 ＃ 2
久野靖

1997.12.12

1

本日の目標

本日の目標は、ゲーム生成システムについて理解し、ある程度ゲームのロジックが自分で記述できるようになることです。これができなければ、この科目を取る意味はありません。今回はグループワークではありませんから、記述ができない人は何も得られないでしょう。そして、このシステムはあくまで数式モデルを記述するだけでいいのですから、「プログラミングはできないから」といった言い訳は通用しません。覚悟して取り掛かってください。
前回配付資料はお持ちですね? 今回はまず「解説/参照マニュアル」に添ってゲーム記述ファイルの書き方のレクチャーを行います。その後、実習に入り、まず「参照マニュアル」の例題に使われている「Price Only」ゲームの記述ファイルをコピーしてきて、各自動かしてみて頂きます。
その後が本題で、複数の課題を提示しますのでその中から好きなものを 1 つ以上選択して、「PriceOnly」ゲームの記述ファイルを改訂し、課題内容の機能を組み込んだ改訂版ゲームを作って頂きます。これをもとに次回までのレポート課題をやって頂きます。

2ゲーム記述ファイルの説明(解説/参照マニュアルを見てください)
あと、計算記述の中で使える関数についての説明が不足していました。
• max2(x, y) — x と y の大きい方• min2(x, y) — x と y の小さい方• range(x, a, b) — min2(max2(x, a), b)• rint(x) — 整数への丸め• ceil(x) — 整数への切り上げ• floor(x) — 整数への切捨て• log(x) — 自然対数

• log10(x) — 10 の対数• pow(x, y) — xy
• exp(x) — ex√
• sqrt(x) — x• sin(x), cos(x), tan(x) — sin x, cos x, tan x

1

3

実習その 1 — Price Only を動かす

(1) Unix/X を立ち上げ、smm の窓を開きます。他のマシンではできませんから注意!
(2) まず、ゲームディレクトリを作成します。名前は別に sample1 でなくても好きなもので構いません。
% cd WWW% mkdir sample1% cd sample1(3) 久野のディレクトリから記述ファイルをコピーします。
% cp /u1/kuno/sample1.gg sample1.gg(4) 何も直さないとつまらないので、 Mule を立ち上げてゲームの名前とパスワードくらい直してみてください。もっと直したければ直してもいいです。
(5) ゲームを生成します。
% gg2 sample1.gg....
%(6) AGENT ファイルを Mule で編集し、次の内容を入れてください。
all:t01:販売価格=180
all:all:販売価格=150
先頭に空白は入れないこと。

(7) AGENT ファイルは文字コードが EUC でないとうまく動作しませんから、次のコマンドで EUCに変換してください。
% toeuc AGENT(8) Netscape を立ち上げ、ゲームを数ラウンド実行させてみてください。データは入力したければ入力してもいいですし、「Exec Agent」を使って AGENT ファイルの値に基づいて自動設定させてもいいです。チーム間の成績の差を観察してください。

4

修正課題

後半の演習では、いくつか Price Only ゲームの内容を拡張する課題を挙げます。どれでも好きなものを 1 つ以上選んで、ゲームをそのように拡張してみてください。ものによっては Alexanderの記述ファイルも参考になるかと思います。
ゲームを直すに当たっては、新しくゲームディレクトリを用意して、そこに記述ファイルをコピーしてきて作るようにしましょう。既に途中まで実行させたゲームを直してしまうと、途中までのデータが残っていてうまく実行されません (データを全部消去するならそれでもいいのですが、色々試したものが全部残っている方が後で検討しやすいでしょう)。

2あと、いきなり修正するのでなく、どのように修正するか机上で構想を練って、ある程度納得してから直すようにしてください。また、どのような入力をするとどのような結果になるか予想しておいて、あとで実行させた時その予想が正しかったか確認するようにしてください。
ゲーム記述が完成して、ある程度それらしく動くようだったら、まわりの人にお願いしてプレイしてみてください。まっさらからプレイするには、DATA ディレクトリの下のファイルをすべて消去し、コントローラ画面でラウンド番号を 1 に設定してから始めればよいでしょう。 DATA ディレクトリのファイルを消去するには、ゲームディレクトリにおいて次のようにします。

% rm DATA/*%
間違ってゲームディレクトリのファイルを全部消さないように!!! (その他事故に備えるため、ゲー
ム記述ファイルをときどき別の場所にコピーしてバックアップすることを薦めます。
他の人にプレイしてもらう時は、プレイに先だってどのようなゲームか口頭で説明しましょう。
簡単に試せるためには、チーム数は 3 くらいにしておくのがよいでしょう (自分とあと 2 人頼めば動かせる)。

4.1

A: 仕入れ/在庫を入れる

Price Only では売れただけ自動的に仕入れられていた。これを改めて、仕入れ数を入力すると、翌期にその分だけ在庫が増え、いくら受注しても在庫の分までしか売れないように直せ。仕入れは前金とする。
ヒント ある期の期首在庫数は、前記の在庫数 (「@1」を使う) と前記の発注数を加えたもの。そこから売れた数を引いたものが当期の (期末) 在庫数になる。

4.2

B: 資金繰りを入れる

上記 A に加えて、発注数は手持ち現金で払える数量を上限とするように直してください。当期の売上は発注に使えることにしても、使えないことにしても結構です。
ヒント 手持ち現金を仕入れ単価で割ると端数が出ます。関数 floor で切捨てた整数にしましょう。

4.3

C: 原材料加工を入れる

上記 B に加えて、これまでは単に仕入れたものをそのまま売るのでしたが、2 つの部品 X、Y を仕入れ、それを 2 単位と 1 単位組み合わせると商品が 1 個できる、という形で組み立て加工してください。もちろん、原材料が足りなければ製品は作れません。 1 個あたり加工コストは一定です。
ヒント 組み立て可能量は min2(0.5*x, y) となりますね。

4.4

D: 原材料市場を入れる

上記 C に加えて、部品 X や Y の供給量は決まっていて、高い値段をつけた発注者ほどたくさん買えることにしてください。ただし買える全量を買わなくてもよいものとします。
ヒント 購入可能量は供給量を価格 (ないしそれに連動する値) に応じて比例配分し、購入数をその範囲内に min2 で制約します。

34.5

E: 広告活動を入れる

Price Only では受注数は価格のみで決まっていましたが、広告費も掛けることにして、広告も受注数に影響を及ぼすようにしてみてください。
ヒント 受注数の比例配分に使う値を価格だけでなく広告費にも関係させればよいでしょう。

4.6

F: 広告効果を累積させる

上記 E では広告は直ちに効果をもたらしましたが、そうではなく、広告を続けているとその効果が累積してきてその結果受注数が伸びるようにしてみてください。
ヒント Alexander の「累積イメージ指数」が参考になります。

4.7

G: 量産効果を入れる

C の組み立て加工コストを、大量に製造するほど割安にしてください。

4.8

H: 設備投資の効果を入れる

C に加えて、設備投資金額を入力できるようにし、その累計額に応じて加工コストが低減されるようにしてください。ただし、設備投資を怠っていると逆に設備が老朽化して加工コストは上昇するものとします。

4.9

I: 2 種類の製品を製造する

原材料を 3 種類 X、Y、Z とし、X を 2 単位 Y を 1 単位の製品 A と、X を 2 単位 Z を 1 単位の製品 B の 2 種類を製造してください。ただし Z は貴重品で少量しか供給がない代わりに、製品 B は製品 A に先だって売れる (総販売数は一定で、製品 B が売れた残りが製品 A の販売数になる) ものとします。もちろん、Z は高い値段をつけた方に優先的に供給されます。

4.10

J: 資金調達を入れる

B に加えて、銀行からの借入れで資金を調達できることにしてください。もちろん利息が掛かります。

4.11

K: その他上の問題に限らず、現実のビジネスに照らして面白そうだと思うような側面を考えて取り入れてみてください。

4

A

次週までのレポート課題(1) 本日 12 月 13 日の演習で作成したゲームのリストに、自分で追加修正した内容の説明をつけてください。(形式は自由。リストに手書きでも可。 )(2) そのゲームを実際に試したらどうだったかの報告を必ずつけてください。
(3) ビジネスゲーム生成システムを使用した感想を述べてください。また、今後追加して欲しい機能の要望を必ず一つ以上書いてください。
レポートには A4 版を使用し、必ず冒頭に科目名、レポート名 (「経営システム I 課題レポート1」)、学籍番号、氏名、提出日付を明記してホチキスで綴じてください。提出は 12 月 20 日の授業の始めにお願いします。

5