• ベストアンサー

c言語がわからなく、教えていただきたいです。

待ち行列のプログラミング 待ち行列をC言語でプログラミングしたいのですが、わからなくて困っています!! 誰か助けて下さい!! 2工程、3機械から成っている。2種の製品A,Bを製造している。第2工程では機械が2つあり、待ちが少ない方に進む。 ジョブ数は500、加工時間は指数乱数、到着間隔はポアソン到着、納期は加工時間*納期係数(10)です。 この待ち行列のプログラムを教えていただきたいです。 お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.2

製品Aで2工程3機械、製品Bで別の2工程3機械ですか?それとも 同一の工程と機械ですか? 後者の場合、同一製品になってしまうと思うのですが。 ジョブ数500とは、製品数が500ですか? その場合、製品AとB合計で500ですか?合計1000ですか? それとも、機械の同時処理能力が500件ですか? 加工時間の乱数は機械が1つ製品を処理するごとに 新しい乱数で初期化されますか? それともプログラム開始時に生成した乱数で機械ごとに一定ですか? はたまた、3つの機械で一定ですか? 指数乱数の生成プログラムはすでにできていますか? できていない場合、ここが参考になるかと思います。 http://okwave.jp/qa/q941524.html 「到着」とは1工程目に材料が「到着」するという意味ですか? 1工程目から2工程目へ「到着」するという意味ですか?両方ですか? プログラム全体としては、デルタtずつ進めながら 各加工製品の状況と待ち行列を更新していくような 流れになるかと思います。 デルタt進めた際に、例えばrand()%2==0なら到着とすると 似非ポアソン到着になるかと思います。 ちゃんとしたものが必要でしたら、私は専門外ですすみません。 納期は「工程1の加工時間*10+工程2の加工時間*10」の解釈で合っていますか? また、待ち行列に長くいたことで納期を超えた場合に何か判定が必要ですか? たくさん書きましたが、これらを明確にしないとコーディングなどできません。 特定の業種では常識的にわかることもあるのかもしれませんが、C言語の常識では ちょっと予想できませんでした。 > この待ち行列のプログラムを教えていただきたいです。 待ち行列そのものは3つの機械のために3つあると考えられます。 ポインタのリンクリストなどで管理するのが一般的かと思います。 連結リスト http://ja.wikipedia.org/wiki/%E9%80%A3%E7%B5%90%E3%83%AA%E3%82%B9%E3%83%88

yuta_kimu
質問者

お礼

回答ありがとうございました。 A,B同種のもので、製品数が両方合わせて500で、1つ製品を処理するごとに乱数は初期化され、第1工程に製品が到着するという意味です。 納期は工程1の加工時間*10+工程2の加工時間*10です。納期を超えた製品と超えていない製品を分けて納期遅れ率を出したいと思っています。

yuta_kimu
質問者

補足

回答ありがとうございました。 A,B同種のもので、製品数が両方合わせて500で、1つ製品を処理するごとに乱数は初期化され、第1工程に製品が到着するという意味です。 納期は工程1の加工時間*10+工程2の加工時間*10です。納期を超えた製品と超えていない製品を分けて納期遅れ率を出したいと思っています。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

プログラムを書くのに十分な情報がありません. よって「わからなくて困っています」というのが正しい. 逆に, この文章からプログラムができるのだとしたら, その方がおかしい.

すると、全ての回答が全文表示されます。

関連するQ&A