平成8年度 秋 第二種 午後 問9

                        [更新日]1996.11.19
問9 次のFortanプログラムの説明及びプログラムを読んで,設問に答えよ。 〔プログラムの説明〕 ある在庫管理方式における二つのパラメタの影響を,シミュレーションによって計 算するプログラムである。 (1)この在庫管理方式では,補充点RRと発注点Rの二つのパラメタによって発注量 と発注時期を決定する。すなわち,第t日の閉店後の在庫量Itが発注点R以下 (It≦R)のとき,補充点RRまでの発注量Ot=RR-Itを発注する。なお,発注後は, 品物が入荷するまで再発注しない。 (2)第t日の発注量Otは第t+3日の閉店前に入荷する。したがって,閉店後の在庫 量It,発注量Ot-3及び需要量Dtの間には,次式の関係がある。 It=It-1+Ot-3-Dt 負の在庫量は品切れを意味する。品切れの場合,客は入荷を待つものとし,需要 量に変化はない。また,初期在庫量I0=RRとする。 (3)シミュレーションでは,パラメタRR=60,80,100とR=0,3,6との組合せにおける 平均在庫量と平均品切れ量を計算する。 (4)日々の需要量Dは0〜7の整数値をとる。過去の需要データから,その確率P(D) と累積確率F(D)は表で与えられる。この関係を図1のグラフに示す。 表 日々の需要量の確率 ┌──────┬───┬───┬───┬───┬───┬───┬───┬───┐ │需要量 D │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ ├──────┼───┼───┼───┼───┼───┼───┼───┼───┤ │確率P(D) │ 0.10 │ 0.30 │ 0.23 │ 0.17 │ 0.12 │ 0.05 │ 0.02 │ 0.01 │ ├──────┼───┼───┼───┼───┼───┼───┼───┼───┤ │累積確率F(D)│ 0.10 │ 0.40 │ 0.63 │ 0.80 │ 0.92 │ 0.97 │ 0.99 │ 1.00 │ └──────┴───┴───┴───┴───┴───┴───┴───┴───┘ (5)需要量Dは,表の累積確率F(D)と,範囲0≦X<1の一様乱数Xを用いて生成す る。すなわち,乱数Xから F(D−1)≦X<F(D) となる需要量Dを定める。ただし,F(一l)=0とする。 (6)一様乱数Xの発生には組込みサブルーチンRANDOM_NUMBER(X)を用いる。 (7)500日間の在庫量の推移についてシミュレーションを行い,1日当たりの平均在庫 量と平均品切れ量を計算する。平均在庫量と平均品切れ量は,次の日に繰り越した 正の在庫量と負の在庫量それぞれの総和を500日で平均した値である。 (8)パラメタRR,Rの組合せについてのシミュレーション結果の印字例は,図2のと おりである。 RR R 平均在庫量 平均品切れ量 ↓ ↓ ↓ ↓ ┌───────────────┐ │ 60 0 24.1 0.308 │ │ 60 3 26.3 0.138 │ │ 60 6 27.8 0.040 │ │ 80 0 33.8 0.266 │ │ 80 3 38.9 0.088 │ │ 80 6 37.7 0.022 │ │100 0 45.2 0.174 │ │100 3 46.1 0.068 │ │100 6 47.8 0.018 │ └───────────────┘ 図2 印字例 〔プログラム〕 REAL,PARAMETER,DIMENSION(0:7)::& !需要量の確率 & PD=(/0.1,0.3,0.23,0.l7,0.12,0.05,0.02,0.01/) REAL,DIMENSION(0:7)::FD !需要量の累積確率 REAL::X,SPUS,SMINUS INTEGER::RR,R,TLEAD,DEMAND,J,ORDER,STOCK,T INTEGER,PARAMETER::LEAD=3 !入荷遅れ日数(リードタイム) INTEGER,PARAMETER::NDAYS=500 !シミュレーション日数 FD(0)=PD(0) DO J=1,7 〔 a 〕 END DO DO RR=60,100,20 DO R=0,6,3 ORDER=0 !発注量 TLEAD=0 !発注量の入荷日 SPLUS=0.0 !正の在庫量の総和 SMINUS=0.0 !負の在庫量の総和 STOCK=RR !初期在庫量 DO T=1,NDAYS IF(T==TLEAD)THEN 〔 b 〕 ORDER=0 ENDIF CALL RANDOM_NUMBER(X) !一様乱数Xの生成 DEMAND=0 DO WHILE(FD(DEMAND)<=X .AND.DEMAND<7) ! DEMAND=DEMAND+1 ! 需要量DEMANDの生成 ENDDO ! 〔 c 〕 IF(〔 d 〕)THEN ORDER=RR‐STOCK !発注 TLEAD=T+LEAD EFD IF IF(0<STOCK)SPLUS=SPLUS+STOCK IF(STOCK<0)SMINUS=SMINUS‐STOCX END DO SPLUS=SPLUS/REAL(HDAYS) SMINUS=SMINUS/REAL(NDAYS) WRITE(*,1)RR,R,SPLUS,SMINUS 1 FORMAT(2I10,F10.1,F10.3) END DO END DO END 設問 プログラム中の〔 〕に入れる正しい答えを,解答群の中から選ベ。 aに関する解答群 ア FD(J)=FD(J - 1)+PD(J - 1) イ FD(J)=FD(J - 1)+PD(J) ウ FD(J)=FD(J - 1)+PD(J + 1) エ FD(J + 1)=FD(J)+PD(J - 1) オ FD(J + 1)=FD(J)+PD(J) カ FD(J + 1)=FD(J)+PD(J + 1) b,cに関する解答群 ア STOCK=STOCK - DEMAND イ STOCK=STOCK + DEMAND ウ STOCK=STOCK - ORDER エ STOCK=STOCK + ORDER オ STOCK=STOCK - DEMAND - ORDER  カ STOCK=STOCK - DEMAND+ORDER キ STOCK=STOCK - DEMAND - ORDER  ク STOCK=STOCK + DEMAND+ORDER dに関する解答群 ア STOCX〈R イ STOCK〈=R ウ STOCK〈R .AND.ORDER〉0 エ STOCK〈=R .AND.ORDER〉0 オ STOCK〈R .AND.ORDER==0 カ STOCK〈=R .AND.ORDER==0
戻る 次頁:問10