わたしは、今「来園者にやさしいテーマパーク」という混雑情報を一定の割合の訪問者に渡すことで行列を分散させ、アトラクションの行列を緩和させる研究を参考に、この研究はあまり現実を反映したものではなかったため、より現実のモデルに知被けるため、行列におけるエージェントの心理的要素の導入を図り、従来手法の妥当性と新たな知見を得るために研究を進めています。 具体的には、現在は行列に並んでいる人の忍耐力といった点に注目し、何時間まで行列に並ぶことができるのかをアンケートを取ってその結果をシミュレーションに起こしてみるといったことを行っています。 まずは簡易的な設定から行こうと思い、何時間まで行列に並ぶことができるのかという「忍耐力の基本値」を一律にして動作を行おうと考えています。 行動のルールとしては 待ち時間限界 = 忍耐力の基本値(アンケート結果より1時間と設定) + アトラクション人気度 * 期待値影響係数) - (行列人数係数 * 待ち人数) を計算式とおき、並んでいる時間が待ち時間限界まで達したら、今並んでいたアトラクションとすでに行ったアトラクション以外を選択して他のアトラクションに移動するといったものをルールとして設定します。 ※期待値影響係数と行列人数係数は任意の値で自分で設定していこうかと思っています。 以上をプログラムに起こそうとしたらエラーが出てしまい、何を直したらいいかわからなくなってしまいました。 以下に参考にしたモデルと自分の現在のモデルを張ります。参考にしたモデルは東京工業大学の荒武さんの「MASコンペ提出用_東京工業大_荒武.model」で自分のモデルは「遊園地モデル.model」です。 参考にしたモデル(「MASコンペ提出用_東京工業大_荒武.model」)の入場者ルールのプログラムの142行目から168行目、249行目から286行目に変更を加えました。ここが多分、悪い動作をしていると考えています。 プログラムに知見がある方がございましたらご力添えをお願いしたいです。
top of page
bottom of page
モデルを拝見したところ、いくつか修正すべき箇所を見つけました。
◯変数の定義について
Dim 忍耐力基本値 As Integer = 960
→
Dim 忍耐力基本値 As Integer
忍耐力基本値 = 960
と2行に分けて記述ください。
◯Subについて
Sub ~ End Subで記述している箇所は、
→
Sub
{
・・・
}
で記述してください。