避難前人数がマイナスになり避難中の人数が大幅に増加してしまう
schoolに避難させるため、以下のように避難所の設定を行いました。 Dim schoolAgt As Agt Dim i As Integer For i=0 To CountAgt(Universe.Map.School) - 1 schoolAgt = Universe.Map.School(i) schoolAgt.GoalArray = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19" // ゴールのPointID配列 Next i また、dijkstra関数の呼び出しの際に第2引数が空ということで同様に避難所のIDを示すものをUniverse.map.pointとUniverse.map.perseonの両方のルールに文字列型で加えました。 newRoute = @dijkstra(startPointAgt.ID, Universe.Map.School.GoalArray) →Personのルール routeArray = @dijkstra(CStr(My.ID), Universe.Map.School.GoalArray) →Pointのルール そうしたところシミュレーション初期の120分119分時点では避難前人数におかしな点はなかったのですが、118分以降になると避難前人数がマイナスになりそこからステップごとに避難中人数が大幅に増加してしまいます。 また、元としているモデル(masコンペ2018:芦屋を対象とした津波からの避難モデル)ではケースを昼間に設定すると人数が増えないようなのですが理由がわかりません。 芦屋のモデルのUniv_initに書かれている If StrComp(Left(Universe.CaseList, 2), "昼間") == 0 Then // 学校の読込み file_read_school() を自分のモデルに加えてケースを昼間にすると、120分時点で総避難者数が45780人が86580人に増加してしまいます。 モデルのどこを直せばいいのかを教えていただきたいです。よろしくお願いいたします。 加えてなのですが、シミュレーション自体が終わるまでに2時間ほどかかってしまうのですが、これはpcのスペックの問題でしょうか?時短できる方法があれば教えていただきたいです。
schoolに避難させるため、以下のように避難所の設定を行いました。 Dim schoolAgt As Agt Dim i As Integer For i=0 To CountAgt(Universe.Map.School) - 1 schoolAgt = Universe.Map.School(i) schoolAgt.GoalArray = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19" // ゴールのPointID配列 Next i また、dijkstra関数の呼び出しの際に第2引数が空ということで同様に避難所のIDを示すものをUniverse.map.pointとUniverse.map.perseonの両方のルールに文字列型で加えました。 newRoute = @dijkstra(startPointAgt.ID, Universe.Map.School.GoalArray) →Personのルール routeArray = @dijkstra(CStr(My.ID), Universe.Map.School.GoalArray) →Pointのルール そうしたところシミュレーション初期の120分119分時点では避難前人数におかしな点はなかったのですが、118分以降になると避難前人数がマイナスになりそこからステップごとに避難中人数が大幅に増加してしまいます。 また、元としているモデル(masコンペ2018:芦屋を対象とした津波からの避難モデル)ではケースを昼間に設定すると人数が増えないようなのですが理由がわかりません。 芦屋のモデルのUniv_initに書かれている If StrComp(Left(Universe.CaseList, 2), "昼間") == 0 Then // 学校の読込み file_read_school() を自分のモデルに加えてケースを昼間にすると、120分時点で総避難者数が45780人が86580人に増加してしまいます。 モデルのどこを直せばいいのかを教えていただきたいです。よろしくお願いいたします。 加えてなのですが、シミュレーション自体が終わるまでに2時間ほどかかってしまうのですが、これはpcのスペックの問題でしょうか?時短できる方法があれば教えていただきたいです。
